Audacity: Freier und kostenloser Audioeditor und Aufnahmesoftware

Werbepolitik

Programmierung in Nyquist

  1. Einführung in die Nyquist und Lisp Programmierung
  2. Programmierung in Nyquist
  3. Erstellung von Nyquist Plugins

Was Nyquist von Lisp unterscheidet ist, dass es dazu entworfen wurde, mit Klängen (Sounds) zu arbeiten, und dass es eine Menge von eingebauten Stammfunktionen und Funktionen hat, die Klänge synthetisieren, analysieren und manipulieren. Dies macht es relativ einfach, in Audacity komplizierte Effekte aus der Nyquist-Palette zu erzeugen.

In Nyquist kann eine Variable schlicht Klänge enthalten, genauso wie Zahlen oder Zeichenketten. Es gibt viele Funktionen, mit denen Sie Klänge sehr effizient strecken, verzerren oder kombinieren können. Sie können sogar einen Klang "auseinanderreissen" und auf seine einzelnen Samples zugreifen, aber das geht über diese Anleitung hinaus.

Um einen Nyquist-Ausdruck in Audacity auszuprobieren, können Sie den "Nyquist Prompt" aus dem Effekte-Menü verwenden. Egal welche Audiodaten Sie selektiert haben, ist in der Variable s gespeichert, und die Selektion wird durch das Ergebnis des von Ihnen eingegebenen Nyquist-Ausdrucks ersetzt. In Teil 3 lernen Sie, wie man mit Nyquist ein Effekte-Plug-In erstellt.

Synthetisierung

Alle folgenden Funktionen erzeugen neue Klänge. Sie können Sie verwenden, um Effekte-Plug-Ins zu "generieren", oder Sie können diese synthetisierten Klänge mit selektierten Audiodaten verknüpfen und interessante Effekte erzeugen.

(noise)Erzeugt weißes Rauschen
(const value [duration])Erzeugt ein konstantes (stilles) Signal
(sine pitch [duration])Erzeugt eine Sinuskurve mit einer angegebenen Tonhöhe und Dauer.
Die Tonhöhe ist eine MIDI-Notennummer, wobei 60 für das mittlere C steht.
(hzosc hz)Erzeugt eine Sinuskurve mit der angegebenen Frequenz in Hz.
(osc-saw hz)Erzeugt eine Sägezahnschwingung mit der angegebenen Frequenz in Hz.
(osc-tri hz)Erzeugt eine Dreiecksschwingung mit der angegebenen Frequenz in Hz.
(osc-pulse hz bias)
(pluck pitch)

Hüllkurven

Nyquist unterstützt Hüllkurven. Wenn Sie eine Hüllkurveauf einen Klang anwenden, können Sie die allgemeine Form dessen Amplitude steuern. Die einfachste Art, eine Hüllkurve zu konstruieren, ist mit der env Funktion. Sie nimmt 7 Parameter, die es allgemein für das Formen von synthetisierten Musiknoten gibt: Anschlagszeit, Abklingzeit, Loslösezeit, Anschlagsstärke, Abklingstärke, Sustainhöhe und Gesamtdauer.Sehen Sie die Grafik unten:

Nyquist Hüllkurvendiagramm.

Um eine Hüllkurve auf einen Klang anzuwenden, verwenden Sie einfach die mult-Funktion. Wenn also s ein Klang ist, dann ist dies der Klang mit einem einfachen angewendeten Hüllkurve:

  (mult s (env 0.1 0.1 0.2 1.0 0.5 0.3 1.0))

Einer der allgemeinsten Arten einer Hüllkurve ist eine stückweise lineare Funktion, die mit der pwl-Funktion erzeugt werden kann. Die pwl-Funktion akzeptiert eine Liste von Parametern, die Paare aus (Zeit, Wert) darstellen. Es gibt ein implizites Start-(Zeit, Wert)-Paar mit den Werten (0, 0) sowie einen impliziten Schlusswert von 0. Die Anzahl der Parameter sollte immer ungerade sein, da die Schlusszeit nicht implizit ist. Zum Beispiel:

  ; symmetric rise to 0.7 (at time 1) and fall back to 0 (at time 2):
  (pwl 1.0 0.7 2.0)

Klänge kombinieren

Neben der Möglichkeit, zwei Klänge mit der mult-Funktion zu multiplizieren, können Sie zwei Klänge (oder Hüllkurven) mit der add-Funktion addieren.

Filter

Nyquist kommt integriert mit einer Anzahl von bekannten Filtern. Hier sind einige der bekanntesten:

(lp sound cutoff)
(hp sound cutoff)Hochpassfilter (Butterworth 1. Ordnung). Cutoff kann eine Fliesskommazahl oder (für zeitvariables Filtern) ein Signal sein und wird in Hertz angegeben.
(comb sound hz decay)Wendet auf einen Klang einen Kammfilter an, welcher diejenigen Frequenzen betont (nachhallt), die ein Vielfaches einer angegebenen Hz ist.
(alpass sound decay hz)Allpassfilter, der einen Verzögerungsefekt erzeugt, jedoch ohne die Resonanzen eines Kammfilters.
(notch2 sound hz)

Klänge umwandeln und kombinieren

Es sprengt den Rahmen dieser Einführungsanleitung, alle Arten und Wege zu erklären, wie Klänge mit Nyquist gewandelt werden können. Diese Funktionen verändern die Klänge nicht direkt, sie veärndern stattdessen die Nyquist-Umgebung. Damit diese Änderungen Wirkung auf die Klänge haben, müssen sie die cue-Funktion verwenden.

(stretch factor (cue sound))Verändert die Länge eines Klanges, die durch den angegebenen Faktor gesteuert wird.
(scale factor (cue sound))Skaliert die Amplitude eines Klanges, der durch den angegebenen Faktor gesteuert wird.
(loud dB (cue sound))Erhöht oder verringert die Lautstärke eines Klanges, der durch eine angegebene Dezibel-Zahl gesteuert wurde.
(at t (cue sound))Startet den angegebenen Klang ab einer bestimmten Zeit, angegeben in Sekunden. Das kann dazu verwendet werden, wenn zwei Klänge kombiniert werden, aber nicht, um Stille am Anfang oder am Ende anzufügen.
(seq (cue s1) (cue s2))Erzeugt eine Sequenz von Klang s1, gefolgt von Klang 2.
(sim (cue s1) (cue s2))Kombiniert zwei Klänge, sodass Sie simultan (zeitgleich) gespielt werden.

Weiter: Erstellung von Nyquist Plugins