Musik gehört wohl zum Interessantesten was aus dem Computer herauszuholen ist. Wie programmiert man aber professionelle Sounds? Wir sahen einem der besten deutschen Musikprogrammierer bei seiner Arbeit zu und zeigen einige seiner Tricks.
Es ist 6.35 Uhr, ich habe es gerade noch geschafft und sitze im Intercity von München nach Frankfurt. Ich bin neugierig, aber auch skeptisch. In ein paar Stunden treffe ich mich mit einem der besten deutschen Musikprogrammierer.
In einem Ort in der Nähe von Frankfurt erwartet mich Chris Hülsbeck vor der Haustür. Nach der kurzen Begrüßung führt er mich in sein Zimmer. Zu meiner Überraschung sieht es hier gar nicht aus wie in einem Musikstudio, sondern eher wie in tausend anderen Zimmern, wo jugendliche Freaks ihrem Computerhobby fröhnen. Ein Tisch mit zwei C 64-Computern, ein Floppy-Laufwerk und dahinter in der Ecke leicht versteckt ein Amiga. »Den Amiga benutze ich noch nicht zur Soundprogrammierung«, antwortete er auf meinen fragenden Blick. So wird auch der Monitor etwas zweckentfremdet an den C 64 angeschlossen.
Während ich mich noch im Zimmer umsehe, hat Chris bereits die erste Diskette ins Laufwerk eingelegt, und führt mir seine neuesten Musikstücke vor. Was da aus den Lautsprechern der Stereoanlage kam, konnte mit den Produkten der bekannten englischen Programmierer Rob Hubbard und Martin Galway ohne weiteres mithalten. »Fantastisch« war meine erste Reaktion. So etwas hatte ich nun wirklich nicht erwartet. Aber wie programmiert Chris Hülsbeck solche Musik? Ich habe Glück, Chris bietet mir an: »Ich arbeite gerade an einem neuen Spiel. An diesem Beispiel kann ich es Dir am besten demonstrieren.«
Jeder Programmierer braucht Werkzeug, um zu arbeiten. Sei es ein Compiler, Interpreter oder ein Grafikprogramm. Chris benutzt zur Soundprogrammierung seinen selbstgeschriebenen »Soundmonitor«. Damit läßt sich am Soundchip alles nur Erdenkliche einstellen und manipulieren. Aber mit dem Werkzeug alleine ist es natürlich nicht getan. Man muß zuerst einmal wissen, was man überhaupt machen möchte.
Angenommen, man hat gerade ein tolles Spiel geschrieben und möchte es nun mit entsprechender Musik untermalen. Wie macht man so etwas? Chris überlegt sich zuerst einmal, welche Musik zu diesem Spiel am besten paßt. Spielt es beispielsweise im Mittelalter, verwendet er barocke Töne. Wenn es in der Gegenwart spielt, benutzt er Töne aus der Discoszene. Bei einem Fantasy-Spiel würde er zum Beispiel mystische Synthesizerklänge einsetzen; je nachdem, was ihm letztendlich am besten gefällt und was am besten zum Spiel paßt. Dazu kommt natürlich noch die Dramatik der Musik, ganz wie im Kino.
Hat man die entsprechenden Klänge ausgewählt, zum Beispiel durch Experimentieren, dann muß man sich an das Komponieren machen. Denn selbstkomponierte Stücke geben dem Spiel auch eine ganz persönliche Note, wie beispielsweise bei Martin Galway oder Rob Hubbard. Anregen läßt man sich am besten durch das Kino oder eben durch viel Musik hören. Chris geht zum Beispiel sehr häufig nur ins Kino, um sich inspirieren zu lassen.
Ist nun alles beisammen, dann kommt die Programmierung. Wie bekommt man den Sound ins fertige Spielprogramm? Das ist die nächste Frage, mit der man sich auseinandersetzen muß. Hat man diese auch noch gelöst, ist das Spiel mit der ganz persönlichen Note fertig.
Da uns Chris natürlich keine fertigen Kochrezepte liefert, gibt er uns ein paar Tips für alle, die sich mit der Musikprogrammierung beschäftigen:
Als allererstes sollte man sich überlegen, ob man in der Lage ist, ein Musikprogramm auf die Beine zu stellen, denn meistens programmiert man dabei in Assembler. Traut man sich dies zu, kommen die nächsten Überlegungen: Wie programmiert man den Soundchip? Soll diese Routine im Interrupt laufen? Wie müssen die Daten im Speicher abgelegt werden? Als Beispiel sei nur mal das Anlegen einer Notentabelle in Hexadezimalzahlen erwähnt. Die Noten kann man dann als Zahlenwerte von $00 bis $FF abrufen. Dies bringt auch Platzerspamisse mit sich. Man sollte sich auch mal Gedanken über Erweiterungen machen, wie man zum Beispiel die Pulsweite moduliert, oder wie man Filter manipuliert. Dadurch entstehen sehr schöne Effekte. Wichtig ist auch, daß der Sound während des Spiels gewechselt werden kann, und daß man Gruppen von Tönen zusammenfaßt (diese Gruppen bezeichnet man als Takte). Diese Takte kann man dann in einem extra Speicher ablegen und in beliebiger Reihenfolge und beliebig oft abspielen. Alles trägt dazu bei, daß die Musik hinterher viel besser klingt, als das, was normalerweise aus dem Soundchip herauszuholen ist. Diese Tricks verwendet Chris auch in seinen Programmen.
Man sieht also, mit den richtigen Ideen und etwas Kreativität kann man tolle Klänge aus dem Computer zaubern, wie sie in vielen professionellen Spielen zu finden sind, (kl)
Happy-Computer: Mittlerweile bist Du in Deutschland kein Unbekannter mehr. Wie ist man auf Dich aufmerksam geworden? Chris: Angefangen hat eigentlich alles mit dem Musikwettbewerb in der »64'er« (eine Schwesterzeitschrift der Happy-Computer). Das war im Februar 1986. Ich habe von dem Wettbewerb gelesen und dachte mir, ich mache da mal mit. Davor programmierte ich schon einige Musikstücke mit einem Freund zusammen, allerdings nichts Weltbewegendes. Programme wie beispielsweise »Synthsample« brachten mich auf die Idee, auch mal etwas in der Art zu machen. Dann habe ich »Shades« programmiert und es eingesandt. Ich rechnete gar nicht damit, daß ich solch einen Erfolg haben würde, und dann belegte ich sogar den ersten Platz. Danach habe ich mit der Redaktion vereinbart, daß ich noch ein Programm schreibe, den »Soundmonitor«. Der war im Oktober 1986 das »Listing des Monats«. In der Zwischenzeit habe ich mich mit Rainbow Arts in Verbindung gesetzt, bei denen ich nun fest angestellt bin. Happy-Computer: Im Moment bist Du noch Schüler. Warum möchtest Du die Schule abbrechen, ist die Schule beim Programmieren etwas zu kurz gekommen?
Chris: Es ist eher umgekehrt. Die Programmierung kommt durch die Schule zu kurz. Wenn ich abends nach Hause komme, bin ich einfach zu müde, um noch am Computer zu sitzen. Da mir das Programmieren aber Spaß macht, stand ich vor der Entscheidung, entweder Computer oder Schule. Nun, da habe ich mich eben für den Computer entschieden. Natürlich kann ich das nur machen, weil ich jetzt den Job bei Rainbow Arts habe.
Happy-Computer: Du hast Dir das Musizieren selbst beigebracht, und Du hast Dir das Programmieren beigebracht. Nun bist Du ein Profi. Was muß man da mehr sein, Musiker oder Programmierer?
Chris: Oh, das ist sehr schwer zu beantworten. Das eine wie das andere birgt Vor- und Nachteile. Ist man beispielsweise ein guter Programmierer, so könnte man zwar gute Soundprogramme schreiben, aber es fehlt einem das musikalische Verständnis. Andererseits ist eine musikalische Ausbildung auch nicht unbedingt nötig. Das ist auch bei mir so, ich kann nämlich keine Noten lesen. Allerdings spiele ich sehr viel auf Musikinstrumenten und weiß inzwischen schon einiges über Musik. Ist man aber nur ein guter Musiker, dann kann man sein Können auf den Computer nicht optimal umsetzen. Man muß also beides sein, wobei der Programmierer meiner Meinung nach überwiegen sollte.
Happy-Computer: Wie wir erfahren haben, arbeitest Du gerade an einem neuen Spiel, kannst Du uns darüber etwas erzählen?
Chris: Eigentlich ist es ja noch geheim, aber ich kann Euch wohl soviel verraten, daß es eine Mischung aus Action, Musik-Adventure und Strategie sein wird. Primäres Ziel ist dabei, daß der Spieler als Musiker versuchen muß, einen Hit in der Hitparade zu landen. Also, er hat hier nicht die Rolle des Managers, sondern die des Künstlers.
Happy-Computer: Das hört sich ja sehr vielversprechend an. Eine letzte Frage: Wann wird Dein Programm voraussichtlich erhältlich sein?
Chris: Voraussichtlich wird es im Zeitraum Mai, Juni dieses Jahres auf dem Markt erscheinen.
(kl)