Home » Source Code & Algorithms » C Sharp Imperial March Console.Beep()
formats

C Sharp Imperial March Console.Beep()

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 mainboard de tu PC Lee este post Imperial March Bash Beep y descarga el script aquí!

Darth Vader

 

No explicaré a detalle ya que son 333 líneas de código 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 disposición aquí es un arreglo para piano, el código C Sharp de esta melodía esta publicada en src.grbr.me (haz clic para descargar)

¿Que de especial tiene ésta melodía?

  • Esta formada por más de 20 métodos
  • Existe la función tremolo(); con esta función podemos dar el efecto de trémolo a las notas musicales

El método trémolo es el siguiente:

static void tremolo(int frecuenciaPAR, int duracion)
{
 for (int x = 0; x < 8; x++)
 {
  if (x % 2 == 0)
   Console.Beep(frecuenciaPAR, duracion / 8);
  else
   Console.Beep(frecuenciaPAR / 2, duracion / 8);
 }
}

Una pequeña explicación de éste método
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 “el número de veces (numero de veces que tenee que repetir el bucle)” 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:

tremolo(440, 600);

Esto produciría un trémolo de 600 milésimas de segundo de duración de la nota LA.

Pronto escribiré esta melodia en BASH :D asi podremos ejecutarla en nuestro terminal en GNU/Linux, cuando disponga de tiempo lo escribiré en userRPN para las calculadoras HP 50G!

Puedes encontrar más información sobre el uso beel aquí > Metodo System.Console.Beep()

¿Conoces a Johann Sebastian Bach? Bach es mi ídolo, admiro bastante a este compositor, por ello escribí la Gavotte de la Suite Inglesa 3 de Johann Sebastian Bach en Console.Beep();

Descarga, lee y compila el código!

 
 Share on Facebook Share on Twitter Share on Reddit Share on LinkedIn
1 Comment  comments 

One Response

  1. [...] 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 [...]

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

*

Usted puede utilizar las etiquetas HTML y atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>