Soundbastelkasten
Musiksynthese mit BEAST
Gitarren, verfremdet
BEAST kann noch mehr, beispielsweise Live-Sound von einem Mikrofon oder von einer Gitarre mit Effekten versehen – Grund genug für den Autor, den Klang seiner Westerngitarre mit einem hochwertigen Mikrofon aufzunehmen und mit BEAST zu verfremden.
Wenn Sie Ihre elektrische Gitarre an den Rechner anschließen wollen, brauchen Sie einen Vorverstärker, da das Signal von den Tonabnehmern zu schwach für eine direkte Zuführung an den Line-Eingang des Computers ist. Die meisten Soundkarten verfügen jedoch über einen Mikrofonvorverstärker, der für Experimente meist mehr als ausreicht.
Als Arbeitsgrundlage dient diesmal wieder ein einfacher Custom Synthesizer ohne Drumherum, weshalb wir nicht vergessen dürfen, den Punkt Auto Activate auf dessen Parameterkarte Activate anzukreuzen. Anschließend kommt eine neue Klangquelle zum Einsatz: Der BsePcmInput (Input & Output / PCM Input) speist von der Soundkarte über den Mikrofon- oder Line-Eingang aufgenommene Musik und Geräusche in einen Custom Synthesizer ein.
Die Ausgabe erfolgt wie beim ersten Beispiel mit Input & Output / PCM Output. Dazwischen bringen wir eine Strecke von drei Effekten ein: LADSPA / Flanger, LADSPA / Multivoice Chorus und wieder einmal LADSPA / GVerb. Das Mikro liefert nur ein Mono-Signal, daher genügt es, nur einen der beiden Ausgänge von BsePcmInput-1 mit dem Eingang des ersten Effekts zu verbinden. Wie das Ganze aussieht, zeigt Abbildung 9.
Nach dem Aktivieren dieses Netzes über den Startknopf vergewissern wir uns, dass das Mikrofon im Mixer der Soundkarte auf Aufnahme gestellt ist – denn nur dann hören wir das verfremdete Echo der vom Mikro aufgenommenen Klänge.
Raum für Experimente
Es lohnt sich, einfach ein wenig mit den Parametern der einzelnen Module zu spielen, um ein Gefühl für ihren Einfluss auf den Klang zu bekommen. Vielleicht reizt es Sie ja, angeregt von diesen einfachen Beispielen umfangreichere Synthesizer zu bauen; die Möglichkeiten von BEAST haben wir jedenfalls bei Weitem nicht ausgeschöpft.
Beispielsweise macht eine Verbindung des Velocity-Ausgangs von BseSubKeyboard mit einem freien Eingang des Multiplikators das Instrument POrgan anschlagdynamisch, sofern Ihr MIDI-Keyboard das unterstützt. Ein weiterer Oszillator, dessen Audio Out den Modulationseingang Freq Mod In von BseStandardOsc-1 ansteuert, sorgt für Vibrato. Auch die von zwei leicht gegeneinander verstimmten Oszillatoren erzeugten Schwebungen können sehr interessant klingen.
Obwohl man dabei und an anderen Stellen wie bei jedem in Entwicklung befindlichen Projekt durchaus noch an einige raue Ecken und Kanten stößt – BEAST leistet Erstaunliches und ist im Gegensatz zu Programmen mit einem ähnlichen Anwendungsbereich – hier wären Alsa Modular Synth (siehe Seite 40 ff.), PureData, CSound und Common Lisp Music zu nennen – sehr zugänglich. Der Autor jedenfalls harrt gespannt der kommenden Entwicklungen.
Kasten 2: BEAST heiratet MusE
Glücklichen Benutzern der ALSA-Soundtreiber beschert BEAST zusätzliche interessante Möglichkeiten: Wem der eingebaute Sequenzer zu primitiv ist, benutzt mit ein paar Kniffen den ab Seite 26 beschriebenen, deutlich leistungsfähigeren Sequenzer MuSE dazu, den eigenen Software-Synthesizer anzusteuern.
Dazu benötigt man ein virtuelles MIDI-Gerät, das ALSA nach Laden des Kernel-Moduls snd-virmidi bereitstellt. Unter der Voraussetzung, dass man nur eine Soundkarte im System hat, meldet sich der virtuelle MIDI-Anschluss als card1 im System an. Die dazugehörigen MIDI-Devices heißen dann /dev/midiC1D0, /dev/midiC1D1 und so weiter. Ersetzt man /dev/midi mit
ln -sf /dev/midiC1D0 /dev/midi
durch einen symbolischen Link auf /dev/midiC1D0, kann MuSE einen Ausgangsport mit dem Gerätenamen VirMIDI 1-0 nutzen und mit einer Spur verbinden.
Auf diese Weise lässt sich allerdings nur ein einziges Instrument mit BEAST synthetisieren, da das Programm bisher keine Option für das zu verwendende MIDI-Gerät kennt. Außerdem gerät das Timing nach einiger Zeit aus dem Tritt. Mit etwas Glück gibt es einmal eine direkte ALSA-Sequencer-Anbindung, dank der solche Probleme der Vergangenheit angehören sollten.
Kasten 3:
vkeybdfür Leute ohne MIDI-Keyboard
Mit Takashi Iwais Programm vkeybd [7] und ALSA lässt sich die Tastatur des Computers zum Musikmachen verwenden. Auch hier kommt das virtuelle MIDI-Gerät, das Kasten 2 erwähnt, zum Einsatz. Allerdings verbindet man diesmal das vkeybd direkt mit dem virtuellen MIDI-Anschluss, der bei BEAST endet.
Diese Verbindung schafft das Werkzeug aconnect. Mit ihm findet man über aconnect -o -l zunächst heraus, welche Sequenzer-Client-Nummer der erste virtuelle MIDI-Anschluss trägt (in Falle des Autors 72:0). Die Nummer von vkeybd (etwa 128:0) steht im Fenstertitel.
Das Kommando
aconnect 128:0 72:0
(bei dem Sie die Parameter entsprechend anpassen) stellt die Verbindung her. Wenn am virtuellen MIDI-Anschluss ein aktiver BEAST-Synthesizer lauscht, produzieren Klicks auf die Klaviatur oder das Betätigen der unteren Tastenreihe (also die Tasten [y],[x],[c],[v],[b],[n],[m] und [.]) Töne.
Glossar
oberwellenreiches
Nach Fourier kann jedes Signal als Summe von Sinusschwingungen unterschiedlicher Frequenz und Amplitude aufgefasst werden. Dreieck- und Rechtecksignale enthalten viele Komponenten mit Frequenzen oberhalb der Grundfrequenz.
Tiefpassfilter
Ein Filter, der tiefe Frequenzen passieren lässt und hohe Frequenzen stark dämpft.
WaveShaper
Verzerrt ein Signal anhand einer oft polynomiellen Übertragungsfunktion. In unserem Fall spreizt ein höherer Waveshape-Parameter das Frequenzspektrum.
Infos
[1] BEAST-Homepage: http://beast.gtk.org/
[2] Richard Boulanger et al.: "The CSound Book – Perspectives in software synthesis, sound design, signal processing, and programming", MIT Press
[3] Robert A. Moog: "Voltage-Controlled Electronic Music Modules", http://www.moogarchives.com/aes01.htm
[4] http://www.synthmuseum.com/moog/
[5] http://linux.waluga.de/beast/beast-install-howto.htm
[6] http://nxdomain.org/artikel/beast/
[7] http://www.alsa-project.org/~iwai/vkeybd-0.1.14.tar.gz
[8] http://plugin.org.uk/releases/0.4.2/swh-plugins-0.4.2.tar.gz



