Timidity shouldn't depend on freepats

Bug #196135 reported by Lorenzo Taylor
22
This bug affects 1 person
Affects Status Importance Assigned to Milestone
fluid-soundfont (Ubuntu)
Triaged
Low
Unassigned
timidity (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

The freepats package is still incomplete and is missing a lot of instruments. Furthermore, timidity only requires a patch set or soundfont in order to run, and the fluid soundfonts are now available in Ubuntu Universe.

Possible solution:

Timidity should recommend fluid-soundfont-gm or freepats with a preference for fluid-soundfont-gm, since it is complete. It should also suggest fluid-soundfont-gs as an extension. This way, if someone wishes to use a different soundfont that is not packaged for Ubuntu, only timidity itself can be installed so that a large package such as freepats or fluid-soundfont-gm doesn't need to be installed unless it is wanted. Also, the timidity.cfg file should be configured to use the fluid gm soundfont with the configurations for freepats and the fluid gs soundfont commented out so the user can uncomment whichever one is needed.

Revision history for this message
Emmet Hikory (persia) wrote :

Yep. Absolutely. Dependencies are clear, although a reworked defauly timidity.cfg that used fluid-soundfont-gm by default and fell back gracefully to freepats if that was unavailable would be required to fix it.

Revision history for this message
Toby Smithe (tsmithe) wrote :

I'm hesitant to switch to Fluid as a dependency of Timidity, primarily because it is so large. However, if there is enough demand to do so, or to ship Timidity with no dependency on freepats, but a Recommend for Fluid, then either of those could easily be done, just by changing the default timidity.cfg.

Alternatively, my preferred solution would be to patch timidity.c to allow an directory as an option to the "source" configuration line, enabling timidity.cfg to specify a cfg.d directory from within which to source configurations. This way, we could have the soundfont/patch set packages themselves supply the configurations, rather than hard code them into the timidity package.

That being said, I do not think that Hardy is necessarily the time to make such a change, nor if I would have spare time to do it. What do other people think?

Revision history for this message
Lorenzo Taylor (lorenzo.taylor) wrote : Re: [Bug 196135] Re: Timidity shouldn't depend on freepats

Well, basically the problem is that if someone wishes to install
timidity and use a different set of patches or a soundfont, freepats
must still be installed. Even a recommend for freepats would be better
than a dependency, since timidity could be installed without it and
fluid could be used with minor modifications to the config file by the
user. The main problem is that freepats is just too incomplete, so most
people are probably going to use something more complete, which is why
the option to install without freepats is necessary. Further
modifications to the config file or a recommend for fluid instead of
freepats could be done at a later time, but I thought that since there
is now an alternative that is complete, that it should be recommended
and there should be no dependency on an incomplete set of patches.

Revision history for this message
Toby Smithe (tsmithe) wrote :

On Thu, Feb 28, 2008 at 3:13 PM, Lorenzo Taylor <email address hidden> wrote:
> Well, basically the problem is that if someone wishes to install
> timidity and use a different set of patches or a soundfont, freepats
> must still be installed. Even a recommend for freepats would be better
> than a dependency, since timidity could be installed without it and
> fluid could be used with minor modifications to the config file by the
> user. The main problem is that freepats is just too incomplete, so most
> people are probably going to use something more complete, which is why
> the option to install without freepats is necessary. Further
> modifications to the config file or a recommend for fluid instead of
> freepats could be done at a later time, but I thought that since there
> is now an alternative that is complete, that it should be recommended
> and there should be no dependency on an incomplete set of patches.

Ok; I'm sure we could Recommend: freepats and Suggest: fluid-soundfont
right now. However, this would break the current config file. I'll
upload a debdiff with a primitive change now.

The version of fluid soon to be included in Debian (and afterward,
sync'd) includes example timidity configurations.

Revision history for this message
Toby Smithe (tsmithe) wrote :
Revision history for this message
Simon Woolf (semw) wrote :

The fluids package that's in the repositories doesn't seem to come with a .cfg file; so I've attached one that I got from the Timidity web site and made the relevent changes to it so it works with the Ubuntu fluids package. Just dump this somewhere (e.g. /etc/trinity/) and change the "source" line in timidity.cfg to point to it.

For anyone who hasn't done a comparison themselves, I've uploaded good old ONESTOP.MID, as rendered into an Ogg file with both Freepats and Fluid3, so you can hear the difference it makes.
Freepats: http://home.btconnect.com/geoffwoolf/files/onestop_freepats.ogg
Fluid3: http://home.btconnect.com/geoffwoolf/files/onestop_fluid.ogg

Revision history for this message
Toby Smithe (tsmithe) wrote :

On Mon, Apr 7, 2008 at 2:48 PM, Simon Woolf <email address hidden> wrote:
> The fluids package that's in the repositories doesn't seem to come with
> a .cfg file; so I've attached one that I got from the Timidity web site
> and made the relevent changes to it so it works with the Ubuntu fluids
> package. Just dump this somewhere (e.g. /etc/trinity/) and change the
> "source" line in timidity.cfg to point to it.

This should change in Intrepid. The version I uploaded to Debian
includes config files, though atm they're installed to
/usr/share/doc/<package> rather than /etc/timidity, as there is as yet
no integration.

Revision history for this message
Lorenzo Taylor (lorenzo.taylor) wrote :

Wow! Thanks for the config. It solved the one last problem I had with
fluid. The drums now come through much more clearly instead of being
rather quiet in the background.

Revision history for this message
Markus Schulz (schulz-alpharesearch) wrote :

But we could also have two alphabets (true type font files) in English; one with all 26 letters and one without, lets say, 5 letters. By default we install only the 21 letter alphabet. Now we save some HD space. Most intelligent people will still be able to guess most of the text files they read. But it is not really useful, because it will not show the text like the author intended... If you want to compete with Windows you should be able to play a midi file right out of the box and in the same quality. But at lest play the files with all sounds. Maybe freepats needs some files form fluid to make it complete?

Markus

PS: Thank you Simon Woolf for showing the difference between the two choices.

Revision history for this message
Toby Smithe (tsmithe) wrote :

On Mon, Jun 2, 2008 at 3:13 PM, Markus Schulz <email address hidden> wrote:
> But we could also have two alphabets (true type font files) in English;
> one with all 26 letters and one without, lets say, 5 letters. By default
> we install only the 21 letter alphabet. Now we save some HD space. Most
> intelligent people will still be able to guess most of the text files
> they read. But it is not really useful, because it will not show the
> text like the author intended... If you want to compete with Windows you
> should be able to play a midi file right out of the box and in the same
> quality. But at lest play the files with all sounds. Maybe freepats
> needs some files form fluid to make it complete?

At the moment gstreamer-midi doesn't support sf2 files. I'm unsure
whether there is work going on to enable that; or to allow it to talk
to other synthesisers. I have my own ideas as to how synthesis should
work (and work well), but I'm currently snowed under by schoolwork, so
I'm not going to get people's hopes up.

You may have noticed that in Hardy, you can just play midi files out
of the box. They don't sound great (freepats), but it's a big
improvement on previous versions.

Revision history for this message
Emmet Hikory (persia) wrote :

Adding a fluid-soundfont task because fluid-soundfont needs to ship fluid.cfg if timidity is going to use it.

Changed in fluid-soundfont:
importance: Undecided → Low
status: New → Triaged
Revision history for this message
Toby Smithe (tsmithe) wrote :

On Tue, Oct 14, 2008 at 7:28 PM, Emmet Hikory <email address hidden> wrote:
> Adding a fluid-soundfont task because fluid-soundfont needs to ship
> fluid.cfg if timidity is going to use it.

fluid-soundfont-* both ship configuration files as part of their
documentation (as of version 3.1-1), respectively
/usr/share/doc/fluid-soundfont-g[ms]/fluidr3_g[ms].cfg.gz. I do not
ship these in /etc/timidity, as (when I last checked), Timidity has no
config.d system into which I can plug a configuration file and have it
picked up. I am not willing to modify configuration files in postinst,
either, as I feel that to be intrusive (and unreliable). That said, if
I am mistaken, then please poke me, and I'll reinvestigate the
situation.

Revision history for this message
Emmet Hikory (persia) wrote :

While I agree that timidity currently has no means to autodetect the configuration, I'd think that dropping the configuration file in /etc/timidity/fluidr3_g[ms].cfg would make it easier for the user to select an alternate configuration by manual editing of timidity.cfg.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package timidity - 2.13.2-19ubuntu3

---------------
timidity (2.13.2-19ubuntu3) intrepid; urgency=low

  [ Toby Smithe ]
  * Relegate freepats dependency to Recommends. (LP: #196135)

  [ Mitsuya Shibata ]
  * Install Japanese manual files from doc/ja_JP.eucJP. (LP: #271605)
    * They was not installed by locale name problem.
  * Modify desktop file. (LP: #271607)
    * Add Icon/MimeType entries suggested by fueryuejing.
    * Add translated labels.
  * Add XAW interface file for ja_JP.UTF-8 locale. (LP: #271608)
    * Changed encoding by iconv and replaced @pkglibdir@ in the file.
  * Modify debian/control file by lintian some reports.
    * Change build-depend from x-dev to x11proto-core-dev.
  * Call dh_desktop in debian/rules.
  * Japanese interface improvements (LP: #273064)

  [ Emmet Hikory ]
  * Try to make the maintainer scripts a little more robust to work around
    issues reported with pulseaudio interaction.
  * Update Categories in the .desktop file

 -- Emmet Hikory <email address hidden> Thu, 16 Oct 2008 20:04:21 +0900

Changed in timidity:
status: Triaged → Fix Released
Revision history for this message
Julian (julian-casadesus) wrote :

And why don't use "update-alternatives" methood.
So /etc/timidity/timidity.cfg may be just a link pointing to /etc/alternatives/timidity.cfg.

And then user will be free to choice by doing:
sudo update-alternatives --config timidity.cfg

I think it's more Debian/Ubuntu standard, and it's used for a lot of packages with successfull results..
And it will more easy for new users than manually edit links or configure files.

Revision history for this message
Steven Schäfer (s-schaefer89) wrote :

> At the moment gstreamer-midi doesn't support sf2 files. I'm unsure
> whether there is work going on to enable that

According to https://bugs.launchpad.net/ubuntu/+source/timidity/+bug/111555 gstreamer comes packaged with wildmidi instead of timidity.
wildmidi is still actively developed but does not currently support sf2 files (see http://wildmidi.sourceforge.net/ - Soundfont 2 support is scheduled for 0.3.0), so using fluid as default makes little sense with this setup. Alternatively someone would have to package timidity support for gstreamer, but that didn't work out so far... (although it might be worthwhile, because currently timidity seems to offer better quality)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.