multitimbral

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

Moderator: herw

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

multitimbral

Beitrag von KlangRaum »

ich meditiere daüber, mit welchem aufwand man ein einzelnes instrument mutlitimbral machen könnte.... (nein: nicht mehrfach laden)
je länger ich darüber nachdenke, umso klarer wird, das hier ein ziemlicher aufwand nötig ist.
kennt oder arbeitet jemand an so einem ansatz?
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Re: multitimbral

Beitrag von herw »

KlangRaum hat geschrieben:ich meditiere daüber, mit welchem aufwand man ein einzelnes instrument mutlitimbral machen könnte.... (nein: nicht mehrfach laden)
je länger ich darüber nachdenke, umso klarer wird, das hier ein ziemlicher aufwand nötig ist.
kennt oder arbeitet jemand an so einem ansatz?
ich nehme mal an, dass Du damit nicht die einfachen Formen des Multitimbralen meinst, wie Keyboard-Splitting oder Layer (also Übereinanderlegen von verschiedenen Instrumenten), sondern so, dass jeder Ton (Miditon?) einen eigenen spezifischen Klang haben soll. Ich kenne das von dem Yamaha DX 100, TX81Z und den verwandten Geräten, oder jeder Miditon hat sein eigenes Instrument.
Das sollte dann vorab genau geklärt werden, ob Du das letzte oder vielleicht gar noch etwas anderes meinst.

Zum Thema multitimbral findet man hier etwas:
klangerzeugung 1
multitimbral wikipedia.org

Eigentlich ist REAKTOR selbst schon multitimbral, da ja durch die Polyphonie schon jeder Stimme eine eigen Klangerzeugung und Klangformung mitgegeben wird. D.h. wenn ich mein Instrument auf vierfache Polyphonie einstelle und dann einen Oszillator einfüge, habe ich damit eigentlich vier Oszillatoren erzeugt, die jeweils den vier aktiven Voicesträngen zugeordnet werden.
Dies hört man deuttlich, wenn man mal einen ganz einfachen Synth aufbaut und die Lautstärke mit einem Ton oder vier gleichzeitig angeschlagenen Tasten vergleicht.
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Beitrag von KlangRaum »

ich meine multitimbral im sinne dieser vielen hw-synths. hier kann ja jeder midikanal einen eigenen/eigenständigen sound wiedergeben.
mir gehts dabei um den punkt, das man sowas auf nur einer hauptinstrumenten-ebene verwirklicht. gesetzt der fall, man hat genug rechenpower, könnte man dann alle 16 kanäle polyphon ansteuern.
da problem besteht nicht darin, 16 midikanäle zu bearbeiten, sondern in der dynamischen (btw halbdynamischen) stimmverteilung auf die sounds innerhalb einer instrumentenstruktur und die entsprechende soundverwaltung
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

KlangRaum hat geschrieben:ich meine multitimbral im sinne dieser vielen hw- hw = hardware synths. hier kann ja jeder midikanal einen eigenen/eigenständigen sound wiedergeben.
mir gehts dabei um den punkt, das man sowas auf nur einer hauptinstrumenten-ebene verwirklicht. gesetzt der fall, man hat genug rechenpower, könnte man dann alle 16 kanäle polyphon ansteuern.
da problem besteht nicht darin, 16 midikanäle zu bearbeiten, sondern in der dynamischen (btw halbdynamischen) stimmverteilung auf die sounds innerhalb einer instrumentenstruktur und die entsprechende soundverwaltung
ui das wird heftig; ich habe mich bei REAKTOR noch nie mit verschiedenen Midikanälen beschäftigt. Reagiert REAKTOR eigentlich auf mehrere Midikanäle gleichzeitig? Das muss man zuerst klären.
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Beitrag von KlangRaum »

in den instrument-properties/rechter reiter lässt sich der recievechannel einstellen
für jeden channel müsste also ein empfangs-instrument vorhanden sein, das dann pitch/gate an das eigentliche klangerzeugende instrument weitergibt
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

KlangRaum hat geschrieben:in den instrument-properties/rechter reiter lässt sich der recievechannel einstellen
für jeden channel müsste also ein empfangs-instrument vorhanden sein, das dann pitch/gate an das eigentliche klangerzeugende instrument weitergibt
richtig gedacht klappt aber nicht, bei mir wird nur der erste Kanal registriert.
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Beitrag von KlangRaum »

danke für den hinweis - mein reaktor läuft momentan standalone, also ohne irgendwelche midisourcen...
werd am WE mal was anschliesen und mal schauen...
Siggi Natur ? :mrgreen:
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

herw hat geschrieben:
KlangRaum hat geschrieben:ich meine multitimbral im sinne dieser vielen hw- hw = hardware synths.
also herw, man kanns auch übertreiben mit der ausschreibe;)

also erhlich leutz, ich versteh die diskusion nich ganz: du kannst dir doch problemlos 16 instrumente reinpappen und jedes individuell polyphonieren.
midikanal setzen klappt ebenfalls reibungslos (zumindest win/standalone) - das eintzige was meiner meinung nicht geht, ist den midiout auf omni zu setzen, abere ansonsten funzts anstandslos.
Zuletzt geändert von helmsklamm am 18. Februar 2007, 17:53, insgesamt 2-mal geändert.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

helmsklamm hat geschrieben:...also erhlich leutz, ich versteh die diskusion nich ganz: du kannst dir doch problemlos 16 instrumente reinpappen und jedes individuell polyphonieren.
midikanal setzen klappt ebenfalls reibungslos (zumindest win/standalone) - das eintzige was meiner meinung nicht geht, ist den midiout auf omni zu setzen, abere ansonsten funzts anstandslos.

...
auch wenn ich die Instrumente nur in das Ensemble lade, registriert Reaktor nur Mididaten, wenn der Instrumenten-Kanal auf 1 gestellt ist. Egal auf welchen Kanal ich mein Keyboard einstelle, Reaktor empfängt nur auf extern 1.
Vielleicht gilt dies nur für die Mac-Version?

ciao herw
helmsklamm
synth gott
Beiträge: 1011
Registriert: 10. Mai 2006, 16:21
Wohnort: 030

Beitrag von helmsklamm »

ein unbefriedigender denkanstoss zur EIN instrumenten lösung:

du baust dir deine 16 sound-macros und klemmst EIN gate/pitch/etc. jeweils an einen router. diese setzt du auf 16 ausgänge und beschickst damit deine "instrumente". der pos-eingang des routers fungiert als chanel-selector - du brauchst also nen knob mit 16 zuständen, welcher dein midichanel simuliert. ist pos=1 empfängt auch nur "instrument" macro nummero 1 die daten von der tastaur, alle anderen bleiben unberührt.

hast du mehrer tastaturen und willst diese nutzen, brauchst du das channel message modul: du setzt dein "echtes" instrument auf omni und je nach empfangenden tatsatur/controller und dessen korrespondierenden kanals, gibt das modul die nummer aus. verdahtest du das mit dem POS vom router, wählt sich dieser das "instrument-macro" automatisch, je nach empfangeenen kanal. das ding is aber monophon, also 2 tatstauren/chanels gleichzeitig - ich hab keine ahnung was das teil dann ausgibt, ich vermute mal immer den zuletzt empfangenen kanal.

was bessres fällt mir grad nich ein, aber es soll auch eher ne denkanregung sein, villeicht knackst du das ja eleganter.


@herw:
ähm, ich bin mir nich sicher, ob ich dich richtig verstanden hab: du hast schon reaktor UND dein keyboard auf korrespondierende kanäle gesetzt, oder? ich kann mir einen derartigen bug nich vorstellen.
setz reaktor mal aif omni und teste mal mittels oben erwähnten chanel-info.
bitte vor jeder frage erstmal überprüfen, ob das kapitel "mein erster synth" S. 76 im hnadbuch, schon gelesen wurde.
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Beitrag von KlangRaum »

helmsklamm hat geschrieben:ein unbefriedigender denkanstoss zur EIN instrumenten lösung:

du baust dir deine 16 sound-macros und klemmst EIN gate/pitch/etc. jeweils an einen router.
nei... keine 16 soundmacros(instruments)... sondern nur eines. das ist ja grade der gag an der sache.
den akt mit 16macros und dem router kannste dir in diesem fall sparen... einfach 16mal das instrument laden, die kanäle einstellen und fertisch...

neeeee...... ich überlege eigentlich in folgendem ansatz: wenn ein instrument bei zb 4 stimmiger polyphonie 10% cpu benötigt, dann braucht es bei 8 stimmen idr keine 20%.... weil eben reaktor das ganze ressourcenschonend abwickeln kann. der ansatz ist dann einfach, das ein klangerzeugender kern - also ein macro/instrument unterschiedliche sounds ressourcenschonend erzeugt....anstatt mehrere unabhängige synths, die zusätzlichen cpu-overhead mitbringen. jeder bessere hw-synth (hw = hardware) ;) kriegt so ne dynamische verteilung hin.... warum auch nicht reaktor?

man muss mal diesen gedanken konsequent weiterdenken: die soundverwaltung auf dem üblichen weg via snaps&co dürfte dann so vermutlich nimmer so einfach laufen. vermutlich müsste man das bedienfeld als reinen dummy auslegen, bei dem dann alle elemente per CC an die klangerzeugung weitergegeben werden.

sagen wir mal, wir haben 16 kanäle und wollen pro kanal maximal 4 stimmen erzeugen... macht 64 voices.... bei 8 sinds 128 und bei 16 stimmen (dürfte als maximum ausreichen...) sinds 256. es müsste möglich sein, das in solchen schritten runterzufahren, um damit auch die cpu-last zu senken.

es gibt prinzipell 2 möglichkeiten zur stimmverwaltung:

vollkommen dynamische zuweisung: ...wobei ich jetzt schon etliche hürden speziell bei reaktor sehe, wenn es um die feststellung eines prozessende (zb release fertig) geht, damit die neuen soundparameter für einen anderen klang geladen werden können. das umzusetzen wäre vermutlich erstmal ziemlich buggy&nervtötend....

feste statische verteilung scheint mir derzeit einfacher: zb pro kanal 4 stimmig - dann wäre stimme 1-4 dem kanal 1 zugeordnet... 5-8 auf 2.... etcetcetc....
man müsste also nur noch durch entsprechendes routing die einzelnen ...nennen wirs mal SLOT(s)... ansprechen... was ja kein prob darstellt.
komplizierter wirds aber auch hier mit den bedienelementen btw der soundverwaltung

hier folgender ansatz: jeder knob/schalter sendet midiCC (was nebenbei noch einige vorteile bringt, das aber später), die für einzelne slots in einem array gepuffert werden und bei einer soundänderung in die slots geschrieben werden. das bedeutet aber auch, das maximal 128 (abzüglich reservierter sonderfunktionen) bedienelemente möglich sind. weiterhin bedeutet das, das die gesamte gui in einem gesonderten instrument untergebracht ist.

*mal nen strich drunter*

meine überlegungen sind noch lange nicht an einem umsetzungsfähigen punkt angelangt.... es ist einfach nur ne idee, die seit langem rum schwirrt. ich bin auch sicher, das da evtl noch viele wenn&aber auftauchen.
vielleicht ists auch derzeit noch garnicht umsetzbar, weil die durchschnittliche cpuleistung erst ausreicht, wenn jeder rechner 16 quad-cores ;) hat......
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

Solange nur auf einem Kanal empfangen wird, nützen solche Überlegungen nichts.
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

herw hat geschrieben:Solange nur auf einem Kanal empfangen wird, nützen solche Überlegungen nichts.
arrgghh - ich nehme alles zurück und behaupte das Gegenteil: Reaktor empfängt doch alle Kanäle ordnungsgemäß - peinlicher Experimentierfehler meinerseits.

Ok klangraum ich bin wieder in der Diskussion:
Lass uns ein einfaches Besipielensemble zusammen kreieren, das die Problematik (besser Idee) aufzeigt:
also wenn ich dich richtig verstehe, dann sollen die verschiedenen Instrumente innerhalb eines gemeinsamen Instruments liegen. Nehmen wir zunächst einmal zwei Instrumente I1 und I2 an mit vierfacher Polyphonie und auf den Midikanälen 1 und 2.
Worin soll jetzt die CPU-Ersparnis liegen? Sind die beiden Instrumente I1 und I2 gleicher oder verschiedener Bauart?
Sollen die erzeugten Klänge, Signale, etc. zu einem Instrument kombiniert werden?
Benutzeravatar
KlangRaum
synth guru
Beiträge: 647
Registriert: 1. August 2006, 12:55

Beitrag von KlangRaum »

herw hat geschrieben: Worin soll jetzt die CPU-Ersparnis liegen? Sind die beiden Instrumente I1 und I2 gleicher oder verschiedener Bauart?
Sollen die erzeugten Klänge, Signale, etc. zu einem Instrument kombiniert werden?
wie bereits gesagt: ein einziges instrument.... das zb 64 voices mit jeweils 16 gruppen zu 4 stimmen erzeugt.
bleib bei dem beispiel eines hw-synth im multimode (oder wie das sich jeweils nennt).... anders kann ich es dir nicht einfacher vermitteln


thema cpu-ersparnis:
man kann ja hier mal der einfachheit halber mal auf diesen 3-osc aus der premiumlibrary - diesen pseudo-minimoog festlegen. der ist ziemlich einfach gestrickt und braucht nicht viel cpu.
auf meinem g4 minimac schluckt der mit R5
bei 8 stimmen etwa 5.3%
bei 16 stimmen etwa 7.3%
bei 24 stimmen etwa 9.3%
.... und so weiter... jedesmal kommen 2% dazu

wenn ich nun dieses instrument stattdessen 3 mal mit je 8 stimmen lade, brauchts etwa 11.9% -dh. die grundlast ist bei dieser beriebsart immer um einiges grösser

erfahrungsgemäß wird diese differenz bei komplexeren sachen sogar noch grösser

aber es soll ja jezz erstmal drum gehen, wie man eine multimode-fähige struktur angeht...
Siggi Natur ? :mrgreen:
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

ok hab ich kapiert; aber dann wird es ja interessant: die Instrumente sollen ja wohl verschieden sein. Wie sollen sie wieder zu einem Instrument kombiniert werden, so dass eine CPU-Ersparnis herauskommt? Das könnte ja nur bei gemeinsam genutzten Instrumenten-Modulen geschehen, wie zum Beispiel Delay oder Filter oder sonstige Klangformungen?
Antworten