Составляющей Ио ошибка чтения wavfile


Всякий раз, когда я пытаюсь читать А.wav файл, появляется следующая ошибка. Я искал везде, но не имел никакого прогресса в этом.
код:

import scipy as sp
import matplotlib.pyplot as plt
sr, y = sp.io.wavfile.read(MY_FILENAME)
print sr


Ошибка:

  File "/usr/local/lib/python2.7/dist-packages/scipy/io/wavfile.py", line 252, in read
    fmt_chunk = _read_fmt_chunk(fid, is_big_endian)
  File "/usr/local/lib/python2.7/dist-packages/scipy/io/wavfile.py", line 94, in _read_fmt_chunk
    raise ValueError("Unknown wave file format")
  ValueError: Unknown wave file format

Обновление:

После того, как я попробовал конвертировать мой файл, как предложил @velikodniy, используя sox:

sox MY_FILENAME.wav MY_FILENAME.wav

Но это бросает еще одно предупреждение:

sox WARN wav: Premature EOF on .wav input file
А теперь, если я попытаюсь воспроизвести оригинал .wav-файл, он говорит, неподдерживаемый формат в медиаплеере(ранее он был играя)
1 2

1 ответ:

WAV может содержать аудиоданные в различных форматах. Например, MP3.scipy.io.wavfile.read может читать только форматы PCM и с плавающей запятой (WAVE_FORMAT_PCM и WAVE_FORMAT_IEEE_FLOAT, если быть точным) в данный момент.

Таким образом, вы должны конвертировать ваш аудиофайл с помощью аудиоредактора (например, Audacity или sox).