Arturia Beatstep USB-MIDI SYNC Adapter auf DIN-MIDI SYNC

Dieses Thema im Forum "Lötkunst" wurde erstellt von SEQ303, 28. Mai 2015.

  1. SEQ303

    SEQ303 -

    Hallo,

    der Arturia Beatstep hat ja leider keine DIN-MIDI Eingangsbuchse! Eine Sync per MIDI Clock ist nur über USB-MIDI möglich! Das geht auch super über dem Computer.

    Ich möchte aber gern ohne Computer den Beatstep über MIDI-SYNC synchronisieren!

    Die Clock kommt dabei aus meiner MIDICLOCK von E-RM http://www.e-rm.de/products/midiclock.php aber das passende Kabel oder Adaper fehlen da halt.

    Eine lösung wäre von Kenton der USB-HOST, ist aber nicht ganz günstig. Da wäre ein USB-HOST Anschluss TYPE-A vorhanden.
    http://www.kentonuk.com/products/items/ ... host.shtml

    Jetzt ist meine Idea einfach ein USB-MIDI-Kabel umzubauen.
    http://www.amazon.de/LOGILINK-USB-MIDI- ... B000XRI3CC

    An der USB-Seite eine andere USB-Buchse (Bild1 Type-A Host) löten und fertig. Ob das so einfach geht ? Wer kennt sich da aus und kann mir ein paar Tips geben.

    Alternative könnte ich mir da auch was mit dem Arduino Uno basteln, gibt es da auch schon eine Lösung?

    Gruß Michael
     

    Anhänge:

  2. Burt

    Burt -

    Die Idee mit dem LogiLink ist nicht machbar, USB-Client und USB-Host sind zwei SEHR verschiedene Paar Schuhe.
    Das Kabel ist ein 'Client', der/das Beatstep wird eine 'Host'-Verbindung benötigen.
    Zudem ist das LogiLink-Teil grundsätzlich mit Problemen behaftet.

    Arduino kann mit MIDI-Shield entweder MIDI ODER USB, also leider auch nicht so einfach.
    Arduino ist von Haus aus auch USB-Client, ob es eine USB-Host Lib gibt hab' ich noch nicht nachgeschaut.
    Hat der/das Beatstep sonst keine Möglichkeit, eine Clock anzunehmen (Trigger?)
     
  3. Achtung:
    USB-MIDI hat mit DIN-Buchsen-MIDI nur das softwareprotokoll gemeinsam: also die Bedeutung der Befehle ist bei beiden gleich.

    Aber die Hardwareumsetzung ist sehr anders: "stromtechnisch" geht es um was anderes, und die Clockrate mit der die Befehle bei USB gesendet werden ist für DIN-Buchsen-MIDI viel zu schnell.

    Das Kentongerät ist genau das Teil, das zwischen diese beiden verschiedenen Hardwarewelten übersetzt. Das braucht man leider.



    Da Du nicht Dein komplettes Setup beschreibst, und nicht Deine letztliche Zielsetzung (Livesetup? Studiosetup?) darstellst, ist es schwierig eine wirkliche Empfehlung abzugeben.
     
  4. SEQ303

    SEQ303 -

    Hallo,

    erst einmal danke für eure Antworten.

    Ich habe erst mal viel über USB Client und USB Host Controller gelernt. Ich weiß jetzt, dass der Beatstep ein USB Client ist und ich ein USB HOST Adapter TYPE-A brauche und jetzt geht’s weiter.

    Ich beschreibe mal mein Setup und meine Ziele.

    Setup:

    Taktgeber ist die MIDICLOCK, dann geht das Sync-Signal durch mein KENTON MIDI THRUE und wird weiter geleitet zu den einzelnen KISTEN (KORG Elecribe SX, ACIDLAB Bassline 3, ROLAND TB-3 oder andere) jetzt fehlt nur noch von KENTON das KENTON Midi USB Host für 129 Euro um den Arturia Beatsep über USB Midi mit den andren KISTEN zu synchronisieren. Wichtig !!! Ohne Computer :opa: Das geht ja super mit Rechner! Ich möchte aber ohne arbeiten. Die Analog Clock für den Sequential Circuits Pro One wird z.Z. von einem JMS CGX MIDI to CV Interface erzeugt, welches über DIN MIDI von der Elecrtibe SX über ein KEYBOARD PART einfach mit 16tel Noten angespielt wird. Geht super und man kann einzelne Noten sogar am Sequencer rausnehmen und Velocity wäre auch möglich.

    Ziel: Da ich ja grade versuche etwas Elektronik zu lernen, möchte ich mir gern mit Hilfe des Arduino oder Teensy selber ein MULTI-USB-MIDI-ANALOG Panel für den Einbau ein Eurorack bauen.

    Eingänge:

    DIN MIDI (SYNC IN)

    Ausgänge:
    DIN MIDI THRU (SYNC OUT)
    USB HOST (MIDI) (SYNC OUT) für Beatstep
    CV ANALOG CLOCK(SYNC OUT umgerechnet auf Analog Clock)
    CV PITCH
    CV GATE + und -
    CV VELOCITY
    CV Controller

    Na ja und da ich wie immer keine Plan habe, aber Bock darauf das zu machen. Suche ich Leute die sich mit sowas auskennen. Grade bin ich am überlegen was ich mir da für kaufen soll. Arduino Uno Original oder Nachbau oder ein Teensy 3.1 oder ein Arduino Mini Pro. Es gibt ja für den Arduino Uno sogar ein USB Host Shield was man dafür verwenden könnte.

    Hier mal ein Interessanter Link zu dem Thema: http://www.inspektorgadjet.com/cerebelusb/
    Die sind auch schon an der Sache dran!

    und hier noch der Inspirator: MIDI-Controller selber bauen (E01) (Tutorial deutsch, für Arduino-Anfänger) https://youtu.be/JONIZdLZAVM
    PS: Es geht hier ums selber machen und Verstehen! Kaufen kann jeder:)

    Wo kaufe ich am besten den Arduino und das USB Host Shield? Taugen die günstigen bei Ebay was?
    Was würdet Ihr kaufen?

    Nette Grüße Michael
     
  5. SEQ303

    SEQ303 -

    Hallo!

    So der Teensy 3.1 ist gekauft und läuft fast. Ich versuche als Test ein MIDI Befehl auf den Serial Port Ausgang TX1 zu senden.

    An den TX1 Port ist eine DIN MIDI Buchse angeschlossen. Mit 220 Ohm Wiederstand an der 5V Seite und GND und der TX1 für die Daten.

    Über ein MIDI Interface (Midisport 4X4) gehen die MIDI-Daten in den PC und werden da, mit MIDI OX angezeigt (Eigentlich).

    Jetzt mein Problem!

    Die MIDI Daten werden nur in MIDI OX angezeigt wenn ich ein KENTON THRUE-5 oder den AKAI S3000 da zwischen schalte. Wenn ich die MIDI Daten direkt in das MIDI Interface sende blinkt da zwar die Eingang´s LED aber die Daten werden nicht in MIDI OX angezeigt. Kann mir jemand sagen was ich noch prüfen kann. Ich vermute das da was mit der mit dem SERIAL PORT nicht stimmt.

    Man könnte noch ein Optokoppler wie beim MIDI Eingang da zwischen bauen , aber es sollte auch ohne gehen, oder ? ( Es geht nur um MIDI OUT)

    Wie gesagt über die Thrue Box geht es ohne Probleme.

    Hier mal der CODE für den Teensy 3.1

    int StatusByte = 248;
    int Data1 = 0;
    int Data2 = 0;
    void setup() {

    Serial.begin(31250);
    Serial.end();
    }

    void loop() {
    Serial1.end();
    Serial2.end();
    Serial3.end();

    Serial1.begin(31250) ;
    Serial1.write(StatusByte); // Status Byte
    //Serial1.write(Data1); // 1 Daten Byte
    //Serial1.write(Data2); // 2 Daten Byte

    delay(100);
    Serial1.end();

    }

    Ich freu mich auf eure Hilfe!
    MFG Michael
     
  6. SEQ303

    SEQ303 -

    Hallo,

    der Fehler ist gefunden :) Ich habe jetzt ein 6N139 dazwischen gebaut und die Spannungen am TX1 vom Teensy 3.1 gemessen (3,32V) und dann die Spannung am 6N139 Ausgang (3,70V) mit Poti einstellbar. Fakt ist das die Daten erst ab einer Spannung von 3,7V sauber übertragen werden.

    Wie ist die MIDI Bandbreite für die serielle Datenübertragung bei DIN Midi? (bei 3,7 V bis 4,30 V funktioniert die Übertragung, Größer oder kleiner funktioniert nicht )

    Wie ist das beim Arduino Uno ? Welche Spannung misst man da am TX Out?

    Gibt es noch eine Lösung ohne den 6N139, die Daten vom Teensy sauber zu Übertragen?

    Ich habe im Netz noch nix passendes gefunden.

    Gruß Michael
     

    Anhänge:

  7. Irgendwie hast Du das nicht richtig verstanden. :D Die Optos werden beim MIDI In gebraucht nicht beim Midi Out! Und Du willst doch MIDI-OUT!

    Midi Out ist schlichtweg 2 Widerstände 220 Ohm und gut ist. (Beim Arduino) Teensy hat aber 3,3V out. Da auf der anderen Seite ja ein Opto (Led) getrieben werden muss einfach die 220 Ohm gegen 47 Ohm austauschen und schon tut die Laube. Ist zwar nicht die superfeine Art, aber geht. Ich habe da mal vor ein paar Jahren was dazu geschrieben: http://journeytounknownsoundscapes.blogspot.de/2012/01/basic-midi-interface-for-arduino.html

    Der untere Teil der Schaltung ist alles was Du brauchst!!!!!! für MIDI out. Nur eben mit 47 Ohm anstelle der 220 Ohm. Kannst auch, Notfalls 100 Ohm nehmen, dann kann es aber schon sein, das der eine oder andere Midieingang nicht genug Saft bekommt. Die Lösung taugt aber nicht für 5m Kabel!

    Tipp: Nimm bitte die "midi.h". Es gibt für Midi eine fertige Lib für MIDI im Arduino/Teensy Umfeld. Da sparst Du Dir viel Ärger wenn Du fertig werden willst. Dein Codebeispiel zeigt, das Du noch weit von stabilem Code entfernt bist. (Nicht böse gemeint, aber da sind so viele Unsauberkeiten drin (z.B. int Variablen (16-Bit) anstelle uint8_t 8-Bit, den Irrsin mit dem UART start Serial.being in der loop() etc.), das es besser ist, Du nutzt eine fertige Lib wenn Du nicht stundenlang seltsammen Effekten nachjagen willst.)

    Besser wäre natürlich eine 3,3V auf 5V Umsetzung mit 2 SchmittTrigger Invertern oder mit einem MOSFET. (Stichwort: LeveShifter) aber für erste Tests tut's auch bei kurzen Kabellängen die Lösung mit den 2 Widerständen.


    Code:
    DIN MIDI THRU (SYNC OUT)
    USB HOST (MIDI) (SYNC OUT) für Beatstep
    CV ANALOG CLOCK(SYNC OUT umgerechnet auf Analog Clock)
    CV PITCH
    CV GATE + und -
    CV VELOCITY
    CV Controller
    Weitere Probleme die auf Dich zukommen werden:

    CV Erzeugung: die Spannung muss über Opamps gepuffert werden und um das sinnvoll im Modular zu nutzen solltest Du den Hub auch auf 0-5V mindestens Planen. Mehr macht bei 12 Bit Auflösung auch nicht wirklich Sinn. Ist eh schon für "echte" Musikanwendungen zu ungenau um einen Oszillator damit zu speisen. Für Filter tut's das aber ganz gut. Andere machens auch nicht besser.
    Trigger/Clock: auch hier ist ein Level Shiting auf 5V notwendig. Ein Modularsystem will keine 3,3V am Trigger
    Negative Spannungen also 0 - -5V lassen wir erst mal weg. Das macht's noch kompizierter :)

    Wenn Du Dir aber viel Arbeit im CV Umfeld sparen willst, dann kann ich Dir diese Lösung noch anbieten:

    http://journeytounknownsoundscapes.blogspot.de/2015/02/a-ready-made-module-analog-shield.html aber da gibt's dann kein (einfaches) USB-MIDI. Das ist eine Domäne vom Teensy.


    Machbar ist das übrigens alles!
     
  8. SEQ303

    SEQ303 -

    Hallo Hesspet,

    danke für die ausführliche Antwort. Ich habe jetzt die Widerstände gegen 47 Ohm getauscht. Einer ist am TX Out und der andere geht an 5V. Das müsste ja so passen! Die Daten werden gesendet und in MIDI OX empfangen.

    Die Variablen und den Code habe ich auch überarbeitet. Das mit den Serial .begin im Loop habe ich auch raus genommen. Ich dachte es sei besser alle Ports zu beenden und neu zu starten, aber geht jetzt auch so!

    Jetzt geht’s weiter mit dem GATE OUT. Ich muss ja aus 3,3 V ein Gatesignal von 5V machen. Wie mache ich das am Besten? Das mit dem Schmidt Trigger bin ich grade am Erforschen! Es wäre ja ganz gut wenn ich mehre Ausgänge am Teensy 3.1 auf 5V Umsetzen würde. ((Hätte ich mir mal doch ein Arduino UNO gekauft!)).

    Ich habe hier noch ein OP 4558p rumfliegen, kann ich den nicht erst mal dafür nehmen? Das Problem ist nur der brauch auch Negative 5V. Und da weiß ich noch nicht wie ich aus +5V -5V machen kann. Oder über den 6N139 , habe nur gelesen der ist zu langsam. Aber für einen Test wird das gehen.

    Wie wäre die Perfekte Lösung ohne das vorgeschlagene Analog-Shield.

    Gruß Michael
     
  9. SEQ303

    SEQ303 -

    Hallo

    Jetzt mal eine Frage zu der USB Host Geschichte. Das Ziel ist es ja den Beatstep an den Teensy 3.1 über USB anzuschließen und den Beatstep mit MIDIClOCK zu Synchronisieren.

    Wie macht man das mit dem USB HOST ? Das mit der Midiclock über DIN Midi klappt ja schon ganz gut !Ich habe gesehen dass der Teensy 3.1 für den USB Host mode ein 150uf Kondensator benötigt. Und wie geht’s es dann weiter?

    Es gibt ja eine USB Host Shield Library. Brauch man dann eine externe Spannungsversorgung über Vin oder kann ich eine zusätzliche USB Host Buchse anschließen. Welche Anschlüsse am Teensy 3.1 werden für USB Host benötigt ? Ich wäre über jeden Tipp dankbar. Vielleicht hat ja jemand Lust sich mit dem Thema mal zu beschäftigen.

    Dann möchte ich mir noch ein Oszilloskop kaufen, kann mir da jemand einen Tipp geben? Taugen die Hantek 6022BE was oder muss ich mehr Geld ausgeben.

    Schönen Sonntag!

    Gruß Michael
     

Diese Seite empfehlen