<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nullable Blog [Ignoranto.Info] &#187; Star Wars</title>
	<atom:link href="http://ignoranto.info/tags/star-wars/feed/" rel="self" type="application/rss+xml" />
	<link>http://ignoranto.info</link>
	<description>grbr.says(&#34;a little bit of everything and a lot of nothing&#34;);</description>
	<lastBuildDate>Sat, 24 Jul 2010 01:42:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Star Wars Imperial March in HP 50G calc</title>
		<link>http://ignoranto.info/ricercando/star-wars-imperial-march-in-hp50g-calc/</link>
		<comments>http://ignoranto.info/ricercando/star-wars-imperial-march-in-hp50g-calc/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 03:58:52 +0000</pubDate>
		<dc:creator>gerWare</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[HP 50G]]></category>
		<category><![CDATA[Imperial March]]></category>
		<category><![CDATA[Star Wars]]></category>

		<guid isPermaLink="false">http://ignoranto.info/?p=638</guid>
		<description><![CDATA[Hola amigos! Luego del post anterior (donde les contaba mi triste destino&#8230;) decidí compartir unas cuantas líneas de código, en esta oportunidad les escribo algo sobre la programación en calculdoras HP 50G, resulta que ésta es una de mis calculadoras favoritas (jaja en realidad es la única que tengo), a continuación detallo alguna de las [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Hola amigos!</p>
<p style="text-align: left;">Luego del post anterior (donde les contaba mi triste destino&#8230;) decidí compartir unas cuantas líneas de código, en esta oportunidad les escribo algo sobre la <strong>programación</strong> en <strong>calculdoras</strong> <strong>HP 50G</strong>, resulta que ésta es una de mis calculadoras favoritas (jaja en realidad es la única que tengo), a continuación detallo alguna de las características del hardware de ésta calculadora:</p>
<ul>
<li><strong>Procesador ARM</strong> @75Mhz (ARM920T)</li>
<li>Resolución de Pantalla: 131 x 80 píxeles</li>
<li>Memoria RAM: 512KB (300kb para el usuario)</li>
<li>Memoria FLASH: 2MB (800KB para el usuario)</li>
</ul>
<p>Bueno el motivo de éste post es <strong>programar música</strong> en la <strong>calculadora</strong> <strong>HP 50 G</strong>&#8230;</p>
<p>SI! Música, resulta que quien redacta este artículo es un músico frustrado y aprovechando que ésta calculadora posee un beeper piezoeléctrico y tiene capacidad de programación, entonces que mejor manera de aprender algo de programación en User_RPL haciendo algo de música!</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/82G_FRqqLQo&amp;hl=es_ES&amp;fs=1&amp;color1=0x402061&amp;color2=0x9461ca" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/82G_FRqqLQo&amp;hl=es_ES&amp;fs=1&amp;color1=0x402061&amp;color2=0x9461ca" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">Primero, unos cuantos conceptos sobre el lenguaje userRPL</p>
<ul>
<li>UserRPL significa RPL del Usuario, es el lenguaje en el que programamos cosas sencillas sin manejar excepciones (a nivel hardware) que pueda tener la calculadora, es un lenguaje de alto nivel</li>
<li>RPL significa <strong>Reverse Polish Lisp</strong>, traduciendo a nuestra lengua madre significaría Lisp Polaco Inverso;</li>
<li>RPN significa <strong>Notación Polaca Inversa</strong>, es una notación matemática donde no hace falta usar paréntesis, en el caso de la calculadora se aplica al manejo de PILA (stack)</li>
</ul>
<p>Entendiendo un poco la  Notación Polaca Inversa, la lógica es sencilla y fácil de entender, a continuación unos ejemplos</p>
<blockquote><p><strong>2 + 3</strong> <em>en RPN es</em> <strong>2 3 +</strong><br />
<strong> 4/3</strong> <em>en RPN es</em> <strong>4 3 /</strong><br />
<strong> (4 + 8 ) / 3</strong> <em>en RPN es</em> <strong>4 8 + 3 /</strong><br />
<strong> 4 * (7  / 1 ) &#8211; 3</strong> <em>en RPN es</em> <strong>4 7 1 / * 3 -</strong><br />
<strong> 1 * (((((4+7)*5)/2)^2)+1)</strong> <em>en RPN es</em> <strong>4 7 + 5 * 2 / 2 ^ 1 + 1 *</strong></p></blockquote>
<p>Como vimos en los ejemplos anteriores, el uso de paréntesis queda limitado, las operaciones se resuelven segun la pila (el orden) y cada operador en realidad es una funcion, por lo cual si tuvieramos la funcion FPOS, la notación se mantiene siempre de la siguiente manera:</p>
<blockquote><p><strong>fpos(4,3) + 4</strong> <em>en RPN es</em> <strong>4 3 fpos 4 +</strong></p></blockquote>
<h2>¿Cómo programar en la HP50G?</h2>
<p>No pretendo explicar detalladamente la programación de esta calculadora, solo me limitaré a dar pequeñas nociones, tenemos 2 formas (algebraico y RPN) y 4 lenguajes (HP-Basic, UserRPL, SystemRPL, ML ); en este post me limitaré a explicar la sintaxis de UserRPL y la notación RPN, prometo a futuro crear un sitio exclusivo donde explicaré de forma detallada la programación de ésta y otras calculadoras&#8230;</p>
<ol>
<li>Encender la calculadora</li>
<li>Configurar tu calculadora para que funcione en RPN (Boton MODE &gt; Operating Mode: &#8216;RPN&#8217; &gt; ENTER)</li>
</ol>
<p>Si ya estamos en MODO RPN, entonces aqui viene la parte divertida, todos los programas en ésta calculadora comienzan y terminan con estos simbolos: <strong>«</strong> <strong>»</strong>, por lo cual ahora crearemos una funcion:</p>
<blockquote><p>f(x) = x ^2;</p></blockquote>
<p>La cual en <strong>Notación Polaca Inversa</strong>, sería:</p>
<blockquote><p>x 2 ^</p></blockquote>
<p>Veamos como programar esta pequeña funcion en la calculadora, a continuación el código y luego ire detallando&#8230;</p>
<blockquote><p>« → X « X 2 ^» » F STO</p></blockquote>
<h3>Explicación del código anterior:</h3>
<ul>
<li><strong>« </strong><strong>→ X;</strong> con ello iniciamos un programa y depositamos cualquier dato que esté en la pila como la variable X</li>
<li><strong>« x 2 ^»</strong>; iniciamos un subprograma con los simbolos <strong>« »</strong> el cual nos retornará el valor de X al cuadrado</li>
<li>Terminamos el programa principal con <strong>»</strong></li>
<li>Creamos la variable <strong>F</strong> y como tenemos un &#8220;programa&#8221; (un objeto) en la <strong>Pila de Datos</strong>, entonces con el comando <strong>STO</strong> depositamos el valor del objeto (el programa) en la variable <strong>F</strong><br />
Con ello conseguimos guardar todo el codigo en la variable F como si el código se tratase de un simple número (esto es lo fantástico)</li>
</ul>
<p>Para poner en marcha el pequeño programa basta con escribir un numero y seguido de él la letra F, presionar Enter y ver los resultados</p>
<blockquote><p><strong>8 [espacio] F [enter]</strong> nos devuelve <strong>64</strong>, o sino 8 [enter] F [enter] y tambien nos devuelve 64</p></blockquote>
<p>Ahora veamos lo más interesante&#8230;</p>
<h3>¿Música en la calculadora HP50g?</h3>
<p>Si! Es posible, como dije anteriormente tenemos un BEEP en el aparatito en cuestión el cual haremos sonar metiendole frecuencias y duración de las mismas, con ello conseguimos música! SI quieres comprobar las capacidades sonoras de tu calculadora escribe el siguiente código:</p>
<blockquote><p>1760 [espacio] .5 [espacio] BEEP [enter]</p></blockquote>
<p>Tu calculadora deberá producir un BEEP de medio segundo de duración y 1760hz que equivale a una LA aguda (muy aguda), te parece si ahora hacemos un bucle?</p>
<blockquote><p>« → A<br />
« WHILE A 0 &gt; REPEAT<br />
1760  0.1 BEEP  A 1 &#8211; &#8216;A&#8217; STO<br />
END<br />
»<br />
» MM STO</p></blockquote>
<h3>Explicación del código anterior:</h3>
<ul>
<li>→ A; Depositamos el número de la pila (stack) como la variable A</li>
<li><strong>WHILE A 0 &gt; REPEAT</strong> (mientras A sea mayor que Cero repetir)</li>
<li><strong>1760 0.1 BEEP A 1 &#8211; &#8216;A&#8217; STO;</strong> Hacemos sonar un Beep de 1760Hz durante 0.1 Segundos y luego restamos el valor de A en 1 y lo depositamos como A</li>
<li><strong>END</strong> (Fin)</li>
<li>Guardamos todo el codigo anterior como la variable MM</li>
</ul>
<p>Para poner en marcha el código, escribe cualquier numero y luego ejecuta MM, ejemplo:</p>
<blockquote><p>10 [espacio] MM [enter]</p></blockquote>
<p>Debería dar 10 pitidos!</p>
<h2 style="text-align: center;">Star Wars Imperial March in HP 50G, How To</h2>
<p style="text-align: center;">Bueno, luego de tanta explicación (para enteder la lógica de la calculadora), veremos a continuación el código de la <strong>Marcha Imperial</strong>!</p>
<pre>«
.48 'N' STO

523 'D' STO
554 'DS' STO
587 'R' STO
622 'RS' STO
659 'M' STO
698 'F' STO
739 'FS' STO
783 'S' STO
830 'SS' STO
880 'L' STO
932 'LS' STO
987 'SI' STO

S N BEEP
S N BEEP
S N BEEP

RS N 4 / 3 * BEEP
LS N 4 / BEEP
S N BEEP

RS N 4 / 3 * BEEP
LS N 4 / BEEP
S N 2 * BEEP

R 2 * N BEEP
R 2 * N BEEP
R 2 * N BEEP
RS 2 * N 4 / 3 * BEEP
LS N 4 / BEEP
FS N BEEP

RS N 4 / 3 * BEEP
LS N 4 / BEEP
S N 2 * BEEP

S 2 * N BEEP
S N 4 / 3 * BEEP
S N 4 / BEEP
S 2 * N BEEP

FS 2 * N 4 / 3 * BEEP
F 2 * N 4 / BEEP
M 2 * N 4 / BEEP
RS 2 * N 4 / BEEP
M 2 * N BEEP

SS N 2 / BEEP
R 2 * N BEEP
D 2 * N 4 / 3 * BEEP
SI N 4 / BEEP
LS N 4 / BEEP
L N 4 / BEEP
LS N BEEP

RS N 2 / BEEP
FS N BEEP

RS N 4 / 3 * BEEP
FS N 4 / BEEP

LS N BEEP
S N 4 / 3 * BEEP
LS N 4 / BEEP
R 2 * N 2 * BEEP

S 2 * N BEEP
S N 4 / 3 * BEEP
S N 4 / BEEP
S 2 * N BEEP

FS 2 * N 4 / 3 * BEEP
F 2 * N 4 / BEEP
M 2 * N 4 / BEEP
RS 2 * N 4 / BEEP
M 2 * N BEEP

SS N 2 / BEEP
R 2 * N BEEP
D 2 * N 4 / 3 * BEEP
SI N 4 / BEEP
LS N 4 / BEEP
L N 4 / BEEP
LS N BEEP

RS N 2 / BEEP
FS N BEEP

RS N 4 / 3 * BEEP
LS N 4 / BEEP
S N BEEP

RS N 4 / 3 * BEEP
LS N 4 / BEEP
S N 2 * BEEP

R 2 / N 2 / BEEP
R N 4 / BEEP
R N 4 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP
D N 4 / BEEP
D N 4 / BEEP

R 2 / N 2 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
L N 4 / BEEP
L N 4 / BEEP
FS N 4 / BEEP
FS N 4 / BEEP

R 2 / N 2 / BEEP
R 2 * N 4 / BEEP
R 2 * N 4 / BEEP
DS 2 * N 4 / BEEP
DS 2 * N 4 / BEEP
L N 4 / BEEP
L N 4 / BEEP
D 2 * N 4 / BEEP
D 2 * N 4 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
FS N 4 / BEEP
FS N 4 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP

R 2 / N 2 / BEEP
R N 4 / BEEP
R N 4 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP
D N 4 / BEEP
D N 4 / BEEP

R 2 / N 2 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
L N 4 / BEEP
L N 4 / BEEP
FS N 4 / BEEP
FS N 4 / BEEP

R 2 / N 2 / BEEP
S 2 * N 4 / BEEP
S 2 * N 4 / BEEP
RS 2 * N 4 / BEEP
RS 2 * N 4 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
SS N 4 / BEEP
SS N 4 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP
SI 2 / N 4 / BEEP
SI 2 / N 4 / BEEP
SS 2 / N 4 / BEEP
SS 2 / N 4 / BEEP

S 2 / N 2 / BEEP
R N 4 / BEEP
R N 4 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP
D N 4 / BEEP
D N 4 / BEEP

S 2 / N 2 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
L N 4 / BEEP
L N 4 / BEEP
FS N 4 / BEEP
FS N 4 / BEEP

S 2 / N 2 / BEEP
R 2 * N 4 / BEEP
R 2 * N 4 / BEEP
DS 2 * N 4 / BEEP
DS 2 * N 4 / BEEP
L N 4 / BEEP
L N 4 / BEEP
D 2 * N 4 / BEEP
D 2 * N 4 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
FS N 4 / BEEP
FS N 4 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP

SS 2 / N 2 / BEEP
RS N 4 / BEEP
RS N 4 / BEEP
M N 4 / BEEP
M N 4 / BEEP
DS N 4 / BEEP
DS N 4 / BEEP

SS 2 / N 2 / BEEP
SI N 4 / BEEP
SI N 4 / BEEP
LS N 4 / BEEP
LS N 4 / BEEP
S N 4 / BEEP
S N 4 / BEEP

SS 2 / N 2 / BEEP
SS 2 * N 4 / BEEP
SS 2 * N 4 / BEEP
RS 2 * N 4 / BEEP
RS 2 * N 4 / BEEP
SI N 4 / BEEP
SI N 4 / BEEP
L N 4 / BEEP
L N 4 / BEEP
M N 4 / BEEP
M N 4 / BEEP
D N 4 / BEEP
D N 4 / BEEP
L 2 / N 4 / BEEP
L 2 / N 4 / BEEP

L 2 / N BEEP
L 2 / N BEEP
L 2 / N BEEP

F 2 / N 4 / 3 * BEEP
D N 4 / BEEP
L 2 / N BEEP

F 2 / N 4 / 3 * BEEP
D N 4 / BEEP
L 2 / N 2 * BEEP

M N BEEP
M N BEEP
M N BEEP

F N 4 / 3 * BEEP
D N 4 / BEEP
SS 2 / N BEEP

F 2 / N 4 / 3 * BEEP
D N 4 / BEEP
L 2 / N 2 * BEEP

L N BEEP
L 2 / N 4 / 3 * BEEP
L 2 / N 4 / BEEP
L N BEEP

SS N 4 / 3 * BEEP
S N 4 / BEEP

FS N 4 / BEEP
F N 4 / BEEP
FS N BEEP

LS 2 / N 2 / BEEP
M N BEEP
R N 4 / 3 * BEEP
DS N 4 / BEEP

D N 4 / BEEP
SI 2 / N 4 / BEEP
D N BEEP

F 2 / N 2 / BEEP
S 2 / N BEEP

F 2 / N 4 / 3 * BEEP
D N 4 / BEEP
L 2 / N BEEP

F 2 / N 4 / 3 * BEEP
D N 4 / BEEP
L 2 / N 2 * BEEP

"IMPERIAL MARCH
Ignoranto.Info" MSGBOX

'N' PURGE
'D' PURGE
'DS' PURGE
'R' PURGE
'RS' PURGE
'M' PURGE
'F' PURGE
'FS' PURGE
'S' PURGE
'SS' PURGE
'L' PURGE
'LS' PURGE
'SI' PURGE

»
</pre>
<p>Algo de explicación&#8230;</p>
<p>Primero Declaramos las Variables, en los ejemplos anteriores vimos que usabamos una flechita → para depositar variables, dicha flechita genera <strong>variables locales</strong> (las cuales se eliminan al finalizar el programa) en este caso usaremos variables globales pero luego de finalizar el script las eliminaremos:</p>
<blockquote><p><strong>.48 &#8216;N&#8217; STO</strong> <em>Declaramos la N como global (nótese las media comillas), es la duración de una NEGRA</em></p>
<p><strong>523 &#8216;D&#8217; STO</strong> <em>Declaramos D, la frecuencia de la nota DO</em><br />
<strong> 554 &#8216;DS&#8217; STO</strong> <em>Declaramos DS, la frecuencia de la nota DO#</em><br />
<strong> 587 &#8216;R&#8217; STO</strong> <em>Declaramos R, la frecuencia de la nota RE</em><br />
<strong> 622 &#8216;RS&#8217; STO</strong> <em>Declaramos RS, la frecuencia de la nota RE#</em></p>
<p>&#8230; hasta terminar de declarar toda una Octava</p></blockquote>
<p>Luego en la parte final del script</p>
<blockquote><p><strong>&#8216;N&#8217; PURGE</strong> <em>Eliminamos la variable N</em><br />
<strong>&#8216;D&#8217; PURGE</strong> <em>Eliminamos la variable D</em><br />
<strong>&#8216;DS&#8217; PURGE</strong> <em>Eliminamos la variable DS</em><br />
&#8230;</p></blockquote>
<p>A partir de <strong>S N BEEP</strong> comienza la musiquita, ya que S tiene la frecuencia de la nota SOL y N es la duración de una Negra, BEEP el comando mágico que hace sonar el Buzzer!</p>
<p>Para reproducir la música en tu calculadora deberías escribir todo ese código en ella misma y luego guardar como un objeto (variable, archivo); pero existe una solución, la cual es descargar mi script: <a href="http://develop.ignoranto.info/user-rpl/imarchexe.hp">imperial march hp50g</a>; o copiar y pegar el código anterior en el programa <a href="http://www.hpjhuavi.uni.cc/modules/wfdownloads/singlefile.php?cid=3&amp;lid=20">HPuserEdit</a> y luego Archivo &gt; Exportar a Objeto Binario, posteriormente copiar el Script en la tarjeta de memoria y leerlo en la calculadora!</p>
<p>Fin!</p>
<p>Comenta <img src='http://ignoranto.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  o sino escríbeme &gt;&gt; <strong>grbr@ignoranto.info</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ignoranto.info/ricercando/star-wars-imperial-march-in-hp50g-calc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Imperial March Bash Beep [GNU/Linux]</title>
		<link>http://ignoranto.info/ricercando/imperial-march-bash-beep/</link>
		<comments>http://ignoranto.info/ricercando/imperial-march-bash-beep/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 07:08:57 +0000</pubDate>
		<dc:creator>gerWare</dc:creator>
				<category><![CDATA[Gerber [Ignoranto]]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Beep]]></category>
		<category><![CDATA[Imperial March]]></category>
		<category><![CDATA[Star Wars]]></category>

		<guid isPermaLink="false">http://ignoranto.info/?p=580</guid>
		<description><![CDATA[Hola! Hace poco (o quizá mucho) escribí la Marcha Imperial de Star Wars en C Sharp y ahora le tocó el turno a BASH! uno de los intérpretes de comandos para GNU/Linux más conocidos In English&#8230; Hello! Download here: Imperial March GNU/Linux Bash Beep Para conocer un poco el funcionamiento de Beep en BASH recomiendo [...]]]></description>
			<content:encoded><![CDATA[<p>Hola! Hace poco (o quizá mucho) escribí la <a href="http://ignoranto.info/ricercando/darth-vader-imperial-march-console-beep/">Marcha Imperial de Star Wars en C Sharp</a> y ahora le tocó el turno a <strong>BASH!</strong> uno de los intérpretes de comandos para <strong>GNU/Linux</strong> más conocidos <img src='http://ignoranto.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>In English&#8230;</p>
<p>Hello! Download here: <a href="http://develop.ignoranto.info/bash/imperialMarchBashBeep.sh">Imperial March</a> <strong>GNU/Linux Bash Beep</strong> <img src='http://ignoranto.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="wp-caption aligncenter" style="width: 350px"><a href="http://3.bp.blogspot.com/_ub4KV7Q3X7Y/SgdlTq8DHEI/AAAAAAAAKb0/UDy-e3c87hk/s400/darth-vader-without-the-mask.jpg"><img class=" " title="Darth Vader" src="http://3.bp.blogspot.com/_ub4KV7Q3X7Y/SgdlTq8DHEI/AAAAAAAAKb0/UDy-e3c87hk/s400/darth-vader-without-the-mask.jpg" alt="Dart Vader" width="340" height="301" /></a><p class="wp-caption-text">Darth Vader</p></div>
<p>Para conocer un poco el funcionamiento de <strong>Beep en BASH</strong> recomiendo leer <a href="http://ignoranto.info/ricercando/beep-en-bash/">este</a> pequeño post: <a href="http://ignoranto.info/ricercando/beep-en-bash/">Beep Bash</a>.</p>
<p><a href="http://ignoranto.info/paraDescargar/StarWars-ImperialMarch.pdf"></a><a href="http://ignoranto.info/paraDescargar/StarWars-ImperialMarch.pdf">La partitura</a> (un arreglo simple) para piano y el script: <a href="http://develop.ignoranto.info/bash/imperialMarchBashBeep.sh">Imperial March Bash Beep</a></p>
<p>Ésta melodía se agrupa en varias frases las cuales constan de &#8220;beeps&#8221; y son llamadas en orden según la composición de la melodía, aquí solo una de las frases:</p>
<pre>function frase000
{
for ((i=0;i&lt;3;i+=1)); do
 pitido ${SOL[3]} $NEGRA;
done;
 pitido ${RES[3]} $CORCHEAP;
 pitido ${LAS[3]} $FUSA;
 pitido ${SOL[3]} $NEGRA;

 miSiSol;
}</pre>
<p>La función anterior reproduce un bucle con la nota SOL de la 3ra octava +1 (los arrays comienzan de 0), por lo cual estaría tocando SOL SOL SOL y cada sol con la duración de una NEGRA, luego de ello llamamos a la funcion miSiSOl, el cual reproduce dichas notas <img src='http://ignoranto.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> , como verán el código es entendible, la función &#8220;pitido&#8221; recibe 2 parámetros, la frecuencia y la duración de la nota, en realidad dicha funcion hace llamado a beep, el pequeño programa que se encarga de producir beeps;</p>
<p>Luego de todo ello he implementado la función trémolo, el cual hace un trémolo intercambiando octavas dependiendo a un lapso de tiempo, la función recibe 3 parámetros y el código es el siguiente:</p>
<pre>function tremolo
{
 let F1=$1;
 let F2=$2;
 let DUR=$3
 let FU=50;
 let FD=25;

 while [ $FU -le $DUR ];
 do
 pitido $F1 $FD;
 pitido $F2 $FD;
 let FU=$FU+50;
 done;

}</pre>
<p>Recibimos el primer parametro y lo guardamos como F1 de la misma manera con F2 y DUR (usamos let para evaluar (operar aritmeticamente) las entradas), iniciamos un bucle, mientras FU sea menor que DUR (duración del trémolo) entonces ejecutará 2 pitidos el primero con la primera frecuencia y el segundo con la segunda frecuencia, cada pitido con 25 milésimas de segundo de duración, luego cambiamos el valor de FU y le añadimos su mismo valor incrementado en 50 (la duracion de ambos pitidos).</p>
<h3>Descarga y ejecuta el Script</h3>
<p>Sin más que escribir les presento:<a href="http://develop.ignoranto.info/bash/imperialMarchBashBeep.sh"> Imperial March Bash Beep</a> Para ejecutarlo necesitamos darle permisos de ejecución y luego escribimos en la carpeta donde guardamos el script <strong>./nombreArchivo.sh</strong> o <strong>sh nombreArchivo.sh</strong>, el script les solicitará un tempo (notas &#8220;negras&#8221; por minuto [bpm]), recomiendo colocar un <strong>tempo entre 100 y 140.</strong></p>
<p>Es IMPORTANTE tener instalado el <strong>comando BEEP</strong>, si usas un sistema basado en debian basta con escribir &#8220;apt-get install beep&#8221; en la linea de comandos <img src='http://ignoranto.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>¿Algo más? SI! Pronto (cuando disponga de tiempo) escribiré esta misma melodía en userRPL para las calculadoras HP50G <img src='http://ignoranto.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://ignoranto.info/ricercando/imperial-march-bash-beep/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Imperial March Console.Beep()</title>
		<link>http://ignoranto.info/ricercando/darth-vader-imperial-march-console-beep/</link>
		<comments>http://ignoranto.info/ricercando/darth-vader-imperial-march-console-beep/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 19:54:15 +0000</pubDate>
		<dc:creator>gerWare</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Experimentos!]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Beep]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Imperial March]]></category>
		<category><![CDATA[Star Wars]]></category>

		<guid isPermaLink="false">http://gerber.ignoranto.info/?p=505</guid>
		<description><![CDATA[Hola! Aquí Star Wars Console.Beep(); escribí como componer la música de StarWars usando Console.Beep(), ahora veremos la famosísima Marcha Imperial (Imperial March) en Console.Beep(); Actualización 28/10/2009: ¿Usas GNU/Linux? Ahora podras escuchar, ejecutar, leer y modificar la marcha imperial desde tu terminal! Solo necesitas tener instalado el comando beep y claro también un beep en la [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Hola! Aquí <a href="http://ignoranto.info/ricercando/starwars-console-beep-csharp/">Star Wars Console.Beep();</a> escribí como componer la música de <strong>StarWars</strong> usando <strong>Console.Beep()</strong>, ahora veremos la famosísima <strong>Marcha Imperial</strong> (Imperial March) en Console.Beep();</p>
<h4 style="text-align: justify;">Actualización 28/10/2009:</h4>
<p style="text-align: justify;"><strong>¿Usas GNU/Linux?</strong> Ahora podras escuchar, ejecutar, leer y modificar la <strong>marcha imperial</strong> desde tu terminal! Solo necesitas tener instalado el comando <strong>beep</strong> y claro también un beep en la mainboard de tu PC Lee este post <a href="http://ignoranto.info/ricercando/imperial-march-bash-beep/">Imperial March Bash Beep</a> y descarga el <a href="http://develop.ignoranto.info/bash/imperialMarchBashBeep.sh">script aquí</a>!</p>
<div class="wp-caption aligncenter" style="width: 310px"><img title="Darth Vader" src="http://pub.tv2.no/multimedia/na/archive/00191/Darth_Vader__kostym_191646a.jpg" alt="" width="300" height="309" /><p class="wp-caption-text">Darth Vader</p></div>
<p style="text-align: center;">
<p style="text-align: justify;">No explicaré a detalle ya que son <span style="text-decoration: underline;">333 líneas de código</span> y jamás terminaría de escribir esta entrada, así que solo mostraré uno que otro detallito! La partitura la conseguí de por ahi y la pongo a <a href="http://ignoranto.info/paraDescargar/StarWars-ImperialMarch.pdf">disposición aquí</a> es un arreglo para piano, el código <strong>C Sharp</strong> de esta melodía esta publicada en <a href="http://develop.ignoranto.info/csharp/beep_imperialMarch.cs">develop.ignoranto.info (haz clic para descargar)</a> y el binario ya compilado (y libre de virus) se <a href="http://ignoranto.info/paraDescargar/ImperialMarch.exe">encuentra aqui (haz clic para descargar y escuchar)</a> para escucharlo necesitas el <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=en">framework dotnet</a>.</p>
<p style="text-align: justify;"><strong>¿Que de especial tiene ésta melodía?</strong></p>
<ul>
<li>Esta formada por más de 20 métodos</li>
<li>Existe la función tremolo(); con esta función podemos dar el efecto de trémolo a las notas musicales</li>
</ul>
<p>El método trémolo es el siguiente:</p>
<pre>static void tremolo(int frecuenciaPAR, int duracion)
{
 for (int x = 0; x &lt; 8; x++)
 {
  if (x % 2 == 0)
   Console.Beep(frecuenciaPAR, duracion / 8);
  else
   Console.Beep(frecuenciaPAR / 2, duracion / 8);
 }
}</pre>
<p style="text-align: justify;">Una pequeña explicación de éste método<br />
Cuando queremos hacer o dar el efecto de trémolo tenemos varias alternativas, una de las que se usa en el piano es alternar entre octavas, es decir (ejemplo), si tocamos un Re entonces tenemos que tocar luego un Re superior (una octava arriba) y alternamos entre el Re y el Re más agudo, así es como funciona este método trémolo, divide el tiempo entre 8 y con un bucle repite la operación 8 veces, para alternar entre octavas pregunta si &#8220;el número de veces (numero de veces que tenee que repetir el bucle)&#8221; que está procesando es par (módulo = 0) entonces ejecutará la nota correspondiente, si es impar una nota mas grave (una octava abajo); como ejemplo tenemos a LA, si queremos hacer un trémolo de LA, durante 600 milésimas de segundo escribiríamos asi:</p>
<pre>tremolo(440, 600);</pre>
<p>Esto produciría un trémolo de 600 milésimas de segundo de duración de la nota LA.</p>
<p>Pronto escribiré esta melodia en BASH <img src='http://ignoranto.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  asi podremos ejecutarla en nuestro terminal en GNU/Linux, cuando disponga de tiempo lo escribiré en <strong>userRPN</strong> para las calculadoras <strong>HP 50G!</strong></p>
<p>Puedes encontrar más información sobre el uso beel aquí &gt; <a href="http://ignoranto.info/ricercando/sobrecargas-console-beep/">Metodo System.Console.Beep()</a></p>
<p>¿Conoces a Johann Sebastian Bach? Bach es mi ídolo, admiro bastante a este compositor, por ello escribí la <a href="http://develop.ignoranto.info/csharp/Bach-SuiteInglesaNo3-Gavotte.cs">Gavotte de la Suite Inglesa 3</a> de Johann Sebastian Bach en Console.Beep();</p>
<p style="text-align: right;"><a href="http://develop.ignoranto.info/csharp/beep_imperialMarch.cs">Descarga, lee y compila el código!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ignoranto.info/ricercando/darth-vader-imperial-march-console-beep/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>StarWars Console.Beep()</title>
		<link>http://ignoranto.info/ricercando/starwars-console-beep-csharp/</link>
		<comments>http://ignoranto.info/ricercando/starwars-console-beep-csharp/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 05:30:10 +0000</pubDate>
		<dc:creator>gerWare</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Experimentos!]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[Beep]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[Star Wars]]></category>

		<guid isPermaLink="false">http://gerber.ignoranto.info/?p=499</guid>
		<description><![CDATA[Hola, aquí explicaré como componer la melodía de StarWars usando Console.Beep() Actualización 28/10/2009 ¿Usas GNU/Linux? ¿Mono ejecuta el binario pero no suena la bocina de tu PC? La solución esta en éste post: Imperial March Bash Beep, un script en BASH con las frecuencias de la Marcha Imperial de StarWars listo para ejecutar, incluye control [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">Hola, aquí explicaré como componer la melodía de<strong> StarWars</strong> usando <strong>Console.Beep()</strong></p>
<div id="attachment_500" class="wp-caption aligncenter" style="width: 387px"><a href="http://ignoranto.info/wp-content/uploads/Darth_Vader_Programando.jpg"><img class="size-full wp-image-500       " title="Darth Vader Programando" src="http://ignoranto.info/wp-content/uploads/Darth_Vader_Programando.jpg" alt="Darth Vader Programando" width="377" height="253" /></a><p class="wp-caption-text">Darth Vader aprendiendo a programar!</p></div>
<p style="text-align: center;">
<h3 style="text-align: justify;">Actualización 28/10/2009</h3>
<p style="text-align: justify;"><strong>¿Usas GNU/Linux?</strong> ¿Mono  ejecuta el binario pero no suena la bocina de tu PC? La solución esta en éste post: <a href="http://ignoranto.info/ricercando/imperial-march-bash-beep/">Imperial March Bash Beep</a>, un <strong>script en BASH</strong> con las frecuencias de la Marcha Imperial de StarWars listo para ejecutar, incluye control de tempo para ejecutarlo al tempo (bpm, negras por minuto) que más gustes!</p>
<p style="text-align: justify;">Continuando con el post &#8230;</p>
<p style="text-align: justify;">Anteriormente <a href="http://ignoranto.info/ricercando/bach-en-bash-beep-en-consola/">escribí aquí</a> como hacer crear pequeñas melodías usando una <strong>consola en GNU</strong>, ahora le tocó el turno a <strong>Microsoft Windows</strong>; usaremos <strong>Microsoft Visual Studio</strong> y programaremos en Do Sostenido (C#, <strong>C Sharp</strong>) la melodía de <strong>StarWars</strong>.</p>
<p>En este <span style="text-decoration: line-through;">pseudo</span>tutorial haremos uso del método Console.Beep() de la clase System en C Sharp, si quieres conocer más a fondo como funciona éste método puedes leer &gt;&gt; <a href="http://ignoranto.info/ricercando/sobrecargas-console-beep/">Sobrecargas en Console.Beep();</a></p>
<p><strong>Gerber dice:</strong></p>
<blockquote><p>No me hago responsable por el uso inadecuado de <strong>Console.Beep();</strong> si exageras escribiendo <span style="text-decoration: underline;">frecuencias muy altas</span> puedes llegar a dañar TUS OIDOS y probablemente también dañar el hardware de tu ordenador!</p></blockquote>
<p><strong>Requisitos:</strong></p>
<ol>
<li>Conocimientos básicos de programación en C Sharp<br />
<span style="text-decoration: underline;">Métodos</span> y <span style="text-decoration: underline;">Bucles</span></li>
<li>Paciencia y Muchas ganas de programar</li>
<li>Amor por la música</li>
</ol>
<p>Comenzemos&#8230;</p>
<div id="attachment_574" class="wp-caption alignright" style="width: 220px"><a href="http://ignoranto.info/wp-content/uploads/star_wars.jpg"><img class="size-medium wp-image-574 " title="Arreglo de la Partitura de Star Wars" src="http://ignoranto.info/wp-content/uploads/star_wars-262x300.jpg" alt="Arreglo de la Partitura de Star Wars" width="210" height="240" /></a><p class="wp-caption-text">Arreglo de la Partitura de Star Wars</p></div>
<p>Programar toda la melodía escribiendo &#8220;nota por nota&#8221; nos llevaría dias, meses (y quizá años); para ello crearemos (e implementaremos) métodos y haremos uso de <strong>bucles FOR</strong> para llamar (o repetir) &#8220;ciertas secuencias musicales&#8221; las veces que sean necesarias durante la melodía!</p>
<p><strong>Console.Beep(int frecuencia, int duración_sonido);</strong><br />
Este método de la clase consola necesita 2 parámetros, el primero es la frecuencia de tipo ENTERO (no double, no float) y la duración del sonido expresado en milésimas de segundo, ejemplo si quisieramos hacer sonar una LA (frecuencia = 440hertz) durante 3 segundos (3000 milésimas de segundo) escribiríamos asi:</p>
<pre>Console.Beep(440, 3000) // laaaaaaaaaaaaaaaaa</pre>
<p>Aquí tenemos una <a href="http://latecladeescape.com/w0/recetas-algoritmicas/frecuencia-de-las-notas-musicales/tabla-de-frecuencias.html">tabla de frecuencias</a> de las notas musicales, sería bueno que echemos un vistazo para conocer las frecuencias, es necesario redondearlas (o expresar su máximo entero) para usar la frecuencia en Beep();</p>
<p>Se ha dividido el tema en 3 partes, cada parte es un método (método = función, procedimiento) y cada método ejecuta una secuencia de notas diferentes (estas notas están asociadas en otros métodos), los métodos son: partI_starwars(); partII_starwars(); y final();</p>
<div id="attachment_501" class="wp-caption aligncenter" style="width: 437px"><a href="http://gerber.ignoranto.info/wp-content/uploads/PrimeraParte.jpg"><img class="size-full wp-image-501 " title="Primera Parte" src="http://ignoranto.info/wp-content/uploads/PrimeraParte.jpg" alt="Primera Parte" width="427" height="88" /></a><p class="wp-caption-text">El método partI_starwars(); ejecuta este fragmento!</p></div>
<p>La primera parte esta formada por 3 métodos:</p>
<ul>
<li>rerere(); ejecuta un tresillo (tres notas en una corchea) de la nota RE</li>
<li>dosila(); ejecuta un tresillo con las notas Do Si La</li>
<li>dosido(); ejecuta un tresillo con las notas Do Si Do</li>
</ul>
<p>A continuación el código de cada método (rerere, dosila, dosido)</p>
<pre>//tresillo re re re
static void rerere(int d)
{
 //un bucle FOR repite 3 veces el Beep
 for (int x = 0; x &lt; 3; x++) {
   Console.Beep(523, d); //re
 }
}

//tresillo do si la
static void dosila(int d)
{
 Console.Beep(1046, d); //do
 Console.Beep(987, d); //si
 Console.Beep(880, d);//la
}

//tresillo do si do
static void dosido(int d)
{
 Console.Beep(1046, d);
 Console.Beep(987, d);
 Console.Beep(1046, d);
}</pre>
<p>Cada tresillo recibe un parámetro, en esta melodía he tomado <span style="text-decoration: underline;">1200 milésimas de segundo</span> como <strong>duración de una negra</strong>, como sabemos (si es que sabemos) los tresillos se ejecutan en el lapso de una corchea, entonces nuestra corchea vale 600 (la mitad de la negra), y cada tresillo valdría 200, es por eso que el parámetro (int d) recibirá un 200; también se ha usado un bucle para que se repita el primer tresillo (rerere), ahora veremos cómo esta compuesto nuestro método partI_starwars();</p>
<pre>static void partI_starwars()
{
 rerere(200); // llamamos a la funcion rerere()
 Console.Beep(783, 1200); //sol
 Console.Beep(1174, 1200);//re2
 dosila(200); //funcion dosila()
 Console.Beep(1567, 1200); //sol2
 Console.Beep(1174, 600); //re2
 dosila(200); //nuevamente funcion dosila()
 Console.Beep(1567, 1200); //sol2
 Console.Beep(1174, 600); //re2
 dosido(200); //ahora dosido()
 Console.Beep(880, 1200); //la
}</pre>
<div id="attachment_502" class="wp-caption aligncenter" style="width: 437px"><a href="http://ignoranto.info/wp-content/uploads/SegundaParte.jpg"><img class="size-full wp-image-502  " title="Segunda Parte" src="http://ignoranto.info/wp-content/uploads/SegundaParte.jpg" alt="SegundaParte" width="427" height="174" /></a><p class="wp-caption-text">El método partII_starwars();</p></div>
<p>La segunda parte está formada por los métodos:</p>
<ul>
<li>reremimi(); Como verán existe un puntillo, re &#8230; re mi&#8230; mi</li>
<li>frase000(); Una larga melodía</li>
<li>frase001(); Otra larga melodía</li>
<li>frase002(); Y La última casi larga melodía</li>
</ul>
<p>Estos métodos no reciben parámetros, y se ejecutan de modo secuencial, aquí el código de los métodos (reremimi, frase001&#8230;)</p>
<pre>static void reremimi()
{
 Console.Beep(523, 400); //re
 Console.Beep(523, 200); //re
 Console.Beep(659, 900); //mi
 Console.Beep(659, 300); //mi
}

static void frase000()
{
 Console.Beep(1046,300);//do
 Console.Beep(987, 300);//si
 Console.Beep(880, 300);//la
 Console.Beep(783, 300);//sol

 Console.Beep(783, 300);//sol
 Console.Beep(880, 150);//la
 Console.Beep(987, 150);//si
 Console.Beep(880, 300);//la
 Console.Beep(659, 300); //mi
 Console.Beep(733, 600); //fa#
}

static void frase001()
{
 Console.Beep(1046, 300);//do
 Console.Beep(987, 300);//si
 Console.Beep(880, 300);//la
 Console.Beep(783, 300);//sol

 Console.Beep(1174, 900);//re2
 Console.Beep(880, 300);//la
 Console.Beep(880, 600);//la
}

static void frase002()
{
 Console.Beep(1174, 400); //re2
 Console.Beep(1174, 200); //re2
 Console.Beep(1567, 400); //sol2
 Console.Beep(1396, 200); //sol2
 Console.Beep(1244, 400); //mib
 Console.Beep(1174, 200); //re
 Console.Beep(1046, 400); //do
 Console.Beep(923, 200);  //sib
 Console.Beep(880, 400);  //la
 Console.Beep(783, 200);  //sol
 Console.Beep(1174, 600);//re2
 for (int x = 0; x &lt; 3; x++)
 {
  Console.Beep(880, 200);  //la
 }
 Console.Beep(880, 600);  //la
}</pre>
<p>Luego tendremos que asociar éstos métodos en el método principal que es partII_starwars(); solo haremos una llamada a cada método y éstos iran ejecutando sus partes!</p>
<pre>static void partII_starwars()
{
 reremimi();frase000();
 reremimi();frase001();
 reremimi();frase000();
 frase002();
}</pre>
<p>La parte final</p>
<div id="attachment_503" class="wp-caption aligncenter" style="width: 383px"><a href="http://ignoranto.info/wp-content/uploads/TerceraParte.jpg"><img class="size-full wp-image-503 " title="final()" src="http://ignoranto.info/wp-content/uploads/TerceraParte.jpg" alt="Final de la melodía de StarWars" width="373" height="54" /></a><p class="wp-caption-text">Final de la melodía de StarWars</p></div>
<p>Ahora solo nos queda el método final(); es tan simple y está formado por 2 bucles y 2 largas notas</p>
<pre>static void final()
{
 for (int x = 0; x &lt; 3; x++)
 {
  Console.Beep(1174, 200); //re2
 }
Console.Beep(1567, 1800); //sol2

for (int x = 0; x &lt; 3; x++)
 {
  Console.Beep(783, 200); //re2
 }
 Console.Beep(783, 1800);  //sol
}</pre>
<p>Los bucles ejecutan los tresillos y las largas notas son las Blancas (equivalen a 2 negras) pero son blancas con puntillo (el puntillo equivale a la mitad de su propia duración) eso quiere decir que equivale a 1800 milésimas de segundo (1200 = blanca, 600 = mitad de blanca =&gt; 1200+600 = 1800).</p>
<p>Ahora solo nos queda armar el Main(), el cual se encargará de ejecutar la primera, segunda parte y la parte final, su código es:</p>
<pre>static void Main()
{
 //repetimos la primera parte 2 veces
 //asi esta en la partitura <img src='http://ignoranto.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
 for (int x = 0; x &lt; 2; x++) {partI_starwars();}
 //ejecutamos la segunda parte 1 sola vez
 partII_starwars();
 //nuevamente la primera parte vuelve a ejecutarse
 //2 veces
 for (int x = 0; x &lt; 2; x++) { partI_starwars(); }
 //ejecutamos el final de la melodia
 final();
}</pre>
<p style="text-align: justify;">El código de ésta melodía la encuentras aquí &gt; <a href="http://develop.ignoranto.info/csharp/beep_starwars.cs">starwars beep.cs</a>, si quieres escuchar la melodía (sin necesidad de compilar el código) puedes descargarte el binario (libre de virus) <a href="http://ignoranto.info/paraDescargar/beep_starwars.exe">starwars_beep.exe</a>; para ejecutar necesitas el <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=en">framework.net</a></p>
<p style="text-align: right;">¿Encontraste algún fallo? Puedes escribirme a <strong>gerber@ignoranto.info</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ignoranto.info/ricercando/starwars-console-beep-csharp/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Star Wars Lego Symphony</title>
		<link>http://ignoranto.info/ricercando/star-wars-lego-symphony/</link>
		<comments>http://ignoranto.info/ricercando/star-wars-lego-symphony/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 04:36:00 +0000</pubDate>
		<dc:creator>gerWare</dc:creator>
				<category><![CDATA[Videos]]></category>
		<category><![CDATA[Star Wars]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://gerber.ignoranto.info/?p=131</guid>
		<description><![CDATA[Este video es uno de los clásicos en internet, aqui vemos la marcha imperial de Star Wars conducida por Darth Vader e interpretada por sus soldaditos! todo en piezas de Lego animadas en 3D Y tu, que opinas?]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">Este video es uno de los clásicos en internet, aqui vemos la marcha imperial de Star Wars conducida por Darth Vader e interpretada por sus soldaditos! todo en piezas de Lego animadas en 3D</p>
<p style="text-align: center;"><object width="445" height="364" data="http://www.youtube.com/v/ayTom6l8zxM&amp;hl=es&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ayTom6l8zxM&amp;hl=es&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999&amp;border=1" /><param name="allowfullscreen" value="true" /></object></p>
<p style="text-align: center;"><strong>Y tu, que opinas?</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ignoranto.info/ricercando/star-wars-lego-symphony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
