模块  java.desktop
软件包  javax.sound.midi

Interface Synthesizer

  • All Superinterfaces:
    AutoCloseableMidiDevice

    public interface Synthesizer
    extends MidiDevice
    A Synthesizer产生声音。 当之一这通常发生SynthesizerMidiChannel对象接收noteOn消息,无论是直接或经由Synthesizer对象。 许多Synthesizer支持Receivers ,通过它可以将MIDI事件传送到Synthesizer 在这种情况下, Synthesizer通常通过向相应的Synthesizer发送相应的消息来MidiChannel ,或者如果事件不是MIDI通道消息之一,则通过处理事件本身来响应。

    Synthesizer接口包括从Synthesizer库加载和卸载仪器的方法。 乐器是用于合成特定类型声音的规范,无论该声音是模仿传统乐器还是某种声音效果或其他想象声音。 音库是一组乐器,按银行和程序编号组织(通过乐器的Patch对象)。 不同的Synthesizer类可能实现不同的声音合成技术,这意味着某些乐器而非其他乐器可能与给定的合成器兼容。 此外,合成器对于乐器可能具有有限的存储器量,这意味着即使合成技术兼容,并非每个合成器都可以使用每个声音库和乐器。 看是否从某个音库的仪器可以通过一个给定的合成器上播放,调用isSoundbankSupported的方法Synthesizer

    “加载”乐器意味着该乐器可用于合成音符。 仪器将加载到由其Patch对象指定的库和程序位置。 加载并不一定意味着随后播放的音符将立即具有此新装载乐器的声音。 要使乐器演奏音符,合成器的其中一个MidiChannel对象必须接收(或已收到)程序更改消息,该消息将导致选择特定乐器的库和程序编号。

    另请参见:
    MidiSystem.getSynthesizer()SoundbankInstrumentMidiChannel.programChange(int, int)ReceiverTransmitterMidiDevice