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 一样。基于波表合成(或其他使用所存储的录制声音)的 Soundbanks
和 Instruments
通常应实现 getResources()
方法,以提供对这些录制段的访问。但是,这是可选的;如果合成技巧未使用采样声音(FM 合成和物理建模是这类技巧的示例),或者使用了采样声音但实现程序选择了使采样不可访问,则此方法可返回一个长度为零的数组。
Synthesizer.getDefaultSoundbank()
,
Synthesizer.isSoundbankSupported(javax.sound.midi.Soundbank)
,
Synthesizer.loadInstruments(Soundbank, Patch[])
,
Patch
,
Instrument
,
SoundbankResource
方法摘要 | |
---|---|
String |
getDescription() 获得音库适于显示的文本描述。 |
Instrument |
getInstrument(Patch patch) 获得取自给定 Patch 的 Instrument 。 |
Instrument[] |
getInstruments() 获得包含在此音库中的乐器列表。 |
String |
getName() 获得音库的名称。 |
SoundbankResource[] |
getResources() 提取音库中包含的非乐器资源列表。 |
String |
getVendor() 获得命名提供此音库的公司的 string |
String |
getVersion() 获得音库的版本字符串。 |
方法详细信息 |
---|
String getName()
String
String getVersion()
String
String getVendor()
string
String getDescription()
String
SoundbankResource[] getResources()
Instrument[] getInstruments()
SoundBank
中的
Instruments
的数组,如果音库中未包含任何乐器,则返回长度为 0 的数组。
Synthesizer.getLoadedInstruments()
,
getInstrument(Patch)
Instrument getInstrument(Patch patch)
Patch
的
Instrument
。
patch
- 一个指定库索引和程序更改号的
Patch
对象
null
getInstruments()
,
Synthesizer.loadInstruments(Soundbank, Patch[])