# Uses of Package
javax.sound.midi

- Packages that use javax.sound.midi
  Package | Description
  --- | ---
  javax.sound.midi | Provides interfaces and classes for I/O, sequencing, and synthesis of MIDI (Musical Instrument Digital Interface) data.
  javax.sound.midi.spi | Supplies interfaces for service providers to implement when offering new MIDI devices, MIDI file readers and writers, or sound bank readers.

- Classes in javax.sound.midi used by javax.sound.midi
  Class and 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.
  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.
  InvalidMidiDataException An `InvalidMidiDataException` indicates that inappropriate MIDI data was encountered.
  MetaEventListener The `MetaEventListener` interface should be implemented by classes whose instances need to be notified when a ``Sequencer`` has processed a ``MetaMessage``.
  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.
  MidiChannel A `MidiChannel` object represents a single MIDI channel.
  MidiDevice `MidiDevice` is the base interface for all MIDI devices.
  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.
  MidiUnavailableException A `MidiUnavailableException` is thrown when a requested MIDI component cannot be opened or created because it is unavailable.
  Patch A `Patch` object represents a location, on a MIDI synthesizer, into which a single instrument is stored (loaded).
  Receiver A `Receiver` receives ``MidiEvent`` objects and typically does something useful in response, such as interpreting them to generate sound or raw MIDI output.
  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 A hardware or software device that plays back a MIDI ``sequence`` is known as a sequencer.
  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.
  Soundbank A `Soundbank` contains a set of `Instruments` that can be loaded into a `Synthesizer`.
  SoundbankResource A `SoundbankResource` represents any audio resource stored in a ``Soundbank``.
  Synthesizer A `Synthesizer` generates sound.
  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.
  Transmitter A `Transmitter` sends ``MidiEvent`` objects to one or more ``Receivers``.
  VoiceStatus A `VoiceStatus` object contains information about the current status of one of the voices produced by a `Synthesizer`.

- Classes in javax.sound.midi used by javax.sound.midi.spi
  Class and Description
  InvalidMidiDataException An `InvalidMidiDataException` indicates that inappropriate MIDI data was encountered.
  MidiDevice `MidiDevice` is the base interface for all MIDI devices.
  MidiDevice.Info A `MidiDevice.Info` object contains assorted data about a ``MidiDevice``, including its name, the company who created it, and descriptive text.
  MidiFileFormat A `MidiFileFormat` object encapsulates a MIDI file's type, as well as its length and timing information.
  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.
  Soundbank A `Soundbank` contains a set of `Instruments` that can be loaded into a `Synthesizer`.

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, 2015, Oracle and/or its affiliates. All rights reserved.