Только в wavах не всегда отсчеты записаны в байтовые значения, чаще это int16, так же возможны int32, float и double. Анализируйте тип, который будут иметь элементы возвращаемого массива.
Кроме того, wav - это не всегда не сжатые данные, формат поддерживает множество вариантов сжатия. Есть вероятность, что scipy.io.wavfile.read что-то не поддерживает. Смотрел по диагонали исходники scipy.io.wavfile.read - создалось впечатление, что там поддерживаются только не сжатые данные.
Для C/C++ можно воспользоваться библиотекой libsndfile.
Эта библиотека поддерживает множество вариантов сжатия, применяемых в wavах, и не сжатые данные, конечно, то же.
Я вас удивлю, но в любом wav файле на каждую секунду обычно приходится по несколько тысяч значений.
Конкретное количество зависит от частоты дискретизации сигнала. Ее scipy.io.wavfile.read возвращает в первом параметре.
Типовой аудио файл с CD качеством записан с частотой дискретизации 44100 Гц - это значит, что на каждую секунду записи на каждый канал приходится 44100 отсчетов сигнала.
Кроме того в wav файле может содержаться не один канал записи, а несколько. Для стерео записи - это 2 канала и т.п. Для определения количествва каналов смотрите вторую размерность возвращаемого массива. Первая размерность - общее количество отчетов в файле.
Из минусов scipy.io.wavfile.read - он читает сразу весь файл. Сталкивался с очень большими файлами (несколько Гб), которые было проблематично прочитать за один раз (ограничения памяти), приходилось искать другие варианты или более мощный комп.