自动对齐音频轨道与配音截屏的时间

时间:2013-04-11 18:42:20

标签: python audio-recording audio

我们有一些屏幕演员需要配置成各种语言,我们有目标语言的文本脚本,如下所示:


Begining Time  Audio Narration

0:0            blah nao lorep iposm...

1:20           xao dok dkjv  dwv....

..

我们可以单独记录上述每个单元,然后按照上述脚本中的说明在正确的开始时间对齐。

示例:

输入:

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

输出:

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

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

1 个答案:

答案 0 :(得分:1)

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

打开输出音频流以使用libsndfile

写入音频数据

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

根据您的文字说明'script'

提取给定音频文件的元数据信息

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

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