Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Анализатор спектра


Автор: AndreySol 19.2.2010, 08:15
Как реализовать, применительно к DirectShow ?
Примерно понимаю, что надо делать фильтр, а в нем скорее всего использовать FFT(FT).
Может есть примеры подобного, с исходниками ?

Автор: Deutscher 26.7.2012, 21:09
У меня та же проблема хотел сделать цветомузыку на DirectShow перерыл пол инета ничего не нашел.
Только пример кода как воспроизводить mp3 и всё.  smile 

Вообще такое чувство что никто подобными темами не занимался.
Да и вообще я начинаю думать что программировать под DirectX гиблое дело ввиду отсутствия исчерпывающей инвормации и примеров.

А когда спросиш на форуме обычно отмашку делают мол смотри DirectX SDK  smile

Попробуй получить спектр с помощью bass.dll если нужно могу выслать пример программы.  smile 

Автор: borisbn 30.7.2012, 08:22
Цитата(AndreySol @  19.2.2010,  08:15 Найти цитируемый пост)
Как реализовать, применительно к DirectShow ?

Честно говоря, DirectShow не знаю, но мне кажется, что для расчёта спектра он не нужен. Посмотри библиотеку http://www.fftw.org/
Вот пример расчёта спектра из их документации

Код

#include <fftw3.h>
     ...
     {
         fftw_complex *in, *out;
         fftw_plan p;
         ...
         in = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
         out = (fftw_complex*) fftw_malloc(sizeof(fftw_complex) * N);
         p = fftw_plan_dft_1d(N, in, out, FFTW_FORWARD, FFTW_ESTIMATE);
         ...
         fftw_execute(p); /* repeat as needed */
         ...
         fftw_destroy_plan(p);
         fftw_free(in); fftw_free(out);
     }

Автор: Deutscher 1.8.2012, 18:31
Цитата(borisbn @  30.7.2012,  08:22 Найти цитируемый пост)
Честно говоря, DirectShow не знаю, но мне кажется, что для расчёта спектра он не нужен.


Ну для расчёта спектра мне кажется он действительно не нужен. Как мне кажется он нужен лишь для воспроизведения файлов и извлечения из них информации которую нужно затем передать в функцию БПФ.

Вот вопрос какую информацию извлекать???

Автор: 500mhz 1.8.2012, 18:56
А чем BASS не угодила? Там уже все готово, и примеры есть анализатора.

Автор: Deutscher 2.8.2012, 11:07
Цитата(500mhz @  1.8.2012,  18:56 Найти цитируемый пост)
А чем BASS не угодила?


Не помню где читал но вроде BASS написанна на directshow. Так вот зачем использовать ещё одну библиотеку в решении этого вопроса если можно сразу ds использовать

Автор: 500mhz 2.8.2012, 12:41
Мы не исчем простых путей )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)