Live sound low/highpass filtering

Fórumok

Hi all!

Segítséget kérnék a fenti témakörben.

A feladat: mikrofonról real-time felvett hangot kellene szűrni a köv módon:

- tól-ig skálán beállítani 1 értéket a magas frekvenciatartománynak
- tól-ig skálán beállítani 1 értéket az alacsony frekvenciatartománynak

Majd ezek után a felvett anyag real-time szűrése, és a szűrt hang továbbjátszása az eszköz hangkimenetére.

Soha nem csináltam még semmi ehhez hasonlót, ezért érdeklődnék hogy merre kellene egyáltalán elkezdeni a keresgélést.
Esetleg van erre kész library c/c++ - hoz?

Köszönöm mindenkinek a leendő javaslatokat!

Üdv,
goddethroned

Hozzászólások

persze, meg a kvantummechanika nélkül neki se kezdjen :D
attól függ mit akar, ez kicsit kevés infó hogy matekhoz vagy hangmérnökhöz irányítsuk, szóval legyen itt ez is:

sox.sourceforge.net
(nyílt kódú, lehet cut&paste módra is, sőt egyszerűen csövezve is használni ha gyors _működő_ eredmény kell)

A Speexet vagy CELT-et lehet, hogy érdemes lenne megnézned ( www.xiph.org ), mind a kettő hangfeldolgozással foglalkozik, lehet, hogy van bennük olyan rész ami érdekel. A speexet már használtam, ott érdemes gitből letölteni a forrást, mert az a naprakész, és a preprocessor rész az ami téged érdekelhet. A CELT-et nem ismerem.
--
ahan nem

sox lehet, hogy késni fog; nem tudom, hogy van-e valósidejű módja. Próba-cseresznye.

A másik út valami olyan proggi, ami LADSPA-pluginokat tud használni.

A harmadik lehetőség Windows vagy Mac.

Ha linux, akkor itt írkáltunk a valós idejű beállításról (de máshol is találsz róla infót).

Ha low latency kell, akkor nem mindegy az sem, hogy milyen rétegeken keresztül hajtod meg a hangkártyát.

Linuxon a jackd-t érdemes lehet összerakni, abban elég egyszerűen implementálhatóak szűrők. Ha szerencséd van létezik is eleve amit keresel.

a dft alapu megoldasok az ablakozas/alias-ozas miatt nem biztos hogy a legjobbak erre a celra direkt. szofisztikaltabb megoldasok talan jok. erdemes lehet pl megnezni hogy egy mp3 lejatszo (xmms, pl) hogy csinalja az ekvale'zereze'st. akkor lehet realtime: hang -> mp3 -> szures -> mp3 -> hang koverzio.

vagy, egy olyan visszacsatolasi halozatot implementalni ami a megfelelo" RC-ko"rt valositja meg. RC-tagokbol tetszoleges passziv es adott josagu szurot lehet csinalni, ha jol tevedek; maximum a jarulekos erositese lesz gyenge. de mivel itt nem elektronikarol van szo, hanem programozasrol, ez nem gond, csak be kell szorozni a kimenetet egy adott ertekkel. ez is erdekes lehet, mint megoldas. ha lenne egy kis idom, meg is nezne'm aka'r...:]