Интерфейс Soundbank
public interface Soundbank
A Soundbank содержит набор Instruments, которые можно загрузить в Synthesizer. Обратите внимание, что 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) |
Получает |
Instrument[] |
getInstruments() |
Получает список инструментов, содержащихся в этом звуковом банке. |
String |
getName() |
Получает имя звукового банка. |
SoundbankResource[] |
getResources() |
Извлекает список ресурсов, не являющихся инструментами, содержащихся в звуковом банке. |
String |
getVendor() |
Получает строку, содержащую название компании-производителя звукового банка. |
String |
getVersion() |
Получает строку версии звукового банка. |
Методы
getName
String getName()
Получает имя звукового банка.
- Возвращает:
- имя звукового банка
getVersion
String getVersion()
Получает строку версии звукового банка.
- Возвращает:
- строку, указывающую версию звукового банка
getVendor
String getVendor()
Получает строку с названием компании-производителя звукового банка.
- Возвращает:
- строку производителя
getDescription
String getDescription()
Получает текстовое описание звукового банка, подходящее для отображения.
- Возвращает:
- строку, описывающую звуковой банк
getResources
SoundbankResource[] getResources()
Извлекает список ресурсов, не являющихся инструментами, содержащихся в звуковом банке.
- Возвращает:
- массив ресурсов, исключая инструменты. Если звуковой банк не содержит ресурсов (кроме инструментов), возвращает массив длиной 0.
getInstruments
Instrument[] getInstruments()
Получает список инструментов, содержащихся в этом звуковом банке.
- Возвращает:
- массив
Instrumentsв этомSoundBank. Если звуковой банк не содержит инструментов, возвращает массив длиной 0. - См. также:
-
Synthesizer.getLoadedInstruments(),getInstrument(Patch)
getInstrument
Instrument getInstrument(Patch patch)
Получает Instrument из заданного Patch.
- Параметры:
-
patch- объектPatch, определяющий индекс банка и номер изменения программы - Возвращает:
- запрашиваемый инструмент или
null, если звуковой банк не содержит этот инструмент - См. также:
-
getInstruments(),Synthesizer.loadInstruments(Soundbank, Patch[])
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/sound/midi/Soundbank.html