[ltp] Q: Loud system beep
Richard Neill
linux-thinkpad@linux-thinkpad.org
Sun, 15 Apr 2007 00:13:05 +0100
Paul Fox wrote:
> richard wrote:
> >
> > Henrik Enberg wrote:
> > > "Alexey I. Froloff" <raorn@cnt.ru> writes:
> > >> System beep (PC speaker emulation) is too loud on my X41,
> ...
> >
> > Are you talking about:
> >
> > a)The "real" pc speaker, (pcspkr), which never actually exists as a
> > separate speaker on a thinkpad, but has its own channel in the soundcard,
> >
> > or
> >
> > b)pc speaker emulation, caused eg by KDE system notification.
> >
> > In the former case, you should have a separate mixer device for it; you
> > can also make it quieter by making it *shorter*. Use xset.
>
> i'm not the OP, but in my case, the beeps that are Way Too Loud
> are the ones that tell you the power adapter's been plugged in
> or unplugged. it's not clear to me that xset, or a sound mixer,
> will help for those. (i'm not near my laptop, so i can't really
> try it.) for instance, an X11 setting certainly won't help if i'm
> not logged in. but i'll look for a mixer setting.
>
Those come right out of the BIOS - and I don't think anything would
help. You can turn down the master volume (with the volume buttons), but
that's about it - unless there's a BIOS setting for the volume?
Note: you can probably control the hardware volume using
/proc/acpi/ibm/volume, and you can trigger the beeps with
/proc/acpi/ibm/beep. Whether you can do anything to lower the volume, I
don't know. Perhaps a script could respond to an acpi event fast enough
to lower the volume of a beep as it happens?
For example:
echo 2 > /proc/acpi/ibm/beep ; echo level 1 > /proc/acpi/ibm/volume ;
sleep 0.5; echo level 15 > /proc/acpi/ibm/volume
On my T60p, this causes several beeps, of which two are quiet, and the
3rd is much louder. Whether you could make this react fast enough to
acpi events, I don't know.
Richard