Org is extremely versatile when it comes to defining links, so they're probably your best bet. For that you need the org-add-link-type
function.
(org-add-link-type "audio" #'ignore #'endless/export-audio-link)
The second argument is telling org you don't care about opening audio
links for now, and the third argument says how to export them to html. Use the following example function, or improve it to your needs.
(defun endless/export-audio-link (path desc format)
"Export org audio links to hmtl."
(cl-case format
(html (format "<audio src=\"%s\">%s</audio>" path (or desc "")))
(latex (format "(HOW DO I EXPORT AUDIO TO LATEX? \"%s\")" path))))
With the above configuration, the links
[[audio:file.mp3][description]]
[[audio:file-2.mp3]]
would export to
<audio src="file.mp3">description</audio>
<audio src="file-2.mp3"></audio>
This post also explains how you can define a way to actually open these audio links inside org-mode
(by using the second argument).