首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为AWS Polly将srt文件转换为SSML增强文本?

如何为AWS Polly将srt文件转换为SSML增强文本?
EN

Stack Overflow用户
提问于 2019-11-20 15:54:53
回答 2查看 1.2K关注 0票数 2

我们有一些校对的.srt文件,我们想从他们产生音频由AWS。根据AWS Polly上的引用,Polly的输入类型要么是纯文本,要么是SSML增强文本。有办法将.srt文件转换为SSML增强型文本吗?

我们希望使用.srt文件,因为它们是校对的,它们在文件中记录“音频暂停”信息。例如:

代码语言:javascript
复制
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增强文本?

EN

回答 2

Stack Overflow用户

发布于 2021-02-14 23:17:08

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

  1. 将每一行分隔为自己的请求/作业。
  2. 使用
代码语言:javascript
复制
<prosody amazon:max-duration>

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

  1. 通过合并多个音频剪辑并设置开始时间来执行音频程序集。

不管怎么说,如果你没有使用Polly &有一个自由源码的解决方案SRT到音频,我想听。

票数 1
EN

Stack Overflow用户

发布于 2022-12-01 20:17:52

我已经创建了一个python脚本来实现它:https://github.com/ThioJoe/SRT-To-SSML

它使用duration属性(对于prosody标记)和break标记,理论上使演讲与原始字幕同步。

然而,仍有一些限制需要记住:

  • 虽然有一个官方/标准的duration属性可以与prosody标记一起使用来指定特定的语音应该持续多长时间,但似乎大多数服务都不支持它。
  • Amazon的amazon:max-duration属性将加快语音速度,但不会减缓它的速度,这意味着它仍然可能与原来的字幕不同步。

如果使用整个ssml文件不起作用,我可以想到的一种“蛮力”方法是将字幕的每一行生成为一个单独的音频文件,然后使用一些可以根据相应字幕行的持续时间拉伸或缩小每个文件的内容。然后,您必须使用等于每个字幕行时间戳之间的差异的空沉默。然后将它全部缝合到一个音频文件中。不过,还不确定需要什么样的工具。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58958478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档