使用for循环使用pydub AudioSSegment函数重命名已处理的.wav文件



我正在尝试使用AudioSeagment函数重命名循环中的多个文件。以下是单个文件的功能(它可以完美地进行

from pydub import AudioSegment
audio = AudioSegment.from_wav("./OM1/BMM.wav")
new_audio = audio[1000:len(audio)-1000] 
new_audio.export('newSong.wav', format="wav")

现在我想循环浏览整个文件夹,但它似乎只给了我一个文件夹

i = 1
for wave_file in glob.glob("./OM1/*.wav"):   #Folder containing subject files 
sound = AudioSegment.from_wav(wave_file)
new_sound = sound[1000:len(audio)-1000] 
new_sound.export('newSong.wav', format="wav")

看起来您的变量名混淆了。看看这个:

sound = AudioSegment.from_wav(wave_file)
new_sound = sound[1000:len(audio)-1000] 
new_audio.export('newSong.wav', format="wav")

看起来你的最后一行应该是:

new_sound.export('newSong.wav', format="wav")

此外,很明显,您的所有输出文件都不能命名为newSong.wav

for wave_file in glob.glob("/*.wav"):    
sound = AudioSegment.from_wav(wave_file)
extract = sound[10:len(audio)-10] 
#extract = sound[1000:len(audio)-1000] 
extract.export(wave_file+'-extract.wav', format="wav")
print(wave_file)

最新更新