Графический эквалайзер
Народ, подскажите, как в с++ считывать частоты звука для их послед.вывода, как в большинстве проигрывателей или, как в частотной диаграмме Windows Media Player?
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Вопрос не касается С++ на прямую, это вопрос по алгоритмам. Как имея аналоговый сигнал, измерянный с определённым шагом и сохранённый в файл (это и есть wave файл), получить частотные характеристики этого сигнала? Так что с вашего позволения, Navigator, перемещаю вопрос в Алгоритмы, оставляя в С++ ссылку.
Касательно ответа могу посоветовать использовать БПФ (быстрое преобразование Фурье) для получения гармоник неком "окне". Ширина окна должа быть выбрана эмпирически. Окно нужно двигать по файлу, каждый раз вычисляя гармоники (они же частотные характеристики) и показывая их пользователю в виде набора столбцов. Формулы БПФ на память не помню, но их без проблем можно найти во всемирной сети.
Касательно ответа могу посоветовать использовать БПФ (быстрое преобразование Фурье) для получения гармоник неком "окне". Ширина окна должа быть выбрана эмпирически. Окно нужно двигать по файлу, каждый раз вычисляя гармоники (они же частотные характеристики) и показывая их пользователю в виде набора столбцов. Формулы БПФ на память не помню, но их без проблем можно найти во всемирной сети.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Делать вручную не советую. Рекомендую использовать готовые sdk - google research. Если так охота самому, то действительно FFT.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
Можно поподробнее?DeeJayC писал(а):Делать вручную не советую. Рекомендую использовать готовые sdk - google research. Если так охота самому, то действительно FFT.
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Подробнее про FFT : http://www.fftw.org/
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC