SoundWatcher ReadMe
version 1.5
Here is the release of my real-time spectrum analyzer for
BeOS DR8. It's not designed to do anything truly useful, but it's fun
the play with and watch, and it shows off the BeBox. If you played with
earlier versions, this one is much improved.
SoundWatcher has a number of options, available through the window's menus.
You can select the audio input port, the sampling rate, and whether microphone
boosting is on.
The Draw Mode menu currently contains three modes:
- Simple and Fast
- This is the drawing mode used in previous versions. It presents the
lightest load on the computer.
- Fading
- New for version 1.5, this mode lightens and darkens sections of the
spectrum depending on how often each band reaches different intensity
levels. It doesn't react as quickly as the simple mode, but is better
at showing how the sound changes over time.
- Ooh! Trippy!
- I couldn't resist this one... :)
TECHNICAL NOTES
SoundWatcher performs a 1024-point FFT on the average of both audio channels,
after applying a Hanning window.
On my 66-MHz BeBox, sampling at 44.1 KHz, I get an average frame rate of about
42 fps when SoundWatcher is the only computation-intensive task running. Dragging
the window around on a cluttered screen will dramatically slow down the frame
rate.
ACKNOWLEDGEMENTS
The FFT routines are taken from
John Green's FFT for RISC 1.2 package, available on info-mac and probably
elsewhere. Also, thanks to Steve Haehnichen for his "fft.doc", where I learned a lot
about using FFTs with audio data. (Sorry, I can't remember where I got it.)
WISH LIST
- dynamically sliding FFT windows, based on the processor load and
desired frames-per-second
- reporting the frequency band under the mouse
- real error checking and reporting
If you have any comments, suggestions, bug reports, etc. feel free to
contact me. Have fun, share and enjoy...
Chris Reed (creed@purity.com)
Changes in version 1.5
- made the window wider and shorter
- band intensity is now displayed logarithmically
- a bunch of internal changes and optimizations
- added several drawing modes
- used the latest version of the FFT library
- changed stats output a little
Changes since version 1.0a1
- fixed a bug in the drawing routines that incorrectly rendered the first
frame when there was a signal present during startup
- added statistics output
- brought spectrum display size down to 256x150 (I think it's easier to
view when it's smaller)