Raspberry PI vezényli Mahler második szimfóniáját – ZX Spectrumokon

33 éves kihívást teljesített (túl) Matt Westcott, a zeneművet egy csapat Sinclair ZX Spectrummal játszatta el, szimpla BEEP utasításokkal, csipogóval.

Aki becsülettel végigküzdötte magát a Sinclair ZX Spectrum BASIC Manual útmutatóján, annak feltűnhetett, hogy milyen nehézkes is a beépített kis csipogót programozni. A gép csak egyetlen biten keresztül, minden kiegészítő oszcillátor áramkört nélkülözve rezegtethette a hangszóró membránját, ami BASIC-ben teljesen lefoglalta a gépet és csak egyszólamú csipogást, sípolást tett lehetővé. (Ha harmóniákat akarunk, azt a gépkönyv szerint magunknak kell hozzáénekelnünk – persze gépi kódú hangkeverő rutinokkal két-három szólamú zenécskéket lehetett kreálni, de ez nem tartozott a BASIC programozás körébe.) Az illetékes 19. fejezet végén gyakorlófeladatként szerepelt a futamok átírása FOR ciklusok felhasználásával és a teljes szimfónia megzenésítése. Bizonyára ironikusan értette a (brit) szerző ezt a kihívást, mert 5 szólamra lett volna szükség ahhoz, hogy a mű minden részletét visszaadhassuk.

Mahler 2. szimfóniája

Mahler 2. szimfóniája

Erre nem komolyan vette valaki? (Persze ő is brit.) Az  Oxfordi Tudománytörténeti Múzeum csapata, Matt Westcott vezetésével 33 év múltán egy csapat eredeti ZX Spectrumon játszotta el a zeneművet. A gépeket a Spectranet hálózati interfészekhez kapcsolódó Raspberry PI vezényelte, a zenemű MIDI-Spectrum konverzióját egy kis segédprogrammal oldották meg. Többféle Spectrum modell vett részt a performace-ban, de mindegyik csak és kizárólag a jó öreg BEEP utasításra hagyatkozott. (Ha kíváncsiak lennénk, mit lehet ezzel elérni, akkor könnyen kipróbálhatunk néhány játékot a QAOP online ZX Spectrum emulátorban.) A bemutató nem volt egészen zökkenőmentes, de sikeresen zárult, videón megtekinthető, angol narrációval, bevezetővel.

Sinclair ZX Spectrum billentyűzet

Sinclair ZX Spectrum billentyűzet – a BEEP utasítás az alsó sor (balról) második billentyűjével hívható elő, emlékszik még valaki milyen SHIFT-kombinációval? 🙂