BBC BASIC, 141 caracteres ASCII (65.217BPM)
*TEMPO1
F.i=2TO71j=i>65SOUND1-j*(479+i/2),-9,ASCM." \\VX\\VX\DHLNRVXVVNRVV>@DHD@D>@D@@HD@@>:>:6:>@DH@@HDHHLNLDHLNRVXNNVV\\",i)*2,23-j*161N.
Revisado para acomodar el límite de tempo. Se actualizará la explicación más tarde.
BBC BASIC, 123 caracteres ASCII (sin competencia como 60BPM)
Descargue el intérprete en http://www.bbcbasic.co.uk/bbcwin/download.html
Reproduce la canción directamente cuando se ejecuta.
F.i=1TO67j=i>64SOUND1-j*(447+i),-9,ASCM."\\VX\\VX\DHLNRVXVVNRVV>@DHD@D>@D@@HD@@>:>:6:>@DH@@HDHHLNLDHLNRVXNV\",i)*2,5-j*75N.
Sin golf
FOR i = 1 TO 67
j = i > 64: REM j=0 for the first four bars composed of 16th notes, j=-1 for the final chord (whole note)
SOUND 1 - j * (447 + i), -9, ASC(MID$("\\VX\\VX\DHLNRVXVVNRVV>@DHD@D>@D@@HD@@>:>:6:>@DH@@HDHHLNLDHLNRVXNV\", i)) * 2, 5 - j * 75
NEXT i
Explicación
j
es una bandera que indica si estamos en los primeros 4 compases o en el acorde final. VERDADERO está -1
en BBC BASIC.
La SOUND
declaración toma 4 parámetros:
CANAL: para las primeras 4 barras, este es el canal 1. Para las 3 notas del acorde en la quinta barra, los números de canal son 201, 202 y 203 hexadecimales (513,514 y 515 decimales). Esto significa tocar en los canales 1,2 y 3, los 2 iniciales significan reproducir simultáneamente con 2 notas en otros canales (es decir, tocar un acorde de 3 notas).
VOLUMEN: Dado como un valor negativo porque los valores positivos representan otros efectos (envolventes de sonido). Establezca en -9 (subirá a -15, que es el más alto).
PITCH: para esta melodía, varía de D4 = 108 a A5 = 184. Cada paso entero es 1/4 de un semitono. Los valores se almacenan como códigos ASCII en el rango de 54 a 92 y se duplican para regenerar el valor correcto. Las notas 1/8 se almacenan como notas 1/16 duplicadas. El acorde final se almacena como 3 tonos separados y la duración de la nota varía a la nota completa como se muestra a continuación.
DURACIÓN: en 1/20 de segundo. La duración de 1/16 de nota es 5/20 de segundo, por lo que 60 1/4 notas por minuto (no hay resolución suficiente para que el tempo sea más preciso). La nota completa es 5 - (- 75) = 80 unidades (4 segundos ) largo.