Spekulation Warum haben so viele Synthesizer nur ADSR-Hüllkurven?

Hier darf und soll wild spekuliert werden, vorrangig…
Ja, aber auch dabei ist es irrelevant, ob die Hüllkurve vier oder zehn Segmente hat.
bei digitalen Hüllkurven bin ich geneigt, dir zuzustimmen. Es können zwar gleichzeitig unterschiedliche Segmente unterschiedlicher Envelopes aktiv sein, aber nicht mehrere Segmente derselben Hüllkurve (bzw. wird man die Modulation gerade nicht aktiver Segmente auch nicht berechnen, wenn man es sparsam machen will - es sei denn, die Modulation der Zeiten erlaubt es, dass während des Ablaufs zwischen Zeiten hin- und hermoduliert wird).
 
bei digitalen Hüllkurven bin ich geneigt, dir zuzustimmen. Es können zwar gleichzeitig unterschiedliche Segmente unterschiedlicher Envelopes aktiv sein, aber nicht mehrere Segmente derselben Hüllkurve (bzw. wird man die Modulation gerade nicht aktiver Segmente auch nicht berechnen, wenn man es sparsam machen will - es sei denn, die Modulation der Zeiten erlaubt es, dass während des Ablaufs zwischen Zeiten hin- und hermoduliert wird).


Ich seh da immer noch kein Problem, die Segmenete einzeln zu berechnen. Ich habe selber Hüllkurven gebaut, wo sowohl die Levels als auch die Zeiten sowie die Kurvenform pro Segment in Echtzeit modulierbar waren. D.h. man hat zu jeder Zeit maximal vier Parameter, die in die Berechnung einfließen (Start Level, Target Level, Time, Shape) und nicht mehr, ganz unabhängig davon, wieviele Segmente es gibt. Um die auch mit Audiorate korrekt nutzen zu können, habe ich das Ding wie einen Oszillator gebaut, der in einer State Machine läuft. Also eine laufende "Phase", die beim Segmentwechsel nicht auf Null zurückgesetzt wird, sondern den fraktionalen Anteil mit in das nächste Segment übernimmt. Habe da nie den Bedarf gesehen, alle Segmente gleichzeitig rechnen zu müssen.
 
Richtig gut finde ich die Hüllkurven im u-he Zebra gelöst. Sind zwar nicht so viele Segmente, dafür kann man die vorhandenen so einfach oder "komplex" handhaben wie man möchte. Auch mit flexibler Zeitbasis, Loop und "Krümmung" und bei Bedarf alles über die Tastatur skalierbar oder über Anschlagdynamik.

1724932063135.png

Wenn ich es doch komplexer brauche, dann gibts immer noch die frei konfigurierbaren Multistagehüllkurven, wo man auch pro Segment die "Krümmung" festlegen kann.
 
Wieso einzeln ein- und ausschalten? Es ist ja nicht so, dass z.B. eine Lautstärkehüllkurve aus vier verschiedenen Verläufen besteht, die unabhängig voneinander abgespult werden.

weil ein digitaler signalkreis immer "läuft" und immer gleich viel cycles braucht, außer wenn man etwas ausschaltet.

alles auszuschaklten, was gerade nicht gebraucht wird ist eine denkbare strategie um holz zu sparen.

dass die einzelteile einer hüllkurve nicht unabhängig voneinander funktionieren müssten ist daneben noch auf einer anderen ebene eine falsche vorstellung. das fängt schon mit dem auslösen der releasephase an, deren zeitpunkt du vorher ja nicht kennst.

Das ist ein Verlauf, der durch drücken einer Taste ausgelöst wird, und die Lautstärke über den zeitlichen Verlauf ändert.

ich weiß ja nicht, was du unter einem "verlauf" verstehst. hast du schon mal eine volldynamische hüllkurve programmiert? du musst da sehr schnell kompromisse machen oder irgendwas optimieren wenn die rechenleistung begrenzt ist.

alleine nur schon die ganzen parametermodulationen zur verfügung zu stellen falls da mal einer dran herumdrehen will bedeutet dutzende von signalen laufen zu haben. bei den amplituden ist das simpel, bei veränderungen der zeitwerte von segmenten, die gerade laufen, fangen die kopfschmerzen dann an.

es werden ja immer noch viel lookup tables benutzt anstatt kurven live zu berechnen. letzteres müsste man aber tun wenn man live dran herumdrehen will.

und analog ist das nicht anders. es sollte doch klar sein, dass 8 elektronische bauteile doppelt so viel kosten wie 4, oder nicht?

Bedarf für so etwas habe ich quasi nie gehabt:

Anhang anzeigen 227301

Das regele ich dann im Zweifel lieber beim Spiel über Aftertouch/Modwheel oder eine DAW-Automationsspur.

ja, das bleibt das problem, dass einige wenige solchen nerdkram verlangen, der markt aber anders tickt.

dein argument, dass man schwellungen während der sustainphase oder wavetable scanning auch gleich von außen modulieren kann ist absolut valide.
auch damit stehen interne modulatoren stets in konkurrenz. deren einziger vorteil kann sein, dass sie höher aufgelöst sind als z.b. midi, aber dass das patch dadurch immer gleich klingt, das will man vielleicht gar nicht haben...
 
dein argument, dass man schwellungen während der sustainphase oder wavetable scanning auch gleich von außen modulieren kann ist absolut valide.
auch damit stehen interne modulatoren stets in konkurrenz. deren einziger vorteil kann sein, dass sie höher aufgelöst sind als z.b. midi, aber dass das patch dadurch immer gleich klingt, das will man vielleicht gar nicht haben...
Auch dann reicht mir idr. eine ADSR oder ein LFO. So komplexe, aber immer gleich ablaufende Schwellungen und WT-Scannings hab ich in meinen Use-Cases eher nicht. langsames LFO mit Random-Schwingung oder S&H mit Retrigger, bei dem Aftertouch ggf. nur den Mod-Amount steuert, reicht mir für das meiste.
 
Richtig gut finde ich die Hüllkurven im u-he Zebra gelöst. Sind zwar nicht so viele Segmente, dafür kann man die vorhandenen so einfach oder "komplex" handhaben wie man möchte. Auch mit flexibler Zeitbasis, Loop und "Krümmung" und bei Bedarf alles über die Tastatur skalierbar oder über Anschlagdynamik.

Anhang anzeigen 227313

Wenn ich es doch komplexer brauche, dann gibts immer noch die frei konfigurierbaren Multistagehüllkurven, wo man auch pro Segment die "Krümmung" festlegen kann.
Zebra hat aber auch einige MSEQ Hüllkurven.
 
deren einziger vorteil kann sein, dass sie höher aufgelöst sind als z.b. midi, aber dass das patch dadurch immer gleich klingt, das will man vielleicht gar nicht haben...
Das sollte der User aber selbst bestimmen können, wie viel Zufall er pro Stimme er für welchen Parameter gerade braucht, wenn man in der Vintage (Emulation/Nachbau) Falle sitzt hat man in der Beziehung natürlich keine Wahl ;-)
 
Ich schätze bei Surge XT mit 128 Segmenten bei der MSEG Envelope Schluss, gebraucht hab' ich so viel noch nicht, aber die Anleitung gibt in der Beziehung für die Step Modes einen Hinweis.
 
Das sollte der User aber selbst bestimmen können, wie viel Zufall er pro Stimme er für welchen Parameter gerade braucht, wenn man in der Vintage (Emulation/Nachbau) Falle sitzt hat man in der Beziehung natürlich keine Wahl ;-)

du hast mich erwischt, natürlich dachte ich dabei gerade an den microwave und ähnliche hardware implementationen aus dieser epoche. :)

aber als zufall würde ich das nicht bezeichnen, eher als auflösung. bei einer linearen hüllkurve kannst du mit ausnahme des attacks das sowieso problemslos einfach durch interpolation lösen - dass dadurch die 3 "ecken" einer ADSR dann runder werden ist sogar ein durchaus erwünschter effekt.

zuwenig auflösung kann rein digital im extremfall natürlich irgendwann zu rauschen führen, aber realistisch betrachtet könnte man z.b. problemlos 16 bit verwenden (wenn man nicht so bescheuert ist wie ich und auf hochsprachen verzichtet und daher ohne multirate und multiauflösung klar kommen muss.)

die von cyclotron oben zurecht beschriebene verfahrensweise die segmente des "master" zählers erst zu normalisieren (= in den 0-1 wertebereich bringen), dann die verzerrungen abwechselnd einzubringen, und zum schluss die amplitude zu setzen eignet sich dabei ganz hervorragend dafür, statt die verzerrungsfunktionen live zu berechnen nur noch buffer auszulesen, wo man die funktionen einmal drin hat.
dass ein gegeneinandermischen von linear und log90 nicht identisch mit log() mi variablem argument ist spielt in der praxis keine große rolle, und ob man von einem floating point wertebereich die hälfte (positiv) oder nur ein viertel (0-1) benutzt ist ebenfalls komplett irrelevant für das klangliche ergebnis.


die von mir oben vertretene idee, dass mehr punkte auch teurer werden bezieht sich zum großen teil auf komplexere designs, auf die man durch das mehr an vorhendenen punkten fast automatisch kommt.

z.b. könntest du ja plötzlich auch loop punkte live umschalten wollen o.ä., und dann ist das alles nicht mehr ganz so geradeaus zu designen.

auch darf man eines nicht übersehen: wenn man statt ADSR 8 paare hat, deren werte man frei setzen kann, dann entstehen dadurch manchmal zusätzliche ecken und manchmal nicht.

um beim absynth besipiel zu bleiben:

https://www.sequencer.de/synthesizer/attachments/1724926167292-png.227301/


würde man hier mit ausnahme der ersten und letzten beiden punkte bezierkurven verwenden wollen, stiege der rechenleistungsbedarf gegenüber einem set aus simplen verzerrungen, zwischen denen man umschalten kann, noch mal erheblich an.

so wie das gemacht ist, knacksen diese punkte nämlich noch.
 
alles auszuschaklten, was gerade nicht gebraucht wird ist eine denkbare strategie um holz zu sparen.
Es muss aber nichts ausgeschaltet werden, das nicht läuft. In ein und derselben Hüllkurve läuft während der Attackphase keine Delayphase, sie muss also nicht ausgeschaltet werden, da sie hinter der Attackphase hängt.

dass die einzelteile einer hüllkurve nicht unabhängig voneinander funktionieren müssten ist daneben noch auf einer anderen ebene eine falsche vorstellung. das fängt schon mit dem auslösen der releasephase an, deren zeitpunkt du vorher ja nicht kennst.
Muss man auch nicht kennen, es reicht vollkommen aus, zu wissen wenn es so weit ist. Sobald die Taste losgelassen wird, wird die Amplitude der Hüllkurve um einen definierten Faktor, der sich aus Aktueller Amplitude, Dauer und Kurvenform gestaltet, verringert.

hast du schon mal eine volldynamische hüllkurve programmiert?
Nein, ich bin kein Programmierer. Mathematische Kurven gehören allerdings zu meinem täglichen Brot.
 
Es muss aber nichts ausgeschaltet werden, das nicht läuft. In ein und derselben Hüllkurve läuft während der Attackphase keine Delayphase, sie muss also nicht ausgeschaltet werden, da sie hinter der Attackphase hängt.

okay, es sind nicht die kompletten segmente als solches, aber je mehr segmente du hast, desto mehr verschiedene verzerrungen könntest du haben wollen, oder z.b. auch einen zweiten loop usw. usf... das zusammen mit den modulationseingängen wird schnell teuerer als die eigentliche hüllkurve.

so wie es aussieht verlangt der pöbel aber regelmäßig, dass man mindestens mal solche envelopes auf 4-punkt verkürzen kann bzw. "ADSR" der default mode ist.

das "ADSR" prinzip und das "koordinaten" prinzip (in ermangelung eines besseres wortes dafür) bekommt man nicht so leicht unter einen hut... bzw in eine oberfläche eingebaut.
 
Anstatt mehr Hüllkurvensegmente gibts bei manchen Synths ja auch die Möglichkeit, durch Modulation die vorhandenen einfacheren Hüllkurven im Verlauf zu ändern. Ich denke dabei z.B. an die Modifier bei Waldorfsynths. Zwei Hüllkurven miteinander mathematisch verwursten (+ - * /) oder S&H usw.

Oder auch wie in Zebra eine Hüllkurve mit einer Modmap bearbeiten (bzw. eigentlich umgekehrt). Im einfachsten Fall z.B. die Hüllkurve quantisieren.

1725176190361.png

Etwa um aus einem weichen interpolierten Wavetableverlauf einen stufigen zu machen.

Anhang anzeigen zebra.mp3

Ganz anderer Ansatz, aber so kann man auch mit bisschen Fantasie etwas andere Verläufe aus einfachen Hüllkurven erzeugen.
 
Warum haben viele Synthesizer nur ADSR Hüllkurven? Ich denke mal zum einen, weil es einige Hersteller gibt, die eher eine konservative Produkt Philosophie verfolgen, weil man der Meinung ist, dass die Mehrheit der Musiker damit überfordert ist, man will die Leute nicht verwirren, oder es gibt eine Käuferschicht, die solche althergebrachten Funktionen erwarten. Zum andern sparen die Hersteller bei den Produktionskosten und bauen in der Regel in Hardwaresynths nur langsame/einfachere Prozessoren ein, die nicht in der Lage sind komplexe Hüllkurvenverläufe zu berechnen, zu interpolieren. Meistens haben Synthesizer auch nur ein kleines Display. Damit lassen sich komplexe Kurvenverläufe nur schwer einstellen und ablesen, weil man einfach damit kein Überblick hat.

Ich denke mal komplexe Hüllkurven braucht man für irgendwelche Ambient Sounds, so eine experimentelle Textur die dann im Klangverlauf verschiedene Sprünge machen kann und so weiter. Man will vieles automatisieren, weil man nicht genügend Finger dazu hat, um das manuell zu machen. Aber Depeche Mode, Kraftwerk, Vangelis und Co. zum Beispiel haben damals ihre ganzen Hits mit Synthesizer gemacht, die überwiegend nur ADSR Hüllkurven hatten , das ging ja auch und klingt alles toll.

Bei Synths mit nur ADSR moduliere ich (falls es die Modmatrix zulässt) die einzelnen Segmente von einem LFO oder eine anderen Hüllkurve aus, beim Modwave kann man glaube ich in die Stepsequenz eine Hüllkurve integrieren oder beziehungsweise der Modulationssequenzer triggert die Hüllkurven und die einzelnen Kurvensegmente lassen sich auch vom Modulationsequenzer modulieren. Meistens hat man auch sogenannte Modulationsprozessoren, wo man dann die Modulation vom LFO, ENV und Modsequenz miteinander mischen und kreuzen kann um wieder ein anderes Ergebnis zu bekommen. Und wenn dann nur ADSR, dann erwarte ich natürlich eine gewisse Qualität. Sprich das Attack Verhalten bei Brass Sounds muss gut klingen, so wie man das von den Analogsaurier aus den Achtzigern her kennt und sie müssen schnell sein für perkussive Klänge.

Theoretisch könnten sich die Hersteller auch auf einen neuen Standard einigen sowie bei MIDI2.0. Also früher ADSR, heute dann DAHDSR ( Delay, Attack, Hold, Decay, Sustain, Release)mit Curve und Offsetparameter pro Segment incl. einer Loop und Triggeroption.
 
Zuletzt bearbeitet:
Nicht zu vergessen: Sequencer und Modulations-Sequencer wie im MS2000, Radias etc. als Teil des Synths können auch teil eines Sounds sein.
"Also quasi wie Buchla 700 in heute." - Die kluge Bewegung in Grooveboxen basiert oft auf der Steuerung als eine Art "Ersatz" für komplexe Verläufe.

Bei Buchla gab es deshalb auch 5 Step Sequencer, um eben Modulation zu haben, nicht um Melodien zu sequenzieren.

Bei so etwas einigen sich Hersteller übrigens nicht - das macht man nur, weil die anderen es "auch haben" auch - das ist also ein anderer Mechanismus, es gibt keinen solchen Dirigismus, niemand fragt bei Roland bei Korg nach und umgekehrt, aber sicher wissen beide, was die andren so haben durch anschauen was da ist. Wenn man dadurch einen Vorteil hätte, komplexer zu sein, würde man das vermutlich schon einbauen. Siehe die Rompler der 90er - die haben oft komplexere Angebote. Layerprinzip oder WaveSeq oder Vector fordern freilich komplexere Hüllkurven, normale Rompler bräuchten es wiederum nicht zwingend.
 
Zuletzt bearbeitet:
Nicht zu vergessen: Sequencer und Modulations-Sequencer wie im MS2000, Radias etc. als Teil des Synths können auch teil eines Sounds sein.
"Also quasi wie Buchla 700 in heute." - Die kluge Bewegung in Grooveboxen basiert oft auf der Steuerung als eine Art "Ersatz" für komplexe Verläufe.
Sowas wie die Motion Sequencen beim Montage, das ist ja nicht pro Stimme, bei vielen Synth getaktet etc. also aus meiner Sicht kein echter Ersatz für Hüllkurven. Alleine wenn ich die Lautstärkenhüllkurve passend einstellen will, um zu vermeiden das mit 'nem Kompressor zu machen und damit die Dynamik aus dem Sound zu nehmen. Mit ADSR erzeugt da meist Ergebnisse die 'ne Menge Optimierungspotential hätten.
 
Zuletzt bearbeitet:
Ja, genau. Aber - natürlich ist es eine Ergänzung zu bestehenden Hüllkurven. Dazu sind Sequencer oft nicht perfekt, um snappy zu sein, dennoch bringt die Gesamtheit schon auch Dinge, die sonst Multisegmenthüllkurven bieten. Aber ich stimme zu, dass vieles mit ADSR geht, ansonsten - würde ich natürlich einen FM Synth auch nicht gern nur mit Sequencer und ADSR bedienen müssen. Dennoch ist es besser, wenn es das gibt, wenn es eben KEINE komplexen EGs sein "dürfen".
 
Kommt vielleicht auch ein wenig darauf an was man sucht, ob man die eigenen Ideen umsetzen will oder einfach nur so klingen wie das was man kennt und keine Zeit darin zu investieren für Sachen die man vielleicht live machen will die passenden Macros zu generieren, vielleicht sogar für die individuellen Klangveränderungen der eigenen Sounds. Weil an sich bricht der Montage seine komplexeren Hüllkurven (FM-X, aber auch für Rompler/Rampler) zum editieren beim spielen am Gerät automatisch auf ADSR runter, endlos Poti mit LED Kranz inklusive - neben den Macros die ich selbst erstellen muss und per Umschalter erreichen kann. Auch bei Software hab' ich nicht selten 4+X Macros die ich bei Bedarf belegen kann.
Dennoch ist es besser, wenn es das gibt, wenn es eben KEINE komplexen EGs sein "dürfen".
Die Frage ist doch eher warum es das nicht sein darf, mir ist klar dass eine Amp Hüllkurve beim Release in Richtung 0 gehen sollte, schon um das Voice Stealing zu vereinfachen, aber zumindest Attack Level und Sustain Time wären häufig extrem hilfreich, neben den Kurven für Attack, Decay und Release (dann vielleicht um Sustain erweitert) die man mittlerweile doch recht häufig bei einigen Synths in irgendwelchen Menüs einstellen kann.
 
Es gibt aber noch einen komplett anderen Ansatz, wenn ich mit Eurorack hantiere. Dort benutze ich eigentlich ausschließlich AD / AR und ASR Hüllkurven. Wenn es komplexer sein soll, werden mehrere einfache Verläufe gemischt, vielleicht noch mit einem einfachen Gate, weitere Hüllkurven werden verzögert gestartet oder auch mit entsprechenden Ausgängen wie End of Attack / Decay / Release.

LFOs entsprechend "zweckentfremden", indem sie mit einem Gate oder taktsynchron resettet werden. Oder eben auch ein schon erwähnter Stepsequencer, der durch einen Lag Processor geschickt wird. Sehr ungewöhnliche Verläufe entstehen, wenn dann die Lagtime zusätzlich moduliert wird. Oder auf bestimmte Steps zwischen zwei einfachen Hüllkurven mittels Sequential Switch umschalten.

Insgesamt ziehe ich bei Modular den Ansatz vor, wo eigentlich nicht zwischen Hüllkurve und LFO unterschieden wird, also mehr der Funktionsgenerator-Ansatz. Es gibt ja auch viele LFOs, die man als Einzelzyklen triggern kann.
 
Zwei Hüllkurven miteinander mathematisch verwursten (+ - * /) oder S&H usw.
fe aus einfachen Hüllkurven erzeugen.

yep, 2 hintereinanderlegen führt auch schon zu einem sehr flexiblen system.

was auch immer gut kommt ist die segmente zu benutzen um parallele prozesse zu triggern. z.b. könnte man neben dem note on und dem note off auch den beginn des sustain segments dazu benutzen, um eine zweite hüllkurve oder einen LFO zu starten, der etwas anderes steuert als die envelope selbst es tut.
 
Zuletzt bearbeitet:


Neueste Beiträge

Zurück
Oben