Better integration of Timidity++ as a official soft synth package in Ubuntu, including "control panel"-style settings for soundfonts (with options to add/remove soundfonts or individual instruments); better playback performance; visual editing of patch mapping; etc.

  • -- Can also use FluidSynth, which is way better than Timidity++, as a software synthesizer. Fluid can work as a standard alsa midi input port, and outputs to alsa pcm sinks in real time. Basically no latency issues on most modern computers. - PrashantVaibhav


Soft Synths such as Timidity++ offer great power while working with simple and small music files. Both the MOD and MIDI format offer the potential for high quality playback. To a great extent, the quality of the playback is dictated by the underlying sound fonts supported by the synth. Ubuntu (as of 2005/11) comes with freepats, which is a based on the older GUS format for instrument sounds. There are many problems right now, including:

  • Lack of support for automated playback of MIDI files on the file system;
  • Incomplete support for the GM (General Midi) standard;
  • Timing problems (audio playback in Timidity is a noticeable lagging with the UI);
  • Lack of tools to configure soundfonts, for tasks such as: adding a new soundfont, deleting a soundfont, remapping a sound font, etc.

Use cases

  • MIDI playback while browsing the Web (using Firefox), or in the local file system (using Nautilus);
  • Playback of MIDI Karaoke files (a popular activity in some countries);
  • Music composition, edutainment


  • Development of a official MIDI player (or plugin) for Firefox;
  • Development of a official MIDI player (or plugin) for Nautilus;
  • Development of a "control-panel" style applet to allow installation/removal of SoundFonts;

  • Development of a new 'ubuntu-midi-support' package to install all required packages;
  • Development of a new package with free SoundFonts;

  • Test to eliminate the existing timing issues.
  • Test to guarantee the quality of the individual sound samples, as well as guaranteeing that the tuning and volume level is consistent over all instruments in the system setup.


Most of the work is a matter of integration and using existing features. The Firefox and Nautilus players should integrated seamlessly with both systems. The only totally new piece of software is the Control Panel.


To be written.

  • Warbo: Perhaps the browser plugin can be done using Mozplugger, since this might bring development time down considerably. There is currently a relatively large bounty for MIDI playback capabilities in Gstreamer in Launchpad here. That would give MIDI access to many applications (Totem, Rhytmbox, etc.) which can then be opened from Nautilus like normal.

Outstanding issues

  • Is the timing problem a Timidity issue, or is it a ALSA/ESD/OSS issue?
    • -- Problem is with Timidity, and in fact is not a 'problem' per se. Timidity has a lot of latency, although I believe buffer size can be set to custom values to help reduce the latency. Simply using a better/different soft-synth can solve the problem. For example, FluidSynth can achieve near-realtime (ie. no discernible latency) performance when used with JACK, and I have used it to play instruments live.- PrashantVaibhav

  • What is the state of the licenses for the sound fonts currently available? Can we be sure that there is at least one modern SoundFont file available, with sound of good quality?

    • -- There are countless free GM modules available. I could recommend some, however at one point we have to decide what the size should be. We could ship anything from a simple 12 MB Chaos bank to a 144 MB Fluid III monster. Roland has a 3.2/6.4 MB GM bank which is also used in Microsoft's Synthesizer.- PrashantVaibhav

    -- Many of the "free" modules are only free as in free beer. Fluid III, for instance, does not permit modification or redistribution. This makes it unacceptable for use in Ubuntu, I believe. I'm just saying, be careful, because some apparently free soundfonts and other plugins are not "free" in both senses of the word. EdwardAmsden


OfficialSoftSynthSupport (last edited 2008-08-06 16:16:29 by localhost)