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 o limite de andamento. Atualizará a explicação mais tarde.
BBC BASIC, 123 caracteres ASCII (não-concorrentes como 60BPM)
Faça o download do intérprete em http://www.bbcbasic.co.uk/bbcwin/download.html
Reproduz a música diretamente quando é executada.
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.
Ungolfed
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
Explicação
j
é uma bandeira indicando se estamos nas primeiras 4 barras ou no acorde final. TRUE está -1
no BBC BASIC.
A SOUND
declaração usa 4 parâmetros:
CANAL: para as 4 primeiras barras, este é o canal 1. Para as 3 notas do acorde na 5ª barra, os números dos canais são 201, 202 e 203 hexadecimais (513.514 e 515 decimais.) Isso significa tocar nos canais 1,2 e 3, o significado 2 inicial toca simultaneamente com 2 notas em outros canais (ou seja, toca um acorde de 3 notas).
VOLUME: Dado como um valor negativo, porque valores positivos representam outros efeitos (envelopes sonoros.). Defina -9 (subirá para -15, mais alto.)
PASSO: Para esta música, varia de D4 = 108 a A5 = 184. Cada passo inteiro é 1/4 de um semitom. Os valores são armazenados como códigos ASCII no intervalo de 54 a 92 e dobrados para gerar novamente o valor correto. As notas 1/8 são armazenadas como notas 1/16 duplicadas. O acorde final é armazenado em 3 arremessos separados e o comprimento da nota varia para a nota inteira, como abaixo.
DURAÇÃO: em 1/20 de segundo. A duração da 1/16 da nota é 5/20 de segundo, portanto 60 1/4 da nota por minuto (a resolução é insuficiente para tornar o andamento mais preciso.) A nota inteira é 5 - (- 75) = 80 unidades (4 segundos ) grandes.