The "Raw Music" interface provides low-level access to the FM and the MIDI devices on the soundcard. This interface is provided only in the commercial Open Sound System version. The API definitions can be found in the file dm.h.


By giving "register" level access to the FM synthesizer chip, developers can use the FM chip in applications that are not music or sequencer oriented. Example of such applications are signal generation and acoustic research. By obtaining direct access to the FM chip, you can generate custom FM sounds that cannot be played back via the sequencer. You can control individual parameters and export the resulting sound as a sequencer patch file. The /dev/sequencer device provides intelligent MIDI output via the FM synthesizer


On the MIDI side, Raw Music API provides simple read() and write() access to the MIDI port. This enables applications to provide their own MIDI sequencing. An example of such applications are MIDI lighting controllers and extended MIDI support. The /dev/midi device in OSS provides a TTY like interface and does provide intelligent MIDI processing. The Raw Music MIDI device provides a "raw" interface to the MIDI device.

Applications That Use the Raw Music Interface

Download Pre-compiled Binaries (with Motif) for Linux x86

xfmedit - This is an editor for controlling all the FM synthesizer's registers. This provides OPL-3 2-operator access.

xcmf - This is a player for playing Creative Music Format (.cmf) music files which are a derivative of the standard MIDI, except that the patchs are contained in the file. This application provides a GUI for selecting the CMF file and tape-recorder like controls.

xmidi - This is a MIDI player which plays back MIDI files in 4-operator mode of the FM synthesizer. This application allow you to change the MIDI instrument "on-the-fly".

xsynth - This an application which provides a keyboard interface. You can either use the mouse to click on the keys or use the computer keyboard to make the sound. It is a "virtual synthesizer" which provides access to MIDI channels. It also provides a "drum pattern" generator. Additionally, it also allows you to record and playback MIDI files via the FM or the Wave-table synthesizer (which is connected as a daughter card module to the MIDI port).

xmuseq - Finally a "piano-roll" style MIDI editor. It provides complete MIDI editing capabilities found on Windows based MIDI editors such as Windjammer. This is an evolving product. There are plans to provide Music Notation support.

Guide Menu