Class Instrument

public abstract class Instrument
extends SoundbankResource

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. Instruments are typically stored in collections called soundbanks. Before the instrument can be used to play notes, it must first be loaded onto a synthesizer, and then it must be selected for use on one or more channels, via a program-change command. MIDI notes that are subsequently received on those channels will be played using the sound of the selected instrument.

See Also:
Soundbank, Soundbank.getInstruments(), Patch, Synthesizer.loadInstrument(Instrument), MidiChannel.programChange(int, int)

Constructor Summary

Constructors
Modifier Constructor Description
protected Instrument​(Soundbank soundbank, Patch patch, String name, Class<?> dataClass)

Constructs a new MIDI instrument from the specified Patch.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
Patch getPatch()

Obtains the Patch object that indicates the bank and program numbers where this instrument is to be stored in the synthesizer.

Methods declared in class javax.sound.midi.SoundbankResource

getData, getDataClass, getName, getSoundbank

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

Instrument

protected Instrument​(Soundbank soundbank,
                     Patch patch,
                     String name,
                     Class<?> dataClass)

Constructs a new MIDI instrument from the specified Patch. When a subsequent request is made to load the instrument, the sound bank will search its contents for this instrument's Patch, and the instrument will be loaded into the synthesizer at the bank and program location indicated by the Patch object.

Parameters:
soundbank - sound bank containing the instrument
patch - the patch of this instrument
name - the name of this instrument
dataClass - the class used to represent the sample's data
See Also:
Synthesizer.loadInstrument(Instrument)

Method Detail

getPatch

public Patch getPatch()

Obtains the Patch object that indicates the bank and program numbers where this instrument is to be stored in the synthesizer.

Returns:
this instrument's patch