2015-03-15 3 views
0

Я уже загрузил .wav аудио в буфер с XAudio2 (Windows 8.1) и играть в нее, я просто использовать:Как получить значение частоты в данный момент с помощью XAudio2?

//start consuming audio in the source voice 
/* IXAudio2SourceVoice* */ g_source->Start(); 

//play the sound 
g_source->SubmitSourceBuffer(buffer.xaBuffer()); 

Интересно, как я могу получить значение частоты в данный момент времени с XAudio2?

ответ

2

Вопрос не имеет большого смысла, файл .wav содержит очень много частот. Это смесь из них делает звук, похожий на музыку, на ваши уши, а не только искусственным звуком. Смесь, которая постоянно меняется.

Шаг преобразования сигнала необходим для преобразования образцов в WAV-файл из временной области в частотную область. Обычно известный как спектр анализа, быстрое преобразование Фурье (БПФ) является стандартной методикой.

Случайный Google ударил по «xaudio2 fft», изготовленному this code sample. Не знаю, как это хорошо, но с чем играть, чтобы получить землю. Об этом вы узнаете в this gamedev question.

+0

Спасибо. Не могли бы вы продлить второй абзац? Я имею в виду характеристики временной области/частотной области, различия и преобразование (думаю, я мог бы построить временную область как 2d-график с x = время, y = амплитуда, я прав?)? Я нашел реализации FFT, но я - самый новичок в физическом аспекте обработки звука. – PolGraphic

+0

Я не знаю, с чего начать, когда вы еще немного об этом знаете. Вам действительно нужно играть с этим, если вы не хотите читать книгу об этом. –

Смежные вопросы