Geht MIDI Round Robin durch "Transformer" in Echtzeit?

Hallo Ihr Experten,

ist es möglich, das Midi-Plugin “Transformer” so zu programmieren, daß man einen sich wiederholenden Round Robin-Zyklus in Echtzeit spielen kann?

Beispiel:
Die Eingangs-Note ist immer C3 (erzeugt durch ein e-Drum-Pad)

Der Output-Zyklus soll 8 Notennummern umfassen, die sich immer in dieser Reihenfolge wiederholen:
C3 → C#3 → D3 → D#3 → E3 → F3 → F#3-> G3 → | C3 → …

Wenn ein Midi-Transformer-Experte das hinbekommt, wäre ich mega für eine Beispielsprogrammiereung dankbar! :smiley:

PS: Es soll nicht um Anti-Machine-Gunning gehen - ich weiß, daß ich mit Transformer RANDOM-Play hinbekomme - sondern wirklich um eine festen Zyklus.
Ich weiß auch, daß es Round Robin-fähige VSTi-Sampler gibt, ich würde nur sehr gerne wissen, ob man auch den Cubase eigenen “Transformer” dazu bewegen kann, echtzeitmäßig Zyklen mit einer einzigen “incoming” Midi-Note zu spielen :wink:

Hi Craig,


die Frage ist ja, was möchtest du damit antriggern?
Letztendlich spielst du ja ein Sample an, welches jeweils mit eingehender Midi-Note ausgetauscht werden soll.
Dies würde ich bevorzugt lieber gleich im > Sampler realisieren. Kontakt oder Halion können das ja wunderbar.
Über den umständlichen - und IMHO sinnfreien - Umweg per Transformer-Verbiegungen erschliesst sich mir dein Vorhaben nicht so ganz.

ok, ich möchte mit einem (einzigen) e-Pad VSTi’s wie z.B. Nexus-Synth zum Melodiespiel antriggern. Wenn ich z.B. hergestellte Samples von meinem Nexus-Klang in einem Sampler-VSTi round-robin-mäßig triggere, ist das Sustain-Verhalten ja nicht mehr da: ein Samples ist am Ende mit Triggern eines neuen Samples ja abgeschnitten. :wink:

Von daher hätte ich am besten noch als Quest für den Transformer ergänzen müssen: Gib jeweils Note-Off-Event der vorherigen Note des Cycles beim neuen Note-On-Event aus!

Halt so, als würde ein Keyboarder spielen…

Aha… :wink:
Der Nexus bietet, soviel ich weiss, eh kein Roundrobin Samplemapping.
Nexus von nem Drumpad antriggern ist sicherlich auch nicht gerade sonderlich praktikabel.
Sample doch gewünschte Sounds einfach ab, und drag die in einen Sampler, dort nimmst du gewünschtes Verhalten vor.
Das geht übrigens auch bequem mit dem internen Cubase Groove Agent SE. Dort kannst du u.a. auch einen OneShot-Mode nutzen, welcher für dein Vorhaben - nämlich dem triggern mit einem Drumpad - ideal ist…
Ansonsten kann man selbst im Kontakt oder dem Halion Sampler genug einstellen, um die von dir gewünschten Ergebnisse zu erhalten.

Das sollte doch mit dem MidiPlugin ArpacheSX gehen.
Man kann das Ding auf SequenceModus stellen, einen Midipart rein"droppen" (deine Notenfolge) und den so einstellen, dass er mit jedem Notentrigger einen Step weiterschaltet.
arpsx.PNG

Hab’s grad mit den AppacheSX probiert und krieg es nicht hin, dass er immer nur eine Note weiter spielt, ich hab’s nur geschafft, dass er das MIDI-File fortlaufend weiter spielt (also so lange weiter Noten schickt) bis man von der Taste heruntergeht…


Mit Bidule hab ich es wenigstens so hinbekommen, dass es statt einer Note, zufällig eine von 3 Noten spielt, und alles andere (-2 Noten die beim “round robin” draufgehen) unbearbeitet weiter schickt.
leider hab ich’s nicht hinbekommen, dieses in einer bestimmten Reihenfolge zu machen…


1.PNG
2.PNG

loopmidi (um MIDI mäßig von z.B. Cubase nach Bidule und wieder zurück zu kommen)
Bidule


(man kann leider nur 3 Anhänge pro post hochladen…)
3.png
4.PNG

Das funktioniert hier mit ArpSX einwandfrei
Wenn du den ArpacheSX so einstellt, wie im angehängten Bild, schaltet er pro Trigger einen Schritt weiter.
Insbesondere oben rechts muss auf TriggerCnt stehen.
Es kann aber sein, dass das nur mit dem neuen ArpacheSX geht.
arpsx.PNG

Allen bis hierher danke!

Das was am nächsten rankommt, ist der ArpSX; allerdings gibt es kein Note-Off-Event der letzten Note beim Triggern der nächsten, was natürlich die Notenlänge unkontrollierbar macht. :cry: Sie soll halt so lang andauern bis der nächste Pad-Anschlag kommt.
Kriegt das jemand hin??

(@ Centralmusic: ich hab doch schon beschrieben wie das Verhalten im Sampler ist. Da sind die Enden der Samples beim Triggern des nächsten Events (beim Setting “1 Voice” im Sampler) abgecuttet, und es gibt kein Sustainverhalten. Das ist der Grund gegen die Entscheidung der Sampler-Methode. :wink: )

genau so etwas kannst du - wie bereits erwähnt - im Kontakt scripten (!) Das geht, ich sah es einst beim Kumpel.
Nils' Kontakt Script Tutorial Aber ich denke, es sind Vorschläge genug. :wink:

Danke für den Link, aber so 'ne Script-Programmiereung ist mir zu heftig :confused: und ich will doch nicht Kontakt spielen sondern Nexus… habe Kontakt nocht nichtmals :frowning: - nutze den GrooveAgent SE bisher für RoundRobin-Samples.

:question: Und wie willst Du das Nexus-Play in Sachen Sample-Herstellung für Kontakt übersetzen?? Bzw. wie würdest Du das zeitliche Ende eines Klangs im Hinblick auf das Sample-Making händeln? Das geht doch eigentlich überhaupt nicht…

Ist doch ok, kein Problem. (Das Scripting ist aber nicht schwer). Verstehe dich aber. :slight_smile:

Ist vl. etwas umständlich (vl. geht’s noch einfacher) aber hab’s jetzt mit Bidule vl. so hinbekommen wie Craig163 wollte:
Alles gleich wie beim vorherigen Beispiel, aber anstelle eine Note zufällig (mit den “Note Shuffler”) auf eine von 3 andere Noten zu ändern, läuft ein “Counter_1” der von 1-3 zählt (und anschließend wieder von vorne beginnt) und damit einen “Note Transposer_0” ansteuert…

(die drei blauen “Stecker” oben beim “Note Transposer_0” sind: semitones, detune und velocity value)




Edit:

@ Voodoo: kannst Du vl. ein cpr mit einen GA und den ArpacheSX hochladen, wo das “round robin” halbwegs funktioniert, ich krieg’s mit meinen CB8.5.20 einfach nicht hin, obwohl ich es mehrfach, mit Hilfe Deines Screenshots, versucht habe…


Bei den Bidule Bsp. in diesen Post, wird einfach nur die Note geändert, Note On und Off bleiben wo sie sind :confused: hab leider erst jetzt gemerkt das Du es anders gemeint hast als ich dachte. Du willst, dass Die “geround robinierte Note” solange gehalten wird, bis die nächste “geround robinierte Note” daher kommt oder irgendeine?


LG


Ja, solange, bis die nächste “geround robinierte Note” daher kommt.

Habe versucht Dein Beispiel nach all Deinen Bildern (mit Update des letzten Bildes) nachzubauen. (mein Bidule-File ist hier angehängt)

  • Frage: gibt es einen Unterschied zu Deinem Setting??
    Bekomme nämlich dabei random-mäßige Änderungen der Noten D1 bis F1 (wahrsch. wegen diesem + - 2 Oktaven-Ding ist es bei mir D1 und nicht D3) in drei Noten, die aber auf keinen Fall gleichmäßig cyclen (Beispiel: ich spiele D1 und bekomme random Noten zwischen D#1 , E1 , F1 mit oft vielen gleichen Noten hintereinander). Teste hier gerade mit einem Midi-Keyboard, was Note-On und Note-Off-Events midi-keyboard-standardmäßig verarbeitet.

Was ich gar nicht kapiere, ist warum Du bei dem “Counter” MaxValue 3 setzt und warum die eine “Note Filter Range” C0 bis C#3 ist, und die andere C0 bis F3. Das hat doch nichts mit meinem Beispiel zu tun, oder?:

(hier nochmal mein Beispiel:
Die Eingangs-Note ist immer C3 (erzeugt durch ein e-Drum-Pad)
Der Output-Zyklus soll 8 Notennummern umfassen, die sich immer in dieser Reihenfolge wiederholen:
C3 → C#3 → D3 → D#3 → E3 → F3 → F#3-> G3 → | C3 → …)


:exclamation: EDITmäßig sei noch erwähnt, daß das e-Drum-Pad am Drum-Modul standardmäßig nach ein paar hundertstel Sekunden nach einem Note-On-Event einen Note Off-Event mit der Velocity 64 ausgibt…
ich-RoundRobin-Test.7z (1.49 KB)

arpsx-test.zip (92.6 KB)
als trackpreset

Die Lösung ist nicht perfekt, wandelt aber den Midieingang wie gwünscht um. Note off wird leider, wie Craig schon bemerkte, nicht verarbeitet. Statt dessen wird die Notenlänge aus dem Pattern genutzt.
Insgesamt ist das wirklich nur für Drums geeignet.

Ich würde an Craig’s Stelle mit Reaktor oder ähnliches arbeiten. Man bräuchte einen Patternsequencer, der Midinoten schickt, während der MidiInput an den ClockEingang des Patternsequencer geht. Dann würde der Sequencer bei jeden NoteOn einen Schritt weiter springen. Parallel könnte der Midieingang ein Noteoff ebenfalls an den Midiausgang geben, um auch die Schrittlänge im Midiout zu haben.
Ich denke, dass das mit Reaktor sehr einfach möglich ist, zumal dort sehr viele Patternsequencer mitgeliefert werden, bei denen man den Clockeingang nur mit dem MidiIn verbinden müsste.

@ Craig163:
Das Bidule von mir funktioniert auch nicht leider 100%ig, meist geht es, selten spielt er die gleiche note 2x. Dachte gestern ich hätte einen Fehler gemacht…
Es ist so gedacht das die Note D2 transponiert wird.
Wenn man einen Anderen “Round Robin Bereich” haben will: Stellt man beim ersten MIDI Note Filter ein welche Noten von “unten nach oben” nicht transponiert werden sollen und mit den 2. MIDI Note Filter welcher Bereich notentechnisch “oberhalb” weggefiltert werden soll, damit er nicht transponiert wird. Bei den Bidule was ich in diesen Post hochgeladen habe. ist die Tiefste Note die zum Transposer kommt D2. und die höchste E3. Man darf #D3 und E3 aber nicht drücken (sonst müss man dafür sorgen dass zuvor #D3 und E3 in ein D3 gewandelt werden, bevor sie in den Transposer gehen)…

Der “Counter” zählt je Note von 1-3
und steuert damit den Semitone Eingang des “Note Transposers” an.


@ Voodoo: Danke!!! bei deinen vorher hochgeladenen trackpreset:
Wenn man einen cycle der einen Takt ist lang macht, und am anfang einen Note, einfügt: dann spielt er immer die gleiche Note (im Loop)… Nur wenn man mehrere reintut, funktioniert es bei mir.


Im Anhang das Bidule, was bei mir sagen wir mal zu 98% funktioniert, die “Snare am D1” macht round robin.
Wenn es nicht geht, schließe Bidule und öffne es neu, dann funktioniert es bei mir meistens…
bin gespannt ob wir’s noch so hinbekommen wie Craig163 es sich vorstellt.
Bidule Round Robin.zip (1.24 KB)

Nur zur Info: man kann mit der Krücke keine Parts abspielen. Insofern macht es auch keinen Sinn, die Midieingaben aufzunehmen. Höchstens Audio macht Sinn. So weit ich das in Erinnerung habe, wird der ArpSX bei Patternwiedergabe auch mit dem PosPointer synchronisiert, was für unser Szenario ungünstig ist.

Das ist nur für die Liveeingabe gedacht. Das war ja auch die Anforderung. Mit jeder Taste eine andere Note spielen.

Ah. OK Danke!!!

Werd mal im Bidule form nachfragen, wenn ich Zeit hab…


LG

Danke für die Mühen, aber bei mir ist auch mit Deinem Bilude-Preset-File genau das gleiche wie mit dem von mir nachgebauten…also nicht der Hauch eines Cycles - sondern absolut Random; auch wenn ich Bilude schließe und dann neu lade…

Ich kann auch das “MIDI To Value_0”-Element sowie die linke Linien-Verbindung von “Note Filter Range_0” nach “loopMIDI port 2” komplett löschen, ohne daß irgendwas sich ändert…

Erst habe ich gedacht, Bilude sieht so umfangreich von den Möglichkeiten aus, damit müßte es eigentlich gehen. Habe auch selber rumgeschustert und denke jetzt nicht mehr, daß ich’s damit hinbekomme. Wäre vielleicht interessant dem Bilude-Entwickler oder -Forum mit Verweis auf diesen CubaseForums-Thread die Aufgabe zu stellen. Gibt es da forumsmäßig was Deutschsprachiges?

Genauso werde ich versuchen einen Cubase-Feature-Request zu starten…

400 Euro für den NI-Kram ist mir auch zu heftig, obwohl er natuürlich bestimmt toll und dafür günstig ist - aber auch wieder 'ne umfangreiche Welt für sich, die mir nicht mehr so leicht fällt, mal eben zu lernen - und das nur für meine eigentlich ja vermeintlich billige Request von ein paar geloopten Noten in Keyboardermanier :wink:

Ok. Danke!!! Werde mich wegen Bidule schlau machen und melde mich hier wenn ich was neues weiß…
Bei mir hat es vl. deshalb funktioniert weil ich, in einen Cycel, ein paar midi events im keyeditor laufen hab lassen.