Оглавление:
- Шаг 1: Настройка Soundflower с Max и вашей DAW
- Шаг 2: Определите свой путь обработки сигнала
- Шаг 3: Добавление сухой смеси
- Шаг 4: Изменение высоты звука с помощью Pitchshifter
- Шаг 5: ИСКАЖЕНИЕ
- Шаг 6: Сила дрона
- Шаг 7: Вход в Bizarre: Ring Modulation
- Шаг 8: Задержка и ухудшение качества сигнала… деградация… деградация… D…
- Шаг 9: реверберация стиля Brick Style
- Шаг 10: Случайное стерео тремоло
- Шаг 11: Осциллографирование
- Шаг 12: Представляем модуль обработки сигналов
- Шаг 13: Раздел 2: Генератор аккордов
- Шаг 14: Получение нот для ввода в арпеджиатор
- Шаг 15: арпеджио этих аккордов
- Шаг 16: "Перемешивание ключей"
- Шаг 17: волшебство с помощью автономной генерации нот
- Шаг 18: завершающие штрихи
- Шаг 19: Завершение всего
Видео: Max MSP Генератор окружающего цикла: 19 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:47
Это руководство о том, как начать создавать генератор окружающих петель в Max MSP.
В этом руководстве предполагается, что у вас есть базовые знания о Max MSP, интерфейсах DAW и обработке сигналов. Если вы хотите использовать программу, разработанную в этом руководстве, скачайте ее бесплатно (но не для продажи или повторной публикации)!
Программа, которую мы будем разрабатывать, состоит из ДВУХ основных частей:
1) Многосигнальный процессор
2) Генератор полурандомизированных заметок
Генератор нот медленно работает по тональности / гамме в полуслучайных паттернах, передавая MIDI-данные в DAW, которая, в свою очередь, отправляет звук обратно в Max для обработки.
Вот ссылка на окончательный файл патча:
Запасы:
- Базовые знания Max MSP и MIDI
- Макс MSP
- Аудио интерфейс (мы используем Logic Pro X)
- Soundflower
- (Необязательно) Некоторые хорошие плагины программных инструментов для вашей DAW
Шаг 1: Настройка Soundflower с Max и вашей DAW
Soundflower - это программа, которая помогает передавать аудио между программами на Mac. Мы будем использовать это для передачи звука из нашей DAW в Max.
Нет ничего проще, чем использовать Soundflower с вашей DAW! Просто скачайте Soundflower, и он станет доступен для использования в качестве аудиовыхода и входа. Если мы создадим объекты adc ~ (аудиовход) и dac ~ (аудиовыход), мы увидим, что Soundflower 2ch и Soundflower 64ch становятся пригодными для использования аудиоканалами. Мы будем использовать Soundflower 2ch (2 канала) для этой программы.
В Max добавьте переключатель для включения и выключения ввода и ползунок усиления для громкости, и вы будете в пути.
В вашей DAW в разделе «Настройки»> «Аудио» вы увидите аудиовход и аудиовыход. Мы будем использовать Soundflower 2ch в качестве аудиовыхода.
Шаг 2: Определите свой путь обработки сигнала
Проще говоря, будет ли ваш звук искажаться по кучке разных каналов или все по одной прямой?
Мы решили использовать параллельную обработку звука - наш сигнал будет искажаться на нескольких разных каналах. Это дает нам преимущество более четкого общего звука и большего контроля над нашим сигналом, но увеличивает громкость основного усиления, что приводит к некоторому клиппированию. Мы решили, что больше контроля стоит немного искаженного звука, так как это в любом случае создаст эмбиентные петли!
Кроме того, вам нужно решить, какие эффекты вы хотите создать. Мы продемонстрируем здесь некоторые типы эффектов, если вам нужны идеи.
Шаг 3: Добавление сухой смеси
Сначала мы добавили «сухой микс», чтобы получить отдельный, незатронутый аудиосигнал. Это было сделано путем запуска вывода adc ~ на ползунок усиления (с круговой шкалой для облегчения просмотра), на фильтр svf ~ с круговой шкалой для настройки фильтрации нижних частот, а затем на общее усиление и вывод на ЦАП ~. Сухая смесь может быть очень удобной, поэтому мы рекомендуем ее, если вы хотите, чтобы звучание было несколько четким и простым для тестирования!
Мы могли немного привлечь ваше внимание - мы будем запускать все наши эффекты в отдельные svf ~ фильтры, чтобы иметь тональные наборы для каждого канала сигнала. Это позволяет легко очистить звуковое пространство, когда конкретный эффект слишком высокочастотный. Мы сделали все наши svf ~ фильтры нижних частот (подключив их к выходу lowpass), поэтому они постепенно отсекают высокие частоты поворотом шкалы. Однако svf ~ также имеет полосовой фильтр (избирательная частота), фильтр верхних частот (удаление низких частот) и другие полезные фильтры. Поэкспериментируйте, чтобы увидеть, что вам нравится и что вам нужно, или даже используйте несколько фильтров!
Шаг 4: Изменение высоты звука с помощью Pitchshifter
Для простого и удобного в использовании механизма изменения высоты тона скопируйте код переключателя из справочного руководства по переключателю высоты тона в Max. Наш код очень похож, но удаляет такие функции, как скольжение и несколько настроек качества звука, чтобы уменьшить беспорядок. Запуск вашего аудио в это (из adc ~ для параллельного звука или из сухого микса для последовательного звука) позволяет вам использовать циферблат для регулировки уровня смещения высоты тона.
Как и в случае с сухим миксом, мы добавили ползунок усиления и объект svf ~, чтобы можно было регулировать громкость и формировать эквалайзер.
Шаг 5: ИСКАЖЕНИЕ
Использование объекта overdrive ~ - самый простой способ добавить искажения. Вы можете запустить это в ползунок усиления и фильтр и закончить. Однако мы пошли еще дальше. Во-первых, мы превратили левый и правый аудиоканалы в отдельные объекты фазового сдвига - они размещают левый и правый аудиоканалы в противофазе, «сгущая» звук, как это может сделать педаль хоруса.
Кроме того, мы отправили полученный звук в объект cascade ~ с прикрепленным графом фильтров. Это позволяет вам более или менее искажать звук на определенных частотах и с любым количеством полос фильтра, которое вам нужно. Наш граф фильтра искажения был смоделирован после искажения педали Boss HM-2 Heavy Metal 1980-х годов.
На этом этапе мы также начали добавлять объекты omx.peaklim ~ после особенно шумных эффектов - этот объект ограничивает проходящий через него аудиосигнал, как это сделал бы компрессор, что упрощает предотвращение обрезания окончательного аудиоканала.
Шаг 6: Сила дрона
Мы также посчитали необходимым добавить в наш патч частоту «гудения». Хотя это могло быть выполнено с помощью объекта цикла для создания простого генератора, это не было бы очень адаптивным к изменениям громкости или частоты в исходном звуке. Поэтому мы использовали фильтр svf ~ для создания ультрарезонансного звукового тракта. Запустив звук в фильтр svf ~ и установив резонанс на 1, мы создаем частоту гудения, которая перемещается внутрь и наружу, как и наш звуковой тракт, и затем может быть отрегулирована для громкости, тона и частоты. Регулировка прилагаемого диска изменит частоту гудения.
Шаг 7: Вход в Bizarre: Ring Modulation
Теперь мы переходим к добавлению кольцевой модуляции! Этот забавный и крутой эффект очень просто создать, и его очень неправильно понимают, потому что он звучит … немного странно. Это достигается путем прикрепления шкалы к объекту * ~ на правом входе, а на левом входе прикрепления шкалы. Мы пошли еще дальше - когда наш кольцевой модулятор полностью опущен, гейт закрывает свой числовой сигнал, и поэтому сигнал кольцевой модуляции полностью отключается. Кроме того, его также можно переключить на вывод в другой * объект, что снижает частоту на указанную величину. Таким образом, мы можем получить "тонкую" кольцевую модуляцию типа тремоло и более быструю, странно звучащую кольцевую модуляцию. Подобно другим эффектам, этот был запущен в ползунок усиления и фильтр svf ~.
Шаг 8: Задержка и ухудшение качества сигнала… деградация… деградация… D…
Здесь мы создаем задержку с контролем времени, набором обратной связи, тональным набором и ухудшением качества сэмпла. Это позволяет нам имитировать аналоговую задержку, постепенно делая сигнал тише и более искаженным. Для этого мы используем связанные объекты tapin ~ и tapout ~. Мы пишем 5000 после тапа, чтобы убедиться, что у него есть 5000 мс времени памяти. Добавление объекта degrade ~ позволяет нам постепенно уничтожать сигнал. Затем мы запускаем звук из adc ~ в наш объект degrade ~, в tapin ~, в tapout ~ и одновременно возвращаемся в degrade ~ из * ~ и из * ~ в наш регулятор усиления. Это позволяет нам прикрепить диск для регулировки громкости задержки, возвращающейся в саму себя, и получать задержанный сигнал, поступающий от объекта * ~ на наши выходы. Кроме того, размещение объекта degrade перед тапом ~ позволяет нам добавлять все больше и больше сокращения выборки по мере задержки сигнала. Посмотрите нашу картинку и код, чтобы понять, как все это было сделано.
Шаг 9: реверберация стиля Brick Style
Ревербератор Belton Brick относится к реверберации, оснащенной микросхемой Accu-Bell BTDR Digi-log, разработанной Брайаном Нойнабером из Neunaber Effects. Этот чип позволяет использовать простые пружинные реверберации с использованием каскадных линий задержки. Чтобы имитировать это, мы закодировали еще одну задержку с одним колесом для регулировки времени и обратной связи. Время никогда не превысит 100 мс, а обратная связь ограничена 80%. Эта простая задержка дает легкий звук пружинной реверберации! Снова переходим к регулировке усиления и тембра.
Шаг 10: Случайное стерео тремоло
Наш последний сигнальный эффект! Здесь мы создали тот же код, что и раньше для кольцевого модулятора, с парой поворотов: глубина тремоло рандомизирована, и есть тремоло для левого и правого каналов. Кроме того, мы устанавливаем это устройство последовательно, так что теперь все эффекты идут перед ним, поэтому каждый сигнал подвергается воздействию тремоло.
Для этого мы имитируем код кольцевой модификации из более раннего, с некоторыми изменениями: теперь сигнал попадает в два входа, которые открываются, когда другие закрываются. Это позволяет либо воздействовать на сигнал, либо не заражать его, а не только воздействовать на него или отключать его. Это было сделано с помощью объекта! -. Наш циферблат упирается в объект rand ~, затем на * ~ и + ~, а затем на другой * ~ на правом входе и звук на левом. Здесь у нас есть случайное тремоло, которое включается, когда циферблат вверху, и опускается, когда он выключен!
Для этого не требуется регулировка усиления или регулировки тембра, поэтому она просто идет прямо к объекту dac ~.
Шаг 11: Осциллографирование
Наконец, мы добавляем объект scope ~, подключенный к аудиовыходу от основного регулятора усиления. Мы также добавили циферблат для регулировки его чувствительности!
Шаг 12: Представляем модуль обработки сигналов
Мы закончим этот раздел, добавив немного изюминки нашему коду в режиме презентации. Просто добавьте отдельные циферблаты и поля для комментариев в режим презентации, и все готово! Мы добавили нашему чуть особого чутья с помощью цветных рамок, различных шрифтов и художественных дизайнерских решений. Кроме того, дизайн был основан на дизайне гитарных педалей: шкалы в маркированных рядах и секциях, чтобы упростить понимание пути прохождения сигнала. Удачи с этой частью!
Шаг 13: Раздел 2: Генератор аккордов
Теперь у нас есть полностью функционирующий сигнальный процессор в Max, нам просто нужен звук, чтобы подать на него звук. Используя Soundflower, мы можем направить весь выводимый звук через сигнальный процессор, если источником является ваш компьютер!
Однако для того, чтобы создать наши собственные эмбиентные петли, нам нужно будет сделать еще один патч Max. Благодаря мощи MIDI, готовый патч будет эффективно служить новым MIDI-контроллером для вашей DAW, отправляя ноты прямо в него, позволяя вам использовать любой инструмент по вашему выбору или дизайну! В отличие от внешнего MIDI-контроллера, с мощностью max мы можем создать MIDI-контроллер, который может воспроизводить все сам по себе, что позволяет вам с легкостью модулировать его с помощью процессора сигналов.
Для создания уникальных нот мы будем использовать арпеджиатор для создания трезвучий, а позже мы рассмотрим, как составить алгоритм, который позволит арпеджиатору переключаться между аккордами.
Шаг 14: Получение нот для ввода в арпеджиатор
Прежде чем мы сможем собрать арпеджиатор, нам нужно иметь возможность генерировать аккорды для его последовательного прохождения. В MIDI каждой ноте на клавиатуре соответствует число, при этом средняя C - 60. К счастью, числа являются последовательными, поэтому, применяя некоторую теорию музыки, мы можем сгенерировать правильные интервалы, соответствующие различным сигнатурам клавиш.
Какие подписи ключей вы используете, зависит от вас, однако вы также можете следовать вместе с выбранными нами 4 ключевыми подписями. Позже мы добавим к этой части кода, чтобы позволить ему циклически перебирать ключевые сигнатуры самостоятельно, поэтому мы выбрали мажорные, минорные, мажорные 7-е и второстепенные 7-е, чтобы помочь сохранить тональность, когда программа циклически перебирает аккорды.
Что касается первого рисунка, основная часть этого раздела - это просто математика, которая соответствует интервалам этих клавиш. Начиная с самого левого поля с надписью «60», это корень. Всякий раз, когда корень изменяется, интервалы будут меняться соответственно в зависимости от текущего ключа. Например, если выбрана мажорная тональность, соответствующие интервалы равны 4 и 7. Затем они проходят через поля +0, которые добавят этот интервал к основному тону и предоставят вам 3 ноты для создания мажорного аккорда, начиная с любой рут!
Шаг 15: арпеджио этих аккордов
Код арпеджиатора см. На фотографии выше. Объект счетчика и прикрепленные к нему поля объектов 0, 1 и 2 позволят вам управлять направлением арпеджиатора от Up, Down и UpDown.
Как показано выше, генератор интервалов, который мы только что собрали, направляется в поля 'int', поэтому, когда работают поля счетчика и выбора, он будет проходить через аккорд из другого фрагмента кода. Затем он проходит через поля «makenote» и «noteout», чтобы наконец превратить эти MIDI-числа в звук!
Обратите внимание на объект «порт от Max 1», который подключен к блоку «noteout», поскольку именно он позволяет вам отправлять MIDI-информацию от Max в вашу DAW.
Объект «метро» определяет, сколько времени проходит между каждым интервалом в миллисекундах. У меня по умолчанию 500 мс, и если вы следуете приложенному коду, используя объект ползунка, вы можете настроить количество миллисекунд между каждым интервалом.
Шаг 16: "Перемешивание ключей"
На изображении выше показан фрагмент кода, который позволит программе автоматически циклически перебирать ключевые подписи, позволяя создавать спонтанные аккорды при выборе различных основных нот.
Объект «select» работает так же, как и объект в разделе арпеджиатора, однако вместо определенной последовательности мы используем поле «urn» для случайного переключения клавиш. Поле «urn» отличается от «random» тем, что оно не будет повторять число, пока не пройдёт весь диапазон, что, в свою очередь, обеспечивает равномерное распределение переходов между разными ключами.
Шаг 17: волшебство с помощью автономной генерации нот
Этот фрагмент кода позволяет этому патчу работать автономно. Если мы вернемся к генератору аккордов из начала этого раздела, изменение основного тона автоматически заполнит следующие интервалы, поэтому мы можем использовать это для создания уникальных последовательностей аккордов!
Ключевым элементом здесь является «itable» или большой квадрат с маленькими синими прямоугольниками внутри. Присоединив это к параметру metro из арпеджиатора (поле установлено на 500), мы можем контролировать точную точку в последовательности арпеджиатора, в которой изменяется аккорд. Поскольку арпеджиатор работает в наборах по 3, размер itable установлен на 12, чтобы учесть 4 цикла, а диапазон установлен на 2, где 2 означает «нет», а 1 - «да», независимо от того, не менять аккорд. С последовательностью в основном коде арпеджиатор будет последовательно переходить от одного трезвучия к другому, затем будет сгенерирован новый аккорд, который будет проходить через эту триаду и так далее.
«Случайные» поля определяют, как далеко новый корень от оригинала, в настоящее время я настроил его так, чтобы он мог увеличиваться или уменьшаться на половину октавы.
На полном изображении кода, видимом слева, поле числа 67 внизу прикреплено к окну корневого числа из генератора аккордов, поэтому любое число, в конечном итоге, будет сгенерировано из itable, и его присоединенный алгоритм перейдет к аккорду. генератор, а затем в арпеджиатор, где он сыграет только что выбранный аккорд. Поле с числами 67 над ним, переходящее в поле «+0», прикреплено к объекту фортепиано, изображенному выше, который также прикреплен к окну корневого числа от генератора аккордов. Это сделано для того, чтобы, когда алгоритм из этого фрагмента кода генерирует число, он также выбирается на фортепиано и запускает воспроизведение этой ноты.
В окончательном коде этот раздел появляется дважды, с той лишь разницей, что он является заголовком. Обратитесь к прилагаемой отдельно таблице, чтобы узнать, как сделать так, чтобы новый аккорд генерировался после того, как арпеджиатор повторит последовательность 4 раза.
Шаг 18: завершающие штрихи
Теперь у вас должен быть полностью рабочий самовоспроизводящийся арпеджиатор! Однако, если вы хотите добавить немного больше контроля, фрагмент кода, изображенный выше, позволит вам контролировать продолжительность проигрываемых нот, так что вы можете получить длинные вытянутые ноты, идеально подходящие для медленного, гудящего, окружающего цикла.
Также прикреплен объект «стоп», который особенно полезен, когда вы запускаете Max через DAW. В случае, когда у Max возникают проблемы с передачей MIDI-данных, вы можете отменить их и остановить, не закрывая полностью Max или DAW.
Шаг 19: Завершение всего
Теперь программа функционально завершена, осталось организовать все в режиме презентации. Не существует одного конца, который мог бы решить эту проблему, все полностью зависит от того, что вы хотите контролировать с поверхностного уровня.
Мой выбор охватывает самое главное из всего, что я хочу легко модулировать, поэтому вы можете добавлять или убирать из него по своему усмотрению.
Все, что осталось сделать, это ознакомиться с этими двумя патчами и начать сочинять музыку!
Наслаждаться!
Рекомендуемые:
La Chaise Longue Interactive Avec Arduino Et Max / MSP: 5 шагов
La Chaise Longue Interactive Avec Arduino Et Max / MSP .: L'idée est de créer une chaise longue interactive: un utilisateur qui s'assoit dans le transat déclenche une ambiance sonore et visuelle lui rappelant la mer, la plage … Nous utilisons donc un capteur de luminosité (placé sous le transat) reliés à
Диорама водяного цикла Arduino: 8 шагов (с изображениями)
Диорама водяного цикла Arduino: мы будем делать диораму, представляющую круговорот воды, используя Arduino и некоторые двигатели, чтобы добавить движение и освещение. Это похоже на школу - потому что это на самом деле школьный проект! Сценарий презентации следующий: Солнце встает утром [Одна порция
Мини-светодиодный мигающий индикатор для цикла: 7 шагов
Мини-светодиодный мигающий индикатор для цикла: это руководство поможет вам сделать свой собственный крошечный карманный светодиодный мигающий индикатор, который мигает светодиодом с желаемой скоростью. Вы можете использовать его как декоративное освещение для своего цикла, что, кстати, было основной причиной, по которой я сделал этот мигалка
USB48G - сломанная клавиатура Hp48 на время цикла: 7 шагов
USB48G - Upcycle Broken Hp48 Keyboard: управляемый проект upcycle для сломанного hp48. Повторно используйте клавиатуру и заставьте ее работать как стандартная USB-клавиатура. Протестировано: проверьте youtube: на видео показана клавиатура, подключенная под Windows 10 под управлением EMU48 +
Сделайте размер и создайте генератор резервного питания от батареи с батареями глубокого цикла 12 В: 5 шагов (с изображениями)
Сделайте размер и создайте генератор резервного питания от батарей с батареями глубокого цикла на 12 В: *** ПРИМЕЧАНИЕ. Будьте осторожны при работе с батареями и электричеством. Не замыкайте батареи. Используйте изолированные инструменты. Соблюдайте все правила безопасности при работе с электричеством. *** Будьте готовы к тому, что в следующий раз отключится электричество из-за разряда резервной батареи