After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 690892 - switch midi support from libwildmidi to libfluidsynth or libtimidity
switch midi support from libwildmidi to libfluidsynth or libtimidity
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other Linux
: Normal enhancement
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-12-30 16:49 UTC by martin.tlustos
Modified: 2013-03-22 14:26 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description martin.tlustos 2012-12-30 16:49:29 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.
Comment 1 Tim-Philipp Müller 2013-01-06 16:01:17 UTC
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.
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2013-01-06 17:22:47 UTC
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.
Comment 3 martin.tlustos 2013-01-07 09:11:12 UTC
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).
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2013-01-07 12:10:15 UTC
Martin, the timidity part is most likely not built (due to rarely packaged timitidy library). The sources are in gst-plugins-bad/ext/timidity/
Comment 5 martin.tlustos 2013-01-07 13:25:02 UTC
So if fluidsynth is more commonly packaged, it would be better to have a fluidsynth plugin, right? How difficult would that be?
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2013-01-07 13:55:14 UTC
Here is a starting point:
http://fluidsynth.sourceforge.net/api/index.html#MIDIPlayer
Comment 7 Wim Taymans 2013-03-21 06:25:48 UTC
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.
Comment 8 Simon Feltman 2013-03-21 08:01:56 UTC
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
Comment 9 Wim Taymans 2013-03-22 14:26:39 UTC
In -bad now and set to rank primary.