首页 > 解决方案 > 如何将 srt 文件转换为 AWS Polly 的 SSML 增强文本?

问题描述

我们有一些经过校对的 .srt 文件,我们想通过 AWS Polly 从中生成音频。根据 AWS Polly 上的参考资料,Polly 的输入类型是纯文本或 SSML 增强文本。有没有办法将 .srt 文件转换为 SSML 增强文本?

我们想使用 .srt 文件,因为它们经过校对并且在文件中记录了“音频暂停”信息。例如:

1
00:00:04,960 --> 00:00:06,880
- [Instructor] Bacteria
are able to inhabit

2
00:00:06,880 --> 00:00:09,220
almost every environment on Earth,

3
00:00:09,500 --> 00:00:12,740
from desert tundra to
tropical rainforests.

00:00:09220 到 00:00:09,500 之间有一个间隔,这是我们拥有的“音频暂停”信息。

AWS Polly 参考:https ://docs.aws.amazon.com/polly/latest/dg/ssml-to-speech-console.html

如果无法将 .srt 转换为 SSML 增强文本,我是否应该解析 .srt 文件以生成 Polly 可以理解的 SSML 增强文本?

标签: amazon-web-servicestext-to-speechsrtamazon-polly

解决方案


如果您的最终目标是通过 Amazon Polly 将 SRT(视频字幕)转换为音频,我猜这在理论上是可行的,但 SSML 并不是真正适合这项工作的(因为您不能保证多行的时间(开始/停止/暂停) /etc),以便与视频配对时可以接受)。你可能需要

  1. 将每一行分成自己的请求/作业
  2. 使用
<prosody amazon:max-duration>

标记。从当前行减去下一行的开始时间计算最大持续时间

  1. 通过合并多个音频片段并设置开始时间来执行音频组装。

无论如何,如果您没有使用 Polly,并且有一个 FOSS 式的 SRT 音频解决方案,我很想听听。


推荐阅读