Module java.desktop
Package javax.sound.midi

Interface Soundbank


public interface Soundbank
一个Soundbank包含一组可以加载到Synthesizer中的Instruments。请注意,Java Sound中的Soundbank与MIDI bank不同。MIDI允许最多16383个bank,每个bank包含最多128个乐器(有时也称为程序、补丁或音色)。然而,一个Soundbank可以包含16383乘以128个乐器,因为Soundbank中的乐器通过MIDI程序号和MIDI bank号(通过Patch对象)进行索引。因此,Soundbank可以被视为一组MIDI bank。

Soundbank包括返回包含声音库名称、制造商、版本号和描述的String对象的方法。这些字符串的确切内容和格式由实现者决定。

不同的合成器使用各种合成技术。常见的一种是波表合成,在波表合成中,播放录制声音的片段,通常带有循环和音高变化。可下载声音(DLS)格式使用录制声音的片段,Headspace Engine也是如此。基于波表合成(或其他存储声音录音的用途)的SoundbanksInstruments通常应实现getResources()方法,以提供对这些录制片段的访问。但这是可选的;如果合成技术不使用采样声音(FM合成和物理建模是这类技术的例子),或者如果使用但实现者选择不使采样可访问,则该方法可以返回零长度数组。

参见:
  • Method Details

    • getName

      String getName()
      获取声音库的名称。
      返回:
      一个命名声音库的String
    • getVersion

      String getVersion()
      获取声音库的版本字符串。
      返回:
      一个指示声音库版本的String
    • getVendor

      String getVendor()
      获取提供声音库的公司的名称。
      返回:
      供应商字符串
    • getDescription

      String getDescription()
      获取适合显示的声音库的文本描述。
      返回:
      描述声音库的String
    • getResources

      SoundbankResource[] getResources()
      提取声音库中包含的非乐器资源列表。
      返回:
      一个资源数组,不包括乐器。如果声音库不包含资源(除乐器外),则返回长度为0的数组。
    • getInstruments

      Instrument[] getInstruments()
      获取此声音库中包含的乐器列表。
      返回:
      SoundBank中的Instruments数组。如果声音库不包含乐器,则返回长度为0的数组。
      参见:
    • getInstrument

      Instrument getInstrument(Patch patch)
      从给定的Patch获取一个Instrument
      参数:
      patch - 指定bank索引和程序更改号的Patch对象
      返回:
      请求的乐器,如果声音库不包含该乐器则返回null
      参见: