On Tue, May 31, 2005 at 10:45:34AM +0000, michael@xxxxxxxxxxxxxxxxx wrote: > Hello, > > I've been looking on the web, and have visited the excellent resource > linux-sound.org, and am a bit overwhelmed as there are so many choices, > most much more elaborate than I need. > > What I need is the ability to monitor sound going from the computer out > to my sound card, and to report when the volume exceeds a certain > threshold. I need no graphic capability and as I will be writing my own > application around this I prefer as simple and straightforward a library > as possible. In fact I don't even need a library - a C function would be > ideal! > > Extra features that would be nice, but not critical, would be the > ability to have one or more filters so that I could report on the volume > in various frequency ranges. > > Do any of you have any suggestions for me? http://plugin.org.uk/ladspa-swh/util/rms.h and http://plugin.org.uk/ladspa-swh/util/rms.c Its not documented *cough*, but its pretty straightforward, just call rms_env_new() to create a new object for each channel, and rms_env_process() for every incoming sample (y), the rest should be obvious. NB its not the fastest way to calculate RMS (root mean squared) amplitude values, there is a filter network that will approximate it much more efficiently, but I dont have the filter code factored out like that. If you need filters, there is a biquad implementation at http://plugin.org.uk/ladspa-swh/util/biquad.h but thats a bit more complicated. - Steve