scratchfoundation / scratch-vm

Virtual Machine used to represent, run, and maintain the state of programs for Scratch 3.0
http://scratchfoundation.github.io/scratch-vm/
BSD 3-Clause "New" or "Revised" License
1.2k stars 1.49k forks source link

Music extension instruments should have equal loudness #1734

Open ericrosenbaum opened 5 years ago

ericrosenbaum commented 5 years ago

Reported by @robomandude (moved from https://github.com/LLK/scratch-audio/issues/108):

Expected behavior

All the instruments in Scratch 3 should sound similar to their Scratch 2 counterparts, if not identical. None of the instruments should be substantially louder or softer than the other instruments.

Actual behavior

Some of the instruments are very quiet compared to the others in Scratch 3. Some examples include the ludicrously quiet electric guitar, and the unusually quiet saxophone. This makes them nearly inaudible when paired with other sounds that easily drown them out. These are not the only examples; all of the instruments vary wildly in volume.

A few instruments sound dramatically different in Scratch 3 than they did in Scratch 2. The biggest offenders are the Synth instruments Synth Lead is a sawtooth wave in Scratch 2 and is a square wave in Scratch 3 Synth Pad is a complicated, soft wave in Scratch 2 and a slightly distorted and loud sine wave in Scratch 3 Here is a comparison of the waveforms captured in Audacity (volume boosted for visibility) scratch2-3 synth waveform comparison

While they may still be accurate to their name, they sound very different than they did before, and any project using these instruments will sound different.

In addition the music box sounded more like a glockenspiel in Scratch 2 and sounds like a cheap music box in Scratch 3.

Steps to reproduce

Use various instruments in a Scratch project.

https://llk.github.io/scratch-gui/develop/compatibility-testing.html#183652049

Operating system and browser

N/A

ericrosenbaum commented 5 years ago

Note that you can find the mp3 files of all the instrument and drum samples here: https://github.com/LLK/scratch-vm/tree/develop/src/extensions/scratch3_music/assets

apple502j commented 5 years ago

Why don't you copy sounds from 2.0?

Robomandude commented 5 years ago

Sawtooth-Sample.zip I spent 20 or so minutes in Audacity generating a sawtooth sample that has similar amplitude and envelope characteristics to the Synth Lead sample currently in use. Think you could use that?