gpt4 book ai didi

python - 在python中拆分wav文件

转载 作者:太空狗 更新时间:2023-10-29 21:05:54 26 4
gpt4 key购买 nike

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

我遍历了许多不同的开始值和结束值,并以这种方式从原始文件中提取音频 block 。奇怪的是,该技术对某些 block 非常有效,但对其他 block 会产生垃圾白噪声。此外,没有明显的模式表明哪个开始位置和结束位置会产生白噪声,只是它在输入文件中持续发生。

以前有人经历过这种行为吗?或者知道我做错了什么?欢迎提出有关以编程方式拆分音频文件的更好方法的建议。

提前致谢。

最佳答案

这可能与 start*frameRate 在调用 setpos 时是一个 float 有关。 .也许在 readframes 之后你应该使用 tell而是查找文件指针的当前位置..

关于python - 在python中拆分wav文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15580853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com