Перейти к основному содержимому
SubtitleMatrix

Озвучить текст

Медиа на входеСубтитры в речь
Или вставьте текст субтитров

При первом запуске скачиваются голосовая модель и фонемизатор — вместе около 98 МБ с этого сайта; дальше их кэширует браузер. Субтитры или текст, которые вы перетащили, не покидают эту вкладку. Выбор MP3 или M4A скачивает ещё 31 МБ кодировщика — поэтому WAV и стоит по умолчанию.

Параметры

Голос решает акцент и тембр, а — менее очевидно — и то, какой звуковой системой читается текст. Испанский голос с английским предложением не падает: он читает английские слова испанскими звуками, что хуже сообщения об ошибке. Предлагается семь языков, а не двенадцать, потому что фонемизатор, встроенный в эту страницу, не имеет голоса для японского и китайского. Послушайте короткий файл, прежде чем браться за длинный; все голоса несут одну модель, поэтому переключение стоит одного синтеза, а не загрузки.

Как быстро читает голос, поверх темпа, который модель считает естественным. «Медленная» — 0,8×, «Быстрая» — 1,2×: намеренно мягко, потому что примерно после 1,5× модель начинает проглатывать слоги, и результат звучит как спешка, а не как быстрая речь. Когда реплика слишком коротка для своей строки, страница сама поднимает скорость до 1,4× до того, как обрезать, и это ускорение умножается на выбранную здесь настройку.

WAV — несжатый, 24 кГц, моно, записанный здесь вообще без кодировщика: поэтому это значение по умолчанию и поэтому для него ничего не скачивается. MP3 и M4A нуждаются в 31 МБ видео движка для сжатия, но выходят примерно в десять раз меньше: десять минут речи — около 28 МБ в WAV и около 2,8 МБ в MP3. Выберите WAV, чтобы послушать голос, MP3 — чтобы отправить файл кому-то.

Страница читает текст вслух: вставьте абзац или перетащите файл — .txt, .srt, .vtt, любой из двенадцати форматов субтитров, — выберите один из десяти голосов и получите один звуковой файл, где всё произнесено с начала до конца. Здесь ничего не синхронизируется, потому что синхронизировать не с чем: на выходе непрерывное чтение, а не дорожка под картинкой, и если перетащить файл субтитров, таймкоды разбираются и выбрасываются, читается текст реплик по порядку, склеенный в абзацы, а переносы строк внутри реплики становятся пробелами.

Текст синтезируется частями: токенизатор модели молча обрезает всё после 510 фонем, поэтому текст делится по границам абзацев, затем по знакам конца предложения, а одиночное предложение длиннее 400 знаков — ещё жёстче, и части произносятся одна за другой с паузой в 250 мс. Речь идёт в отдельном потоке, поэтому кнопка отмены останавливает её сразу, а не ждёт конца текущего предложения, и страница остаётся отзывчивой. Около 98 МБ модели и фонемизатора скачиваются один раз и кэшируются, а вставленный текст не покидает браузер — это важно, когда абзац оказывается письмом клиента или медицинской записью.

Частые вопросы

Если я перетащу сюда .srt, попадут ли в чтение таймкоды или номера реплик?

Ни то, ни другое. Файл разбирается тем же слоем форматов, что и страницы конвертации, и от каждой реплики остаётся только текст: номера, схема 00:00:01,000 --> со временами и встроенные теги вроде <i> или {\pos()} исчезают до синтеза. Вы слышите слова в том порядке, в каком они стоят. Если нужно, чтобы времена соблюдались, а не выбрасывались, используйте страницу, которая озвучивает файл субтитров: там каждая реплика ставится в момент своего начала.

Поле для вставки принимает целую статью или только пару предложений?

Целую статью тоже, потому что текст делится на части ещё до того, как попадает в модель. Вставленное оборачивается как обычный текстовый файл и входит в ту же очередь, что и перетащенный файл, поэтому получает то же деление по 400 знаков, ту же полосу прогресса и ту же кнопку отмены. Практический предел — память, а не длина: длинная статья даёт длинный WAV, а час моно-PCM 24 кГц занимает несколько сотен мегабайт, так что если чтение будет дольше нескольких минут, стоит выбрать MP3.

Почему паузы между предложениями здесь длиннее, чем в озвучке субтитров?

Потому что между частями вставляется четверть секунды тишины, чтобы соседние предложения не слипались, тогда как страница озвучки ставит каждую строку в точное начало реплики и заполняет тот промежуток, который уже был в субтитрах. Здесь промежуток фиксирован — 250 мс независимо от содержания, потому что таймлайна, которому надо быть верным, нет. Предложения внутри одной части соединяются по знакам препинания самой модели, поэтому лишнюю паузу получают только границы частей — примерно каждые 400 знаков.

Какие голоса есть для испанского и португальского и это один голос или несколько?

По одному: ef_dora для испанского и pf_dora для бразильского португальского, рядом с двумя вариантами английского из США (af_heart, af_bella), ещё одним американским голосом (am_michael), двумя британскими (bf_emma, bm_george), ff_siwis для французского, hf_alpha для хинди и if_sara для итальянского. Несколько английских голосов есть потому, что именно там чаще всего просят озвучку; остальным языкам достаётся один, чтобы список оставался коротким и его можно было прослушать. Голос задаёт не только тембр, но и акцент, а значит, и то, звуками какого языка читается текст.

Можно ли публиковать полученный MP3 или M4A как фрагмент подкаста?

Технически да: оба формата — стандартные контейнеры, закодированные локальной сборкой ffmpeg, а звук 24 кГц моно, что годится для речи и тонко для музыки. Редакторски — прослушайте перед публикацией: модель иногда срезает последний согласный, странно ставит ударение в имени собственном или читает аббревиатуру по буквам. Ничего не загружается, пока это происходит, и никакого водяного знака или трекинга не встроено, но синтетический голос и сам не несёт указания на синтез, поэтому если ваша аудитория ждёт живого чтеца, скажите, кто читал.

Похожие инструменты