javax.sound.midi

接口
异常
public interface Soundbank

Soundbank 包含可加载到 Synthesizer 中的一组 Instruments。注意,Java Sound Soundbank 不同于 MIDI 库。MIDI 允许有 16383 个库,每个库包含 128 种乐器(有时又称程序、包或音色)。但是,一个 Soundbank 可包含 16383 乘以 128 种乐器,因为 Soundbank 中的乐器按 MIDI 程序号和 MIDI 库号索引的(通过 Patch 对象)。因此,一个 Soundbank 可当作一组 MIDI 库。

Soundbank 包括了返回 String 对象的方法(该对象中包含音库名称、制造商、版本号和描述)。这些字符串的准确内容和格式留给实现程序掌握。

不同的合成器使用各种合成技巧。常见的一种合成技巧是波表合成,回放其中一个录制的声音段,通常使用循环和音高更改。Downloadable Sound (DLS) 格式使用录制的声音段,如同 Headspace Engine 一样。基于波表合成(或其他使用所存储的录制声音)的 SoundbanksInstruments 通常应实现 getResources() 方法,以提供对这些录制段的访问。但是,这是可选的;如果合成技巧未使用采样声音(FM 合成和物理建模是这类技巧的示例),或者使用了采样声音但实现程序选择了使采样不可访问,则此方法可返回一个长度为零的数组。

另请参见:
Synthesizer.getDefaultSoundbank(), Synthesizer.isSoundbankSupported(javax.sound.midi.Soundbank), Synthesizer.loadInstruments(Soundbank, Patch[]), Patch, Instrument, SoundbankResource

方法摘要
 String getDescription()
          获得音库适于显示的文本描述。
 Instrument getInstrument(Patch patch)
          获得取自给定 PatchInstrument
 Instrument[] getInstruments()
          获得包含在此音库中的乐器列表。
 String getName()
          获得音库的名称。
 SoundbankResource[] getResources()
          提取音库中包含的非乐器资源列表。
 String getVendor()
          获得命名提供此音库的公司的 string
 String getVersion()
          获得音库的版本字符串。
 

方法详细信息

getName

String getName()
获得音库的名称。

返回:
命名音库的 String

getVersion

String getVersion()
获得音库的版本字符串。

返回:
指示音库版本的 String

getVendor

String getVendor()
获得命名提供此音库的公司的 string

返回:
供应商字符串

getDescription

String getDescription()
获得音库适于显示的文本描述。

返回:
描述音库的 String

getResources

SoundbankResource[] getResources()
提取音库中包含的非乐器资源列表。

返回:
一个资源数组,不包含乐器。如果音库不包含任何资源(乐器除外),则返回长度为 0 的数组。

getInstruments

Instrument[] getInstruments()
获得包含在此音库中的乐器列表。

返回:
SoundBank 中的 Instruments 的数组,如果音库中未包含任何乐器,则返回长度为 0 的数组。
另请参见:
Synthesizer.getLoadedInstruments(), getInstrument(Patch)

getInstrument

Instrument getInstrument(Patch patch)
获得取自给定 PatchInstrument

参数:
patch - 一个指定库索引和程序更改号的 Patch 对象
返回:
所请求的乐器,如果音库中未包含任何乐器,则返回 null
另请参见:
getInstruments(), Synthesizer.loadInstruments(Soundbank, Patch[])