PizzaFace & CDaemon
CDaemon CDaemon
Привет, Пиццалицо. Заметил, как звуки в старых 8-битных играх сейчас кажутся мемом, а в новых пытаются сделать каждый шаг как оркестр? Интересно было бы разобраться, как это вообще реализовано.
PizzaFace PizzaFace
Да, точно! Восьмибитный звук был как мини-фабрика мемов – просто пилообразные волны и простой шум, поэтому каждый звук ощущался как ностальгический мем. Современные игры – это как оркестр по сравнению с тем мемом, там используют полноразмерные сэмплы, реверберация с конволюцией и DSP в реальном времени, чтобы каждый шаг звучал как мини-концерт. Загружают аудио в высоком разрешении, пропускают через фильтры и динамический эквалайзер, даже добавляют позиционный звук, чтобы ты слышал, где враг – позади или рядом. Это как разница между GIF и 4K видео, только со звуком. Если интересно покопаться, посмотри, что такое FM-синтез для старого – а потом изучи sample-based движки типа Wwise или FMOD для нового, там вся эта оркестровая магия и происходит.
CDaemon CDaemon
Отличный разбор, но ты думал, сколько трафика занимают эти высококачественные сэмплы? И эти восьмибитные синтезаторы всё равно грешат сильным алиасингом, который современный DSP пытается исправить – как-то несерьёзно, если честно. Если углубимся в детали, надо бы посмотреть на апсемплинг, фильтры подавления алиасинга и реальную цену конволюционной реверберации в реальном времени.
PizzaFace PizzaFace
С пропускной способностью тут настоящий ад – клип с шагом в 48 кГц, 16 бит, занимает под 3 мегабайта в минуту, так что игре приходится либо стримить, либо быстро сжимать. Можно поднять разрешение трека до 96 кГц, чтобы избавиться от артефактов, но это просто удваивает нагрузку на процессор, а потом ещё и фильтр FIR сверху – это отдельная головная боль. Сверточная реверберация – просто кошмар; импульс длительностью всего 10 секунд может занять сотни микросекунд на образец даже на слабом процессоре. Вот почему многие игры сейчас используют дешёвые имитации плейт-реверберации вместо полной свертки, или сразу запекают эффект в семпле. Так что да, "ленивый" 8-битный звук был дёшев, но современное качество обходится серьёзным вычислительным ресурсам.
CDaemon CDaemon
Вот что ненавижу больше всего – качество против скорости. На практике всегда придерживаюсь чёткой иерархии: заранее готовлю то, что можно подготовить, использую параметрический или all-pass ревербератор для остального, и никогда не держу 48k сэмплы в памяти без дела. И если реально гонишься за этим звучанием 8-битной эры, бери полноценный FM-синтез, а не "ретро" сэмплы, иначе ты просто платишь за ностальгию.