Dieses Repository ist eine Sammlung von Audioeffekt-Plugins, die anhand der Erläuterungen im Buch „Audio Effects: Theory, Implementation and Application“ von Joshua D. Reiss und Andrew P. McPherson implementiert wurden. Als Beispiel dient der mit dem Buch bereitgestellte Code, der Beiträge enthält und Implementierungen von Brecht De Man und anderen.
Die implementierten Audioeffekte sind:
Template Time Domain implementiert eine generische grafische Benutzeroberfläche mit linearen und logarithmischen Schiebereglern, Umschaltern und Kombinationsfeldern. Dieses Projekt stellt eine benutzerdefinierte Klasse von Audioparametern vor, die einen Großteil der Komplexität des Hinzufügens, Einrichtens und Verwendens automatisierbarer Plugin-Parameter sowohl im Audioprozessor als auch im generischen Editor (GUI) abdeckt. Dieses Plugin wendet keine besonders interessante Verarbeitung auf die Eingabe an, sondern ist lediglich ein Vorlagenprojekt für Zeitbereichs-Audioverarbeitungseffekte.
Template Frequency Domain implementiert eine Kurzzeit-Fourier-Transformationsklasse. Dieses Plugin wendet keine Verarbeitung auf die Eingabe an, sondern konvertiert lediglich den Eingabeblock mithilfe der Overlap-Add-Methode in den Frequenzbereich und zurück in den Zeitbereich. Dieses Plugin wird als Vorlagenprojekt für Frequenzbereichs-Audioverarbeitungseffekte verwendet.
Delay implementiert eine einfache Verzögerung mit Feedback und Mix-Reglern mithilfe einer kreisförmigen Verzögerungsleitung. Es verwendet eine einfache lineare Interpolation, um gebrochene Verzögerungszeiten zu erreichen.
Vibrato verwendet einen Niederfrequenzoszillator (LFO), um die Verzögerung des Eingangssignals zu modulieren und periodische Tonhöhenschwankungen zu simulieren. In diesem Plugin werden verschiedene Arten der Sample-Interpolation eingeführt.
Flanger simuliert einen verzögerungsbasierten Audioeffekt, bei dem eine Kopie des Eingangssignals mit einer variablen Verzögerungszeit verzögert und mit dem Originalton gemischt wird, wodurch der charakteristische „rauschende“ Klang dieses klassischen Audioeffekts entsteht.
Chorus simuliert das Phänomen, das auftritt, wenn verschiedene Musiker gleichzeitig dasselbe Stück spielen, dh es erstellt Kopien des Eingangssignals mit kleinen Variationen in Tonhöhe und Zeit, sodass eine einzelne Quelle so klingt, als ob es sich um viele einzelne Aufnahmen handelte.
Ping-Pong Delay ist eine Stereoversion des Basis-Delays. Beim Ping-Pong-Delay springt das verzögerte Signal zwischen dem linken und dem rechten Kanal hin und her.
Parametric EQ implementiert verschiedene Arten parametrischer Filter (Tiefpass, Hochpass, Low-Shelf, High-Shelf, Bandpass, Band-Stop und Peaking/Notch). Filter erster und zweiter Ordnung können je nach Grenzfrequenz, Qualitätsfaktor (Bandbreite) und Verstärkung ausgewählt und angepasst werden.
Wah-Wah ist ein Audioeffekt, der dem Eingangston einen sprachähnlichen Charakter verleiht. Es kann im manuellen Modus verwendet werden, bei dem die Grenzfrequenz eines resonanten Tiefpasses, eines Bandpasses oder eines Peaking-/Notch-Filters mit einem Schieberegler geändert wird, oder im automatischen Modus, bei dem die Grenzfrequenz des Der Filter wird mit einem LFO, mit der Hüllkurve des Eingangssignals oder mit einer Kombination aus beidem gesteuert.
Phaser verwendet Allpassfilter in Kaskadenkonfiguration, um Phasenverschiebungen in das Eingangssignal einzuführen. Diese Verschiebungen erzeugen Kerben im Frequenzspektrum, wenn das gefilterte Signal mit dem Originalsignal gemischt wird. Der Phaser erzeugt einen ähnlichen Effekt wie der Flanger, es besteht jedoch möglicherweise eine bessere Kontrolle über die Position der Kerben.
Tremolo verwendet einen LFO, um die Amplitude des Eingangssignals zu modulieren. Dies simuliert kleine Schwankungen im Signalpegel oder verwandelt eine einzelne gehaltene Note in eine Reihe schneller Wiederholungen.
Ringmodulation ist das Ergebnis der Multiplikation des Eingangssignals mit einem periodischen Träger (ähnlich dem Tremolo, aber mit höheren Frequenzen). Es handelt sich um einen nichtlinearen Audioeffekt, der einen sehr unharmonischen Klang erzeugt.
Compressor/Expander implementiert vier Audioprozessoren in einem (Kompressor, Limiter, Expander und Noise Gate). Die Kompressor/Limiter-Konfiguration reduziert den Dynamikbereich des Signals, indem Abschnitte des Eingangsklangs mit einer höheren Verstärkung als dem Schwellenwert gedämpft werden. Die Expander/Noise-Gate-Konfiguration erhöht den Dynamikbereich, indem Abschnitte des Eingangsklangs mit einer geringeren Verstärkung als dem Schwellenwert gedämpft werden.
Verzerrung wendet eine nichtlineare Transformation auf den Eingangsklang an, die dessen Verstärkung auf Grenzen erhöht, die einen harten, unscharfen oder grobkörnigen Klang erzeugen. Es können verschiedene nichtlineare Funktionen ausgewählt und die Ausgangsverstärkung individuell gesteuert werden, um den ursprünglichen Lautstärkepegel wiederherzustellen. Ein High-Shelf-Filter kann auch verwendet werden, um den Klang des Ausgangstons zu steuern.
Robotisierung/Whisperisierung implementiert zwei Audioeffekte basierend auf dem Phasen-Vocoder-Algorithmus. Dieses Plugin ist für die Verwendung mit Sprachlauten gedacht. Durch die Robotisierung erhält das Signal eine konstante Tonhöhe, während die Formanten erhalten bleiben. Das Ergebnis klingt wie eine Roboterstimme. Durch das Flüstern wird jegliches Gefühl für die Tonhöhe eliminiert, während die Formanten erhalten bleiben. Das Ergebnis sollte wie jemand flüstern klingen.
Pitch Shift ändert mithilfe des Phasen-Vocoder-Algorithmus die Tonhöhe des Eingangssignals, ohne die Dauer zu ändern. Es handelt sich um eine Echtzeitimplementierung, die kontinuierliche und sanfte Änderungen des Pitch-Shift-Parameters ermöglicht.
Durch das Schwenken ändert sich die scheinbare Position einer Schallquelle zwischen zwei Kanälen, links und rechts. Es kann in zwei Modi verwendet werden: Der erste Modus nutzt den Vorrangeffekt und das Tangentengesetz, um die Zeitverzögerungen und Verstärkungen der linken und rechten Signale anzupassen. Er eignet sich gut für die Wiedergabe über Lautsprecher, vorausgesetzt, es handelt sich um ein Standard-Stereo-Layout. Der zweite Modus verwendet ein sphärisches Modell des Kopfes, um den interauralen Zeitunterschied (ITD) und den interauralen Pegelunterschied (ILD) zu schätzen. Er eignet sich gut für die Wiedergabe über Kopfhörer.
Diese Plugins werden mit JUCE implementiert, das ein Framework zum Erstellen von Audio-Plugins für verschiedene Plattformen (Windows und macOS) und in mehreren Formaten (VST, AU, RTAS, AAX usw.) sowie eigenständige Anwendungen bietet. Sie können die folgenden Befehle im Terminal ausführen, um dieses Repository zu klonen und die neueste Version von JUCE auszuchecken, die zum Erstellen aller Projekte verwendet wurde:
git clone https://github.com/juandagilc/Audio-Effects.git
cd Audio-Effects/
git submodule update --init
Code von Juan Gil https://juangil.com/. Copyright © 2017-2020 Juan Gil.
Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) einer späteren Version weiterverbreiten und/oder ändern.
Dieses Programm wird in der Hoffnung verbreitet, dass es nützlich ist, jedoch OHNE JEGLICHE GARANTIE; ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.
Sie sollten zusammen mit diesem Programm eine Kopie der GNU General Public License erhalten haben. Wenn nicht, siehe https://www.gnu.org/licenses/.