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