Additive Klangsynthese - Mikroebene
Verfasst: 24. Januar 2014, 11:06
Hallo an alle,
mir sind beim nahezu ahnungslosen Herumpatchen in Primary ein par Fragen zur effektiven Erzeugung und Modulation von Sinus-Tönen in den Sinn gekommen.
Vielleicht kann mir von euch jemand weiterhelfen und Alternativen zu meiner ausprobierten Methode anbieten.
Ziel:
Ein Ensemble zur additiven Klangsynthese auf Mikroebene, sprich gezielte Anpassung und Modulation von Amplitude und Tönhöhe von einer hohen Anzahl an Partials.
Erfahrung:
Zunächst habe ich mir auf Grundlage von diesem Post ein einfaches Ensemble erstellt:
Mit Amplitude = 1 (Verhältnis: Amplitude/n) und Pitch = 0 (Verhältnis: Pitch->Frequenz | Frequenz*n) würde sich bei ausreichendern Anzahl an Schwingungen n in der Grundstellung eine Sägezahnwelle ergeben. Mein Gedanke war es, mit einem INIT-Snap mit einem aktiven Partial zu starten und nach und nach die benötigten "Obertöne" mit gewünschter Amplitude und Frequenz in Abhängigkeit zu jener Sägezahnwelle hinzu zu schalten. Wie zu erkennen ist, steuere ich dabei jedes Partial und dessen Multi-Breakpoint-Envelopes per Stacked Macro an.
Ist natürlich Geschmackssache ob man Lust auf diese Form der additiven Synthese ohne jegliche vorrausgehende FFT-Analyse hat. Aber ich vermute mit einem guten Grundstock an Snapshots, wenn man nicht jedes Mal von Null oder in diesem Fall mit einem Partial beginnen muss, könnte ich mich vermutlich mit dem hohen Grad an Einflussnahme (und damit verbunden, das langwierige Einstellen einzelner Partials) anfreunden.
ABER bei 30 Partials und damit verbundenen 60 M-BP-Envelopes lädt das Ensemble schon recht langsam (Größe bereits ~60MB) und die CPU freut sich ebenfalls über das rege Treiben.
Dieses Ergebnis war nicht ganz wieder meiner Erwartungen, aber dennoch hätte ich mir gewünscht mehr mit der Kombi Sine-Sync und MBP-Env erreichen zu können. Denn am liebsten würde ich natürlich gerne Partials bis hin zu einer vollständigen Sägezahnwelle (auch mit Grundtönen im Bassbereich) und deren Derivate aufsummieren können. Für percussives Material mögen 30 Schwingungen ausreichen, aber für tonalere Sachen höre ich da schwarz..
Gedanken und Fragen:
Ursprünglich wollte ich das Ensemble auf Grund der Vorahnung, dass ich schnell an die Leistungsgrenze stoßen würde, mit einer Sine-Bank realisieren, mangels Verständnis scheiterte dieses Vorhaben aber zunächst. Wäre es überhaupt möglich die Modulationsdaten etlicher MBP-Envelopes über den Partial-Stream [Partial Framework] weiterzugeben? Mir scheint es nämlich, als wäre die Partial-Engine eher für algrorhythmische Modulationen mit entprechender Veränderung bestimmter Parameter gedacht.
Meinem Empfinden nach, sind vor allem die MBP-Envs der Flaschenhals des Ensembles. Könnte man diese gegebenfalls optimieren oder gibt es bessere Alternativen zur gezielten Modulation von Ampl/Frequ? Vielleicht kann man ja (ob Core oder Primary weiß ich nicht) die Modulationsdaten von MBP-Envs speichern und auslesen, sodass nur zwei MBP-Envs für das gesamte Ensemble benötigt werden..
basierend auf einer Audio-Engine laufen die Envs ja vermutlich permanent..
Vielleicht hat/wurde hier ja schonmal jemand (von) ähnliche Gedanken verfolgt
mir sind beim nahezu ahnungslosen Herumpatchen in Primary ein par Fragen zur effektiven Erzeugung und Modulation von Sinus-Tönen in den Sinn gekommen.
Vielleicht kann mir von euch jemand weiterhelfen und Alternativen zu meiner ausprobierten Methode anbieten.
Ziel:
Ein Ensemble zur additiven Klangsynthese auf Mikroebene, sprich gezielte Anpassung und Modulation von Amplitude und Tönhöhe von einer hohen Anzahl an Partials.
Erfahrung:
Zunächst habe ich mir auf Grundlage von diesem Post ein einfaches Ensemble erstellt:
Mit Amplitude = 1 (Verhältnis: Amplitude/n) und Pitch = 0 (Verhältnis: Pitch->Frequenz | Frequenz*n) würde sich bei ausreichendern Anzahl an Schwingungen n in der Grundstellung eine Sägezahnwelle ergeben. Mein Gedanke war es, mit einem INIT-Snap mit einem aktiven Partial zu starten und nach und nach die benötigten "Obertöne" mit gewünschter Amplitude und Frequenz in Abhängigkeit zu jener Sägezahnwelle hinzu zu schalten. Wie zu erkennen ist, steuere ich dabei jedes Partial und dessen Multi-Breakpoint-Envelopes per Stacked Macro an.
Ist natürlich Geschmackssache ob man Lust auf diese Form der additiven Synthese ohne jegliche vorrausgehende FFT-Analyse hat. Aber ich vermute mit einem guten Grundstock an Snapshots, wenn man nicht jedes Mal von Null oder in diesem Fall mit einem Partial beginnen muss, könnte ich mich vermutlich mit dem hohen Grad an Einflussnahme (und damit verbunden, das langwierige Einstellen einzelner Partials) anfreunden.
ABER bei 30 Partials und damit verbundenen 60 M-BP-Envelopes lädt das Ensemble schon recht langsam (Größe bereits ~60MB) und die CPU freut sich ebenfalls über das rege Treiben.
Dieses Ergebnis war nicht ganz wieder meiner Erwartungen, aber dennoch hätte ich mir gewünscht mehr mit der Kombi Sine-Sync und MBP-Env erreichen zu können. Denn am liebsten würde ich natürlich gerne Partials bis hin zu einer vollständigen Sägezahnwelle (auch mit Grundtönen im Bassbereich) und deren Derivate aufsummieren können. Für percussives Material mögen 30 Schwingungen ausreichen, aber für tonalere Sachen höre ich da schwarz..
Gedanken und Fragen:
Ursprünglich wollte ich das Ensemble auf Grund der Vorahnung, dass ich schnell an die Leistungsgrenze stoßen würde, mit einer Sine-Bank realisieren, mangels Verständnis scheiterte dieses Vorhaben aber zunächst. Wäre es überhaupt möglich die Modulationsdaten etlicher MBP-Envelopes über den Partial-Stream [Partial Framework] weiterzugeben? Mir scheint es nämlich, als wäre die Partial-Engine eher für algrorhythmische Modulationen mit entprechender Veränderung bestimmter Parameter gedacht.
Meinem Empfinden nach, sind vor allem die MBP-Envs der Flaschenhals des Ensembles. Könnte man diese gegebenfalls optimieren oder gibt es bessere Alternativen zur gezielten Modulation von Ampl/Frequ? Vielleicht kann man ja (ob Core oder Primary weiß ich nicht) die Modulationsdaten von MBP-Envs speichern und auslesen, sodass nur zwei MBP-Envs für das gesamte Ensemble benötigt werden..
basierend auf einer Audio-Engine laufen die Envs ja vermutlich permanent..
Vielleicht hat/wurde hier ja schonmal jemand (von) ähnliche Gedanken verfolgt
