GNOME Bugzilla – Bug 690892
switch midi support from libwildmidi to libfluidsynth or libtimidity
Last modified: 2013-03-22 14:26:39 UTC
as above. gus patches (as used in wildmidi) are so much poorer in soundquality than sf2 soundfonts used in fluidynth or timidity. It's just not up date. Also there are so many more soundfonts available than gus patches. Both gnome and kde use gstreamer for multimedia support, so providing a high-quality midi support would be very important for the further fostering of Linux on desktops.
There is a timidity plugin in gst-plugins-bad (for 0.10, not ported to 1.0 yet), which has a higher rank than the wildmidi plugin. So not sure what you're asking for exactly.
Fluidsynth is a library (timidity has a library too, but its not widely packaged, also timidity seems to be a dormant project). I have a fluidsynth element (to use fluidsynth as a instrument) for buzztard, we could add a fluidmidi plugin that would render whole midi files.
I looked in the plugins folder for gstreamer0.10, but couldn't find a timidity plugin. How is it named? I do know that as of today gstreamer on my computer (Kubuntu 12.10, with all plugin sets installed) uses gus patches (it sounds exactly as wildmidi, and not like timidity or fluidsynth, which use the G3 soundfont).
Martin, the timidity part is most likely not built (due to rarely packaged timitidy library). The sources are in gst-plugins-bad/ext/timidity/
So if fluidsynth is more commonly packaged, it would be better to have a fluidsynth plugin, right? How difficult would that be?
Here is a starting point: http://fluidsynth.sourceforge.net/api/index.html#MIDIPlayer
started in -bad: commit 73824e0ea70114d31afccafb2258a30a178a4b50 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Thu Mar 21 07:05:54 2013 +0100 fluidsynth: add fluidsynth midi renderer Add a fluidsynth element that converts midi events into raw float samples. commit 235f2a962e4fc785c8d2c73f5c658fa35474f43a Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Thu Mar 21 06:50:52 2013 +0100 midiparse: add basic midi parser Parses midi files and outputs buffers with midi events.
Not sure if it is useful but there is also the portsmf and libsmf projects for parsing midi files: http://sourceforge.net/projects/libsmf/ More active development is here: https://github.com/stump/libsmf
In -bad now and set to rank primary.