Midi Composition in Linux

Linux is excellent at many things. At midi it is not. Playing midi music in Windows is easy. In Linux it is hard, but Linux has the advantage of having a lot of free software and with Ubuntu a lot of that free software is easily installed. Among these free software applications is a program called Nted which makes writing sheet music easy. The problem is midi audio output for your sound card will not work correctly in Linux unless you do a couple of things.

In Ubuntu go to the Ubuntu Software Center and install Timidity and QjackCtl (Jack Control) which will help with getting midi working.

To get timidity midi running go to the terminal and use the command…
timidity -iA

That will give you a sequencer port number (usually 130). Then run program you want to use like nted, then run jack and connect the program you want to use to timidity 130.

Then install Nted through the Software Center. Make sure you’ve recently rebooted (once a midi setup in Linux does not work correctly it is hard to get any sound working correctly until you reboot) and run both programs simultaneously. In Qjack press the Connect button and go to the ALSA tab. Click in the left panel where it says NTed to highlight that and then highlight Timidity in the right panel and press the connect button. Now you can use your audio card to output the stuff you are composing in Nted. Midi in Linux is a pain in THE BUTT!

If Timidity is not working right for you try Qsynth a FluidSynth front end and connect to that in Jack Audio Connection Kit instead.

I noticed that adding measures in Nted is not as described in the online source I found. That source says that you are to select a note and then use Insert – Insert Block. That does not work (I think it’s only for adding measures until that line of the score runs out). Instead use Insert – append a system at the end (shortcut key Ctrl+b).

Now the program I prefer to use is actually called RoseGarden. It’s complex, but very good. To get midi running in it install Qsynth first, then jack audio connection kit and start both. Set qsynth setup to midi driver alsa_seq, audio – audio driver to pulseaudio, sample format 16bith, sample rate 4800, buffer size 256, buffer count 2, make sure you have a sound found installed (sudo apt-get install fluid-sound-gm) and make sure the sound font setting in qsynth points to /usr/share/sounds/sf2/FluidR3_GM.sf2 and now go into RoseGarden, click the menu at : studio – manage midi devices and pick the available output that reflects your qsynth port (try each one until you find it, it’ll probably be last or second to last) and you are ready to play sounds.

To compose a song middle mouse button click on one of the tracks in the space to the right of the name and that’ll add one measure then on the toolbar click the two notes joined together to open the sheet music view and go for it.