我正在尝试在 Python 中以编程方式拆分 wav 文件。基于来自 stackoverflow 的提示以及来自 Python wave 模块的文档,我正在执行以下操作
import wave
origAudio = wave.open('inputFile.wav','r')
frameRate = origAudio.getframerate()
nChannels = origAudio.getnchannels()
sampWidth = origAudio.getsampwidth()
start = float(someStartVal)
end = float(someEndVal)
origAudio.setpos(start*frameRate)
chunkData = origAudio.readframes(int((end-start)*frameRate))
chunkAudio = wave.open('outputFile.wav','w')
chunkAudio.setnchannels(nChannels)
chunkAudio.setsampwidth(sampWidth)
chunkAudio.setframerate(frameRate)
chunkAudio.writeframes(chunkData)
chunkAudio.close()
我遍历许多不同的开始和结束值,并以这种方式从原始文件中提取音频块。奇怪的是,该技术对某些块工作得非常好,而为其他块产生垃圾白噪声。此外,没有明显的模式表明哪个开始和结束位置会产生白噪声,只是它在输入文件中始终如一地发生。
以前有人经历过这种行为吗?或者知道我做错了什么?欢迎提出有关以编程方式拆分音频文件的更好方法的建议。
提前致谢。