Funktionsweise von Software Plugins

LosDosos

LosDosos

Aktives Mitglied
Thread Starter
Dabei seit
09.03.2008
Beiträge
15.873
Reaktionspunkte
4.117
Hi zusammen,

ich beschäftige mich zur Zeit in einer Uni-Arbeit ua mit Software Plugins im Audio Bereich. (der unangenehme Teil)

Meine Kenntnisse bzgl Signalverarbeitung etc liegen aber bei 0, ich kann (und will) auch nicht programmieren;
es geht mir eher darum, grundlegende Verständnisschwierigkeiten zu beseitigen, also was im Prinzip passiert, wenn ich einen Sound durch ein Audio Plugin schicke.
(das würde schon reichen)

Folgendes Buch habe ich vorliegen
[ISBN]978-1563962837[/ISBN]
wobei mir dabei als Einstieg der Kopf dröhnt.
(keine großen mathematischen Verständnisfähigkeiten)

Habt Ihr noch ein paar verständlichere Tipps, Quellen oder Bücher, um die grundlegenden Funktionsweisen eines solchen PlugIns zumindest ansatzweise verstehen?
 
"Ansatzweise" macht ein Audio-Plugin nichts anderes als ein Verändern des Signals.
Plugins, egal für welchen Zweck und welchen Bereich, machen generell nichts anderes als dass sie Funktionen liefern, die die "Original"-Software nicht hat.
Die Original-Software muss dafür aber entsprechende "Andock-Stellen" haben mit definierten Schnittstellen an welchen Stellen sich ein Plugin andocken kann, welche Daten oder Ereignisse es bekommen kann und welche Daten oder Ergebnisse es zurückliefen kann. Dabei spielt es keine Rolle ob es ein Browser-Plugin ist oder ein Audio-Plugin.


Doofe Frage: warum hast Du ein Thema für die Arbeit, von dem Du offenbar nichts verstehst?? :confused:
 
Das weiss ich nach mehreren Jahren im Studiobereich und Arbeit mit PlugIns schon; es geht vielmehr um die internen Vorgänge, was wie genau passiert (also Signalfluss etc, Filter/Delay-Line).
Das ist nicht Hauptthema der Arbeit, sondern lediglich ein -wichtiger- Exkurs, daher reicht auch das Grundlagenverständnis und keine tiefer gehende Forschung.
 
also das kann man so generalisierend auch gar nicht beantworten, weil jedes plugin quasi seine eigenen hat (abgesehen von der genormten schnittstelle).
vielleicht machst du das einfach mal mit einem simplen plugin, einem filter, ob nun low pass oder sonst was oder einem delay.
dazu gibt es bestimmt auch irgendwo flussbilder/schema zeichnungen.
 
Hi,
dass der Signalfluss zwischen Delay oder zb Filter sich unterscheidet, ist natürlich klar.
Soweit muss ich aber gar nicht ins Detail gehen.

Es geht mehr um die grundlegende Funktionsweise von PlugIns, also zb die Gemeinsamkeiten die sie haben; also was passiert wie wenn ich ein Signal dahinschicke und es wieder zurück kommt.
Soweit ich es richtig verstanden habe, wird dabei immer ein Filter eingesetzt und es ist eine Delayline vorhanden?

Schema Zeichnungen etc habe ich dazu bisher auch nicht gefunden, deshalb dachte ich, es könnte hier Leute geben, die sich mit der Audio-Plugin Programmierung ein wenig auskennen, um mir ein paar Hinweise oder Literaturtips geben zu können.

Der Link oben funktioniert nicht, dieses Buch nutze ich, wobei mir das als Einstieg deutlich zu heftig ist :hum:
 
Evtl. wären die Bücher noch was:

[ISBN]0262014467[/ISBN]

[ISBN]0262680823[/ISBN]

Allerdings muss dir bewusst sein, dass du dir da ein Thema ausgesucht hast welches weder für Programmieranfänger noch für Leute ohne ein Faible für Mathe besonders geeignet ist. :D

Vieles in der digitalen Signalverarbeitung ist praktische reine Mathematik. Das beginnt schon bei der Sinusfunktion, welche in der "Audiowelt" quasi einem reinen Ton entspricht.

Aber ganz grundsätzlich kannst du sagen, dass ein Plugin ähnlich einer mathematischen Funktion ist. Bei einem bestimmten Input berechnet das Plugin einen bestimmten Output. Wobei mehr als ein Input vorhanden sein kann und es sich dabei sowohl um Audio- als auch um andere Signale handeln kann (z.B. einen LFO)

Wie bei einer mathematischen Funktion entsteht aus einem bestimmten Input immer der gleiche bestimmte Output.

Da aber auch zufällige oder pseudo-zufällige Funkionen einen Input darstellen können kann der Output für das menschliche Ohr durchaus zufällig wirken (siehe LFO).

Digitale Audiosignale sind diskret, also eine Abfolge von Zahlen (Samples). Das Plugin berechnet dann z.B. einfach einen Wert nach dem anderen, woraus am Ende wieder ein diskretes Signal wird - normalerweise aber natürlich ein anderes als zu Beginn, sonst hätte das Plugin nicht viel Sinn.

Ein ganz einfaches Beispiel wäre ein Plugin, welches einfach die Phase des Signal dreht. Also Input +16400 = Output -16400. Usw. usw.

Hilft das? :)
 
  • Gefällt mir
Reaktionen: LosDosos
Ooh, das klingt sehr interessant und vielversprechend, ja.:)

Natürlich habe ich mich (vor Jahren) auch mit Akustik (Fourier etc) beschäftigt, das ist jetzt nur nicht mehr so präsent. (und nicht sicher, inwiefern benötigt)

Dann lese ich mich mal in die beiden Bücher ein.
Danke für die Tipps; ich werde sicher später noch Fragen haben. :D
 
Schau dich hier mal um (Plugins->View).
Das sind Nyquist Plugins für Audacity.
 
  • Gefällt mir
Reaktionen: LosDosos
Die typische Antwort eines ITlers: Komm drauf an. :hehehe:

Im Prinzip kannst du dir ein Software-Plugin (wenn es ein Filter-Plugin ist) wie einen Funktionsbaukasten vorstellen. Jedes Plugin arbeitet nach dem Prinzip

Rückgabewert = Funktionsauruf(parameter)

ist also nichts anderes als eine Sammlung mathematischer Funktionen.

Wenn du also eine Funktion FlächeninhaltRechteck(a,b) hast, rechnet dir die Funktion aus der Seitenlänge a und der Seitenlänge b den Flächeninhalt mit a * b aus.

Im Audiobereich ist es etwas komplizierter, weil du keine statischen Parameter hast, sondern Parameter, die je nach Effekt eine bestimmte Länge haben müssen oder andere Merkmale haben, die abhängig von der Art des Effekts sind.

Nimm dir einen Tiefpassfilter. Die einfache Variante. Der soll alles unter x Hz durchlassen und dir das Ergebnis zurückliefern. Abhängig von der Samplefrequenz reicht der kleinste mögliche Wert, aus dem du einen Ton generieren, bzw. die Freqzenz ermitteln kannst. Bei 44 khz Samplefrequenz reichen bei konstanter Abtastrate 2 Samples für die bestimmung der Frequenz (wenn ich das Abtasttheorem richtig im Kopf hab).

Das bedeutet, dass du 2 Zeiteinheiten (Samples) brauchst, um den Filter nutzen zu können. Das bedeutet wiederum, dass du prinzipbedingt ein Delay von einem Sample hast, wenn du den Filter in Echtzeit nutzen willst, weil du erst zwei Samples reinschicken musst, um eins rauszubekommen, das dann eben noch da ist (weil kleiner als x Hz) oder eben nicht (weil größer als x Hz).

Grundsätzlich kannst du also sagen, dass das Delay abhängig davon ist, wieviele zeitdiskrete Einheiten (Samples) deine Funktion braucht, um das Signal bearbeiten zu können. Dabei spielen also die Samplefrequenz, die Tonfrequenz (wegen des Abtastheorems) und die Art der Funktion eine Rolle.

Wenn du ein Musikstück normalisieren willst (ist ja letztlich nichts anderes als ein arithmetisches/geometrische Mittel), reichen dir natürlich nicht zwei Samples. Du brauchst letztlich das komplette Stück, damit du aus dem kompletten Stück den Mittelwert ermitteln kannst.

Geht das in die Richtung, die du dir vorstellst oder hab ich deine Frage falsch verstanden?
 
  • Gefällt mir
Reaktionen: LosDosos
Jein, das geht in jedem Fall in die Richtung, wobei die Funktionsweise eben wichtig ist.
Also im Prinzip "was passiert da genau im Signalfluss eines Audio-Plugins und wie funktioniert es theoretisch", eben in Bezug auf eine Allgemeingültigkeit (ohne die spezielle genaue individuelle Unterscheidung zwischen Delay, Filter, Reverb etc.)
Die oben genannte Literatur ist schonmal sehr hilfreich, wenn auch schwierig für einen Nicht-Informatiker.
Da ich als Schwerpunkt die psychoakustischen Unterschiede und Gemeinsamkeiten und natürlich deren Einfluss von analogen und digitalen Systemen untersuche, ist es natürlich auch wichtig, grundlegende Verständnis für die digitale Signalverarbeitung anzueignen, zumindest als Exkurs.
Das fällt mir im Moment noch sehr schwer.:hum:
 
Im Prinzip kannst du dir die jeweilige Arbeitsweise auch von jedem Hardwareeffekt abschauen.

Wo dort halt "genormte" Ein- und Ausgänge mit dazwischenliegender Effekteinheit vorhanden sind, wird das selbe System per Software über "genormte" Softwareschnittstellen wie VST, AU etc. zur Verfügung gestellt.
Der zu Grunde liegende Algorythmushängt hier sehr stark am gewünschten Effekt und den möglichen Manipulatoren.

So kannst du dich ja im Internet über Basics wie Panning, Filtern, aber auch Hallspirale, Distortion, Flanging, Delay, Compressor oder Limiter informieren.

Das, was früher im Lexicon per Spezial-DSP gerechnet wurde, wird heute per Plug-In auf die CPU verlagert.
Die guten Hersteller halten ihre Algorythmen aber unter Verschluss.
 
Im Prinzip kannst du dir die jeweilige Arbeitsweise auch von jedem Hardwareeffekt abschauen.
Hi, nee, das kann ich ja eben gar nicht, wenn ich mir das mal genau anschaue.

So kannst du dich ja im Internet über Basics wie Panning, Filtern, aber auch Hallspirale, Distortion, Flanging, Delay, Compressor oder Limiter informieren.

Wie gesagt, es geht nicht um Funktionsweise von Effekten, die ich nach vielen Jahren Studioarbeit durchaus in- und auswendig kenne.

Es geht vielmehr um Signalfluss, Funktionsweise und Aufbau von Audio Plugins.
Das ist wichtig, wenn ich die psychoakustischen Unterschiede zwischen analogem Effekt und digitalem Pendant erheben will.

(Deshalb hatte ich auch bewusst in "Entwickler, Programmierer" gepostet und nicht Digital Audio)
 
Ja, sehr interessant :)
 
Hi,

arbeitet hier jemand mit rekursiven Systemen, sprich IIR Filtern?

Finden diese nur in nichtlinearen Systemen statt und sind Single Delay Loop Models Bestandteil dessen oder ein eigenes System?
 
Zurück
Oben Unten