Pixelrat (обсуждение | вклад) (→Let’s Table This Discussion!) |
Pixelrat (обсуждение | вклад) (→Давайте обсудим таблицы!) |
||
Строка 672: | Строка 672: | ||
==Давайте обсудим таблицы!== | ==Давайте обсудим таблицы!== | ||
''Оригинальная статья на [https://chiptuneswin.com/blog/intense-tech-with-defense-mech-lets-table-this-discussion/ chiptuneswin.com]''<br/> | ''Оригинальная статья на [https://chiptuneswin.com/blog/intense-tech-with-defense-mech-lets-table-this-discussion/ chiptuneswin.com]''<br/> | ||
+ | |||
+ | <spoiler text="Пока перевода нет"> | ||
+ | Welcome back to Intense Tech with Defense Mech! In this post I wanted to discuss some different ways to use tables in LSDj. After reading this lesson, I hope you’ll be inspired to use tables in new and inventive ways! Let’s set the table and get started! | ||
+ | |||
+ | Tables in LSDj are arguably the sole most useful feature to shape your sounds. They can be used on almost any instrument, from pulse arpeggios and leads to bass and percussion, and there never seems to be enough of them to go around! In this lesson, I’ll go over a few techniques for tables to fuel your creativity. | ||
+ | |||
+ | First, let’s go over the basics. There are four columns in a table: Volume, Transpose, and two columns for Effect Commands. The volume column can be used to make custom volume envelopes for instruments. The first digit specifies volume (0-F for pulse and noise channels, and 0-3 for wave channel) and the second digit specifies the number of ticks to hold that volume. So a volume column value of 36 would set the instrument to volume 3 for six ticks. After six ticks, the next line of volume is applied until the last volume command. The instrument will remain at the volume level specified in the last line until the note is killed, unless all 16 steps of the volume column are full, in which case the volume column will loop, restarting from the top once the last line is reached. In the following example, I’ve set a table to automate the volume of a wave bass from volume 1 for three ticks, volume 2 for three ticks, then volume 3 for the next tick after which it will remain that volume. | ||
+ | |||
+ | |||
+ | {{#widget:video | url=http://chipwiki.ru/music/intensetechwithdefencemech/9-1.mp4}} | ||
+ | |||
+ | |||
+ | The transpose column, commonly used for custom arpeggios, applies the value of transpose to the current note in semitones, with 01-7F transposing upwards and 80-FF transposing downwards. The effect command columns are largely similar to the effect command columns in phrases, with the exception that some commands are not usable in tables (such as D) and L commands function according to the transpose column (only in the first column. Also if L00 is applied, the instrument pitch will reset). | ||
+ | |||
+ | Tables run by default at one tick per line unless the speed is specified using a Groove command. However, a table can also be set to Automate, meaning the table will apply one line per note. | ||
+ | |||
+ | '''Using A Commands in Tables''' | ||
+ | |||
+ | It might be somewhat confusing at first but it’s entirely possible to apply a table from within a table. This can be useful when a table is set to Automate if additional effects need to be used simultaneously on the same note. In this example, the instrument runs table 01 with Automate. One command is used in the phrase, one command is used in table 01, and A02 applies table 02 in the second column of table 01. Two additional commands are used in table 02, making for a total of four commands at once! | ||
+ | |||
+ | |||
+ | {{#widget:video | url=http://chipwiki.ru/music/intensetechwithdefencemech/9-2.mp4}} | ||
+ | |||
+ | |||
+ | Used within a table without Automate, an A command effectively extends the current table into the table specified. Lastly, using a value of 20 or above will effectively stop the table, since no tables beyond 1F exist. This is a great way to end the table without killing the note with a K command. | ||
+ | |||
+ | |||
+ | {{#widget:video | url=http://chipwiki.ru/music/intensetechwithdefencemech/9-3.mp4}} | ||
+ | |||
+ | |||
+ | '''Simultaneous Automation''' | ||
+ | |||
+ | I discovered a neat trick that happens when two channels, such as both pulses, use the same instrument with Table set to Automate=On and play notes simultaneously: notes in channel 1 are effected by the even-numbered table rows, and notes in channel 2 are effected by the odd-numbered table rows. This allows for easy stereo panning or similar effects using only one table, one instrument, and one phrase! | ||
+ | |||
+ | |||
+ | {{#widget:video | url=http://chipwiki.ru/music/intensetechwithdefencemech/9-4.mp4}} | ||
+ | |||
+ | |||
+ | '''Beef up instrument attack''' | ||
+ | |||
+ | Tables are extremely handy to give your instruments extra pop. One way to do this is by using volume commands. This can also be done in the volume column, but sometimes it can be more convenient to use a command. In this example of a noise snare, the instrument volume sets the volume of the initial attack, and then an E command lowers the volume drastically. The instrument volume is set relatively high to give the snare an initial pop to help it cut through other instruments, but then backs off so it doesn’t dominate throughout with very high volume. | ||
+ | |||
+ | |||
+ | {{#widget:video | url=http://chipwiki.ru/music/intensetechwithdefencemech/9-5.mp4}} | ||
+ | |||
+ | |||
+ | It may be familiar to you that accents such as placing 0C in the first tick of the Transpose column, or changing pulse waveforms on the first and second ticks can be effective ways to accent your instruments. Another trick to enhance the attack of an instrument such as a pulse or wave lead is by setting a high-frequency V command on the first tick, then turning it off on the second tick with a V00 command, or using lower values for a more subtle vibrato. These techniques can also be combined for greater effect. | ||
+ | |||
+ | |||
+ | {{#widget:video | url=http://chipwiki.ru/music/intensetechwithdefencemech/9-6.mp4}} | ||
+ | |||
+ | |||
+ | There are so many more ways to use tables that this article could easily go on for many pages with examples! I hope this sparks some ideas for you when designing your instruments. Please let me know if you have table tricks of your own, or new ideas you might like to see me cover in the future. Until next time, this is DEFENSE MECHANISM, signing off! | ||
+ | </spoiler> | ||
==Get your Kicks with Version 6: Part 1!== | ==Get your Kicks with Version 6: Part 1!== |
Версия 19:20, 23 мая 2020
Содержание
- 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!
Глубокое погружение в волновой синтезатор 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
Welcome back to Intense Tech with Defense Mech! In this post I wanted to discuss some different ways to use tables in LSDj. After reading this lesson, I hope you’ll be inspired to use tables in new and inventive ways! Let’s set the table and get started!
Tables in LSDj are arguably the sole most useful feature to shape your sounds. They can be used on almost any instrument, from pulse arpeggios and leads to bass and percussion, and there never seems to be enough of them to go around! In this lesson, I’ll go over a few techniques for tables to fuel your creativity.
First, let’s go over the basics. There are four columns in a table: Volume, Transpose, and two columns for Effect Commands. The volume column can be used to make custom volume envelopes for instruments. The first digit specifies volume (0-F for pulse and noise channels, and 0-3 for wave channel) and the second digit specifies the number of ticks to hold that volume. So a volume column value of 36 would set the instrument to volume 3 for six ticks. After six ticks, the next line of volume is applied until the last volume command. The instrument will remain at the volume level specified in the last line until the note is killed, unless all 16 steps of the volume column are full, in which case the volume column will loop, restarting from the top once the last line is reached. In the following example, I’ve set a table to automate the volume of a wave bass from volume 1 for three ticks, volume 2 for three ticks, then volume 3 for the next tick after which it will remain that volume.
The transpose column, commonly used for custom arpeggios, applies the value of transpose to the current note in semitones, with 01-7F transposing upwards and 80-FF transposing downwards. The effect command columns are largely similar to the effect command columns in phrases, with the exception that some commands are not usable in tables (such as D) and L commands function according to the transpose column (only in the first column. Also if L00 is applied, the instrument pitch will reset).
Tables run by default at one tick per line unless the speed is specified using a Groove command. However, a table can also be set to Automate, meaning the table will apply one line per note.
Using A Commands in Tables
It might be somewhat confusing at first but it’s entirely possible to apply a table from within a table. This can be useful when a table is set to Automate if additional effects need to be used simultaneously on the same note. In this example, the instrument runs table 01 with Automate. One command is used in the phrase, one command is used in table 01, and A02 applies table 02 in the second column of table 01. Two additional commands are used in table 02, making for a total of four commands at once!
Used within a table without Automate, an A command effectively extends the current table into the table specified. Lastly, using a value of 20 or above will effectively stop the table, since no tables beyond 1F exist. This is a great way to end the table without killing the note with a K command.
Simultaneous Automation
I discovered a neat trick that happens when two channels, such as both pulses, use the same instrument with Table set to Automate=On and play notes simultaneously: notes in channel 1 are effected by the even-numbered table rows, and notes in channel 2 are effected by the odd-numbered table rows. This allows for easy stereo panning or similar effects using only one table, one instrument, and one phrase!
Beef up instrument attack
Tables are extremely handy to give your instruments extra pop. One way to do this is by using volume commands. This can also be done in the volume column, but sometimes it can be more convenient to use a command. In this example of a noise snare, the instrument volume sets the volume of the initial attack, and then an E command lowers the volume drastically. The instrument volume is set relatively high to give the snare an initial pop to help it cut through other instruments, but then backs off so it doesn’t dominate throughout with very high volume.
It may be familiar to you that accents such as placing 0C in the first tick of the Transpose column, or changing pulse waveforms on the first and second ticks can be effective ways to accent your instruments. Another trick to enhance the attack of an instrument such as a pulse or wave lead is by setting a high-frequency V command on the first tick, then turning it off on the second tick with a V00 command, or using lower values for a more subtle vibrato. These techniques can also be combined for greater effect.
There are so many more ways to use tables that this article could easily go on for many pages with examples! I hope this sparks some ideas for you when designing your instruments. Please let me know if you have table tricks of your own, or new ideas you might like to see me cover in the future. Until next time, this is DEFENSE MECHANISM, signing off!
Get your Kicks with Version 6: Part 1!
Оригинальная статья на chiptuneswin.com
Kicks Part 2: Kick Heaven in Version 7!
Оригинальная статья на chiptuneswin.com
Scoping Out New Features!
Оригинальная статья на chiptuneswin.com