В C я использую библиотеку Libsndfile, чтобы помочь мне прочитать значения wav-файла, чтобы я мог выполнить некоторые вычисления после них. Хотя, когда я получаю вывод файла, я не уверен, что означают эти цифры. Почему цифры в миллионах? Сначала я подумал, что это Гц, но это не имело смысла в моем сознании. Информация о wav-файле приведена ниже. При этом я использую функцию sf_read_int() для записи значений в память.Значения wav-файла
Что делает sf_read_int()? Это была получена из апи документации libsndfile: изделия
- Файл записи функции записи данных в массиве, на который указывает PTR в файл. Параметр items должен быть целым произведением числа каналов или произойдет ошибка.
я решил построить некоторые из этих огромных значений на графике, и это выглядит очень похоже на то, что файл WAV должен выглядеть (если я импортировал в дерзости и увеличенной в определенном месте, я бы это увидел). Обратите внимание, что показанные значения не являются одинаковыми значениями на графике, я выбрал значения в случайный момент времени. Итак, я думаю, что реальный вопрос в том, почему эти ценности настолько велики (в миллионах)? И что они представляют? (Являются ли они байты?)
В каком формате содержится файл? Может быть, они плавают? – cleblanc
Буду честно с вами, я понятия не имею, как это проверить. Я преобразовал простой mp3 в wav-файл онлайн и использовал это как файл. Хотя, когда я пытаюсь sf_read_float(), мой вывод - все 0. – VedhaR
http://soundfile.sapp.org/doc/WaveFormat/ – KevinDTimm