尝试使用Pydub分割音频段时发生FileNotFoundError

尝试使用Pydub分割音频段时发生FileNotFoundError,pydub,Pydub,我正在尝试使用pydub将音频分割成均匀间隔的片段。现在我好像连音频文件都读不懂。我正在通过蟒蛇使用Jupyter笔记本。关于此问题的其他主题的解决方案没有帮助() 我有: 将libav添加到路径 指定ffmpeg exe文件的位置,并通过conda安装 尝试从命令提示符运行它 使用或不使用AudioSegment.converter线路,以及使用或不使用AudioSegment.ffmpeg尝试 尝试使用AudioSegment.from_文件和.from_mp3 如果你能帮忙,我将不胜感

我正在尝试使用pydub将音频分割成均匀间隔的片段。现在我好像连音频文件都读不懂。我正在通过蟒蛇使用Jupyter笔记本。关于此问题的其他主题的解决方案没有帮助()

我有:

  • 将libav添加到路径
  • 指定ffmpeg exe文件的位置,并通过conda安装
  • 尝试从命令提示符运行它
  • 使用或不使用AudioSegment.converter线路,以及使用或不使用AudioSegment.ffmpeg尝试
  • 尝试使用AudioSegment.from_文件和.from_mp3
如果你能帮忙,我将不胜感激

import pydub
import math

from pydub import AudioSegment
pydub.AudioSegment.converter = r'C:\Users\M\Desktop\Pydub\ffmpeg.exe'

AudioName = 'Abc' #Name of audio (string)
AudioImported = AudioSegment.from_mp3(r'C:\Users\M\Desktop\Pydub\Abc.mp3')
AudioLength = AudioImported.duration_seconds

Interval = input('Clip length (seconds):') #Length of each clip in seconds
NumClips = math.floor(AudioLength / Interval)

t1 = 0
for i in range(1,  NumClips):
    t2 = t1 + i*1000
    Clip = AudioImported[t1:t2]
    ClipName = AudioName + 'i' + '.mp3'
    Clip.export(ClipName, format='mp3')
    t1 = t2

编辑:问题以某种方式自行解决。我做的最后一件事是安装ffmpeg thorugh conda,但我想这需要一段时间才能开始

显然,这个函数在我错过的文档中是正确的:


from pydub import AudioSegment
sound = AudioSegment.from_file("/path/to/sound.wav", format="wav")

# split sound in 5-second slices and export
for i, chunk in enumerate(sound[::5000]):
  with open("sound-%s.mp3" % i, "wb") as f:
    chunk.export(f, format="mp3")

你能发布完整的回溯错误吗?@ewong我不知道发生了什么变化,但它现在似乎起作用了。我做的最后一件事是通过conda安装ffmpeg。我想需要几分钟的时间来开始?我不知道。无论如何,谢谢你的关心。另外,我所做的函数实际上在文档(slice)中是正确的,我在OP中更新了它。