我正在开发一个程序,它接收一个音频文件,找到并删除文件中的任何静音。此时程序运行,但是当我们播放返回的声音时,它只是原始文件的减速版本。此函数接收声音文件,然后是静音段的开始和停止时间。然后该功能制作两个剪辑(前一个剪辑,静音后一个剪辑)并将这两个剪辑放在目标声音对象中。
def spliceAudio(audio, start, stop):
clipOneStart = 0
clipOneEnd = start - 1
clipTwoStart = stop + 1
clipTwoEnd = getLength(audio) - 1
target = makeEmptySound(getLength(audio) - (stop-start))
index = 0
for source in range(clipOneStart, clipOneEnd):
value = getSampleValueAt(audio, source)
setSampleValueAt(target, index, value)
index = index + 1
for source in range(clipTwoStart, clipTwoEnd):
value - getSampleValueAt(audio, source)
setSampleValueAt(target, index, value)
index = index + 1
play(target)
return target
对我来说,一切看起来都应该有效,但它没有给我们预期的结果。有什么想法吗?
答案 0 :(得分:0)
您的代码逻辑看起来没问题。音频播放速度的常见问题涉及您为音频数据分配的参数,具体为:
我没有使用jython的任何经验,但是当您调用target
时,代码中没有任何内容可以暗示为makeEmptySound()
设置了这些参数功能。我想他们会有默认值,但值得检查它们是什么以及它们是否与您的输入数据相匹配。