Use Band in a Box under Linux

December 2016

Band in a Box is a popular utility that often comes with some problems regarding its audio output. As Band in a Box uses MIDI sound and Linux often fails to incorporate that type of audio with its integrated peripherals, even with some popular multi-platform transitional software application like Wine, there can still be problems. The alsa base, alsa utils and alsa -oss timidity packages have to be installed, and after that Wine needs to be configured in terms of audio. Check only the alsa drives, and sound will come. Moreover, Timidity has to be activated under Server mode from the commands given from the console.


You can use Wine to run Band in a Box (BiaB) under Linux, but there will still be no sound. Here is the solution!

The issue


Sometimes Wine emits no sound, because BiaB uses MIDI sounds, which are quite troublesome to manage under Linux. To rectify this, it is necessary to update some alsa packages (sound manager) and install Timidity: a synthesizer managing midi files.

Installation of missing packages


To solve the problem, install alsa-base, alsa-utils, alsa-oss and timidity.

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

Configuring Wine


Then go Wine> Configure Wine. In the Audio tab, you have a list of drivers. Check only the ALSA driver.
You can test the sound using the button on the right.

Launch BiaB


Before launching BiaB, consider the activation of Timidity under server mode. To do this in a console, use the following command:

timidity -iA -B2,8 -Os -EFreverb=0
  • iA: launch the timidity server mode usingf ALSA
  • B2, 8: B represents the buffer. If it works, set it to 4.8 (best results).
  • Os: "Output to alsa'.
  • EFreverb-= 0: to remove the " reverb" effects of MIDI files.


From now you can start BiaB.
Don't forget to close Timidity once BiaB is off (otherwise it will use your memory). To do a quick killall:

sudo killall timidity  

Automation


It is quite tedious to repeat this process at each launch. For this, here is a small script to automate the process! To do this, instead of using BiaB via Wine, we will run a script that takes care of starting Timidity and then BiaB. This script will also handle the closing down of the software:

echo "Launch timidity"   
nohup timidity -iA -B2,8 -Os -EFreverb=0   
sleep 2   
echo "Timidity is launched"   
echo "Starting Band in a box ..."   
echo "Upon closure of BIAB, Timidity will turn off automatically.."   
echo "Lauch program... !"   
sleep 2   
echo "Wait for user to close biab..."   
nohup wine "C:\bandinabox2007\bbw.exe"   
sleep 2   
echo "Band in a box was closed : timidity suicide"   
sudo killall timidity   
echo "Timidity is killed" 

Note that


Thanks to Mihawk for this tip.

Related :

This document entitled « Use Band in a Box under Linux  » from CCM (ccm.net) is made available under the Creative Commons license. You can copy, modify copies of this page, under the conditions stipulated by the license, as this note appears clearly.