Normieren von Wertebereichen

Anfänger trifft Fortgeschrittene; hier kann man nur ganz einfache Einsteigerfragen stellen

Moderator: herw

Antworten
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Normieren von Wertebereichen

Beitrag von herw »

Hier ist durch Auftrennen ein neuer Thread entstanden. Ursprüngliche Quelle: 40 Ein/Aus-Ports übersteigen

Ab einer größeren Zahl von Verknüpfungsmöglichkeiten (auch 64 mal 64 sind noch nicht wirklich viel) ist es vorbei mit der Übersichtlichkeit. Jeder Patch ist dann das Ergebnis einer längeren Probiersitzung im Studio. Das gute daran ist, dass man dann den Patch als Snap abspeichern kann.
Insofern müssen eine Matrix, Pulldown-Menu oder auch GUI-Kabel nicht für den Livebetrieb unbedingt direkt übersichtlich sein.
Ich persönlich würde in einem zukünftigen modularen Softsynth sogar zwei bis drei GUI-Ebenen vorsehen:

A die Live-Benutzer Ebene, in der nur die wichtigsten Komponenten abgebildet sind und es nur wirklich wenige Regler und Anzeigeelemente gibt (z.B. in der Größenordnung von KORE 2). Die Regler müssen beliebig allen Reglern des gesamten Ensembles frei zugeordnet werden.

B die Grobstruktur des gesamten Ensembles als Flussdiagramm. Hier wäre es schön, wenn man die einzelnen Komponenten (Module) in der Gesamtheit sehen könnte (auch evnetuell als scrollenden Bildschirm, wenn das Ensemble sehr groß ist.

C die Verknüpfungen zwischen den Modulen sollten in einer dritten Ebene zu sehen sein, entweder wie Du es vorschlägst in einer Matrix (was bei einem großen Modulsystem mit mehreren Hundert Ein- und Ausgängen leicht zu einem sehr großen Schachbrett wird) oder zu einer großen Modulationsliste, die Patchkabel emuliert durch einen Send-Receive Auswahl mit Abschwächern oder, wie ich es bisher gemacht habe, mit einer Verkabelung direkt auf dem GUI der Ebene B.


Wichtig ist vor allen Dingen, dass man das Interface der einzelnen Module unbedingt normiert, wie Klangraum es erwähnt.
Hier gibt es die Möglichkeit, z.B. Werte zwischen -1 und +1 oder -64 und +64 als Maß zu nehmen. Damit man alle Module mit allen Modulen verbinden kann muss man sich über solche „Nebensächlichkeiten” vorher Gedanken machen. Auch muss an die Pflege des Ensembles gedacht werden, was du offensichtlich tust, wenn ich deine Post richtig deute, damit auch ein späteres Erweitern, Ergänzen, Updaten einfach ist.

ciao herw

PS: ich muss mich auch mal wieder schöpferisch mit REAKTOR auseinandersetzen, aber irgendwie läuft mir immer die Freizeit und Muße davon.
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Re: Normieren von Wertebereichen

Beitrag von KlangRaum »

herw hat geschrieben:PS: ich muss mich auch mal wieder schöpferisch mit REAKTOR auseinandersetzen, aber irgendwie läuft mir immer die Freizeit und Muße davon.
Tja, da siehts bei mir auch nicht besser aus.....

Ich benutze momentan folgende Normalisierung

„Hörbare“ Audiosignale: -1...+1
Interne Audioverarbeitung: -2...+2 -wobei der Bereich von -1 bis -2 & 1 bis 2 als Headroom für Übersteuerung und Sättigungseffekte benutzt wird (siehe Saturator) Kein Audiosignalpegel überschreitet diesen Bereich. Ausnahme ist die Frequenzmodulation, hier ist der Wert gleich der realen Frequenz, dieses Signal gilt niemals als „Hörbar“ und ich bezeichne es als „Diskretes Audio“

Events haben einen Bereich von 0 bis 127 - also 128 „Schritte“ - 7 Bit. Das gilt analog zu den über Extern-Midi übertragenen Werte. Intern kann man diesen Wert zB als CC auch überschreiten, das vermeide ich jedoch. Negative Werte werden durch einen Offset gebilden, üblicherweise -63 bis 64.

Für diverse andere Zwecke benutze ich ebenfalls ein „Diskretes Event"

Diese diskreten Werte werden nur innerhab der „Module“ benutzt: (Vorsicht: Denksportaufgabe... ;) )
Wenn ich zb ein Oscillatormodul mit FM benutze, dann beinhaltet das Modul sämtliche benötigten Operatoren. Ich habe festgelegt, das ein gewöhnliches Oscillatormodul niemals ein anderes frequenzmoduliert, falls so etwas benötigt wird, bilden die entsprechenden Oscillatoren eben ein Modul. Damit vermeide ich es, mit diskreten Werten nach „Draussen“ zu gehen und habe bei Neukonstruktionen nur normalisierte Parameter, die ein sehr einfaches verdrahten ermöglichen. Innerhalb - in der internen Macroebene- sind alle Werte frei. Zwar hab ich dabei zum Teil unsinnig erscheinende Umrechnungen zb das Ausgangssignal eines Modul wird mit 127 multipliziert um am entsprechenden Eingang eines anderen Modul wieder durch 127 dividiert zu werden.... Aber letztendlich minimiere ich damit die Fehlermöglichkeiten & Entwicklungszeit, da alle Signale exakt definiert sind. Und wie bereits angedeutet: Alles was prinzipiell als Event übertragen werden kann, wird notfalls auch konvertiert. Der zusätzliche Aufwand macht sich besonders bei grösseren Schaltung in der gesamten Performance positiv bemerkbar. Was ich auch gern benutze: Ganze Module oder Zweige davon per Remote still zu legen, indem ich sie abtrenne. Bereiche in die weder ein Audio- noch ein Eventsignal hineingeroutet wird, werden von Reaktor auch nicht berechnet (...bis auf einige Sonderfälle, bei denen das nicht so recht funktioniert...) -das kann bei Monsterensembles mitunter viel CPU-Leistung ersparen.
::kaffee::
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: Normieren von Wertebereichen

Beitrag von herw »

KlangRaum hat geschrieben:[...]Zwar hab ich dabei zum Teil unsinnig erscheinende Umrechnungen zb das Ausgangssignal eines Modul wird mit 127 multipliziert um am entsprechenden Eingang eines anderen Modul wieder durch 127 dividiert zu werden.... Aber letztendlich minimiere ich damit die Fehlermöglichkeiten & Entwicklungszeit, da alle Signale exakt definiert sind. Und wie bereits angedeutet: Alles was prinzipiell als Event übertragen werden kann, wird notfalls auch konvertiert. Der zusätzliche Aufwand macht sich besonders bei grösseren Schaltung in der gesamten Performance positiv bemerkbar. Was ich auch gern benutze: Ganze Module oder Zweige davon per Remote still zu legen, indem ich sie abtrenne. Bereiche in die weder ein Audio- noch ein Eventsignal hineingeroutet wird, werden von Reaktor auch nicht berechnet (...bis auf einige Sonderfälle, bei denen das nicht so recht funktioniert...) -das kann bei Monsterensembles mitunter viel CPU-Leistung ersparen.
::kaffee::
Ich habe für die Events ebenfalls den Wertebereich auf 0...1 festgelegt. Dass ich dann mit 1/127 -Werten arbeiten muss, ist nicht hinderlich, noch nicht einmal bei den IC-send Werten! Auch die Position einer receive-Verbindung wird mit 1/127 gesteuert.
Die Abkapselung ganzer unbenutzter Zweige erreiche ich durch das Abschalten der send-receive-Verbindungen. Nachteilig ist dann allerdings der general reset.
Die Zusammenfassung ganzer FM-Algorithmen zu einem Modul halte ich auch für sehr sinnvoll, da man die Verbindungen und Frequenzabhängigkeiten optimal gestalten kann.

ciao herw
::kaffee::
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Re: 40 Ein/Aus-Ports übersteigen

Beitrag von KlangRaum »

Vorsicht: Pöse Falle: 0 - 127 !!!!!!!!!!

Trenns ab.
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: 40 Ein/Aus-Ports übersteigen

Beitrag von herw »

KlangRaum hat geschrieben:Vorsicht: Pöse Falle: 0 - 127 !!!!!!!!!!
wobei? Fader/ Knobs? kein Problem bei richtiger Einstellung: [0/127 ... 127/127], 127 steps, mouse resolution 128; oder meintest Du den nicht zulässigen Bereich -64 ... +64 (129 Werte!)
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: 40 Ein/Aus-Ports übersteigen

Beitrag von herw »

langsam bekomme ich wieder Lust, einen richtig großen modular (2048x1024 px) zu konzipieren. :lol:
Benutzeravatar
Illya F.
synthesist
Beiträge: 54
Registriert: 9. Mai 2009, 17:23

Re: Normieren von Wertebereichen

Beitrag von Illya F. »

Nur mal so, weil ich auch gerade schaue wie ich das am besten mache und da habe ich, z.B. bei der Filterfrequenz, jetzt 0-126 genommen, da Null ja auch ein Wert ist. Ist das falsch? Ich dachte halt, wenn ich z.B. per CC von meinem kleinen M-Audio Keyboard mit einem von den Potentiometern/Encodern den vollen Bereich abdecken will, dann sind 127 Werte eben von 0-126?

Ich schaue später mal wie sich das per Automation vom Seq./Host aus verhält, habe ich noch gar nicht ausprobiert, da ich momentan mit dem Event Table und Skalierung von unterschiedlichen Parametern über den gesamten Klaviaturbereich beschäftigt bin.
Planet of the Apes.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: Normieren von Wertebereichen

Beitrag von herw »

Illya F. hat geschrieben:Nur mal so, weil ich auch gerade schaue wie ich das am besten mache und da habe ich, z.B. bei der Filterfrequenz, jetzt 0-126 genommen, da Null ja auch ein Wert ist. Ist das falsch? Ich dachte halt, wenn ich z.B. per CC von meinem kleinen M-Audio Keyboard mit einem von den Potentiometern/Encodern den vollen Bereich abdecken will, dann sind 127 Werte eben von 0-126?

Ich schaue später mal wie sich das per Automation vom Seq./Host aus verhält, habe ich noch gar nicht ausprobiert, da ich momentan mit dem Event Table und Skalierung von unterschiedlichen Parametern über den gesamten Klaviaturbereich beschäftigt bin.
Bei der Filterfrequenz mit den Werten 0 .. 126 (warum nicht 0 .. 127 ?) sind wohl die Pitchwerte gemeint. Ein Pitchwert von 0 entspricht etwa 8 Hertz.
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Re: Normieren von Wertebereichen

Beitrag von KlangRaum »

((kreisch)) bitte nur 0-127



Denkt digital.......
Siggi Natur ? :mrgreen:
ettette
user
Beiträge: 28
Registriert: 5. November 2009, 21:50

Re: Normieren von Wertebereichen

Beitrag von ettette »

Woran kann ich denn erkennen, welche Werte ein Modul (Macro...) liefert bzw. benötigt.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: Normieren von Wertebereichen

Beitrag von herw »

ettette hat geschrieben:Woran kann ich denn erkennen, welche Werte ein Modul (Macro...) liefert bzw. benötigt.
Du gehst mit dem Mauszeiger in die Nähe eines Ein-oder Ausgangs eines Moduls, dann werden dir, falls du den Informationsbutton
info.jpg
aktiviert hast, jeweils die Standard-Eingangsbereiche und eine Erklärung zu den Ausgangsbereichen gegeben.
Zum Beispiel ist beim 4-pole-Filter (Makro aus „building blocks”) für den Eingang P ein Bereich von 20..120 (Midinoten) angegeben.
range P.jpg
Die Modulation dieser Pitchwerte kann zum Beispiel über den PM-Eingang erfolgen mit einem Bereich von -1..+1 was bis zu einer Midinote nach oben und unten entspricht.
range PM.jpg
Möchte man diesen Modulationbereich größer haben, dann multipliziert man das Modulationssignal entsprechend vor dem Eingang.
PM1.jpg
Die Rangeangaben sind nur empfohlene Werte; REAKTOR verarbeitet aber auch andere Werte ohne Mucken. Die Frage ist allerdings, ob diese noch sinnvoll sind. Einen Pitcheingang eines Oszillators mit größeren Werten als 127 beispielsweise zu versorgen ist nicht sinnvoll, da sie den Frequenzbereich der Audioverarbeitung überschreiten.

(Fortsetzung nächste Post)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: Normieren von Wertebereichen

Beitrag von herw »

Manchmal gibt es auch nur inhaltliche Angaben, aus denen man auf den Bereich schließen kann; ein Beispiel ist der Ausgang des Hüllkurvengenerators ADSR.
Hier ist der Ausgangsbereich von einem Eingangswert (hier der velocitiy) abhängig.
range out.jpg
Manchmal sind die Datenbereiche auch physikalisch zu interpretieren. Durch entsprechende mathematische Operatoren vor dem Eingang kann man die Bereiche wieder verändern.
range T1.jpg
ciao herw
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
ettette
user
Beiträge: 28
Registriert: 5. November 2009, 21:50

Re: Normieren von Wertebereichen

Beitrag von ettette »

Vielen dank,
ein wirklich nützlicher Tip.
Kannte ich noch gar nicht.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: Normieren von Wertebereichen

Beitrag von herw »

ettette hat geschrieben:Vielen dank,
ein wirklich nützlicher Tip.
Kannte ich noch gar nicht.
also: experimentieren, ausprobieren, erklären, selbst erforschen, selbst beantworten ... lernen!
Antworten