phetsims / balloons-and-static-electricity

"Balloons and Static Electricity" is an educational simulation in HTML5, by PhET Interactive Simulations.
http://phet.colorado.edu/en/simulation/balloons-and-static-electricity
GNU General Public License v3.0
6 stars 10 forks source link

Long sweater rubbing noise #558

Closed KatieWoe closed 2 years ago

KatieWoe commented 3 years ago

Test device Dell Operating System Win 11 Browser Chrome Problem description For https://github.com/phetsims/qa/issues/731. Can be hard to reproduce, and show up a bit unexpectedly. When a balloon is dragged across the sweater very quickly, the sound effect of the sweater being rubbed may go on for noticeably longer than it should once the balloon stops. The most reliable way I've been able to produce this is by dragging the balloon left across the sweater, near the sweater bottom, and holding the mouse as far left on the screen as I can. It happens at other times, but this seems the most reliable method for reproduction. Steps to reproduce

  1. Quickly drag a balloon across the bottom of the sweater
  2. Hold the mouse on the left side of the screen until sound effect stops.

Visuals

https://user-images.githubusercontent.com/41024075/140106475-f0b4f42f-c6a3-4fae-82a9-72bb38ca91c5.MOV

https://user-images.githubusercontent.com/41024075/140106500-3ab3b38d-c12d-400f-99d6-ad54f36646f4.MOV

Troubleshooting information:

!!!!! DO NOT EDIT !!!!! Name: ‪Balloons and Static Electricity‬ URL: https://phet-dev.colorado.edu/html/balloons-and-static-electricity/1.5.0-rc.3/phet/balloons-and-static-electricity_all_phet.html Version: 1.5.0-rc.3 2021-11-01 21:19:47 UTC Features missing: applicationcache, applicationcache, touch Flags: pixelRatioScaling User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Language: en-US Window: 1280x649 Pixel Ratio: 1.5/1 WebGL: WebGL 1.0 (OpenGL ES 2.0 Chromium) GLSL: WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium) Vendor: WebKit (WebKit WebGL) Vertex: attribs: 16 varying: 30 uniform: 4096 Texture: size: 16384 imageUnits: 16 (vertex: 16, combined: 32) Max viewport: 32767x32767 OES_texture_float: true Dependencies JSON: {}
jbphet commented 2 years ago

I have fixed this by capping the max velocity used when making the calculations related to how to smooth out the sound. To make this work well, I also moved the stepping of the time-dependent behavior to a more standard step function. This has been propagated to the 1.5 branch.

jbphet commented 2 years ago

The fix that I made reduces the dynamic range of the rubbing noise. I thought about trying to change it to better match the previous version, but after testing it for a while, I felt that it was actually improvement. The sounds seems less "jumpy" to me. I'll review it with the sound design team to be sure, but for now I'm moving forward with this fix in the 1.5 release.

KatieWoe commented 2 years ago

This seems much better to me. I did notice that the sound seems quieter now. Was that intended @jbphet?

jbphet commented 2 years ago

@KatieWoe said:

I did notice that the sound seems quieter now. Was that intended @jbphet?

Yes, at least mostly. As I mentioned above, this change reduced the dynamic range of the sound, meaning the difference between the most quiet and loudest that it gets. I actually kind of like the change, but will verify with the sound design team.

@KatieWoe also said:

This seems much better to me.

Good. Since it has been assigned back to me, I'm going to assume that as long as the sound design team is okay with the change to the dynamic range and the overall volume, we can call this fixed.

jbphet commented 2 years ago

I just reviewed this with the sound design team, and they have approved the change. Closing.