Additive Synthese - Neue Werkzeuge werden gesucht.

Das mit den "schrägen" Frequenzen löst man heute ja idr. mit dem Overlap. Die resultierende Frequenz wird durch den Phasenfortschritt bestimmt, man ist also nicht auf die Harmonischen festgenagelt.
 
ich gehe davon aus, dass es in jedem fall das zentrale und das interessanteste an (neuen) zugängen zu additiver synthese ist, die teiltöne unabhängig voneinander in der tonhöhe zu modulieren. wenn man nur statische spektren braucht, macht man ja wavetables.
 
es wird nach 9 jahren auch mal zeit, die frage des TE zu beantworten.

welche strategien gibt es, um eine größeren anzahl von teiltönen zu steuern?
 
ich gehe davon aus, dass es in jedem fall das zentrale und das interessanteste an (neuen) zugängen zu additiver synthese ist, die teiltöne unabhängig voneinander in der tonhöhe zu modulieren.

Gibt es ja schon lange (beispielsweise ConcreteFX Adder, wo alles einzeln stimm- und modulierbar ist). Aber die Ergebnisse klingen häufig nach dünnem Blech. ;-)
 
Zuletzt bearbeitet:
mit einem additive synthese synthie der nur obertöne hat, könntest du nicht mal annähernd irgendwie so etwas wie ein klavier oder eine flöte erzeugen. von rauschen ganz zu schweigen. obertöne klingen immer nach obertönen. :)
Flöte schon, Klavier wird haarig, wegen dem Anschlags Geräusch etc., das Rauschen der Flöte lässt sich auch ohne Rauschgenerator mit Hiss und etwas Unisono Erzeugen, sofern man genügen Harmonische hat. Das wirbelt die Harmonischen ausreichend rum, funktioniert afair so lange man das Rauschen nicht alleine hört. Ansonsten - wofür gibts Modulationen, ein schneller LFO ist ist nie ein Fehler ;-)

Ein FM bzw. Phasendmodulationssynth mit komplexen (mehr als nur Wellenform) additiven Operatoren würde eh auf meiner Wunschliste stehen und mit Harmonischen ist man - was die Komplexität betrifft - ausreichend bedient, so ein Synth lässt sich dann meiner Erfahrung nach (mit etwas Einarbeitungszeit) immer noch leicht editieren.
 
das erste problem was einem bei einzeln stimmbaren teiltönen begegnet ist die frage, welcher ton eigentlich welcher ist, wenn der 17. tiefer als der 18. gestimmt ist. wie würdest du das implementieren?
 
Bin mir jetzt nicht ganz sicher was das die Frage mit meinem Posting zu tun hat, wegen der Frequenzspreizung?
 
das erste problem was einem bei einzeln stimmbaren teiltönen begegnet ist die frage, welcher ton eigentlich welcher ist, wenn der 17. tiefer als der 18. gestimmt ist. wie würdest du das implementieren?
Das könnte man durch Staffelung lösen, also einzelne Addition von cum_partial_f += (1+x)×f statt einfach n×f+x. Und den Poti oder was auch immer halt auf x = +/- 1200/1200 Cent = +/-1 limitieren. Für mich Textler gibts solche Limits nicht, aber wenn ich deviation: 1432 einstelle, brauch ich mich halt ned wundern, wenn sich die Teiltöne überrennen.

Sinn macht die Frage, merk ich gerade, aber nur umgekehrt, wenn der 18. tiefer als der 17. gestimmt ist.
 
Zuletzt bearbeitet:
die frage ging an cyclotron. ich mach hier auch immer 3 sachen gleichzeitg, da kommt es schon mal vor, dass man einen beitrag erst nach einer viertelstunde absendet. :)
 
Na, und? Ein offener Thread ist für alle da, dachte ich. Da sollte es wichtiger sein, was gesagt wird, statt von wem. Wenn du nur eine Antwort von Cyclotron gelten lässt, ist das deine Sache, einem Dritten ist das egal. ;-)
 
...deine habe ich also selbstverständlich nicht ignorieren oder zurückweisen wollen.

allerdings habe ich sie sie auch nicht verstanden. :)
 
die teiltöne unabhängig voneinander

So ist es eben leicht möglich, dass sich die Teiltöne überrennen, ihre Ordnungsnummer also nicht mehr notwendig mit ihrer tatsächlichen Position im Spektrum korreliert und die Sache unübersichtlich wird.

Wenn man sie dagegen abhängig voneinander verstimmt, also jeden Teilton #n nur im Bereich zwischen #n-1 und #n+1, wobei man für die Nachbarpositionen deren eigene Verstimmung einbezieht oder nicht, jedenfalls einheitlich, sonst ists wieder Kraut und Rüben: Dann ist es durchaus händelbar, seine Klangvorstellung dem Synthesizer zu verklickern, ohne dass die Flüche des Musikers lauter sind als der.

Das ist wichtig bei teiltonbezogener hüllkurvenmodulierter Frequenzvariation. Das ist etwas, was ich noch nicht kann mit meinen Mitteln. Das heißt, doch schon, aber die ist halt unabhängig von anderen Teiltönen und es passiert leicht, dass sich der Klang fürs Ohr in zwei oder mehr Klänge sozusagen spleißt und zerfasert wie das Pferdehaar einer gerissenen Geigensaite. Ich muss also vorab immer ausrechnen, wie stark die FV für welchen TT sein darf, sie muss mit steigender Ordnungsnummer immer geringer werden, damit das nicht so leicht passiert, allenfalls zur Andickung im oberen Spektrum beiträgt.

Noch ne offene Baustelle, die Lösung liegt irgendwo bei "Verschiebe die Berechnung der Teiltonfrequenz noch weiter dahin, wo sie gebraucht wird, davor behandel sie als Tupel aus Grundfrequenz, Ordnungsnummer und teiltonspezifische Abweichung". (Zurück zum Layering: Was auch neue Möglichkeiten bei der Frequenzmodulation eröffnen würde, grundfrequenzgebundene FM ist nicht so anfällig dafür, Motorengeräusche hervorzubringen). Wie auch immer, das in echtzeitfähige Algorithmen oder Schaltkreise umzusetzen, ist dann noch mal wieder ein anderes Ding.

Diese Staffelung macht man am besten mit kumulativer Addition der Frequenz Teiltonür Teilton, dass wär mein Lösungsvorschlag.
 
Eine Kurve zu zeichnen wäre recht einfach umzusetzen. Ob diese dann 8 oder 1200 Oszillatoren bedient, könnte man einstellbar machen, daher wäre sehr flexibel.
Dazu dann 8 Snapshots über eine Zeitachse anspringbar, dazwischen darf interpoliert werden.
 
Eine Kurve zu zeichnen wäre recht einfach umzusetzen.
Und was bitte soll da dann als Gruselsound bei herauskommen? Meiner Meinung nach ginge das nur über Presets die einem schon was dem entspreichendes anbieten, Choir, Streicher, Perkussives.
 
Zuletzt bearbeitet von einem Moderator:
Und was bitte soll da dann als Gruselsound bei herauskommen? Meiner Meinung nach ginge das nur über Presets die einem schon was dem entspreichendes anbieten, Choir, Streicher, Perkussives.
Da würde ich erstmal genau definieren, was das Teil machen soll, ich hatte dazu bereits einige Gedankengänge dargelegt. Additive Synthese, Resynthese? Wenn es einfach zu bedienen sein soll, muss man mit Einschränkungen leben. Darum auch der Hinweis auf die Snapshots, die man per Modulator abfeuern kann, auch dazwischen, also interpoliert, würde Leben in die Bude bringen.
 
Und was bitte soll da dann als Gruselsound bei herauskommen?
Warum sollten "Gruselsounds" dabei herauskommen, wenn man die Intensitäten aller Teiltöne als Kurve zeichnen könnte? Eine schräg abfallende Linie würde je nach Stimmung der Teiltöne Sägezahn, Rechteck etc. ergeben. Will man es "brillianter" haben, fällt diese Linie weniger stark ab, oder man lässt sie zu den oberen Teiltönen hin wieder ansteigen…da lässt sich schon kontrolliert mit arbeiten.
 
Warum sollten "Gruselsounds" dabei herauskommen, wenn man die Intensitäten aller Teiltöne als Kurve zeichnen könnte?
Frage: Hast du dich mal mit additiver Synthese beschäftigt? Ich meine das wirklich ernst, weil kommt mir jetzt nicht so vor und damit meine ich nicht Presetdrücker. Ich kenne nur die additive Synthese vom ZynAddSubFX, aber damit geht schon was. Eigentlich müsste ich für sowas mal Reaktor bemühen, aber das ist mir zuviel Bastelkram.
 
Frage: Hast du dich mal mit additiver Synthese beschäftigt?
Ja.

Bitte, warum sollen da nur "Gruselsounds" entstehen, wenn man die Intensitäten aller Teiltöne als Kurve zeichnen kann? Beim Zeichnen von Wellenformen kann ich den Einwand verstehen, aber warum beim Zeichnen von Lautstärkeverhältnissen der Teiltöne?
 
Die Kurve ist nur ein visueller Zustand und sagt rein gar nichts zur Zuordnung der Oszillatoren aus. Mit entsprechenden Filtern kann die Kurve auf alle geraden oder ungeraden Einheiten wirken. Oder auch Resonatoren anbieten.
 
Wenn man sie dagegen abhängig voneinander verstimmt, also jeden Teilton #n nur im Bereich zwischen #n-1 und #n+1, wobei man für die Nachbarpositionen deren eigene Verstimmung einbezieht oder nicht, jedenfalls einheitlich, sonst ists wieder Kraut und Rüben: Dann ist es durchaus händelbar, seine Klangvorstellung dem Synthesizer zu verklickern, ohne dass die Flüche des Musikers lauter sind als der.

klar, und wenn sich zwei soll-frequenzen dann überkreuzen, dann machst du was genau mit deinen signalen? richtig: das macht es nur noch komplizierter. :)
 
das erste problem was einem bei einzeln stimmbaren teiltönen begegnet ist die frage, welcher ton eigentlich welcher ist, wenn der 17. tiefer als der 18. gestimmt ist. wie würdest du das implementieren?

Wirklich Ideen habe ich dafür auch noch nicht. Zumindest nicht, wenn es wirklich völlig frei und kontrollierbar sein soll. Im oben genannten Adder muss man dann immer noch ein, zwei andere Displays im Auge behalten - damit man sich nicht wundert, warum irgendwas plötzlich so ganz anders als beabsichtigt klingt. Wer schon Probleme mit der Parameterflut von "starr - additiven" hat, rennt spätestens da gackernd um den Hühnerstall.

Bei meinem o.g. Projekt mit den vielen Teiltönen hatte ich daher auch vor, gar nicht erst auf "atomarer" ebene Zugriffe zuzulassen. Das ist ja ähnlich dem Padsynth - Algorithmus, wo man ja beispielsweise auch nur Anfasser für ein paar Partials hat und der Rest dann über algorithmische Verteilung eingestellt wird. Trotzdem bleibt dann in meinem Fall noch eine Unmenge an Parametern, die einzeln zu editieren eine Strafarbeit und nur selten (= manchmal eben schon) in solche Detailfülle sinnvoll wäre.

Ich kann den Ansatz mit dem 3D Handschuh und / oder KI zumindest so als Wunsch nachvollziehen, dass man intuitiv Hand anlegen will wie in einem Videogame. Oder dem Computer sagt: "Gefällt mir noch nicht, mach mal irgendwie geiler" ... ;-)

Aber da geht es schon los mit den uralten Fragen: Was ist eine adäquate Repräsentation eines Synthesemodells bzw. teilen wir da alle die klanglich - optischen Assoziationen, so dass das auch für alle Interessierten nutzbar ist? Sonst baut man ja doch wieder nur ein neues Rätsel.
 
Eine Kurve zu zeichnen wäre recht einfach umzusetzen. Ob diese dann 8 oder 1200 Oszillatoren bedient, könnte man einstellbar machen, daher wäre sehr flexibel.

für mich wird nur umgekehrt ein schuh draus: wenn ich nur alle 1200 oscillatoren gemeinsam von der selben modulationsquelle aus in der frequenz verstimmen kann, dann brauch ich auch keine 1200 oscillatoren.

wenn du dir die einschlägigen resytheseverfahren mal anschaust, dann haben die alle ein gemeinsames problem: die analyse erfolgt nur automatisch und der zugriff auf einzelne parameter ist mehr oder weniger unmöglich (jedenfalls programmatisch. in kyma oder in spear, lemur, mit resonator models usw. kannst du natürlich manuell mit der maus reingehen, das ergibt aber noch kein neues instrument, was jedermann bedienen kann)

der versuch der in den kurzweil synths gemacht wurde geht das schon in dei richtige richtung, nämlich was die grundsätzliche idee der aufteilung von grundfunktionen in ungefähr gleich große module angeht. #irgendwasmitpitch #irgendwasmitfilter #irgendwasmitspektrum
 
für mich wird nur umgekehrt ein schuh draus: wenn ich nur alle 1200 oscillatoren gemeinsam von der selben modulationsquelle aus in der frequenz verstimmen kann, dann brauch ich auch keine 1200 oscillatoren.
Gemeinsam ist nicht gleich. Da gibt es einen großen Unterschied. Wie diese Curve auf die Oszillatoren zugreift, steht ja in den Sternen, darüber haben wir uns noch gar nicht unterhalten.
Löse dich einfach mal von dem Gedanke, die Kurve wäre linar und bedient alle Oszillatoren gleich. Was dazwischen passiert bzw passieren muss, ist nämlich viel interessanter. Und genau da sollte angesetzt werden.
 
nun, es ist ja klar das zwwei dinge nicht gehen:

- nur eine pitch envelope zur verfügung stellen

- 1200 pitch envelopes für 1200 oscis zur verfügung stellen


was ich bei solchen fragen immer mache ist erst mal alles durchprobieren, indem man die dinge so linear und simple wie möglich strukturiert, ohne schon vorher zu fragen, was das der sinn dabei sein sollte.

man könnte z.b. den user immer entscheiden lassen, ob er 16, 32, 48 oder 1024 teiltöne haben will.

dann gibt man ihm im gleichen style gruppen aus immer 16 pitch envelopes. für jede der gruppen kann er dann entscheiden, ob er sie linear, also immer 1:1 an eine 16er gruppe oscis hängen will, oder nur die erste envelope alle 16 einer gruppen modulieren sollen.

man kann ja damit scohn sehr, sehr viel machen und mal ausprobieren, wie man sinnvolle patches zusammenbastelt.

wenn man das alles beherrscht, kann man dann auf dieser basis auch diverse andere zuordnungen dieser modulationsquelle zu teiltönen vornehmen, indem man 16er und 1er modulatoren kombiniert, und beliebig viele 16er gruppen oscis layert.


trotzdem muss man den scheiß natürlich auch irgendwie programmiert bekommen, und ich möchte einfach mal ausschließen, dass es sinnvoll ist, 1200 oscis und 1200 amp envs und 1200 pitch envelopes laufen zu lassen, auch wenn man sie gar nicht braucht.
gut, könnte man auch immer in gruppen a 16 machen, ist aber immer noch ne menge overhead.

wir wissen von james mccartney, dass mann mit nur 3 CPU cycles einen filter zum schwingen bringen kann um eine cosine zu erzeugen und moderne recher können problemlos 500,000 davon erzeugen.

wir wissen aber auch, dass man diese 500,000 relativ schnell weg hat, wenn man einen synth mit 1200 solcher teiltöne 100 stimmig benutzt und jeder der teiltäne auch noch 8 hüllkurven und 5 LFOs besitzt, die man alle für rechts anders einstellen kann als für links. :)


ich persönlich benutze max/msp. was nicht unbedingt dafür bekannt ist, dass es wenig rechenleistung brauchen würde um die kompilierten bausteine dann in der canvas mit zigtausenden von signalkabeln zu verbinden. von selbstgemachten hüllkurven mit verschiedenen log/exp funktionen pro segment at audio rate mal ganz zu schweigen.

vielleicht muss daher der krampfhafte versuch sehr, sehr viele teiltöne - zumindesten als option - benutzen zu können damit einhergehen, dass die modulationsmöglichkeiten dann nur sehr rudimentär sind.

z.b. könnte man pitch hüllkurven auf eine ramp beschränken. die darf man dann so benutzen wie sie ist, oder invertieren, und man muss sich entscheiden, ob sie den ganzen weg von A nach B geht oder nur den halben weg. da sie fix ist, muss sie ncith mehr berecht werden sondern besteht nur noch aus einem buffer mit 2 samples. und mehr geht dann halt nicht.


verflucht, wenn man das zuende denkt, kommt doch wieder so ein schräges system mit spezialfunktionen wie bei kurzweil raus.
 
klar, und wenn sich zwei soll-frequenzen dann überkreuzen, dann machst du was genau mit deinen signalen? richtig: das macht es nur noch komplizierter. :)
Könnte man das wollen? Ein plausibes Szenario gewünschter Überkreuzungen von Teiltönen liegt in jedem Fall außerhalb meiner Knochen-Hirnhaut-Filterblase, da kann ich auf deine Frage hin nur achselzucken. Schon krasse Gegenverläufe in der Amplitudendimension zweier benachbarter Tt. sind irgendwie ... ich meine, genauso könntest du auch fragen, warum so ein Synthesizer nicht laufen kann, damit du ihn nicht zur nächsten Gig tragen musst.

Einfache Überkreuzungen von Sinusschwingungen könnten auch umgesetzt werden, indem sie sich punktuell treffen und währenddessen über ihre (jenseits ADSR frei gestaltbare) Hüllkurve das Amplitudenniveau der jeweils anderen annehmen. Das ist zwar ein Hack, aber bei den ausgefallensten Zielen braucht es nun mal Hacks, um sie mit den gegebenen Möglichkeiten zu erreichen.

Ich glaub, AS ist schon kompliziert genug. Derart kompliziert, dass nur ein kleiner Ausschnitt aller Kombinationen aller Möglichkeiten je in einem Musikstück sinnvoll umgesetzt werden würde. Da bin ich sogar froh, dass es irgendwo eine Grenze gibt.

Und wenn ich sowas doch mal brauchen sollte, ändere ich kurzerhand die entsprechende Codezeile zurück zu dem, wie es jetzt ist. Noch. Dass Frequenzvariation und -modulation bald auf einen Korridor des Teiltons (Layers) beschränkt ist, davon verspreche ich mir, dass man mit möglichst weniger Kopfkrampf zu kontrollierbaren Ergebnissen kommt.
 
@cornel weißt du das erstellen ist ja nicht das problem. 1000 oscis moduliert man genau so wie einen. dafür gibts in max eine kopierfunktion und in c++ große arrays und loops.

das problem ist einfach der immense CPU verbrauch oder die arbeit, die damit verbunden ist, ihn zu verhindern.

es gilt also, krasse einschränkungen vorzunehmen.

die wohl auch der user braucht, um damit kreativ zu sein. denn was ich von resynthese, dann kann ich auch samples benutzen.

an sowas ist auch mein multicycle 3D wavetable synth schon gescheitert. der hat zum schluss 1 Gb RAM gebraucht und das kam nicht in frage.
 
Zuletzt bearbeitet:
Einfache Überkreuzungen von Sinusschwingungen könnten auch umgesetzt werden, indem sie sich punktuell treffen und währenddessen über ihre

ja, das war die idee. es könnte notwendig sein, genau das zu tun, um damit etwas anderes unangenehmes zu vermeiden.

ich denke aber du unterschätzt das problem, weil wir vermutlich alle gerade in unserer filterblase sitzen und ich es von daher auch nicht korrekt erklärt habe.
 
Ein plausibes Szenario gewünschter Überkreuzungen von Teiltönen liegt in jedem Fall außerhalb meiner Knochen-Hirnhaut-Filterblase, da kann ich auf deine Frage hin nur achselzucken.

das ist weil du halt einfach auf deinem eigenen stern lebst und - ohne hier irgendeinen anspruch auf "normal" haben zu wollen - die normalsten dinge nicht kennst.

dass frequenzen sich überkreuzen ist z.b. immer dann der fall, wenn du eine stimme und aber auch formanten hast. (beispiel klar?)
 


Neueste Beiträge

News

Zurück
Oben