Python informa un error al leer la duración del audio. El archivo contiene datos en un formato desconocido.

1.Encontrar un problema

"D:\Program Files\pythonProject1\Scripts\python.exe" C:/Users/Administrator/PycharmProjects/pythonProject1/test_dura.py
Traceback (última llamada más reciente):
  Archivo "D:\Program Files\pythonProject1\lib\site -packages\librosa\core\audio.py", línea 713, en get_duration
    devuelve sf.info(filename).duration
  Archivo "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", línea 438, en información
    devuelve _SoundFileInfo(archivo, detallado)
  Archivo "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", línea 383, en __init__
    con SoundFile(archivo) como f:
  Archivo "D:\Program Files \pythonProject1\lib\site-packages\soundfile.py", línea 629, en __init__
    self._file = self._open(file, mode_int,cerrado)
  Archivo "D:\Program Files\pythonProject1\lib\site-packages\soundfile.py", línea 1183, en _open
    _error_check(_snd.sf_error(file_ptr),
  Archivo "D:\Program Files\pythonProject1\lib\site-packages \soundfile.py", línea 1357, en _error_check
    rise RuntimeError(prefix + _ffi.string(err_str).decode('utf-8', 'replace'))
RuntimeError: Error al abrir 'D:\\123\\889202111_3\ \20211101\\1635731427141000000000334953_APZ-20210831-001-011720_8001147425_15720306975_20211101095027_1029.mp3': El archivo contiene datos en un formato desconocido.
Durante el manejo del excepción anterior, ocurrió otra excepción:
Rastreo (última llamada más reciente):
  Archivo "C:\Users\Administrator \PycharmProjects\pythonProject1\test_dura.py", línea 25,en <módulo>
    principal()
  Archivo "C:\Users\Administrator\PycharmProjects\pythonProject1\test_dura.py", línea 9, en
    duración principalTime = librosa.get_duration(filename=path)
  Archivo "D:\Program Files\pythonProject1\lib\site-packages\librosa \util\decorators.py", línea 88, en internal_f
    return f(*args, **kwargs)
  Archivo "D:\Program Files\pythonProject1\lib\site-packages\librosa\core\audio.py", línea 715 , en get_duration
    con audioread.audio_open(nombre de archivo) como fdesc:
  Archivo "D:\Program Files\pythonProject1\lib\site-packages\audioread\__init__.py", línea 116, en audio_open
    rise NoBackendError()
audioread.exceptions.NoBackendError

2.Solución

 La biblioteca librosa depende de ffmpeg.

 Descargue e instale ffmpeg y agregue la ruta del directorio bin a la variable de entorno.

  Encontrado en el entorno de instalación de Python.

 Modificar por dentro


#COMMANDS = ('ffmpeg', 'avconv')
COMMANDS = ('D:/learn/ffmpeg-N-102014-gda6e137cb6-win64-gpl-shared/ffmpeg-N-102014-gda6e137cb6-win64-gpl-shared/bin/ffmpeg.exe', 'avconv')

Supongo que te gusta

Origin blog.csdn.net/beautifulYuan/article/details/122997827
Recomendado
Clasificación