Как я могу сгенерировать синхронизированный текст (например, для субтитров), синхронизированный с преобразованием текста в речь (TTS) пословно?
Я хотел бы сделать это, используя высококачественные голоса SAPI5 (например, доступные на IVONA здесь), который я использовал в Windows 10.
В Windows у нас уже есть несколько хороших бесплатных программ TTS:
- Read4Me - открытый исходный код
- Balabolka - закрытый код
- TTSApp Собственный очень простой графический интерфейс Microsoft - в настоящее время доступно здесь - похоже, датируется 2001 годом.
TTSApp может создавать аудиофайлы в формате WAV. Balabolka создает файлы MP3 вместе с синхронизированным синхронизированным текстом как файлы LRC, используемые в караоке - НО только построчно, НЕ пословно.
Однако оба показывают пословное выделение, когда говорят вслух на экране - в реальном времени.
Если бы у меня был исходный код TTS / SAPI5, я мог бы просто проверять часы каждый раз, когда начинает генерироваться новое слово, и записывать время и это слово в файл. Кто-нибудь знает какой-нибудь проект, предлагающий такой уровень программирования - так что я могу начать с него?
ОБНОВЛЕНИЕ СЕНТЯБРЬ 2016 г.
С тех пор я обнаружил, что приложение TTSApp было повторно реализовано с использованием AutoHotKey некоего jballi в 2012 году.
Я адаптировал этот код для добавления в текстовый файл времени в миллисекундах каждый раз, когда срабатывает обработчик события onWord. Тем не менее мне нужно сделать два прохода:
- быстрый автоматический проход для сохранения файла WAV и
- медленный (в реальном времени) проход, который создает файл синхронизации.
Я все еще надеюсь найти способ ускорить шаг 2.
BTW Исходный код VisualBasic, похоже, заархивирован здесь а>.