Введение

Со времен Пифагора человечество задумывается о приобретении навыков общения с интеллектом высшего сознания. Что если этот интеллект является нерукотворным и объясняется одним математическим принципом, который древние назвали прогрессией, а мы, в свою очередь, вывели другие ее закономерности? И только теперь, во времена микропроцессоров и компьютеров, мы можем реализовать задуманный нами инструмент. Он отвечает на все поставленные нами вопросы:

  1. Может ли человек быть освобожден от бремени труда?
  2. Может ли искусственный интеллект быть настолько же разнообразным, как и человеческое сознание?
  3. Соответствует ли нерукотворное творение эстетике нашего восприятия?

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

Основная формула в ее простейшем виде выглядит так:

Функция для положительных полос

Далее я приведу и другие формулы, но основную указываю сейчас для последующих размышлений.

Формула — не что иное, как функция, обратная той, что получается при построении линейной функции, поэтому и весь метод я назвал нелинейной трансформацией, или обратным моделированием действительной картины мира. График функции – гипербола.

Теперь немного информации о частотной модуляции.

Частотная модуляция характеризуется тремя параметрами, такими как центральная частота, частота модуляции и индекс модуляции. Эти три параметра описывают волновое явление с компрессией и расширением звуковой волны во временном представлении. При простой частотной модуляции двумя источниками синусоид (в последующем я буду называть их осцилляторами — по имени технического приспособления для генерации тона) возникает количество гармоник k, рассчитываемых по формуле:

k гармоник

Где k – количество гармоник, I – индекс модуляции.

Эти гармоники я рассматриваю в качестве отдельных частотных полос при их фильтрации полосопропускным фильтром 4-го порядка. В указанной модели я использую каскад из двух фильтров Баттерворта 2-го порядка.

Фильтр Баттерворта 2-го порядка

Рис. 1 – Полосопропускной фильтр Баттерворта 2-го порядка

Таким образом, характеристика фильтра становится 24dB на октаву и характеризуется спадом по 12dB на октаву с каждой стороны от частоты среза фильтра и полосой пропускания до спада на 3dB,  равной 3/4 от частоты модуляции. Фильтр имитируется с помощью билинейной трансформации и является рекурсивным. Математически его можно представить так:

Формула рекурсивного фильтра

При частотной модуляции образуются как положительные, так и отрицательные гармоники. Они отображаются по одноименной функции Бесселя символами Функция Бесселя первого порядка и являются функциями Бесселя 1-го порядка. Число отрицательных гармоник равно числу положительных и рассчитывается по формуле, приведенной выше. Соответственно отрицательные гармоники подразделяются на четные и нечетные. Разница заключается в том, что нечетные гармоники обладают амплитудой, умноженной на -1, а четные имеют обычный ход во времени.

Основная часть

Представим стандартную музыкальную ритмическую решетку как четыре плоскости Декартовой системы координат с описанным в центре кругом, отображающим тригонометрическую константу синусоиды. Тогда каждую из гармоник можно отобразить на этом круге, сравнив ее с центральной частотой, которая является числом π и представить их на спирали, проходящей по граням усеченного конуса, с диаметром каждого витка, равного 1024 Hz. Значения гармоник для разных отношений частоты модуляции к центральной частоте, которые определяются единым параметром мультипликатора b, соответствуют разным спинам спирали, что объясняется расширением и сужением значений искомой функции. Тогда, взяв за девиацию окно Быстрого Преобразования Фурье, и представив ее в Hz, получаю, что каждая гармоника на спектре выстраивается в ряд, равный для положительных частот:

Функция для положительных полос

Для отрицательных нечетных частот:

Формула рекурсивного фильтра

Для отрицательных четных частот:

Функция для отрицательных четных полос

N — окно Быстрого Преобразования Фурье

b — отношение частоты модуляции к центральной частоте

Соответственно графики этих функций для мультипликатора b = 3 будут выглядеть так:

График функции положительных частотных полос

Рис. 2 – Функция для положительных полос пропускания

График функции отрицательных четных частотных полос

Рис. 3 – Функция для отрицательных четных полос пропускания

График функции отрицательных нечетных полос

Рис. 4 – Функция для отрицательных нечетных полос пропускания

Девиация составляет 1024 Hz, что соответствует 1024 сэмплам окна Быстрого Преобразования Фурье. Но поскольку из графика на Рис. 3 следует, что отрицательные четные полосы соответствуют второй половине периода, то амплитуды четных гармоник будут отрицательными, а амплитуды нечетных гармоник положительными. Такой поворот возможен только при оборачивании отрицательных частот вокруг нуля. Для этого я выбираю низкую центральную частоту, которая варьируется в пределах от 37.9259 Hz до 73.8817 Hz при сохранении девиации неизменной и равной 1024 Hz.

Девиация в частотной модуляции определяется по формуле:

Формула девиации

Поскольку в конкретном случае гармоники оборачиваются вокруг нуля, то девиация равна 1024 Hz. Отсюда следует, что окно Быстрого Преобразования Фурье равно 1024 сэмплам.

Центральная частота периодического сигнала при Быстром Преобразовании Фурье определяется по формуле:

Центральная частота Быстрой Трансформации Фурье

Быстрое Преобразование Фурье подразделяет спектр на k каналов, которые находятся в промежутке от Промежуток действительных полос БПФ. Канал Канал на частоте Найквиста приходится на частоту Найквиста, которая характеризует верхний предел оцифрованной звуковой информации. Программа «Композитор» позволяет выполнить синхронный анализ при Быстром Преобразовании Фурье в значении мультипликатора b = 2, но для этого частота сэмплирования сигнала должна быть 58254.2336 Hz. Это приводит нас к проблеме нерегулярной частоты дискретизации сигнала.

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

Частота модуляции остается неизменной и равняется 113.778 Hz при I = 9, изменяется только отношение частоты модуляции к центральной частоте, что я и назвал мультипликатором b.

Всю метрическую систему можно представить в виде круглой линейки, где внутренняя окружность соответствует радианам, а внешняя имеет градации частоты и значений мультипликатора. Тогда для соответствия значений мультипликатора и частотных полос необходимо всю метрическую систему выстроить в спираль, где широкий виток соответствует значениям частот и фаз при мультипликаторе b = 1.54, а самый узкий виток спирали соответствует значению фаз и частот при b = 3. Соответственно временные характеристики алгоритмической композиции меняются с изменением мультипликатора. Это дает нам k гармоник, при последовательном воспроизведении частот, которые находятся по формуле Формула частоты гармоник при частотной модуляции, каждой из которых соответствует свое значение фазы, выраженное во временных отрезках окна Быстрого Преобразования Фурье или в радианах, но для удобства программирования я использую именно цифровые отсчеты звуковой волны (сэмплы). Каждая из гармоник, отфильтрованная из общего тона частотной модуляции, характеризуется полосой пропускания, которую я установил ранее равной 3/4 от частоты модуляции. Значение это выбрано неслучайно и соответствует полосе пропускания Полоса пропускания. Такая полоса пропускания выбирается из расчета мультипликатора b = 2. В этом случае обернутые вокруг нуля отрицательные гармоники совпадают с положительными и для полосопропускного фильтра, чтобы он не затрагивал следующую гармонику, выбирается полоса пропускания Полоса пропускания одного фильтра, а поскольку у нас каскад из двух фильтров, то эффективная полоса пропускания будет умножена на 1.5, что соответствует точке спада -3dB по обе стороны фильтра. Полоса пропускания в таком случае равна 85.3333 Hz и осуществляет выборку гармоники, на которую в данный момент настроен фильтр по формуле Формула частоты гармоник при частотной модуляции, то есть звучащую в данный момент дополнительную полосу при частотной модуляции. Такой подход обеспечивает некоторую нелинейность в воспроизведении гармоник, и для идеальной реализации автогенеративной композиции нам потребуется полосопропускной фильтр Бесселя 4-го порядка. Хотя машина функционирует и в таком виде с каскадом из двух полосопропускных фильтров Баттерворта 2-го порядка.

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

Из bpm в Формула конвертации из ударов в минуту в угловую скорость, где θ – количество ударов в минуту.

Из ms в Формула конвертации периода в миллисекундах в угловую скорость

Из ω в bpm Формула конвертации из угловой скорости в удары в минуту

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

Отрезок интервала [a, b]  – это конечная секвенция значений Значения, таких как:

Отрезок интервала [a, b]

Верхняя сумма интеграла Дарбу выражается:

Верхняя сумма интеграла Дарбу

Нижняя сумма интеграла Дарбу:

Нижняя сумма интеграла Дарбу

Верхний интеграл Дарбу:

Верхний интеграл Дарбу

Нижний интеграл Дарбу:

Нижний интеграл Дарбу

Этот отрезок заключается в огибающую Гельмгольца, которая в отличие от общепринятой ныне ADSR (атака, спад, удержание, затухание) содержит только фазу нарастания сигнала, удержания и спад. Это позволяет при синхронном анализе Быстрого Преобразования Фурье найти точное искомое значение без включения дополнительных каналов.

Следующим в сигнальном тракте следует модуль разделителей сигнала на два потока и здесь важно отметить, что для верхних гармоник частотного диапазона применяется нелинейная трансформация волновой деформации сигнала, а для нижних гармоник спектра применяется физическое моделирование волновода, что разделяет характер исполняемых гармоник на два тембра: один имитирует высокие медные духовые, другой — низкое органное звучание. Что характерно, данная модель имеет подтверждение в мире физики – этим я хотел показать реальное физическое явление перемещения сигнала в пространстве. Тем самым, параметры для волновода выбираются исходя из двух сред: скорости звука в воде и скорости звука в воздухе. После случайной выборки одного из двух вариантов (воды или воздуха) по линейной дистрибуции, при помощи кривой Гаусса, выбираются остальные параметры физического моделирования в заданных пределах значений. Характерно отметить, что волновод используется двухколенчатый с разными диаметрами коленьев. При использовании бОльших коленьев звук был бы более размытым и в сочетании с отфильтрованным сигналом частотной модуляции дал бы еще более трубный оттенок.

Волновая деформация, напротив, трансформирует исходную гармонику в новый спектр. Согласно полиномам Чебышева мной были рассчитаны функции передачи для различных спектров с четными и нечетными гармониками. В режиме автоматизации программа «Композитор» также выбирает одну из функций передачи по Гауссовой дистрибуции.

Мастер генератор, период которого равен периоду окна Быстрого Преобразования Фурье, синхронизирует волновые таблицы, которые воспроизводят значения трех представленных функций, а также три синусоидальных сигнала, пересечение нулевой отметки которых инициирует звучание инструментов ритм секции бочки, малого барабана (хлопка) и хэта. Центральная частота соответствует бочке, характерной для современных течений танцевальной музыки, которая имитируется при помощи огибающей на параметре индекса модуляции исходного сигнала частотной модуляции. Пересечение синусоиды нулевой отметки, инициирующей бочку, может приходиться как на 0 и π при одном периоде за окно, так и на 0, π/2, π, 3π/2 при двух периодах за окно. Инструменты ритм секции (малый барабан и хэт), а также сигнал с мастер генератора в значениях от 0 до 2π представляют углы Эйлера. Для малого барабана, значения пересечения синусоиды которого приходятся на π/2 и 3π/2, к значению фазы прибавляется x = 90°. Так как фаза атаки транзиента бочки должна совпадать со временем появления пятой гармоники, которая, как видно из Рис. 2, смещена относительно начала периода окна, следовательно фаза центральной частоты смещается вместе с фазой хлопка и изменяется в пределах от 74° до 89° при четырех пересечениях нулевой амплитуды синусоиды, контролирующей инициирование бочки, а при двух пересечениях синусоиды нулевой отметки фаза хлопка имеет значения от 50° до 71°. Фазы хэта имеют следующие значения:

0.0625 – 0.125

0.25

0.3125

0.125

Kick x2 On

x

x

Kick x2 Off

x

x

Hat x2 On

x

x

Hat x2 Off

x

x

Фазы даны в нормализованных значения от 0 до 1, что соответствует следующей таблице:

Фаза
Градусы Радианы

Нормализованные

0

0

45° π/4

0.125

90° π/2

0.25

135° 3π/4

0.375

180° π

0.5

225° 5π/4

0.625

270° 3π/2

0.75

315° 7π/4

0.875

360°

1

Данный угол инструмента хэта устанавливает значение угла Эйлера по оси z, равное значению в таблице. Значение угла Эйлера по оси y устанавливает мастер генератор синхронного сигнала, который варьируется от 0 до 2π. Таким образом, я получаю три значения, и для достижения компьютерной анимации вращения я трансформирую данные углы по x, y и z в кватернион, который состоит из реальной (скалярной) части и x, y, z в качестве воображаемой части. Отображая данный процесс графически при помощи кольца, я получаю вращение вокруг своей оси, которое соответствует одному из трех типов:

Отклонение влево и вправо от оси

Вокруг оси

Сильная девиация влево и вправо

Kick x2 On

x

x

Kick x2 Off

x

x

Hat x2 On

x

x

Hat x2 Off

x

Время атаки транзиента бочки варьируется от 0.39 до 0.45 в нормализованных значениях фазы. Соответственно вся система остается стабильной при изменении мультипликатора b, но значения функции расширяются и сужаются, тем самым, я совмещаю экспоненциальную функцию и стандартную решетку, выраженную по базе 8. Такой подход гарантирует совпадения определенных фаз частотных полос при мультипликаторе b = 3 с решеткой по базе 8 в следующих значениях:

Положительные полосы — 5-я гармоника на π/8, 1-я гармоника на π/2.

Отрицательные нечетные полосы — 3-я гармоника на π/4, 1-я гармоника на π.

И только четные отрицательные полосы не совпадают с решеткой по базе 8.

Это свойство характеризует исходные параметры системы, так что начинать алгоритмическую композицию и заканчивать ее рекомендуется с мультипликатора b = 3.

Помимо всего прочего существует вероятность рассмотрения ряда гармоник в качестве арифметической прогрессии, но это противоречит правилу Карсона, которое постулирует достаточное количество гармоник в спектре, равное I + 1. А девиация в частотной модуляции вычисляется по формуле, как я упоминал выше, Формула девиации, что дает спектр меньший, нежели согласно правилу Карсона. В случае рассмотрения как частотной модуляции я получаю (при девиации 1024 Hz и b = 3) спектр с высшей гармоникой, равной 1175.7 Hz, а при рассмотрении в качестве прогрессии высшая гармоника приходится на 1058.13 Hz, что при частоте модуляции 102.4 Hz как раз и соответствует искомому спектру в 1024 Hz (если вести отсчет от Fc = 34.133 Hz). Однако я не проводил измерений спектра для данной цели и, опираясь на исследования Джона Карсона, могу сказать, что данный гармонический ряд в финальной версии «Композитора» является правильным.

Следующими аспектами являются свойства слуха и статистические свойства системы. Если взять за абстракцию, что сигнал непрерывен и существует сколь угодно бесконечное время, то применимо Быстрое Преобразование Фурье. Весь ряд напоминает секвенцию – повторяющийся мелодический рисунок. При прослушивании окно повторяется вновь и вновь и теоретически может исполняться бесконечно. Зависит это, в основном, от бесперебойного электропитания и срока службы электротехники.

Временной отрезок окна разделен на отрезки по правилу интеграла Дарбу. Они являются гранулами, что постулируется гранулярной теорией Габора. В «Композиторе» для наглядной демонстрации гранулярного синтеза есть модуль, который воспроизводит гранулы, совмещая их с решеткой округления функции по базе 8.

Производная для положительных частот:

Производная для положительных частот

Где q – решетка квантования.

Производная для отрицательных нечетных частот:

Производная для отрицательных нечетных частот

Производная для отрицательных четных частот:

Производная для отрицательных четных частот

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

Время округления для положительных полос

 Для отрицательных нечетных частотных полос:

Время округления отрицательных нечетных полос

Для отрицательных четных частотных полос:

Время округления отрицательных четных полос

Модуль я беру потому, что экспоненциальная функция как опережает округленные значения, так и идет после них. Для того, чтобы не было отрицательных значений времени, необходимо брать абсолютное значение числа. Получается, что некоторые гранулы воспроизводятся как вперед, так и назад.

Для сохранения общей характеристики спектра сигнала, согласно нелинейности нашего слуха, а именно экспоненциальному восприятию базилярной мембраны, я выбираю спектр результирующего сигнала в форме колокола, что соответствует характеристике полосопропускного pole-zero фильтра 2-го порядка. Задается такая характеристика при помощи автоматизации параметров микширования на цифровой консоли, используя значения частоты, приведенное в заданных параметрах значений фэйдера.

Существует сигнал сколь угодно долгое время, от этого зависит возможность Быстрого Преобразования Фурье.

Заключение

Данная модель применима для создания навигационных систем как для контроля беспилотных летательных аппаратов (БПЛА), так и для контроля беспилотных подводных аппаратов (БППА). Навигационные системы будущего будут учитывать тот тип построения информации, который задает временной интеграл усреднения экспоненциальной решетки к квантованной. От этого зависит принципиальный характер изучения, проведенного мной в данной статье. Важно понимать, что тенденции, рассмотренные в современном искусстве, уже сейчас дают ответ на построение будущности общественного процесса.

Руслан М. Юсипов Основатель НПО «Композитор»