gpt4 book ai didi

python - 在 python 中修剪音频

转载 作者:太空狗 更新时间:2023-10-30 00:11:20 25 4
gpt4 key购买 nike

好的,所以我也在使用 pyaudio,但从我一直在看的 wave 模块来看,也许可以帮到我。

所以我试图在我的程序中添加一个修剪功能,我的意思是我试图让用户找到 wav 的一部分。他/她不喜欢并且能够将波形文件修剪成他/她想要的样子。

到目前为止,我一直在使用 pyaudio 进行简单的播放,当涉及到从输入设备录制时,pyaudio 真的很容易。

我一直在 pyaudio 上搜索任何我可以用来修剪音频的东西,但我真的没有找到任何可以帮助我的东西。虽然在嵌入式波模块上我看到有设置位置的方法。

我是否必须有一个循环或 if 语句完成,以便程序知道要记录哪些位置,然后让 pyaudio 或 wave 模块从用户设置的位置(开始、结束)记录歌曲?如果我以这种方式处理程序,我的程序会高效运行吗?

最佳答案

假设您使用 scipy 读取 wave 文件。

然后你需要有“编辑点”这些是用户想要保留的进出值(例如以秒为单位)。您可以从文件或显示波形文件并从鼠标点击中获取这些信息。如果用户提供了应该删除的音频文件的一部分,那么这将需要首先被否定

这不是最有效的解决方案,但在许多情况下应该没问题。

import scipy.io.wavfile
fs1, y1 = scipy.io.wavfile.read(filename)
l1 = numpy.array([ [7.2,19.8], [35.3,67.23], [103,110 ] ])
l1 = ceil(l1*fs1)#get integer indices into the wav file - careful of end of array reading with a check for greater than y1.shape
newWavFileAsList = []
for elem in l1:
startRead = elem[0]
endRead = elem[1]
if startRead >= y1.shape[0]:
startRead = y1.shape[0]-1
if endRead >= y1.shape[0]:
endRead = y1.shape[0]-1
newWavFileAsList.extend(y1[startRead:endRead])


newWavFile = numpy.array(newWavFileAsList)

scipy.io.wavfile.write(outputName, fs1, newWavFile)

关于python - 在 python 中修剪音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373748/

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