SDB:Ascoltare MiDI files con TiMidity


Background

Alcune schede audio Some sound cards do not have a WaveTable synthesizer for playing MIDI files with the loaded sound font (or instrument patch). In this case, use a software WaveTable synthesizer like fluidsynth or timidity++. In the example Im going to explain I will use timidity++.

TiMidity is a MIDI-to-WAV rendering engine that uses Gravis Ultrasound PAT-format soundfiles or SF2-format soundfonts as its sound sources. MIDI note events are translated to audio data and the output may be rendered to a file or as a realtime audio stream. The program can be run from the console or xterm prompt, and it can be compiled for graphic control interfaces with a variety of toolkits (Gtk, Qt, Motif, Tcl/Tk, XAW, etc.).

Solution

First of all provide ourselves with the Timidity package and install it.

We have to get the Timidity package from our package database if we dont have it installed already: http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/i586/timidity-2.13.2-21.i586.rpm

Running the daemon:

To start timidity++ in the ALSA server mode, enter

/usr/bin/timidity -iA -B2,8 -Os &. 

A message, such as Opening sequencer port: 128:0 128:1, will be displayed, showing the MIDI port by means of which the synthesizer can be addressed (e.g., with vkeybd --addr 128:0).

Then, we will have to tell the application we like to use this synth. For instance if we want to use KMid, we just will have to select the timidity synth in this route:

Settings -> MIDI setup -> TiMidity TiMidity port 0 - ALSA device

Once we have done this the timidity synthesizer should be running. Now we are able to use our favourite midi player to play any midi file.

To terminate timidity++, enter:

killall timidity