My tiny explanation as to why the library is so slow: Expect some very technical stuff here.
Snap ! is built with JavaScript. The very harsh reality of JavaScript is it's single-threaded. Now, when a Process starts it halts the GUI framework and the browser has to process those function(s) (depending on what you're trying to do) That's why projects that are large make the GUI of Snap! look jaunty.
Did you, it's actually faster to use hyperblocks? (I'm just saying, there's no need to use map for the louder and softer blocks) Also, your reverse sound block doesn't take into account mono sounds (sounds with 1 channel), which can be a problem.
Yes it does, but if you're going to be applying a math function on every item of the list, hyperblocks is actually faster. Now, if that math function was different for each item, then map would be better.
I believe webassembly can run multiple threads. However, compiling javascript is not supported, so snap and morphic would have to be entirely rewritten in C or rust. Maybe it will happen eventually, but probably not.