UltraStar-Deluxe / Play

Free and open source singing game with song editor for desktop, mobile, and smart TV
https://ultrastar-play.com
MIT License
392 stars 72 forks source link

Feature request: Microphone Volume Stabalizer to avoid clipping from to high record volume on microphone. #474

Open jimmyhawkin opened 3 days ago

jimmyhawkin commented 3 days ago

We have the funktion to check latancy on Microphones. But it would be awsome to have a Volume stabilizer Button that could check if you have to high volume when you are speaking in to the mic. And if you detects klipping or that you are blowing the roof of the recording. Then it could lower the volume while doing this test.

I think that would be a great time saving feature so you dont have to spend allot if time fine tuning record volume to work best with the application.

AnsisMalins commented 2 days ago

The game should instead monitor the quality of the signal coming from the microphone continuously and adjust microphone volume and gain fully automatically.

jimmyhawkin commented 1 day ago

Think that would create allot of bad result if its constantly trying to do volume upp and down. Atleast in my head its better to do it in a more controlled term by pressing a button to start the test.

basisbit commented 1 day ago

constant adjusting would probably work well when in single-player mode and when also constantly monitoring that it isn't picking up the speakers audio output, especially because the game only grades when it expects the player to be singing a syllable. For when you have local multiplayer, you'd probably run into higher risk of picking up noise from other players. The current implementation tends to make players somewhat auto-adjust their volume if they only are somewhat too quiet, thanks to the in-game feedback. Might need some more ideas on how to do the ongoing auto-adjusting without picking up unintended noise sources.

Also maybe worth it to mention that mild or medium clipping tends to not cause much problems for the pitch detection algorithm.