A sound library (that's slow)

The library can make sounds louder, quieter, or put them in reverse if you give it time to do so (and the memory!).

Here's the project itself: Snap! Build Your Own Blocks

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.

I hope I explained that well.

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.

You can also use hyperblocks for reverse. You would use (item (numbers from length of list to 1) of (list)

I'm not sure weather that method is faster than the reverse of block.

I thought the map block did lists big AND small.

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.

That's an awfully long-winded way of saying the library is slow because the library is slow. Also you can have multiple threads in JavaScript.

forgot about the multiple threads, sorry. still, javascript is slow.

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.