2013-03-28 3 views
0

Я работал над кодом C++, который будет принимать звук и выводить его частоту ядра, например, гитарный тюнер. Я могу генерировать собственную рандомизированную синусоидальную волну и успешно выполнять БПФ из текстового файла, который является просто амплитудой или временем. Я просто не знаю, как создавать пригодные для использования данные из микрофона или звукового файла.Как получить данные PCM из записанного звука для анализа Фурье

Есть ли простой способ пробовать звук и выводить данные в текстовом файле с амплитудой или временем?

Я изучил формат файла WAV и то, как работают различные куски, но немного выше моего уровня. Любая помощь действительно ценится.

ответ

0

Если вы можете обеспечить, чтобы ваш WAV был моно, несжатым, 16-разрядным и с известной частотой дискретизации, вы можете либо пропустить WAV/RIFF/любой заголовок, либо сосать его, как если бы это были образцы (которые должны были использовать " t влияет на результаты вашего FFT, если файл длинный).

Помимо этого несжатый WAV не является ужасно сложным форматом. С еще большим усилием вы проанализируете его.