TT-M1 zu Midi, Protokoll

Hier gehts um HW (Soundkarten, Midi, usw.)
Antworten
killermiller
Beiträge: 1
Registriert: So 17. Mai 2015, 13:10

TT-M1 zu Midi, Protokoll

Beitrag von killermiller » So 17. Mai 2015, 13:24

Hi Leute,

seit Jahren bin ich begeisterter DigiJay-Benutzer und möchte nun auch etwas externe Hardware verwenden.

Dafür habe ich zum Scratch-Controller Tascam TT-M1 (http://tascam.com/product/tt-m1/) einen Umsetzer auf Midi gebastelt, mit dem die Drehbewegung von echten Platten als Midi-Signal erfasst werden kann.
Der Umsetzer liest Drehgeschwindigkeit und Richtung ein und gibt ein (virtuelles) Midi-Signal (über USB) aus.
Nun hänge ich etwas an der Implementierung der Midi-Befehle und könnte Hilfe von den Profis gut gebrauchen.
Auf welchen Midi-Befehlen und mit welchen Werten übertrage ich am Besten welche Zustände?

Momentan übertrage ich zwei Informationen mit Statusbyte 0xB0, also CC Kanal 0.
Zum einen die Drehrichtung mit Databyte 1 auf 0x14 und Databyte 2 entsprechend 0 oder 1
und die Geschwindigkeit mit Datenbyte 1 0x15 und Databyte 2 entsprechend zwischen 0 und 127.
Also für schnell rückwärts z.B. B0 14 01, B0 15 7F und für schnell vorwärts B0 14 00, B0 15 7F.

Eine Alternative wäre, nur einen Wert zu übertragen, dann z.B. 64 für stehenden Teller, 70 für 1.0x vorwärts, 127 für 10x vorwärts, 58 für 1.0x rückwärts, 0 für 10x rückwärts.

Oder in festen zeitlichen Abständen "Ticks" übertragen, z.B. alle 10ms den Wert 64 für "10ms vorwärts", entsprechend höhere oder niedrigere Werte für schneller oder langsamer bzw. rückwärts.

Wie ist das in anderen Controllern gelöst?
Mit was kommt DigiJay (und ggfs. andere DJ-Software) am Besten zurecht?
Also welche Werte und in welcher zeitlichen Abfolge?
Ich hab leider keinen hier, um die Werte selbst zu vergleichen...

vielen Dank schon mal im Voraus für eure Hilfe

killermiller

/Edit: Weitere Beispiele für Übetragungsprotokoll.

/Edit2:
Momentane Lösung sieht so aus, dass nur B0 01 und dann entweder 01 für vorwärts oder 7F für rückwärts übertragen wird, bei jedem "Tick". Geschwindigkeitserkennung ist dann über die Häufigkeit der Datenpakete gelöst. Bisher getestet mit Mixx (unter Win7 und Ubuntu 10.04) und Traktor 2 Pro (Win 7), funktioniert eher unbefriedigend (Geschwindigkeit wird nicht schneller als ca 1.1x, leichte Geschwindigkeitsänderungen nicht wahrnehmbar). Meiner Vermutung nach ist die nicht-Echtzeitfähigkeit von USB schuld.
Antworten