Як імітувати / копіювати / підробляти чийсь голос?


19

Чи є якась наявна програма для вибірки чийсь голосу і використовує його для модулювання будь-якого іншого голосу або синтезування тексту, що нагадує оригінальний?

Наприклад, ця демонстрація тексту в мові AT&T дозволяє вибирати голос та мову із попередньо встановлених налаштувань, які, напевно, ґрунтуються на голосі людини, який був відібраний.

Як ви називаєте цей процес? Це голосова модуляція? Синтез голосу?


Я здогадуюсь, якби у вас було достатньо зразків для тренінгу, для конкретних слів, тоді це можливо
Phorce

У дослідницькій спільноті це називається "перетворення голосу".
пікенети

@ user1582478 У мене їх багато, як би ви діяли?
клапас

Чи можливо створити голос із сказати другові, а потім приймати це в прямому ефірі під час телефонного дзвінка, як голосовий морф, але з голосом, який ви створили?

Це не дає відповіді на запитання. Щоб критикувати або вимагати роз'яснення у автора, залиште коментар під їх публікацією - ви завжди можете коментувати свої власні публікації, і як тільки у вас буде достатня репутація, ви зможете коментувати будь-яку публікацію .
Метт Л.

Відповіді:


24

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

Є дві великі перешкоди, якщо ви хочете використовувати цю техніку, щоб змусити президента Обаму сказати бентежні слова:

  • Потрібно мати доступ до великої колекції речень цільового голосу, бажано записаних при однакових умовах запису та хорошої якості. AT&T має бюджет для запису десятків годин одного і того ж динаміка в одній студії, але якщо ви хочете підробити чийсь голос лише за 5 хвилин запису, це буде важко.
  • Існує значна кількість ручного вирівнювання та попередньої обробки, перш ніж записана сировина буде у правильному "форматі", який повинен використовуватись конкатенативною системою синтезу мовлення.

Ваша інтуїція, що це можливе рішення, справедлива - за умови, що у вас є бюджет на вирішення цих двох проблем.

На щастя, є й інші методи, які можуть працювати з меншим наглядом та меншою кількістю даних. Поле синтезу мови, зацікавлене в "підробці" або "імітації" одного голосу із запису, відоме як перетворення голосу . У вас є запис A1 цільового динаміка, що говорить речення 1, і запис В2 динаміка джерела B, що говорить речення 2, ви маєте на меті створити запис A2 динаміка Висловлювальне речення 2, можливо, з доступом до запису B1 динаміка B, який відтворюється з його / її голосом таке ж висловлювання, як і цільовий оратор.

Структура системи перетворення голосу така:

  1. Аудіофункції витягуються із запису A1, і вони кластеризовані в акустичні класи. На цьому етапі трохи схоже на те, що сумки будуть усі "a" динаміка A, всі "o" оратора A тощо. Зауважте, що це набагато простіша і груба операція, ніж справжнє розпізнавання мовлення - нас не цікавить розпізнаючи правильно сформовані слова - і ми навіть не знаємо, який мішок містить "о", а який мішок містить "а" - ми просто знаємо, що в кожному мішку є кілька примірників одного і того ж звуку.
  2. Цей же процес застосовується і для B2.
  3. Класи акустики від A1 і B2 вирівняні. Щоб продовжити аналогію з мішками, це еквівалентно спарюванню мішків із кроків 1 та 2, так що всі звуки, які ми маємо в цій сумці від динаміка A, повинні відповідати звукам, які ми маємо в цій сумці від динаміка B. Це співставлення є набагато простіше це зробити, якщо B1 використовується на кроці 2.
  4. Функція відображення оцінюється для кожної пари мішків. Оскільки ми знаємо, що цей мішок містить звуки від динаміка A, а цей мішок - ті самі звуки, але сказаний диктором B - ми можемо знайти операцію (наприклад, множення матриць на функціональних векторах), яка змушує їх відповідати. Іншими словами, тепер ми знаємо, як зробити так, щоб оратор 2 "о" звучав як "о" динаміка 1.
  5. На цьому етапі у нас є всі картки для здійснення перетворення голосу. З кожного фрагмента запису B2 ми використовуємо результат кроку 2. щоб з'ясувати, якому акустичному класу він відповідає. Потім ми використовуємо функцію відображення, оцінену на кроці 4, для перетворення зрізу.

Я наполягаю на тому, що це працює на набагато нижчому рівні, ніж виконання розпізнавання мовлення на B2, а потім виконання TTS, використовуючи голос А1 як корпус.

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

Я можу пізніше повернутися з бібліографією, але дуже гарним місцем, щоб почати відчувати проблему, і загальна рамка, яка використовується для її вирішення, - це система Стіліану, Мулайн та Каппе "Система перетворення голосу на основі імовірнісної класифікації та гармоніки плюс модель шуму ".

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


Чудова відповідь! Я, певно, не міг би зрозуміти це без аналогії сумки ... Є лише одне, чого я не розумію після цього настільки чіткого пояснення: наскільки я розумію, ти завжди можеш мати B1! Велике спасибі.
клапас

Не в тому випадку, якщо A і B говорять іншою мовою (є незвичні програми перетворення голосу, в яких TTS іншою мовою відтворюється з вашим власним голосом!). Або якщо A і B обидві відомі особи, для яких ви не можете знайти досить тривалого загального речення у всіх загальнодоступних записах, і якщо ви не розмовляєте їхньою мовою, тому ви не можете використовувати запис свого голосу як "міст" між двома.
пікенети

Я бачу. Ще раз дякую @pichenettes. Я спробую ознайомитись із згадуваною книгою Stylianou et al. Ура
клапас

Будь ласка, оновіть свою відповідь посиланнями на використані вами абревіатури. Наприклад, LPC, VQ, GMM.
aaronsnoswell

У відповідь на коментар aaronsnoswell: LCP: лінійне прогностичне кодування, VQ: векторне квантування, GMM: модель суміші Гаусса. Не очевидно, що саме розширення цих абревіатур багато допомагає, оскільки кожна є складною ідеєю, але (приблизно) кожна ідея стосується моделювання або пояснення даних pst або майбутніх даних із набору існуючих зразків.
GregD

2

Ви можете використовувати щось на зразок MorphVox . Ось демонстрація. Процес називається голосовим перетворенням або перетворенням. Якщо вас цікавлять технічні аспекти, нещодавня стаття, яку ви можете вивчити, - це перетворення голосу за допомогою регресії часткових найменших квадратів динамічного ядра .


Голос темного Вейдера гойдається на пару, це було смішно. Що ж, я бачив подібні ефекти раніше. Дякую
clapas

1

Я шукаю те саме, але зробити це неможливо. У Шотландії є компанія, що називається CereProc, яка займається моделюванням голосу, але їм потрібен хтось у лабораторії, який записує години аудіо, і вартість моделювання одного голосу становить близько 30 000 доларів США.


0

Те, що ви шукаєте, називається вокодером.

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


1
Вокодування полягає у застосуванні спектральної оболонки однієї аудіозапису (що зазвичай є голосом) для фільтрації іншого звуку (який зазвичай є сирим, немодульованим звуком синтезатора). Це не можна використовувати для підроблення чийогось голосу.
пікенети

Так, я знаю Audacity, але я не пробував вокодера. Я думаю, ви можете застосувати білий шум до конверта записаного голосу. Дякую
clapas
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.