Utiliser Band in a Box sous Linux

Décembre 2016

Vous utilisez Wine pour faire fonctionner Band in a Box (BiaB) sous Linux, mais le logiciel ne vous sort aucun son ? Voilà la solution!



Le problème : une histoire de timidity


Si Wine reste muet, c'est parce BiaB utilise des sons MIDI, et Linux a un peu de mal à les gérer. Pour rectifier cela, il faut mettre à jour quelques paquets alsa (le gestionnaire de sons) et installer Timidity : un synthétiseur gérant les fichiers midi.

Correction

Installation des paquets manquants


Pour résoudre le problème, installons les paquets alsa-base, alsa-utils, alsa-oss, et timidity.

sudo apt-get install alsa-base alsa-utils alsa-oss timidity

Configuration de Wine


Allez ensuite dans Wine > Configurer Wine. Puis dans l'onglet Audio, vous avez une listes de pilotes. Ne cochez que les pilote ALSA (c'est du gâteau, si je puis me permettre !).
Vous pouvez tester le son à l'aide du bouton sur la droite. Vous devriez entendre une sorte de son de bulle d'eau remontant à la surface...

Lancement de BiaB


Vous ne pouvez pas encore lancer BiaB comme vous le sentez... Car il faut activer Timidity en mode serveur. Pour cela, effectuez dans une console la commande suivante :

timidity -iA -B2,8 -Os -EFreverb=0

Petite explication des paramètres tout de même :
  • -iA : lancement du serveur timidity en mode ALSA
  • -B2,8 : B représente le buffer (la mémoire tampon). Si cela fonctionne, passez-le à 4,8 (meilleurs résultats).
  • -Os : "Output to alsa".
  • -EFreverb=0 : pour supprimer les effets "reverb" des fichiers MIDI.


Voilà, maintenant vous pouvez lancer BiaB en toute tranquillité !
Attention à ne pas oublier de fermer Timidity une fois BiaB coupé (sinon cela vous mange de la mémoire vive pour rien). Pour cela un petit killall suffit :

sudo killall timidity

Automatisation


Ce n'est pas forcément agréable de se taper le lancement de Timidity à chaque lancement de BiaB. Pour cela, nous allons créer un petit script... ou plutôt je vais vous donner le mien ! Pour cela, au lieu de lancer BiaB via Wine, je lance un script qui s'occupe de lancer Timidity puis BiaB, et attends sagement la fermeture de ce dernier, pour tuer Timidity. Ça donne ça :

echo "Lancement de timidity" 
nohup timidity -iA -B2,8 -Os -EFreverb=0 
sleep 2 
echo "Timidity lancé" 
echo "Lancement de band in a box..." 
echo "A la fermeture de BIAB, Timidity s'éteindra automatiquement..." 
echo "Lancement en cours... Pour fermer le programme utilisez sa croix !" 
sleep 2 
echo "En attente de la fermeture de biab..." 
nohup wine "C:\bandinabox2007\bbw.exe" 
sleep 2 
echo "Band in a box a été fermé : timidity suicide" 
sudo killall timidity 
echo "Timidity tué" 

Voilà, j'ai laissé les petites phrases à côté qui permettent de suivre l'évolution du lancement. Normalement celles-ci sont redirigées vers un log.
Notez également que le chemin de l'exécutable de BiaB varie surement chez vous !

Liens


Pour terminer, voici un lien utile : la documentation Ubuntu-fr de Timidity.

A voir également :

Ce document intitulé «  Utiliser Band in a Box sous Linux  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.