Как устроент autotune?

Много раз видел приложения, которые авоматически подстраивают пропетое в микрофон таким образом, чтобы голос попадал в ноты. Каким образом они устроены? Какие алгоритмы положены в их основу?
  • Вопрос задан
  • 6601 просмотр
Пригласить эксперта
Ответы на вопрос 2
merlin-vrn
@merlin-vrn
1. Гейт
Определяет, есть ли сигнал на входе. Обычно адаптивный. Если сигнала нет, логика анализа и изменения не срабатывает, сигнал со входа просто задерживается на алгоритмическую задержку (едицицы-десятки мс) и копируется на выход.

2. Анализ
Достаточно просто. FFT, разделяются тоновые части (гармоники связок) и форманты. Анализируется частота тона гармонической части.
Вычисляется, как нужно изменить эту частоту. (Здесь может быть несколько подходов.)

3. Операции
Тоновая часть смещается. Форманты остаются. Потом всё это собирается заново

Весь алгоритм даёт некоторую задержку, размер которой связан с размером окна FFT. Делают и перекрытие окон. В общем, задержка обычно больше окна раза в два.

Режимы функционирования такие:
— Автоматическая подтяжка, когда частота заменяется на частоту ближайшего точного тона. Например, если у вас звук на 1/8 выше ноты «До» первой октавы — его опустят до точного совпадения с этой нотой
— Подтяжка «по подсказке» (guided, midi mode). В программу посылают звук и MIDI-поток нот, к которым всё и притягивается. Так можно петь даже монотонно, а программа сделает из этого мелодию.
— Можно просто добавить копию «на три полутона выше». Вокалист поёт один, а звучит как «с подпевкой».
— Можно сделать и так: вы поёте один, а на MIDI-клавиатуре держите аккорд. Все ноты аккорда посылаются в программу. При этом запускается несколько процессов операции, а результат суммируется. Получается, что вы поёте хором сам с собой этот аккорд. При должном использовании результат завораживает.

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

Как-то так.
Ответ написан
mydoom
@mydoom
Как-то задумывался над этим вопросом, загуглить не удосужился, поэтому говорю от балды, если не прав — поправьте, пожалуйста.
Алгоритм примерно такой — берем запись, отсекаем фон, чтобы оставить только голос, дальше — преобразование Фурье, и гармоники, из которых голос состоит, подтягиваем до нужных частот, которые соответствуют ступеням звукоряда, которые хотим получить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы