Ich weiß nicht, ob diese Frage Sinn macht, da ich für dsp noch sehr neu bin.
Bei meinem begrenzten Streifzug durch Audio-DSP bin ich auf Folgendes gestoßen:
- Frequenzmodulation
- Amplitudenmodulation
- Additive Synthese
- Subtraktive Synthese
Meine Frage ist: Sind dies die wichtigsten grundlegenden Kategorien der Signalmanipulation (speziell für Audio)?
Mit anderen Worten, können alle Effekte und ausgefallenen Dinge, die FL Studio mit einer vollständigen Suite von Plugins ausführen kann, in eine Reihe und Kombination der oben genannten 4 Operationen unterteilt werden? Oder gibt es noch eine ganze Menge mehr? Kann eine moderne DAW mit Plugins auf diese Weise theoretisch in Kategorien unterteilt werden? Sind die oben genannten 4 Kategorien an sich überhaupt sinnvoll?!
Ein bisschen Hintergrundwissen: Im Wesentlichen versuche ich, einen sehr einfachen (aber sehr flexiblen) Audio-Synthesizer / Editor als Projekt zu entwickeln, um sowohl Programmierung als auch Audio-DSP zu lernen. Mit Java begann ich damit, grundlegende Synthesizer-Klassen der realen Welt nachzuahmen, Dinge wie Oscillator und LFO und dergleichen aufzurufen, aber jedes Mal, wenn ich etwas Neues lerne, muss ich alles neu schreiben, um das neue Konzept in das Programm zu integrieren.
Ich versuche jetzt von vorne zu beginnen und die grundlegenden Objekte und die Struktur des Programms zu finden. Um das richtig zu machen, muss ich wissen, wie ich diesen Objekten erlauben soll, miteinander zu interagieren usw.
Vielen Dank!
BEARBEITEN * * *
Vielen Dank für die nützlichen Kommentare und Antworten. Mir ist klar, dass ich wahrscheinlich die DSP-Seite von Sachen unterschätzt habe und nicht in der Lage sein werde, einfach eine grundlegende Vorlage und Struktur für einen einfachen Synthesizer zu erstellen und sie dann einfach zu erweitern / darauf aufzubauen. Ich werde wahrscheinlich immer wieder neu aufbauen müssen, wenn ich neue Dinge lerne und die "richtige" Art, Dinge zu tun ... Es wird länger dauern, aber vielleicht werde ich mehr lernen? Es tut mir auch leid, dass ich noch nicht genug Repräsentanten habe, um noch jemanden zu unterstützen ... sobald ich kann, werde ich es tun.
EDIT * EDIT ***
Ich sollte hinzufügen, dass ein bisschen googeln diesen grundlegenden Leitfaden für "Synthesetypen" enthüllte, den ich relevant und interessant fand.
quelle
Antworten:
Die AM / FM-Kategorie ist etwas seltsam für Effekte - wahr, Sie können einige interessante Effekte erzielen, indem Sie die Amplitude eines Eingangssignals modulieren. Aber was bedeutet "Frequenzmodulation" für ein komplexes Eingangssignal, für das Sie nicht einmal eine genaue Frequenzdarstellung haben? Man könnte sehr gut sagen, dass jeder Effekt eine Amplitudenmodulation durch das Signal ist, aber dies wird Ihnen nicht bei der Implementierung helfen!out(t)in(t)
Es gibt keine magische Einzweck-Engine im Herzen aller Audioeffekte, die von Musikproduktionssoftware bereitgestellt werden. Wenn Sie sich jedoch den Quellcode einer großen Reihe von Audioeffekten eines DSP-Entwicklers ansehen, finden Sie hier einige "Bausteine", die in ihren eigenen Klassen herausgerechnet wurden und von vielen verschiedenen Effekten gemeinsam genutzt werden. Ich impliziere nicht, dass dies eine gute Grundlage für die Kategorisierung von Effekten darstellt. Aus Sicht der Implementierung sind diese Blöcke jedoch von wesentlicher Bedeutung:
Mit diesen Blöcken könnten Sie bauen:
Während einige dieser Effekte nur das Patchen der verschiedenen Blöcke betreffen (ein Flanger ist wirklich ein LFO, der eine Verzögerungsleitung moduliert), erfordern einige andere Effekte einen komplexeren Klebstoff zwischen den Teilen, der spezifisch genug ist, um nicht in einen Baustein einbezogen zu werden für sich.
Dies ist insgesamt eine interessante Reihe von Effekten, die viel Boden für die Musikproduktion abdecken, aber nicht erschöpfend sind, und es gibt tatsächlich einige Effekte, die nicht zu diesem Framework passen ... Einige Beispiele: * Dirty Samplerate Reducer (in ein Bitcrusher): stimmt, es ist eine Multiplikation mit einem Dirac-Kamm und dann eine Faltung durch ein rechteckiges Fenster ... aber es ist einfacher, es als etwas zu schreiben, das den Wert eines Samples über die N folgenden Samples dupliziert, anstatt eine Amplitudenmodulation zu patchen und eine Faltung! * Tonhöhenänderungseffekte (Tonhöhenverschiebung, automatische Abstimmung) passen nicht gut zu diesem Framework. Sie benötigen eine komplexere Darstellung des auszuführenden Audiosignals (Phasenvocoder für Frequenzbereichsverfahren; Tonhöhenerkennung und Tonhöhenmarkierungen für Zeitbereichsverfahren).
Ich empfehle Ihnen, mit Software-Tools im "modularen Stil" wie Pd, Reaktor, Plogue, SyntheEdit ... zu spielen und zu versuchen, Effekte aus den Grundbausteinen zu implementieren, die sie Ihnen bieten.
quelle