Loopcast / beta

1 stars 0 forks source link

Notifyjs when levels are too loud or too low #666

Closed thomas1602 closed 8 years ago

thomas1602 commented 8 years ago

@hems we could show a message when the level is too loud and also add red borders to the waveform! I think its a pretty high priotiry now as several people who have tested tend to broadcast with distorted sound until I tell them to lower it down

thomas1602 commented 8 years ago

Here's an example! Perhaps we could even freeze the record and go live button until users have an ok level.

Too loud (db > 1):

screen shot 2015-12-04 at 16 46 53

Too low (db < 0.5):

screen shot 2015-12-04 at 16 52 05

hems commented 8 years ago

the problem with too low is that some tracks have long intros or breaks.

so detect db < 0.5 isn't very accurate.

we could have something for when the sound is silent..

regarding db > 1, it never happens, because after 1 it clips on AppCast and it only send 1.

so i believe the maximun we can do is to check if it's being a lot of 1s..

also we should speak to Adrian about a limiter on AppCast to try avoiding super nasty clipping //=

hems commented 8 years ago

i'll check now about the clipping detection

hems commented 8 years ago

I just did a basic detection, you can see it on the CONSOLE now on staging.

i check if the volume is 1 for more than 6 audio "frames", if it is, it detects as clipping.

same for "silent", it will detect for 6 frames.

@stefanoortisi i left an example here: https://github.com/Loopcast/beta/blob/3006614c51a2ea56319d40b9ee79344106cc9d2b/src/frontend/scripts/views/dashboard/meter.coffee#L53-L61

the problem here is that it might be triggered multiple times in a short period of time, in that case the notify.js should show only once and only appear again after it disappears, otherwise if the user is clipping or silent for a long time many notify.js windows would appear

hems commented 8 years ago

@stefanoortisi i actually created a basic red glowing effect on the background and opened a notification with a time limit of 10 secs. so i think it's fine!

let me know what you think!

in order to see the notification you have to pump the volume too loud