Faire fonctionner son MT-32 (ou tout autre périphérique externe MIDI) sous Linux

Réduire
X
 
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages
  • parazythum
    Barbarian

    • août 2003
    • 340

    #1

    Faire fonctionner son MT-32 (ou tout autre périphérique externe MIDI) sous Linux

    Salut aux Linuxiens et aux autres qui aimeraient s'y mettre !

    Le MT-32 a besoin d'un câble MIDI connecté à l'ordinateur. Sur nos machines modernes, il n'y a plus d'interface MIDI comme avant, ou alors il faut déjà être musicien et avoir le matos.

    La solution la plus simple est d'acheter un connecteur MIDI-USB, et d'arriver à le faire reconnaître. Le mien est une "récup" : http://bestgamesonwii.cheap-wi-i.com...m-ps3-360-wii/ - il s'agit du câble d'un kit pour batterie sur consoles !



    J'utilise moi-même un Linux qui s'appelle Ubuntu, basé sur la distribution Debian. Les commandes et conseils qui vont suivre devront être adapté selon les versions de Linux utilisées. Pour les commandes système nécessitant des droits administrateur, ajoutez "sudo" devant.

    1- Les systèmes audio sous Linux :

    Le plus important parmi les systèmes audio "modernes" sous Linux est Alsa. Il s'interface bien avec d'autres systèmes audio.
    Un plus "vieux" est OSS, qui commence à sérieusement dater, mais qui pourrait encore être utilisable. Je n'ai pas expérimenté avec.
    Vient ensuite "PulseAudio", qui a tendance à s'installer par-dessus tous les autres, et arriver à les interfacer sous un seul système (one to rule them all), mais ce n'est pas facile à gérer en direct.
    Dans ce qui va suivre, on va plutôt utiliser "Alsa" pour la base. Bien s'assurer qu'il est installé sur le système.
    Viennent d'autres système plus dédiés au MIDI, comme "Timidity" et "Jack".

    2- Faire reconnaître l'interface MIDI-USB :
    Pour l'instant le MT-32 est débranché.
    Brancher le câble MIDI-USB du côté USB. L'interface du câble devrait s'animer un peu.
    Pour savoir si le matériel est bien reconnu au niveau USB, taper en ligne de commande :
    >lsusb
    Bus 004 Device 002: ID 1430:474b RedOctane Guitar Hero MIDI interface
    Il devrait alors apparaître dans la liste des périphériques connectés.

    Lancer la commande suivante pour savoir si Alsa a bien reconnu le kit MIDI-USB :
    >aconnect -i
    client 0: 'System' [type=noyau]
    0 'Timer '
    1 'Announce '
    client 14: 'Midi Through' [type=noyau]
    0 'Midi Through Port-0'
    client 20: 'GH MIDI INTERFACE' [type=noyau]
    0 'GH MIDI INTERFACE MIDI 1'
    3- Installer Timidity :

    Timidity permet de jouer des sons MIDI directement à travers la carte son, ou par émulation, ou même par liaison externe MIDI. c'est un outil tout-en-un.
    Installer Timidity, rien de plus simple !
    apt-get install timidity
    Installer une interface graphique simple pour jouer des fichiers MIDI :
    apt-get install timidity-interfaces-extra
    Vérification que cela fonctionne :
    timidity -ia
    Charger un fichier MIDI : vous devriez entendre du son par l'émulation logicielle de Timidity.

    4- Brancher le MT-32 :

    Brancher le câble USB-MIDI (qui est en sortie donc c'est du "MIDI out") dans la prise "MIDI-in" du MT-32.
    Brancher les câbles RCA de sortie audio vers une chaîne hi-fi, ou avec un adaptateur RCA-jack vers des haut-parleurs de PC. Une autre solution est de brancher cette sortie audio jack directement dans la prise "line-in" de votre carte son sur l'ordinateur.
    Mettre le MT-32 sous tension.

    5- Activation de l'entrée "line-in" de la carte son :

    Au cas où vous voudriez privilégier cette méthode et faire sortir le son par vos haut-parleurs de PC habituels à travers votre carte son, il faut s'assurer que le canal est bien activé dans Alsa.
    En mode graphique il faut installer le paquet gnome-alsamixer, puis le lancer par les menus.
    En ligne de commande, rien de plus simple, lancer :
    alsamixer
    Naviguer avec les flèches jusqu'à votre périphérique "'line-in". Appuyer sur la touche "M" pour enlever le mode muet si besoin. Régler le volume d'entrée avec les touches haut-bas. Quitter.
    En mode graphique, faire la même chose mais avec la souris

    6- Test avec pmidi ou aplaymidi :

    pmidi et aplaymidi permettent de jouer un fichier MIDI en ligne de commande.

    Pour connaître l'interface Alsa à utiliser, lancer la commande :
    >pmidi -l
    Port Client name Port name
    14:0 Midi Through Midi Through Port-0
    20:0 GH MIDI INTERFACE GH MIDI INTERFACE MIDI 1
    Utiliser aplaymidi de la méme manière :
    >aplaymidi -l
    Port Client name Port name
    14:0 Midi Through Midi Through Port-0
    20:0 GH MIDI INTERFACE GH MIDI INTERFACE MIDI 1
    Ici, le paramètre sera 20:0

    Pour jouer un fichier MIDI directement à travers l'interface MIDI-USB vers le MT-32 (utiliser un fichier avec des SysEx, ce sera meilleur) :
    >pmidi -p20:0 SQ1MT.MID
    ou
    >aplaymidi -p 20:0 SQ1MT.MID
    Si tout se passe bien, vous devriez entendre la musique ! (de Space Quest 1 dans l'exemple ci-dessus).

    7- Test avec ScummVM :

    Je n'entrerai pas dans les détails, mais ScummVM fonctionne parfaitement sous Ubuntu ! Ajouter le dépôt suivant : apt://scummvm, puis installer le paquet "scummvm".
    Ajouter un jeu qui utilise le MT-32 nativement, du genre Space Quest I VGA.
    Dans la configuration, bien veiller dans l'onglet "audio" à indiquer le périphérique MIDI-USB à travers Timidity ! Cela devrait donner un nom du genre "Timidity:HD-USBx4879".
    Dans l'onglet MT-32, utiliser le mode natif MT-32.
    Lancer le jeu : la symphonie vous enveloppe déjà !

    A noter que si vous utilisez une autre sortie Timidity en émulation logicielle, le son pourra sortir directement de votre carte son. Pour ceux qui n'ont pas de MT-32 cela peut vous intéresser, car il existe une émulation MT-32 qui peut être utilisée par ScummVM : Munt (libmt32)

    8 Test avec DosBox :

    Pour faire fonctionner un vrai MT-32 sous DosBox, il faut suivre les conseils de ces articles dans le wiki : http://www.dosbox.com/wiki/Configuration:MIDI et http://www.dosbox.com/wiki/Sound
    J'ai testé avec succès, il suffit de mettre dans le fichier de config :
    mpu401 = intelligent
    mididevice = alsa
    midiconfig = numéro du matériel midi dans alsa
    Pour trouver le dernier paramètre, il faut lancer la commande linux pmidi -l. On peut aussi taper mixer /listmidi quand on a le prompt de DosBox.
    >pmidi -l
    Port Client name Port name
    14:0 Midi Through Midi Through Port-0
    20:0 GH MIDI INTERFACE GH MIDI INTERFACE MIDI 1
    Ici, ce sera donc midiconfig = 20:0
    Cela fonctionne très bien, même les SysEx sont envoyés au MT-32.

    Il y a aussi une version de DosBox (DosBox Patched) qui intègre directement l'émulation MT-32 par Munt : https://code.launchpad.net/~i30817/+...dosbox-patched

    9 Test avec le couple Jack/Rosegarden :

    Je n'entrerai pas entièrement dans le détail, mais on peut contrôler aussi l'interface MIDI-USB par d'autres serveurs de sons. A vous d'expérimenter ce qui vous convient le mieux.

    Installer le serveur jack et son interface graphique :
    apt-get install jack qjackctl
    Installer le séquenceur Rosegarden
    apt-get install rosegarden
    Le fonctionnement est un peu compliqué : il faut d'abord lancer Rosegarden, charger un fichier MIDI.

    Lancer qjackctl par les menus, APRES Rosegarden.
    Ouvrir la fenêtre des connections par le bouton "connect" dans qjackctl : il s'agit de lier RoseGarden à Jack.
    Cliquer d'abord sur "disconnect all" dans l'onglet "Alsa".
    Ensuite, dans la colonne de gauche (readable clients) cliquer/surligner la sortie de Rosegarden qui ressemble à "midi external device" (les noms peuvent changer).
    A droite (writable clients), cliquer/surligner l'entrée qui correspond à votre adaptateur MIDI-USB.
    Cliquer sur le bouton "connect". Une ligne devrait apparaître entre les deux périphériques.

    Dans Rosegarden, jouer le fichier MIDI en appuyant sur le gros bouton de controle "Play".
    Le MT-32 devrait se réveiller, et même afficher un message du genre "Hey baby, what's your sign?" si vous avez un fichier natif avec des en-tête SysEX comme la musique du générique de Leisure Suit Larry 1.

    En espérant que cela ait intéressé quelqu'un, je retourne travailler
    Fichiers attachés
    Dernière modification par parazythum, 21 mai 2014, 21h45. Motif: Ajouté le test avec pmidi/aplaymidi et DosBox
    Don't Bug Me !
  • MisterJ
    Knight


    • septembre 2006
    • 366

    #2
    merci pour le tuto
    il faut maintenant que je retrouve un MT-32 qui fonctionne (le miens est HS) pour tester



    RetroMachine : Pentium 166MHz - 32Mo SDRAM - MS-DOS 6.22 - S3 Virge DX - 3DFX Voodoo 1 - Sound Blaster AWE32 - VFX1 - Roland MT32 - CH Flightstick Pro - Aura Interactor

    LE topic "réalité virtuelle" de LTF
    "Et puis j'aime pas les rats à trompe, c'est viscérale" Honk - Commander Blood

    Commentaire

    • parazythum
      Barbarian

      • août 2003
      • 340

      #3
      Envoyé par MisterJ Voir le message
      merci pour le tuto
      il faut maintenant que je retrouve un MT-32 qui fonctionne (le miens est HS) pour tester
      Hé, salut, ça faisait longtemps
      Don't Bug Me !

      Commentaire

      • MisterJ
        Knight


        • septembre 2006
        • 366

        #4
        Envoyé par parazythum Voir le message
        Hé, salut, ça faisait longtemps
        ça fait plaisir de te revoir aussi



        RetroMachine : Pentium 166MHz - 32Mo SDRAM - MS-DOS 6.22 - S3 Virge DX - 3DFX Voodoo 1 - Sound Blaster AWE32 - VFX1 - Roland MT32 - CH Flightstick Pro - Aura Interactor

        LE topic "réalité virtuelle" de LTF
        "Et puis j'aime pas les rats à trompe, c'est viscérale" Honk - Commander Blood

        Commentaire

        • parazythum
          Barbarian

          • août 2003
          • 340

          #5
          Article mis à jour pour inclure des tests avec l'utilitaire linux pmidi, mais aussi avec le fameux DosBox que j'ai pu tester ce soir !
          Don't Bug Me !

          Commentaire

          Chargement...