Еще вот таким балуюсь на досуге. Хочу автоматизировать создание роликов-туториалов для новой платформы
stepimy.com не за все деньги мира, т.е. бесплатно, локально и относительно быстро.
Готового сервиса нет, но есть два бесплатных куска, собранных вместе.
Облачный диктор Google Chirp 3 HD читает мой текст: миллион знаков в месяц бесплатно, это примерно полторы тысячи роликов. Дальше Chatterbox под лицензией MIT перекрашивает чужой голос в похожий на мой. Ему нужны 20 секунд моей начитки как образец, и всё. Считает локально.
Первое, обо что споткнулся при выборе, – это лицензии. Русских бесплатных голосов много, но ролик для платного сервиса, а это коммерческое использование.
Silero и Piper ruslan – CC BY-NC, нельзя. У Piper irina права вообще не указаны, тоже мимо. Остались CC0-голоса Piper, MIT у Chatterbox и Chirp по бесплатному тарифу.
Перед тем как брать голос, обязательно читайте лицензию корпуса, на котором он обучен.
Второе: как понять, что синтез не сжевал слово. Готовую озвучку прогоняю через распознавание и сверяю со сценарием. Автотест на речь. И само собой слушаю сам.
Три вещи, которые нашлись только замерами.
1. Теги пауз модель не понимает. Вместо тишины в записи слышно, как она читает тег вслух.
2. Знаки препинания дают разную тишину: запятая 0,15 секунды, тире 0,24, точка с запятой от 0,3 до 0,7, точка 1,25. Поэтому в тексте для голоса запятые заменены на точку с запятой, а на экране в субтитрах остались нормальные запятые.
3. Слово "хэшем" модель приняла за аббревиатуру и прочитала по буквам: "х-э-ш-е-м", полторы секунды вместо полусекунды.
Лечится написанием через "е".
Далее чтобы не искать только ухом, сборка сама ищет в распознавании подряд идущие однобуквенные "слова" и называет виновника.
Картинку тоже никто не записывает руками. Сценарий ролика – это код: открыть страницу, навести курсор на кнопку "Создать доступ", нажать, подождать. Браузером управляет Puppeteer, клики настоящие, курсор дорисован прямо в странице, кадры снимаются с движка и потом собираются в видео. Поменялся интерфейс – ролик переснимается командой, а не заново записывается руками.
Итого: бесплатно, локально, считайте безлимитно для моих задач.
Да, не elevenlabs, но в этом случае и не надо.