4

我们有一些需要被配音为各种语言的屏幕截图,我们有目标语言的文本脚本,如下所示:

开始时间音频旁白

0:0 blah nao lorep iposm...

1:20 xao dok dkjv dwv....

..

我们可以分别记录上述每个单元,然后按照上述脚本中的说明在适当的开始时间将其对齐。

例子:

输入:

输入N个定时值:0:0,1:20 ... 然后输入N个录音

输出:

与上述时间一致的录音。系统应单独检测上溢,而下溢则由静默填充。

是否有任何独立于平台的音频 apis \ 软件或最好在 python 中的代码片段,允许我们根据提供的时间对齐这些音频单元?

4

1 回答 1

1

如果输入的音频文件是未压缩的(即WAV文件等),我喜欢使用的音频库是libsndfile。它似乎在这里有一个 python 包装器:https ://code.google.com/p/libsndfile-python/ 。考虑到这一点,其余的可以这样完成:

使用 libsndfile 打开输出音频流以将音频数据写入

对于每个输入音频文件,使用 libsndfile 打开一个输入流

根据您的文本描述“脚本”提取给定音频文件的元数据信息

将所需的任何静音写入主输出流,然后将数据从输入流写入输出流。注意当前位置/时间。对每个输入音频文件重复此步骤,检查音频剪辑的目标开始时间是否始终 >= 前面提到的当前位置/时间。如果没有,那么你有一个重叠。

当然,您必须担心采样率匹配等问题,但这应该足以开始。另外,我不确定您是要编写一个输出文件,还是为每个输入文件编写一个输出文件,但这个答案应该足够周到。假设它支持输入文件格式,libsndfile 将为您提供所需的所有信息(例如剪辑长度等)。

于 2013-04-22T15:29:16.117 回答