OfficialSoftSynthSupport

Differences between revisions 1 and 3 (spanning 2 versions)
Revision 1 as of 2005-11-02 19:33:28
Size: 2778
Editor: 200-233-136-084
Comment:
Revision 3 as of 2006-11-16 04:32:43
Size: 3882
Editor: deimos
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:

  -- Can also use FluidSynth, which is way better than Timidity++, as a software synthesizer. Have to confirm if it can act as a standard ALSA midi device, outputting to ALSA pcm sinks. I know it works with JACK currently. Basically no latency issues on most modern computers. - PrashantVaibhav
Line 25: Line 27:
 * Music composition, edutainment
Line 47: Line 50:
  -- 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
Line 48: Line 52:
  -- 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
----
CategorySpec

Summary

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. Have to confirm if it can act as a standard ALSA midi device, outputting to ALSA pcm sinks. I know it works with JACK currently. Basically no latency issues on most modern computers. - PrashantVaibhav

Rationale

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

Scope

  • 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.

Design

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.

Implementation

To be written.

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


CategorySpec

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