-1

我正在尝试遍历文件夹“audios”中的所有 .wav 文件,但收到以下错误。我发现通过安装 ffmpeg 解决了类似的问题,但这并没有帮助。

    FileNotFoundError                         Traceback (most recent call last)
    <ipython-input-24-29ba732186ac> in <module>
          1 for audio_file in os.listdir(base_path+"audios"):
          2     # read wav audio file
    ----> 3     audio = AudioSegment.from_wav(audio_file)
          4 
          5     # pass audio file, start time, end time & chunk path to create chunk
    
    ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pydub\audio_segment.py in from_wav(cls, file, parameters)
        806     @classmethod
        807     def from_wav(cls, file, parameters=None):
    --> 808         return cls.from_file(file, 'wav', parameters=parameters)
        809 
        810     @classmethod
    
    ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pydub\audio_segment.py in from_file(cls, file, format, codec, parameters, start_second, duration, **kwargs)
        649         except TypeError:
        650             filename = None
    --> 651         file, close_file = _fd_or_path_or_tempfile(file, 'rb', tempfile=False)
        652 
        653         if format:
    
    ~\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\pydub\utils.py in _fd_or_path_or_tempfile(fd, mode, tempfile)
         58 
         59     if isinstance(fd, basestring):
    ---> 60         fd = open(fd, mode=mode)
         61         close_fd = True
         62 

FileNotFoundError: [Errno 2] No such file or directory: 'name_of_file.wav'
4

1 回答 1

0

os.listdir不会返回您给它的目录中文件的完整路径,只返回它们在该目录中的名称。您需要将此目录名称添加到您传递给AudioSegment.from_wav.

换线试试

     audio = AudioSegment.from_wav(audio_file)

     audio = AudioSegment.from_wav(os.path.join(base_path+"audios", audio_file))
于 2021-10-23T19:46:55.650 回答