Содержание
LSDj Wave Synth Deep Dive Part 1
Оригинальная статья на chiptuneswin.com
Привет, я Defense Mechanism! Добро пожаловать в первый выпуск Intense Tech, где мы будет подробно рассматривать особенности LSDJ, в духе Paul’s LSDJ Tech Talk. Моя цель - передать знания и мудрость следующему поколению чипмузыкантов, создав тем самым армию блипающих мастеров!
В этом первом уроке вы получите понимание синтезатора WAV-канала! В частности, работу таких параметров, как Signal, Filter, Volume, Q и Cutoff.
Синтезатор WAV-канала является одной из самых запутанных и, возможно, пугающих фишек LSDJ. Надеюсь, что после прохождения этого и следующего упражнений вы не только обнаружите, что им легко пользоваться, но и приобретёте чёткое представление, как он работает, поймёте, что это одна из самых мощных сторон LSDJ!
Я подробно рассмотрю каждый параметр, чтобы демистифицировать то, что на самом деле происходит. Но давайте сначала начнём с краткого обзора самого WAV-канала.
WAV-канал воспроизводит 4-битную волну из 32 точек, что может быть представлено 32 цифрами в 16-ричном формате 0-F, как видно на скриншоте ниже
Для нас это означает, что каждая точка может иметь значение только от 0 до 15 (от 0 до F в 16-ричном формате). В то время как распространённый сегодня 16-битный звук допускает 65 536 уровней громкости, 4-битная глубина геймбоя допускает всего 16! Может показаться, что этого мало, но этого хватает, и это придаёт WAV-каналу характерный скрипучий звук.
Давайте начнем с рассмотрения основных форм звуковых сигналов, показанных на этом рисунке из Википедии:
К концу этого урока вы поймете, как создать синусоидальную волну, но прежде я должен дать некоторую теорию, как создается музыкальная нота.
Звук создаётся вибрирующим воздухом. Каждая форма волна, представленная выше, показывает, как выглядели бы эти вибрации, если бы мы могли их видеть. Можно представить их себе, вообразив как динамик ходит туда-сюда при воспроизведении звука.
Синусоидальная волна - основная форма волны, содержит чистую основную частоту основной ноты. Другие же формы волн содержать другие обертоны (кратные основной частоте). Комбинируя разные обертоны в разных соотношениях, мы можем создавать сигналы с разным звучанием (это называется изменением тембра самого звука). Вы слышите разницу в тембре между нотой, сыгранной на скрипке, и нотой, сыгранной на флейте, и это разница является результатом смешения разных обертонов, которые воспроизводятся в вибрирующем воздухе.
Для примера обертона, если вы умножите частоту на 2, то получите ту же высоту звука, но на 1 октаву выше. При увелинии ещё на 1, вы создаёте следующий обертон.
Пример: A 220 Гц (LSDj A3) - фундаментальная, она же корневая нота
Наименования нот даны для версии LSDJ 6+, в версии 4 нужно добавить 1 октаву
A 220 Гц x 2 = 440 Гц (LSDj A4) - на 1 октаву выше (1-й обертон)
A 220 Гц x 3 = E 660 Гц (LSDj E4) - 1 октава + 1 5-я (2-й обертон)
A 220 Гц x 4 = A 880 Гц (LSDj A5) - на 2 октавы выше (3-й обертон)
A 220 Гц x 5 = C # 1100 Гц (LSDj C # 5) - 2 октавы + 1 major 3rd (4-й обертон)
A 220 Гц x 6 = E 1320 Гц (LSDj E5) - 2 октавы + 1 5-я (6-й обертон)
Первые 6 нот в гармоническом ряду А 220 Гц
Гармонический ряд ноты включает в себя корневую ноту и ноты, полученные умножением основной частоты на 2, 3, 4 и т.д.
Каждый множитель, кратный 2, представляет октаву основной частоту.
Каждый множитель, кратный 3, представляет одну 5-ю выше основной частоты (кроме множителя 9 и его кратных, которые представляют major 10th)
Каждый множитель, кратный 5, представляет собой major 3rd над основной частотой.
Некоторые нечётный множители не соответствуют традиционным нотам. Так, множитель 7 - это не-в-тон minor 7th, а 11 - flat 5th.
По умолчанию в LSDJ установлена пилообразная пила, которая создаются, когда синусоидальные волны всех нот в гармоническом ряду объединяются вместе.
Один полный цикл пилообразной волны, генерируемой в Audacity
Один полный цикл пилообразной волны, генерируемой в LSDJ
Давайте послушаем аудиопример, где сначала идёт пила из Audacity, а потом из LSDJ.
Сравнение волн
Небольшая разница есть, но в целом LSDJ-версия звучит высококачественно.
На экране синтезатора пила представлена как
Квадратная волна строится путем объединения синусоидальных колебаний гармонического ряда нечетных обертонов. Большинству из нас, вероятно, знаком чёткий писк прямоугольной волны, который получается в импульсных каналах, настроенных с рабочим циклом 50%.
Треугольная волна строится так же, как и квадратная, используя только нечетные гармоники, но чем тише они становятся, тем они становятся выше. Треугольная волна хорошо подходит для очень глубоких басов. Возможно, вы её знаете по треугольному каналу приставки NES.
Может показаться, что сделать синусоидальную волну в LSDJ невозможно, так как параметр "Signal" имеет всего 3 варианта, среди которых синус явно отсутствует. Однако каждая из этих форм волны построена из синусоидальной, и я могу показать вам, как извлечь синусиоиду из любого из этих вариантов.
Нам нужен параметр "Filter", который так удобно оказался следующим на экране синтезатора.
"Filter" имеет три параметра: Lowpass (Lowp), Highpass (Highp), Bandpass (Bandp) и Allpass (Allp).
Если вам знакомы традиционные фильтры с аналоговых синтезаторов или цифровых плагинов, то вы поймёте, что это. Если нет, то можете думать о фильтре в LSDJ, как о штуке, которая позволяет вам выбирать, какие гармоники в звуке вы хотели бы создать в результирующей форме волны. Частота, с которой работает фильтр, выбирается параметром "Cutoff".
При использовании Lowpass через фильтр "пропускаются" только низкие гармоники, до Cutoff, а это означает, что ваша основная частота является самым низким тоном, но можно расширится до высоких гармоник (теоретечиески в LSDj это до 15 обертонов). При Highpass через фильтр будут проходить только гармоники выше Cutoff, но можно расшириться до самых низких. При Bandpass через фильтр будет проходить только тот диапазон гармоник, что указан в Cutoff, а вот при Allpass будут проходить все гармоники, но фазы некоторых будут смещены в месте, обозначенном значением Cutoff, что приведёт к другому тембру.
Давайте перейдём от сухого объяснения к просмотру, что происходит, когда мы устанавливаем значение среза Cutoff нашего низкочастотного фильтра Lowpass равное 10. Так как это 0x10 (16 в шестнадцатеричном формате) из возможных 0xFF (255 в шестнадцатеричном формате), то фильтр установлен на пропуск самой низкой, фундаментальной, ноты в гармоническом ряду. Помните, что если вы хотите слышать только первую часть волны из синтезатора, установите Play на Manual на экране Wave Instrument.
Появляется дикая синусоида!
Мы можем видеть, что это выглядит немного раздавлено, так что давайте увеличим Q, также известный как резонанс. Этот параметр даст нам увеличение громкости в области, установленной фильтром, в то время как остальные гармоники останутся на том же уровне. Установим Q в 1, чтобы увеличить громкость фундаментальной ноты и посмотрим, что будет:
Получилось что-то между синусоидой и придавленным треугольником. Давайте уменьшим громкость до 08 и увеличим Q до 3. Параметр громкости регулирует общую громкость сигнала до прохода через фильтр и Q.
Теперь это похоже на синусоидальную волну! Не бойтесь экспериментировать с разными значениями Q, Cutoff и Volume и настраивать их по своему вкусу.
Проигрывание нот на низких октавах с этой формой волны даёт самый низкий, самый басовый звук, какой только можно получить на канале WAV. Он содержит наименьшее количество возможных обертонов, что делает его идеально подходящим для низких ударов и бочек. В самой идеальной ситуации синусоида вообще не содержит обертонов, только фундаментальную частоту, однако, поскольку битовая глубина WAV-канала даёт нам только 16 уровней громкости, мы можем лишь приблизительно приблизиться к синусоидальной волне, и некоторые обертноы проникают в звук.
Завершая урок, скажу, что каждое кратное 10 значение Cutoff фактически представляет собой 1 обертон гармонического ряда. Это становится ещё яснее, когда мы изменяем Lowpass на Bandpass и увеличиваем нашу громкость до 20. Обратите внимание, если вы установите Cutoff на 20, то услышите обертон на 1 октаву выше. Если установите Cutoff на 30, услышите обертон 1 октавы + одну 5-ю выше.
Поднимая Cutoff, вы можете поэкспериментировать с увеличением значения Q, чтобы ещё больше подчеркнуть выбранный обертон: чем выше Cutoff, тем меньше будет громкость результирующего обертона (это особенность того, как продуцируется пилообразный сигнал).
И помните, что если вы измените свою форму волны на квадрат или треугольник, то может показаться, что некоторые октавы или другие обертоны отсутствуют! Так происходит из-за того, что в этих сигналах меньше обертонов.
Cutoff на 20:
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/cutoff20.mp3
Cutoff на 30:
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/cutoff30.mp3
Cutoff на 40:
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/cutoff40.mp3
Видите закономерность в результирующих формах волны, когда мы увеличиваем Cutoff? Запомните это, так как мы будет использовать её в следующем уроке!
LSDj Wave Synth Deep Dive Part 2
Оригинальная статья на chiptuneswin.com
В первой части я рассказывал, как различные настройки фильтра влияют на генерацию гармоник на WAV-канале. Мы рассмотрели, что чем больше у нас циклов волноформ, тем выше будет получаемая гармоника. Фактически, число циклов соответствует номеру играемой гармоники.
Если вы ознакомились с настройками самостоятельно или прочитали руководство по LSDJ, возможно, вы уже нашли ещё один способ изменения количества циклов: путём изменения Phase.
Параметр Phase сжимает форму сигнала по горизонтали. Когда установлен тип "Normal", увеличение значения фазы выше 0 сжимает всю волноформу, добавляя в конец куски с нулевой громкостью. Таким образом, это аналогично изменению ширины импульса, т.е. рабочего цикла. Фактически, общая методика получения плавно модулированного импульсного лида (который обычно ассоциируется с чипом SID из C64) состоит в: установке для Signal значения Square, для Phase - Normal, начальное значения Phase - 00, конечное значение Phase - 1F (или 1E в версии LSDJ 4)
SID lead with Phase Normal
Для интересного вокалоподобного лида попробуйте Triangle вместо Square.
Если мы изменим тип Phase на Resync, то просто получим другой способ добавить новые обертоны, похожий на использование Cutoff. Resync, вместо однократного сжатия сигнала и добавления пустых участков в конце с нулевой громкостью, повторяет сигнал до тех пор, пока все 32 семпла не будут заполнены.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-2.mp3
(примечание: В версии LSDj 4 фаза 1F обычно молчит, поэтому этот сигнал должен быть введен вручную)
Вы можете поэкспериментировать с Resync2, который, как и Resync, повторяет волноформу, но не сжимает её. Обычно, это приводит к снижению громкости, так как зацикленный сигнал часто не может достигнуть своих обычных высокого и низкого уровней. Но потеря громкости замещается дополнительными гармониками.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-3.mp3
До сих пор наши изменения волноформ приводили к довольно чистому звуку. Обертоны имеют плавный и отчётливый звук. А если мы хотим добавить немного зернистости? Придётся спуститься вниз и испачкаться, чтобы наша синусоидальная волна превратилась во что-то такое:
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-4.mp3
Последний кадр синтезатора выше - это то, как чистый шум выглядит на WAV-канале. Чем более шумной становится волноформа, тем больше по-разному комбинированных обертонов образуют большую зернистость. Вот пример того, как звучат 16 различных кадров чистого шума:
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-5.mp3
Так, как же добавить этот шум в нашу волноформу? Можно добавить дополнительные "надрезы", вреучную добавить песка в нормальную синусоидальную волну.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-6.mp3
Параметр Dist (distortion - искажение) также влияет на содержание волнового шума. Dist отвечает за то, что происходит, когда форма волны превышает доступный динамический диапазон, например, когда громкость сигнала превышает максимальное значениче Volume или Q выводит его за пределы. Как вы помните, громкость представлена значениями 0-F. Как только пиковая громкость сигнала превышает F или ниже 0, тип Dist определяет реакцию LSDJ.
Если Dist установлен в Clip, то значения просто обрезаются по диапазону 0-F. Это как если бы просто сбривали верх и низ нашей волны. Чем более мы увеличиваем громкость синусоиды, тем более она напоминает прямоугольную волну.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-7.mp3
Помните, что прямоугольная волна добавляет необычные обертоны к звуку синусоидальной волны, и пользуйтесь этим.
Следующая установка, Fold (представлена в версии LSDJ 6), "отражает" громкость.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-8.mp3
Теперь, вместо обрезания тех кусков от нашей синусоиды, что достигают максимума и минимума, эти "лишние" участки направляются в обратную сторону. В сравнении с обрезкой получается звук, более высокий и резонансный с верхними обертонами. А ещё он тише Clip, потому что какое-то количество точек находится сверху и снизу динамического диапазона. Но можно увеличить Volume или Q, чтобы позволить точкам скакать туда-сюда несколько раз для добавления хруста.
Ну и последнее опция, Wrap, переносит выходящий участок на обратную сторону. Результирующий звук характеризуется резкостью и жужжанием. Он может быть громче Fold, поскольку распределяет большое количество точек равномерно по всему динамическому диапазону, но обычно не такой громкий, как Clip.
Последний вариант, Wrap, будет переносить любую громкость за верхнюю часть и оборачивать следующий семпл вверх снизу, и наоборот. По сравнению с Clip и Fold, он характеризуется резкостью и жужжанием в результирующем звуке. Он имеет тенденцию быть громче, чем Fold, потому что распределяет большее количество сэмплов равномерно по всему динамическому диапазону, хотя обычно он не такой громкий, как Clip.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-9.mp3
При установке Dist в значение Wrap и увеличении громкости получается так, что много точек переносится многократно, так как они многократно превышают 0-F. Точки могут перепрыгивать большую часть динамического диапазона, так что звуковая волна может звучать непредсказуемо. Просто нужно экспериментировать и слушать, как разные верхние обертоны окрашивают звук. В основном он будет резким, насыщенным, шумным и хрустящим.
Итак, что мы узнали:
- если форма волны синусоидальная, квадратная или треугольная и с полным циклом, уложенным в волновой кадр, её звук будет чистым и плавным. На низких октавах сильный бас;
- чем больше в пределах волнового кадра повторяется волновой цикл, тем выше будут частоты в результирующих нотах. Количество повторений соответствует гармонике ноты в серии воспроизводимых гармоник;
- чем больше шума в волновом кадре, тем звук менее чист и тем больше он будет окрашиваться верхними обертонами, придающими ему более гудящий, более звонкий тон. На низких октавах у звука будет менее подчёркнутый, но более резкий, более грубый и хрустящий бас;
- добавить более высокие частоты можно, сделав вручную "надрезы" формы сигнала, установив более высокие значения Cutoff и Q, изменив тип Phase и увеличив его значения, а также добавив разные типы Dist при превышении Volume и Q
Итак, у нас имеется очень шумная форма волны. Может даже слишком шумная. Нам нравится её звучание, но хочется её немного приручить, сохранив при этом характер большей частью нетронутым.
Есть одна функция, добавленная в LSDJ 6 - возможгность ограничить громкость ПОСЛЕ инициализации Volume, Cutoff, Q и Phase. Значение, установленное в Limit, ограничивает выборку диапазоном громкости. Например, если Limit установлен в F, то разрешена громкость от 0 до F. Если Limit задан 5, будет разрешена громкость в диапазоне 5-A (10 в 16-ричном формате), и все значения, выпадающие за эти границы, будут обрабатываться в соответствии с текущим типом Dist.
Это невероятно полезная функция, потому что, как мы уже видели, легко достичь максимально доступного динамического диапазона на экране wave, даже если наши значения Volume установлены низкими. Кроме того, Game Boy не сильно нам помогает, потому что у него на WAV-канале только 4 аппаратных уровня громкости: 100%, 50%, 25% и 0%. И когда мы обрезаем или оборачиваем свои волноформы и достигаем границ диапазона громкости, WAV-канал может быть слишком громким на 100% и слишком тихим на 25% или 50%.
К счастью, теперь мы можем выбирать такое искажение волноформы, что можем получить некоторую насыщенность за счёт добавления обертнов с более полным контролем громкости. Больше: мы можем выбрать один диапазон громкости в начальном точке и другой диапазон в конечной. Это позволит нам плавно перейти от громкого к тихому или наоборот, как показано здесь, с лимитом в начале F и в конце.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-10.mp3
Ну и напоследок, у нас есть Vshift, т.е. вертикальное смещение. Этот параметр позволяет сдвигать точки в волноформе вверх.
В версиях LSDJ ниже 6 Vshift функционировал аналогично Dist Wrap: когда волноформа сдвигалась вертикально и достигала F, она оборачивалась и начинала с 0. Можно взять Dist Clip, увеличить Volume и добавить Vshift для получения более жёстких звуков. Изменения Vshift приводят к непредсказуемым последствиям, так что с ним может быть интересно экспериментировать.
С версии LSDJ 6 Vshift следует за установкой Dist. Vshift при Dist Clip будет придавливать волноформу к потолку при увеличении значения. Как и в случае Fold и Resync2, громкость будет падать..
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-11.mp3
Если Dist установлен в Fold, волноформа будет отражаться от верха. При этом, если Vshift установлен в FF, исходная волна будет инвертирована.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-12.mp3
Установка Dist Wrap обернёт волну снизу.
Шаблон:Audio:http://chipwiki.ru/music/intensetechwithdefencemech/2-13.mp3
Что ж, надеюсь, теперь вы получили гораздо лучшее представление о работе Wave Synth в LSDJ. Я надеюсь, что помог безбоязнено изучит всевозможные варианты и дать представление о том, какие параметры нужно настроить в поисках нужного звука. Ещё надеюсь, что помог в экспериментах по поиску ранее не слышанного звука. Увидимся в следующий раз.
Don’t Sleep on Z
Оригинальная статья на chiptuneswin.com
Manage your LSDj save files with libLSDj!
Оригинальная статья на chiptuneswin.com