Idée projet interface midi usb 2 entrées / 2 sorties

Hello,
J'ai déjà réaliser des petits contrôleurs midi avec des arduino pro micro, ou leonardo...

Mais est-il possible de faire une interface usb-midi avec plusieurs entrées et plusieurs sorties avec 1 seul arduino ?

oui - avec le bon arduino ou matériel - cherchez sur le forum il y a eu des discussions en anglais

en voici une

ok merci, donc d'après ce que je comprends, il me faut un arduino mega (j'en ai un mais, mais la carte est trop grande pour faire ce que je pensais), ou une teensy 3.6 (j'en ai une aussi, mais je voulais la garder pour un autre projet d'effet audio), ou un max14830. J e pense que je vais m'orienter vers cette solution, y a-t-il des autos, schémas, librairies pour ce composant ? que je puisse comprendre un peu comment tout ça fonctionne...

il y a la MEGA mini qui est plus compacte si vous voulez rester sur une architecture "connue"

je n'ai jamais joué avec la max14830

Ah oui, interessant, je ne connaissais pas cette carte, est-elle bien compatible avec le midi-usb ?

je ne suis pas expert du sujet mais ma compréhension est que si vous voulez plusieurs devices vous allez utiliser plusieurs ports séries (pas "USB") - la MEGA en a 4 en matériel et vous fabriquez des "midi din" ( Serial MIDI) par exemple

sinon regardez

https://tttapa.github.io/Control-Surface-doc/Doxygen/d0/dc4/MIDI_Pipes-Routing_8ino-example.html

oui, c'est juste que pour la mega, il me semble qu'il faut flasher le firmware pour qu'elle puisse être reconnu par l'ordinateur directement comme une interface midi, c'est un peu plus compliqué que sur une leonardo ou une micro qui sont reconnu directement... et l'inconvénient c'est qu'une fois qu'elle est flashé, elle n'est plus accessible pour l'arduino-IDE, il faut à chaque fois faire une manip avec un jumper... c'est un peu plus contraignant, mais bon, ça se fait... A priori, je pense que la mega mini fonctionne pareil...

Si vous voulez du MIDI par USB alors c'est pas UART ( Serial MIDI) même si au final c'est un protocole série.

vous voulez des entrées en USB c'est ça ?

ce que je veux c'est, 2 entrées midi en prises DIN ou TRS 2 sorties prises DIN ou TRS tout ça relié à l'arduino qui joue le rôle d'interface et qui fait transiter les données midi par l'usb à l'ordinateur.
L'objectif c'est de pouvoir contrôler plusieurs synthés midi avec mon logiciel de MAO, avec une seule prise USB

ça voudrait dire 5 ports (2 entrées + 2 sorties + UBS). La mega n'en a que 4 mais vous pouvez toujours ajouter un port émulé avec SoftwareSerial

pouvez vous expliquer

concrètement ça doit faire quoi ?

si vous écrivez / lisez l'anglais, vous devriez poster vos questions (détaillées) dans la partie anglophone du forum. PieterP est très pointu sur le sujet et pourrait vous orienter

(il parle allemand aussi, donc si vous maitrisez l'allemand plus que l'anglais, postez dans la catégorie Deutsch)

bien sûr si vous recréez un sujet dans une autre catégorie, dites le nous ici pour qu'on ferme cette conversation et se concentre sur l'autre.

:slight_smile:

:slight_smile: et français ?!

Concrètement j'ai plusieurs petits synthès, je voudrais les contrôler depuis mon ordi avec ableton live en midi, (2 entrées, 2 sorties en jack 3,5mm TRS) je voulais me faire une petite interface qui soit facilement transportable et qui me permette d'envoyer et de recevoir des messages midi depuis mon ordi par le port usb.
Je sais que ce genre d'interface existe dans le commerce, mais elle sont parfois assez onéreuse, et comme j'ai un peu de matos sous la main (arduino, composants électroniques...), et que j'aime bien bricoler moi-même des trucs...

Bon, je ne parle pas très bien l'anglais, je le comprends à peu près, mais je peux faire un google traduction :slight_smile: pour @pieterP : Concretely I have several small synths, I would like to control them from my computer with ableton live at noon, (2 inputs, 2 outputs in 3.5mm TRS jack) I wanted to make myself a small interface that is easily transportable and that allows me to send and receive midi messages from my computer through the usb port.

I know that this kind of interface exists in commerce, but they are sometimes quite expensive, and as I have a little equipment on hand (arduino, electronic components...), and that I like to tinker with things myself...

Un petit peu


You'll need a board that supports multiple MIDI USB virtual cables (so it shows up as different “devices” in your DAW). Off the top of my head, this is supported by the Teensy boards, and by the Raspberry Pi Pico using the Adafruit TinyUSB library. I have some plans to add wider support for this in the Control Surface library, but I haven't found the time yet. Given that there are some serious problems with the Adafruit TinyUSB library, I'd recommend a Teensy.

Using a Teensy, the code is fairly straightforward: you set up the different Serial MIDI interfaces and a single USB interface with multiple virtual cables, and then you use custom pipes that filter data based on the cable number to connect the interfaces to each other. Control Surface: MIDI_Pipes-Filter.ino


Vous aurez besoin d'une carte qui prend en charge plusieurs câbles virtuels USB MIDI (afin qu'elle apparaisse comme différents "appareils" dans votre DAW). De mémoire, cela est pris en charge par les cartes Teensy et par le Raspberry Pi Pico en utilisant la bibliothèque Adafruit TinyUSB. J'ai l'intention d'ajouter une prise en charge plus large de cela dans la bibliothèque Control Surface, mais je n'ai pas encore trouvé le temps. Étant donné qu'il y a quelques problèmes sérieux avec la bibliothèque Adafruit TinyUSB, je recommanderais un Teensy.

En utilisant un Teensy, le code est assez simple : vous configurez les différentes interfaces MIDI série et une seule interface USB avec plusieurs câbles virtuels, puis vous utilisez des pipes personnalisés qui filtrent les messages en fonction du numéro de câble pour connecter les interfaces les unes aux autres. Control Surface: MIDI_Pipes-Filter.ino

Ok thank you, any type of teensy ?

Bon, j'ai avancé sur mon projet, j'ai testé avec ce petit circuit : https://electricdruid.net/wp-content/uploads/2016/04/MIDISchematic-3.jpg
et un Raspberry pi pico, mais j'ai pas mal galéré, puis j'ai testé avec une teensy 3.6, et c'est beaucoup plus simple. Pour l'instant, j'ai testé avec 1 in et 1 out, mais ça devrait le faire.
Mais je me pose plusieurs questions pour l'alimentation : Est-il possible d'avoir une alimentation qui switch automatiquement entre l'usb ou le midi ? Pour être + précis, je voudrais alimenter l'interface par le midi in si l'interface n'est pas connectée à un pc, et que ça switche automatiquement sur l'alim via USB, si elle est connecté à un pc.

[quote="jojo_monk, post:9, topic:1236066, full:true"]
ce que je veux c'est, 2 entrées midi en prises DIN ou TRS 2 sorties prises DIN ou TRS tout ça relié à l'arduino qui joue le rôle d'interface et qui fait transiter les données midi par l'usb à l'ordinateur.[/quote]

En fait, 2 entrées + 2 sorties MIDI ça n'utilise que deux ports série.
La prise MIDI (DIN ou TRS) est unidirectionnelle. L'entrée est connectée à une broche RX (par l'intermédiaire d'un optocoupleur), la sortie à une broche TX.