BBC BASIC, 141 caractères 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.
Révisé pour tenir compte de la limite de tempo. Met à jour l'explication plus tard.
BBC BASIC, 123 caractères ASCII (non compétitif en 60BPM)
Téléchargez l'interprète sur http://www.bbcbasic.co.uk/bbcwin/download.html
Joue la chanson directement lors de l'exécution.
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.
Non 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
Explication
j
est un drapeau indiquant si nous sommes dans les 4 premières mesures ou l'accord final. TRUE est -1
en BBC BASIC.
L' SOUND
instruction prend 4 paramètres:
CANAL: pour les 4 premières mesures, il s'agit du canal 1. Pour les 3 notes de l'accord dans la 5e mesure, les numéros de canal sont 201, 202 et 203 hexadécimaux (513 514 et 515 décimal). Cela signifie jouer sur les canaux 1,2 et 3, les 2 initiales signifiant jouer simultanément avec 2 notes sur d'autres canaux (c'est-à-dire jouer un accord de 3 notes).
VOLUME: Donné comme une valeur négative car les valeurs positives représentent d'autres effets (enveloppes sonores.). Fixé à -9 (ira jusqu'à -15, ce qui est le plus fort.)
PITCH: Pour cet air, varie de D4 = 108 à A5 = 184. Chaque pas entier est 1/4 d'un demi-ton. Les valeurs sont stockées sous forme de codes ASCII dans la plage 54 à 92 et doublées pour régénérer la valeur correcte. Les 1/8 de notes sont stockées sous forme de doubles de 1/16 de note. L'accord final est stocké sur 3 hauteurs distinctes et la longueur de la note varie en note entière comme ci-dessous.
DURÉE: en 1/20 de seconde. La durée de la 1 / 16ème note est de 5/20 de seconde, donc 60 1/4 notes par minute (la résolution est insuffisante pour rendre le tempo plus précis.) La note entière est de 5 - (- 75) = 80 unités (4 secondes ) longue.