Currently all sound assets are stored in an uncompressed wav format.
We should investigate using the mp3 format to save compressed sounds.
An immediately obvious benefit to the relatively small file size of MP3s is that Scratchers would run into the dreaded 50MB limit much less frequently when creating projects (especially games and animations) with lots of music.
What about OGG?
i'm going to add to this doing some thinking around bit depth and frequencies to try to get sounds smaller.
Looks like scratch-flash did a few different things, entry point is this reduceSizeIfNeeded function. Before trying to save a sound, it does the following:
We do not have the code for adpcm encoding ported to JS (it exists in AS here). But the first two (stereo->mono and downsampling) would get you a 4x improvement (adpcm would be an additional 4x). Those two can easily be done at the same time using an OfflineAudioContext (in fact, we do exactly this when pasting sounds together of different sample rates).
So as a first step, I think putting a resampler + stereo->mono audio processing pass on file import would get allow people to at least start editing standard length pop songs.
Most helpful comment
What about OGG?