Как создать timed-text (например, для субтитров), синхронизированный с текстом в речь (TTS) по одному слову?Генерировать синхронизированный текст с синхронным текстом в речь?
Я хотел бы сделать это, используя высокое качество SAPI5 голоса (например, те, которые доступны от IVONA here) и что я использовал на Windows, 10.
В Windows у нас уже есть несколько хороших бесплатных программ TTS :
- Read4Me - открытый источник
- Balabolka - закрытый источник
- TTSApp вл от Microsoft n очень простой графический интерфейс - в настоящее время доступно here - кажется, что оно датируется 2001 годом.
TTSApp может создавать аудиофайлы в WAV. Балаболка создает MP3-файлы вместе с синхронизированным синхронизируемым текстом в виде файлов LRC, используемых в караоке, - но только по принципу «строка за строкой».
Тем не менее, оба показывают слово за словом, пока они говорят вслух на экране - в режиме реального времени.
Если у меня был исходный код TTS/SAPI5, я мог бы просто проверять часы каждый раз, когда новое слово начинает генерироваться и записывать время и это слово в файл. Кто-нибудь знает о каком-либо проекте, который раскрывает этот уровень программирования, - так что я мог бы начать оттуда?
UPDATE сентябрь 2016
С тех пор я обнаружил, что TTSApp была переписана using AutoHotKey неким jballi в 2012 году
Я адаптированный этот код, добавляемый в текстовый файл время в мс каждый раз, когда срабатывает обработчик события onWord. Тем не менее мне нужно сделать два прохода:
- быстрый автоматизированный пасс, чтобы сохранить файл WAV и
- медленно (в реальном времени) передачу, которая создает файл синхронизации.
Я все еще надеясь найти способ ускорить шаг 2.
BTW появляется источник VisualBasic в архив here.
Я оглядывался и нашел [это] (http://www.annosoft.com/sapi_lipsync/docs/classsapi__textbased__lipsy nc_a4.html), которые могут помочь. Вы обязательно должны будете вызвать ISpRecoResult :: GetResultTimes, если вам нужна более высокая точность, чем SPEI_SOUND_START и SPEI_SOUND_END –
. Спасибо Лесли Гушурст. Я проверю, что SAPI 5.1 Lipsynccode от Annosoft. – GavinBrelstaff
Теперь я вижу - программа Lipsync решает тонкую проблему. Он производит тайм-текст «да», но он не синтезирует голос звука одновременно. – GavinBrelstaff