首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用for循环将已处理的.wav文件重命名为pydub AudioSegment函数

使用for循环将已处理的.wav文件重命名为pydub AudioSegment函数
EN

Stack Overflow用户
提问于 2022-09-09 15:51:55
回答 2查看 38关注 0票数 0

我试图使用AudioSegment函数重命名一个循环中的多个文件。下面是单个文件的函数(该函数工作得很好)

代码语言:javascript
复制
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")

现在我想遍历整个文件夹,但它似乎只给了我一个文件夹

代码语言:javascript
复制
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")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-13 19:13:31

代码语言:javascript
复制
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)
票数 0
EN

Stack Overflow用户

发布于 2022-09-09 18:03:32

看起来你的变量名是混在一起的。看看这个:

代码语言:javascript
复制
sound = AudioSegment.from_wav(wave_file)
new_sound = sound[1000:len(audio)-1000] 
new_audio.export('newSong.wav', format="wav")

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

代码语言:javascript
复制
new_sound.export('newSong.wav', format="wav")

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73664665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档