7

The Music Box 128, czyli jak się „robiło” kiedyś muzykę – Bajtek cz. 3

To już trzecia część naszej wspólnej podróży w czasie z Marcinem Przasnyskim, w której to powracamy do jego artykułów publikowanych kiedyś w popularnym czasopiśmie komputerowym Bajtek. W pierwszej części przedstawialiśmy dawny zewnętrzny dysk – FDD 3000, w drugiej przypominaliśmy pierwsze joysticki. Dziś zobaczymy, jak tworzono niegdyś muzykę. W dobie dzisiejszych możliwości w tym zakresie, wygląda […]


To już trzecia część naszej wspólnej podróży w czasie z Marcinem Przasnyskim, w której to powracamy do jego artykułów publikowanych kiedyś w popularnym czasopiśmie komputerowym Bajtek. W pierwszej części przedstawialiśmy dawny zewnętrzny dysk – FDD 3000, w drugiej przypominaliśmy pierwsze joysticki. Dziś zobaczymy, jak tworzono niegdyś muzykę. W dobie dzisiejszych możliwości w tym zakresie, wygląda to teraz naprawdę archaicznie.

Na początek kilka słów od autora tego artykułu:

W tekście o Music Boksie udaję, że mam jakieś pojęcie o muzyce. Nie mam! To znaczy wtedy nie miałem, dzisiaj jest nieco lepiej, ale z komponowaniem nie mam nic wspólnego. Chodziło jednak o to, żeby w ogóle dało się na Spectrum zacząć tworzyć własne kawałki, po tym jak okazało się, że komputerek z chipem AY-3-8910 (dzisiaj nazwalibyśmy go kartą dźwiękową) potrafi pięknie grać w stereo. Przypominam, że mówimy o urządzeniu posiadającym całkowitą pamięć 65536 bajtów, z tego system operacyjny 16384 bajty. Czy ktoś potrafi sobie wyobrazić, jak mało to jest? Na szczęście Speca dawało się rozbudowywać i choć normalnie peryferia były obłędnie drogie, to akurat AY był rozwiązaniem prostym i tanim. Pamiętam jak dziś, gdy usłyszałem go po raz pierwszy. Czułem jakby niebo się otworzyło, nastała jasność, a ja uniosłem się metr nad ziemię. Mogłem wszystko.

Music Box 128

Dawno, dawno temu, gdy wszyscy zachwycaliśmy się możliwościami wszechobecnego Spectrum 48, nikt nie zwrócił uwagi na model 128 i następne. Bo też nie było w nim prawie nic godnego uwagi.

Prawie nic, czyli wszystko oprócz AY – greka. Z początku tkwił we wnętrzu Spectrum 128 niezauważony. Potem niektórzy przypadkiem usłyszeli jego muzykę. Powoli rodziła się ciekawość.

Wreszcie wszystkich opanował szał. Kilku elektroników naraz opracowało schematy podłączenia AY – greką do starego Spectrum 48 i +. Odkryto, że wiele gier posiada programy obsługi generatora. Zaczęto pisać programy demonstracyjne, z muzyką „wyciąganą” z gier. Dotychczas słowa „Spectrum” i „muzyka” były przeciwnościami, teraz stały się jednością.

Przedstawiamy tu program „The Music Box 128″ firmy Melbourne House. Został on napisany na przełomie lat 1985/86 i jak dotąd jest najlepszym (!) z programów do pisania muzyki w Polsce. Podobno z początkiem 1990 roku dotrzeć ma do nas „Music Artist” Benna Dalglisha, lecz jest to pod znakiem zapytania.

Music Box 128 napisany został na Spectrum 128 i dlatego przystosowano go do współpracy z magnetofonem, mikrodrajwami oraz RAM-dyskiem (komendy SAVE! i LOAD!). W prosty sposób przerobić można jedną z tych opcji na współpracę ze stacją FDD 3000 (system operacyjny TOS), gdyż muzyka zajmuje pamięć niedynamicznie i przydzielone jest na mą ok. 4700 bajtów.

Program składa się z trzech segmentów – Basicowego loadera, bloku kodu i programu zarządzającego w Basicu. Wszystkie operacje sięgają korzeniami w Basic i posiadają odwołania do kodu. W nim wykonywane są jedynie przesłania bloków pamięci, zapis nut i efektów specjalnych oraz odtwarzanie muzyki.

Po wczytaniu programu zgłasza się główne menu, poprzedzone czasem (w niemodyfikowanych przez naszych pseudo-hackerów sprowadzających nowości) muzyczką demonstracyjną.

Menu zawiera pozycje:

1. LOAD TUNE
2. SAVE TUNE
3. SYSTEIUMENU
4. ENVELOPES
5. SET TEMPO
6. EDIT MODE
7. HELP

Pierwsze dwie opcje służą do zapisu i odczytu kodu melodii z pamięci zewnętrznej. Standardowo ustawiony jest RAM-dysk, więc po uruchomieniu programu na Spectrum 48 i wybraniu jednej z tych opcji, program zatrzyma się komunikatem „Nonsence in Basic”.

Trzecia opcja — SYSTEM MENU — powoduje zgłoszenie kolejnego menu:

1. SET PRESET NOISE VALUES
2. SET CHANNEL LOOP PARAMETERS
3. CHANGE SAVE/LOAD PERIPHERAL
4. LISTEN TO TUNE
5. COMPILE AND SAVE

Opcja pierwsza pozwala na zmianę tzw. efektów perkusyjnych, określonych tu jako „noise”. Wyświetlana jest lista aktualnie istniejących obwiedni dźwięku oraz charakterystyka poszczególnych uderzeń. Klawisz O powoduje powrót do głównego menu. Klawisze 1-9 pozwalają na zmianę odpowiednich uderzeń. Należy podać częstotliwość i rodzaj obwiedni dźwięku.

Opcja druga pozwala na ustalenie miejsc zapętlenia trzech kanałów oraz kanału efektów specjalnych. Wyboru dokonuje się wciśnięciem klawisza 1-4 i podaniu numeru nuty, po której ma nastąpić zapętlenie. Klawisz O powoduje powrót do głównego menu.

Opcja trzecia to ustalenie rodzaju pamięci, w której odkładana będzie przez SAVE i odczytywana przez LOAD melodia. Standardowo jest to RAM-dysk, możliwe jest wybranie mikrodrajwów lub taśmy.

Opcja czwarta odtwarza zawartą w pamięci muzykę, uwzględniając ustalone tempo. Jest to odtwarzanie „rzeczywiste”, gdyż w trakcie nie odbywa się obróbka obrazu.

Opcja piąta pozwala na skompilowanie napisanej melodii i nagranie jej w postaci bloku kodu maszynowego, pracującego samodzielnie. Kompilacja nie jest dokonywana, jeśli któryś z kanałów nie był zapętlony.

Wróćmy do głównego menu (zwykle powoduje to klawisz 0). Opcja ENVELOPES umożliwia zaprojektowanie kształtu ośmiu obwiedni dźwięku, które wykorzystywane będą w edytorze melodii. Zmiany kształtu po wciśnięciu numeru obwiedni dokonuje się klawiszami kursora (5, 6, 7, 8 z CAPS SHIFTEM), ustalenie – klawiszem ENTER.

Kolejna opcja – SET TEMPO – pozwala na ustalenie szybkości odtwarzania melodii. Aktualna szybkość symbolizowana jest poziomym paskiem u dołu ekranu, zmiana długości dokonywana jest klawiszami 5 i 8. Wciśnięcie innego klawisza powoduje przejście do edytora.

EDIT MODE to właśnie edytor. Nie jest on „user-friendly”, ale nie wymagajmy zbyt wiele od programu sprzed pięciu lat!

Najbardziej zrozumiały będzie suchy opis klawiatury:

1, 2, 3, 4 – oktawy
6 – powrót do menu
7 – skasowanie zapisu melodii
Q – odtworzenie melodii
W – ustalenie zapętlenia w aktualnym kanale
R – powrót na początek melodii
T – zmiana kanału
O, P – odtworzenie kolejnego taktu melodii
A, S, F, G, H, K, L – nuty z krzyżykiem, klawisze jak na klawiaturze pianina
CAPS SHIFT, CAPS LOCK, Z, X, C, V, B, N, M – nuty zwykłe, klawisze jak na pianinie
SYMBOL SHIFT + Q-O – uderzenia perkusji

Pewnym utrudnieniem dla posiadaczy Spectrum 48 jest układ pianinopodobnej klawiatury. Wykorzystując bowiem układ ze Spectrum 128 zaangażowano cały dolny rząd liter wraz z CAPS SHIFTEM, kropką i CAPS LOCKIEM.

Na ekranie edytora widać okno z dwiema pięcioliniami oraz okno informacyjne. Podawane są w nim kształty obwiedni w poszczególnych kanałach, głośność również w poszczególnych kanałach, numer odgrywanej nuty z każdego kanału, numer oktawy i numer bieżącego kanału, informacja o zapisie nie będącym nutą ani uderzeniem (EFFECTS CH) oraz mały wskaźnik – głośnościomierz.

Wciśnięcie jednego z klawiszy pseudoklawiatury pianina powoduje przesunięcie w lewo pięciolinii oraz ustawienie nowej nuty przy prawej krawędzi ekranu. Cofnięcie pięciolinii umożliwia klawisz DELETE (CAPS SHIFT i 0), nie jest on powtarzalny. Wciśnięcie ENTER powoduje pozostawienie „pustego” miejsca lub skasowanie istniejącej następnej nuty. Wszystko to odnosi się do aktualnego kanału, którego numer podawany jest w okienku STATE CHN.

Wciśnięcie EXTENDED MODE (CAPS SHIFT i SYMBOL SHIFT) powoduje możliwość wstawienia w zapis melodii specjalnych znaczników. Przedtem wyświetlane jest mini-menu w oknie systemowym, które udostępnia klawisze:

ENTER lub R – powrót do edytora
E – ustalenie nowej obwiedni dla jednego lub wszystkich kanałów
V – ustalenie głośności w jednym lub wszystkich kanałach
B – wstawienie „pustej” nuty
S – wstawienie tzw. międzydźwięków („semitones”), powodujących wibrowanie, unoszenie lub opadanie „zwykłych” nut. Podawana jest liczba „drgnięć” i kierunek – góra lub dół
Q – przeniesienie podanego fragmentu zapisu w inne miejsce z zachowaniem fragmentu źródłowego

Na koniec należy podkreślić najpoważniejszą – moim zdaniem – wadę Music Boxa, tzn. stałą długość nut. Wszystkie są ósemkami!

Można starać się symulować nuty dłuższe przez ustawienie obok siebie jednakowych nut o stałej obwiedni, lub dostawianie nuty o obciętej obwiedni do nuty „całej”. Można wreszcie pokusić się o modyfikację programu.

Mimo, że niezwykle trudno jest sklecić coś mile brzmiącego, powodzenie Music Boxa nie słabnie. Z licznych programów muzycznych znany jest Spectrumowcom p. Maciej Wroński, który przy pomocy Music Boxa pisze profesjonalnie brzmiące utwory. Niezorientowanym polecam programy demonstracyjne „DOBRANOCKI” i „KOLĘDY”.

Marcin Przasnyski