Module java.desktop

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.
  • Interface Summary 
    Interface Description
    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.
    The MetaEventListener interface should be implemented by classes whose instances need to be notified when a Sequencer has processed a MetaMessage.
    A MidiChannel object represents a single MIDI channel.
    MidiDevice is the base interface for all MIDI devices.
    MidiDeviceReceiver is a Receiver which represents a MIDI input connector of a MidiDevice (see MidiDevice.getReceiver()).
    MidiDeviceTransmitter is a Transmitter which represents a MIDI input connector of a MidiDevice (see MidiDevice.getTransmitter()).
    A Receiver receives MidiEvent objects and typically does something useful in response, such as interpreting them to generate sound or raw MIDI output.
    A hardware or software device that plays back a MIDI sequence is known as a sequencer.
    A Soundbank contains a set of Instruments that can be loaded into a Synthesizer.
    A Synthesizer generates sound.
    A Transmitter sends MidiEvent objects to one or more Receivers.
  • Class Summary 
    Class Description
    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.
    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.
    A MidiDevice.Info object contains assorted data about a MidiDevice, including its name, the company who created it, and descriptive text.
    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.
    A MidiFileFormat object encapsulates a MIDI file's type, as well as its length and timing information.
    MidiMessage is the base class for MIDI messages.
    The MidiSystem class provides access to the installed MIDI system resources, including devices such as synthesizers, sequencers, and MIDI input and output ports.
    A Patch object represents a location, on a MIDI synthesizer, into which a single instrument is stored (loaded).
    A Sequence is a data structure containing musical information (often an entire song or composition) that can be played back by a Sequencer object.
    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.
    A ShortMessage contains a MIDI message that has at most two data bytes following its status byte.
    A SoundbankResource represents any audio resource stored in a Soundbank.
    A SysexMessage object represents a MIDI system exclusive message.
    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.
    A VoiceStatus object contains information about the current status of one of the voices produced by a Synthesizer.
  • Exception Summary 
    Exception Description
    An InvalidMidiDataException indicates that inappropriate MIDI data was encountered.
    A MidiUnavailableException is thrown when a requested MIDI component cannot be opened or created because it is unavailable.