Here’s a “video” / demo: (click on image for sound)
See source code.
Would be nice to add a start/stop button. Impressive work.