Озвучка диалогов нейросетью: разговор разными голосами
Сценка с двумя персонажами, диалог для изучающих язык, подкаст с двумя ведущими, сцена в игре: когда всё читает один голос, получается список, а два-три голоса звучат как живой разговор.
В 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 или голоса, обученные с согласия.