Как сделать тон Шепарда, сформировать амплитудно-частотную характеристику в Reaktor

Вот видео , демонстрирующее объединение Pitch LFO и Amplitude LFO в ансамбле Reaktor Form для создания «бесконечно восходящего» глиссандо в Reaktor.

Я хотел бы иметь возможность играть гамму или мелодический пассаж тонов Шепарда , который делает это, и я предполагаю, что один из способов сделать это - пропустить выход Osc через фильтр или эквалайзер, который ослабил бы частоты выше и ниже центральной полосы пропускания. по определенной или заданной кривой.

Я пытался использовать Peak EQ, а также пару модулей Shaper BP, но почти заблудился в лесу.

Общий синтезаторный патч OSC

Я даже на правильном пути? Часто, когда я играю с ручками управления на эквалайзере или формирователе, синтезатор издает звук щелчка, и его необходимо перезапустить, чтобы снова сгенерировать тон.

Сюда будет включена панель, которая может дать некоторое представление о диапазонах значений, предоставляемых автоматически сгенерированными элементами управления:

передняя панель синтезатора Reaktor

ОБНОВЛЯТЬ:

Вчера вечером понял, что мой первоначальный подход совершенно неверен. Эквалайзер или фильтрация воздействуют на весь частотный спектр и в основном просто удаляют верхние частоты. Нам нужно вставить некоторую логику, которая влияет на вход амплитуды осциллятора.

Я предполагаю, что это будет какая-то математика между вводом высоты тона и константой (1), показанной ниже.

ОБНОВЛЕНИЕ 2

Теперь моя идея состоит в том, чтобы разработать некий алгоритм, с помощью которого все высоты тона выше и ниже определенной средней точки октавы — тритона — (например, F#-66 для октавы C-60) экспоненциально (или, возможно, логарифмически) затухают. Мой первый шаг в этом направлении — просто жестко закодировать другой уровень амплитуды для всех тонов ниже 66:

Базовая амплитуда по номеру ноты

Итак, я хочу, чтобы нота 66(например) была Amplitude 1, 65была бы (может быть 0.9), 64была бы и 0.8т. д. и то же самое, где 67, 68будет и т. д. Но я думаю, что в конечном итоге я хотел бы иметь возможность управлять этой кривой амплитуды с помощью одной или двух ручек, поскольку желаемые кривые могут меняться в зависимости от тембра звука.0.90.8

Мне также интересно, имеет ли смысл автоматически генерировать высокие и низкие октавы и нужно играть только среднюю октаву гаммы (или мелодический эквивалент).

ОБНОВЛЕНИЕ 3

Вполне возможно, что я неправильно понимаю, как должны работать "Shepard Tones". Я все еще работаю над реализацией версии ответа @YourUncleBob.

Кажется, что «его» подход состоит в том, чтобы послать звук через фильтр, который создает иллюзию, основанную на октавной эквивалентности, которая поддерживает иллюзию «бесконечно восходящей или нисходящей».

То, что я думал сделать, опять же, это создать кривую затухания амплитуды, которая ослабляет громкость каждой «ноты» (ввода с клавиатуры) по мере того, как она удаляется от центрального тона.

Затем, пока «мелодия» воспроизводится в нескольких октавах параллельно, иллюзия должна работать.

Я делаю некоторые успехи. Что я сделал до сих пор:

  • Вычтите ввод высоты тона из центрального тона
  • Запустите остаток через Rectifier(математику), чтобы отрицательные значения были положительными.
  • Сравните Rectified Remainder с 0, и если он равен 0, отправьте a 1в Amplitude, в противном случае сделайте из него дробь, так как Amplitudeищет число от 0до 1. Таким образом, большие числа становятся меньшими суммами (т.е. 2=> 1/2, 3=> 1/3и т. д.)
  • Я немного изменяю кривую, умножая делитель (высота минус остаток центрального тона) на, 2чтобы дроби были меньше, а также используя 0.8вместо 1центрального тона.

Очередная попытка Reaktor Shapard Player

Я показываю некоторые из чисел:

Приборная доска

Затем я прохожу сложный процесс создания контента в DAW:

Вход DAW Больше ввода DAW

Это круто, когда есть над чем еще поработать:

  1. Ноты периодически «щелкают» в начале
  2. Я хотел бы иметь логарифмическую кривую затухания, где она затухает тем быстрее, чем дальше от центральной высоты тона.
  3. Высокие частоты нужно ослаблять более агрессивно, чем низкие.
  4. Должен ли я на самом деле playили programвсе эти параллельные октавы? Похоже, что прибор должен быть в состоянии генерировать полный спектр по умолчанию.

При этом процесс доставляет удовольствие.

Если вам нужна постоянно меняющаяся фильтрация, вы можете заглянуть в гребенчатые фильтры. Вот как они звучат: youtu.be/w0NQwQuSMFk?t=193 и как их построить в Reaktor: adsrsounds.com/reaktor-tutorials/… В противном случае вам придется создать банк фильтров с несколькими пиковыми эквалайзерами и иметь их частоту и громкость. модулируется LFO или огибающими, как описано в видео, на которое вы ссылаетесь.
Спасибо. Я только что обновил OP, думая, что на самом деле, вероятно, амплитуда, поступающая в Osc, должна быть ослаблена на основе ввода высоты тона. Я полностью проверю гребенчатые фильтры, но ошибаюсь ли я в своем новом мышлении?
Вы хотите сыграть мелодию (или любой другой звук или запись), а затем пропустить ее через фильтр, подобный Шепарду, или вы хотите сыграть постоянно возрастающую гамму? Я получаю полезные результаты с банком пиковых эквалайзеров в стиле Шепарда, но я не уверен, что вам нужно.
@YourUncleBob Я хочу сыграть постоянно возрастающую «гамму», надеюсь, это сработает с мелодией с небольшим интервалом.

Ответы (2)

Самый гибкий способ получить параметр, значение которого зависит от того, какую ноту вы играете, — это использовать таблицу событий. Таким образом, вы можете установить определенное значение для каждой MIDI-ноты (например, для громкости или фильтра следования тональности или для создания альтернативных настроек). Вот простой пример:

клавиша Foolower (таблица) панель

Создав одномерную таблицу длиной 128, которая содержит значения от 0 до 1, вы можете установить громкость каждой клавиши отдельно. Если вы сделаете таблицу видимой на панели (на панели «вид») и установите для нее режим рисования (удерживая клавишу «strl»/щелчок правой кнопкой мыши по таблице на панели), вы можете использовать мышь для рисования значений.

Структура Key Follower (таблица)

Добавив Event Voice Combiner, вы можете получить последнюю сыгранную ноту, чтобы установить позицию записи, а также использовать ползунок Value, чтобы установить ее значение. После того, как все значения будут установлены, вы можете снова сделать таблицу невидимой. Его значения могут быть сохранены и автоматически загружены вместе с прибором.

Вы, конечно, можете использовать меньшую таблицу и, например, иметь значение на октаву или интерполировать между соседними значениями.


Если вам не нужна детализация решения с таблицами, вы можете просто перемасштабировать вход MIDI-ноты в диапазоне 0 ~ 1, а затем отправить его через Control Shaper и установить выходные значения для входа 0, 0,25, 0,5, 0,75. и 1 для создания желаемой кривой.

Структура Key Follower (шейпер)

Вы также можете использовать Control Shaper для решения с переменной центральной точкой и шириной. Ручка центральной точки устанавливает номер ноты (0 ~ 127), для которого выходное значение будет равно 1, а ручка ширины устанавливает расстояние (1 ~ 127) от центральной ноты до ноты, для которой выходное значение будет равно 0. выходное значение будет линейно интерполировано между значением 1 и 0 для нот в пределах диапазона и равно 0 для нот вне диапазона.

Структура Key Follower (формирователь с переменным центром и шириной)

Вы можете изменить интерполяцию выходных значений с линейной на кривую с более широким или более узким пиком вокруг центральной точки, например, используя квадрат значений или его инверсию (это работает, потому что диапазон составляет 0 ~ 1). Три параметра отправляются в модуль Selector (в режиме линейной интерполяции), чтобы ручка со значениями 0 ~ 2 могла выбрать желаемую кривую.

Структура Key Follower (формирователь с переменной кривой)

Использование метода таблицы событий с размером шага, установленным на 0.00001( 1E-05), позволяет получить довольно красивую кривую в тишине. Что-то меня смущает, так это то, что выходные значения из таблицы событий находятся между 0и около 2.6. Я ожидал значений между 0и 1с тех пор, как установлен диапазон значений.
@MikeiLL Вводили ли вы значения в таблицу уже до того, как установили диапазон от 0 до 1? Существующие значения не обрезаются и не масштабируются при изменении диапазона значений. Новые введенные значения всегда обрезаются до диапазона. (по крайней мере они есть в версии 4)
Не уверен, что имел, но я заметил, что верхний диапазон значений таблицы на самом деле соответствует количеству Голосов Унисона, которое было 4. Если у меня установлены Max Unison и Voice 10и установлен диапазон значений таблицы, 0.1я получаю диапазон от 0до 1.
@MikeiLL Я никогда не задумывался о влиянии унисона на модули таблицы. Они представляют собой странную смесь монофонического (сами данные) и полифонического (чтение и письмо). Если голоса в унисон действительно складываются в значения таблицы, это действительно очень странно; Не представляю, при каких обстоятельствах это было бы логично. Если четыре голоса записывают в таблицу значение 1, вы ожидаете, что значение по-прежнему будет 1, а не 4.

Если вы хотите иметь возможность играть мелодию при использовании Shepard Tones, самый простой способ, вероятно, состоит в том, чтобы использовать простой синтезаторный звук с большим количеством гармоник, например нефильтрованную пилообразную волну, и пропустить его через банк полосовых фильтров с постоянным переключение частот.

Вот инструмент, который использует переменное количество полосовых фильтров, настроенных на октаву друг от друга. Полифония инструмента задает количество фильтров. Частота каждого фильтра медленно смещается вверх, а его выходной уровень соответствует синусоидальной волне, так что различные фильтры появляются и исчезают.

Фильтр Шепарда — структура

Генератор рампы управляет частотой фильтра, а синусоида, основанная на его выходе, управляет громкостью голоса. Установите режим осциллятора на стандартный, чтобы он возвращался от своего максимального значения к нулю без какого-либо сглаживания (которое может вызвать сбои в синусоидальной волне). В каждом голосе смещение фазы добавляется к выходу монофонического линейного генератора и, таким образом, к синусоидальной волне, так что фильтры настраиваются на октавы друг от друга, а их громкость поочередно увеличивается и уменьшается.

Фильтр Шепарда - панель

Элементы управления панели имеют следующие диапазоны:

  • Регулятор скорости: от -127 до -0, 127 шагов
  • Частота: от 0 до 127 с шагом 127
  • Резонанс: от 0,872 до 0,999 с шагом 127 по 0,001.
  • Глубина: от 24 до 87,5 с шагом 127 по 0,5
  • Уровень: от -24 до 39,5 с шагом 127 по 0,5.
  • Индикатор голосов: от 1 до 128 с шагом 127, непрерывный режим, значение видно, изображение не видно
  • Лампа 11 кГц: от 127 до 1000, непрерывный режим отключен

Настройки на изображении выше дают хорошее представление о том, что он может делать. Это похоже на фильтр гласных или фазер, но с непрерывным восходящим движением. Регулятор частоты устанавливает самую низкую частоту развертки фильтра, количество фильтров (т. е. полифония) определяет, насколько высоко будет проходить развертка фильтра, добавляя одну октаву на голос.

Я обнаружил, что частота PeakEQ и полосовых фильтров в Reaktor 4 ограничена номером ноты 127, что составляет около 11 кГц. Когда вы увеличиваете полифонию или ручку частоты, индикатор 11 кГц предупреждает вас, если верхний диапазон развертки фильтра достигает 11 кГц. Вы можете использовать более высокие настройки, но звук может иметь постоянное усиление около 11 кГц.

Крошечная структура синтезатора

Это основной синтезатор, который я использую в качестве источника звука. Это отдельный инструмент, и вы можете самостоятельно настроить полифонию. Конечно, вы можете пропустить выход любого инструмента Reaktor через фильтр Шепарда. Низкие аккорды, сыгранные с яркими синтезаторными звуками, будут работать лучше всего.

Итак, это inпорт, входящий в , Peak EQи outпорт, выходящий из Mixer, верно? Должен ли он Shepard Filterбыть однотонным? В Reaktor 5 синусоидальный осциллятор также имеет pвход для «логарифмического управления высотой звука». В настоящее время я установил его на константу 60. Является ли -1модуль inverter( -xв R5)? Какая информация отображается Voices lamp, сколько голосов сейчас генерируется?
Да, это инструмент сам по себе, с аудио входом и выходом. Инструмент полифонический (но некоторые модули, отмеченные оранжевым цветом, например, микшер, монофонические); количество голосов задает количество фильтров (отображается лампочкой). Это не синусоидальный осциллятор, а математическая функция синуса. -1 действительно инвертор.
Все еще интересно, что Voicesлампа должна отображать. Моя только читает 127. Я правильно понимаю, что для подачи аудиосигнала в input? Потребуются ли мне три или более октав, если я хочу создать «шкалу Шепарда»?
Лампа должна отображать полифонию фильтра Шепарда, т.е. количество фильтров, настроенных на октавы друг от друга. Я работаю над улучшенной версией, только с одним линейным генератором и некоторыми исправлениями ошибок. Да, для этого требуется аудиовход; подойдет любой яркий синтезаторный звук.
модуль Voices Info, который я нашел в R5, имеет minи maxвход. У меня они установлены на 1и 12. Но лампа, насколько я могу судить, не работает. У меня установлены значения minи и , но я не вижу поля для . max1128steps
Насколько я понимаю, входы Voice Info управляют не полифонией, а количеством голосов на клавишу при использовании функции унисона; вам, вероятно, не следует ничего присоединять к входам. Вы установили лампу в непрерывный режим?
Да, это в непрерывном режиме. Я убрал входы. Еще застрял 128. Не совсем уверен, что можно сделать на клавиатуре, чтобы создать шкалу Шепарда. Также я снова обновил OP, сделав еще один шаг к более примитивному подходу, основанному на шаге.
А полифония инструмента настроена не на 128? Кстати, я думаю, что мы строим две совершенно разные вещи, но мне нравится фильтр, поэтому я продолжаю :-)
Было установлено, как, 10. Теперь я установил Voicesпараметр 128для Shepard Filter, Basic Synthа также для Ensemble. Затем Shepard Filter's Voicesустанавливается равным единице 128чтения Voices Lamp, а меньшее — 128. Что вы подразумеваете под «количеством фильтров, настроенных на октавы друг от друга»? Где бы я изменил этот номер? Я думаю, что если я нажму 3клавиши, номер будет отображаться 3для 3голосов. Мне тоже нравится то, что вы строите, и я думаю, что это также отвечает на исходный вопрос.
Инструмент фильтра не слушает никаких клавиш. Вы устанавливаете полифонию на необходимое количество полос частот фильтров, и тогда они всегда включены. Лампа — лишь напоминание о том, на какую полифонию настроен инструмент. Настройки от 1 до 12 дадут вам различные эффекты. Больше 12 голосов не имеет особого смысла, потому что развертка фильтра ушла бы на неслышно высокие частоты. (Кстати, я обновил свой ответ)