Skip to main content

Historique: usb-midi-fw

Aperçu de cette version: 26



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.

Image



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 fxload en 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/firmware
Copy 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 😂) :

Rosegarden avec Midisport
Rosegarden avec Midisport



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

Historique

Information Version
Tue 09 Sep 2014 20:38 olinuxx mise en cohérence des variables : version logiciel + date 64
Afficher
Wed 03 Sep 2014 18:18 olinuxx deplacement info en page dediee ((madfuload)) 63
Afficher
Wed 03 Sep 2014 18:18 olinuxx deplacement info en page dediee ((madfuload)) 62
Afficher
Wed 03 Sep 2014 18:13 olinuxx retirage d'un alias en vue de creer la page ((Madfuload)) 61
Afficher
Tue 02 Sep 2014 18:25 olinuxx orga 60
Afficher
Tue 02 Sep 2014 18:19 olinuxx 59
Afficher
Tue 02 Sep 2014 18:07 olinuxx 58
Afficher
Tue 02 Sep 2014 18:06 olinuxx 57
Afficher
Mon 01 Sep 2014 22:20 olinuxx intégration dans la structure "categorie systeme" + 1 typo 56
Afficher
Mon 01 Sep 2014 21:31 duraan 55
Afficher
Mon 01 Sep 2014 20:11 olinuxx 54
Afficher
Tue 18 Feb 2014 15:05 olinuxx +1 alias present dans des pages 53
Afficher
Mon 03 Feb 2014 13:52 olinuxx ((Page à intégrer)) 52
Afficher
Mon 03 Feb 2014 13:42 olinuxx 51
Afficher
Mon 03 Feb 2014 13:33 olinuxx deplacement des alias vers la page ((M-Audio)) 50
Afficher
Mon 04 Nov 2013 17:11 anonymous wiki_up conversion 49
Afficher
Wed 06 Mar 2013 11:38 utilisateur_anonyme2 48
Afficher
Wed 06 Mar 2013 11:36 utilisateur_anonyme2 47
Afficher
Sun 12 Aug 2012 12:32 olinuxx 46
Afficher
Sun 12 Aug 2012 12:30 olinuxx 45
Afficher
Sun 12 Aug 2012 12:28 olinuxx 44
Afficher
Sun 22 Jul 2012 09:27 olinuxx 43
Afficher
Tue 19 Jun 2012 15:59 olinuxx 42
Afficher
Tue 19 Jun 2012 07:38 olinuxx 41
Afficher
Tue 19 Jun 2012 07:37 olinuxx coquille 40
Afficher
Tue 19 Jun 2012 07:33 olinuxx coquilles 39
Afficher
Tue 19 Jun 2012 07:27 olinuxx lien m-audio 38
Afficher
Mon 18 Jun 2012 19:33 olinuxx fil d'ariane 37
Afficher
Thu 17 mai 2012 18:10 pianolivier modif lien(s) interne(s) 36
Afficher
Sun 19 Feb 2012 11:49 pianolivier suppression lien interne doublon 35
Afficher
Sat 23 Jul 2011 20:28 pianolivier modification du sommaire 34
Afficher
Sat 23 Jul 2011 20:14 pianolivier petites auto-corrections 33
Afficher
Sat 23 Jul 2011 20:04 pianolivier mise en page 32
Afficher
Sat 23 Jul 2011 20:02 pianolivier renommage de la page + alias divers + nouvelle desc 31
Afficher
Sat 23 Jul 2011 19:55 pianolivier relecture/petites corrections 30
Afficher
Sat 23 Jul 2011 19:41 pianolivier refonte/MAJ de la page 29
Afficher
Sat 23 Jul 2011 14:56 dimitri_kakov ajout de l'information concernant les noeuds /dev/bus/usb au lieu de /proc/bus/usb 28
Afficher
Mon 06 Dec 2010 06:35 olinuxx note 27
Afficher
Fri 03 Dec 2010 02:00 olinuxx 26
Afficher
Fri 03 Dec 2010 01:58 olinuxx 25
Afficher
Fri 03 Dec 2010 01:54 olinuxx 24
Afficher
Fri 03 Dec 2010 01:51 olinuxx 23
Afficher
Fri 03 Dec 2010 01:50 olinuxx 22
Afficher
Fri 03 Dec 2010 01:49 olinuxx 21
Afficher
Fri 03 Dec 2010 01:48 olinuxx mise en page 20
Afficher
Fri 03 Dec 2010 01:43 olinuxx ptits trucs + mise en page avec des SPLITs et liens internes 19
Afficher
Fri 03 Dec 2010 01:22 olinuxx 18
Afficher
Fri 03 Dec 2010 01:19 olinuxx 17
Afficher
Fri 03 Dec 2010 01:13 olinuxx 16
Afficher
Fri 03 Dec 2010 01:08 olinuxx 15
Afficher
  • «
  • 1 (en cours)
  • 2