Pages: [1]   Go Down
Author Topic: [Conseil] Question quant aux controlleurs MIDI USB  (Read 868 times)
0 Members and 1 Guest are viewing this topic.
Nantes, France
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

J'aimerais réaliser un contrôleur MIDI USB avec mon Arduino Uno. Pour être un peu plus précis : pourvoir réaliser ce tutoriel sans câblage autre que le cable USB qui relie mon PC à mon Arduino. Tous les exemples de réalisation que j'ai pu voir utilisent soit un convertisseur MIDI-to-USB physique soit une interface logicielle.

Cependant, cette interface logicielle ne fonctionne pas sous GNU/Linux (le site web précisait qu'elle n'était pas testée pour cette plate-forme). Et d'autre part, n'étant pas du tout électronicien mais informaticien je trouve bizarre qu'on ne puisse pas directement envoyer du "MIDI" par USB, c'est à dire réaliser logiciellement ce que le convertisseur physique permet.

Pourriez-vous m'éclairer de vos leds lumières ?

Merci
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Je ne peux pas répondre avec certitude pour l'environnement Linux mais sous Windows, une interface MIDI/USB ou une interface Série/USB ne sont pas vus de la même façon d'un point de vue logiciel.
pourtant d'un point de vue Hard c'est essentiellement la même chose avec juste une différence au niveau électrique (isolé opto coupleur pour MIDI, RS232 souvent pour la liaison série).
Ainsi, même si sur un PC tu as une liaison série RS232 (native ou USB), aucun logiciel midi n'accepte de reconnaître la liaison série comme une liaison MIDI.

Donc sous il est il me semble impossible d'arriver a ce que tu dis sans :
- soit un adaptateur USB/Midi reconnu comme tel par Windows auquel tu relie la sortie série de l'Arduino avec l'adaptation MIDI indiqué dans le schéma en question
- soit un logiciel/driver qui va "aider" Windows a reconnaître le port série comme un port MIDI (je crois que MIDI Yoke permet peut être ceci)
- soit modifier le code USB qui s'exécute dans le ATmega32U de ton Arduino (qui fait l'interface USB/Série de la carte UNO) pour qu'il se déclare comme une interface MIDI et non pas comme une interface série

Sous Linux, pas d'idée désolé.....

Ensuite, si tu utilises l'Arduino pour envoyer des commandes MIDI vers le PC (soit en lisant un fichier MIDI, voir le tuto de Skywodd sur son blog) ou par exemple pour implémenter un contrôleur spécifique (clavier spécial, bender, intrument étrange, ... qui a dit Harpe Laser au fond de la salle ?) il faut que sur le PC tu exécute un logiciel qui va émuler un synthé (recevoir les messages MIDI  pour en faire des sons).

Est-ce que cela répond à tes questions ?
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Nantes, France
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

Quote
Est-ce que cela répond à tes questions ?
On dirait que oui.

Quote
Il me semble impossible d'arriver a ce que tu dis sans modifier le code USB qui s'exécute dans le ATmega32U de ton Arduino (qui fait l'interface USB/Série de la carte UNO) pour qu'il se déclare comme une interface MIDI et non pas comme une interface série.
Ça doit être ce que je cherche à faire et on dirait que cela existe presque déjà.

Merci
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Super !

Par contre attention : il te faudra reflasher le chip d'interface USB de ta UNO (atmega8u2)
Pour cela il te faut un flasheur ICSP genre le USBtinyISP
Quand ta carte sera configurée comme cela, tu ne pourras plus la mettre ajour avec AVRdude, ni debugger sur un terminal série, sans remettre le firmware atmega8u2 d'origine.
(il est rangé ici : arduino-1.0\hardware\arduino\firmwares\arduino-usbserial)

Maintenant tout cela est surtout vrai pour Windows.
Je crois avoir compris que tu es sous Linux et je ne serais pas surpris que sous Linux on puisse facilement faire du MIDI sur un device /dev/tty ou stty (je ne sais aps exactement comment apparait l'interface de l'UNO sous linux).
Donc je ne suis même pas sur que tu ai besoin d'aller aussi loin.
Quel soft MIDI utilises tu sous Linux ?


Sinon, j'ai découvert qu'il y a des gens qui ont réussi à implémenter une interface USB directement sur le ATmega168/328 alors qu'il n'est pasprévu pour cela.
Il y a même un exemple qui démontre l'utilisation en controleur MIDI.
Cela te permettrait de garder l'interface USB/Série pour le téléchargement et le debug et de dédider cette 2nde interface USB en tant que périphérique MIDI.
Voir ici :
- page principale : http://www.obdev.at/products/vusb/index.html
- exemples MIDI : http://cryptomys.de/horo/AVR-MIDI/ et http://web.me.com/kuwatay/morecat_lab./Pepper-midi-e.html et http://www.ise.pw.edu.pl/~wzab/MIDI/pedal/index.html et encore http://www.ise.pw.edu.pl/~wzab/MIDI/perkusja/index.html et finalement http://web.mac.com/kuwatay/morecat_lab./Monaka-e.html


Et finalement, cet article http://spikenzielabs.com/SpikenzieLabs/Serial_MIDI.html
indique un soft qui permet effectivement d'utiliser un port série comme interface MIDI. Tu n'aurais ainsi rien à changer sur ton UNO.
(versions pour Mac, Windows et Linux).

A+
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Pages: [1]   Go Up
Jump to: