Как имитировать / копировать / подделывать чей-то голос?

19

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

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

Как вы называете этот процесс? Это голосовая модуляция? Синтез голоса?

clapas
источник
Я думаю, если бы у вас было достаточно тренировочных образцов, для конкретных слов, это было бы возможно
Phorce
В исследовательском сообществе это называется «преобразование голоса».
pichenettes
@ user1582478 У меня их много, как ты поступишь?
clapas
Можно ли создать голос, скажем, из друга, а затем сделать это в прямом эфире по телефону, что-то вроде голоса, но с голосом, который вы создали?
Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его постом - вы всегда можете комментировать свои собственные посты, и, когда у вас будет достаточно репутации, вы сможете комментировать любые посты .
Мэтт Л.

Ответы:

24

Первое замечание: большинство современных систем преобразования текста в речь, таких как система AT & T, с которой вы связаны, используют каскадный синтез речи . Этот метод использует большую базу данных записей голоса одного человека, издающих длинный набор предложений, выбранных так, чтобы присутствовало наибольшее количество комбинаций фонем. Синтез предложения может быть сделан просто путем связывания воедино сегментов этого корпуса - сложная задача - сделать связывание воедино бесшовным и выразительным.

Есть два больших препятствия, если вы хотите использовать эту технику, чтобы президент Обама сказал смущающие слова:

  • Вам необходимо иметь доступ к большой коллекции предложений целевого голоса, желательно записанных с одинаковыми условиями записи и хорошим качеством. AT & T имеет бюджет для записи десятков часов одного и того же оратора в одной студии, но если вы хотите подделать чей-то голос всего за 5 минут записи, это будет трудно.
  • Существует значительное количество ручного выравнивания и предварительной обработки, прежде чем записанный исходный материал будет в правильном «формате», который будет использоваться системой конкатенативного синтеза речи.

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

К счастью, есть другие методы, которые могут работать с меньшим количеством наблюдений и данных. Область синтеза речи, заинтересованная в «подделке» или «подражании» одному голосу из записи, называется преобразованием голоса. . У вас есть запись А1 целевого говорящего А, произносящего предложение 1, и запись В2 исходного громкоговорителя В, говорящая предложение 2, вы стремитесь создать запись А2 говорящего А, произносящего предложение 2, возможно, с доступом к записи В1 говорящего Б, воспроизводящей с его / ее голосом то же самое высказывание как целевой динамик.

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

  1. Аудио функции извлечены из записи А1, и они сгруппированы в акустические классы. На этом этапе это немного похоже на то, как если бы в сумках были все «а» динамика А, все «о» динамика А и т. Д. Обратите внимание, что это гораздо более простая и грубая операция, чем истинное распознавание речи - нас не интересует распознавая правильно сформированные слова - и мы даже не знаем, какая сумка содержит «o», а какая сумка содержит «a» - мы просто знаем, что у нас есть несколько экземпляров одного и того же звука в каждой сумке.
  2. Тот же процесс применяется на B2.
  3. Акустические классы от А1 и В2 совмещены. Продолжая аналогию с сумками, это эквивалентно сопряжению сумок из шагов 1 и 2, так что все звуки, которые мы имеем в этой сумке из динамика А, должны соответствовать тем звукам, которые мы имеем в этой сумке из динамика B. гораздо проще сделать, если B1 используется на шаге 2.
  4. Функция сопоставления оценивается для каждой пары сумок. Поскольку мы знаем, что этот пакет содержит звуки из динамика А, и этот пакет содержит те же самые звуки, но сказал динамик В - мы можем найти операцию (например, умножение матрицы на векторы признаков), которая заставит их соответствовать. Другими словами, теперь мы знаем, как заставить «2» динамика 2 звучать так же, как «o» динамика 1.
  5. На этом этапе у нас есть все карты для преобразования голоса. Из каждого фрагмента записи B2 мы используем результат шага 2., чтобы выяснить, какому акустическому классу он соответствует. Затем мы используем функцию отображения, оцененную на шаге 4, для преобразования среза.

Я настаиваю на том, что это работает на гораздо более низком уровне, чем выполнение распознавания речи в B2, а затем выполнение TTS с использованием голоса A1 в качестве корпуса.

Для шагов 1 и 2 используются различные статистические методы - наиболее распространенными являются GMM или VQ. Для части 2 используются различные алгоритмы выравнивания - это самая сложная часть, и очевидно, что выравнивание A1 против B1 легче, чем A1 против B2. В более простом случае для выравнивания могут использоваться такие методы, как Dynamic Time Warping. Что касается этапа 4, наиболее распространенным преобразованием являются линейные преобразования (умножение матриц) на векторах признаков. Более сложные преобразования создают более реалистичные имитации, но задача регрессии по поиску оптимального отображения является более сложной для решения. Наконец, что касается шага 5, качество ресинтеза ограничено используемыми функциями. LPC, как правило, легче иметь дело с простым методом преобразования (взять кадр сигнала -> оценить остаточный сигнал и спектр LPC -> при необходимости, остаточный сдвиг основного тона -> применить модифицированный спектр LPC к измененному остатку). Использование представления речи, которое может быть обращено обратно во временную область и которое обеспечивает хорошее разделение между просодией и фонемами, является ключевым моментом здесь! Наконец, при условии, что у вас есть доступ к выровненным записям ораторов A и B, говорящим одно и то же предложение, существуют статистические модели, которые одновременно выполняют шаги 1, 2, 3 и 4 в одной процедуре оценки модели.

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

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

pichenettes
источник
Внушительный ответ! Возможно, я не смог бы понять это без аналогии с сумками ... После такого ясного объяснения я не могу понять только одну вещь: насколько я понимаю, у вас всегда может быть B1! Большое спасибо.
Clapas
Нет, если A и B говорят на другом языке (есть странные приложения преобразования голоса, в которых TTS на другом языке воспроизводится вашим собственным голосом!). Или, если A и B являются известными людьми, для которых вы не можете найти достаточно длинное общее предложение во всех общедоступных записях, и если вы не говорите на их языке, вы не можете использовать запись своего голоса в качестве "мост" между двумя.
Pichenettes
Понимаю. Еще раз спасибо @pichenettes. Я попытаюсь взглянуть на упомянутую книгу Стилиану и др. Ура
клапы
Пожалуйста, обновите ваш ответ со ссылками на используемые вами сокращения. Например, LPC, VQ, GMM.
aaronsnoswell
В ответ на комментарий от aaronsnoswell: LCP: кодирование с линейным предсказанием, VQ: векторное квантование, GMM: модель гауссовой смеси. Не очевидно, что простое расширение этих сокращений очень помогает, поскольку каждая из них - сложная идея, но (примерно) каждая идея относится к моделированию или объяснению pst или будущих данных из набора существующих выборок.
GregD
2

Вы можете использовать что-то вроде MorphVox . Вот демонстрация. Процесс называется преобразованием голоса. Если вас интересуют технические аспекты, вы можете изучить недавнюю статью « Преобразование голоса с использованием динамической регрессии частично наименьших квадратов ядра» .

Эмре
источник
Голос Темного Вейдера ошеломляет приятеля, это было забавно. Ну, я видел подобные эффекты раньше. Спасибо
clapas
1

Я ищу то же самое, но это не может быть сделано. В Шотландии есть компания CereProc, которая занимается моделированием голоса, но им нужен кто-то в лаборатории, записывающий часы аудио, и стоимость моделирования одного голоса составляет около 30 тысяч долларов США.

Джим
источник
0

То, что вы ищете, называется вокодером.

Вы пробовали вокодер Audcity? Audacity можно скачать по адресу : http://audacity.sourceforge.net/download . Демонстрацию о том, как его использовать, можно найти по адресу https://www.youtube.com/watch?v=J_rPEmJfwNs .

SpeedCoder5
источник
1
Вокодирование состоит в применении спектральной огибающей одной аудиозаписи (которая обычно является голосом) для фильтрации другого звука (который обычно является необработанным, немодулированным звуком синтезатора). Это не может быть использовано, чтобы подделать чей-то голос.
pichenettes
Да, я знаю Audacity, но я не пробовал вокодер. Я думаю, что вы можете применять только белый шум к огибающей записанного голоса. Спасибо
clapas