Text: benjamin weiss aus De:Bug 05

Benjamin Weiss nerk@buzz.de

GrainWave 1.2.1
Nach SuperCollider ist GrainWave ein weiteres Highlight an Software, die als Stand-Alone funktioniert, granulare Synthese verwendet, über Midi steuerbar ist und gleichzeitig nicht (allzu) umständlich zu bedienen ist. Wie SuperCollider ist GrainWave Shareware, für 30 Dollar kann man sich registrieren lassen, bekommt zukünftige Updates und kann Aiffs abspeichern, was sonst nicht geht. Der Autor Michael Berry ist Student am Mills College in Oakland und hat die Software geschreiben, um eine Alternative zu Soundsynthese Sprachen wie CSound und großen teuren Hardware Synthesizern bereitzustellen. Eigenartigerweise ist die Art, wie verschiedene User mit dem Programm umgehen, das Thema seiner Abschlußarbeit, deswegen gibts für User von GrainWave eine eigene Mailing List (siehe unten), außerdem kann man gegen Einsendung eigener Arbeiten mit GrainWave die Registrierungsgebühr sparen, denn dann gibts GrainWave für lau. Wer nicht so auf das Lesen von trockenen Texten steht, die einfach nur die Funktionsweise eines Programms beschreiben, sollte sich jetzt ausklinken, denn hier kommt so ein Text.

Übersicht
Grain Wave ist ein Realtime Softwaresynthesizer, der auf dem Power PC läuft und ohne zusätzliche Hardware funktioniert, die Polyphonie ist nur durch die Prozessorleistung und die RAM-Größe limitiert. Das hört sich für manche, die einen kleineren PowerPC haben, dann doch erschreckend an, hier kommt man aber auch mit einer kleinen Schrammelkiste, wenn sie ein bißchen mehr als 16 MB hat (Minimalanforderung sind 3 MB freier RAM), zu guten Ergebnissen. GrainWave unterstützt alle AudioMedia- und ProTools Karten und benutzt OMS für die Midi Kommunikation, ohne OMS ist es nur über die Maus steuerbar. Um auf jeden Fall genug Prozessorleistung für die aufwendige Synthese zugeteilt zu bekommen, beansprucht es die gesamte Prozessorleistung, so daß es leider unmöglich ist, im Hintergrund einen Sequenzer oder irgend etwas anderes laufen zu lassen.
GrainWave funktioniert über sogenannte Regions, die als farbige Rechtecke im Screen View Dialog dargestellt werden. In diesen Rechtecken kann man dann im Play Mode per Mausbewegung oder Midi die Modulation der Region steuern. Die Syntheseparameter aus denen sich eine Region zusammensetzt, werden im Edit Mode im Region Setup Dialog definiert.

Region Setup Dialog
In diesem Dialog wählt man zuerst die Syntheseart der Region: Wave Mode, Loop Mode, Grain Mode und Sampler Mode. Wave Mode benutzt ein Wavetable als Synthesequelle, das entweder eine im Function Table Editor (siehe unten) gezeichnete Funktion, ein AIFF File oder der Audioinput des PowerPCs sein kann. Der Loop Mode behandelt Wavetables als Samples, die geloopt werden. Im Grain Mode werden die Wavetables auf der Basis von granularer Synthese erzeugt. Der Sampler Mode ist für Soundfiles gedacht, hier lassen sich die Samplefrequenz und der Startpunkt einstellen, außerdem kann man das Sample in seiner ganzen Länge oder einer bestimmten Frequenz loopen.
Über Input Source läßt sich dann ein Mono Aiff File oder eine Wellenform auswählen, mit Realtime Input kann aber auch der Audioeingang als Soundquelle benutzt werden. Per Base Frequency läßt sich die Grundfrequenz der Oszillation der verschiedenen Generation Modes (ausgenommen ist der Loop Mode, da hier die Oszillationsfrequenz durch die Table Size definiert wird) einstellen, in einem kleinen Pop-Up daneben kann man dann zwischen Fixed (konstanter Wert) oder den Wert der X- oder Y-Achse zuordnen. Das nächste Pop-Up ist für Left Volume und Right Volume vorgesehen, auch hier kann ein fixer Wert eingestellt, oder die Lautstärke den beiden Achsen zugeodnet werden, allerdings muß man aufpassen, daß die Werte nicht zu hoch sind, da GrainWave keinen Clipping-Schutz hat.
Über die beiden Menüs Read Position und Table Size läßt sich einstellen wie die Wave Tables gelesen werden, das heißt, an welcher Stelle des Wavetables eingesetzt wird, und wie lange es gespielt wird. Hier gibt es noch die Option Tie To Frequency, die, wenn sie ausgewählt ist, aus der Base Frequency die Table Size generiert.

Function Table Generator
Im Function Table Generator, werden über einen X/Y-Graphen alle Wave Table- und Kontrollfunktionen für GrainWave editiert und erzeugt. Hierzu stehen verschiedene Tools zur Verfügung: mit dem Drawing Tool lassen sich die Funktionen frei Hand zeichnen, mit dem Line Tool lassen sich, wer hätte das gedacht, Linien zeichnen, durch das Puller Tool kann man die Funktion an eine Parabel annähern, per Select Tool lassen sich bestimmte Bereiche auswählen, die mit dem Puller Tool, dem X-Invert oder dem Y-Invert Tool bearbeitet werden sollen. Die beiden letztgenannten Tools legen den ausgewählten Bereich der Funktion um den Mittelpunkt der jeweiligen Achse. Mit dem Log Tool kann man zwischen zwei Punkten eine logarithmische Funktion einsetzen. Das X-Squared Tool füllt den Zwischenraum zweier Punkte mit einer Parabelfunktion, mit dem Sine Tool wird eine Sinuskurve erstellt. Einen extra Dialog für die Zusammenstellung einer Funktion aus unterschiedlichen Sinuskurven gibt es auch noch: den Sine Partials Dialog. Die mit den Tools erzeugten Funktionen kann man nun, auch unabhängig von einem Patch oder Instrument, separat abspeichern, um sie in anderen Wavetables oder Patches benutzen zu können.Das letzte Tool ist das Scale Tool, wenn man es anklickt öffnet sich der Scale Dialog, in dem sich die Skalierung der Funktion programmieren läßt. In einer Steplist gibt man hier die jeweilige Frequenz der einzelnen Steps ein, nachdem man die Startfrequenz definiert hat. Hierfür gibt es zwei Möglichkeiten: entweder man wählt einen der fünf Preset Ratios aus, oder gibt selbst die Steps ein.
Da der Autor Michael Berry wirklich ein Perfektionist sein muß, gibt es für die im Function Table Generator erstellten Funktionen noch den Data View Dialog. Hier kann man jeden einzelnen Punkt (!!!) der Funktion separat per Direkteingabe des Wertes editieren.

Midi
GrainWave ist entweder über Mausbewegungen auf den Regions oder aber auch via OMS über Midi steuerbar. Im Midi Control Dialog werden in einer Liste alle Midi Controller dargestellt, die einen Einfluß auf die entsprechende Region haben. Neben dem Midikanal, der Controllerart, der Auswahl des Midieingangs kann man hier auch den Wertebereich eingeben.

Effekte
Der letzte Dialog ist der Effects Dialog der ein Multi Tap Delay für die Region bereitstellt, dessen maximale Länge nur durch die GrainWave zugeteilte Menge an RAM begrenzt wird. Diese Tap-Länge ist entweder durch einen festen Wert in Millisekunden oder eine Funktion, also ein Function Table definiert. Weiterhin kann man das Feedback, Left Volume und Right Volume in Prozent angeben oder auch hier ein Function Table als Quelle auswählen. Auch das Delay läßt sich über Midi steuern.

Abspeichern
Fürs Abspeichern gibts in GrainWave verschiedene Möglichkeiten: durch Patch Save File sichert man sämtliche Daten (bis auf Scale, das gesondert gesichert werden muß), die für ein Patch benötigt werden.Davon abgesehen kann man aber auch eine Region mit allen enthaltenen Function Tables, Function Tables separat und ganze Patches als Stereo-Aiff (nur wenn registriert) abspeichern. Ein bißchen tricky wird es, wenn man auch leere Stellen in einem Aiff File haben will, die nimmt GrainWave nämlich nicht auf, weswegen man sie nachträglich mit einem Harddiskrecording Programm einfügen muß.

Fazit??
GrainWave ist durchaus eine Konkurrenz zu SuperCollider, gut und übersichtlich programmiert, mit einer allen Wissensdurst erschöpfenden Anleitung und einem nützlichen Tutorial. Welchem von beiden man den Vorzug geben will, bleibt jedem selbst überlassen, GrainWave ist ein bißchen farbenfroher und weniger trocken im Interface, ansonsten sind sich die beiden Apps allerdings ebenbürtig. Am besten beide ausprobieren!

Download: http://www.mills.edu/PEOPLE/gr.pages/mikeb.public.html/grainwave.html
Mailing List: listproc@eartha.mills.edu, Body message: SUBSCRIBE grainwave “your name”

About The Author

Elektronische Lebensaspekte.