TiMidity++ for Debian
-----------------------------------------------------------

Enabling the ALSA sequencer daemon is done by installing the
timidity-daemon package.

You can disable Timidity as ALSA sequencer by uncommenting the line

TIM_ALSASEQ=false

in the /etc/default/timidity file, and doing an /etc/init.d/timidity restart.

Using fluid-soundfont
---------------------

Install fluid-soundfont-gm and/or fluid-soundfont-gs.

uncomment the line that says #source /etc/timidity/fluidr3_gm.cfg
or #source /etc/timidity/fluidr3_gs.cfg
in /etc/timidity/timidity.cfg. Comment the freepats line.


Installing Patchsets/soundfonts 
for TiMidity (requisite for MIDI playing)
-----------------------------------------

For MIDI playing and sequencing, TiMidity _REQUIRES_ a patchset (or Sound
Font), which is a table with the waveforms produced by the instruments.  There
are no good quality patch sets or sound fonts available that are compatible
with the DFSG, AFAIK.  The incomplete (as of this writing) FreePats set is the
only DFSG-compliant set of patches available, and the default minimal config
file will try to use that.  See the freepats package for more details.

You have to find a sound font or patch set, and configure /etc/timidity/timidity.cfg
for that patchset.

Good soundfonts in .sf2 format are often available from sound-card makers.
For example the Soundblaster Live! driver CD contains the 8MBGMSFX.SF2 file.
TiMidity can use those.  There are also patchsets available for download on the
Internet that are usable for TiMidity.

You can find more information about patchsets and soundfonts in the
TiMidity homepage and mailinglist.  The homepage is at
http://timidity.sourceforge.net/


Fine-tining TiMidity for your system's CPU power
------------------------------------------------

TiMidity can, and will use your CPU time to do its level best to get
marvelous sound out of whatever you give it to work with.

If you find TiMidity too slow, simply configure it to use faster methods
of rendering sounds.  You can put command line options in timidity.cfg
by prefixing them with "opt".  Thus, you could use the following, to 
reduce CPU usage to a minimum:

opt anti-alias=d
opt ext WPVSETOZ
opt fast-decay
opt interpolation linear
opt poliphony 16
opt ext Fchorus=d
opt ext Freverb=d
opt ext Fvlpf=d
opt ext Fresampl=d

Also, reduce the sampling-frequency as much as you can.

Usually, playing with -EFresampl (ext Fresampl) is enough to reduce
a lot of the CPU usage.


The timidity.cfg file
---------------------

See timidity.cfg(5) for all the details.  Command line options can be specified
prefixing them with "opt".  You'll probably want to "source <otherconfigfile>"
to load in config files distributed along with patchsets.

 -- Henrique de Moraes Holschuh <hmh@debian.org>

 Pulseaudio
 ----------

If you use a systemwide pulseaudio daemon, and you also want to run the timidity
sequencer systemwide, make sure the root user uses the correct alsa pulseaudio
configuration.  This can be done by creating a file /etc/asound.conf with the
following content:

#-- begin --
pcm.pulse {
            type pulse
}

ctl.pulse {
             type pulse
}

pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}
#-- end --

And also add the root user to the pulse-access group:

# adduser root pulse-access

This will cause timidity to use pulseaudio. This is only an example; more
advanced setups might require more or different configuration. Please
consult the pulseaudio documentation.

Alternatively you could run timidity in daemon mode as user.

 -- Joost Yervante Damad <andete@debian.org>
