Графический эквалайзер

Алгоритмы: от сортировки пузырьком до численных методов

Модераторы: C_O_D_E, DeeJayC

Ответить
Navigator
Сообщения: 2
Зарегистрирован: 28 дек 2006, 20:34

Народ, подскажите, как в с++ считывать частоты звука для их послед.вывода, как в большинстве проигрывателей или, как в частотной диаграмме Windows Media Player?
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Вопрос не касается С++ на прямую, это вопрос по алгоритмам. Как имея аналоговый сигнал, измерянный с определённым шагом и сохранённый в файл (это и есть wave файл), получить частотные характеристики этого сигнала? Так что с вашего позволения, Navigator, перемещаю вопрос в Алгоритмы, оставляя в С++ ссылку.

Касательно ответа могу посоветовать использовать БПФ (быстрое преобразование Фурье) для получения гармоник неком "окне". Ширина окна должа быть выбрана эмпирически. Окно нужно двигать по файлу, каждый раз вычисляя гармоники (они же частотные характеристики) и показывая их пользователю в виде набора столбцов. Формулы БПФ на память не помню, но их без проблем можно найти во всемирной сети.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

В MP3/OGG/etc частотный спектр и так уже есть нахаляву, никакого Фурье не нужно.
2B OR NOT(2B) = FF
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

Делать вручную не советую. Рекомендую использовать готовые sdk - google research. Если так охота самому, то действительно FFT.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Navigator
Сообщения: 2
Зарегистрирован: 28 дек 2006, 20:34

DeeJayC писал(а):Делать вручную не советую. Рекомендую использовать готовые sdk - google research. Если так охота самому, то действительно FFT.
Можно поподробнее?
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

Подробнее про FFT : http://www.fftw.org/
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Ответить