Rosegarden is an excellent music program, which I found very useful to help me learn songs (classical music mainly). My usage is basically :
- open a midi file in Rosegarden (the choral public domain library is a good source)
- switch to the notation display which gives a nice score layout (see below)
- hit the play button and follow the notes on screen while they are played

Here is a very succinct howto to get Rosegarden up and running :
First, you need to install the jack deamon. Install also ecasound so to test it :
sudo apt-get install qjackctl jackd ecasound ladspa-sdk
Launch the jack daemon :
jackd -dalsa -dhw:0 -r44100 -p1024 -n2
Check that it works with your sound-card (you should hear a pure sinusoide sound) :
ecasound -f:32,1,48000 -i null -o jack_alsa,myport -b:1024 -el:sine_fcac,440,1
Then, you need to install a soft synthetizer
sudo apt-get install fluidsynth qsynth
Fluidsynth needs a sound library to work with, I chose Musica Theoria v2 from homemusician.net. Download this file on your local drive.
SfArk is an exotic compression format, so you need to use a special program to extract the sound file :
wget http://melodymachine.com/files/sfarkxtc_lx86.tar.gz
tar xzf sfarkxtc_lx86.tar.gz
./sfarkxtc Musica_Theoria_v2.sfArk
You should now have a file named Musica Theoria v2 (GM).sf2 in your current directory. Then run qsynth and add the Musica Theoria v2 (GM).sf2 file in its soundfonts library.
Now, you are ready to install Rosegarden itself :
sudo apt-get install rosegarden
To play a midi file in Rosegarden :
jackd -dalsa -dhw:0 -r44100 -p1024 -n2
fluidsynth -m alsa_seq ./mustheory2.sf2
rosegarden
If it doesn’t work, the Rosegarden’s FAQ has useful advices.