Ticket #607 (new enhancement)

Opened 3 years ago

Last modified 4 weeks ago

clip detection? flat volumes

Reported by: Rudd-O Owned by: lennart
Milestone: Component: pavucontrol
Keywords: Cc:

Description

can pavucontrol and pavumeter be extended to show a clip indicator if the sink is clipping? in light of the fact that multiple streams may be playing at the same time and might clip, it might be very useful to put a clip detector and show the amount of dB that the audio data is "over". doesn't have to be fancy, just a button box with a red background that lights up, with a number in dB that shows the peak level and lets itself be reset with a click of the mouse.

it might also be interesting to scale the sink volume up if the sink volume has leeway and clipping is about to happen. I don't know, however, how that would interfere with the flat volumes feature. perhaps it would be wise to make the sink volume level 3dB louder than the loudest stream? this needs to be thought over better.

you should know that, over here, when a stream starts playback and its volume is restored, and its restored volume is louder than a stream that was already playing, one can hear a brief snap-increment in volume in the first stream while flat-volumes dials up the hardware volume control and dials down the internal volume of the first stream. it's very annoying to have a terminal issue a bonk sound and while the sound plays, the music dials up quite a lot for a very brief period of time.

Change History

Changed 3 years ago by lennart

Interesting idea. But then again, I am not sure how many people would actually grok what's going on if they see that clipping sign flashing.

But hmm, this would make sense to add I guess.

Changed 4 weeks ago by Rudd-O

  • component changed from daemon to pavucontrol

Clipping is detected in 16-bit int audio by spotting three consecutive unity gain values (32767 or -32768) in the stream, right?

(on floating point it's trivial).

UI-wise, I'd show the clipping indicators light up for ten seconds, then dim again.

Also, are the meters log or linear? They appear to be linear, they should probably be log.

Note: See TracTickets for help on using tickets.