First, I need to make it clear that I would not even think about an "all digital" theremin - Oh, I once did.. It looked simple.. But I think one needs to be a highly skilled digital engineer whith the ability to design complex systems using FPGA's and tech of that ilk to do the job well.. Someone like Dewster who designs his own processors in FPGA archetecture could make a worthy digital theremin.. Not me! ;-)
To make a theremin which is worth building, IMO it needs to be playable..
About (IMO) the simplest AFE which is usable, is probably the Jaycar / Silicon Chip kit - this has no linearization but still manages playability which borders on acceptable IMO.
If you have no analogue expierience at all, I would strongly advise getting one of these kits to take care of the front-end.
The other options are the Smirnov oscillators, or building a Moog EM front-end ..
But whatever you pick, its the analogue front-end which will make the theremin.. It is this which, if correctly designed, gives a good antenna voltage less subject to interference, and which gives the required sensitivity.. And if you look at the technical postings here, you will find pages on this subject.
Put in crude terms, think of the AFE as your Analogue to digital converter.. The entire digital system depends on the quality of this A/D - This is what you must get right.. Everything which follows is easy.
"My plan is to implement echo, reverb, and other similar effects with the raw data received from the ADC. I noticed there are four knobs on many different theremin model. They were Volume, Pitch, Waveform and Brightness. I can guess that the first two change the way the antennae react to your hand. I read online that the last two relate to timbre. Could the last two be implemented as DSP or would they cause a change in the circuit prior to reaching the microprocessor?"
All you need into your digital "section" is data relating to hand position - This data is "mixed signal" in that it will contain the information related to hand position, and this data will be analogue but "reduced" in some way so that some data will be lost.. Let me explain:
If one generates a difference frequency using logic "heterodyning" you end up with a logic level square wave you can feed to your digital stuff.. This square wave will carry analogue data (as in, continuously variable with no quantizing) related to hand position, but it will not carry any data related to the wave shape from multiplying the two oscillators.
If one had a system which produced a logic level PWM (variable pulse width with constant frequency) from the hand position, you would again have a "mixed signal" - this PWM signal will carry analogue data (as in, continuously variable with no quantizing) related to hand position, but it will not carry any data related to the wave shape from multiplying the two oscillators.
If one generates a voltage from the hand position, you would have a "analogue signal" - (as in, the voltage would be continuously variable with no quantizing) related to hand position, but it will not carry any data related to the wave shape from multiplying the two oscillators, and would need to be converted to a real digital signal (involving sampling the voltage with an ADC and therebye quantizing it).
In all the above, the digital system would get raw data related to hand position, and once in the digital system as numeric data, "analogue" is lost - the digital stuff will process this data sequentially and do with it what it needs to - generate audio frequencies / waveforms, process these "numeric" "virtual" waveforms etc.. Within the digital system, there are no "frequencies" or "signals" there is only numbers - a continuous stream of quantized changing numbers .. The designers job is to get these numbers to a form where, when streamed into a Digital to Analogue converter, the output of this converter is the waveform they want.
So you dont need (and cannot use) any tone shaping prior to the digital stuff.. Any such circuitry prior to digitization is redundant and actually, if used, would make obtaining accurate data more difficult.
The simplest way is probably to take a standard theremin front end (the Silicon Chip kit is ideal for a basic theremin) and give it a simple logic level mixer..
An example of this can be found in my http://thereminworld.com/files/Pages/28/files/SkywaveHi.pdf
The RF Subcircuit - The front end is a modified S/C design - You dont need IC2 or any of the components related to it - you just need the circuitry up to the VARBUF and REFBUF outputs.. The basic SC board does not have these buffers me thinks - so you would need to fit them, possibly use IC2s socket for a "piggyback" board to these parts and the other bits..
VARBUF and REFBUF are converted to logic level square waves by IC4 (a LM393 comparator) and these square waves are fed to the REF and VAR inputs on the DIGB subcircuit on the following page.. (I used the LM393 because it is cheap and fast - but there are other ways which work.. a couple of transistors could be used to square up the signals and give a 5V pulse out - I just wanted to be sure I got a reliable waveform into the PSoC - Also, I needed to build it fast and never had time to mess with anything else)
IC1 was a PSoC which worked entirely in the digital domain - It took the reference and variable oscillator logic signals and directly processed these to automatically mute the instrument, and to give visual tuning aid for the null point... Your digital theremin could connect in a similar way..
But perhaps of more interest is the digital "mixer" - I believe I may have "invented" this - Or certainly think I may have been the first to use such a scheme with the theremin.. U2:A takes the logic level reference and variable oscillator signals, and outputs a clean logic level difference frequency.. absolutely ideal for feeding into a digital system - no mess with edge jitter one gets from using comparators on audio signals etc..
With the H1 theremin, this difference signal (DIF) was fed to the PSoC (IC1) which piped it from pin 3 [P11] to pin 5 [P10] when not muting.. U2:B simply produced a lower octave square wave.
Fred.
"If you are not interested in a playable instrument...you have the simplest capacitance sensor available." - FredM
"Would this not produce an as accurate sound? I am indeed looking to build a playable instrument. " - Thewriter
Forget about sound for now - What you need for a digital theremin is accurate capacitance / position data for the range (about 60cm) you require. Simple RC low voltage schemes (like the TS555C) cannot give that - or at least not without a LOAD of effort to resolve signal from the overwhelming noise it is lost in when the hand is distant from the antenna.
"I read up a bit on the capsense, and it seems that it turns any metal object into a capacitor. My only worry with this is that I would not have enough pitch resolution to produce an accurate sound."
You are correct on this - This is the big problem with digital.. Resolution. However you get the data, this data needs to be converted to numbers - These numbers need to be big enough (and accurate enough) to resolve the pitch to 1 cent for a "pro" instrument - thats 1/100th of a semitone.. So the numbers need to be 12 bit or better. All processing must also occur quickly (<< 10ms) and CapSence is simply not able to get close to these requirements.