beast-logo.png

Musiksynthese mit BEAST

Soundbastelkasten

Wer schon immer einmal einen Science-Fiction-Film vertonen wollte, findet in BEAST das richtige Werkzeug zum Basteln abgefahrener Klangkreationen. Aber auch ein satter Heavy-Metal-Verzerrer oder eine Jazzorgel überfordern dieses flexible Werkzeug keineswegs.

Als sich Robert A. Moog und Herbert Deutsch 1964 über die Entwicklung neuer elektronischer Musikinstrumente unterhielten [4], ahnten sie mit Sicherheit nicht, welche Bedeutung modulare Synthesizer knappe vierzig Jahre später haben würden. Ihre Arbeit legte die Grundlage für viele der elektronischen Instrumente, die man heute kaufen kann.

Nach dem Prinzip des legendären Moog-Synthesizers kombiniert auch die Audio-Synthese-Software BEAST (Bedevilled Audio System) einfache Komponenten, die von anderen Komponenten oder auch von außen gesteuert werden können.

Kasten 1: Vom Quellcode zum BEAST

Die Installation von BEAST gestaltet sich je nach verwendeter Distribution mehr oder weniger einfach. Ein simples apt-get install beast unter Debian geht zwar sehr schnell, allerdings muss man sich unter der aktuell stabilen Debian-Ausgabe Woody mit der reichlich veralteten Version 0.3.3 zufriedengeben. Wer etwas abenteuerlustiger ist und auch Pakete aus Debian/testing oder gar unstable einsetzt, erhält auf diesem Weg jedoch ohne weitere Probleme die neueste BEAST-Ausgabe.

Für SuSE 8.2 gibt es zwar ebenfalls vorkompilierte Pakete, die man jedoch mitsamt der vorausgesetzten Software einzeln von Hand installieren muss. Gregor Walugas Howto [5] in deutscher und englischer Sprache erleichtert diese Arbeit.

In allen anderen Fällen ist man auf sich selbst gestellt. Man muss zunächst die benötigten externen Software-Pakete GnomeCanvas aus GNOME 2.0, GTK+ 2.2, Guile 1.6, Ogg/Vorbis und optional libmad installieren, die zum Glück den meisten aktuellen Distributionen als vorkompilierte Pakete beiliegen. Der Rest beschränkt sich dann auf

./configure && make && make install

im Verzeichnis mit dem entpackten BEAST-Quellcode.

Es empfiehlt sich, auch gleich die LADSPA-Plugins von Steve Harris [8] zu installieren, was auch wieder mit ./configure && make && make install getan ist.

Dem hübschen Splash-Screen nach dem Programmstart mit dem Kommando beast& folgt ein Fenster mit einer leeren Sample-Liste, in die sich mit einem Klick auf den Load...-Knopf am rechten Fensterrand eine Klangdatei aufnehmen lässt (Abbildung 1). Name und Kommentar verändert man direkt in der Liste; dazu genügt ein Klick auf das entsprechende Feld. Zu einem Sample-Editor soll später einmal der Editor-Knopf führen; im Moment verbirgt sich dahinter nur eine Vorhörmöglichkeit.

Abbildung 1: Die Sample-Liste mit der Beispiel-WAV-Datei

Der wichtigste Teil von BEAST sind die Custom Synthesizer (anzulegen mit Project / New Custom Synthesizer) – klangverarbeitende Netze mit Signalquellen, Verknüpfungselementen, Filtern und Signalsenken. Der Wave-Generator speist einen Klang aus der Sample-Liste in ein Netz ein, der Standard-Oszillator liefert gängige Grundwellenformen wie Sinus, Dreieck, Sägezahn und Rechteck. Addierer, Multiplikatoren und Mischer kombinieren Signale, außerdem verändern Filter bei Bedarf das Frequenzspektrum eines Signals.

Good Vibrations

Da alle Theorie grau ist, lädt Sie dieser Artikel im Folgenden zu einer praktischen Musikstunde ein. Das nötige Material finden Sie zum Download unter [6], so zum Beispiel die Datei phone.wav, die wir zunächst über Load... laden.

Anschließend legen wir mit Project / New Custom Synthesizer ein neues Netz an. Dabei entsteht eine neue "Karteikarte" namens BseCSynth: Unnamed, die wir in der Leiste am linken Rand auswählen. In deren Reiter Parameters bekommt das Kind einen Namen: Geklingel. Weil das Netz eigenständig und nicht Teil eines MIDI-Synthesizers oder eines Songs ist, setzen wir unter Playback Settings ein Häkchen vor Auto Activate.

Nun nehmen wir uns das eigentliche Netz vor. Im Reiter Routing finden wir eine leere Arbeitsfläche. Das Kontextmenü des rechten Mausknopfs beschert uns mit Audio Sources / Wave Oscillator und einem Linksklick zum Platzieren BseWaveOsc-1, unsere erste Klangquelle.

Das abzuspielende Sample stellen wir im Parameterfenster des Oszillators ein, welches wir mit einem Klick ins soeben neu aufgetauchte Symbol erreichen. Dort listet die Popup-Box unter Wave alle bisher geladenen Samples auf (Abbildung 2). Nach der Auswahl von phones.wav können wir diesen Dialog über das Schließen-Symbol in der Kopfzeile des Fensters beenden; einen extra Schließen-Knopf gibt es nicht.

Hörbar wird der Klang mit dem PCM-Ausgabemodul (Input & Output / PCM Output im Kontextmenü der "Zeichenfläche"). Damit dort auch etwas ankommt, müssen wir noch zwei Verbindungslinien ziehen. Jeweils ein Klick auf das rote Kästchen mit der Bezeichnung Audio Out und ein weiterer auf das gelbe mit der Marke Left Audio In bzw. das olivfarbene Right Audio In verbindet die beiden Komponenten wie in Abbildung 2. Ein Klick auf den dreieckigen Abspielknopf unterhalb der Menüleiste sollte nun für ein hörbares Ergebnis sorgen.

Abbildung 2: Zum Abspielen von "phone.wav" klicken Sie auf den Wiedergabe-Knopf unterhalb des "Project"-Menüs

Liegen die einzelnen Symbole auf der Zeichenfläche zu eng beeinander, zieht man sie einfach mit dem mittleren Mausknopf an einen anderen Platz.

MIDI-Synthesizer

Als nächstes bauen wir einen Minimal-MIDI-Synthesizer, damit wir unsere Klangkreationen direkt mit einem Keyboard ansteuern können. (Wer kein MIDI-Keyboard besitzt, werfe einen Blick in Kasten 3.) Dabei tritt erstmals ein neues Problem auf: Mehrstimmigkeit. Für jede gedrückte Taste muss BEAST den Ton eigenständig berechnen, da er sich normalerweise in Tonhöhe, Anschlagstärke und Haltezeit von den anderen gespielten Noten unterscheidet.

An dieser Stelle kommt das Stichwort "Virtualisierung" ins Spiel: BEASTs MIDI-Komponente kümmert sich darum, dass für jede gespielte Note eine neue Instanz des Synthesizernetzwerks erzeugt, in Gang gesetzt und nach Abschluß der Note auch wieder entfernt wird.

Öffnen wir zunächst einmal eine neue Datei (File / New), in der wir wiederum mit Project / New Custom Synthesizer ein neues Netz anlegen. Auch hier empfiehlt es sich, die Namenlosigkeit von BseCSynth: Unnamed auf der Karte Parameters zu beenden, wo wir außer dem Namen Minimal einen Kommentar, Autoren- und Copyright-Informationen hinterlegen können.

Dass die neue Arbeitsfläche nicht lange leer bleibt, dafür sorgt wiederum das über den rechten Mausknopf erreichbare Kontextmenü. Virtualization / Keyboard Input und ein Klick mit dem linken Mausknopf beschert uns ein erstes BseSubKeyboard, unsere Noteninformationsquelle, die sich vom Keyboard am externen MIDI-Port speist.

Dessen Ausgabefrequenz soll erst einmal einen Oszillator steuern, den wir unter Audio Sources / Standard Oscillator finden. Die Verbindung stellen ein Klick auf das rote Kästchen mit der Bezeichnung Frequency und ein weiterer auf das gelbe mit der Marke Freq In her (siehe Kasten "Verbindungen").

Um den Lautstärkenverlauf einer Note zu beeinflussen, benötigen wir einen Hüllkurvengenerator, zu finden unter Other Sources / Simple ADSR. Dessen Gate In speist sich aus dem Gate des BseSubKeyboard.

Verbindungen

BEAST kennt eine Reihe unterschiedlicher Signal- und Anschlußtypen. Nicht alle können sinnvoll miteinander verbunden werden. Gate- und Sync-Anschlüsse liefern Ereigniswerte (0 oder 1), beispielsweise zeigt eine 1 am Gate-Ausgang eines BseSubKeyBoards an, dass gerade eine Taste auf dem Keyboard gedrückt wird; eine entsprechende Signalflanke am Sync-Ausgang eines BseStandardOsc zeigt an, dass gerade eine neue Schwingungsperiode beginnt. Ein High/Low-Übergang am Gate-Eingang des Hüllkurvengenerators veranlasst diesen dazu, den Kurvenverlauf zu erzeugen. Im Gegensatz dazu liegen an Freq-, Ctrl- und Audio-Anschlüssen kontinuierliche, auf den Bereich zwischen -1 und +1 normierte Signale an, die sich beliebig untereinander verbinden lassen, auch wenn nicht unbedingt jede Verbindung unmittelbar einen Sinn ergibt. Bei den Frequenzen entspricht ein Wert von +1.0 24 kHz, der Kammerton A (440 Hz) hat den Wert 0.01833. Man muss aber nicht selbst umrechnen, da es an den relevanten Stellen passende Eingabemöglichkeiten gibt.

Die Ergebnis-Signale aus dem Oszillator und dem Hüllkurvengenerator kombinieren wir über ein Multiplikationselement (Routing / Mult), indem wir Audio Out mit Audio In1 und Ctrl Out mit Audio In2 verbinden (Abbildung 3).

Am Ende soll ein Ton heraus kommen, das erzeugte Tonsignal hörbar werden. Virtualization / Instrument Output hilft uns weiter. BseMult-1/Audio Out gehört an Left Audio und Right Audio, damit wir das Mono-Signal des Oszillators auf beiden Boxen hören. BseSimpleADSR-1/Done Out verbinden wir mit Synth Done, was der Audioengine anzeigt, dass eine Note fertig ist und nicht mehr weiter berechnet werden muss.

Abbildung 3: Fertig ist das Synthesenetzwerk eines Minimalsynthesizers

Das Synthesenetzwerk steht (Abbildung 3); zum MIDI-Synthesizer fehlt nur noch ein kleiner Schritt: Mit dem Hauptmenüpunkt Project / New MIDI Synthesizer erzeugen wir eine neue Karteikarte BseMidiSynth: Unnamed (Abbildung 4), in der wir aus dem Pop-Down-Menü bei Synthesis Network den Punkt Minimal auswählen und den Startknopf ganz links unterhalb der Menüleiste betätigen. Spielt man nun auf der Klaviatur des MIDI-Keyboards, sollte dies einen hörbaren Effekt erzielen.

Abbildung 4: Einstellungen zum MIDI-Synthesizer

Tabelle 1: Neue Version, neue Namen

Kurz vor Drucklegung erreichte die Redaktion noch eine brandheiße Nachricht aus den BEAST-Labs: Wenn Sie dieses Heft in den Händen halten, wird es die Software voraussichtlich bereits in Version 0.5.5 geben. Dort heißen einige der Ein-/Ausgabemodule anders:
Alte Bezeichnung Neuer Name
BseMonoKeyboard BseMidiInput
BseMidiIController BseMidiController
BseSubKeyboard BseInstrumentInput
BseSubInstrument BseInstrumentOutput

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Musik-Software Rosegarden
    Wer auf dem Linux-PC professionelle Musikproduktion betreiben will, kommt am ausgereiften MIDI- und Audio-Editor Rosegarden nicht vorbei.
  • Ran-Tasten
    Mit einem USB-Midi-Keyboard bringen Sie Ihrer Audio-Workstation schnell und unkompliziert die Töne bei.
  • AlsaModularSynth, FluidSynth und NoteEdit
    Mit Synthesizer-Programmen greifen Sie auf reichhaltige Instrumentensammlungen zurück oder basteln sich gleich eigene. Ein Notensatzsystem spielt Ihre Komposition mit den Instrumenten Ihrer Wahl ab.
  • out of the box
    Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten. Diesmal geht es um den Synthesizer SpiralSynth.
  • Ardour3 – vollständige Musikproduktionssuite für Linux
    Ardour bewährt sich seit Jahren als Audio-Produktionssystem. Die dritte Generation des Profi-Programms integriert endlich auch MIDI-Komposition und bringt noch viele weitere Fortschritte.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...