You just have to pass the ICE candidates somehow. It doesn't have to be through a signaling server, the possibilities are endless.
Yep. I am aiming at doing it via audio.
That's cool. You should post again, with a proper link, and mention "audio" in the title. Audio is always cool.
I couldn't find audio in your example, just shortened URLs which are very difficult to memorize and type.
But have you seen https://quiet.github.io/quiet-js/? It is the only of these libraries that I could make work here (although I had to move the transmitter and the receiver very closer to each other).