Sintetitzador midi: timidity

De wikijoan
Salta a la navegació Salta a la cerca

Previ

Diguem els antecedents. Estem amb Ubuntu Jaunty (9.04) beta (no és Ubuntu Studio), i tinc el fluidsynth ben instal.lat, i el jack també (encara que no l'he remenat massa). Busco per Internet un fitxer midi (beethoven-moonlight_sonata.mid), i el primer que vull fer és fer-lo sonar. Faig doble click sobre el fitxer i el sistema em diu que necessita instal.lar un decodificador audio/midi. Per defecte el Ubuntu em diu que m'instal.li el paquet gstreamer0.10-plugins-bad, però precisament falla.

Recordem que estem amb Ubuntu, no pas Ubuntu Studio on tenia, per exemple, el timidity:

Currently Ubuntu users can't play midi files in standard desktop (not Kubuntu), because there are no music player on ubuntu-desktop, which supports midi format :(
I'm suggesting to add timidity-interfaces-extra (which contains GTK2+ midi player and depends on TiMidity++ package) until this bounty will be fixed:
MIDI, unfortunatlely is not an open file format, so Ubuntu does not support it by defualt. You can enable midi support using EasyUbuntu.

Installation instructions are found at http://easyubuntu.freecontrib.org/HtmlDocs/ch02.html

Note: For the second last step, don't type "sudo python ./easyubuntu.in". Just type "python ./easyubuntu.in" (without the sudo)
$ man timidity

NAME
       TiMidity++ - MIDI-to-WAVE converter and player

SYNOPSIS
       timidity [options] filename [...]

DESCRIPTION
       TiMidity++ is a converter that converts some of MIDI files (supported formats: Standard MIDI files (*.mid), Recomposer files (*.rcp,
       *.r36, *.g18, *.g36) and Module files (*.mod)) into formatted audio files (e.g. RIFF WAVE).  TiMidity++ uses Gravis  Ultrasound-com‐

(Desconnectem el Edirol UA-25EX. Vull fer sonar el midi per la tarja interna del portàtil)

$ sudo apt-get install timidity
$ timidity beethoven-moonlight_sonata.mid

i ja sona

$ man timidity

NAME
       TiMidity++ - MIDI-to-WAVE converter and player

SYNOPSIS
       timidity [options] filename [...]

DESCRIPTION
       TiMidity++ is a converter that converts some of MIDI files (supported formats: Standard MIDI files (*.mid), Recomposer files (*.rcp,
       *.r36, *.g18, *.g36) and Module files (*.mod)) into formatted audio files (e.g. RIFF WAVE).  TiMidity++ uses Gravis  Ultrasound-com‐
       patible  patch  files or Soundfonts (*.sfx, *.sf2) to generate digital audio data from MIDI files.  The digital audio data generated
       by TiMidity++ can be stored in a file for processing, or played in real time through an audio device.
       In real time playing, TiMidity++ can show the lyrics contained in KAR or WRD files.

Per tant, el timidity funciona com un sintetitzador d'audio.

Que funcioni el timidity no vol dir que ara en fer doble click sobre el fitxer midi ja funcionarà. Estem com abans.

timidity i JACK-ALSA

$ timidity blues.mid

funciona, quan tinc el JACK apagat. Ara bé, si connecto en el QJackctl el vkeybd i el timidity, no se sent res.

1) Is it possible to have JACK and timidity coexist peacefully?

Timidity will cooperate with JACK when timidity option "-Oj" is used instead of "-Os". So the Timidity server can be started e.g. using command:

Arrenco el JACK i faig:

$ timidity -iA -B2,8 -Oj -s 44100

TiMidity starting in ALSA server mode

i ara ja connecto el vkeybd al timidity, i ja funciona!

El més pràctic és fer un àlies i ficar-lo en el ~/.bashrc:

alias timialsa="timidity -iA -B2,8 -Oj -s 44100"

Ara bé, això implica que el JACK també estigui engegat. Si faig el alias amb l'opció -Os (ALSA), se sent una latència molt important. (?)

El mateix es podria fer, per exemple, amb el mplayer:

alias mj="mplayer -ao jack" (ficar timidity amb suport JACK)

creat per Joan Quintana Compte, abril 2009-març 2010