Proposition : global changes to timidity and patches/soundfonts

Raphaël Halimi raphael.halimi at gmail.com
Fri Mar 18 18:13:41 UTC 2016


Hi all,

I write this e-mail to you as respective maintainers of the following
packages:

- timidity
- freepats
- fluid-soundfont
- timgm6mb-soundfont

The goal of the proposed changes is to offer the best out-of-the-box
experience for casual Debian users who don't know about midi files
and/or soundfonts, and who get timidity installed as a dependency for
games (like openttd or scummvm), or music learning software.

The rationale behind this proposition is that, for now, when timidity
gets installed as a dependency, it pulls in the venerable (but
unfortunately incomplete) freepats package, which sadly doesn't offer a
good musical experience, since quite a bunch of patches are missing or
sound like a basic electric organ.

If a user wants better sound on their games or software, he/she has to
install a new soundfont through apt, *and* hack in
/etc/timidity/timidity.cfg, which is far from ideal from a newbie's
point of view.

This could be achieved by simply modifying timidity's default
configuration and dependencies in favor of timgm6mb-soundfont, but I
have a (IMHO) far better plan to simplify the setup for new users, while
keeping compatibility with current patches/soundfonts packages in Debian
(and future ones).

What I propose is to:

- Create a new alternative, named for example "timidity-instruments",
which would be registered by freepats, fluid-soundfont and
timgm6mb-soundfont (and maybe other packages providing patches or
soundfonts), and point it to a timidity configuration file fragment,
provided in the packages
- Have those packages declare in their dependencies that they provide
"timidity-instruments"
- In /etc/timidity/timidity.cfg, replace the lines about freepats and
fluid-soundfont to a simple line that includes the configuration file
fragment pointed by the alternative
- Declare in timidity's dependencies that it recommends the
"timidity-instruments" virtual package, and one default real package
providing it

This way, after installing timidity, installing a soundfont with a
higher priority would automatically make timidity's configuration handle
it, without the user needing to manually modify any configuration file.
Experienced users who want to switch soundfonts/patches could do it
either through Debian's alternatives system, or by manually modifying
/etc/timidity/timidity.cfg. The best of both worlds !

You will find, attached to this e-mail, patches for the current Sid
versions of your respective packages, implementing all the steps of my plan:

- The one for timidity updates the dependencies, and modifies the
default configuration file. I chose "timgm6mb-soundfont" as a default
for the virtual package, because it sounds much better than freepats,
and is significantly smaller than the huge fluid-soundfont, but of
course this is only a suggestion
- The one for freepats updates the dependencies, and registers the
"timidity-instruments" alternative with a priority of 10 (again, only a
suggestion)
- The one for timgm6mb-soundfont does the same, with a priority of 60
(again... You get it)
- The one for fluid-soundfont does the same (with priorities 90 for the
GM soundfont and 20 for the GS soundfont), and adds a new package named
"fluid-soundfont" that depends on both the GM and GS fonts, and which
provides only a configuration file fragment including both GM and GS
fragments, and registers this alternative with priority 100

I had this idea on my mind for a couple of years now (in fact, when I
discovered OpenTTD and tested a wide range of soundfonts, and got tired
of having to manually hack timidity's configuration file each time).

I also made, for my personnal use, non-free packages of all the
soundfonts bundled with the various SoundBlaster cards, from the AWE32
to the Audigy, using the same alternative system I described here.

I'm using my modified packages for a couple of weeks now on my Sid box,
without any problem. Switching between soundfonts or freepats is as easy
as calling "sudo update-alternatives --config timidity-instruments" and
choose one of the alternatives installed.

I really hope you'll like my idea, and that you'll be willing to
implement it before the Stretch freeze.

Best regards to you all,

-- 
Raphaël Halimi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: timidity-2.13.2.patch
Type: text/x-diff
Size: 1421 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160318/2f45b1c0/attachment-0004.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: freepats-20060219.patch
Type: text/x-diff
Size: 1310 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160318/2f45b1c0/attachment-0005.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: timgm6mb-soundfont.patch
Type: text/x-diff
Size: 1003 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160318/2f45b1c0/attachment-0006.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fluid-soundfont.patch
Type: text/x-diff
Size: 4772 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160318/2f45b1c0/attachment-0007.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-multimedia-maintainers/attachments/20160318/2f45b1c0/attachment-0001.sig>


More information about the pkg-multimedia-maintainers mailing list