Module  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通常通过向适当的MidiChannel发送相应的消息或通过处理事件本身(如果事件不是MIDI通道消息之一)来进行响应。

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

    “装载”仪器意味着该仪器可用于合成笔记。 仪器被装载到由其Patch对象指定的存储区和程序位置。 装载不一定意味着随后播放的音符将立即具有这个新装载的乐器的声音。 要使乐器演奏音符,合成器的一个MidiChannel对象必须接收(或已收到)一个程序更改消息,导致该特定乐器的银行和节目号码被选中。

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