I would like to make an application that emits a sound because of some event, while at the same time listens for other instances of this app (like on other devices) and interprets those sounds as the signal which was originally created.

So along the lines of...

Create/Produce a sound.
Broadcast/Send/Output that sound.
Receive/Listen/Record a sound.
Analyze/Transcribe sound as data used to create it.

I'm aware of JMF, but I was wondering if there was a better API/library that would be more suited for this task?