I tend to think of the Web Audio API as the answer to the question: "how much of an audio API can you have if you stipulate that all user-specified code must run in the UI thread?".
Within that constraint I don't think it's a terrible API, but it's a big constraint and naturally raw access would be far preferable.