Проверка звукового шрифта на iOS
С помощью AudioUnits на iOS можно создавать семплеры, которые загружают и воспроизводят файлы звукового шрифта (или SF2). Это действительно отличная особенность. Проблема в том, что я не вижу интерфейса для проверки звукового шрифта, чтобы увидеть: а) сколько пресетов в нем содержится и б) имена пресетов, которые в нем содержатся.
Можно получить текущее имя пресета, сначала загрузив звуковой шрифт в сэмплер, используя AudioUnitSetProperty
с kAUSamplerProperty_LoadInstrument
а потом звонит AudioUnitGetProperty
с kAudioUnitProperty_ClassInfo
на пробоотборнике. Однако это не очень эффективно и говорит только о названии загруженного в данный момент пресета. Это также не говорит о том, сколько пресетов содержится в звуковом шрифте.
Как можно делать эти вещи без использования стороннего кода (конечно, он изначально поддерживается)?
1 ответ
Другой вариант - редактор звукового шрифта для OSX, который называется polyphone.
Это очень старый вопрос, но у меня есть другое решение: мое приложение SoundFonts. Он доступен в AppStore за небольшую плату, или вы можете использовать исходный код для создания того, что хотите.
Репо содержит парсер SF2 на C++, который я переработал из кода, который я нашел в Интернете. Репо также содержит скрипт Python catalog.py, который генерирует листинг из файла SF2. Он использует пакет Python sf2utils.