Overview Summary

Please note that the specifications and other information contained herein are not final and are subject to change. The information is being made available to you solely for purpose of evaluation.

# Package javax.sound.midi

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

See: Description

- 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.

## Package javax.sound.midi Description

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

## Related Documentation

For overviews, tutorials, examples, and guides, please see:

- Sound

Since:
  1.3

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation . That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.
DRAFT internal-b00