From: Jim Peters (jim_at_uazu.net)
Date: 2002-01-30 13:44:54
michalchik_at_aol.com wrote:
> A FFT API interface that we can plug into programs that will show
> the spectrum from each brain point in real time. From this we can
> make neurofeedback units that give visual, audio, or even mind
> driven hardware and software. Also if we can use the FFT real time
> analysis on sound channels or files we can use it for voice stress
> analysis by pulling out the vocal tremor frequency (15hz?)
I didn't want to use FFT because it forces you to use a linear scale
(which means lots of detail at high frequencies, and very little
detail at low frequency), and it effectively pre-selects the frequency
bands you are going to see (multiples of the sampling frequency
divided by a power of two).
That is why I developed my filter bank. It's working, and the code is
on the 'net. There are docs in the source file. I haven't packaged
it up into a nice library yet because I might switch to 12 bands per
octave with overlapping bands, or 6 with overlapping bands. Probably
other people might like other variations too. Not knowing exactly
what I'll need, I haven't generalized it to cover the other options
yet. However, the filterbank code does have a well-defined interface
already, if you want to try it:
http://uazu.net/temp/demo-20010126.zip
Basically it's just:
- Start the filter up (new_filterbank)
- Feed it samples one at a time, and read data out of the filter
arrays (->mag[] ->pha[] etc) (exec_filterbank)
- When you've finished, shut it down (del_filterbank)
You can have as many filter-banks as you like running at the same
time. If you like, I can cut out the filter code and put it into a
separate .c file for you.
For analysis of saved data, I'm thinking of using a different
technique, but I have no code written for that yet.
Jim
-- Jim Peters (_)/=\~/_(_) Uazú (_) /=\ ~/_ (_) jim@ (_) /=\ ~/_ (_) www. uazu.net (_) ____ /=\ ____ ~/_ ____ (_) uazu.net
This archive was generated by hypermail 2.1.4 : 2002-07-27 12:28:37 BST