Этот репозиторий представляет собой коллекцию плагинов аудиоэффектов, реализованных на основе объяснений в книге Джошуа Д. Рейсса и Эндрю П. Макферсона «Аудиоэффекты: теория, реализация и применение» , и в качестве примера взят код, предоставленный вместе с книгой, в котором есть материалы. и реализации Брехта Де Мана и других.
Реализованные звуковые эффекты:
Шаблон Time Domain реализует универсальный графический интерфейс пользователя с линейными и логарифмическими ползунками, переключателями и полями со списком. В этом проекте представлен пользовательский класс аудиопараметров, который объединяет в себе большую сложность добавления, настройки и использования автоматизированных параметров плагина как в аудиопроцессоре, так и в универсальном редакторе (GUI). Этот плагин не применяет к входным данным какой-либо особенно интересной обработки, это просто проект-шаблон для эффектов обработки звука во временной области.
Частотная область шаблона реализует класс кратковременного преобразования Фурье. Этот плагин не применяет никакой обработки к входным данным, он просто преобразует входной блок в частотную область и обратно во временную область, используя метод перекрытия-добавления. Этот плагин используется в качестве шаблона проекта для эффектов обработки звука в частотной области.
Delay реализует базовую задержку с обратной связью и элементами управления микшированием, используя круговую линию задержки. Он использует простую линейную интерполяцию для достижения дробного времени задержки.
Вибрато использует низкочастотный генератор (LFO) для модуляции задержки входного сигнала и имитации периодических изменений высоты тона. В этом плагине представлены различные типы интерполяции выборки.
Flanger имитирует звуковой эффект на основе задержки, при котором копия входного сигнала задерживается с переменным временем задержки и смешивается с исходным звуком, создавая таким образом характерный «свистящий» звук этого классического звукового эффекта.
Хорус имитирует явление, которое возникает, когда разные музыканты исполняют одно и то же произведение одновременно, т. е. он создает копии входного сигнала с небольшими изменениями по высоте и времени, создавая звук из одного источника, как если бы это было множество отдельных записей.
Ping-Pong Delay — это стереоверсия базовой задержки. При пинг-понговой задержке задержанный сигнал перемещается между левым и правым каналами.
Параметрический эквалайзер реализует различные типы параметрических фильтров (низкочастотный, высокочастотный, низкочастотный, высокочастотный, полосовой, полосовой и пиковый/режимный). Фильтры первого и второго порядка можно выбирать и регулировать в соответствии с частотой среза, добротностью (полосой пропускания) и усилением.
Вау-вау — это звуковой эффект, который придает входному звуку характер речи. Его можно использовать в ручном режиме, когда частота среза резонансного фильтра нижних частот, полосового или пикового/режимного фильтра изменяется с помощью ползунка, или в автоматическом режиме, когда частота среза Фильтр управляется с помощью LFO, огибающей входного сигнала или их комбинации.
Phaser использует всепроходные фильтры в каскадной конфигурации для внесения фазовых сдвигов во входной сигнал. Эти сдвиги создают провалы в частотном спектре, когда отфильтрованный сигнал смешивается с исходным. Фазер производит эффект, аналогичный флэнджеру, но потенциально имеет больший контроль над расположением вырезов.
Тремоло использует LFO для модуляции амплитуды входного сигнала. Это имитирует небольшие изменения уровня сигнала или превращает одну продолжительную ноту в серию быстрых повторений.
Кольцевая модуляция — это результат умножения входного сигнала на периодическую несущую (аналогично тремоло, но на более высоких частотах). Это нелинейный звуковой эффект, создающий очень негармоничный звук.
Compressor/Expander реализует четыре аудиопроцессора в одном (компрессор, лимитер, экспандер и шумоподавитель). Конфигурация компрессора/лимитера уменьшает динамический диапазон сигнала, ослабляя участки входного звука с усилением, превышающим пороговое значение. Конфигурация Expander/Noise Gate увеличивает динамический диапазон за счет ослабления участков входного звука с усилением ниже порогового значения.
Искажение применяет нелинейное преобразование к входному звуку, которое увеличивает его усиление до пределов, создающих резкий, нечеткий или шершавый звук. Можно выбрать различные нелинейные функции и индивидуально контролировать выходное усиление для восстановления исходного уровня громкости. Полочный фильтр высоких частот также можно использовать для управления тоном выходного звука.
Роботизация/шепот реализует два звуковых эффекта на основе алгоритма фазового вокодера. Этот плагин предназначен для использования со звуками речи. Роботизация применяет к сигналу постоянную высоту тона, сохраняя при этом форманты, результат звучит как голос робота. Шепот устраняет любое ощущение высоты звука, сохраняя при этом форманты, результат должен звучать так, как будто кто-то шепчет.
Pitch Shift изменяет высоту входного сигнала без изменения длительности с помощью алгоритма фазового вокодера. Это реализация в реальном времени, которая позволяет непрерывно и плавно изменять параметр смещения высоты тона.
Панорамирование изменяет видимое положение источника звука между двумя каналами, левым и правым. Его можно использовать в двух режимах: первый режим использует эффект приоритета и закон касательной для регулировки временных задержек и усиления левого и правого сигналов. Он хорош для воспроизведения через громкоговорители при условии стандартной стереосхемы. Второй режим использует сферическую модель головы для оценки межушной разницы во времени (ITD) и межушной разницы уровней (ILD), он хорош для воспроизведения через наушники.
Эти плагины реализованы с помощью JUCE, который обеспечивает основу для создания аудиоплагинов для различных платформ (Windows и macOS) и в нескольких форматах (VST, AU, RTAS, AAX и т. д.), а также в виде автономных приложений. Вы можете запустить в терминале следующие команды, чтобы клонировать этот репозиторий и получить последнюю версию JUCE, которая использовалась для сборки всех проектов:
git clone https://github.com/juandagilc/Audio-Effects.git
cd Audio-Effects/
git submodule update --init
Код Хуана Хиля https://juangil.com/. Copyright © 2017-2020 Хуан Хиль.
Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Данная программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОРГОВОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU.
Вместе с этой программой вы должны были получить копию Стандартной общественной лицензии GNU. Если нет, см. https://www.gnu.org/licenses/.