HEnquist / camillagui

GNU General Public License v3.0
9 stars 1 forks source link

show dbFS value of capture/playback signal #50

Closed Wang-Yue closed 2 years ago

Wang-Yue commented 2 years ago

I found the capture/playback signal very useful. I wish you can also list the dbFS value on the right of the meter.

btw I also wish to see peak value as well --- that really indicates if something is clipping (that requires a backend change as well). Of course these settings can be hidden behind a yml settings flag.

JWahle commented 2 years ago

I found the capture/playback signal very useful. I wish you can also list the dbFS value on the right of the meter.

In the develop branches of the backend and frontend, I added a setting to show the level in dB. You can enable this in the gui-config.yaml in the backend.

btw I also wish to see peak value as well --- that really indicates if something is clipping (that requires a backend change as well). Of course these settings can be hidden behind a yml settings flag.

@HEnquist do we really need a setting for this, or should we just use the peak value instead of the rms value? Does the rms value offer any benefit over the peak value?

HEnquist commented 2 years ago

At the moment the VU meter can only show one value, and then I think RMS makes more sense than peak. But I would like to extend it to show both. I have something like this in mind: https://sch-remote.com/pimg/EVOR02x_1.jpg The rms would then be shown by the full bar, same as now. And the marker to the left shows the peak. It should show the peak from the last few seconds, and not just the instant value.

JWahle commented 2 years ago

I implemented something similar - without the labels. When I find the time, I'll try to build something shiny with db labels. VU meters

In the backend, I use the peak values from CamillaConnection.get_capture_signal_peak() and CamillaConnection.get_playback_signal_peak().

JWahle commented 2 years ago

VuMeters How about this? I left 10% of the bar to indicate clipping. The steps on the scale are pretty big, due to the 100dB volume range. Should we reduce it?

Feel free to play around with it in the develop branch.

HEnquist commented 2 years ago

Looks really good! The range became 100dB mostly because it's a simple number. We can certainly reduce it. Is 50dB better? Or should it be adjustable via the GUI settings?

JWahle commented 2 years ago

Is 50dB better? Or should it be adjustable via the GUI settings?

For the sake of simplicity, I would go with ~50dB fixed. (I actually went for 51dB, so the minus sign before the "-48" dB label doesn't get truncated.) Otherwise, I would have to invent some clever logic regarding the dB-labels on the scale. If someone files a bug and gives a good reason, why he needs more, I might be willing to implement it, though.

I think, this looks pretty good: VuMeter2 I tried to get a less pixelated look - to no avail. Any other remarks? Feel free to be picky ;)

HEnquist commented 2 years ago

Yes automatic handling of the scale labels becomes a fair bit of work. I think fixed 50 dB should be fine. BTW how would it look if we skip the dB scale numbers between channels, and just have them under the last one?

JWahle commented 2 years ago

Labels only at bottom: VuMeters labels only bottom

Labels at top and bottom: VuMeters labels top and bottom

I find it a little hard to read with the labels only at the bottom, but top and bottom looks good to me.

Here is also a comparison of labels between meters and labels only at top and bottom with 2 in and 8 out channels: VuMeters 2-8 labels top and bottom VuMeters 2-8 middle labels

I like the top and bottom solution the most. What do you think?

JWahle commented 2 years ago

The top/bottom solution is the one currently pushed to develop. If you have any remarks, feel free to reopen the issue.

HEnquist commented 2 years ago

Sorry forgot to answer! I agree, top and bottoms looks best.