[SATLUG] Getting sound from MIDI

Frank Huddleston fhuddles at gmail.com
Fri Dec 17 13:59:34 CST 2010

John Choate wrote:

Have you installed any soundfonts? Also, I suggest installing qsynth (fluidsynth) and getting it assigned a soundfont and connected with Jack. Then, theoretically, your midi
programs will make use of soundfonts through qsynth/fluidsynth via Jack.
So, if a general midi soundfont is installed, qsynth will provide the GM voices and Jack will tie in your other midi apps, virtual keyboard etc.

I'll look more later into specific program names to be installed. I have made this work before on Mandriva, but it has been a while... but it was really cool when I managed to get it
to work.

Thanks for the suggestions: it turned out to be very helpful.

Since that reply, I have had some luck getting MIDI to work: thanks for the suggestions. I already had qsynth and jack installed,
but wasn't sure if I needed sounfonts or not to play a midi file. I wonder: how does timidity do it?

I saw that Qsynth has the ability to load different sound fonts, so I looked around my system and found some in /usr/share/sounds/sf2. I
loaded them, and started jack and qsynth. aplaymidi needs a port specified, but the -l option shows available ports: I saw 14:0 for "MIDI Through", 128:0-3 for Timidity, and, when Qsynth was running, 130:0 for qsynth. Just by trial and error, I found that when playing aplaymidi with the qsynth port (aplaymidi -p 130:0<midi file>), the activity light would light up in qsynth. Also, with verbose midi messages selected,
a message saying "note on" would display: looked like something was happening, at least. Frequently this is how I progress: I poke around until something changes or happens, then proceed from there.
   I happened to have the "Channels" input window open in Qsynth, and had double-clicked on channel 0, and noticed that it allowed the assignment of an instrument from a list. But still, nothing played. Then I had the channels window open when the file was playing, and noticed that the lights for channels 2 and 3 lit up. So I assigned an instrument to channels to and 3 (piano, in both cases), and then got
sound. Eureka!
   I proceeded from there to use something like this method with Rosegarden, except I found I didn't have to assign every instrument and channel: luckily, because some of those sample pieces in Rosegarden have maybe 12 parts. In Rosegarden, I had to select the "Manage MIDI Devices" icon, and choose, for MIDI Playback, the "Qsynth input port" (130:0).
   Qsynth is set to use jack as the audio output driver. I see that "alsa" is also an option, and I may have tried it at one point, but I'm just reporting what is working for me at this time.

So far, so good. I see that the Linux Journal (http://www.linuxjournal.com/) has published some articles on Qsynth and seq24, and probably
others. I saw a reference to Hammersound (http://www.hammersound.net/) as a source for sound fonts, but the ones I used were already on my
system, in /usr/share/sounds.


Frank Huddleston

More information about the SATLUG mailing list