Re: Neues von Elektron. Analog Four
siebenachtel schrieb:
mein punkt wäre ein midi2CV zu betreiben.
slide setzen, und alle CCs geslidet zu haben, wie intern im Sequenzer.
wenn ich nen modular steuere brauche ich gate, pitch, velocity + 2-3weitere Cvs allein für einen VCO.
Das mal zwei = 12CVs.
Das ist kein extravaganter wunsch.
Nein, der Wunsch selbst ist überhaupt nicht "extravagant", sondern vollkommen verständlich. Ich halte es aber für übertrieben, dies vom MIDI-Standard zu erwarten, da dessen zeitliche und wertemäßige Auflösung Dir hier eine Menge Steine in den Weg legt. Ich werde versuchen, das an Beispielen zu verdeutlichen:
Nehmen wir einmal an, Du hast eine Sequenz aus 16tel-Noten und möchtest Deine 12 CVs "sliden" von einer 16tel zur nächsten lassen, und zwar jeweils vom Maximal- zum Minimalwert. Jede CV ist – da über MIDI-Controller gesteuert – in 128 Stufen aufgelöst, um also das Gefühl eines stufenlosen Gleitens zu bekommen, sollte schon jede zweite Stufe gesendet werden. Bei 120 bpm (Viertelnoten pro Minute) beträgt der Abstand zwischen zwei 16tel Noten 125 msec. Das Übertragen eines einzigen MIDI-Controllers dauert rund 1msec. Wir benutzen folgende vereinfachte* Formel, um auszurechnen, wieviel Zeit dafür benötigt wird:
Z = (MAX-MIN)/STEPS * 12 * 1 msec
Dabei ist "Z" die Zeit, die benötigt wird, mit allen 12 CVs in einer Auflösung von "STEPS" Schritten vom "MAX"-Wert zum "MIN"-Wert zu gelangen.
Beispiel 1
Zwischen zwei Noten sollen 12 Steuerspannungen jeweils vom Wert 128 auf den Wert 0 gleiten, wobei nur jeder 2te Schritt gesendet werden soll. Das Senden der dabei entstehenden Mengen an Controller-Daten benötigt
(128-0)/2 * 12 * 1 msec = 768 msec.
Damit sind wir schon mal auf die Nase gefallen, denn die benötigten 768 msec entsprechen der Dauer einer punktierten Viertelnote, oder deutlicher: Sie passen nicht in den Zeitraum von 125 msec zwischen zwei 16tel-Noten.
Beispiel 2
Wenn wir schon so 'ne putzige Formel haben, können wir ja mal rausfinden, was denn zwischen 16tel-Noten gesendet werden kann. Wir gehen wieder davon aus, vom Wert 128 auf den Wert 0 gleiten zu wollen, möchten jetzt aber wissen, welche Auflösung STEPS gewählt werden muss, um das zwischen zwei 16tel-Noten zu machen. Also los:
125 msec = (128-0)/STEPS * 12 * 1 msec [die msec kürzen wir auf beiden Seiten weg und rechnen etwas]
125 = 128/STEPS * 12 [mit STEPS auf beiden Seiten multiplizieren und 12 mit 128 multiplizieren]
125 x STEPS = 1536 [auf beiden Seiten durch 125 teilen]
STEPS = 12,288 [müssen wir leider auf 13 aufrunden]
Um also zwischen zwei 16tel-Noten 12 Steuerspannungen per MIDI-Controller vom Maximalwert 128 auf den Minimalwert 0 "gleiten" zu lassen, müssen die MIDI-Controller in Schritten von 13 Controller-Values "springen". Wenn wir jetzt also annehmen, dass der Maximalwert Deiner Steuerspannungen 5 Volt beträgt, der Minimalwert 0 Volt, hast Du statt eines stufenlosen Gleitens Sprünge von rund 0,38 Volt. Falls Du damit die Tonhöhe Deiner auf V/Oct reagierenden Oszillatoren steuern möchtest, sind das fast 5 Halbtöne. "Stufenlos" ist etwas anderes.
Zusammenfassung
Ich habe in den obigen Beispielen Extremwerte verwendet. Worauf es mir dabei ankam war, zu verdeutlichen, dass der MIDI-Standard Deinem verständlichen Wunsch vergleichsweise enge technische Grenzen setzt, und dass Du Dir – bei Verwendung eines solchen Systems – wohl häufiger Gedanken darum wirst machen müssen, welche Parameter Du in welcher Auflösung von welchem Wert zu welchem Wert in welcher Zeit gleiten lassen kannst, ohne dass Dein Timing wackelt. Solche Gedanken können recht störend sein, wenn Du gerade einfach nur Musik machen möchte.
Alternative 1
Die Sache beginnt interessanter zu werden, wenn Du MIDI nur nutzt, um die Start- und Endepunkte Deiner CV-Verläufe zu definieren, das Gleiten selbst aber auf Steuerspannungsebene (also nicht per MIDI) erledigst, und per MIDI die Gleitdauer bestimmst. Um das zu realisieren, brauchst Du spannungssteuerbare Portamento-Generatoren oder Slew-Limiter, und zwar soviele, wie Du Steuerspannungen gleiten lassen willst. Das muss nicht so teuer werden, wie es vielleicht auf den ersten Blick scheinen mag, denn Doepfer bietet für seinen Vocoder den Multi-Slew-Limiter A-129/3 an, der 5 CVs gleichzeitig mit der gleichen Verschleifung versehen kann. Die genauen Spezifikationen der CV-Ein- und -Ausgänge müsstest Du bei Doepfer erfragen, die Wwbsite ist da etwas nebulös, aber das könnte klappen und wäre mit 110 Euro auch nicht so teuer.
Mit einem (oder mehreren) A-129/3 und einem entsprechenden MIDI-CV-Interface (da fehlt mir die Marktübersicht) kann der OT also für jeden seiner acht MIDI-Spuren pro Schritt sechs MIDI-Controller verwalten, Du könntest also pro Spur 5 Controller für "Nutzsignal"-Steuerspannungen verwenden (diese werden dann von einem A-129/3 verschliffen) und einen Controller zur Steuerung der Verschleifungszeit des A-129/3 verwenden.
Alternative 2
Falls Du Dich für Dein Vorhaben doch dazu entschliessen kannst, eine DAW zu verwenden, kannst Du die entsprechenden Verläufe einfach als Kurven in Deiner DAW zeichnen und sie praktisch stufenlos über Hardware wie die von Expert Sleepers ausgeben.
*: Die Formel ist deshalb vereinfacht, weil sie einen möglichen "MIDI Running Status" außer acht lässt. Bei diesem wird, wenn zwei unmittelbar aufeinanderfolgende MIDI-Nachrichten Bytes gleicher Information beinhalten, nur das erste dieser Bytes gesendet. Da hilft, den Datenstrom zu reduzieren. Ich weiss nicht, welche der von Dir verwendeten Hardware-Geräte Running Status unterstützen, zudem hängt die mit Running Status erzielbare Datenreduktion auch sehr davon ab, in welcher Reihenfolge die Daten gesendet werden. Deswegen habe ich das aus dieser Rechnung weggelassen, weswegen ich durchaus zustimmen würde, falls sie jemand als "Milchmädchenrechnung" bezeichnen würde.
...und danke für zivilisierte kommunikation @serge
Gerne.