In addition, it should be noted that there is always a significant delay (on my setup it’s about 700-800 ms) to playing when trying to play an HTML DOM Audio Object on Safari—preloading the clip does not help, clipping it doesn’t do anything either.
The Web Audio API probably gives you much finer control of using clips and would not suffer from delays, too—but I haven’t tried using it with audio clips to say that it is a solution. I personally went with using oscillators in the Web Audio API because the learning curve seemed shallower at the time, and I also liked the idea of generating sounds from scratch. I found these examples in the MDN documentation particularly helpful. I also made small demo on CodePen for practice back then if you are interested (see below).