Variophon und Impulsformung revisited

4

4t6ßweuglerjhbrd

Guest
geändert 1.5.

Worum es hier geht ist die Impulsformung zur Klangsynthese, die im Variophon verwendet wird.

Viele Informationen dazu finden sich auf der Seite http://www.variophon.de/index_d.htm
von Prof. Dr. Christoph Reuter.

Dazu schreibt er uns mit Link zu den Arbeiten und erwähnten Instrumenten (s.u.):

"Die formantbildenden Impulsfolgen für die Synthese von realistisch klingenden Blasinstrumentenklängen wurden 1975 von Jobst Fricke, Wolfgang Voigt und Jürgen Schmitz gefunden und wurde von Fricke 1975 auf der DAGA-Tagung zum ersten Mal vorgestellt (ebenso in der Dissertation von Wolfgang Voigt 1975).
Das Prinzip an sich findet sich schon bei Frans Fransson (1967), jedoch hat er damals noch nicht die Verbindung zwischen der Impulsformung und der Formantbildung bei verschiedenen Tonhöhen und Dynamikstufen gesehen.
1987 hatte Wolfgang Auhagen darauf aufbauend die Dreiecksimpulsfolgen für die Klangsynthese und eine Erklärung für die Anregungsfunktion bei Blasinstrumenten entdeckt/beschrieben und Johannes Blens 1993 war in seiner Staatsexamensarbeit der erste, der die Impulsformung mit beliebigen Formen auf eine digitale Ebene verlagerte.
Michael Oehler hatte dann im Rahmen seiner Dissertation (2008) mit Reaktor einige Variophonmodule als virtuelle Instrumente/Ensembles umgesetzt ( https://muwiserver.synology.me/oehler2008.zip ).
Während dieses Projekts entstanden auch einige gemeinsame Paper (auch über die Vorteile des Vibratos, wenn es direkt an der Anregungsfunktion ansetzt und nicht erst, wie z.B. beim Sampling, am fertigen Klang. Um 2012 gab es einige ganz spannende Versuche mit Studierenden hier in Wien das Variophon zu digitalisieren. Hier schrieben Ludwig Gredler-Ochsenbauer (2012) und Thassilo Gadermaier (2013) sehr feine Arbeiten über die Virtualiserung des Variophons als VST-Instrument (Gredler via SynthEdit) und als Matlab-Script (Gadermaier) und auch einige Studierendengruppen wagten sich an das Thema "gesampletes Variophon", wobei u.a. von Michael Alexander Brandstetter 2012 eine Kontakt-Library zum Variophon-Saxophon und zur Variophon-Oboe entstand (die Kontakt-Library und die VST-dll sind auch im Zip enthalten).
Michael Oehler und ich haben diese neueren Entwickungen 2014 in der Festschrift für Wolfgang Auhagen festgehalten."

Das zip File mit den Arbeiten und den Instrumenten findet sich hier:

--

Das Instrument und die Synthese finde ich sehr interessant, und wenn man sich praktisch damit beschäftigt fragt man sich
warum das nicht verbreiteter ist - ich bin erst durch @Area88 neulich drauf aufmerksam geworden.


Ich habe dabei festgestellt daß man damit auch andere Klänge sehr reizvoll synthetisieren kann und eine Methode
gefunden beliebige kurze Signale von Spektren mit der Wellenform der Impulsformung zu falten (Convolution)
als Alternatibe zu einer Filterbank, was eine ganze Palettte von anderen Klängen ermöglicht die im Klangverlauf sehr natürlich klingen und dabei sehr wenig Rechenkraft benötigen.
Beonders interessant finde ich auch daß die Impulsformung nur von nur zwei Parametern abhängt und idR ohne dyabamischen Filter auskommt und dabei eine recht komplexe aber natürlich Änderung des Spektrums (inklusive Lowpassfilterung) ermöglicht.

@serge hat weiter unten ausserdem auf den Mangrove Oszillator für Eurorack aufmerksam gemacht der ebenfalls die veränderliche
Dreieckspulswelle aus der Impulsformung nutzt und das mit Subharmonsischen wie im Trautonium (und FM) kombiniert,
was ich mir sehr interessant vorstelle.

Die nächsten, älteren Posts erklären die schnelle Faltung die ich anwende und die Erzuegung der Signale für die Spektren
mit Zufallsgeneratoren, was aber nur für bestimmte Klänge und Anwendungen Sinn macht, für andere sind klassichere
Signalwege sinnvoller, also Oszillator und nachgeschalteter Filter oder Filterbank.
__

Der Text hier wurde nachträglich eingefügt so daß sich einge Komemntare bis Post 45 auf älteres un teils geändertes beziehen.
 
Zuletzt bearbeitet von einem Moderator:
1.
Das erste Geheimnis der Effektivität und der intuitiven Bedienung liegt ertsmal im Konzept des Variophons, bzw der Impulsformunsgsynthese.

Dazu bitte selber lesen.

Kurz gesagt ist es ein analoges Modell von Windinstrumenten gewesen.

Es kann aber - und das scheint wenigen bewusst, auch als Modell für andere Klänge herhalten.

2.
Das zweite Geheimnis liegt in der Mathematik:

Kurz, ohne zu mathematisch zu werden:

Durch Differnzierung wird die Welle des Variophons erst zur 3-Stufigen Pulswelle, bei weitere Differnzierung zu einzelnen Impulsen,
getrennt durch Nullen.


Durch Differnzierung wird die Impulse Response des Instruments, zB der Klang eines Guitarrenkörpers, immer hochpassiger
(es sind 6dB/Oktave bei jedem Vorgang) - und damikt spektral flacher.


3.
Convolution mit Nullen sind 0. Muss man nicht berechnen.
Damit wird die Convolution der mehrfachen Ableitungen der Signale zu einer Addition und Faktormultiplikation mit wenigen phasenverschobenen Kopien des Signals.

Integriert man anschließend, hat man die Convoltion der Originalsignale.

Dh, man muss die Impulsresponse nur einmal ableiten, zweimal phasenverschoben abziehen und zweimal multiplizieren, und dann durch einen Lowpassfilter (Integration) schicken, und hat damit die Faltung von Impulse Response und Anregungswelle.


4.
Diese Filterung ersetzt zB dann auch eine Filterbank in einem Stringsynthesizer. Vollständig.

5.
Man kann ein Sample der Impulse Response nehmen, oder aber diese synthisch erzeugen.

zB mit einer Synch Wellenform. Oder additiv. Mit einer Art EQ Wellengenerator.
Mit Wavetables. Mit FM.

Oder aber so:

Die Ableitung ist spektral flach, dh "weiß".

Zufallszahlengenerator, der weißes Rauschen generieren soll, ist, wenn man sehr kurze Stücke betrachte - nicht mehr weiß
sondern wegen zufälliger Abweichungen spektral gefärbt.

Deswegen findet man im Output eines Zufallszahlengenrators, wenn man lange genug sucht, die Ableitung der Impuls Response
in guter Näherung.

Dh man kann ein Signalstück, daß (fast) den selben Verlauf hat und (fast) identisches Spektrum wie die Ableitung der Impulse Response
mit einem Zufallszahlengenrator erzeugen, wenn man die richtigen Zahlkenwerte kennt.

Dazu sucht man eben - vorher, offline - per Korrelation bis man das passende Stück und die passenden Ausgangszahlen gefunden hat.

Im Beispiel oben waren es ca 1.3 Millionen Zahlen, dh 30 Sekunden Output, in denen die Zahlen gefunden wurden.

Man muss das nicht so machen, es gibt wie gesagt viele Möglichkeiten und man kann auch direkt das Sample verwenden
(dh die Ableitung davon)

Oder eben spezielle Parameter anbieten wie beim EQ.

Der Zahlengenrator braucht aber nur 1 Integer Addtion und eine Multiplikation pro Wert.

Ein Sample braucht ebenfalls Interpolation und einen Speicherzugriff, einen Lesezeiger.

Dh der Generator ist nochmnal effektiver.

Ist aber Geschmackssache.




EDIT II
anderes, aktuelles Implementationsbeispiel
implementation example.jpg
F0: Oszillatorfrequenz (Hz)
FF: Dreieckspulsfunktion Anstiegszeit in Hz
wid_rto: Dreieckspulsfunktion Abstiegszeit relativ zur Anstiegszeit (0... bis 1)
w0: F0/Samplerate

RND AA: antialiaster Impulseresponse- bzw hier Random Generator.

Phase: Triggergenerator, antialiast, mit Grundfrequenz F0 und Phasenoffsets r1 und r2
 

Anhänge

  • core.jpg
    core.jpg
    22,7 KB · Aufrufe: 141
Zuletzt bearbeitet von einem Moderator:
Das geht anschließend nochmal durch einen statischen Lowpass Filter, der die generelle Spektrale Envelope abbildet.

Dieser istz aber optional - mit einer geigenten Impulse Response (zB Sample) braucht man das NICHT.


Das ganze lässt sich natürlich ausbauen und verfeinern, mit einam zweiten Oszillator zB.

Das intressante - dieser kann, wenn er die selbe Dreieckswellenform für die Faltung und das selbe Response Spektrum hat,
die selbe spektrale Envelope haben - aber andere Harmonische.

So kann man zB Schwebungen einbauen, die nicht alle Harmonischen betreffen, was sher natürlich klingt.

ABer das sind Implemnationsdetails. Auch kann man natürlich immer noch einen EQ nachschalten.

Das ist aber nicht nötig.

Man kann zB den Formantshift auch implentieren, indem man ein Sample der Impule Reponse nimmt und dieses schneller
oder langsamer abspielt im Schema oben. Usw.


Synth Sounds sind ebenfalls möglich: als abgeleitetes Spektrum nimmt man einfach zB einen antialiasten Sägezahn
oder Impulse dh Sinc(X) Wellenformen.

Oder gesynchte Wellenformen für Fomanten. Usw. usw.
 
Das hört sich gut an, verstanden hab ich aber nur Bahnhof. Sehr abstrakt... ich wünsche Dir jedenfalls viel Glück mit Deiner Entdeckung bzw. Erfindung. :nihao:
 
Danke - ich habe oben ein paar Synthisounds ergänzt die nach klassisch subtraktiver Synthes klingen.

NB - die gehen alle ohne den Filter. Der Filter ist mono, statisch, und in allen Beispielen, auch Piano und Cello glaube ich., gleich fest bei ca 1400 Hz oder so.

Nachmal laienhaft erklärt:

Du hast
1 ADSR Envelope
1 LFO (mono)
1 Pulsbreitenregler und ein Pulse Tail Regler, die Filterung, Wellenform, Klang beinflusst - auf super intuitive Weise.

Noch paar Detuning und Finetuning Regler für 2-Oscillator unison

und einen Wahlschalter für die Noise Color/Spektrumsfarbe, man kann zB "Piano" mit "Cello Noise " machen.

Etwas weniger komplex als ein Juno aus den 80ern.

Und damit gehen die ganzen Klänge oben, mit weniger Rechnaufwand als jede andere Synthese denke ich.
 
Das ist zu klein gedacht.

Es ist ein neues altes Prinzip, wie FM, Wavetables, Sampling, diverse Physical Modeling Techniken.

Es ist das Variophon mit Techniken von heute.

Für ein VST oder Hardware fehlen mir u.a. die Partner.
Ich habe letztes Jahr mit einem etwas ähnlichen Konzept (klanglich - technisch ganz anders und unterlegen) auf das
ich ein Gebrauchsmusterpatent haben ein paar Leute angefragt, zum Teil welche für die ich schon gearbeitet hatte
zum Teil auch neue.
Ist nix draus gewordenm denn alle haben ihre Produkte, Projekte in der Pipeline, usw.


Was ich nicht machen werde und nicht leisten kann ist VST Coding, Installer, Webseite, Marketing, Kundenbetreung, Shop und so weiter alles in einer Person.
 
Zuletzt bearbeitet von einem Moderator:
Für ein VST oder Hardware fehlen mir die Partner.
Wie wäre es mit Behringer? Dort sucht man ständig fähige Leute mit Ideen und von letzterem hast Du wahrhaftig genügend. Dein Syntheseprinzip in Hardware gegossen, wäre der Hammer. Denkbar wären ja auch - wie beim Variophon - verschiedene Controller-Varianten, also Keyboard mit separatem Blaswandler oder so etwas Melodica™-ähnliches. Als Produktbezeichnung könnte man die Produktlinie ULTRAPHON™ nennen... ;-)

Der Name "Variophon" scheint übrigens nicht geschützt zu sein. Wenn Du recherchiert hast, wirst Du bemerkt haben, dass es mal einen russischen Synthesizer mit diesem Namen gab und ebenso eine Messgeräteserie, die so benannt wurde/wird.
 
du musst es nur selbst rausbringen, dann kopiert behringer das schon.

oder auch nicht. selbst der patentierte PAF hat seinen weg in nur wenige hardware gefunden, und schon gar nicht in welche, die NUR das benutzt.

aktuell kann ich deine bilder immer noch nicht lesen. insbesondere weil unklar ist, wo die einstellungen/seeds/transferfunktionen herkommen. wenn du es schaffst das in pd, möglichst ohne fexpr~, halbwegs zum laufen zu bekommen, dann mache ich da gerne mal eine "revision" davon um das potential auszutesten.
 
Zuletzt bearbeitet:
Hier der Rauschgenerator den ich verwende, ursprünglich aus dem Reaktor 5 2-Osc Synth glaube ich
Ich hab den Zahlengenerator da erstezt durch den Random aus der Library.

RND_sync.jpg
Die Struktur ist Reaktormässig verwirrend

I GM1 ist der RNG (linear interpoliert mit s)
s ist der Interpolationsfaktor 0...1 der bei jedem Phasenumsprung gesendet wird
Falls die Phase auch von 0...1 geht ist der s dann dewr Wert des ersten Samples nach dem Sprung geteilt durch w (omega) = F/Samplerate

s-1 ist hier der selbe Wert, um ein Sample Tick verzögert, dh der Wert wird ein Sample später gesendet

Shape ist eine S Kurve (parabolisch)
SKurve.jpg

Was passiert is folgendes:
Der Generator links läuft, Sample für Sample
Der Generator rechts macht nichts (wird nicht berechnet)

Wenn ein Reset kommt (ein Wert bei s) , rechnet der Generator rechts mit dem letzen Wert von dem links die Sequenz weiter,
und zwar 2 Samples lang: wenn s gesendet wird, und das folgende Sample (wenn s-1 = s gesendet wird) auch.

gleichzeitig startet der linke von vorne. (Mit neuem Interpolationswert s)

Die Gleichzeitgen Werte werden dann im Mixer ganz Rechts gemischt.

Der Mix Wert (x) wird dabei statt linear 0...1 auf eine S-Kurve verzerrt

Der Gesamt Effekt ist einfach zwei Parabol-Rechteckfenster an Nosiesequenzen die sich 2 Samnples lang überlappen.


Das ist dann das Minimum an Anti-Aliasing -Snyc das geht. Reicht gerade so, ist noch hörbar wenn mans drauf anlegt.
 
Zuletzt bearbeitet von einem Moderator:
Ich denke ein LFSR ist am besten weil es sich auch in Hardware dann mit wenig Aufwand realisieren ließe.
 
Ne Version in PD wär super, vielleicht können wir das dann zusammen anpacken sobald meine Versionn steht.

super, von dort komme ich dann problemlos nach max und dort und nur dort kann ich mir über optimieren, ableiten usw gedanken machen und vielleicht etwas beitragen.

Man kann in PD aber schon mal loslegen, mit den Bausteinen die man braucht:

- ein möglichst wenig Operationen brauchender Pseudo Random Generator der sich auf jede Plattform portieren lässt

der muss dann interpoliertbar sein, dh zwischen diesem und dem nächsten Wert linear überblenden können.

Und er muss interpoliert synchbar sein.


das müsstest du alles viel genauer umschreiben - wobei meine erwartung diesbezüglich sicherlich davon verzerrt ist, dass ich in einer anderen umgebung zuhause bin und andere begriffe gewohnt bin. :)

besser is schon du liefertst eine funktionierende pd version des generators - ganz egal wie "schlecht" gepatcht - hauptsache andere verstehen erst mal den code.

reaktor ist für mich wie finnisch.
 
das müsstest du alles viel genauer umschreiben - wobei meine erwartung diesbezüglich sicherlich davon verzerrt ist, dass ich in einer anderen umgebung zuhause bin und andere begriffe gewohnt bin. :)

besser is schon du liefertst eine funktionierende pd version des generators - ganz egal wie "schlecht" gepatcht - hauptsache andere verstehen erst mal den code.

reaktor ist für mich wie finnisch.

ja das verstehe ich - ich werd aber uU länger brauchen bis ich in Pure Data soweit reinkomme.

Und Pure Data hätte ich gerne deswegen damit es eine offene und zugängliche plattformunahbängige Beispielimnplentation gibt.

Optimiert ist es übrigens schon sehr weit, sozzsagen von Natur aus.

Die Referenz sollte in erster Linie auch gut lesbar sein.


Und eigentlich ist es jetzt auch fertig - ich weiß nur immer noch nicht wie ich das Problem lösen kann daß der Integrator bei Stimmenklau gelegentlich poppt.

Das Problem besteht auch bei Synths die BLIT+Integrator nutzen,
nur ist da der DC Offset vorhersagbar, und das Problem lässt sich minimneren
und hier nicht.
 
bis zum ende des cycles weiterlaufen lassen oder so? (zur prüfung: passiert das eigetlich auch wenn sich die frequenz nicht sprunghaft ändert?)
 
Das ist zu klein gedacht.

Es ist ein neues Prinzip, wie FM, Wavetables, Sampling, diverse Physical Modeling Techniken.
Das ist genauso lame wie mein Projekt. Nur weil ich auf Konsole stehe, heißt das nicht, dass ich Leute zur Textkonsole bekehre, selbst dann, wenn mein ebenfalls physically informed, aber ebenso abstrakte, dafür aber wieder ganz anders kodierte Gedönse superperfekt sein sollte. Willst du, dass andere Leute auf deinen Zug aufspringen, musst du schon die etablierten Schnittstellen bedienen. Wären nur ein Bruchteil der tollen Ideen nicht sang- und klanglos auf dem Friedhof toller Ideen versackt, weil ihr Erfinder nix riskiert hat, wäre die Welt ne bessere.

Wären die ersten Spermien nur dem eigenen Schwanz nachgejagt, gäb es heute keine Wirbeltiere.

Also wenn du dir geschäftlich nix zutraust und nach außen unkooperativ bist, also keine etablierten Schnittstellen bedienst, kannst du immer noch gute Mucke machen damit. So gute Mucke, dass der eine oder andere interessiert ist, wie du das machst. Ach so, aber Frauen kriegste damit nicht ...
 
Das ist genauso lame wie mein Projekt.
Du weisst daß ich Dich und Deine Ansätze schätze denke ich.

Wie sage ich es jetzt höflich ohne arrogant zu wirken?

Willst du, dass andere Leute auf deinen Zug aufspringen, musst du schon die etablierten Schnittstellen bedienen.

Was denn für Schnittstellen?

Es handelt sich um ein Syntheseprinzip das weniger CPU kostet als Sampling aber sich dynamisch verhält wie physical modeling und akkustisch überzeugend klingt.

Ein Verfahren das jeder nutzen kann wie er will, wie FM. Keine Software oder sowas.


Es hat auch bereits jemand in seine Software eingebaut und den Quellcode dazu veröffentlicht.

Also wenn du dir geschäftlich nix zutraust und nach außen unkooperativ bist, also keine etablierten Schnittstellen bedienst,
Wie meinst Du das?
 
Zuletzt bearbeitet von einem Moderator:
bis zum ende des cycles weiterlaufen lassen oder so? (zur prüfung: passiert das eigetlich auch wenn sich die frequenz nicht sprunghaft ändert?)

das ist zu frickelig, vor allem in Reaktor und für ein Referenzprojekt.

Es scheint nur noch von bestimmten Parametern abzuhängen inzwischen und beim Sprung von hohen Noten auf tiefere aufzutreten.

Die Ursache ist auch klar - wenn es zu einem Sprung in der Wellenform kommt und man das integriert lässt sich das schwer vermeiden.

Der Intergrator wird allerdings bei neuer Note resettet und der DC Offset ist ansonsten im Vorfeld kompensiert.
 
das ist zu frickelig, vor allem in Reaktor und für ein Referenzprojekt.

frickelig inwiefern. knackst es oder sowas?


diese ganzen "grundfunktionen" bzw. eigenschaften des generators, das ist das, womit ich persönlich als erstes gerne einmal herumspielen würde, denn dadurch gehen dann erst türen auf oder zu im hinbick auf anwendungsmöglichkeiten.

beispiel:
beim PAF wird der carrier unten in einem windowingverfahren aus 2 signalen zusammengesetzt. im ergebnis kann man den PAF z.b. schlecht schnell in der frequenz modulieren.
außerdem erzeugt man dort immer nur einen gleichschenkligen formanten. für komplexere klänge braucht man also mehrere kopien parallel, was sich natürlich in höhrem CPU verbrauch niederschlägt.

beispiel 2:
beim frequenzshifting via phase quadratur erhält man ein signal, dessen phase flat ist und von der eingestellten frequenzänderung abhängig ist. mischt man 2 solcher signale, löschen die sich gegenseitig aus. im ergebnis kann man einen solchen frequenzshifter nicht mehrstimmig benutzen.

alles dinge, die man als benutzer dieser verfahren erst mal herausfinden und dann damit leben muss - anders als die erfinder, die das zeug ja schon durch mathematische herleitung erfunden haben und daher ein viel höhreres verständis davon haben wie ich es jemals haben werde.


Die Ursache ist auch klar - wenn es zu einem Sprung in der Wellenform kommt und man das integriert lässt sich das schwer vermeiden.

...überblenden? je nach geschwindigkeit der frequenzveränderung? oder zuviel stress.

Der Intergrator wird allerdings bei neuer Note resettet und der DC Offset ist ansonsten im Vorfeld kompensiert.

jap, bei midi note on lässt sich zeug auch resetten. außer wenn der user das glissando grad angeschaltet hat. :)

hast schon mal ausprobiert in welchen bereich ungefähr die frequenz verändert werden darf ohne dass man deutlich etwas hört?

diese cellofagott audiobeispiel ist wirklich nett, aber ich glaube man will das wirklich mindestens mal mit midi pitchbend um eine quinte verstimmen dürfen.
 
vielleicht kannst du mal erforschen/ausrechnen/ausmessen was passiert, wenn sich die osczillatorfrequenz mäßig schnell, aber stetig und linear verändert (sweep). dann hat man vermutlich schon die erklärung.
 
weißt du eigentilch ist es auch nicht sehr logisch, dass man einen pseudo random generator haben will, dessen output man jederzeit wiederherstellen, also etwas wiederholen kann, was vorher schon mal rauskam, darin liegt ein bischen die crux.

im grunde genommen müsste man es einfach in einen buffer schreiben und dort rauslesen. würde nur wahrscheinlich einfach zu groß. :D
 
Wie schon im Draft Paper steht, kann man nehmen was man will.
Das Paper handelt schlicht zwei Sachen ab die unabhängig voneneinder sind.
Man muss keinen Random Generator nehmen. Es ist allerdings am effektivsten und portierbarsten.

Zu groß würde ein Wellenspeicher auf dem PC usw, nicht, es sind ja nur ein einzelner Wellenzyklus ohne Multisample.


Zum Pitchbend:
ist kein Problem


Viel Modulation auch hier im Beispiel das bsp von seiner Implementierung auf Gearspace gepostet hatte:



Das Reaktor Referenz-Ensemble betrachte ich als abgeschlossen.

Einen Hack für Stimmenklau werde ich nicht einbauen - das ist einfach der Knackser den man hat wenn ein Oszillator sprunghaft auf ne andere Phase gesetzt wird, der hier durch nen Integartor geht was dann aus dem übrlichen Knackser ein Plopp macht.
 

Anhänge

  • pitchbend.mp3
    341,2 KB
Ein Verfahren das jeder nutzen kann wie er will, wie FM. Keine Software oder sowas.
Meine Skepsis, ob Konvolution mit der Impulsantwort eines Instruments ein Syntheseverfahren ist, rührt möglicherweise von fehlender Ahnung her. Aber "Künstliche Intelligenz" ist nach meinem Dafürhalten auch kein Verfahren, sondern eine Klasse von Problemlösungsansätzen. Ich finde, von Problemlösungsvermeidungsansätzen, aber das ist ein anderes Thema. Konvolution ist für mich immer noch ein Stückweit Hexerei, wiewohl ich mich selber damit beschäftige.

Ja, ein Verfahren gehört eigentlich auch in anwendbare Software gegossen. Also ein abstraktes wie dieses umso mehr, weil die Anzahl der Individuen, die heute bereit sind langen Erklärungen von Fremden aus dem Netz zu folgen (welche vor allen Dingen keine Schulungs-/Lehrerfahrungen haben), mickrig ist im Vergleich zu all denjenigen, die ihre Lebenszeit in das Anschauen süßer Katzenvideos u.a. versenken.

Im Grunde wollte ich nicht arrogant wirken, allenfalls ruppig, meine Laune ist gerade nicht die beste. Wenn du andere Leute für ein neues Echtzeit-Syntheseverfahren begeistern willst, ist ein VST-Plugin schon wirklich ein Muss beim ersten Kontakt mit der Welt da draußen. Wenn du das nicht willst oder nicht kannst oder beides, mach Musik damit. Für mich gilt selbiges Credo nicht aus dem Grunde, weil mein Projekt mit Echtzeit eh nichts am Hut hat. Da ist sowieso fraglich, was meine ganze Werbung soll, aber was solls, andere liegen faul auf der Couch rum, nehmen Drogen oder tun Ungeheuerliches.

Das wollte ich sagen im Sinne von "machs besser als ich". Deine Ausflüchte wirken jedenfalls, als wenn du nur wieder reden wolltest. :)
 
"convolution" beschreibt streng genommen in der tat kein bestimmtes verfahren, es bedeutet einfach nur "zusammenmatschen".

im regelfall versteht man darunter aber durchaus eines der üblichen verfahren, mit denen man so üblicherweise zusammenmatscht.


im einfachsten fall machst du ein FFT mit 2 signaleingängen und multiplizierst real und imaginary jeweils miteinander und das wars auch schon (komplexes produkt). klingt nicht besonders toll, aber immerhin schon mal anders als der input.

etwas weitergehender sind dann die A-in-B convolution oder die crossconvolution. im falle von FFT (keine ahnung ob es das nicht auch noch woanders gibt?) sind das mehr oder weniger feste verfahren. auch nicht sonderlich spektakulär, aber mit entsprechender EQ und lautstärkeverlaufs-korrektur durchaus für bestimmte effekte zu gebrauchen.


dann kommt lange nix, und dann kommt auch schon der faltungshall. der ebenfalls convolution (oder wohl korrekterweise eher deconvolution) genannt wird.
das ist rein technisch betrachtet ein verfahren, was mit dem IIR filter, den man z.b. auch gerne für phasenlineare filter benutzt, identische ergebnisse hervorbringt - außer, dass es so gebaut wird, dass es mit unterschiedlich langen samples funktioniert. (IIR arbeitet mit differenzen, nicht mit FFT)

der scheiß beim faltungshall ist, dass wenn du tausende von h´s für y(n) = x(n) * h(n) hast, dass du dann auch tausende von berechnungen dafür durchführen musst, nämlich x(n) + x(n-1)/2 + x(n-2)/4 usw. usf.

die hohe kunst dabei ist also nicht das grundsätzliche verfahren, sondern es so zu optimieren, dass es dir nicht den rechner unterm arsch wegbrennt. richtig kriminell wird das programmieren eines faltungshalls dann, wenn du die responses auch noch während der prozess gerade läuft verändern willst.
aber warten wir einfach noch ein paar jahre, dann baut uns das auch jemand.


ich persönlich bezeichne faltungshall als "deconvolution", um den echtzeitprozess vom falten selbst zu unterscheiden, obwohl es technisch eigentlich das gleiche ist.

ob das wort convolution zum verb convolute oder zum verb convolve gehört, habe ich schon vor 25 jahren nicht gewusst und hatte auch nie bock, es mal nachzuschlagen. es macht einfach mehr spass es zu bauen als es korrekt zu benennen.
 
Zuletzt bearbeitet:
viele "gute" kommerzielle reverbs kombinieren da 2 verschiedene techniken.

sowohl bei IIR-basierten (also bei denen ohne "user samples") als auch bei "herkömmlichen" reverbs auf basis von tapping delays, allpässen oder combs, macht man die erst- und zweitreflektionen heute meistens mit FIR (und packt dann die frequenzfilterung der reflektionen direkt mit in den FIR rein, das ist der sinn der übung) - und dann kommt der rest.

das kostenlose silver/aqua ist aber ein "normales" IIR, wo man bänke nachladen kann und so, das macht das nicht.
 
wobei (ich habs mir grad mal angeschaut) der parameter "3D pan" durchaus ein FIR sein könnte :) aber eben ohne verzögerung. (das predelay ist mit einem tapping buffer dann doch billiger als mit dirac)
 
Meine Skepsis, ob Konvolution mit der Impulsantwort eines Instruments ein Syntheseverfahren ist, rührt möglicherweise von fehlender Ahnung her.

Ja, in der Tat, zumal das Syntheseverfahren hier zuerstmal die Klangformung im Variophon mit dem veränderlichem Dreieckspuls ist
die dem zurgunde liegt.

Vielleicht habe ich das nicht genug herausgestellt, obwohl es als erstes über allem drüber steht.

Es handelt sich um das selbe wie einen Dreieckspulsoszillator durch einen Filter zu schicken.

So ein Filter kann im Verlauf beliegig komplex sein.

Ich habe hier nur das super aufwändige Verfahren der Filterung mit einem sehr komplexem Spektrum so verkürzt
daß es je nach Implementation noch weniger Rechenkraft kostet als ein Sample abzuspielen.

Und zeige, daß auf diese Weise noch ganz andere unzählige Klänge erzeugbar mit sehr wenig Parametern steuerbar sind.
 
Zuletzt bearbeitet von einem Moderator:
Es gibt weitaus einfachere Prinzipien, die sich als "eigenständige Syntheseform" etabliert haben. Beispiel FM / PM, wo eigentlich nur eine Tabelle abgespielt wird und die "Synthese" in der Addition eines Offsets besteht. Da sagt ja auch keiner was dagegen. Insofern finde ich schon, dass Dein Ansatz als "Syntheseform" bezeichnet werden kann. Man baut ja fast immer auf der (mathematischen) Vorarbeit anderer auf. Andernfalls hätte schon seit der Erfindung des Rades nichts mehr als "neu" gelten dürfen. ;-)
 


Neueste Beiträge

News

Zurück
Oben