phetsims / wave-interference

"Wave Interference" is an educational simulation in HTML5, by PhET Interactive Simulations.
MIT License
18 stars 5 forks source link

Increase volume of sounds overall #483

Closed arouinfar closed 4 years ago

arouinfar commented 4 years ago

@samreid I'm finding the overall volume of the sim to be pretty low. With headphones, the volume needs to be ~70% for all sounds to be reasonably heard. Without headphones, things are still pretty faint on my MacBook at maximum volume. It's even worse on the interview device (old MacBook Air).

Here's a video showing Waves Intro (master) and Molarity (latest) on the interview device at max volume: https://drive.google.com/file/d/1mju8kGHSuRHzJV3U8RG5pn_8hh2OFGqP/view

arouinfar commented 4 years ago

This needs to be addressed before interviews, so marking as high priority.

samreid commented 4 years ago

Using Blackhole + audacity, plus the instructions at

https://github.com/ExistentialAudio/BlackHole https://forum.audacityteam.org/viewtopic.php?f=47&t=107162 open /Applications/Audacity.app/Contents/MacOS/Audacity

I recorded audio from Molarity (left) and Waves Intro (right): image

samreid commented 4 years ago

After setting the 'user-interface' category back to 1.0 in Waves Intro, they are still not matched:

image

samreid commented 4 years ago

@jbphet helped identify the problem in the linked issue above, but it means we cannot use the Checkbox to test normalization between Molarity and Waves Intro until that issue is resolved. But @jbphet indicated the "reset all" button is a good sound to use for normalization. Testing the reset all button with no override for the "user interface" category shows they do match:

image

samreid commented 4 years ago

Since the commit changed the user interface volume from 0.15 to 1.0, other sounds will need to be boosted by 1/0.15=6.66 to compensate.

samreid commented 4 years ago

I asked @jbphet on slack:

I changed the user-interface category output level from 0.15 to 1.0. How would you recommend to boost everything else in the sim accordingly? Is there a way to

soundManager.setOutputLevelForCategory( 'NO CATEGORY', 1.0/0.15 );

Or is there a better way?

samreid commented 4 years ago

@jbphet recommended to search for usages of initialOutputLevel and outputLevel. I corrected those by dividing by 0.15, so this would hopefully restore the prior within-sim normalization as well as the new feature of having across-sim normalization. @arouinfar can you please review?

arouinfar commented 4 years ago

@samreid this is all sounding good to me in master. The general volume seems very similar to Molarity, and I can hear the sounds reasonably well with speaker volume at 50%. The within-sim volume balancing done in #474 seems to have been preserved.