Proverka Gogetlinks 0857 Музыкальные форматы в играх
  • Increase font size
  • Default font size
  • Decrease font size
  • dark
  • light
  • leftlayout
  • rightlayout


Музыкальные форматы в играх

В процессе разработки игры рано или поздно встаёт вопрос - какие форматы для хранения игровых данных использовать. Целью данного обзора является рассмотрение особенностей, преимуществ и недостатков популярных форматов музыкального сопровождения в играх, с тем, чтобы исходя из полученной информации, можно было сделать разумный выбор в рамках своего проекта. Технические нюансы воспроизведения (как, чем) упоминаемых здесь форматов выходят за рамки статьи, поэтому здесь не рассматриваются.

altУсловно можно разделить форматы, используемые для хранения музыки, на две группы: потоковое аудио, где содержится конечный аудиотрек (т.е. просто звук), возможно сжатый для уменьшения размера; и собственно музыкальные форматы, где хранится набор указаний о том, когда и какую ноту играть, плюс звуки (сэмплы), которыми эти ноты надо воспроизводить. Для начала рассмотрим особенности этих двух групп.




Потоковое аудио

Это не совсем музыкальный формат - это звук, как он есть, записанный в файл. Но этот звук вполне может быть музыкой, поэтому в контексте данной статьи потоковое аудио является также и музыкальным форматом. Потоковым оно называется потому, что файлу не требуется присутствовать в памяти целиком - достаточно подчитывать с носителя небольшие кусочки, декодировать (если требуется), и отправлять на воспроизведение. Потоковое аудио бывает со сжатием и без него.

Форматы потокового аудио без сжатия для хранения музыки в играх обычно не используются, из-за огромного размера: одна секунда стереозвука CD-качества (44100hz, 16bit) занимает 172 килобайта. Исключение ранее составлял CD-DA, формат аудио компакт-дисков. Но игр с музыкой в этом формате в последние годы не наблюдается - всегда находится, чем забить немногочисленные, по современным меркам, мегабайты CD/DVD-дисков.

Более подходящими для игрового применения являются аудиоформаты со сжатием. Существуют алгоритмы сжатия звука без каких-либо потерь качества (т.н. lossyless алгоритмы), но выигрыш в объёме у них крайне несерьёзный, поэтому наиболее распространены форматы сжатия с потерей качества (lossy алгоритмы). Популярные алгоритмы сжатия, дающие большой выигрыш в объёме конечного файла, используют идею 'психоакустического кодирования' - динамического исключения из сигнала частот, плохо воспринимаемых человеческим слухом. Обычно выбирают такой уровень потерь, который малозаметен на слух. Алгоритмы сжатия звука обычно работают с фиксированным коэффициентом сжатия, для игр это обычно что-то около 11:1...7:1 (поток данных 128...192kb/s). Существует огромное количество форматов сжатия звука, но наиболее известными и используемыми из них являются MP3, WMA, OGG.

MP3 - наиболее старый, очень распространённый формат. Изначально появился, как формат сжатия звуковой дорожки для видеофильмов в формате VideoCD (полное название MP3 - MPEG Audio Layer III), но довольно быстро стал использоваться и сам по себе. Сейчас MP3 является промышленным стандартом. Использование звуковых файлов с MP3-сжатием в коммерческих игровых проектах, издающихся тиражом более 5000 копий, стоит денег - $2500 за один продукт (game license, подробнее о лицензировании смотрите ссылки в конце статьи). На сегодняшний день MP3 обеспечивает не лучшие показатели в соотношении размер/качество. Улучшенные варианты формата MP3 - MP3pro, например - при показателях, аналогичных WMA/OGG не завоевали особой популярности.

WMA - Windows Media Audio, формат, продвигаемый самой Microsoft как более совершенная альтернатива MP3, является примерно аналогичным по возможностям формату OGG. Его использование в программных продуктах для хранения звукового контента не требует лицензирования.

OGG - относительно новый формат сжатия звука, представляет наибольший интерес для разработчиков игр. Он не требует никакого лицензирования, его можно совершенно законно использовать бесплатно; при этом он обеспечивает более высокое качество звучания при одинаковом с MP3 размере, либо меньший размер при одинаковом качестве звука. Правда, декодирование OGG требует несколько больших вычислительных ресурсов, чем MP3/WMA. Программные кодеры и декодеры от создателя формата (Vorbis) распространяются с открытым исходным кодом.

Плюсы использования потокового аудио для хранения музыки:

Можно хранить музыку абсолютно любого технического уровня. В этом отношении данный формат универсален, и потенциально (особенно при сжатии с низким уровнем потерь) способен обеспечить наилучшее качество звучания
Ваши музыканты не ограничены возможностями формата, и могут использовать тот инструментарий для создания музыки, какой им удобен (т.е. подходящего музыканта будет легко найти)
Не требует большого количества оперативной памяти при проигрывании (поток данных читается с носителя небольшими порциями)
Минусы:

Для некоторых применений размер даже сжатого аудио может оказаться слишком большим - средней длины композиция в приличном качестве занимает 3-5 мегабайт (при использовании форматов со сжатием)
Уменьшить размер можно только за счёт существенного снижения качества (увеличения потерь при сжатии) и уменьшения длины композиций
Длительность звучания трека напрямую зависит от размера файла с ним
Декодирование сжатого аудио требует относительно больших ресурсов CPU, на маломощных платформах без аппаратного декодера оно может оказаться невозможным (в реальном времени)

 

Яндекс.Метрика