this is such a neat idea! and that nodemap is so organized omggg i'm jealous.
are you working with twine 2's default format? harlowe doesn't have built-in audio support, so it's a lot more finicky when it comes to implementing audio than sugarcube is. if you were to switch to sugarcube, you'd have to rework your css and any macros already in use, but you might find it more amenable to the audio you want to work with. you could also try a javascript workaround called howler.js! i haven't used it myself yet, but i've seen it referenced before with regards to getting audio working in harlowe.