Stetiger Sequenzer

Diskussionsforum für Fragen zur Struktur und Implementation in REAKTOR, auch DSP, Literatur und begleitende Software

Moderator: herw

Antworten
fweth
meister
Beiträge: 118
Registriert: 21. November 2007, 16:01
Wohnort: Österreich

Stetiger Sequenzer

Beitrag von fweth »

hi!

ich bräuchte einen ganz einfachen sequenzer, der nur zahlen ausgibt, allerdings immer von einer zahl zur nächsten "zählt". also wenn ich zB die zahlenfolge 6, 9, 2 habe, und die frequenz 3 sek ist, dann soll er in der 1. sek stetig von 6 bis 9 zählen, in der 2. von 9 bis 2 und in der 3. wieder von 2 bis 6. also echt ganz simpel, ohne irgendwelche kurven zu berechnen oder so. wenn man sich vorstellt das in der sequenz immer abwechselnd 2 zahlen stehen, dann soll es nicht so aussehen wie eine puls-schwingung, sondern einfach wie eine dreiecksschwingung. wie könnte man das machen?
Benutzeravatar
toxonic
synth professor
Beiträge: 322
Registriert: 2. Januar 2007, 20:46
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von toxonic »

hmm, kannst du dein vorhaben etwas genauer schildern? also anhand eines praktischen beispiels? wäre für's verständnis besser!
krümelmonster
synthesist
Beiträge: 90
Registriert: 6. März 2010, 18:18

Beitrag von krümelmonster »

Hallo fweth,
es gibt viele Möglichkeiten, das zu erreichen.

Wenn Du mich fragst:
Einfach mit der benötigten Frequenz - bei Dir waren es 1 Hz - einen AudioSmoother beschießen, dessen transition time gleich 1/f ist.
Aus die Maus.

Allerdings - und da wird toxonics Einwurf wichtig - können unter bestimmten Mantelbedigungen Probleme auftauchen: Wie genau "passend" müssen die Rampen sein ? Bestimmt die Frequenz den Moment des Extremwertes oder triggert das Erreichen eines Wertes die Vorzeichenänderung der Steigung ?
Rundungsfehler tauchen immer auf.
Da kommt es dann drauf an, was Du brauchst.

Hab mir dafür übrigens mal ein nettes CoreMacro gebaut. So kann man die I/O-Spezifikationen halt selbst bestimmen.
Normalerweise sollte der Trick mit dem "onboard" smoother allemal ausreichen.
Ciao, Gerald.
fweth
meister
Beiträge: 118
Registriert: 21. November 2007, 16:01
Wohnort: Österreich

Beitrag von fweth »

ich bräuchte es für so einfache automationskurve. in so programmen wie logic kann man die ja sogar als kurven mit vektoren machen, aber ich denke mir reicht es total wenn sie ganz stetig und linear ist. ich habe zwei skizzen raufgeladen, die erste zeigt wie ein normaler sequenzer funktionieren würde, und die zweite das, was ich gerne hätte. außerdem hätte ich noch einen screenshot von der automationskurve im renoise gemacht, die wäre auch so wie ich mir das vorstelle, aber den kann ich aus unerfindlichen gründen nicht hochladen. das mit dem smoother hab ich mir grad mit einem oscilloscope angesehen, das sieht eigentlich sehr gut aus, aber nervig ist nur, dass man die transition-time immer manuel einstellen muss, weil es dafür keinen eingang gibt. gut wäre, dass auch wenn man das tempo verändert, die kurve gleich bleibt.

so arbeitet ein normaler sequenzer
Seq1.gif
und so stelle ich mir das vor
Seq2.gif
hoffe das ist jetzt verständlicher (ich weiß, meine beschreibung war etwas verwirrend).

edit (herw): ich habe die angehängten Bilder mal direkt in den Text eingefügt
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
toxonic
synth professor
Beiträge: 322
Registriert: 2. Januar 2007, 20:46
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von toxonic »

okay, da muss ich nochmals auf meine eben schon gestellte frage zurückkommen - welchen zweck soll das genau erfüllen!
wenn die zwischenwerte nähmlich nicht unbedingt linear gezählt werden müssen, dann könntest du auch einen 1-pole lowpass filter verwenden, statt dem smoother! probier's mal aus, der ausgang des sequencers in den lp-filter und dann verbindest du nen knopf mit einer werteskala von -40 bis 20 mit dem P-eingang des filters....... spiel mal damit rum und kontrolliere die ausgangswerte...... ist auch ne art smoother, bloss nicht linear, ich benutze sowas i.d.r. um portamento-effekte zu verwirklichen!
Benutzeravatar
herw
moderator
Beiträge: 3123
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

Wenn ich mir die Grafiken ansehe, dann muss man zunächst bei den Voraussetzungen beginnen. Die Daten (Höhenwerte) des Sequenzers liegen in irgendeiner Form vor, entweder abgespeichert in einer Event-Tabelle oder direkt über irgendwelche Fader. Außerdem ist bekannt, zu welchen Zeitpunkten die "Stufenwerte" (siehe erste Grafik) erreicht werden sollen. Ich erläutere mal den mathematischen Hintergrund.
Es liegt eine stückweise lineare Funktion vor, daher reichen also die beiden benachbarten Werte ( a und b) und die Zeitdifferenz T zur Beschreibung aus:
y(t)=(b-a)/T·t+a .
Damit steigt oder sinkt der Wert vom Anfangswert a im Zeitintervall T stetig und linear auf den Endwert b.
Diese Formel muss man für jeden Abschnitt anwenden.
Jetzt müsste geklärt werde, wie die einzelnen isolierten Stufenwerte abgefragt werden können, dann kann man jeweils die oben angegebene Formel anwenden.

ciao herw
krümelmonster
synthesist
Beiträge: 90
Registriert: 6. März 2010, 18:18

Beitrag von krümelmonster »

Hi Herwig,
richtig, so ist es natürlich konzeptionell am saubersten.
Auf meinen oben erwähnten Bedenken muss ich allerdings bestehen:
Die Rundungsfehler des Rampeninkrementes sorgen entweder für Unsauberkeiten in der Frequenz oder der Amplitude.
Da muß man halt wissen, was einem wichtiger ist.
Für den Fall, das winzige Abweichungen in der Amplitude erlaubt sind,
lege ich hier mal mein CoreSmoother-Macro bei.
Ist sozusagen eine Nachbildung des Primary-Moduls, aber mit Input für die transition time. Die Rampen werden nach der gleichen Formel gebildet wie bei Dir - wie auch sonst ?
Veränderungen der transition time triggern nicht.
Einfach mit den jeweils neuen Werten beschießen, fertig.
Ciao, Gerald.

P.S.: Vielleicht sollte ich das Ding doch mal hochladen. Es gibt zwar schon etwas ähnliches in der UL. Das hier gefällt mir allerdings besser.
lin. event smoother -Core- demo2.zip
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
herw
moderator
Beiträge: 3123
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

krümelmonster hat geschrieben:Hi Herwig,
richtig, so ist es natürlich konzeptionell am saubersten.
Auf meinen oben erwähnten Bedenken muss ich allerdings bestehen:
Die Rundungsfehler des Rampeninkrementes sorgen entweder für Unsauberkeiten in der Frequenz oder der Amplitude.
Da muß man halt wissen, was einem wichtiger ist.
Für den Fall, das winzige Abweichungen in der Amplitude erlaubt sind,
lege ich hier mal mein CoreSmoother-Macro bei.
Ist sozusagen eine Nachbildung des Primary-Moduls, aber mit Input für die transition time. Die Rampen werden nach der gleichen Formel gebildet wie bei Dir - wie auch sonst ?
Veränderungen der transition time triggern nicht.
Einfach mit den jeweils neuen Werten beschießen, fertig.
Ciao, Gerald.

P.S.: Vielleicht sollte ich das Ding doch mal hochladen. Es gibt zwar schon etwas ähnliches in der UL. Das hier gefällt mir allerdings besser.
muss das wirklich so kompliziert sein?
EventSmoother.gif
moin moin Gerald!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
krümelmonster
synthesist
Beiträge: 90
Registriert: 6. März 2010, 18:18

Beitrag von krümelmonster »

herw hat geschrieben: muss das wirklich so kompliziert sein?
...wenn man sich um die Initialisierung kümmert und nach einem Smooth-Vorgang die Sache auch wieder terminieren möchte, dann ...
sorry, dann geht es nicht einfacher.
Ciao, Gerald.
fweth
meister
Beiträge: 118
Registriert: 21. November 2007, 16:01
Wohnort: Österreich

Re: Stetiger Sequenzer

Beitrag von fweth »

hm ich hab das jetzt mal nachgebaut, muss aber noch irgendeinen fehler gemacht haben, jedenfalls zeigt es noch keine funktion. aber bevor ich das nochmal überprüfe, hab ich jetzt selbst auch herumgeschraubt, und bin zu einer eigentlich auch recht apparten lösung gekommen.
smoother.gif
es gibt zwar kein antialaising, aber ich denke für automationskurven dürfte das kein problem sein. nur manchmal gibt es so einen komischen einbruch in der kurve
fehler-.gif
den kann ich mir nicht ganz erklären, wie der zustande kommt. oder könnte das auch nur ein darstellungsfehler der table sein?

und was kann krümelmonsters version mehr? ist die durch einen antialaisingalgorithmus so komplex in der struktur?

vielen dank
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Antworten