Содержание
- 1 Глубокое погружение в волновой синтезатор LSDJ. Часть 1
- 2 Глубокое погружение в волновой синтезатор LSDJ. Часть 2
- 3 Не проспите Z
- 4 Как справляться со своими сохранениями при помощи libLSDj
- 5 WAV-инструменты и Wave Cruncher
- 6 Грувим по тикам. Часть 1
- 7 Грувим по тикам. Часть 2
- 8 LSDj Wave Cruncher!
- 9 Давайте обсудим таблицы!
- 10 Get your Kicks with Version 6: Part 1!
- 11 Kicks Part 2: Kick Heaven in Version 7!
- 12 Scoping Out New Features!
- 13 Let’s Appreciate Version 8!
- 14 Let’s Mix It Up (and Down)!
Глубокое погружение в волновой синтезатор 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:
Cutoff на 30:
Cutoff на 40:
Видите закономерность в результирующих формах волны, когда мы увеличиваем 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 семпла не будут заполнены.
(примечание: В версии LSDj 4 фаза 1F обычно молчит, поэтому этот сигнал должен быть введен вручную)
Вы можете поэкспериментировать с Resync2, который, как и Resync, повторяет волноформу, но не сжимает её. Обычно, это приводит к снижению громкости, так как зацикленный сигнал часто не может достигнуть своих обычных высокого и низкого уровней. Но потеря громкости замещается дополнительными гармониками.
До сих пор наши изменения волноформ приводили к довольно чистому звуку. Обертоны имеют плавный и отчётливый звук. А если мы хотим добавить немного зернистости? Придётся спуститься вниз и испачкаться, чтобы наша синусоидальная волна превратилась во что-то такое:
Последний кадр синтезатора выше - это то, как чистый шум выглядит на WAV-канале. Чем более шумной становится волноформа, тем больше по-разному комбинированных обертонов образуют большую зернистость. Вот пример того, как звучат 16 различных кадров чистого шума:
Так, как же добавить этот шум в нашу волноформу? Можно добавить дополнительные "надрезы", вреучную добавить песка в нормальную синусоидальную волну.
Параметр Dist (distortion - искажение) также влияет на содержание волнового шума. Dist отвечает за то, что происходит, когда форма волны превышает доступный динамический диапазон, например, когда громкость сигнала превышает максимальное значениче Volume или Q выводит его за пределы. Как вы помните, громкость представлена значениями 0-F. Как только пиковая громкость сигнала превышает F или ниже 0, тип Dist определяет реакцию LSDJ.
Если Dist установлен в Clip, то значения просто обрезаются по диапазону 0-F. Это как если бы просто сбривали верх и низ нашей волны. Чем более мы увеличиваем громкость синусоиды, тем более она напоминает прямоугольную волну.
Помните, что прямоугольная волна добавляет необычные обертоны к звуку синусоидальной волны, и пользуйтесь этим.
Следующая установка, Fold (представлена в версии LSDJ 6), "отражает" громкость.
Теперь, вместо обрезания тех кусков от нашей синусоиды, что достигают максимума и минимума, эти "лишние" участки направляются в обратную сторону. В сравнении с обрезкой получается звук, более высокий и резонансный с верхними обертонами. А ещё он тише Clip, потому что какое-то количество точек находится сверху и снизу динамического диапазона. Но можно увеличить Volume или Q, чтобы позволить точкам скакать туда-сюда несколько раз для добавления хруста.
Ну и последнее опция, Wrap, переносит выходящий участок на обратную сторону. Результирующий звук характеризуется резкостью и жужжанием. Он может быть громче Fold, поскольку распределяет большое количество точек равномерно по всему динамическому диапазону, но обычно не такой громкий, как Clip.
Последний вариант, Wrap, будет переносить любую громкость за верхнюю часть и оборачивать следующий семпл вверх снизу, и наоборот. По сравнению с Clip и Fold, он характеризуется резкостью и жужжанием в результирующем звуке. Он имеет тенденцию быть громче, чем Fold, потому что распределяет большее количество сэмплов равномерно по всему динамическому диапазону, хотя обычно он не такой громкий, как Clip.
При установке 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 и в конце.
Ну и напоследок, у нас есть Vshift, т.е. вертикальное смещение. Этот параметр позволяет сдвигать точки в волноформе вверх.
В версиях LSDJ ниже 6 Vshift функционировал аналогично Dist Wrap: когда волноформа сдвигалась вертикально и достигала F, она оборачивалась и начинала с 0. Можно взять Dist Clip, увеличить Volume и добавить Vshift для получения более жёстких звуков. Изменения Vshift приводят к непредсказуемым последствиям, так что с ним может быть интересно экспериментировать.
С версии LSDJ 6 Vshift следует за установкой Dist. Vshift при Dist Clip будет придавливать волноформу к потолку при увеличении значения. Как и в случае Fold и Resync2, громкость будет падать..
Если Dist установлен в Fold, волноформа будет отражаться от верха. При этом, если Vshift установлен в FF, исходная волна будет инвертирована.
Установка Dist Wrap обернёт волну снизу.
Что ж, надеюсь, теперь вы получили гораздо лучшее представление о работе 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)
В этом примере я расставил ноты через шаг. Первая нота поставлена с командой 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
В этом примере Z03 может включить любой возможный рабочий цикл. Однако поскольку 25% и 75% звучат очень похоже, то более случайное изменение звука будет, если включить Z02. В этом случае у нас будет равная вероятность включения ширины 12,5%, 25% и 50%.
Случайное панорамирование (Random Panning)
Команда O - ещё один случай, когда неясно, как работает команда Z. Команда O управляет левым и правым выходом звука, можно её использовать для отключения звука на обоих каналах. Поэтому при использовании Z важно, чтобы начальное значение O было выбрано внимательно.
OLR (звук идёт слева и справа) = 00 O__ (звук отключен) = 01 OL_ (звук идёт только слева) = 02 O_R (звук идёт только справа) = 03
В этом примере мы чередуем полное левое и полное правое панорамирование. Если мы хотим случайным образом выбирать тот или иной канал, то для начальной команды O установим значение OL_, а затем применим команды Z02.
В версии LSDJ 6 команда Z работает в таблицах, где она рандомизирует последний использованный в таблице эффект.
Случайное чередование между OLR и O__ может использоваться в таблице для инструмента с Automate=ON для случайного стробирующего эффекта, как показано здесь:
В этом и прошлом примерах, если диапазон команды 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 добавляет любую ноут между текущей нотой в октаве и плюс большая терция над ней.
Случайные аккорды (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.
Случайный свип (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-инструмент.
Давайте послушаем пример электронного пианино:
FM E-Piano sample
Когда этот семпл пройдет через wave-cruncher, волновые циклы будут уменьшены для соответствия каждого цикла пределам каждого кадра WAV-инструмента. Ну а там уже можно выставить в параметрах "Play: Once" и отрегулировать параметры Length и Speed по своему вкусу.
Вот небольшой риф с Length 3, Speed 3:
E-Piano, преобразованное в 4-битный WAV-инструмент LSDj
Есть плохая новость: настройка семпла, а также 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.
Я надеюсь, вы найдёте эти звуки интересными и полезными! Не стестяйтесь делиться результатами проб. До следующего раза!
Грувим по тикам. Часть 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 на остальных каналах.
Демонстрация качающих грувов на примере Groove 10, 11, 13 и 15
Я мог бы сделать G11 грувом 3/9 для сгибания нот (обычно что-то вроде 3/9/6/6 на случай, если нужно будет место для нескольких команд, пока другими командами G не вернусь к 6-тиковому груву). Этот грув также удобен в случае, если хотите, чтобы кик на WAV-канале длился всего 3 тика перед басовой нотой. Вот, пример, где я использовал такой грув в обоих направениях BEAT JUiCE:
{
Надо отметить, что LSDJ с версии 6 позволяет повторно запускать один и тот же грув, используя подряд команды G для перезапуска одного и того же грува. Но в предыдущих версиях трекера этот приём не работает.
Хотя работа в стандартном 6-тиковом груве является распространённой практикой, иногда случается так, что 6 тиков на линию - это слишком медленно. Ввыбор грува по умолчанию в 3 тика на строку обеспечивает более высокое разрешение для более быстрых нот и срабатывания команд.
Воспроизведение фраз в 6-тиковом режиме позволяет проигрывать 16 нот и команд длиной по 6 тиков в общей сложности 96 тиков на фразу. Если воспроизводить фразу в 3-тиковом режиме, то можно вопроизводить ноты и команды в 2 раза быстрее, но каждая фраза длится только 48 тиков, поэтому понадобится 2 таких фразы, чтобы использовать то же время, что и 6-тиковая фраза. По мере увеличения разрешения фраз вам потребуется 3 фразы по 2 тика или 6 фраз по 1 тику, чтобы уложится в это же время.
Один из способов воспользоваться преимуществами фраз с более высоким разрешением - использовать команду перехода Hop внутри фразы для добавления тиков к ее длительности. С помощью правильных команд Hop фраза, которая длится 48 тиков, станет длиться 96. Правд, иногда получаются сложные зацикливания, но это может быть полезным.
В этом примере из моей работы Near Miss я настроил один канал на 3 тика и зациклил ноты, которые я хотел бы арпеджировать. Обычно для создания арпеджио используют таблицы, но в этом методе для этой же цели используются фразы. Первая цифры команды H указывает, сколько раз нужно прыгать (0 - переход к следующей фразе), а вторая цифра указывает строку, на какую нужно прыгать. Так, например, H71 переходит к строке 1 7 раз, затем продолжает проигрывать фразу до H5A, который 5 раз прыгает на строку A, потом фраза заканчивается.
Фразу можно удлинить командами H
Надеюсь, благодаря этому уроку у вас появилось несколько идей, как использовать грув в ваших мелодиях. В следующий раз мы рассмотрим ещё несколько примеров грува во фразах и таблицах.
Грувим по тикам. Часть 2
Оригинальная статья на chiptuneswin.com
Добро пожаловать на Intense Tech с Defence Mech! Сегодня мы продолжим изучение грува. После этого урока у вас будут лишние уловки по ссозданию более крутых мелодий!
Установка грува из 2, 3 и более тиков может быть полезна в таблицах при создании арпеджио или изменении рабочего цикла. Таблица будет работать медленее, чем задано по умолчанию. Команду G (Groove) можно комбинировать с командами H (Hop) дял создания сложных циклов как во фразах, так и в таблицах.
В примере ниже, мелодии Zenarchy от Hypnogram, можно увидеть эффект сочетании команд H и G. Напоминаю, что первая цифра команды H определяет крличество прыжков, вторая - куда нужно прыгать, а команда G задаёт количество тиков, которое будет длиться та или иная строка.
Сочетание H и G может привести к очень драматичным звукам!
Есть ещё один трюк, который я узнал от Zef, который заключается в том, что грув можно использовать для записи в других временных рамках, например, 3/4, без использования команды Hop!
Хотите писать в 3/4 или 6/8 в LSDJ? Установите грув 0 на 6 от 0 до A, установите B на 2 и CDEF на 1, теперь просто игнорируйте C-F на экране фразы!
Это только один из способов установки грува в 3/4, так-то вариантов много. Давайте посмотрим, как это можно использовать:
Подобный образом вы можете использовать грув для выражения триплетов. Использовать грув 6/6 по умолчанию хорошо, потому что 6 делится на 2 и 3, и это легко позволяет нам поместить 3 ноты (триплет восьмой ноты) в промежуток из 2 восьмых нот. Поскольку 2 восьмых ноты равны 24 тикам, нам нужно разделить 24 на 3, что равно 8. Это означает, что каждая нота триплета восьмой ноты будет длиться 8 тиков. Используя систему нумерации грувов, которая соответствует количеству тиков, мы можем применить команду G08, чтобы знать, что каждая строка будет длиться 8 тиков. Поскольку это на 2 тика больше, чем стандартная скорость в 6 тиков, нам надо как-то компенсировать лишние тики, вычтя их в конце фразы либо командой G, либо командой H для перехода к следующей фразе. В этом примере мы используем 3 ноты, поэтому нам нужно вычесть 6 тиков из конца фразы, чтобы следующая начиналась с первой строчки. Это легко сделать, поместив H00 для пропуска последней строки фразы, которая длиться 6 тиков.
Ну и чтобы подвести итоги, рассмотрим ещё один пример от Hypnogram для простой, но эффектного дилея (задержки). Используя 2 грува, можно легко сместить импульсные каналы так, чтобы один отражал другой с помощью одного грува, а затем сброса дилея с помощью второго грува. Установка в первой строке канала PU2 последних 10 тиков (0A в HEX-формате) в первом груве означает, что каждая последующая нота будет задерживаться на 4 тика. В следующей фразе мы возвращаемся к груву 0, что даёт нам продолжительность строк в 6 тиков, но сохраняет задержку в 4 тика. Мы сбрасываем её в конце, делая последнюю строку длительностью всего 2 тика. В этом примере я помимо этого настроил пульсы так, чтобы сгладить звук. Сначала вы услышите только канал PU1, потом к нему присоединится PU2 с настроенной задержкой.
На этом Intense Tech пока заканчивается. Я надеюсь, что эти советы будут для вас полезными.
LSDj Wave Cruncher!
Оригинальная статья на chiptuneswin.com
Это Defense Mech, и я рад видеть вас на Intense Tech! В этом уроке мы рассмотрим использование LSDj Wave Cruncher от DOTCNT для генерации своих WAV-инструментов.
Возможно, вы помните один из предыдущих уроков, в котором мы применяли инструмент импорта волновых таблиц в LSDJ от 4ntler, который позволяет изменять волновые таблицы в файле сохранения, или файлы lsdsng из библиотеки инструментов. Тогда мы не рассматривали работу с Wave Cruncher, зато теперь погрузимся в его глубины.
Я имел удовольствие встретиться с Адой, она же DOTCNT, во Франции в прошлом году и сразу же похвалил её за проделанную невероятную работу над инструментом для LSDJ. По сути, Wave Cruncher - автоматизированный способ понижения дискретизации одного семпла и перевод его в формат волнового синтезатора LSDJ, превращая его в таблично-волновой семплер. Это позволяет нам воспроизводить ноты, арпеджировать аккорды, питчить высоту тона и т.д. - то, чего нельзя сделать с семплами из ПЗУ LSDJ. В этом уроке мы столкнёмся с многими знаниями из прошлых статей, так что не стестняйтесь обращаться к ним, если нужно.
Оригинальный инструмент требует установки node, Python 2 и нескольких библиотек для каждого из них, но я уже скомпилировал бинарники, которые должны работать в среде командной строки / терминала на компьютерах с Mac OS, Windows или Linux без какой-либо лишней установки (вспомнить можно в статье про libLSDj).
Прежде, чем мы будет "хрустеть" своими волнами, нам, во-первых, понадобится, ваш семпл. В идеале, это должен будет wav-файл с одной нотой. Важно, что нота была тональной, т.е. постоянной высоты тона. Подумайте, какие инструменты играют одну ноту - такие звуки будут хорошо работать с Wave Cruncher. Особенно хорошо подходят звуки с большим количеством обертонов, например, колокола, электронные пианино, стальные барабаны и т.д. Звуки, которые не будут работать хорошо - это шумные и нетональные звуки, например, кики, паравозный свисток, вибрирующие удары, семплы из песен Red Hot Chili Peppers.
Семпл FM E-Piano
Во-вторых, нам понадобится исполняемый файл Wave Cruncher. Загрузите нужную для вашей платформы версию, поместите её в папку с семплами и откройте терминал/командуню строку для этой папки.
Запустите Wave Cruncher, дайте ему параметры или аругменты, например:
crunch [SAMPLE.WAV] [NOTE|FREQUENCY|auto] --flag
"crunch" - это наш двоичный файл. В Windows он будет иметь имя "crunch-win.exe". Далее следует имя семплла, например, "epiano.wav". Потом задаётся нота, например, A4, либо частота в герцах, либо просто пишется слово auto, и тогда инструмент сам пытается определить частоту семплы. Автоматическое обнаружение работает хорошо, но если сигнал сложный, то это занимает время (минуту или больше) преждче, чем обработка звершится успешно (или не успешно).
Если всё пройдет хорошо, то на выходе получится snt-файл, который может быть переправлен в файл сохранения с помощью liblsdj wavetable patcher
Ну, давайте посмотрим на примере, как это работает
crunch-win.exe epiano.wav auto
$ crunch-win.exe epiano.wav auto Crunching data... Auto-detecting frequency... Frequency detected: 136.47859664570356 Hz Saving data as epiano.snt... Done! Successfully output epiano.snt!
Сейчас мы уже можем инъектировать epiano.snt в наш файл сохранения для LSDJ, а можем ещё использовать дополнительные флаги для более тонкой настройки волновых таблиц.
Первый необязательный флаг влияет на то, какие волновые циклы крачен помещает в выоходной сигнал. По умолчанию он занимает первые 16 волновых циклов, но если семпл длинный, то он не будет весь охвачен. Флаг "--linear" заставляет принять линейную выборку волновых циклов из всего семпла от начала до конца. Представьте себе, что семпл режется на 16 равных кусочков, и из каждого берётся под одному волновому циклу.
Второй флаг, "-- exp", имитирует своего рода экспоненциальную выборку. Другими словами, он берёт больше волновых кадров из начала и меньше с конца. Может быть полезно, если вам нужно больше нюансов атаки и меньше нюансов затухания.
Следующий флаг, "--normalize", влияет на громкость семпла - позволяет усилить его до сжатия.
Флаг "--channel=0" или "--channel=1" предназначен для стерефонический файлов. Волновой синтезатор LSDJ является монофоническим, и Wave Cruncher должен выбрать либо левый, либо правый канал семпла для сжатия. По умолчанию используется канал 0 (левый).
Флаг "--output=filename" позволяет сохранить snt-файл под другим именем. По умолчанию используется имя wav-файла, но если нужно проверить разные параметры для одного и того же семпла, то этот флаг поможет избежать путаницы.
Ну и последний флаг - "--analyze". Он просто производит частотный анализ и не выводит snt-файл. Воспринимайте его как тестовый режим. Может быть полезен при пакетной обработке семплов: при автообнаружении частоты время сжатия каждого семплы увеличивается на 30-60 секунд. Полученную при помощи этого флага частоту можно сразу использовать в скрипте для ускорения процесса.
Ну, давайте запустим наш кранчер ещё пару раз с нашим семплом epaino и посмотрим на результаты. В прошлый раз для определения частоты потребовалось 45 секунд, так что в этот раз я подставлю определённое значение вместо auto, а также посмотрю, какие звуки получаются при использовании разных флагов.
crunch-win.exe epiano.wav 136.47859664570356 --normalize --linear --output=epiano-lin.snt Crunching data... Samples: 311847 Sample rate: 44100 Cycles: 965 Linear interpolation Taking frame every 60 cycles Saving data as epiano-lin.snt... Done! Successfully output epiano-lin.snt!
$ crunch-win.exe epiano.wav 136.47859664570356 --normalize --exp --output=epiano-exp.snt Crunching data... Samples: 311847 Sample rate: 44100 Cycles: 965 Exponential interpolation Saving data as epiano-exp.snt... Done! Successfully output epiano-exp.snt!
После использования кранчера по инструкции переправьте snt-файлы в файлы сохранения LSDJ. Имейте ввиду, что вам нужно будет установить нужные параметры воспроизведения. В зависимости от темпа, попробуйте начните корректировку с Play Once, Length 3, Speed 3. Если результат звучит нормально, пожалуйста, подумайте о его внесении в общую библиотеку синтезаторов!
Давайте проверим наши результаты. Я вставил каждый инструмент как Instruments 1, 2 и 3, а также Synths 1, 2 и 3 соответственнно. Цепочки и фразы 01, 02, 03 будут воспроизводить соответствующие звуки.
Что ж, надеюсь, эта статья даст вам небольшое представление о Wav Cruncher и побудить попробовать его в сжатии ваших семплов.
Давайте обсудим таблицы!
Оригинальная статья на chiptuneswin.com
В этом посте я хотел рассмотреть некоторые способы использования таблиц в LSDj. Уверен, после прочтения данного урока вы будете вдохновлены использовать таблицы каким-нибудь изобретательным способом. Давайте начнём.
Таблицы в LSDJ, наверно, наиболее полезная функция для создания ваших звуков. Они могут использовать ся на любом инструменте, будь до арпеджио на пульсовых каналах, басе, перкусии и многое-многое-многое другое. В этом уроке я расскажу о нескольких техниках, которые подпитают вашу креативность.
Итак, начнём с основ. В таблице имеется 4 столбца: громкость (VOL), транспонирование (TSP) и 2 колонки для эффектов (CMD). Столбец громкости можно использовать для создания громкостных огибающих. Первая цифра определяет громкость (0-F для пульсовых и шумовых каналов, 0-3 - для волнового), а вторая - количество тиков для удержания этой громкости. Таки образом, значение 36 установить инструмент на громкость 3 в течение 6 тиков. Через 6 тиков громкость следующей строки остаётся такой же до другой команды с громкостью. Инструмент будет иметь уровень громкости, указанный в последней строке, пока не будет убита нота, если только все 16 шагов столбца громкости не будут заполнены.
В следующей примере я установил таблицу для автоматизации громкости волнового баса с громкостью 1 в 3 тика, громкостью 2 в 3 тика и громкостью 3 в 1 тик. После третьей строки громкость баса остаётся на её уровне.
Колонка транспонирования обычно используется для арпеджио. Значение в ней применяется к текущей ноте в полутонах. 01-7F - транспонирование идёт вниз, 80-FF - вверх.
Столбцы эффектов в целом аналогичны столбцу эффектов во фразах, только некоторые команды не используются (например, D) и кманда L работает в зависимости от столбца транспонирования (только в первом столбце). Кроме того, если применить L00, то питч инструмента будет сброшен.
По умолчанию таблицы выполняются со скоростью 1 тик на строку, если только скорость не задана командой Groove. Однако, в случае установки в таблице команды A (Automate), в ней будет использоваться одна строка на ноту.
Использование команды A в таблице
Это может показаться сильно запутанным, но в таблице можно применить другую таблицу. Это полезно в случае, когда на одну ноту одновременно нужно использовать несколько эффектов. В данном примере инструмент выполняет таблицу 01 с командой A02, которая активирует таблицу 02. Одну команду эффектов можно использовать во фразе, другую - в таблице 01, две команды - в таблице 02. В общей сложности у нас 4 команды эффектов одновременно!
Как видно, с командой A можно прекрасно дополнить одну таблицу другой. Использование значения 20 и выше остановит таблицу, так как область таблиц заканчивается на 1F. Это хороший способ закончить таблицу, не убивая ноту командой K.
Одновременная автоматизация
Я обнаружил ловкий трюк, при котором 2 канала, например, оба пульса, используют один и тот же инструмент с набором таблиц для автоматического включения и воспроизведения нот одновременно: ноты в канале 1 выполняются чётными рядами таблиц, а ноты в канале 2 - нечётными. С помощью этого легко создавать стереопанорамирование или аналогичные эффекты, используя всего только 1 таблицу, 1 инструмент и 1 фразу!
Усиление атаки
Таблицы экстремально удобны, если нужно придать вашим инструментам пущего эффекта. Один из способов сделать это - использовать команды громкости. Да, можно использовать столбец VOL, но иногда всё же удобнее использовать команду. В этом примере шумового снейра громкость инструмента устанавливает громкость начальной атаки, а затем команда E резко понижает громкость. Громкость инструмента устанавливается относительно высокой, чтобы дать снейру начальный толчок для прорезки сквозь другие инструменты, а затем гасится, чтобы она не доминировала над всем.
Такие акценты, как размещение 0C в первом тике столбца транспонирования или изменение импульсных сигналов на первом или втором тике, могут быть эффективным способом акцентирования ваших инструментов. Есть один трюк для усиления атаки, который заключается в установке команды V на первом тике и её выключении на втором тике с помощью команды V00 или использования более низкий значений для более тонкого вибрато. Это техники можно объединить для большего эффекта.
Существует и много других путей использования таблице - если их все описывать, то эта статья со всеми примерами легко займет множество страниц. Я надеюсь, что описанные здесь трюки помогут в ваших идеях при создании инструментов.
Get your Kicks with Version 6: Part 1!
Оригинальная статья на chiptuneswin.com
Hello and welcome to another edition of Intense Tech! This lesson will be about some kick techniques which I have previously covered in a video tutorial but will also expand upon in greater depth here. After reading this lesson, you should have a good handle on how to use DRUM or FAST tuning with instrument P/L/V settings in version 6 to create any kick to suit your needs. I’ve also included a save file at the end of this lesson so you can play around in version 6.9.0 on your own. Let’s dig in!
Wave Kicks: The Basics
Let’s start with the wave channel, a very popular choice for kicks for good reason: it generates the lowest pitch of any channel, so it’s great for pumping out the lowest of the low end. As we’ve seen previously, generating a sine wave in the wave channel can produce a pure tone around 65 Hz at the lowest note of C1.
The quickest way to get a good kick of course, is to simply use a kick in a wave kit. Otherwise, set your wave instrument synth to a sine- or square-like waveform and use a command like PC0 to slide the pitch downward. Experiment with placing the note anywhere from C5 to C6, C7 or above depending on how high-pitched and punchy you want the attack to be. But changing one key setting will make all the difference in even the simplest kick! Read on to find out more.
Changing the Pitch with P/L/V
When LSDj changed from version 4 to version 5.1.0, the pitch engine also changed, as covered by Paul’s LSDj Tech Talk. Until version 6, there was no way to recreate the old logarithmic pitch. Luckily, we now have an instrument setting called “P/L/V” which is actually not entirely obvious about what it should affect, but I will clarify that! P/L/V settings affect how P commands, L commands, and/or V commands work. The default setting of “FAST” plays pitch slides and vibrato at the fastest rate possible (this was previously known as “HF”). Pressing A+Down changes to “TICK” which plays pitch slides and vibrato at a much slower rate that is also affected by the tempo of the song. Pressing A+Down again changes to “STEP” which makes P command a pitch offset only, which is not very useful for kicks, but makes P commands on wave drumkit snares a lot of fun! What we want to change is actually found when we press A+Up from “FAST” and we find a new option: DRUM!
Pressing A+Up while P/L/V FAST is highlighted will select DRUM pitch!
The secret to DRUM P/L/V is that P and L commands are now played using a special pitch mode that emulates the logarithmic pitch slides of the previous LSDj versions! However it does come with a caveat: using any transpose column in phrases or tables will not work as intended. Accordingly, it also eliminates the possibility of creating kicks that slide directly into bass notes. This is due to the special pitch lookup table* that does not work the same as the regular FAST tuning. It’s also helpful to note that the instrument TRANSPOSE setting can be turned OFF in order to avoid this problem when transposing phrases.
Now that we’ve discovered DRUM tuning, let’s hear the difference between a FAST kick and a DRUM kick!
FAST pitch kicks vs. DRUM pitch kicks
Fine-tuning Wave Kicks
Now that we’ve got the wave kick basics down, let’s look at some ways to adjust different aspects of the kick, starting with the first part of the kick: the attack. Often overlooked, a snappy kick attack can make all the difference to help cut through the mix.
There are a few ways to adjust the attack of the kick, and the most flexible options can be utilized by applying a table to the wave kick instrument. This way we have control over what happens on every tick. When I create a kick table, I usually set a fast P command as the very first command, which controls how fast the pitch slides downwards from the note it’s playing. Directly below it as the second command, I place an L command with a TSP value of 80. Setting this value means that no matter which note is playing in the phrase, the pitch will slide downwards to the lowest note possible, and because the L command stops when it reaches this value, the pitch will not wrap around and play the highest pitch. This is helpful if I decide later to change the tempo of the song to a slower tempo, since DRUM P and L commands are not affected by tempo. Additionally, it means that I’m free to change the note of the kick in the phrase and adjust the speed of the P command to my liking. Let’s experiment with different notes around the octaves of C5 and above.
Changing the octave of the kick lets you adjust the transient and the P command value
Another option is to change the waveform of the kick on the first tick. This is a variation of what’s sometimes known as the “Kyoto kick” technique as popularized by Toriena and others. A waveform that contains some noise and grit can be set as the first waveform, and afterwards it changes to the normal kick waveform. In this example, Wave 00 is a kick waveform modified to contain more noise, while Waves 01-0F are the normal kick waveforms. A command of F01 is placed on the second line of the kick table to switch from Wave 00 to Wave 01. However, we can eliminate the need for this F command if we set the wave instrument to Play Loop, Length 1, Repeat 0, Speed 01. This will play Wave 00 for 1 tick and then switch to Wave 0F.
Changing the first waveform can also add impact to the kick transient
It’s also worth noting that DRUM tuning can be very effective when used to create other types of drum sounds such as toms and snares. And it works on pulse instruments as well!
Moving from Kick to Bass
What if we want a kick instrument that transitions seamlessly into a bass note such as an 808-style kick? For this we need to return to FAST pitch and we need to make sure that our instrument Transpose is set to ON. In this example, I’ve set the root note an octave above where the bass note will sound. The first line of the table has a one-octave transpose up and a P command to slide down for two ticks. The third line of the table has a one-octave transpose down and an L command. This is an overall much smoother sound, although you could experiment by combining the waveform-switching technique mentioned above.
Change P/L/V to fast when transpose is needed.
It’s also worth mentioning that in many cases, it’s quite simple to reduce the time between kick and bass by simply changing the groove. No fancy kick transposition needed! In this example, the first number of ticks in Groove 10 is how many ticks the kick will last, and the second number of ticks is how long the bass will last.
Changing the groove can reduce the time between playing the kick and the bass note
As promised, here is a link to the save file including these examples. That’s all for this round of Intense Tech! Stay tuned for next time where we’ll delve into making kicks in the other channels! Until next time, this is DEFENSE MECHANISM, signing off!
Kicks Part 2: Kick Heaven in Version 7!
Оригинальная статья на chiptuneswin.com
Scoping Out New Features!
Оригинальная статья на chiptuneswin.com
Let’s Appreciate Version 8!
Оригинальная статья на chiptuneswin.com
Let’s Mix It Up (and Down)!
Оригинальная статья на chiptuneswin.com