MAN.9FRONT.ORG RTFM


     DMID(1)                                                   DMID(1)

     NAME
          dmid - MIDI to OPL3 converter using GENMIDI-type instrument
          banks

     SYNOPSIS
          dmid [ -2s ] [ -i bank ] [ file ]

     DESCRIPTION
          Dmid decodes MIDI instructions either from file or from
          standard input, and produces OPL3 instructions suitable for
          playback by opl3(1). To program instruments, an OPL2 instru-
          ment bank in the same format as GENMIDI lumps from doom must
          be provided.  Since it is assumed that the bank is contained
          in a doom WAD file, its default location is
          /mnt/wad/genmidi.  This may be overridden with the -i com-
          mand line option.

          The -s flag enables streaming mode, in which the input is a
          pipe(3) streaming MIDI events.  It needn't provide any tim-
          ing information such as MIDI timing clocks.  This is suit-
          able for MIDI devices transmitting in real time.

          In GENMIDI lumps, two voices are defined per instrument.
          For compatibility, the -2 flag disables the second voice,
          reducing the number of OPL channels needed.  It also dis-
          ables OPL3 specific features and produces an IMF-format
          stream, which can be used in other game engines.

     EXAMPLES
          Play a MUS file from a doom WAD file:

               % games/wadfs /sys/games/lib/doom/doom1.wad >[2]/dev/null
               % games/mus /mnt/wad/d_e1m8 | games/dmid | games/opl3 >/dev/audio

          Play a MIDI stream from a USB device (see usb(3)):

               % games/wadfs /sys/games/lib/doom/doom1.wad >[2]/dev/null
               % games/dmid -s /dev/usb/ep10.1/data | games/opl3 -s >/dev/audio

     SOURCE
          /sys/src/games/dmid.c

     SEE ALSO
          games(1), mus(1), opl3(1), audio(3), pipe(3), usb(3),
          wadfs(4)

     HISTORY
          Dmid first appeared in 9front (July, 2018).