See: Description
| Interface | Description | 
|---|---|
| ControllerEventListener | The  ControllerEventListenerinterface should be implemented
 by classes whose instances need to be notified when aSequencerhas processed a requested type of MIDI control-change event. | 
| MetaEventListener | The  MetaEventListenerinterface should be implemented
 by classes whose instances need to be notified when ahas processed a. | 
| MidiChannel | A  MidiChannelobject represents a single MIDI channel. | 
| MidiDevice | MidiDeviceis the base interface for all MIDI devices. | 
| MidiDeviceReceiver | MidiDeviceReceiveris aReceiverwhich represents
 a MIDI input connector of aMidiDevice(seeMidiDevice.getReceiver()). | 
| MidiDeviceTransmitter | MidiDeviceTransmitteris aTransmitterwhich represents
 a MIDI input connector of aMidiDevice(seeMidiDevice.getTransmitter()). | 
| Receiver | A  Receiverreceivesobjects 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
  is known as a sequencer. | 
| Soundbank | A  Soundbankcontains a set ofInstrumentsthat can be loaded into aSynthesizer. | 
| Synthesizer | A  Synthesizergenerates sound. | 
| Transmitter | 
| 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  MetaMessageis athat is not meaningful to synthesizers, but
 that can be stored in a MIDI file and interpreted by a sequencer program. | 
| MidiDevice.Info | A  MidiDevice.Infoobject contains assorted
 data about a, 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  object. | 
| MidiFileFormat | A  MidiFileFormatobject encapsulates a MIDI file's
 type, as well as its length and timing information. | 
| MidiMessage | MidiMessageis the base class for MIDI messages. | 
| MidiSystem | The  MidiSystemclass provides access to the installed MIDI
 system resources, including devices such as synthesizers, sequencers, and
 MIDI input and output ports. | 
| Patch | A  Patchobject represents a location, on a MIDI
 synthesizer, into which a single instrument is stored (loaded). | 
| Sequence | A  Sequenceis a data structure containing musical
 information (often an entire song or composition) that can be played
 back by aobject. | 
| Sequencer.SyncMode | A  SyncModeobject 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  ShortMessagecontains a MIDI message that has at most
 two data bytes following its status byte. | 
| SoundbankResource | A  SoundbankResourcerepresents any audio resource stored
 in a. | 
| SysexMessage | A  SysexMessageobject 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  VoiceStatusobject contains information about the current
 status of one of the voices produced by aSynthesizer. | 
| Exception | Description | 
|---|---|
| InvalidMidiDataException | An  InvalidMidiDataExceptionindicates that inappropriate MIDI
 data was encountered. | 
| MidiUnavailableException | A  MidiUnavailableExceptionis thrown when a requested MIDI
 component cannot be opened or created because it is unavailable. | 
 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, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.