Nyquist-Plugins erklärt – Wenn eine Textdatei zum Audioeffekt wird

Nyquist-Plugins erklärt: Audioeffekte für Audacity

Audio-Plugins wirken von außen häufig wie kleine, in sich geschlossene Programme. Sie besitzen Regler, Anzeigen und manchmal Benutzeroberflächen, die eher an ein Raumschiff als an ein Tonstudio erinnern. Hinter den Kulissen stecken jedoch meist umfangreicher Programmcode, spezielle Entwicklungsumgebungen und für das jeweilige Betriebssystem kompilierte Dateien.

Bei Nyquist-Plugins geht es erstaunlich viel bescheidener zu. Hier kann bereits eine einfache Textdatei mit einigen Zeilen Programmcode zu einem funktionsfähigen Audioeffekt werden. Voraussetzung ist allerdings der Audioeditor Audacity, denn dort ist die für die Ausführung benötigte Nyquist-Umgebung bereits eingebaut.

Professor Pegel gefällt die Vorstellung sofort. Er öffnet einen Texteditor, tippt ein paar Klammern und verkündet: „Wenn das funktioniert, besteht mein nächstes Mastering-Plugin aus einem Einkaufszettel.“ Ganz so einfach ist es zwar nicht. Der Einstieg in die Entwicklung eigener Effekte ist mit Nyquist aber tatsächlich ungewöhnlich niedrigschwellig.

Was ist ein Nyquist-Plugin?

Ein Nyquist-Plugin ist eine skriptbasierte Erweiterung, die vor allem im freien Audioeditor Audacity eingesetzt wird. Solche Plugins können Audiomaterial bearbeiten, neue Klänge erzeugen, Aufnahmen analysieren oder bestimmte Abläufe innerhalb des Programms steuern.

Professor Pegel - NyQuist Plugins
Professor Pegel – NyQuist Plugins

Die Grundlage bildet die Programmiersprache Nyquist. Sie wurde von Roger B. Dannenberg an der Carnegie Mellon University entwickelt und ist auf Klangsynthese, Audioverarbeitung und musikalische Anwendungen spezialisiert. Nyquist basiert auf XLISP, einem Dialekt der Programmiersprache Lisp. Neben der klassischen Lisp-Schreibweise unterstützt Nyquist auch SAL, eine alternativ entwickelte Syntax, die stärker an andere verbreitete Programmiersprachen erinnert.

Audacity enthält einen Nyquist-Interpreter. Er liest die Anweisungen eines Plugins und führt sie aus. Deshalb muss ein einfaches Nyquist-Plugin nicht zuerst für Windows, macOS oder Linux kompiliert werden. Sein Quelltext steckt direkt in einer Datei mit der Endung .ny.

Das unterscheidet Nyquist deutlich von verbreiteten Plugin-Systemen wie VST3, CLAP oder LV2. Bei diesen Formaten lädt der Host normalerweise ein kompiliertes Softwaremodul. Bei Nyquist übergibt Audacity den lesbaren Programmtext an den integrierten Interpreter.

Nyquist ist kein universelles DAW-Plugin-Format

Der Begriff „Plugin“ kann an dieser Stelle leicht eine falsche Erwartung erzeugen. Eine Nyquist-Datei ist kein allgemein verwendbares Audio-Plugin, das sich wie eine VST3-Datei in Cubase, Ableton Live, Studio One, LUNA, Mixcraft oder REAPER laden lässt. Nyquist-Plugins sind in der Praxis eng mit Audacity verbunden.

Audacity übernimmt dabei die Rolle des Hosts und stellt dem Skript das ausgewählte Audiomaterial sowie weitere Informationen zur Verfügung. Das Plugin verarbeitet diese Daten und gibt ein Ergebnis an Audacity zurück. Eine andere DAW müsste dieselbe Nyquist-Umgebung und die Audacity-spezifischen Schnittstellen bereitstellen, um ein solches Plugin unverändert ausführen zu können.

Wer Nyquist in Cubase sucht, wird deshalb ebenso wenig fündig wie jemand, der eine reine CLAP-Datei ohne passende Brücke in einen inkompatiblen Host laden möchte. Wie solche Formatgrenzen in der Praxis umgangen werden können, zeigt unser Beitrag über CLAP-Plugins in Cubase. Für Nyquist existiert jedoch keine vergleichbar etablierte Standardbrücke in die großen DAWs.

Was kann ein Nyquist-Plugin erledigen?

Nyquist-Plugins sind nicht auf klassische Audioeffekte beschränkt. Audacity unterscheidet verschiedene Plugin-Typen, die unterschiedliche Aufgaben übernehmen.

Process: Vorhandenes Audiomaterial bearbeiten

Ein Process-Plugin erhält das ausgewählte Audiosignal und verändert es. Damit lassen sich beispielsweise Fades, Filter, Pegeländerungen, Verzerrungen, Dynamikbearbeitungen oder spezielle Restaurationsfunktionen umsetzen.

Generate: Neue Signale erzeugen

Ein Generator benötigt nicht zwingend vorhandenes Audiomaterial. Er kann Sinustöne, Rauschen, Klicksignale, Testsequenzen oder vollständig synthetisierte Klänge erzeugen. Gerade für Messungen, Sounddesign und technische Versuche ist das praktisch.

Analyze: Audiomaterial untersuchen

Analyse-Plugins können Aufnahmen auswerten, Messwerte ermitteln oder Fundstellen in einer Spur markieren. Denkbar sind die Erkennung von Stille, Beats, Spitzenpegeln oder bestimmten Signalereignissen.

Tool: Audacity steuern

Werkzeug-Plugins können Funktionen innerhalb Audacitys ansprechen und Arbeitsabläufe automatisieren. Über die Funktion AUD-DO lassen sich Befehle an Audacity übergeben. Damit nähert sich Nyquist einer eingebauten Skript- und Automationsumgebung.

Professor Pegel sortiert die vier Gruppen fachgerecht: „Bearbeiten, erzeugen, untersuchen und den Rest der Arbeit an den Computer delegieren.“

Wie sieht ein Nyquist-Plugin von innen aus?

Ein minimales Nyquist-Plugin besteht aus einem sogenannten Header und dem eigentlichen Programmcode. Das offizielle Audacity-Handbuch zeigt als einfaches Beispiel einen Fade-in-Effekt:

;nyquist plug-in
;version 4
;type process
;name "Fade In"

(mult (ramp) *track*)

Die mit einem Semikolon beginnenden Zeilen sind nicht bloß gewöhnliche Kommentare. Einige davon enthalten Informationen, die Audacity zum Einordnen und Anzeigen des Plugins benötigt.

  • ;nyquist plug-in• Kennzeichnet die Datei als Nyquist-Plugin.
  • ;version 4• Nennt die verwendete Version der Plugin-Schnittstelle.
  • ;type process• Legt fest, dass vorhandenes Audiomaterial bearbeitet wird.
  • ;name "Fade In"• Bestimmt den Namen, der in Audacity erscheint.

Die letzte Zeile führt die eigentliche Signalverarbeitung aus. *track* steht für das von Audacity bereitgestellte Audiomaterial. Die Funktion ramp erzeugt eine ansteigende Rampe. mult multipliziert beide Signale miteinander. Am Anfang wird das Audiomaterial stark abgesenkt, anschließend steigt seine Lautstärke kontinuierlich an: ein Fade-in.

Ein spektakulärer analoger Röhrenkompressor ist damit noch nicht entstanden. Trotzdem zeigt das Beispiel sehr schön, wie wenig Code für eine hörbare Veränderung erforderlich sein kann.

Professor Pegel baut einen Lautstärkeregler

Ein Effekt ohne einstellbare Parameter wäre auf Dauer etwas unpraktisch. Nyquist-Plugins können deshalb Bedienelemente definieren, die Audacity automatisch in einem Dialogfenster darstellt.

Das folgende Lernbeispiel besitzt einen Regler, mit dem sich die Lautstärke zwischen minus 24 und plus 12 Dezibel verändern lässt:

;nyquist plug-in
;version 4
;type process
;name "Professor Pegels Lautstaerke"
;action "Professor Pegel verschiebt den Pegel..."
;control gain "Verstaerkung" real "dB" 0 -24 12

(mult *track* (db-to-linear gain))

Die Zeile mit ;control beschreibt das Bedienelement. gain ist der interne Name des Parameters. Danach folgen Beschriftung, Datentyp, Einheit, Ausgangswert sowie Minimal- und Maximalwert. Aus diesen Angaben baut Audacity die Bedienung des Plugins.

Der eingestellte Dezibelwert wird anschließend mit db-to-linear in einen linearen Verstärkungsfaktor umgerechnet. Dieser Faktor wird mit dem Audiosignal multipliziert. Bei 0 dB bleibt der Pegel unverändert, negative Werte senken ihn ab und positive Werte verstärken ihn.

Das Beispiel ist bewusst einfach gehalten. Es zeigt jedoch den vollständigen Grundgedanken: Metadaten beschreiben das Plugin und seine Bedienung, während der Nyquist-Code die eigentliche Audioverarbeitung übernimmt.

Vor dem ersten Test sollte nur eine Kopie oder ein kurzer Ausschnitt einer Aufnahme verwendet werden. Eine positive Verstärkung kann Übersteuerungen verursachen. Professor Pegel dreht den Regler selbstverständlich sofort auf plus 12 dB und ergänzt damit unfreiwillig die Lektion über digitales Clipping.

Nyquist Prompt: Das Versuchslabor in Audacity

Zum Experimentieren muss nicht nach jeder Änderung sofort ein vollständiges Plugin installiert werden. Audacity stellt mit dem Nyquist Prompt eine Eingabemöglichkeit für einzelne Nyquist-Befehle und kleine Skripte bereit. Ausgewähltes Audiomaterial kann dort direkt verarbeitet werden.

Das macht den Nyquist Prompt zu einer Art Versuchslabor. Ein Befehl wird eingegeben, auf eine Auswahl angewendet und das Ergebnis anschließend angehört. Auch vollständige Plugin-Header können dort getestet werden. Fehler- und Debug-Ausgaben helfen bei der Suche nach falschen Funktionsnamen, fehlenden Klammern oder ungeeigneten Parameterwerten.

Gerade die Klammern verdienen Aufmerksamkeit. Lisp verwendet sie ausgiebig, weil Funktionsaufrufe in Listenform geschrieben werden. Wer eine schließende Klammer vergisst, lernt schnell, dass selbst ein sehr kleines Plugin genügend Raum für sehr große Fehlermeldungen bietet.

Installation eines Nyquist-Plugins

Nyquist-Plugins können in Audacity über den dafür vorgesehenen Installer eingerichtet werden. Die heruntergeladene oder selbst erstellte .ny-Datei wird ausgewählt und in den Plugin-Ordner des aktuellen Benutzers kopiert. Anschließend muss das Plugin, abhängig von der verwendeten Audacity-Version im Plugin-Manager aktiviert oder Audacity neu gestartet werden.

Die Dateiendung ist wichtig: Ein Nyquist-Plugin verwendet .ny. Manche Browser hängen beim Herunterladen versehentlich zusätzlich .txt an den Dateinamen. Der Audacity-Installer kann bestimmte Fälle erkennen und korrigieren. Ein ZIP-Archiv muss dagegen zunächst entpackt werden.

Zusätzliche Dateien sind möglich. Ein aufwendigeres Plugin kann Dokumentation, gemeinsam verwendeten Programmcode oder weitere Ressourcen mitbringen. Das eigentliche Plugin bleibt jedoch die .ny-Datei.

Braucht ein Nyquist-Plugin eine eigene Benutzeroberfläche?

Nyquist-Plugins können Parameterfelder, Regler und Auswahlmenüs besitzen. Diese Bedienelemente werden aus den Angaben im Header erzeugt. Entwickler müssen für einfache Werkzeuge daher keine komplette grafische Oberfläche programmieren.

Das ist zugleich Stärke und Einschränkung. Ein funktionaler Dialog mit sauber beschrifteten Parametern lässt sich schnell erstellen. Frei gestaltete Oberflächen mit animierten Messinstrumenten, skalierbaren Vektorgrafiken oder ausgefallenen Bedienkonzepten gehören jedoch nicht zu den typischen Stärken des Formats.

Für einen Analysehelfer, einen Spezialfilter oder eine automatisierte Bearbeitungsfunktion ist das oft völlig ausreichend. Wer dagegen den nächsten fotorealistischen Vintage-Kompressor mit glimmenden Röhren bauen möchte, wird mit einem klassischen Plugin-Framework wahrscheinlich glücklicher. Professor Pegel weist darauf hin, dass gemalte Röhren ohnehin weniger Wärme erzeugen als behauptet.

Vorteile von Nyquist-Plugins

Der größte Vorteil liegt in ihrer Zugänglichkeit. Der Quelltext kann mit einem gewöhnlichen Texteditor geöffnet, gelesen und verändert werden. Eine komplizierte Build-Umgebung ist für erste Versuche nicht erforderlich. Änderungen lassen sich schnell ausprobieren, und Audacity bringt die notwendige Laufzeitumgebung bereits mit.

Hinzu kommen mehrere praktische Eigenschaften:

  • Nyquist ist auf Audio, Klangsynthese und Analyse spezialisiert.
  • Einfache Plugins benötigen nur wenige Zeilen Code.
  • Die Dateien sind klein und grundsätzlich leicht zu untersuchen.
  • Ein Plugin kann unter Windows, macOS und Linux funktionieren, sofern es keine plattformspezifischen Abhängigkeiten verwendet.
  • Audacity kann aus Header-Angaben automatisch Bedienelemente erzeugen.
  • Der Nyquist Prompt erleichtert schnelle Experimente.
  • Auch Analysewerkzeuge, Generatoren und Automationen sind möglich.

Für den Einstieg in Audio-DSP ist Nyquist deshalb durchaus reizvoll. Viele Zusammenhänge werden direkt sichtbar: Ein Signal wird erzeugt, multipliziert, gefiltert oder mit einer Hüllkurve kombiniert. Das Ergebnis lässt sich unmittelbar anhören.

Nyquist Plugins verstehen
Nyquist Plugins verstehen

Grenzen und Nachteile

Nyquist ersetzt kein universelles Plugin-Format. Die enge Bindung an Audacity begrenzt die Verbreitung erheblich. Ein entwickelter Effekt steht nicht automatisch in anderen DAWs zur Verfügung, und die Präsentationsmöglichkeiten bleiben gegenüber modernen VST3-, AU- oder CLAP-Plugins überschaubar.

Auch die Lisp-Syntax ist gewöhnungsbedürftig. Verschachtelte Funktionsaufrufe und zahlreiche Klammern wirken auf Einsteiger zunächst weniger vertraut als ein klassischer, von oben nach unten gelesener Programmablauf. Komplexe Signalverarbeitung verlangt zudem unabhängig von der Sprache Kenntnisse über digitale Audiotechnik, Filter, Dynamik und Pegel.

Bei sehr langen Audioauswahlen können bestimmte Nyquist-Effekte viel Arbeitsspeicher benötigen. Das Audacity-Handbuch weist darauf hin, dass einzelne Plugins bei sehr langen Selektionen Probleme verursachen können. Ein kürzerer Abschnitt ist in solchen Fällen die sicherere Wahl.

Und obwohl der Quelltext eines Nyquist-Plugins lesbar ist, folgt daraus nicht automatisch, dass er frei verändert oder weiterverbreitet werden darf. Dafür ist die jeweilige Lizenz maßgeblich.

Hat das etwas mit der Nyquist-Frequenz zu tun?

Hier lauert die größte begriffliche Falle. Sowohl die Programmiersprache als auch die Nyquist-Frequenz tragen den Namen des Physikers Harry Nyquist. Ein Nyquist-Plugin ist aber nicht etwa ein Spezialeffekt, der grundsätzlich nur Frequenzen oberhalb oder unterhalb einer bestimmten Grenze bearbeitet.

Die Nyquist-Frequenz bezeichnet die halbe Abtastrate. Bei einer Abtastrate von 44,1 kHz liegt sie bei 22,05 kHz, bei 48 kHz entsprechend bei 24 kHz. Das Abtasttheorem beschreibt vereinfacht, unter welchen Bedingungen ein bandbegrenztes analoges Signal aus seinen Abtastwerten rekonstruiert werden kann. Frequenzanteile oberhalb der zulässigen Grenze müssen vor der Abtastung ausreichend unterdrückt werden, da sie andernfalls als falsche tiefere Frequenzen erscheinen können. Dieser Effekt wird Aliasing genannt.

Die Programmiersprache Nyquist wurde ebenfalls nach Harry Nyquist benannt, weil sie für digitale Klangverarbeitung geschaffen wurde. Inhaltlich sind „Nyquist-Plugin“ und „Nyquist-Frequenz“ dennoch zwei verschiedene Begriffe.

BegriffBedeutung
NyquistProgrammiersprache für Synthese und Audioverarbeitung
Nyquist-PluginIn der Regel eine .ny-Erweiterung für Audacity
Nyquist-FrequenzHälfte der verwendeten Abtastrate
Nyquist-Shannon-AbtasttheoremTheoretische Grundlage der digitalen Abtastung bandbegrenzter Signale

Nyquist, VST3, CLAP und LV2 im Vergleich

EigenschaftNyquistVST3CLAPLV2
Typischer EinsatzAudacity-Effekte und WerkzeugeDAWs und AudioeditorenModerne DAWs und PluginsVor allem Linux und offene Audiosysteme
AuslieferungLesbare .ny-TextdateiKompiliertes PluginKompiliertes PluginMeist Code plus Metadaten und Ressourcen
AusführungNyquist-InterpreterNativer ProgrammcodeNativer ProgrammcodeHost lädt Implementierung und Erweiterungen
Eigene OberflächeEinfache, automatisch erzeugte BedienelementeFrei gestaltbarFrei gestaltbarJe nach Plugin frei gestaltbar
PlattformübergreifendInnerhalb Audacity grundsätzlich gutSeparate Builds üblichSeparate Builds üblichSeparate Builds üblich
In Cubase direkt nutzbarNeinJaDerzeit nicht direktNein
Einstieg für kleine EigenentwicklungenVergleichsweise niedrigDeutlich aufwendigerDeutlich aufwendigerDeutlich aufwendiger

Der Vergleich macht deutlich, dass Nyquist nicht als unmittelbarer Konkurrent zu den großen Plugin-Standards gedacht ist. Es handelt sich vielmehr um eine integrierte Audio- und Skriptumgebung, mit der Audacity erweitert werden kann.

Für wen lohnt sich Nyquist?

Nyquist ist besonders für Audacity-Anwender interessant, die einen speziellen Bearbeitungsschritt vermissen oder wiederkehrende Aufgaben vereinfachen möchten. Auch Lehrende, technisch interessierte Musiker und angehende Plugin-Entwickler finden hier einen überschaubaren Einstieg in programmierbare Audiobearbeitung.

Dabei muss nicht sofort ein vollständiger Equalizer oder Kompressor entstehen. Ein Plugin kann zunächst nur eine Lautstärke verändern, einen Testton erzeugen, Pausen markieren oder einen genau definierten Fade anwenden. Aus solchen kleinen Werkzeugen lassen sich mit zunehmender Erfahrung komplexere Lösungen entwickeln.

Wer dagegen ein kommerzielles Plugin für möglichst viele DAWs veröffentlichen möchte, wird eher auf Frameworks und Formate wie VST3, AU, AAX oder CLAP setzen. Nyquist punktet nicht mit maximaler Marktreichweite, sondern mit kurzen Wegen zwischen Idee, Programmtext und hörbarem Ergebnis.

Fazit: Das Audio-Plugin aus dem Texteditor

Nyquist-Plugins nehmen innerhalb der Welt der Audio-Plugins eine ungewöhnliche Sonderstellung ein. Sie sind keine universellen DAW-Erweiterungen, sondern überwiegend für Audacity bestimmte Skripte. Ihr Quelltext bleibt lesbar, einfache Effekte benötigen keine Kompilierung und Audacity erzeugt aus wenigen Header-Angaben sogar die passenden Bedienelemente.

Gerade diese Beschränkung macht das Konzept lehrreich. Bei einem Nyquist-Plugin lässt sich unmittelbar nachvollziehen, welche Angaben den Namen und die Regler bestimmen und welche Codezeile tatsächlich das Audiosignal verändert. Damit wird aus dem häufig abstrakten Begriff „Plugin“ ein durchschaubarer Signalprozess.

Professor Pegel speichert sein erstes Werk als .ny-Datei und zieht Bilanz: „Noch keine künstliche Intelligenz, kein Abo und nicht einmal ein Installationsmanager – nur Klammern. Sehr viele Klammern.“

Weitere Grundlagen zu Plugin-Formaten, digitaler Audiotechnik, Mixing und Musikproduktion sind in der Professor-Pegel-Wissenslandkarte zusammengefasst.

Quellen und weitere Informationen

Schreibe einen Kommentar