Rockbox Development > Feature Ideas
Adjusting Volume via ambient noise on players with a mic
Confuseling:
How about the first idea, but volume only reduces.
So...
1) While you're setting the volume (to your preferred maximum), the playback volume fades up slowly to 100% of set volume. Rockbox measures 'base' ambient volume over a short period.
2) As the ambient volume falls against the measured base level, playback volume falls by a configurable amount. If the ambient volume rises and you wish for more playback volume, you have to set a new maximum yourself.
The worst thing brushing your clothes could do would be to bias the base level, so volume fell off after you stopped and you had to set it again. Screaming into the microphone wouldn't do anything either.
Not really any more likely to cause harm than the present set up.
gevaerts:
--- Quote from: GodEater on May 17, 2010, 04:06:13 AM ---I'd be interested to see if anyone can actually manage to make accidental triggering of this by contact noise work first. I'm not optimistic it's going to be that easy or reliable.
--- End quote ---
For the "pause on noise" feature, I think you want some extras anyway, such as hysteresis. That would (I think) take care of both this issue and sudden gaps in the noise.
Actually, I think you also want to combine this with rewind-a-bit-on-resume
Llorean:
Well, I mean as a start you'd want it not to go off unless the noise raises above a certain level for half a second or so (to avoid sudden sharp noises triggering it) and not to stop again until it's been "quiet" for a certain amount of time too.
I imagine it could be made... I don't want to say "reliable", but I think most false positive can be weeded out so that once you've picked a trigger level it won't accidentally pause. I think for it to work nicely it would be okay if sometimes it didn't pause, but it wouldn't be okay if it sometimes did when it shouldn't.
Confuseling:
Any thoughts on the above suggestion? In case it isn't clear, here's some pseudocode of sorts (bearing in mind I'm no programmer... ;))
--- Code: ---do
{
play music at playback volume;
if (volume key pressed)
{
adjust set volume;
playback volume fades to set volume; // for ~10 seconds or something
sample base Average Ambient Volume; // 'AAV' from here on
}
else
{
sample current AAV;
if (current AAV < base AAV)
{
playback volume = set volume - ((base AAV - current AAV) * volume adjustment multiplier);
}
else
{
playback volume = set volume;
}
}
}
loop
--- End code ---
I read on an IRC log somewhere that some players can't sample and play back at the same time. For the ones that can, this seems like it would work quite well to me if the averages were taken fairly slowly so it didn't jump around all over the place... Am I missing something (probably...)? Would there perhaps be an excess CPU / battery overhead? I could still see myself using it occasionally, on public transport for example. Could it, perhaps, work as a plugin?
Thanks.
Davis_1377:
Having it auto adjust the volume to ambient noise is a good idea if its done right, when the noise gets loud and quiet it will adjust the volume just small enough to apear the same. It won't adjust too much like if someone screams into your Mic and it would be alittle time delayed. The other pausing when loud noise is also a good idea. I work in a factory and been using these from www.plugphones.com for over 2 years with the clip zip and this would be very handy features.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version