У меня есть файл .srt, где каждый сегмент речи должен длиться определенную продолжительность (например, 4 секунды). Однако, когда я генерирую речь, используя Google Text-Sweek (TTS) с SSML, полученный звук воспроизводит один и тот же сегмент за более короткое время (например, 3 секунды). < /P>
Я хочу отрегулировать скорость речи в SSML, чтобы каждый сегмент соответствовал исходному времени. Моя идея состоит в том, чтобы использовать FFMPEG для извлечения фактической продолжительности каждого сгенерированного речевого сегмента, а затем вычислить процент скорости речи как:
, сгенерированная продолжительность
Speat = --------------------
Оригинальная продолжительность < /p>
Затем будет применяться в SSML, используя теги, как:
popken < /p> popkenge < /p> popken < /popken < /popken < /popken < /popken < /popken < /popken < /popken < /p). Точно измеряйте продолжительность каждого сегмента, используя FFMPEG, и как лучше всего применить правильную скорость речи в SSML, чтобы соответствовать исходному времени .SRT? f.write(f'\t
{break_until_start}{text}
\n')
< /code>
Кодовое написание SSML: < /p>
text = value ['text']
start_time_ms = int (value ['start_ms']) # Время начала в Milliseconds
предыдущий Время
GAP_TO_FILL = max (0, start_time_ms - предыдущий_END_MS) < /p>
text = text.replace("&", "&").replace('"', """).replace("'", "'").replace("", ">")
break_until_start = f'
' if gap_to_fill > 0 else ''
f.write(f'\t
{break_until_start}{text}
\n')
f.write('\n')
Подробнее здесь: https://stackoverflow.com/questions/795 ... srt-timing
Как настроить Google TTS SSML в соответствии с оригинальным временем SRT? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение