Wavetablesynthese aufbohren

Dieses Thema im Forum "Digital" wurde erstellt von intercorni, 5. März 2010.

  1. Nehmen wir mal an, es würde jemand einen neuen Waldorf/PPG Wave + Waveterm bauen,
    allerdings auf Software-Basis.
    Viele kennen die Wavetablesynthese, die natürlich sehr eingeschränkt ist
    Wenn man diese vernünftig aufbohren würde, welche Features wären
    wichtig?
    Ich fange mal an:

    - Sampleimport für Resynthese
    - Eigene Wellenformen für die Resynthese und additive Synthese (nicht nur Sinus)
    - Anbindung an das iPad (Editieren per Touchscreen)
    - Import von Samples direkt in das Wavetable mit modulierbarer Wavetable-Länge (Wavetable-Auflösung/Steps)
    - Wellenformzeichnen
    - Noise-Generator
    - Unabhängige Wavetables für jeden Oszillator
    - Suboszillator pro Oszillator
    - 4 Oszillatoren pro Stimme mit modulierbaren Mischverhältnis (Wavestation/Prophet VS)
    - Verschiedene Filtercharakteristiken (Tiefpass/Multimode/Vocalfilter)
    - Frequenzmodulation der Oszillatoren untereinander und aufs Filter
    - Mehrsegment-Hüllkurven mit Schleifenbildung für verschiedene Segmente (Schleife steuert z.B. das Auslesen der Wellenformen in einem Wavetable)
    - Modulationssequencer
    - Modulationsmatrix
     
  2. Summa

    Summa wibbly wobbly timey wimey

    Andere Wellenformen lassen sich doch alle in Sinus-Wellen aufteilen, ich denke besser waere es dem Oszillator noch 'nen Waveshaper mit eigenen separat erstell- und modulierbaren Tables als Shaperwellenformen nachzuschalten.

    und Bandpass/-reject etc. mit eigenem Bandbreite Parameter...

    Phasenmodulation mit eigenem Mixer und Ringmod als Modulator (z.B. fuer Osc. 1+2+3 -> 4; 1+2->3->4 oder RM(1+2)+2->3->4 etc.)
     
  3. Moogulator

    Moogulator Admin

    Mir würde reichen, wenn es das kann was der XT mit Sounddiver konnte, jedoch mit mehr Formaten für Wandlung und höherer Aufllsung und vollen Wellen und quasi einschmuggelbarkeit von ganzen Samples als Wavesequencing-Element, was natürlich kein Wavetable-Ding mehr wäre. Aber als Datentyp erkennbar ein anderes Ding aber auch durchfahrbar a la Radias (nur mit eigenen Samples halt) plus 16-32Bit full cycle WT editing und das wäre schon toll.
    128 Waves dann, weil wir ja 7 Bit haben und so, aber das haben sie ja schon. Es fehlt also nicht sooo viel.
    Die UPAWs einfach übernehmen wäre nett und da gibt es ja auch einen FM Mode. Das ist schon fein so.

    Filter und so ist ja die Engine selber, da reicht, was der MW XT vorgibt, aber auch gern was der Blofeld vorgibt nur bitte MehrstufenHüllkurven nicht vergessen. In Soft wäre das so wie bei FM8 oder Absynth..

    Wegen der historischen Dinge wäre gut, wenn die Struktur einen MW XT oder Blofeld ersetzen "könnte".
    FM wäre sehr lieb, Sync ebenso etc.. Aber das gibt ja das Vorbild schon vor, daher..
     
  4. Wie wärs mit:
    - Begrenzung der Dimensionen des Tables nur durch den verfügbaren Speicher.
    Ein PC mit zb. 32GB Ram ist zwar ein teurer spaß aber dafür würde ein mehrdimensionaler Table reichen.

    Einen Algorithmus zu finden um diesen Table zu füllen ist aber warscheinlich eine Lebensaufgabe... :shock:
     
  5. Moogulator

    Moogulator Admin

    Bitte auch für Macs !!!

    aber was du sagst mein ich ansich auch: Samples und Waves ab 1 Zyklus sollten genommen werden und wenn wir dabei sind reicht eine Granularengine für das Durchfahren innerhalb von Samples, um die noch aufzubohren. Das wäre echt super in einem Gerät oder Software zusammen. Aber auch ein simples durchfahren a la Sampler oder nur antriggern wie im Radias ist mir lieb, sie alle haben genug Spannung, da es in so einer Engine ansich machbar ist und aigentlich die Krönung wäre. Freies rumhüpfen im Sample wäre wirklich gut, ich mag das bekanntlich gern.

    Man könnte natürlich auch Beats und Slices als Idee mit einführen, was aber nichts anderes ist als eine Kombi der oben genannten Dinge, wenn man es RICHTIG macht ;-)
     
  6. Danke für die Tipps und Hinweise.
    Wenn, dann geht es um das richtige "Aufbohren" um damit etwas neues zu schaffen.
    Was ist mit den Partialtönen? Edgar Froese hatte mir mal gesagt, dass er dort
    gerne eine Weiterentwicklung gesehen hätte. Nur was kann man da noch
    einbauen? Ich selbst tue mich mit dem Ausdenken neuer Feature immer schwer,
    weil ich nach dem Motto lebe: "Arbeite mit dem was du hast" :)
    Und ich pers. denke, dass die Wavetablesynthese durchaus noch nicht am Ende ist.
     
  7. Moogulator

    Moogulator Admin

    Durch die Auflösungserhöhung hast du das in Teilen bereits.
    Der MW nutzt 8 Bit, und in der additiven Ebene 16 Harmonische für die Waves.

    Genau genommen wäre das ggf. ein paar eigene Frequenzen setzen zu können und diese in das System einzugliedern. Also klassisdch additive Umschiffung der Problematik "ich kann nicht richtig rauschen". ;-)

    Alternativ kann man auch so einen Satz gegen einen anderen verstimmen, was bei 2 OSCs knapp ist, bei 4 schon eine Option.
    Aber wenn du es hart willst, dann lass jeden Pegel eine Frequenz haben, die zB eine Abweichung vom HARMONISCHEN Grundton sein darf als zusätzliche Sache aber relativ zum Rest, dann würde das rel. leicht mit 2 Reglersets machbar sein: Einer für Pegel der Harmonischen, einer für die Abweichungen der zweiten Reihe und deren Amplituden natürlich, meinetwegen in einem dritten Diagramm. Und das sind dann vermutlich 64 oder so statt "nur 16".
    Dann hast du mehr. Und für den Rest könnte man ein paar Bandpässe nehmen, also die Rauschanteile in 64 BPFs zu basteln wäre auch ne Idee..

    Das wäre auch eine Möglichkeit es anders anzugehen. Das kann man dann einfach umschalten: BANDRAUSCHEN oder Sinusgenerator. Dann hast du das umgesetzt und kannst ziemlich viel mit wenig Parametern tun.
     
  8. Nunja ist es nicht so das die Wavetables nur eine Art Krücke sind um Dinge zu realisieren die sich (noch) nicht in Echtzeit berechnen lassen? Anstatt die Wellen aus dem Ram zu holen könnte man sie theoretisch auch gerade dann berechnen wenn sie gebraucht werden.

    Was meinst du genau mit Partialtönen?
    Sollen die oberwellen im Table bereits vorhanden sein oder algoritmisch aus den vorhanden abgeleitet werden (Phasenmodulation, Addition, Ringmod, etc.. ) Interessant wäre auch eine Art Komplettlösung so das sich die Granularengine zb auch als Sequencer nutzen lässt, ok ist warscheinlich ein Overkill, hätte aber den Vorteil ein Samplegenauen Anwendung ohne Performanceverluste.

    Die Schwierigkeit wird sein das du Rechenleistung und Ram optimal ausnutzen kannst. Das effektivste aber auch aufwendigste wird halt ein eigenes OS für den Rechner sein mit eigenen Scheduler, Adressierung auf die Anwendung zugeschnitten etc..
    Ein vorhandenes OS lässt sich natürlich auch nutzen, ist warscheinlich auch die einzige Praktikable Lösung.. Der Aufwand wäre einfach zu hoch.

    Aber wie war das mit dem Solaris? Ist ja auch ein PC im Synthgewand oder ist das ein anderer?
     
  9. Moogulator

    Moogulator Admin

    Von Wolfgang Palm aus gesehen ja. Speicher war teuer und das hier war ein guter Trick. Er wollte vermutlich eigentlich einen Sampler bauen. Aber es bietet das System sehr coole Möglichkeiten bei feinen Strukturen genau zu manipuliren. Dabei ist es toll, wenn man das so hinbekommen kann. Was ich aber machen würde bei den reinen Waves: Sie nicht als Sample sondern als Math-Anweisung zu speichern, heute ginge das ja, was ich vorhin beschrieb einfach in Echtzeit aufzurufen als Wave. Der Vorteil ist, dass man hier Interpolation einfach umsetzen kann, aber auch ganz andere Operationen möglich machen könnte, wie etwas das Formant Filter oder einer Art von Filtercharakteristik "zeichnen" könnte wie in Cube oder beim K5000. Der Speicheraufwand ist allerdings bei einem Sample nicht größer ;-)
    Daher egal.

    Schwirig wird nur, die längeren Samples zu integrieren in eine Interpolation der Waves, wenn es nicht grade am Anfang sitzt oder am Ende, aber eigentlich wäre es doch leicht: Man nimmt die aktuelle Wave und macht das so lange, bis der Index auf die nächste WAVE oder halt Sample zeigt. Das ist sozusagen doppeltes Herumfahren im Sample. Bei WT ist das ja nur abrufen, bei einem Sample würde man dann halt ebenfalls im Sample herumfahren nach V-Synth Art aber es wäre eben keine Einzelwave. Daher könnte man den Startwave und Index genau so benutzen wie bei Wavetables. Sehr gut für den User.
     
  10. Kann aus zeitlichen Gründen leider erst am Montag was dazu posten.
    Dann aber genauer. Vielleicht kann man da etwas ankurbeln.
     
  11. Moogulator

    Moogulator Admin

    Macht der Wolfgang das? Der kann das!
     
  12. Da hatte ich eben eine ähnliche Idee und zwar die Waves im Ram über FFT in einen Filter umzwandeln und dann durch diesen Filter eine andere Welle zu schicken. Hätte den vorteil das die breite der Transformation perfekt auf die Phasenlänge der welle abstimmbar ist. Vielleicht ist das eh das selbe, weis nicht genau was du meinst.


    Mir ist das jetzt auch nicht ganz klar.
    Soweit ich das verstanden habe würde ein mehrdimensionaler Wavetable dieses Problem lösen wenn du für jede mögliche Veränderung eine Dimension hast. Sprünge sind dann aber unerwünscht, aber du kannst ja die Envelopes je nach Phase mit einer Teilwelle des Wavetables multiplizieren um komplexere Veränderungen zu realisieren. Wird dann bei mehreren Dimensionen aber sicher sehr Rechenaufwendig...
     
  13. Moogulator

    Moogulator Admin

    Schau dir mal den K5000 und da das Formantfilter an oder in Cube von Virsyn. SO!
    Der Rest ist natürlich extrapoliert von mir wegen der Samples und so. Analog dazu ;-)

    Huch, da hab ich ein "e" vergessen.
    Mehrdimensional muss der nicht sein, es reicht eine Reihe Waves und für Samples gibt es dann Variphrase und zwar absolut und nicht relativ. Das ist der Unterschied.

    So kannst du dann im Sample zB 75% anspringen oder 32%, im VSynth kannst du nur sagen: So und so schnell durchs Sample nebst Richtung. Das lässt sich nicht direkt übertragen auf WT's daher Sample in Slices teilen und so anspringen aber auch drin stehenbleiben muss man heute können.
    Dann ist das prima verzahnt und klappt.

    Ja, kostet Rechenkraft. Richtig geil kann das Prosoniqs neues SonicWorx Pro Tool. Ein iMac Xtreme 2.8 hakte da bereits hier und da, ein MP kommt damit dann klar. Also so fein muss es nicht sein ,wäre natürlich super. Aber es reicht granuliert wie beim V oder wie andere das auch tun.
     
  14. Vsynth kenn ich nicht, den K5000 hatte ich mal, hab aber nach kurzer Zeit aufgegeben, am Gerät was zu editieren war untragbar und es hörte sich irgendwie alles nach pad an. Das ding bräuchte eigendlich die Möglichkeit die Harmonischen und Envelopes anhand von Formeln berechnen zu lassen. Den sinn des Formantfilters habe ich nicht ganz begriffen, denn es ließ sich zwar die Charakeristik einstellen aber dann später nur hin und her "schieben". Vielleicht ging da ja mehr zumindest mir hat sichs nicht erschlossen. Auch sah ich nicht ganz den sinn einen additiven Sound nochmal zu filtern. Nutzte das nur als eine Art Preview wie sich eine veränderung der harmonischen auswirken würde.
    Ein Filter aus einem Wavetable zu generieren hätte halt den Vorteil das du nur die Bereiche aus dem Table angeben musst und in welche Richtung die Modulation geht. Der Table ist ja schon vorhanden alles weitere macht dann der Rechner... und eben ließe sich die Charakteristik dann auch modulieren.
    Welcher Ansatz einfacher zu bedienen ist kommt jetzt drauf an, aber solang es besser geht als am K5000... ;-)
     
  15. Moogulator

    Moogulator Admin

    Naja, die Engine im Vsynth ähnelt der von Ableton Live oder bei Roland VariOS. Nur eben nicht als Track sondern als Instrument, vergl. auch Reaktor und Absynth, die inzwischen diese Engine auch haben, schon lang genug..
    Eine Art Real-Time Timestretch könnte man es auch nennen. Aber es basiert natürlich auf Timeslicing, denn sonst könntest du die "Segmente" nicht wiederholen und bekämst so unangenehme Schnüppelzz.
    Das fänd ich auch cooler als eine superidoupi Moog Filteremulation. ;-)

    Ich mein zusammen in einer Engine als Synth. Filtern natürlich auch gern so, dass es gut ist, aber deshalb stört das im XT auch nicht soo, dass es rel hart und spitz klingt.
    Du musst das Filter dann ja nur noch für "nachher" einsetzen, wenn man faul ist. Ginge ja auch mit WT, aber so ein Purist bin ich heute auch nicht mehr ;-)

    Formantfilter: Stell dir vor, du zeichnest eine Filterkurve ein, also ein LPF wie man das so kenn von oben ein bisschen halten, dann einen kleinen Buckel nach oben (Resonanz) und dann runter mit einer gewissen Steilheit. Das kann aber auch ein wildes Dings sein, dann hast du sowas wie einen Kammfilter.
    Eben sowas mit ein paar Zacken drin. Was das macht? Es schiebt die Add. Graphen nach und nach parallel nach rechts weg und filtert im eigentlichen Sinne dann mit dieser selbstgeschaffenen Form quasi den Sound. KAnnst du auch in Absynth im Wave Draw Mode "simulieren".

    Ggf. gibts ein Demo vom Cube, der kann das auch.

    Das ist also kein zusätzliches Filter, sondern nutzt die jetzt aktiven additiven Mischungen und schiebt sie für sich intern einfach nur nach links raus, quasi ein bisseres Schieberegister. Simpel, aber genial in der Wirkung. Beim Cube ist es eine Wechselwirkung aus 4 Add. gemalten Spektren, die interpolieren.
    Es ist also quasi ein Morph von dem was du eingezeichnet hast und dem was du mit dem FF gezeichnet hast. Er haut alles raus anteilig, wie du es eingestellt hast.

    Das siehst du schnell ein, wenn du es mal probiert hast und verstanden. Das ist das beste Feature am K5000 gewesen, das ist so schon schade, wenn du ihn nicht mit Editsoft oder so mal angeschaut hast. Ist jedenfalls fun, man muss nur wissen, dass es so arbeitet und den Rest kannst du dann am Klang hören. DAs mit den Pads stimmt im Prinzip schon. aber das Prinzip ist identisch mit dem der add WTs, nur das die WTs abrupt umgeschaltet werden oder genauer: Man merkt sich 60 (jetz 12:cool: Einstellungen und morpht einfach zwischen denen, sofern genug WTs frei geblieben sind, wenn nicht werden sie einfach umgeschaltet.
    Und deshalb kannst du heute damit auch viel machen. Aber denk an das Spektrum ,nicht so sehr an die Wellenform. Auch wenn man natürlich auch ein Shaping machen könnte oder kann.

    Filter ist also rel. unaufwendig aus heutiger Sicht. Der K5000 kann das schon und mit 64 Dingern müsste man das mit Soft auch recht gut hinbekommen und kann noch viel mehr. Der Cube macht das mit 4 Quellen und jede davon kann sogar ein Resynthese-Spektrum mit durchfahr-Hüllkurve nachstellen mit mehreren Hundert add. Oszillatoren. Und das ging schon auf dem G5 mit PowerPC recht gut.
    Will sagen: Das geht!

    Es wäre bis hier auch noch nichts neues. Du musst unbedingt V-Synth , Cube, Malström und K5000 vollständig verstehen um das hier so zu verstehen wie ich das meinte. Aber ich halte es für machbar. Und eine der coolsten Additionen zu WT-Synthese. Aus meiner Sicht zumindest.

    Filterschnickschnack und so wäre erst die zweite Liga. Denn du brauchst für einen WT Synth sowieso komplexe Hüllkurven. Sonst ist das alles nur die Hälte wert.
     
  16. Kannst Du das mal etwas näher erläutern, wie genau das aussehen sollte?
    Man hat also maximal 64 Generatoren für die additive Synthese. Diese sind in der Frequenz als auch der Amplitude nach bestimmten Kriterien einstellbar, z.B. über eine mathematische Verknüpfung?
     
  17. Summa

    Summa wibbly wobbly timey wimey

    Normalerweise hat jede Harmonische eine ganz bestimmte feste Frequenz, er meint flexible Frequenzen, das hilft einem dann nicht unbedingt bei 'nem Saegezahn, aber bei 'nem Recheck kommt man dann immerhin auf 128 Harmonische. Bei Wellenformen mit mehr Luecken in den Harmonischen laesst sich ein deutlich groessere (Audio)Bandbreite (der Wellenform) abdecken, hilft zudem bei der Resynthese...
     
  18. Moogulator

    Moogulator Admin

    Genau so.
     
  19. OK danke, habs verstanden :)
     

Diese Seite empfehlen