Historique: usb-midi-fw
Aperçu de cette version: 27
Table des matières
Théorie
Présentation :
Le Midisport Uno est un câble qui relie un contrôleur MIDI (comme un synthétiseur) à un port USB sur votre ordinateur. Ensuite, vous pouvez utiliser un séquenceur MIDI comme Rosegarden afin d'enregistrer et de modifier des partitions musicales. L'avantage d'un Midisport, est que vous n'avez pas besoin d'une carte son pour les appareils MIDI (avec une sortie MIDI exprès), et peut se connecter à n'importe quel ordinateur qui dispose d'une entrée USB libre.
Voici le Midisport Uno 1x1, celui qui a été utilisé pour les tests.
Ce système m'a permis de connecter mon vieux synthétiseur YAMAHA PortaSound PSS-480. Un futur test avec une batterie électronique sera à venir.
Le système qui a été utilisé est une UbuntuStudio 7.10.
Pré-requis :
La mise en place de ce dispositif n'est pas compliqué. Le Midisport Uno nécessite un micro-logiciel afin de charger le périphérique avant de faire quoi que ce soit.
En d'autres termes, il vous faut :
- (a) un fichier micro-logiciel qui est disponible sur le site : http://usb-midi-fw.sourceforge.net/.
- (b) un programme pour charger le micro-logiciel, qui se nomme
fxloaden l'occurrence..
/!\ IMPORTANT !!! /!\ : À voir pour les autres distributions mais l'usbfs sous Ubuntu n'est pas activé par défaut dans Gutsy.
Pour résoudre ce problème, vous devez éditer le script d'initialisation
mountdevsubfs.sh :Copy to clipboard
sudo gedit /etc/init.d/mountdevsubfs.sh
aller à la ligne 42 environ, vous obtiendrez ça :
Code original :
Copy to clipboard
# # Magic to make /proc/bus/usb work # #mkdir -p /dev/bus/usb/.usbfs #domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644 #ln -s .usbfs/devices /dev/bus/usb/devices #mount --rbind /dev/bus/usb /proc/bus/usb
et dé-commenter(supprimer les commentaires, c'est à dire supprimer les # devant les lignes) comme les lignes suivantes :
Code final :
Copy to clipboard
# # Magic to make /proc/bus/usb work # mkdir -p /dev/bus/usb/.usbfs domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644 ln -s .usbfs/devices /dev/bus/usb/devices mount --rbind /dev/bus/usb /proc/bus/usb
Ensuite sauvegarder et redémarrer votre machine ou, mieux, relancer le service par la commande :
Copy to clipboard
sudo /etc/init.d/mountdevsubfs.sh start
Les pré-requis sont finis, passons à l'installation et configuration.
La pratique
Installation :
Nous allons télécharger le micro-logiciel et le décompresser dans un répertoire créé sous l'arborescence :/etc/firmware.Copy to clipboard
cd /etc sudo mkdir /etc/firmware cd firmware
Ensuite téléchargez le fichier dans le répertoire courant
Copy to clipboard
wget http://ovh.dl.sourceforge.net/sourceforge/usb-midi-fw/midisport-firmware-1.2.tar.gz
Décompresser le
Copy to clipboard
tar xvzf midisport-firmware-1.2.tar.gz
Pour simplifier les instructions prochaine, si vous souhaitez, copier votre micro-logiciel (pour ma part : MidiSport1x1.ihx) dans
/etc/firmwareCopy to clipboard
sudo cp /etc/firmware/midisport-firmware-1.2/MidiSport1x1.ihx /etc/firmware/
Maintenant nous allons installer
fxload simplement par la commande :Copy to clipboard
sudo apt-get install fxload
Simple non ?
Passons maintenant au chargement du micro-logiciel.
Configuration :
On suppose que votre câble Midisport est branché sur l'USB. Nous allons lister la liste des périphériques USB de votre ordinateur :Copy to clipboard
lsusb
Ce qui vous donne une liste de ce style là (on a pas forcément tous la même 😉) :
Copy to clipboard
Bus 005 Device 002: ID 046d:c041 Logitech, Inc. Bus 005 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 006 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 007 Device 004: ID 04a9:1086 Canon, Inc. Bus 007 Device 003: ID 0763:1011 Midiman Midisport 1x1 Bus 007 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
Seulement une ligne nous intéresse, qui possède normalement au moins Midiman :
Copy to clipboard
Bus 007 Device 003: ID 0763:1011 Midiman Midisport 1x1
Un peu de théorie 😀 :
Nous pouvons accéder à un périphérique USB par ce chemin là (car presque tous périphériques sous un système GNU/Linux ou Unix passe par un fichier) :
Copy to clipboard
/proc/bus/usb/BUS/DEVICE
soit dans notre cas en remplaçant BUS et DEVICE par BUS = 007 et DEVICE = 003
Copy to clipboard
/proc/bus/usb/007/003
Ces derniers numéros sont susceptible de changer suivant le port où vous branchez votre câble. Donc faites attention 😊
Aller voilà le grand test final, nous allons taper cette commande qui va charger le micro-logiciel voulu sur le chemin d'accès du périphérique :
Copy to clipboard
sudo fxload -I /etc/firmware/MidiSport1x1.ihx -D /proc/bus/usb/003/004
L'option -I est le chemin d'accès du fichier du micro-logiciel dans mon cas (MidiSport1x1.ihx), et l'option -D correspond au périphérique.
Si vous voyez une LED clignoter sur le Midisport (Normalement la LED marqué USB à coté de celle-ci), où si vous avez brancher votre périphérique MIDI (synthétiseur ou autre), ça devrait flasher de partout 😀 (Normalement la LED marqué Midi IN), c'est normale c'est les synchronisation MIDI, l'horloge de synchronisation.
Si vous avez ces derniers alors vous avez réussi et tout fonctionne correctement (Du moins la liaison USB <=> Midisport est établie).
NOTE : SI CA MARCHE PAS -> FORUM !
Nous allons effectuer un test sous Rosegarden.
Le moment de vérité, l'assaut final
Test :
|
Normalement en lançant qJackCtl vous devriez dans l'onglet midi voir apparaître le Midisport : |
|
|
|
Et quand vous aurez lancer Rosegarden et configurer qJackCtl (Connexion du Midisport à Rosegarden) ou en passant par Rosegarden : Composition => Studio => Gestion des périphériques Midi) vous obtiendrez quelque chose du style (dans qJackCtl) : |
|
|
|
Et enfin Rosegarden, avec une petite partie joué sur mon synthétiseur (c'est au clair de la lune 😂) : |
|
|
Si ça a fonctionné c'est cool, maintenant nous allons ajouter un script pour que le Midisport soit reconnu à chaque lancement de l'ordinateur.
Automatisation du lancement du micro-logiciel
Script Init :
Aller dans le répertoire suivant :Copy to clipboard
cd /usr/local/bin/
Et enregistrer le script dans le fichier :
Copy to clipboard
sudo gedit midisportsetup
/!\ IMPORTANT !!! /!\
Penser à remplacer la ligne suivante :
Copy to clipboard
fw=/etc/firmware/MidiSport1x1.ihx
Par votre bon fichier du micro-logiciel.
Dans mon cas c'est :
fw=/etc/firmware/MidiSport1x1.ihx-- Début Script --
Copy to clipboard
#!/bin/bash #your firmware ... taken from usbmidi fw=/etc/firmware/MidiSport1x1.ihx #get proc address bd=$( lsusb | grep Midisport | cut -d ' ' -f 2,4 | sed -e 's/ /\//' -e 's/://' ) dev=/proc/bus/usb/$bd #load firmware echo fxload -I $fw -D $dev fxload -I $fw -D $dev
-- Fin Script --
Pensez à mettre les bons droits sur le fichier :
Droit d'exécution :
Copy to clipboard
sudo chmod 775 /usr/local/bin/midisportsetup
Lancement du script à la main :
Copy to clipboard
sudo /usr/local/bin/midisportsetup
Et enfin pour qu'il ce lance à chaque démarrage de la machine éditer le fichier
/etc/rc.local :Copy to clipboard
sudo gedit /etc/rc.local
Et ajouter la ligne :
Copy to clipboard
sudo /usr/local/bin/midisportsetup
Comme suis :
Copy to clipboard
# # By default this script does nothing. sudo /usr/local/bin/midisportsetup exit 0
Normalement vous relancer votre machine et le Midisport devrait être détecté tout seul (LED Clignotante).
Voilà c'est fini. En espérant que cela vous aide.
Informations
Pour information le micro-logiciel utilisé est le :Copy to clipboard
For systems using udev: version 1.2, released 2006-03-06.
Et supporte ce matériel :
- MidiSport 1x1
- MidiSport 2x2
- MidiSport 4x4
- MidiSport 8x8
- KeyStation (vieux modèles: 49, 61)
- Oxygen
- Radium49
- Radium61
- Uno
Note : ce logiciel n'est pas utile pour le MidiSport 2x4 et pour les nouveaux modèles KeyStation (49e, 61es, Pro 88).