Содержание
- 1 Глубокое погружение в волновой синтезатор LSDJ. Часть 1
- 2 Глубокое погружение в волновой синтезатор LSDJ. Часть 2
- 3 Не проспите Z
- 4 Как справляться со своими сохранениями при помощи libLSDj
- 5 WAV-инструменты и Wave Cruncher
- 6 Groovy Groove and Tick Tricks Part 1!
- 7 Groovy Groove and Tick Tricks Part 2!
- 8 DOTCNT’s LSDj Wave Cruncher!
- 9 Let’s Table This Discussion!
- 10 Get your Kicks with Version 6: Part 1!
- 11 Kicks Part 2: Kick Heaven in Version 7!
Глубокое погружение в волновой синтезатор LSDJ. Часть 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. Часть 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. Я надеюсь, что помог безбоязнено изучит всевозможные варианты и дать представление о том, какие параметры нужно настроить в поисках нужного звука. Ещё надеюсь, что помог в экспериментах по поиску ранее не слышанного звука. Увидимся в следующий раз.
Не проспите Z
Оригинальная статья на chiptuneswin.com
Здравствуйте, я защитный механизм! Добро пожаловать в Intense Tech, где мы подробно рассмотрим некоторые особенности LSDj, чтобы помочь вам повысить уровень своего понимания и навыки как художника!
Привет, я Defense Mechanism! Это Intense Tech, где мы подробно рассматривает некоторые особенности LSDJ, чтобы помочь вам повысить уровень своего понимания и навыков!
В прошлый раз мы рассматривали WAV-синтезатор. На пару уроков мы отвлечёмся от него, но вернёмся сразу после того, как заложим основу для захватывающего урока по нему. Сейчас же мы исследуем команду Z, узнаем, как она внести пикантность в вашу жизнь.
Команда Z, как и WAV-синтезатор, часто неправильно понимается. Давайте исправим это с помощью забавнымх демонстраций её творческого использования. К концу урока у вас будет уйма новых техник по добавлению управляемого хаоса в свои композиции.
Как и синтезатор LSDj Wave, который мы рассматривали в последних двух уроках, недоумевая команда Z часто неправильно понимается. Давайте разберемся с этим с помощью забавных демонстраций творческого использования команды Z. К концу этого урока вы будете вооружены множеством новых техник для добавления некоторого контролируемого хаоса в свои композиции!
Для начала давайте обратимся к руководству по LSDJ (версии 6), чтобы точно узнать, что такое команда Z:
To begin, let’s take to the LSDj manual (version 6), to get at exactly what the Z command is:
- Z: рандомизация
- Команда Z повторяет последнюю не-Z команду, добавляя случайное число к исходному значению команды. Значение Z задаёт максимальное значение каждого добавляемого числа.
Теперь давайте посмотрим изучим Z на примерах:
Случайное вибрато (Random Vibrato)
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-1.mp4
В этом примере я расставил ноты через шаг. Первая нота поставлена с командой V00. На каждом последующем шаге установлена та же нота, но с командой Z03. Поскольку последней не-Z командой была V, каждая следующая Z03 будет работать как другая команда V с одним из четырёх значений: V00, V01, V02 или V03. При этом влияния на команду Z не будет, если только её саму не рандомизировать.
Случайный рабочий цикл (Random Duty Cycle)
Может быть непонятно, как использовать команду Z к пульсовому рабочему циклу, поскольку команда W использует графические значения вместо чисел, но работает она хорошо.
Ширина пульса 12.5% = 00
Ширина пульса 25% = 01
Ширина пульса 50% = 02
Ширина пульса 75% = 03
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-2.mp4
В этом примере Z03 может включить любой возможный рабочий цикл. Однако поскольку 25% и 75% звучат очень похоже, то более случайное изменение звука будет, если включить Z02. В этом случае у нас будет равная вероятность включения ширины 12,5%, 25% и 50%.
Случайное панорамирование (Random Panning)
Команда O - ещё один случай, когда неясно, как работает команда Z. Команда O управляет левым и правым выходом звука, можно её использовать для отключения звука на обоих каналах. Поэтому при использовании Z важно, чтобы начальное значение O было выбрано внимательно.
OLR (звук идёт слева и справа) = 00 O__ (звук отключен) = 01 OL_ (звук идёт только слева) = 02 O_R (звук идёт только справа) = 03
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-3.mp4
В этом примере мы чередуем полное левое и полное правое панорамирование. Если мы хотим случайным образом выбирать тот или иной канал, то для начальной команды O установим значение OL_, а затем применим команды Z02.
В версии LSDJ 6 команда Z работает в таблицах, где она рандомизирует последний использованный в таблице эффект.
Случайное чередование между OLR и O__ может использоваться в таблице для инструмента с Automate=ON для случайного стробирующего эффекта, как показано здесь:
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-4.mp4
В этом и прошлом примерах, если диапазон команды Z превышает эти 4 значения, то итоговое значение будет являться остатком от вычитаний 4. Например, Z17 применяет значение для P или 0. Из 17 вычитается 4, пока не остаётся остаток 1. То есть Z17 будет равно Z01.
Случайная мелодия
В описании команды Z в LSDJ говорилось, что команда Z "задаёт максимальное значение каждого добавляемого числа". Это значит, что каждое число команды Z функционирует независимо от других числе команды Z.
Например:
- Z02 добавляет 0, 1 или 2 к изначальному значению;
- Z20 добавляет 0, 10 или 20 к изначальному значению;
- Z22 добавляет 0, 1, 2, 10, 11, 12, 20, 21 или 22 к изначальному значению.
Примечание: на данный момент рандомизация не работает с командами Hop, Groove и Delay.
Это может быть полезно, когда хочется придать случайности высоте тона, например, с помощью команды F, которая управляет тонкой руглировкой волны. Первая цифра команды F не оказывает влияния на канал PU1, и мы можем рандомизировать мелодию с помощью ZF0 только на PU2. Каждая команда Z добавляет любую ноут между текущей нотой в октаве и плюс большая терция над ней.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-5.mp4
Случайные аккорды (Random Chords)
В LSDJ версии 4 цифры в командах Z не являются независимы друг от друга, что делает использование Z с командой C менее полезным, но это не означает, что из-за этой комбинации нельзя получить интересные звуки. С LSDJ 6 у нас появилось больше контроля, например, аккорды могут случайным образом переключаться между мажором и минором. Минорный аккорд создаётся с С37, а мажорный - C47. И если использовать C37 и Z10, то у нас будет C37 или C47.
В lsdj версии 4 цифры в командах Z не были независимы друг от друга, что делает использование Z с командой C (Аккорд) менее полезным, но это не означает, что вы не можете получить некоторые интересные звуки из него. С введенной версией независимости 6 можно получить больше контроля, так что, например, аккорды могут случайным образом чередоваться между мажором и минором. Минорный аккорд создается с помощью C37, а мажорный аккорд-с помощью C47. Поэтому, если мы используем команду C37 и применяем Z10, команда Z будет применяться либо C37, либо C47.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-6.mp4
Случайный свип (Random Sweep)
Ну и последний пример - визитная карточка Hypnogram. Послушать его в контексте можно в этом треке (на 1:30).
Он очень весёлый и лёгкий. Имейте ввиду, что этот звук будет работать только в канале PU1, поскольку это единственный канал, которые имеет аппаратный свип.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/3-7.mp4
На этом всё. Не бойтесь экспериментировать и придумывать своё.
Как справляться со своими сохранениями при помощи libLSDj
Оригинальная статья на chiptuneswin.com
Привет всем! Добро пожаловать на курс Intense Tech от Defence Mech!
В этой части мы будем играться с командной строкой и познакомимся с мощным инструментом для работы с вашими сохранениями из LSDJ. К концу урока вы узнаете, как организовать набор папок для каждого трека, как создать мастер-список всех работ в ваших sav-файлах. Если это звучит так, будет это вам нужно, то продолжайте чтение.
Если вы пользуетесь LSDJ, то в какой-то момент вы наверняка столкнулись с необходимостью сделать резервную копию файлов сохранения с флеш-картриджа или с эмулятора. Может, вы готовитесь сыграть свой первый сет на вечеринке и хотите привести список треков в порядок в новом sav-файле. Да, есть всем известный LSDManager, но его интерфейс не делает удобным ручные импорт и экспорт каждой работы. И вдобавок, программе нужно загружать файл сохранения каждый раз, когда нужно посмотреть, какие треки там находятся. Это мало того, что муторно, так вы скорее всего однажды просто запутаетесь, что где находится в ваших sav-файлах, когда будете собирать новый sav-файл.
Ну и как тут теперь разобраться?
К счастью, наш друг 4ntler поработал над созданием некоторых инструментов в своей библиотеки libLSDJ! Текущая версия включает в себя две функции: lsdsng-export и lsdsng-import. Для начала работы загрузите zip-файл с библиотекой для вашей операционной системы.
Примечание: Lemondrop сделал отличный инструмент управления сохранением с помощью libLSDJ! Найти его можно здесь.
Итак, для сегодняшнего урока я создал папку "LSDJ" и туда же извлёк lsdsng_tools.zip. Внутри папки "LSDJ" я создал подпапку "saves", внутри которой я разместил файлы сохранения со своего сайта, которые я хочу организовать. (скопируйте их себе или используйте свои sav-файлы).
Теперь откройте окошко командной строки или терминала. В старых Windows окошко командной строки можно открыть, зажав shift, нажав правой кнопкой мыши по папке и выбрав "открыть окно командной строки здесь". В Windows 10 это уже не работает, так что используйте комбинацию win+R, введите cmd, нажмите Enter, затем введите cd, пробел и перетащите папку LSDJ в окно, потом нажмите Enter.
На Mac терминал можно открыть их Spotlight, потом введите cd, пробел перетащите папку LSDJ на терминал и нажмите Return.
Для просмотра треков в файле сохранения можно ввести "lsdsng-export -p" и название sav-файла, который мы хотим посмотреть. Список треков "распечатается" в нашей командной строке или терминале.
Так как lsdsng-export умеет работать с папками, то мы можем посмотреть содержимое каждого sav-файла сразу, если введём "lsdsng-export -p saves". Появится общий список всех треков во всех файлах сохранения. Метка "WM" указывает на трек, загруженный в рабочую память сохранения.
Этот список можно превратить в перечень треков в каждом sav-файле и вывести в виде текстового файла. Просто используйте "lsdsng-export -p saves > songlist.txt". Будет создан текстовый файл "songlist.txt" с перечнем работ в каждом sav-файле из папки "saves". Если в папке "saves" есть другая папка, последняя будет проигнорирована.
Для просмотра одного сохранения, например, SUNBURST.sav, мы можем набрать: "lsdsng-export -p saves/SUNBURST.sav"
Будет выведено следующее:
SUNBURST.sav # Name Ver Fmt WM ENAMORED * 7 0 ENAMORED 6D 7 1 ILLUMIN8 78 7 2 NEARMISS 7D 7 3 FRESH 92 7 4 BLONGING 52 7
Если в команде не использовать аргумент "-p", то lsdsng-файлы будут извлечены в папку "LSDJ".
В Windows можно не открывать командную строку вообще: перетащите sav-файл на lsdsng-export.
Можно извлечь каждый lsdsng в папку "saves", просто набрав: "lsdsng-export saves".
Для организации для каждого трека своей папки, используйте аргумент "-f": "lsdsng-export -f saves". Это может быть очень полезно, если у вас несколько резервных копий своих работ. Каждая папка будет содержать каждую версию работы их всех файлов сохранения!
Так, допустим, что мы хотим извлечь lsdsng из "SUNBURST.sav" в новую папку с каким-нибудь названием. Для этого нам нужно ввести следующую команду: "lsdsng-export saves/SUNBURST.sav -o Sunburst". Каждый lsdsng-файл окажется в папке "Sunburst". Если такой папки не существует, то она будет создана.
Ну а если я хотел бы экспортировать отдельные файлы в папку для черновиков, то мог бы это сделать с указанием имени или индекса, например:
lsdsng-export -n NEARMISS saves/SUNBURST.sav lsdsng-export -i 0 saves/SUNBURST.sav
Такую команду можно применять и к нескольких трекам сразу:
lsdsng-export -n NEARMISS -n ILLUMIN8 saves/SUNBURST.sav
Можно комбинировать обращение по имени с обращением по индексу:
lsdsng-export -n NEARMISS -i 1 saves/SUNBURST.sav
Можно соединить с выводом в папку:
lsdsng-export -n NEARMISS -i 1 saves/SUNBURST.sav -o songs
Можно извлечь lsdsng из рабочей памяти. Это может быть нужно в том случае, если вы забыли сохранить свой трек, но ваши изменения всё ещё загружены и не повреждены. Это можно сделать так: "lsdsng-export -w saves/SUNBURST.sav"
Пока всё хорошо? Здорово! Ваши треки извлечены, давайте их соберём в sav-файл с помощью lsdsng-import. Ну и конечно, у нас несколько путей для этого.
Если у нас есть один или несколько lsdsng-файлов, которые мы хотим превратить в sav-файл, то это можно сделать, просто перетащив один или несколько lsdsng-файлов на lsdsng-import. Будет создат файл "out.sav".
Можно использовать командную строку: введите lsdsng-import и количество lsdsng, которые вы хотите собрать в sav-фал.
Чтобы задать sav-файл с каким-то своим именем используйте аргумент -o:
lsdsng-import -o mysave.sav song1.lsdsng song2.lsdsng (и так далее)
Для добавления ещё одного трека в "mysave.sav" используйте аргумент -s:
lsdsng-import song3.lsdsng -s mysave.sav
Для объединения всех файлов из папки "songs" используйте "lsdsng-import songs". Будет создан "songs.sav". Все треки будут расположены в файле сохранения в том порядке, в каком они расположены в папке.
Если в какой-то момент вы забудете все эти аргументы, то печать lsdsng-export или lsdsng-import без всего остального выведет справку.
Сноска для Linux-пользователей: вы не забыты, просто компиляция из исходного кода и использование командной строки должны быть вам хорошо знакомы, так что этот учебник вам может и не пригодится! 😄
WAV-инструменты и Wave Cruncher
Оригинальная статья на chiptuneswin.com
Ещё раз привет и добро пожаловать в чрезвычайно захватывающий урок Intense Tech! Я очень рад поделиться с вами результатами последних нескольких месяцев, потому что, я так считаю, теперь в вашем распоряжении целый новый мир звуков. Идите за мной по командной строке к инструменту lsdj-wavetable-import из libLSDJ от 4ntler!
Как вы помните, в предыдущих частях мы познакомились с командной строкой и libLSDJ и изучили WAV-синтезатор LSDJ. Теперь мы объединим эти инструменты, чтобы вносить свои собственные волноформы непосредственно в lsdsng или sav-файл. Последние несколько недель я создавал библиотеку инструментов, чтобы поделиться ими. Но перед забегом по ней, давайте-ка я сначала расскажу, как это всё работает.
Несколько лет назад я случайно наткнулся на инструмент от DOTCNT под названием lsdj-wave-cruncher. Его идея была в том, чтобы взять семпл, например, звук стального барабана, и свести его к серии 4-битных сигналов, совместимых с WAV-каналом Game Boy.
Да, можно было с помощью LSDPatcher заменить семплы в LSDJ на свои, но у него были ограничения: воспроизведение нот на разных нотных шагах требует внесения отдельного семпла для каждого шага. Какие-то манипуляции могут быть сделаны, но они не всегда подходят для тональных монофонических инструментов.
Откровение wave cruncher было в том, что он превращает WAV-синтезатор в рудиментарный семплер! Вместо создания сигналов с помощью встроенного синтезатора, можно взять семпл и на его основе создать 16 кадровый WAV-инструмент.
Давайте послушаем пример электронного пианино:
Когда этот семпл пройдет через wave-cruncher, волновые циклы будут уменьшены для соответствия каждого цикла пределам каждого кадра WAV-инструмента. Ну а там уже можно выставить в параметрах "Play: Once" и отрегулировать параметры Length и Speed по своему вкусу.
Вот небольшой риф с Length 3, Speed 3:
Есть плохая новость: настройка семпла, а также wave cruncher и WAV-синтезатора могут потребовать много времени прежде, чем вы получите требуемый результат. Но есть и хорошая новость: я уже проделал часть этой работы за вас! Я создал репозиторий на Github под названием lsdsynths, где разместил волновые таблицы в формате snt. Использование инструмента libLSDj lsdj-wavetable-import позволит вам использовать эти звуки в своих проектах. В отличии от семплов, которые встраиваются в образ LSDJ, эти таблицы встраиваются прямо в файл сохранения, что удобно при совместной работе или при обмене файлами сохранения с другими пользователями.
Ну а теперь давайте перейдём к lsdj-wavetable-import. Если у вас ещё нет libLSDJ, то скачайте его отсюда.
Поместите lsdj-wavetable-import и snt-файл в ту же папку, где находится ваш sav- или lsdsng-файл. Откройте командную строку и пропатчите файл следующей командой:
lsdj-wavetable-import savefile.sav synth.snt 0
Это перенесёт synth.snt в savefile.sav на место synth 0.
Изменения вносятся только в трек, загржуенный в рабочую память, так что будьте внимательнее. В противной случае, просто патчите lsdsng вместо sav.
Я надеюсь, вы найдёте эти звуки интересными и полезными! Не стестяйтесь делиться результатами проб. До следующего раза!
Groovy Groove and Tick Tricks Part 1!
Оригинальная статья на chiptuneswin.com
Привет и добро пожаловать на Intense Tech от Defence Mech ! В этом месяце я покажу примеры использования Groove в LSDJ. После прочтения этого урока вы будете более уверенно использовать продвинутые методы манипуляции таймингом в ваших работах!
Я хотел бы начать с рассмотрения основ, так что потерпите, поскольку, возможно, мы ступим на знакомую территорию.
Что такое тик? Тик - это наименьшая единица времени в LSDJ. Это как бы пиксель времени. Нельзя разделить время на ещё меньшие единицы. А вот насколько долго длится тик, зависит от настройки темпа. Например, тик на 80BPM в два раза дольше тика на 160BPM.
Значения для таких команд, как Kill, Delay и Retrigger, задаются в виде количества тиков. Например, K01 убьет ноту после 1 тика. Скорость WAV-инструмента также указывается в тиках. Кроме того, таблицы по умолчанию выполняют команды по 1 тику на строку.
Настройка Groove позволяет настроить, сколько тиков длиться строка фразы или таблицы. По-умолчанию значение задано -6/6, что означает, что первая строка фразы длится 6 тиков, и что вторая строка тоже длится 6 тиков (на самом деле, вторая 6 в этом груве является избыточной и может быть удалена без изменения воспроизведения работы). Для применения Groove к фразе или таблице, используйте команду G. Строка с командой G будет содержать количество тиков в первой части указанного диапазона, а следующая - из второй части, потом по кругу. Например, Groove 7/5, помещённый в строку 3 фразы или таблицы, означает, что строка 3 будет длиться 7 тиков, а строка 4 - 5 тиков, строка 5 - 7 тиков, строка 6 - 5 тиков, и так далее.
Для организации грува, я использую технику, которую узнал от Hypnogram. Техника эта заключается в установке количества тиков в Groove в соответствии с номером самого Groove. Например, Groove 00 - это значение по умолчанию, но поскольку нельзя взять 0 тиков, то я оставляю его на уровне 6/6 (или что я хочу по-умолчанию). Потом Groove 01 устанавливается на 1, Groove 02 - на 2, и так далее. Обычно я настраиваю их до Groove 0C или 12, что вдвое больше значения по умолчанию, хотя вы можете брать вплоть до Groove 0F при желании. Таким образом, когда я использую команду G во фразе или таблице, то сразу вижу, сколько тиков какая строка длится.
Затем я обычно устанавливаю какие-то свои значения в Groove 10-1F. Если я смотрю на команду G и вижу G12 или G17, то знаю, что каждая строка будет иметь разное количество тиков. Например, я могу сделать G10 с качающим грувом 7/5.
Есть одна интересная техника - у LSDJ имеется уникальная способность иметь разные грувы на каждом канале. В моей кавер-версии песни "Into You" от Ariana Grande я поместил WAV-канал в грув 7/5 для раскачки кика и баса, в то время как остальные каналы имели прямой ритм 6/6. Это добавило приятного растяжения чувству времени, оно стало нечто средним между качающим и прямым.
При груве 7/5 первая строка длится 7 тиков, а вторая - 5. Поскольку указано только 2 значения, то длительность последующих строки чередуется по очереди. Получается ощущение 16-нотного качания. Увеличение разницы до 8/4 или 9/3 сделает размах более резким.
Ещё можно поэкспериментировать с грувом 8/4 на одном канале и грувом 7/5 на остальных. В моей работе Illumin8 я использовал разные грувы в лиде, чтобы подчеркнуть разные части мелодии. Некоторые грувы, например, 8/5/7/4, сочетают в себе оба клебания, но при этом содержат 24 тика по 4 линиям, как и грув в 6 тиков или 7/5. Это ещё больше увеличивает толчок и вытягивание мелодии, способствует более сводобному, менее твёрдому, более человеческому ощущению ведущего инструмента. Получается приятный нежный контраст с более простым грувом 7/5 на остальных каналах.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/6-1.mp4
Демонстрация качающих грувов на примере Groove 10, 11, 13 и 15
Я мог бы сделать G11 грувом 3/9 для сгибания нот (обычно что-то вроде 3/9/6/6 на случай, если нужно будет место для нескольких команд, пока другими командами G не вернусь к 6-тиковому груву). Этот грув также удобен в случае, если хотите, чтобы кик на WAV-канале длился всего 3 тика перед басовой нотой. Вот, пример, где я использовал такой грув в обоих направениях BEAT JUiCE:
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/6-2.mp4
Надо отметить, что LSDJ с версии 6 позволяет повторно запускать один и тот же грув, используя подряд команды G для перезапуска одного и того же грува. Но в предыдущих версиях трекера этот приём не работает.
While working in the default 6-tick groove is fairly common, there may be cases where 6 ticks per line is too slow. Choosing a default groove of 3 ticks per line provides a higher resolution for faster note and command triggering. Essentially, playing phrases at a 6-tick groove allows you to play 16 notes and commands each 6 ticks long for a total of 96 ticks per phrase. If you play a phrase at a 3-tick groove, you can play notes and commands twice as fast, but each phrase only lasts 48 ticks, so you’ll need two 3-tick phrases to cover the same amount of time as one 6-tick phrase. Likewise, as phrase resolution increases, you’ll need three 2-tick phrases, or six 1-tick phrases to cover the same amount of time.
One way to take advantage of higher-resolution phrases is to use a Hop command within the phrase to add ticks to its duration. With the right Hop commands, a phrase that normally lasts 48 ticks can be made to last 96. Sometimes this results in some complicated looping, but it can be rewarding to figure it out!
In this example from my song Near Miss, I set one channel to a 3-tick groove and looped the notes I wanted to arpeggiate. It’s common to use tables to create arpeggios, but this method uses phrases to accomplish the same thing. In phrases, the first digit of the H command specifies how many times to hop (0 means skip to the next phrase), and the second digit specifies which line to hop to. So for instance, H71 hops to Line 1 seven times, then continues playing the phrase until H5A, which hops to Line A five times before finishing the phrase.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/6-3.mp4
Phrases can be lengthened by using H commands
I hope this lesson has given you some new ideas to use grooves in your tunes! Next time, we’ll take a look at a few more examples of how to use different grooves in phrases and tables!
Groovy Groove and Tick Tricks Part 2!
Оригинальная статья на chiptuneswin.com
Welcome back to Intense Tech with Defense Mech! This time we’ll be continuing our exploration of grooves. After you read this lesson you should have a few more tricks up your sleeve to make your tunes groove even harder!
Setting a groove of 2 ticks, 3 ticks, or more can be useful in a table when creating arpeggios or duty cycle changes. This will result in the table running more slowly than the default. Groove commands can also be combined with Hop commands to create complex timing changes in both phrases and tables.
In this example from the tune Zenarchy by Hypnogram, you can see the effect of combining Hop and Groove commands. Remember that the first digit of H commands specifies the number of times to hop and the second digit specifies where to hop to, and also that each Groove command is set to the number of ticks that each line will last for.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/7-1.mp4 Combining Hop and Groove can lead to very dramatic sounds!
Another trick, which I learned from Zef, is that you can actually use grooves to write in other time signatures such as 3/4 without using a Hop command!
This is just one way to set a groove in 3/4; of course there are many options. Let’s take a look at an example of how it might be used:
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/7-3.mp4
Similarly, you can use grooves to express triplets. Using the default 6/6 groove is helpful because 6 is divisible by both 2 and 3, so this allows us to easily put 3 notes (an eighth-note triplet) in the span of 2 eighth notes. Since 2 eighth notes equal 24 ticks, we need to divide 24 by 3, which is 8. This means that each note of an eighth-note triplet will last for 8 ticks. Using the groove numbering system that matches the groove number to the number of ticks, we can place a G08 command so we know that each line will last 8 ticks. Since this is 2 ticks per note more than the default groove of 6, we will need to compensate for the extra ticks by subtracting the total number of extra ticks at the end of the phrase either by using another G command, or an H command to hop to the next phrase. In this example, we use 3 notes, so we need to subtract 6 ticks from the end of the phrase to allow the next phrase to start on beat 1. This is easy to do by placing an H00 command to skip the last line of the phrase (which lasts 6 ticks).
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/7-4.mp4
Lastly, to wrap up the tips for this time, we have another example from Hypnogram for a simple yet effective 2-channel delay. By using 2 grooves, you can easily offset the pulse channels so that one echoes the other with one groove command, and then reset the delay afterwards by using the second groove command. Setting the first line of the second pulse channel to last 10 ticks (0A in hex) in the first groove means that each subsequent note will be delayed by 4 ticks. In the next phrase, we revert to groove 0 so each line lasts 6 ticks, but the 4-tick delay is maintained. We reset this at the end of the second groove by making the last line only 2 ticks long. In this example, I’ve also added some finetune to the pulses to help thicken the sound a bit. First, you’ll hear one pulse by itself, then you’ll hear the second pulse added with delay.
Шаблон:Video:http://chipwiki.ru/music/intensetechwithdefencemech/7-5.mp4
That wraps up this edition of Intense Tech! I hope you find these tips worthwhile to include in your tunes.
DOTCNT’s LSDj Wave Cruncher!
Оригинальная статья на chiptuneswin.com
Let’s Table This Discussion!
Оригинальная статья на chiptuneswin.com
Get your Kicks with Version 6: Part 1!
Оригинальная статья на chiptuneswin.com
Kicks Part 2: Kick Heaven in Version 7!
Оригинальная статья на chiptuneswin.com