Аудио эквалайзет изменяет амплитуду сигнала в заданной полосе частот. Для этого проще всего использовать набор полосовых фильтров - сигнал фильтруется с помощью этих фильтров, полученные узкополосные сигналы усиливаются или ослабляются и затем складываются. MP3 и IDCT к эквалайзеру не имеют отношения. В частности MP3 использует гибридный банк фильтров (QMF полосовые фильтры + MDCT/IMDCT), при этом сигнал в каждом диапазоне инвертирован по отношению к соседнему. Изменение амплитуды сигнала после фильтрования приводит к возникновению дополнительного aliasing, который не будет подавляться стандатными средствами, что проявляется в металлическом звучании. Для демонстрации проще всего взять демо из Matlab или , если есть желание написать самому, то использовать STFT (Short Time Fourier Transform), которое реализуется элементарно. Кстати, правильно реализованное преобразование Фурье никаких новых гармоник с сигнал не вносит, а показывает то, что в нем действительно есть. Для этого нужно, чтобы сигнал наростал и убывал плавно и в нем не было разрывов (в силу периодичноcти преобразования начальная и конечная точки должны совпадать). Реализуется это элементарно в том же STFT путем умножения сигнала на оконную функцию, начальное и конечные значения которой равны нулю (Hann window, for example
http://en.wikipedia.org/wiki/Window_function). Реализация STFT ( поиск в интернете) займет минут 10-20, в вот с UI, загрузкой аудио файлов и их проигрыванием прийдется немного повозиться. Для этого можно использовать JukeBox или PlayWnd из Players samples из DirectX SDK (по крайне мере в DX9 такое было).