I wanted to share an implementation of Julian Parker’s digital model of a Ring Modulator. The paper he wrote from DAFx 2011  was also used by the BBC Radiophonic Workshop in the “Recreating the sounds of the BBC Radiophonic Workhop using the Web Audio API” .
I’ve implemented the ringmodulator as a UDO, available here:
Blue Project and CSD (ringmod.zip)
To run the CSD on the commandline, you can use:
csound -i adc -o dac -b 128 -B 512 ringmod.csd
The Blue project has knobs you can use to adjust the carrier’s amp and frequency. In the generated CSD, you can adjust gk_blue_auto0 for amp and gk_blue_auto1 for frequency, or just modify the poscil line in instr 1.
Note, the paper suggests using a high amount of oversampling (32x; 8x or 16x being reasonable for using sinusoidal carrier). This implementation does not do oversampling, which I believe the BBC version does do not as well.
As far as I’ve checked, the implementation matches the BBC one with the exception of using a limiter instead of a compressor. Also, I did one optimization to the wavetable generation to extract out a constant in the part where v > vl, but this is a minimal optimization as the wavetable generation is done only once really.
-  – http://www.acoustics.hut.fi/publications/papers/dafx11-ringmod/
-  – http://recherche.ircam.fr/pub/dafx11/Papers/66_e.pdf
-  – http://webaudio.prototyping.bbc.co.uk/ring-modulator/
UPDATE (2015-04-07): I found a coding bug in the table generation in the original version I posted. The zip file above has been updated with the corrected code.