scipy.io.wavfile.read не может читать 16-битные файлы .wav - PullRequest
0 голосов
/ 30 июня 2019

У меня проблема с чтением файла WAV с 2 байтами. Я видел scipy.io.wavfile.read не может читать 24-битные файлы .wav и неожиданный конец файла wavfile.read python . но оба они относятся к чтению 24-битного файла, который wavfile.read не может его поддерживать. Вот мой код, когда я получаю информацию из моего файла

sample width

и вот когда я хочу это прочитать, но у меня есть файл с неожиданной ошибкой.

cannot read 16-bits

РЕДАКТИРОВАТЬ: вот мой образец. WAV файл Загруженный файл

1 Ответ

0 голосов
/ 30 июня 2019

Может воспроизвести вашу ошибку. Как и предполагалось здесь , я «пересэмплировал» файл, запустив sox 50.wav -r 44100 resampled_50.wav.

Вот результат:

>>> from scipy.io import wavfile
>>> wavfile.read("50.wav")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/scipy/io/wavfile.py", line 246, in read
    raise ValueError("Unexpected end of file.")
ValueError: Unexpected end of file.
>>> wavfile.read("resampled_50.wav")
(44100, array([[-2171, -2025],
       [-1306,  -510],
       [ -550,   591],
       ..., 
       [ -157,  -155],
       [ -166,  -170],
       [ -164,  -164]], dtype=int16))
>>>

Похоже, этот подход работает. Надеюсь, это поможет вам!

...