【发布时间】:2017-02-06 04:43:32
【问题描述】:
您好,我正在使用 pydub 拆分音频文件,提供从原始片段中获取片段的范围。
我拥有的是:
from pydub import AudioSegment
sound_file = AudioSegment.from_mp3("C:\\audio file.mp3")
# milliseconds in the sound track
ranges = [(30000,40000),(50000,60000),(80000,90000),(100000,110000),(150000,180000)]
for x, y in ranges:
new_file = sound_file[x : y]
new_file.export("C:\\" + str(x) + "-" + str(y) +".mp3", format="mp3")
它适用于前 3 个新文件。但其余的不是 - 它不会相应地拆分。
问题出在我给出范围的方式上吗?
谢谢。
插件:
当它变得简单时 - 例如
sound_file[150000:180000]
并将其导出为 mp3 文件。它有效,但只削减 50000:80000 部分。似乎读取的范围不正确。
【问题讨论】:
-
您确定您的音频文件至少有 180 秒长吗?
-
@Jiaaro,感谢您的评论。是的,音频文件很长,涵盖了所有范围。
-
你能用一个更简单的例子重现它吗?喜欢
len(sound_file[150000:180000])? -
@Jiaaro,谢谢。当它变得简单时(一个段而不是几个段)。像 sound_file[150000:180000] 然后将其导出为 mp3 文件。它有效,但只削减 50000:80000 部分。似乎读取的范围不正确。
-
你能分享有问题的音频文件吗?似乎必须有更多的东西