繁体   English   中英

在python中分割wav文件

[英]splitting wav file in python

我正在尝试在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()

我遍历许多不同的开始和结束值,并以这种方式从原始文件中提取音频块。 奇怪的是,该技术对某些块效果很好,而对其他块则产生垃圾白噪声。 同样,也没有明显的模式表明开始位置和结束位置会产生白噪声,只是在输入文件中始终会发生白噪声。

有人曾经经历过这种行为吗? 还是知道我在做什么错? 欢迎以编程方式分割音频文件的更好方法的建议。

提前致谢。

调用setpos时,这可能与start*frameRate为浮点数有关 也许在阅读框架之后,您应该使用tell来查找文件指针的当前位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM