Hey guys - been a while. (Also posted to WOS)
SpecBAS recently got update to v0.1234 which has brought with it the ability to issue BEEPs asynchronously - they no longer block program execution. Use:
BEEP duration,pitch ASYNC and that will get the job done. For example:
10 BEEP 1.5,"c" ASYNC: WAIT 500: BEEP 1,"e" ASYNC: WAIT 500: BEEP .5,"g" ASYNC
You can also use PLAY now too. PLAY a$,b$,c$ ASYNC - where ASYNC is optional of course - will play AY music almost the same as the Speccy 128s did. I say almost because now you can play as many channels as you like - so the M (mixer) command now only takes values 0 to 3 - 0=Silence, 1=Tone, 2=Noise, 3=Mixed tone/noise as you can't specify a bitmask for unlimited channels.
You can get it (and demos) at my Github page:
https://github.com/ZXDunny
Check out the toys/analog clock demo, it uses the new PLAY to do chimes and stuff.