Editor für Microwave 1

swissdoc

swissdoc

back on duty
Ein Real Time BPR Edit vom Microwave hat elf Bytes, eine CC Message derer drei. MIDI wird als asynchrone Bytes mit 31250 Bit pro Sekunde übertragen. Ein Startbit, acht Datenbits und ein Stoppbit ergeben eine maximale Übertragungsrate von 3125 Bytes pro Sekunde. Ein Byte wird also innhalb von 0.32 ms übertragen.

Wenn man also einen Regler dreht und alle Werte durchfahren will (127, weil man ja auf dem Anfangswert schon ist), so dauert das bei

SysEx - 447 ms
CC - 122 ms

Damit ist die Leitung dann komplett voll. Zudem wird eine DAW noch ausdünnen oder priorisieren.

Beim Microwave bieten sich zwei Varianten an:

1. Man nimmt einen der XYZ Controller und weist ihn entsprechend zu.
2. Man legt eine Hüllkurve auf das Filter und moduliert den Sustain-Level der Hüllkurve von aussen. Mit dem Decay-Wert kann man dann die Glättung einstellen.
 
solitud

solitud

||
Eine Frage an Stereoping User: sind Änderungen/Bewegungen 'steppy'/gestuft?
kenn zwar den stereoping nicht, halte es aber für undenkbar. wenn es sysex ist, ist es nicht flüssig. dafür gibts CCs.

Der Stereoping läuft wirklich sehr smooth, praktisch gibt es kein spürbares Delay. Regleränderungen werden direkt angenommen ohne das die Taste neu angeschlagen werden muss.
Cutoff mit hoher Resonanz steppt natürlich, aber das macht ein Voyager auch.
Die Firmware ist sehr ausgereift mit vielen kleinen praktischen Zusatzfunktionen wie Randomizer und einfacher Modulationszuordnung.
 
Navs

Navs

....
Danke, @solitud !

Du hast wahrscheinlich recht - ich kann mich z.B. nicht mehr erinnern, wie es beim MPG-80/MKS-80 war, ob es auch gestuft war. Sogesehen ist das Stereoping ein Programmer (wird ja auch so genannt), kein Ersatzinterface. Wie funktionieren die Potis am XT? Sind sie auch steppy bzw. 'bloss' Sysex Übermittler?
 
swissdoc

swissdoc

back on duty
ich kann mich z.B. nicht mehr erinnern, wie es beim MPG-80/MKS-80 war, ob es auch gestuft war.
Bei der Kombination ist es stufig, das liegt aber nicht am SysEx Protokoll, sondern an der lahmen CPU im MPG-80. Parameterfahrten beim Microwave sind i.d.R. unkritisch. Waldorf hat das mal intensiv auf einer Messe-Demo vorgeführt. Axel Harmann an einem D-50 als Controller und ein anderer der Waldorfs (WMF evtl.) an den Fadern. Die Bude hat gebebt. Like a Wave sage ich nur (gut, war später, und Axel hat dort gesungen, aber so in der Art).

@qwave
Herr Kopper, erinnerst Du Dich noch an diese frühe Messe. Knopfupdate und Frankfurt Tapes etc. Wir kannten uns damals noch nicht...
 
qwave

qwave

KnopfVerDreher
...
@qwave
Herr Kopper, erinnerst Du Dich noch an diese frühe Messe. Knopfupdate und Frankfurt Tapes etc. Wir kannten uns damals noch nicht...
@swissdoc
Nein, in den Jahren war ich nicht mehr auf der Musikmesse. Nur '81-'86 und dann erst wieder ab ca. '97.

Ich habe diese Axel Hartmann Waldorf-Demos auf der Messe verpasst. Habe mir auch ohne Messe 1995 einen WAVE gekauft. Habe Axel dann erst mit seinem Hartmann auf der Messe gesehen und gehört.
 
swissdoc

swissdoc

back on duty
Zwar nicht ganz diese Demo, aber fast.
In der Keyboards (oder Keys) von damals gab es einen Shot von Axel an eben besagtem D-50. Muss ich echt mal raussuchen. Ach ja, genial auch die ersten Pulse Demos mit Drums vom Microwave (die Claudius Brüse Drum-Card). Da gab es mal ein Midi-File von, schlummert auf irgendeiner alten Platte.

Note to myself: Finde endlich mal die alten Floppy Disk mit den Sony Mavica Shots vom Pulse Prototypen, den Stenz mir damals geschickt hatte. Das war ein spannendes Gebastel...
 
Navs

Navs

....
Kann man vom Gerät aus einzelne Waves bzw. Wavtables als Sysex speichern? Ich weiß, es gibt die Option 'Save all', ich möchte aber komplete Patches sichern:

Das Problem ist die begranzte Zahl der User Waves bzw. User-Error ;-) Überschreibe ich aus Versehen eine User Wave, so ist evtl. ein anderes Table mitverändert.
 
Navs

Navs

....
Ich habe es probiert aber irgendwas mache ich falsch …

die einfachen Requests funktionieren, z.B. 10 BPBR BPR Bank Dump Request

F0 3E 00 00 10 00 F7

Bei den Requests wo Data + Checksum erforderlich sind, habe ich aber keinen Glück:

04 WAVR Wave Dump Request

habe ich z.B. so probiert:

F0 3E 00 00 04 01 32 7F F7

… wo 04 die Anfrage ist und 0132 User Wave 306 entsprechen soll. Ist das so richtig als WORD oder muss das anders formatiert sein? z.B. Hex 01 20 oder 00 01 03 02? Muss die Checksumme genau übereinstimmen oder gilt, wie @swissdoc schrieb, “7F geht immer?)

Beim WaveTable Request (05 + data = uWT Nr.) habe ich ähnlich Pech gehabt.

Any ideas oder Beispiele?
 
swissdoc

swissdoc

back on duty
Ich habe das damals in Pascal so gelöst:

procedure w2(out:byte); {writes byte as two MIDI bytes}
begin
dummy:=(out and $f0) shr 4;
write(midi,dummy);
dummy:=out and $0f;
write(midi,dummy)
end;

procedure w4(out:word); {writes word as four MIDI bytes}
begin
w2(hi(out));
w2(lo(out));
end;

und dann mit

w4(246+x);

die x. User Table angeprochen. Und ja, das mit 7F funktioniert immer, ansonsten die Midi-Bytes alle zusammenzählen und logisch mit 7F anden, also

dummy:=checksum and $7f; {a checksum of $7f will do the job}
write(midi,dummy);

Siehe RAW2WT.PAS in
 
swissdoc

swissdoc

back on duty
Ja, alles in Pascal gemacht. Folge dem Link und dort findest Du den kompletten Quelltext.

Aber es ist ganz banal. Wenn Du Userwave 33 adressieren willst, so musst Du Wave No 246+33=279 addressieren. Das passt weder in ein Byte noch in Midi 7-Bit Container. Also musst Du den Datentyp WORD nehmen, also zwei Byte und dann wird es in 4 Nibbles über MIDI gesendet.

246+33=279 -> $0117

Auf MIDI wird das dann zu:

$00
$01
$01
$07
 
Navs

Navs

....
Danke @swissdoc - banal ist gut, Pascal kann ich nicht - und es hat funktioniert! 😃

Was ich nicht verstehe ist, was ich gestern falsch gemacht habe. Die Variante wave 306 = 00 01 03 02 hatte ich probiert.

Nächste Frage, um die WTs einzeln zu Dumpen, welches Daten Format wird hier erwartet? Im Dokument steht, falls nicht erwähnt, dann Hex. Leider passt 2B nicht für WT43 bzw. der Request 05 wird nicht beantwortet. Table 33 als Hex 21 (oder z.B. 02 01) geht auch nicht.
 
Navs

Navs

....
Ich habs 🙂 aber ich weiß nicht warum ...

F0 3E 00 00 05 2B 2B F7

... entfällt die Checksumme oder ist die SUM 2B? 7F ging in diesem Fall nicht. To be or not to be, so zu sagen ...
 
swissdoc

swissdoc

back on duty
Einfach im Handbuch schauen:
Code:
WCOR
------------------------------------------
IDM: 05h (Wave Control Table Dump Request)

Requests a dump of a Wave Control table.

Control tables 28..31 and 56...75 cannot be requested
since they are generated  arithmetically; also, they
do not contain dumpable Waves.

Tables   00..27 are ROM tables,
         28..31 arithmetically generated,
         32..43 internal user RAM tables,
         44..55 Card-RAM tables,
         56..75 arithmetically generated,
         76..87 ROM tables

   Byte #   Value

      0     F0h (EXC)
      1     IDW
      2     IDE
      3     DEV
      4     IDM

            Data:
      5     Control Table # (0...27, 32...55, 76...87)
      6     CHKSUM (=Byte 5)
      7     EOX (F7h)
Byte 5 und 6 müssen identisch sein. Hier braucht man den 7F Trick dann nicht.
 
Navs

Navs

....
Wie jetzt? RTFM? 😁

Ja, jetzt wo ich es lese und weiss, daß 5 = 6, ist es klar. Das ist evtl. das Problem, wenn man Sysex per copy/paste 'lernt', so wie ich. Ist es also, daß man 'den 7F Trick' nicht braucht (weil CHKSUM=Byte 5) oder, daß man keinen CHKSUM braucht?

Ich brauche einen Sysex für Dummies.
 
swissdoc

swissdoc

back on duty
Klar. Dumm fragen kann ja jeder :mrgreen: und SCNR.

Also, als echter Mann berechnet man natürlich immer die Prüfsumme, was hier auch eher banal ist. Alle gesendeten Bytes zu addieren und mit 7F zu maskieren ist nun wirklich nicht so schwer. Dumm nur, wenn man einen doofen Controller nutzen will, der eben das nicht kann. Aber egal.

Der 7F Trick funktioniert, aber evtl. nicht bei jedem Request oder Dump Type. Das wissen wir nun und in diesem speziellen Fall kann man einfach das Byte doppelt senden. Einmal als Datum und dann als Prüfsumme. Und lesen (incl. verstehen) hilft. Steht ja genau da, dass Byte 5 die Control Table spezifiziert und Byte 6 die Prüfsumme ist.
 
Navs

Navs

....
Klar. Dumm fragen kann ja jeder :mrgreen: und SCNR.
Kein Problem. Ich lese ja seit Tagen nichts anders als die FM ;-)
Steht ja genau da, dass Byte 5 die Control Table spezifiziert und Byte 6 die Prüfsumme ist.
Ich weiß, es ist ein Dokument für special interest, aber ein Beispiel pro Command wäre hilfreich gewesen. Anyway, es macht mir Spaß, sowas zu erforschen. Danke nochmals für die Unterstützung.
 
qwave

qwave

KnopfVerDreher
Wieviele haben damals zur Zeit als der MW neu war, SysEx selber manuell erstellt? Ich hatte damals zwar einen Computer, aber das war ein PPG Waveterm B. Ich hatte damals mich null für MIDI interessiert. Und Updates wurden damals als Diskette oder EEPROM verteilt und nicht als SysEx.

Ich denke mal, die Dokumentation war nur für Leute die genau wissen was sie tun und nicht für Hobbyisten wie wir. Nur heute ist es einfacher so was selber auszuprobieren. Fast alle haben ein Computer und ein MIDI-Interface. Und das Hexadezimalsystem lernt man heute im Matheunterricht oder per Wikipedia. Im Brockhaus meiner Eltern wurde es jedenfalls nicht erklärt. Aber MIDI wurde erst eingeführt, als ich schon im letzten Schuljahr war.
 
swissdoc

swissdoc

back on duty
Ich habe in der vierten Klasse das Rechnen im 7er und 26er System gelernt und Hex dann später bei Lektüre der Elrad oder so. Ein MIDI Interface für den PC habe ich mal selber gebaut und mit Pascal angesteuert. So habe ich die ersten Dumps mit dem Microwave gemacht. Bei der V2.0 Beta habe ich jedes SysEx Commando getestet, auch die lustigen, die die Knöpfe drücken und das Rad drehen. Alles vom Atari oder PC (mit Soundkarten-MIDI) und das Midi-Kompendium 2 war meine tägliche Lektüre.

Beispiel pro Command? Wo käme man denn da hin? Hast Du mal eine Unix Man-Page gelesen?

Korrekt, das Wikipedia von damals, eben der Brockhaus in 20 Bänden oder so. Ein voller Versager, wenn es um solche modernen Sachen ging.
 

Similar threads

S
Antworten
54
Aufrufe
1K
Steelflight
S
reznor
Antworten
100
Aufrufe
2K
Summa
Summa
R
Antworten
0
Aufrufe
76
Rallef
R
Martin Kraken
Antworten
3
Aufrufe
97
Summa
Summa
 


Neueste Beiträge

News

Oben