*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> midi (4)              



NAME    [Toc]    [Back]

     midi - device-independent MIDI driver layer

SYNOPSIS    [Toc]    [Back]

     midi* at autri?
     midi* at mpu?
     midi* at opl?
     midi* at pcppi?
     midi* at sb?
     midi* at wss?

     pseudo-device sequencer [count]

     #include <sys/types.h>
     #include <sys/midiio.h>

DESCRIPTION    [Toc]    [Back]

     The midi driver provides support for various MIDI  peripherals.  It provides
  a uniform programming interface layer above different
     MIDI hardware drivers.  The MIDI hardware  can  be  of  many
different kinds,
     e.g.,  an  external  synthesizer on a MIDI port (or a serial
port), the PC
     speaker, an internal FM synth, or a wavetable synth.

     There are two device file types available  for  MIDI  operation:
     /dev/rmidiN,  and  /dev/music.  The /dev/rmidiN devices provides raw access
     to a MIDI device.  Data written is sent to the physical  device as fast as
     possible  and is uninterpreted.  Reading from the device returns data as
     soon as it becomes available.  A moderate amount of  buffering is available
 both for reading and writing.  The raw MIDI devices are
mostly useful
 for non realtime operations, such as downloading patches
to a device,
     since it is hard to get the accurate timing needed for quality music from
     a user program.  But the devices can act as a simple  patchboard for MIDI
     devices.  For example, a MIDI keyboard could be connected to
a synthesizer
 by the command

           $ cat -u /dev/rmidi1 >/dev/rmidi2

     The /dev/music device is a MIDI sequencer device.  Data sent
to and from
     this  device  not  only contains the information sent to the
MIDI device,
     but also timing information.  The kernel will make sure that
data is sent
     to the physical device at the indicated time.  The sequencer
device uses
     the /dev/midiN devices internally and they  are  unavailable
when used by
     the sequencer.

     The  API  for the sequencer device is binary compatible with
the OSS sequencer

FILES    [Toc]    [Back]


SEE ALSO    [Toc]    [Back]

     midiplay(1),  ioctl(2),  ossaudio(3),  audio(4),   autri(4),
mpu(4), opl(4),
     pcppi(4), sb(4), wss(4), ym(4)

HISTORY    [Toc]    [Back]

     The midi driver first appeared in NetBSD 1.4.

OpenBSD      3.6                          August      6,     1998
[ Back ]
 Similar pages
Name OS Title
audio OpenBSD device-independent audio driver layer
mixer OpenBSD device-independent audio driver layer
radio OpenBSD device-independent radio driver layer
mdCountReaders IRIX count applications using a MIDI device
vxddladm HP-UX Device Discovery Layer subsystem administration
mpu OpenBSD Roland/Yamaha MPU401 (and compatible) MIDI UART driver
ditroff FreeBSD classical device independent roff
wdc NetBSD machine-independent IDE/ATAPI driver
ipxlink IRIX Link ipx streams driver to Link Layer
el FreeBSD Ethernet driver for 3Com Etherlink 3C501 device driver
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service