Я пытаюсь реализовать приложение, которое отображает спектр звука с использованием басов (http://www.un4seen.com/). Насколько я понимаю, мне придется:
Получить данные БПФ из потока float [] buffer = new float [256]; Bass.BASS_ChannelGetData (дескриптор, буфер, (целое) (BASS_DATA_FFT_COMPLEX | BASS_DATA_FFT_NOWINDOW));
Для каждого fft вычислите его величину
Примените оконную функцию к БПФ (подойдет Ханнинг или Хэмминг)
затем нарисуйте красивый спектральный анализ
Однако проблема в том, что:
- Кажется, что BASS_DATA_FFT_COMPLEX BassData недоступен. Я вижу, что он должен быть доступен в документации http://www.bass.radio42.com/help/html/a13cfef0-1056-bb94-81c4-a4fdf21bd463.htm, но я не могу его использовать, так как получаю сообщение об ошибке, что BassData не включает такое перечисление
- Кроме того, мне интересно, правильно ли то, что я делаю. Чтобы построить спектр, я должен просто построить график величины fft или plat величину fft в зависимости от частоты этого fft? В этом случае, как мне получить частоту, соответствующую этому fft? Я не возражаю против кода, вырезанного из любого языка (C / C ++, C #, VB, Java и т. Д.)
Примечание. Я не уверен, поможет ли это, но я использую вот что: построение графиков с использованием элемента управления Microsoft Chart. C # с BASS.NET API от http://www.bass.radio42.com/ Любая помощь и предложения очень ценятся