我们有一些屏幕演员需要配置成各种语言,我们有目标语言的文本脚本,如下所示:
Begining Time Audio Narration 0:0 blah nao lorep iposm... 1:20 xao dok dkjv dwv.... ..
我们可以单独记录上述每个单元,然后按照上述脚本中的说明在正确的开始时间对齐。
示例:
输入:
输入N个定时值:0:0,1:20 ...... 然后输入N个录音
输出:
与上述时间一致的录音。系统应单独检测溢出,而静音填充下溢。
是否有任何平台独立的音频apis \软件或优选在python中的代码片段,允许我们根据提供的时间对齐这些音频单元?
答案 0 :(得分:1)
如果输入的音频文件是未压缩的(即WAV文件等),我喜欢使用的音频库是libsndfile。它似乎有一个python包装器:https://code.google.com/p/libsndfile-python/。考虑到这一点,其余的可以这样完成:
打开输出音频流以使用libsndfile
写入音频数据对于每个输入音频文件,使用libsndfile打开输入流
根据您的文字说明'script'
提取给定音频文件的元数据信息写入主输出流所需的任何静音,然后将输入流中的数据写入输出流。注意当前位置/时间。对每个输入音频文件重复此步骤,检查音频剪辑目标开始时间是否总是> =前面提到的当前位置/时间。如果没有,那么你就有重叠。
当然,您必须担心采样率匹配等,但这应该足以开始。另外,我不确定你是在尝试编写单个输出文件,还是每个输入文件都有一个输出文件,但这个答案应该是可以调整的。 libsndfile将为您提供所需的所有信息(例如剪辑长度等),假设它支持输入文件格式。