frage zu voices

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

Moderator: herw

Antworten
Benutzeravatar
toxonic
synth professor
Beiträge: 322
Registriert: 2. Januar 2007, 20:46
Wohnort: Stuttgart
Kontaktdaten:

frage zu voices

Beitrag von toxonic »

in angehängtem ensemble handelt es sich um ein drumsampler, bestehend aus einem einzigen samplermodul, in das man ein komplettes drumset läd. je nachdem welche note gespielt wird, erklingt das entsprechend gemappte sample (also z.b. kick, snare,...).
jetzt habe ich das so aufgebaut, das man pro note exklusive werte für envelope (a,d,r) und amplitude abspeichern kann, so dass z.b. die kick kurz und perkussiv klingt und die snare z.b. mit einer langen attackzeit einklingt.
soweit so gut, das funktioniert aber alles nur, solange auch nur eine note gespielt wird, will man 2 oder mehr samples simultan abspielen, werden die envelope und amplituden werte des zuletzt gepielten samples auf ALLE gespielten samples angewendet! gibt's da eine möglichkeit, das die samples auch bei gleichzeitigem triggern ihre entsprechenden werte beibehalten? mir fällt da nix ein!? :?
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: frage zu voices

Beitrag von herw »

toxonic hat geschrieben:in angehängtem ensemble handelt es sich um ein drumsampler, bestehend aus einem einzigen samplermodul, in das man ein komplettes drumset läd. je nachdem welche note gespielt wird, erklingt das entsprechend gemappte sample (also z.b. kick, snare,...).
jetzt habe ich das so aufgebaut, das man pro note exklusive werte für envelope (a,d,r) und amplitude abspeichern kann, so dass z.b. die kick kurz und perkussiv klingt und die snare z.b. mit einer langen attackzeit einklingt.
soweit so gut, das funktioniert aber alles nur, solange auch nur eine note gespielt wird, will man 2 oder mehr samples simultan abspielen, werden die envelope und amplituden werte des zuletzt gepielten samples auf ALLE gespielten samples angewendet! gibt's da eine möglichkeit, das die samples auch bei gleichzeitigem triggern ihre entsprechenden werte beibehalten? mir fällt da nix ein!? :?
Ja ich kann deine Beobachtung bestätigen. Es liegt wohl an den Eventtables in den Hüllkurven-Modulen:

Bild

Du benutzt die Eventtables, um für jedes der samples attack, decay, release und die Lautstärke abzuspeichern.
Die Auswahl der passenden ADR-Hüllkurve erfolgt über die x-Koordinate der Eventtable.
Bei monophonem Spiel geschieht dies über das last-voice-Modul. Ich habe hier mal nur den midiwert 69 angeschlagen. Der entsprechende Wert wird ausgelesen und gelangt polyphon dreifach mit seinem Wert an den Ausgang.
Polyphones Spiel in der MIDI-Welt ist nicht wirklich polyphon sondern immer sequentiell. Beim Spielen mehrerer Samples gleichzeitig gibt es also trotzdem eine Reihenfolge. Mit dem last-voice-Modul übernimmst Du dann den zuletzt angeschlagenen Wert (monophon!) und hast somit am Ausgang auch an allen Voices dieselben Werte anliegen. Du übergibst zwar über das last-voice-Modul monophon einen Wert, doch übernimmt die polyphone Eventtable logischerweise diesen Wert für alle Voices. Wähle zum Test mal ein sample mit langem Attack und einen anderen mit kurzem Attack. Dann schlage mal in sehr kurzer Reihenfolge mal den mit kurzem Attack zuerst an, dann mal umgekehrt. Der gesamte "Klang" richtet sich nach der zuletzt angeschlagenen Taste. Leider kann man dies bei den kurzen Drumsamples nur erahnen. Wenn Du mal in einem Testensemble zwei sehr unterschiedliche und sehr lange samples benutzt, dann wird man sicherlich sehr deutlich hören, dass beide samples jeweils die Hüllkurve der letzten Taste übernehmen.

Es gibt aber einen sehr einfachen Ausweg!

Benutze doch die Note- und Gate-Module polyphon, so wie es in einem poyphonen Ensemble gedacht ist:
Also wirf das last-voice Modul heraus:

Bild

ciao herw
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 »

uhh.... :shock:
ich bin verblüfft! warum hab ich eigentlich das last voice modul da reingebaut? da muss ich mir doch was bei gedacht haben - oder nicht?
na, wie auch immer - vielen dank herw! so klappt's! 8 )
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

toxonic hat geschrieben:uhh.... :shock:
ich bin verblüfft! warum hab ich eigentlich das last voice modul da reingebaut? da muss ich mir doch was bei gedacht haben - oder nicht?
na, wie auch immer - vielen dank herw! so klappt's! 8 )
Ich denke mal etwa so: Ich weise der zuletzt angesprochenen Voice den entsprechenden Wert zu. Dies geschieht dann wieder mit dem TO-VOICE-Modul. Siehe hierzu auch den Thread "LFO: aus 1 mach 4 (und mehr)".
Solange mit allen Voices dasselbe geschehen soll (wie in Deinem Fall) ist das nicht notwendig. Interessant wird es erst dann, wenn einzelne Voices eine völlig andere anschließende Verarbeitung haben. Hier heißt es aber immer nur: greife auf die event-table zu. Dies ist für alle Voices aber gleich. Das rafinierte an der event-table ist, dass sie selbst für jede Voice auf dieselbe Tabelle zugreifen kann. Das wirkt sich so aus, als ob für jede Voice eine eigene Tabelle angelegt würde.

ciao herw
Benutzeravatar
toxonic
synth professor
Beiträge: 322
Registriert: 2. Januar 2007, 20:46
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von toxonic »

noch kurz... ich weiß jetzt wozu ich das last voice macro eingebaut habe:
und zwar wird auch an verschiedenen stellen im table modul geschrieben, wenn an wx ein polyphones signal anliegt, was ja nicht zweckmässig ist, weil man ja immer nur ein sample gleichzeitig editieren will!
also das last voice macro in den signalweg zum wx eingang des tables einbauen und gut!
danke nochmal!
Benutzeravatar
herw
moderator
Beiträge: 3122
Registriert: 13. März 2006, 18:28
Wohnort: Dortmund

Beitrag von herw »

toxonic hat geschrieben:noch kurz... ich weiß jetzt wozu ich das last voice macro eingebaut habe:
und zwar wird auch an verschiedenen stellen im table modul geschrieben, wenn an wx ein polyphones signal anliegt, was ja nicht zweckmässig ist, weil man ja immer nur ein sample gleichzeitig editieren will!
also das last voice macro in den signalweg zum wx eingang des tables einbauen und gut!
danke nochmal!
gern geschehen; war auch für mich interessant, da ich mich ohnehin damit im Moment beschäftige.
Ich lerne dabei auch, zu verstehen!

ciao herw
Antworten