amazon-web-services - 如何将 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 Polly 将 SRT(视频字幕)转换为音频,我猜这在理论上是可行的,但 SSML 并不是真正适合这项工作的(因为您不能保证多行的时间(开始/停止/暂停) /etc),以便与视频配对时可以接受)。你可能需要
- 将每一行分成自己的请求/作业
- 使用
<prosody amazon:max-duration>
标记。从当前行减去下一行的开始时间计算最大持续时间
- 通过合并多个音频片段并设置开始时间来执行音频组装。
无论如何,如果您没有使用 Polly,并且有一个 FOSS 式的 SRT 音频解决方案,我很想听听。
推荐阅读
- python - 循环遍历日期并将值分配为周数
- c++ - std::string 隐式转换优先级,string_view 优于 const char*
- reactjs - react native firebase auth signInAnonymously 判断客户端(如手机、网页)
- nearprotocol - “集合是一种不一致的状态。” 带有嵌套的 NEAR 集合
- c++ - 调用构造函数的指针对象给出了其他一些非预期的结果
- javascript - 如何在页面重新加载期间保留 javascript sdk 的类实例
- datetime - Dart - 两个不同的日期产生相同的差异 inDays
- javascript - React:如果在 public/index.html 中导入脚本文件,则相对路径不起作用
- excel - EXCEL VBA - 需要过滤,然后从第二行自动填充一个值到最低行
- scala - 从 Akka Actors 列表中异步收集和组合响应