@davedes
The echo effect is really cool, but it stops as soon as you let go of the mouse. Sad
Mickelukas had the same suggestion, and I agree that would be nice to have. I am thinking I will try and implement Neil's suggestion to keep the Theremin "running" but silent even if the mouse is released, and include that feature then as well as some sort of volume ratio or independence between the source and the echo.
Maybe the mouse position should drive the overall echo volume even when the mouse is up.
Or the echo setting could be static, on the control panel, rather than tracking the mouse.

@fruitmaze
Thats awesome! Works really nice and fun to play with. Are you planning on using this in another project, like a game or something else?
Thanks! Yes in terms of using it in "another project" but I don't have any concrete plans yet. Any suggestions?
I'm still in the learning-project stage. Right now, I'm working on another sound app for a friend for a few days, that plays a "tree" of sine waves, where I am learning about how to create and use envelopes (got a simple Attack-Release working so far), and about using a JTable in the GUI for holding/editing the info used to configure the sines. Am very pleased that I figured out how to play multiple sine waves all from the same WaveTable.
On the queue for the Theremin: vibrato. Which as a learning-project means I get to implement a bit of FM! (FM is my main synth, via DX-7 and Native Instruments FM7 [FM8 if I upgrade]. I've done a lot of high level FM programming (musician user level).)
Also on wish list: ability to record, save & playback the data currently generated by the GUI, as this is much lighter than raw audio.
Also on wish list: implement a filter to get rid of the aliasing! I think if you go down SteveShannon's links below you will find a demo where you can hear how important that is.
Also on wish list: have this light and fast enough that it can be used/integrated into a game as a SF/X source, for example, with tracking the motions of some object moving on a display. The results could be more varied and expressive of game action, potentially, than canned sounds, if done right. Though at the moment, the simplest (conceptually) would be if you had a use for a slide-whistle or trombone slide that could be tied to game state, or game events.
But there is also the potential for some nice, sinister "industrial" background sounds that have more expressive variability than a prerecorded loop. Try this:
100% Sawtooth
Lowest possible pitch setting
99% Echo feedback
Echo delay setting in the range 10msec to 50msec.
This could be very cool if variable echo delay rates get programmed.
