You click the button. Silence. Here's what's actually going on.
This is almost always caused by the audio files not being in the deployed folder. Your HTML says src="/assets/audio/pj-main.mp3" — but that file doesn't exist on the live server because your build script never copied assets/ into _site/.
Open your browser → F12 → Network tab → click the audio button. You'll see an HTTP request for the MP3. If it returns 404, the file isn't on the server. That's your answer.
Find the line in your build script that copies asset folders. It probably looks like:
for dir in images css js public; do [ -d "$dir" ] && cp -r "$dir" _site/ done
Add assets to that list:
for dir in images css js public assets; do [ -d "$dir" ] && cp -r "$dir" _site/ done
Rebuild locally, check ls _site/assets/audio/ — if the MP3s are there, push it. Audio will work after the next deploy.
If the Network tab shows the file loading (200 OK) but still no audio, it's a browser autoplay block. Chrome and Safari won't play audio unless it's triggered by a direct user click. Make sure your play function is wired to a button's onclick — not a timer, not page load.