Понимаем звуки для пиксель-арт игры, и делаем их
Покажу вам способ создания звуков в ваши пиксель-арт проекты. Это тупой способ, но рабочий. Сможете им воспользоваться даже если ничего в звуках не понимаете. Хотите понимать про звуки больше? В статье расскажу как =)
Делал в пиксель-арте три десятка проектов, чекайте. Звуки всегда подбирал сам, используя программу bfxr. Она бесплатная. Позволяет просто генерировать и настраивать звуки, близкие по стилю к 8-бит. Позже объясню пару приёмов работы с ней. А сперва база. Её нужно знать до работы со всякими программами.
Определите стиль звуков
Звуки в мультяшной игре сильно отличаются от звуков игры реалистичной. Послушайте, как звучит прыжок в Mario и в Ninja Gaiden.
Какой стиль проекта у вас? Найдите игры в похожем стиле и послушайте как они звучат. Это будут ваши референсы. То, на что вы будете ориентироваться, создавая свои звуки.
Разберите звуки по составу
Слышали про ADSR-огибающую? Это график, он показывает как звук меняется во времени. Представьте, что вы нажали и держите 10 секунд клавишу для проигрывания звука, тогда ADSR - это:
- Attack - время нажатия, за которое громкость звука нарастает до максимума
- Decay - время спада громкости до уровня поддержки
- Sustain - уровень поддержки звука при удержании клавиши
- Release - время затухания звука, после того как вы отпустили клавишу.
Программы для создания звука/музыки обычно задают параметры звучания при помощи ADSR. Эти параметры есть и в программе bfxr.
Сгенерируйте в ней любой пресет звука и попробуйте изменять один параметр ADSR. Например, атаку. Выставьте её сперва в ноль и послушайте звук. Потом в четверть, и снова послушайте. Проделайте так с каждым параметром ADSR, можете поэкспериментировать и с другими параметрами. Их там много.
ADSR кривая задаёт как звук ведёт себя во времени, но есть основа звука. Это форма волны. Их 4 основных вида: треугольник, синус, квадрат(меандр) и пила.
Сложные звуки - это наложение волн разной формы друг на друга. Получается новая форма волны. Нам это не нужно. Для 8-бит звука вас устроит одна форма волны, которая будет изменена параметрами программы bfxr. Поэтому выбранная форма волны определяет характер звучания. Синус даёт более мягкий звук, квадрат - более грубый. Ещё есть шум - он даёт шипящий звук.
Нужный звук вы получаете, засовывая форму волны под ADSR кривую. Вот так это выглядит для треугольной волны:
Анализируйте
Вернитесь к референсам на свой проект. Выберите звук и постарайтесь понять как он разложится в ADSR. Какое у него время атаки? Какой уровень Sustain? Сколько длится Decay?
Это сложно. Но начините с малого: разберитесь, есть ли это время? Легче всего распознать атаку - это нарастание громкости в начале. Если звук сразу начинается на полной громкости - атаки нет, или она очень короткая. Звук прыжка Марио ощутимо набирает в начале - значит у него длинная атака.
Если слишком сложно воспринимать звуки на слух, поковыряйте программу bfxr. Генерируйте в ней звуки и играйте с параметрами. Восприимчивость на слух приходит с опытом.
Звуки в вашу игру
Вы уже поняли структуру звуков в референсах. Теперь вам нужно сделать подобное. Выбираете форму волну и задаёте параметры ADSR. Корректируете, чтобы добиться конкретного звучания.
Это только выглядит просто. Но даже повторить чужое - сложная задача, особенно поначалу. А что делать с новыми звуками, для которых вы не нашли референс?
Чтобы подобрать конкретный звук - проанализируйте ситуацию, в которой он используется. Он озвучивает резкое действие? Значит атаки не будет. Сколько длится озвучиваемое действие? Играйте с параметрами Decay и Release.
Рассмотрим пример с прыжком. Персонаж быстро отрывается от земли? Убираете атаку в ноль. Если есть эффект пыли на месте старта прыжка - можете попробовать затянуть звук при помощи Decay или Release.
Со временем вы поймёте какие параметры нужны для конкретного звука. У вас в голове сложится база соответствия типовых звуков с формой волны и ADSR параметрами.
Если вы полный ноль
Вы не всегда располагаете нужным количеством времени, чтобы научиться вышеизложенному. А звуки нужны сейчас. И вы можете их начать делать. И одновременно учиться вышеизложенному =)
Программа bfxr имеет функцию Randomize, которая расставляет все параметры случайным образом. Первые звуки я делал именно так. Сидел и тыкал эту кнопку, пока не получится нужный звук. Это долго и нудно, но это работает. На одно действие я обычно делаю несколько звуков и пробую как они звучат в игре. Выбираю наиболее подходящий. Если ничего не подходит - продолжаю тыкать кнопку Randomize.
Если вы нашли почти нужный звук, но чувствуете что не то - используйте кнопку Mutate. Она случайным образом немного меняет параметры звука.
Если вы не полный ноль
Вы можете сократить количество нажатий на кнопку Randomize. Для этого вам нужно представлять о требуемом звуке хоть что-то. Знаете какая нужна форма волны? Атака? Частота? Выставьте эти параметры и заблокируйте пиктограммой замка.
Функции Randomize и Mutate не будут их менять. Это существенно сокращает время на подбор звука.
Если вы разобрались с простыми звуками
В bfxr есть простенький микшер. Делайте нужные заготовки звуков и накладывайте друг на друга.
Заключение
Я рассказал вам, как делать звуки вообще без всяких знаний. Вам достаточно иметь для этого чувство вкуса и очень много раз жать на кнопку. Дал вам немного базовой теории, чтобы вы лучше понимали природу звуков. Это сократит время работы над ними в ваши проекты.
Многие понятия я намеренно упростил для новичков в этой области. Хотите больше знать о звуках и стать профессионалом - изучайте. Буду рад, когда вы добьётесь успехов в этом направлении =)
Практическая ценность этой статьи граничит с эзотерической инфоциганщиной.
Не хватает завернуть это в какой-нибудь платный интенсивный курс типа "как стать профессиональным востребованным саунддизайнером за 14 получасовых еженедельных занятий", хотя, возможно, именно из такого курса этот материал и почерпнут изначально)
Красивые слова, а по делу? Что не так?
Считаете метод не рабочим или что? Я так кучу звуков наделал в свои проекты прежде чем разобрался в настройках и параметрах.
Моя задача была дать начального пинка тем, кто:
1) Не умеет делать звуки
2) Не хочет использовать стоковые звуки
Этот метод годится только для соответствующих игр (пиксель-арт). Серьёзный саунд-дизайн требует другого подхода.
Какие статьи посоветуете тем, кому надо прикрутить звук к игре, но навыков нет?
Bfxr есть в виде встроенного плагина sfxr в LMMS. Там же есть встроенные синтезаторы NEScaline(NES), BitInvader(Аркады 70-х), FreeBoy(GameBoy), OpulenZ(Sega) и SID(Commodore 64). Заодно и эффектов можно накатить - реверб, питч и пр.