Package javax.sound.midi

Provides interfaces and classes for I/O, sequencing, and synthesis of MIDI (Musical Instrument Digital Interface) data.

Related Documentation

For more information on using Java Sound see: Please note: In the javax.sound.midi APIs, a null reference parameter to methods is incorrect unless explicitly documented on the method as having a meaningful interpretation. Usage to the contrary is incorrect coding and may result in a run time exception either immediately or at some later time. NullPointerException is an example of typical and acceptable run time exception for such cases.
Since:
1.3
Interface Summary
Interface Description
ControllerEventListener

The ControllerEventListener interface should be implemented by classes whose instances need to be notified when a Sequencer has processed a requested type of MIDI control-change event.

MetaEventListener

The MetaEventListener interface should be implemented by classes whose instances need to be notified when a Sequencer has processed a MetaMessage.

MidiChannel

A MidiChannel object represents a single MIDI channel.

MidiDevice

MidiDevice is the base interface for all MIDI devices.

MidiDeviceReceiver

MidiDeviceReceiver is a Receiver which represents a MIDI input connector of a MidiDevice (see MidiDevice.getReceiver()).

MidiDeviceTransmitter

MidiDeviceTransmitter is a Transmitter which represents a MIDI input connector of a MidiDevice (see MidiDevice.getTransmitter()).

Receiver

A Receiver receives MidiEvent objects and typically does something useful in response, such as interpreting them to generate sound or raw MIDI output.

Sequencer

A hardware or software device that plays back a MIDI sequence is known as a sequencer.

Soundbank

A Soundbank contains a set of Instruments that can be loaded into a Synthesizer.

Synthesizer

A Synthesizer generates sound.

Transmitter

A Transmitter sends MidiEvent objects to one or more Receivers.

Class Summary
Class Description
Instrument

An instrument is a sound-synthesis algorithm with certain parameter settings, usually designed to emulate a specific real-world musical instrument or to achieve a specific sort of sound effect.

MetaMessage

A MetaMessage is a MidiMessage that is not meaningful to synthesizers, but that can be stored in a MIDI file and interpreted by a sequencer program.

MidiDevice.Info

A MidiDevice.Info object contains assorted data about a MidiDevice, including its name, the company who created it, and descriptive text.

MidiEvent

MIDI events contain a MIDI message and a corresponding time-stamp expressed in ticks, and can represent the MIDI event information stored in a MIDI file or a Sequence object.

MidiFileFormat

A MidiFileFormat object encapsulates a MIDI file's type, as well as its length and timing information.

MidiMessage

MidiMessage is the base class for MIDI messages.

MidiSystem

The MidiSystem class provides access to the installed MIDI system resources, including devices such as synthesizers, sequencers, and MIDI input and output ports.

Patch

A Patch object represents a location, on a MIDI synthesizer, into which a single instrument is stored (loaded).

Sequence

A Sequence is a data structure containing musical information (often an entire song or composition) that can be played back by a Sequencer object.

Sequencer.SyncMode

A SyncMode object represents one of the ways in which a MIDI sequencer's notion of time can be synchronized with a master or slave device.

ShortMessage

A ShortMessage contains a MIDI message that has at most two data bytes following its status byte.

SoundbankResource

A SoundbankResource represents any audio resource stored in a Soundbank.

SysexMessage

A SysexMessage object represents a MIDI system exclusive message.

Track

A MIDI track is an independent stream of MIDI events (time-stamped MIDI data) that can be stored along with other tracks in a standard MIDI file.

VoiceStatus

A VoiceStatus object contains information about the current status of one of the voices produced by a Synthesizer.

Exception Summary
Exception Description
InvalidMidiDataException

An InvalidMidiDataException indicates that inappropriate MIDI data was encountered.

MidiUnavailableException

A MidiUnavailableException is thrown when a requested MIDI component cannot be opened or created because it is unavailable.