Pmidi
From the ALSA wiki
The pmidi MIDI player
Contents |
[edit] What is pmidi?
pmidi is a program for playing MIDI files either on internal MIDI devices like your soundcard or external MIDI devices like MIDI keyboards. pmidi works with ALSA's sequencer and has a simple command-line user interface.
Please read the general introduction to playing MIDI files on the page PlayingMIDIFiles and the short explanation of MIDI is on the page MIDI.
[edit] Where can I download pmidi?
You can download pmidi from http://freshmeat.net/projects/pmidi/.
[edit] How can I use pmidi?
To play a MIDI file with pmidi you need to do three things in order:
[edit] Step 1
Firstly, load a soundfont to put a set of musical instrument sounds into your soundcard's wave memory (if applicable) using either asfxload SF8MBGM.SBK (native ALSA version) or sfxload SF8MBGM.SBK (version for ALSA's OSSEmulation).
[edit] Step 2
Secondly, find out which MIDI ports are available using pmidi:
pmidi -l
which produces output similar to:
Port Client name Port name 64:0 Rawmidi 0 - Sound Blaster 16 M Sound Blaster 16 MPU-401 65:0 Emu8000 WaveTable Emu8000 Port 0 65:1 Emu8000 WaveTable Emu8000 Port 1 65:2 Emu8000 WaveTable Emu8000 Port 2 65:3 Emu8000 WaveTable Emu8000 Port 3 66:0 OPL3 FM synth OPL3 FM Port
[edit] Step 3
Thirdly, choose a port name like 64:0 (an external MIDI device in this case) or 65:0 (the soundcard's MIDI synth in this case) and play a MIDI file on your chosen port:
pmidi -p 64:0 MusicFile.mid
[edit] Alternative MIDI players
There are many alternative MIDI players for Linux/ALSA listed at http://freshmeat.net/search/?q=MIDI+player&trove_cat_id=1.
Takeshi Iwai's drvmidi MIDI player is able to move forwards and backwards in a MIDI file while it is being played as well as dynamically load soundfonts.
The playmidi/xplaymidi MIDI player can adjust the playback speed of a MIDI file while it is being played.
Look at the page PlayingMIDIFiles for several alternative ways of playing MIDI files.

