РУКОВОДСТВО

Озвучка диалогов нейросетью: разговор разными голосами

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

В SuperClonica — естественные и персонажные голоса на 31 языке, бесплатный онлайн-тест для отдельных реплик и бесплатный движок, который превращает целый сценарий с именами говорящих в один аудиофайл. В этом руководстве — оба способа.

Выберите контрастные голоса

Прослушайте все голоса на одной и той же фразе, прежде чем выбрать: разницу проще услышать рядом.

  • Сочетайте низкий и высокий голос или спокойный и живой — так слушатель всегда понимает, кто говорит.
  • Десять стандартных голосов, M1–M5 и F1–F5, бесплатны: пять мужских и пять женских для любых сочетаний.
  • Персонажные голоса из каталога подходят для сценок и фанатских сцен.
  • Оставляйте каждому говорящему один и тот же голос на всю серию.

Озвучьте каждую реплику бесплатно онлайн

Впишите реплику от 30 до 100 символов на странице первого голоса, выберите язык и нажмите «Озвучить», а ответ озвучьте так же вторым голосом. Скачайте записи без регистрации и поставьте их друг за другом в CapCut, Audacity или любом редакторе.

Пишите сценарий для голосов

Короткая пауза между репликами звучит естественно; одновременной речи не получится, поэтому перебивание пишите как оборванную реплику с тире в конце.

  • Начинайте каждую реплику с метки говорящего и двоеточия, например A: и B:.
  • Делайте реплики короткими: живой разговор идёт туда-обратно.
  • Ставьте точки и вопросительные знаки: голос следует пунктуации.
  • Имена, числа и сокращения пишите так, как их нужно произнести.

Один файл из целого сценария

Запишите сценарий в dialogue.txt строками вроде A: Ты слышал? и B: Слышал. Затем установите бесплатный движок командой python -m pip install superclonica-cpu и запустите python -c "import numpy as np; from superclonica import Superclonica; tts = Superclonica(); V = {'A': 'F2', 'B': 'M3'}; gap = np.zeros(int(0.4 * tts.sample_rate), dtype=np.float32); tts.save('dialogue.mp3', np.concatenate([np.concatenate([tts.synthesize(t.strip(), V[s.strip()], 'ru')[0], gap]) for s, t in (l.split(':', 1) for l in open('dialogue.txt', encoding='utf-8') if ':' in l)]))". Каждая реплика озвучивается голосом своей метки, между ответами — 0,4 секунды тишины, а на выходе один файл dialogue.mp3. Добавьте в список больше говорящих или замените F2 путём к файлу купленного голоса.

Реальные люди и честное использование

Никогда не делайте фальшивый разговор реальных людей, который можно принять за настоящую запись. Персонажные голоса — фанатские и не одобрены правообладателями, пародийные помечены как пародия. Для видео, на которых вы зарабатываете, берите стандартные голоса по лицензии OpenRAIL-M или голоса, обученные с согласия.