Looks nice! I made one of these, but with drum machine samples instead, back when <audio> elements were the new shiny thing.
You might want to look into adding a DynamicsCompressorNode near the end of your web audio stack; it should help with the clipping issues you're getting whenever there's polyphony going on.