【发布时间】:2021-04-27 16:15:21
【问题描述】:
我有一个文件夹,里面有大约 2000 个不同时间间隔的 wav 格式的音频文件,比如说有些是 30 秒,有些是 40,我想使用 python 将它们全部拆分,我尝试了 pydub 和不同的库以及所有他们只为 1 个文件工作,我想在 python 中使用带有简单代码的循环来拆分那些。
示例代码:
from pydub import AudioSegment
from pydub.utils import make_chunks
myaudio = AudioSegment.from_file("a0007.wav", "wav")
chunk_length_ms = 8000 # pydub calculates in millisec
chunks = make_chunks(myaudio,chunk_length_ms) #Make chunks of one sec
for i, chunk in enumerate(chunks):
chunk_name = "{0}.wav".format(i)
print ("exporting", chunk_name)
chunk.export(chunk_name, format="wav")
上面的代码适用于一个文件,而我需要它从文件夹中获取文件并将它们全部拆分
【问题讨论】:
-
你能分享你的文件夹结构和你试过的代码吗?
-
from pydub import AudioSegment from pydub.utils import make_chunks myaudio = AudioSegment.from_file("a0007.wav", "wav") chunk_length_ms = 8000 # pydub 以毫秒为单位计算 chunks = make_chunks(myaudio,chunk_length_ms) #为i制作一秒的块,枚举中的块(块):块名=“{0}.wav”.format(i)打印(“导出”,块名)块.导出(块名,格式=“wav”)上面的代码适用于一个文件,而我需要它从文件夹中获取文件并拆分所有文件
-
请修改您的问题以添加代码。它在评论中不可读。
-
@Epsi95 完成