Contents

  1. Supported hardware
    1. Creative Music System
    2. PC speaker
    3. Roland MPU-401
    4. Simple MIDI interfaces
    5. USB MIDI devices
    6. Yamaha OPL2 and OPL3
  2. Identifying MIDI devices
  3. Connecting MIDI devices
  4. MIDI software for NetBSD

Supported hardware

Creative Music System

Very old and rare synthesizer.

See cms(4).

PC speaker

It has one-voice polyphony and sounds just awful. Useful only for testing MIDI input devices.

See pcppi(4).

Roland MPU-401

MIDI interface by Roland. It became popular thanks to excessive cloning.

Supported on many ISA cards, and following PCI cards:

Usually MPU interfaces are conncted to MIDI/Joystick port on sound cards. You won't be able to play/receive anything unless you connect some external MIDI device to such port. Though, in some rare cases MPU interface is connected to on-board/daughterboard WaveTable MIDI engine.

See mpu(4)

Simple MIDI interfaces

Simple MIDI interfaces are supported on many ISA cards, and following PCI cards:

Usually simple MIDI interfaces are connected to MIDI/Joystick port on sound cards. You won't be able to play/receive anything unless you connect some external MIDI device to such port.

Note: MIDI port and synth on SoundBlaster Live! and newer cards by Creative is unsupported.

USB MIDI devices

Many USB MIDI devices are supported. Synth modules, keyboards and MIDI interfaces are handled well.

See umidi(4)

Yamaha OPL2 and OPL3

Popular single-chip FM synthesizer. Almost all ISA cards come with such chip.

Some of the newer cards have compatbile FM engine too. PCI cards based on following chipsets have it:

NetBSD opl driver has built-in General MIDI instrument definitions, so your system is ready to play without additional configuration.

Note: New PCI cards by Creative Labs do not have this chip.

See opl(4)

Identifying MIDI devices

You can easily discover what kind of MIDI devices are available - try grepping dmesg:

dmesg | grep midi

Sample output:

midi0 at pcppi1: PC speaker (CPU-intensive output)
midi1 at opl0: Yamaha OPL3 (CPU-intensive output)
umidi0 at uhub1 port 2 configuration 1 interface 1
umidi0: Evolution Electronics Ltd. USB Keystation 61es, rev 1.00/1.13, addr 2
umidi0: (genuine USB-MIDI)
umidi0: out=1, in=1
midi2 at umidi0: <0 >0 on umidi0

In this case three MIDI devices are detected - PC speaker, Yamaha OPL3 and USB MIDI device (Keystation 61es keyboard in this case).

Connecting MIDI devices

Connecting MIDI devices is very simple. For example if you want to drive OPL3 using USB MIDI keyboard try:

cat /dev/rmidi2 > /dev/rmidi1

You can now play :).

MIDI software for NetBSD

Utility called midiplay(1) comes with NetBSD.