BBC BASIC, 141 znaków 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.
Zmieniono w celu dostosowania limitu tempa. Zaktualizuje wyjaśnienie później.
BBC BASIC, 123 znaki ASCII (niekonkurencyjny jako 60BPM)
Pobierz tłumacza na http://www.bbcbasic.co.uk/bbcwin/download.html
Odtwarza utwór bezpośrednio po uruchomieniu.
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.
Nie golfił
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
Wyjaśnienie
j
to flaga wskazująca, czy znajdujemy się w pierwszych 4 taktach, czy w ostatnim akordie. TRUE jest -1
w BBC BASIC.
SOUND
Oświadczenie trwa 4 parametrów:
CHANNEL: dla pierwszych 4 taktów jest to kanał 1. Dla 3 nut akordu w 5 takcie numery kanałów to 201, 202 i 203 hex (513,514 i 515 miejsc dziesiętnych). Oznacza to odtwarzanie na kanałach 1,2 i 3, początkowe 2 oznacza grać jednocześnie z 2 nutami na innych kanałach (tj. Grać akord 3 nutowy).
GŁOŚNOŚĆ: Podana jako wartość ujemna, ponieważ wartości dodatnie reprezentują inne efekty (obwiednie dźwięku). Ustaw na -9 (wzrośnie do -15, co jest najgłośniejsze).
PITCH: W tym melodii zakres od D4 = 108 do A5 = 184. Każdy krok liczby całkowitej to 1/4 półtonu. Wartości są przechowywane jako kody ASCII w zakresie od 54 do 92 i podwojone, aby wygenerować poprawną wartość. Notatki 1/8 są przechowywane jako duplikaty notatek 1/16. Ostatni akord jest przechowywany jako 3 oddzielne wysokości, a długość nuty różni się dla całej nuty, jak poniżej.
CZAS TRWANIA: za 1/20 sekundy. Czas trwania 1/16 nuty wynosi 5/20 sekundy, więc 60 1/4 nut na minutę (rozdzielczość jest niewystarczająca, aby uściślić tempo). Cała nuta to 5 - (- 75) = 80 jednostek (4 sekundy ) długie.