Re: [linux-audio-user] seeking simple library to detect sound volume

From: Steve Harris <S.W.Harris@email-addr-hidden>
Date: Wed Jun 01 2005 - 12:53:53 EEST

On Tue, May 31, 2005 at 10:45:34AM +0000, michael@email-addr-hidden 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
Received on Wed Jun 1 16:15:05 2005

This archive was generated by hypermail 2.1.8 : Wed Jun 01 2005 - 16:15:05 EEST