Что такое формат файла FSB?
.FSB - это FMOD Sample Bank, проприетарный бинарный аудиоконтейнер, разработанный Firelight Technologies для использования с аудиодвижком FMOD. Он упаковывает один или несколько аудиосэмплов в один файл, оптимизированный для загрузки и стриминга в реальном времени в играх и интерактивных приложениях.
Формат прошел через несколько версий: FSB3 и FSB4 использовались с ныне не выпускаемым инструментом FMOD Designer, в то время как FSB5 является текущим форматом, используемым в FMOD Studio и FMOD Engine 2.x. Каждый файл .fsb начинается с 4-байтового ASCII-идентификатора (магического числа) - FSB3, FSB4 или FSB5. Аудиокодеки хранятся для каждого сэмпла в заголовке и могут различаться внутри одного банка - доступны варианты PCM, IMA ADPCM, MP3, Ogg Vorbis, FADPCM, Opus, AT9 (PlayStation) и XMA (Xbox).
Файлы .fsb широко используются в играх на движке Unity: Unity 5 и более поздние версии упаковывают аудио в виде банков FSB5, встроенных в бандлы .assets. Проекты Unity могут опционально шифровать банки FSB5 с помощью AES-128, что предотвращает извлечение без ключа проекта.
Сообщество разработало такие инструменты, как vgmstream (доступен как плагин для foobar2000 или автономная утилита командной строки), которые могут декодировать большинство незашифрованных файлов .fsb. Библиотека python-fsb5 поддерживает программное извлечение FSB5.
Безопасность и защита
РИСК: LOWФайлы FSB являются контейнерами аудиоданных; они не могут исполнять код. Вредоносных векторов для .fsb не обнаружено. Однако некоторые издатели игр ограничивают извлечение аудио из своих банков FSB по соображениям авторского права - ознакомьтесь с EULA игры перед распространением извлеченного аудио.
Детали формата
в двух словахПрограммы, открывающие файлы FSB
Технические подробности
глубокая спецификация| Формат контейнера | Проприетарный бинарный контейнер Firelight FSB (не ZIP, не RIFF) |
| Магические байты | 46 53 42 35 = «FSB5» (текущий); FSB3 = 46 53 42 33, FSB4 = 46 53 42 34 |
| Порядок байтов | Little-endian (от младшего к старшему) |
| Версии формата | FSB1, FSB2, FSB3, FSB3.1, FSB4, FSB5; FSB5 является актуальной (FMOD Studio / FMOD Engine 2.x) |
| Поддерживаемые аудиокодеки (на сэмпл) | PCM, IMA ADPCM, MP3, Ogg Vorbis, FADPCM, Opus, AT9 (PS4/PS5), XMA (Xbox) |
| Шифрование | Опционально AES-128 (FSB5); Unity шифрует банки по умолчанию - для извлечения требуется ключ проекта |
| Типичный размер файла | 500 КБ - 500 МБ (сильно варьируется в зависимости от игры и количества сэмплов) |
| Поддерживаемые частоты дискретизации | 8 000-192 000 Гц на сэмпл; игровое аудио обычно 22 050-48 000 Гц |
| Гибкость кодеков для каждого сэмпла | Да - разные сэмплы в одном банке могут использовать разные кодеки и частоты дискретизации |
| Поддержка платформ | Windows, macOS, Linux, PlayStation, Xbox, Nintendo Switch, Android, iOS |
| Интеграция с Unity | Unity 5+ встраивает аудио как банки FSB5 в бандлы .assets; создается автоматически редактором Unity Editor |
| Проверка целостности | Отсутствует в самом формате FSB; Unity проверяет извне через хеш ассет-бандла |
| Роль в среде выполнения | Аудиобанк среды выполнения, загружаемый FMOD Engine во время игры; файлы .bank из FMOD Studio используются на уровне разработки |
| Выпущен | Late 1990s (FMOD API); FSB3 widely used from ~2002; FSB5 from FMOD Studio 1.x (~2013) |
| Последняя версия | FSB5 (FMOD Studio / FMOD Engine 2.x, current) |
| Спецификация | www.fmod.com |
Конвертации FSB
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах FSB.