Man Linux: Main Page and Category List

NAME

       pmidi - A midi file player for ALSA.

SYNOPSIS

       pmidi [ -pclient:port ] [ -l ] [ -ddelay ] file...

DESCRIPTION

       The  pmidi  command  reads  in  the specified midi files and plays them
       through the ALSA sequencer.  You can specify on the command line  which
       sequencer  port  that you wish to use.  Use the -l option to get a list
       of possible sequencer ports for your machine.

   OPTIONS
       -pclient:port
              Specify the ALSA port to send the midi file to.

       -l     List the possible output ports that could be used.

       -ddelay
              Delay after song ends.  This is used to prevent the last note of
              a song being chopped off early.  The default is two seconds.

   Port numbers
       You   can   specify   client:port   numbers  in  the  ALSA_OUTPUT_PORTS
       environment variable.  You can also supply a comma (or space if  quoted
       correctly)  separated list of client:port numbers.  This will allow you
       to play midi files that use more than 16 channels.

   Examples
              pmidi song.mid song2.mid
              pmidi -p "64:0, 64:1" song.mid

TROUBLE SHOOTING

       Before you start  you  need  to  have  ALSA  installed  and  configured
       correctly.   This  man  page  cannot cover all general ALSA topics, but
       here are a few things to check when things do not seem to be working.

   Checking ALSA
       1.  First check that the correct sequencer modules are loaded for  your
           sound card:

           -  For  a  card  with an external Midi connection, you need to load
              snd-seq-midi.

           -  For the OPL2/3 internal synthesiser you need to load  snd-synth-
              opl3.

           -  For  the  AWE32/64  internal  synthesiser  you need to load snd-
              synth-emu8000.

           -  For the SB Live! internal synthesiser  you  need  to  load  snd-
              synth-emu10k1.

           -  (Let me know of any more)

       2a  If  you  have  an  AWE32/64  or  SB Live! you will need to load the
           sounds with sfxload in the same way  as  for  the  standard  kernel
           drivers.

       2b  If  you  have  the OPL3 FM synthesiser you will have to load the FM
           instruments with sbiload.  See note below.

       3.  Make sure that the synth in the mixer is turned up and  unmuted  if
           appropriate.

   Before use
       Because  you  may have more than one sound card and each sound card may
       have several MIDI connections, you have to tell pmidi which one to use.

       First find out what the possibilities are for your system:

       If you run:
              pmidi -l
       it will give you a list of the possible devices that it can play to. On
       my system I get:

       Port    Client name                      Port name
       64:0    Rawmidi 0 - EMU10K1 MPU-401 (U   EMU10K1 MPU - 401 (UART)
       65:0    Emu10k1 WaveTable                Emu10k1 Port 0
       65:1    Emu10k1 WaveTable                Emu10k1 Port 1
       65:2    Emu10k1 WaveTable                Emu10k1 Port 2
       65:3    Emu10k1 WaveTable                Emu10k1 Port 3
       128:0   FLUID Synth (28152)              Synth input port (28152)
       129:0   Client-129                       TiMidity port 0
       129:1   Client-129                       TiMidity port 1

       Any of the port numbers in the first column can be used with pmidi.  In
       the  example  above  the  first one is the external Midi port, the next
       four are the internal wave  table  synthesiser.   Then  there  are  two
       software  synthesisers  running, FluidSynth (http://www.fluidsynth.org)
       and Timididy.

       If you don’t see anything listed  then  check  that  the  correct  ALSA
       modules are loaded as in the section "Checking ALSA".

ENVIRONMENT

       ALSA_OUTPUT_PORTS   Port to use in playing midi file.

SEE ALSO

       playmidi(1)

AUTHOR

       Steve Ratcliffe <steve@parabola.demon.co.uk>

                                  Dec 20 2003