CV to computer

Posted: 12/30/2009 2:44:36 PM
Filip

From: Oxhey, Watford, Hertfordshire, England

Joined: 12/27/2009

Hiya everyone.

I've just got an Etherwave Plus which is working and sounding like a dream. Although I am learning to play it "properly", part of the reason I got it was to run through my computer and trigger settings and synths.

I've had great fun running it through waveshapers, ring modulators, equalisers and all sorts of delays to create some pretty amazing tones.

Then I used some basic pitch to midi conversion to get the audio output signal changed to midi notes. After a bit of fiddling I got it quite accurately triggering violas, cellos and trombones in Kontakt as a test. However, I've either got it triggering a note and allowing for wonderful pitch bends but needing the next note to be retriggered by returning to the base of the volume antenna (cool but not too good for glissando) or doing sudden changes in between all the static piano key notes with no pitch bend.

The three CV outputs on the theremin are probably the best option but the problem is getting them into the computer.

I stumbled across a series of plugins called Silent Way (http://www.expert-sleepers.co.uk/silentway.html) which allow CVs to be taken into the computer and turned into OSC signals.

I managed to get some OSC signals triggering but they appeared to be random digits not really raising or decreasing in value depending on my arm's position from the antennas.

I then read the Silent Way manual and it says I should run the CV in to the computer then back out again into a VCA and then back in to the computer.

I've spent so much time geeking out on software and digital synths that I'm a bit clueless when it comes to analogue. There's a VCA in the theremin, right? How would getting another one and running it back in help? Could anyone explain CVs in general to me or shed some light on how I could get it to control the computer?

I've seen hardware CV to MIDI converters like the RS300 (http://www.soundonsound.com/sos/sep04/articles/analoguers300.htm) and wonder if that would be a better option.

Any ideas?

Sorry for the long, rambling post.
Posted: 12/30/2009 6:57:43 PM
GordonC

From: Croxley Green, Hertfordshire, UK

Joined: 10/5/2005

We've been discussing MIDI and OSC on levnet (http://www.discoveret.org/mailman/listinfo/levnet) recently and the general conclusion was that MIDI is not well suited to theremins. (There has been a MIDI theremin - the Moog Ethervox, which cost thousands of dollars and sold tens of units before being discontinued - those that were sold were sold on the strength of the theremin, not the MIDI. There are also a couple of Theremin to CV modules available. Also not as impressive as the price would suggest.)

My opinion is that £350 is a big investment for an RS300 when it is likely to be disappointing. I'd certainly be talking to Analogue Systems first to establish that I can get a refund if it doesn't work out as well as I hoped.

On the other hand, OSC sounds eminently appropriate for theremins. I have glanced at the Expert Sleepers site and it strikes me as a kludge (http://thereifixedit.com/) of the first order - abusing your computer's audio in by feeding it CVs doesn't sound good.

There isn't much voltage to OSC hardware out there, and what there is doesn't really have the resolution to do justice to the etherwave's pitch output. The best option I found looks like the Overtone Lab's CUI32 (http://overtone-labs.ning.com/profiles/blog/list?user=2kekh63o2z5wi) which should be available soon (*) and will certainly be a lot more affordable than a MIDI solution.



(*) My experience is that "soon" is a very loosely defined term when used by an electronics engineer.
Posted: 12/31/2009 6:03:39 AM
Filip

From: Oxhey, Watford, Hertfordshire, England

Joined: 12/27/2009

I did think going down the MIDI note or CC route would not give me the accuracy I'd be after so I think I'll probably hold on for some hardware CV to OSC converter (your soon comment reminds me of this xkcd strip (http://xkcd.com/678/))

After more fiddling I did get at least the volume antenna controlling some parameters (a filter cut off and pitch shifter). I did this through the FFT spectral analyser in Bidule to get a 0 to 1 from the velocity of the signal, then linking this value to a parameter. Frequency is harder but I'm just trying to work out how to do a similar thing. I could then split the audio signal into separate outputs and trigger them with a foot pedal.

What could also work, though it seems to be a bit extreme, is to get three separate external synths/modules, run the CV outputs (gate/pitch/volume) from the Etherwave Plus into them and then back into the computer as a frequency or amplitude that could be analysed. I'm not sure if this would offer more or less accuracy/flexibility than just running from the audio output alone.
Posted: 1/1/2010 5:07:28 PM
GordonC

From: Croxley Green, Hertfordshire, UK

Joined: 10/5/2005

Re xkcd - I should think every profession has some variant on this - when I was at the civil service "under consideration" meant "we've lost the paperwork" and "under [i]active[/i] consideration" meant "we're looking for it".


My inclination would be to feed the computer with the audio output [i]and[/i] the headphone output in pitch preview mode - use the regular audio for envelope following and the constant volume of the preview for pitch determination - locking onto a low amplitude signal can be hit-and-miss - maybe even boosting it until it clips into a square(ish) wave.

Beyond that it might be worth posing the question on the electro-music.com theremin forum - the forum itself is very quiet, but it is monitored by people who's primary focus is on all manner of synths, including computers, and are more inclined to think of the theremin as a controller.
Posted: 1/3/2010 12:44:58 AM
FredM

From: Eastleigh, Hampshire, U.K. ................................... Fred Mundell. ................................... Electronics Engineer. (Primarily Analogue) .. CV Synths 1974-1980 .. Theremin developer 2007 to present .. soon to be Developing / Trading as WaveCrafter.com . ...................................

Joined: 12/7/2007

[i]"Re xkcd - I should think every profession has some variant on this" -GordonC[/i]

I do think Electronics / software / engineering are probably the worst for this.. Only when one has an absolutely rigid specification, and little research required, can one really make a sensible guess about time and cost..

Re: CV's into a soundcard .. Not a good idea! best way is probably to feed frequency signal (signal from preview, in case of a Theremin) to one channel(say L), and Audio output (post VCA) to the other channel (say R)..

apply frequency detection to the 'L' audio, and amplitude detection to the 'R' audio..

Info: Inside the Theremin, audio is produced by heterodyning - this audio is always at 'maximum' volume, and on Theremins which have 'preview' it is taken to the headphone socket... This audio is also fed to the VCA signal input, and the output from the VCA is this audio with its volume controlled by the CV from the volume antenna circuitry.

Both pre and post VCA signals are audio - so suitable for input to a soundcard. The Pre-VCA signal is always present, so can be more easily used to get frequency data. The Post VCA signal is modulated (AM) by the volume CV, so can be used to carry volume information.
Posted: 1/3/2010 7:12:27 AM
Filip

From: Oxhey, Watford, Hertfordshire, England

Joined: 12/27/2009

Thanks to your suggestions I've gone for using both the main audio and the pitch preview outs running into two slots in Bidule. I've got both the pitch antenna and the volume antenna controlling parameters pretty smoothly.
Getting excited about the CV outputs on the Etherwave Plus because I wanted to experiment with using it as a controller alongside its wonderful nature as a standalone instrument seems like a bit of a pointless move now though.
Unless I go down the route of having lots of analogue gear to control, is there anything some conversion of the three CVs (possibly the fact that there is a third, gate CV) into something the computer could read that would bring any benefits?
Posted: 1/3/2010 1:33:35 PM
GordonC

From: Croxley Green, Hertfordshire, UK

Joined: 10/5/2005

The only real advantage - that I can think of - would be in reducing the amount of work your PC has to do. Pitch determination can be a processor intensive activity - I'm not familiar with Bidule, but applications typically offer a variety of pitch determination algorithms that balance speed against accuracy because of this.

Wandering off on a tangent, I find it interesting that any method that determines pitch from audio - whether in hardware as with the etherwave plus, or in software - would not be useable to accurately recreate the sound of a theremin! This is because changes in pitch cause a change in timbre (think FM Synthesis) - mostly this is not perceptible, but can be heard quite distinctly when the pitch change is fast enough. To recreate that would require generating multiple samples within the space of a single oscillator cycle.
Posted: 1/4/2010 1:55:39 AM
FredM

From: Eastleigh, Hampshire, U.K. ................................... Fred Mundell. ................................... Electronics Engineer. (Primarily Analogue) .. CV Synths 1974-1980 .. Theremin developer 2007 to present .. soon to be Developing / Trading as WaveCrafter.com . ...................................

Joined: 12/7/2007

[i]"Pitch determination can be a processor intensive activity" - Gordon C [/i]

This is true - however, with a constant amplitude monophonic signal containing (comparatively) few harmonics.. as one gets from a Theremin "preview" output, one big hurdle is removed.. A lot of processing is required to just acquire the period (determine the true fundamental) when a complex waveform is input (signal from, say, a single guitar string).. Also, most input signal have varying amplitudes which require normalization first.. It all gets horribly complex as frequency/amplitude/harmonics are all changing simultaneously in real time..

With a Theremin preview signal, only the most minimum pre-processing (if any) is required.. In hardware, for example, I am able to take this signal directly to a comparator configured as a zero-crossing detector.. I put a small HF (30kHz R*C LPF) filter before this circuit just to get rid of any HF which might mess up the zero crossing point - but have found that this is not really needed.

So a simple zero-crossing algorythm and pitch determination by taking one edge (ie checking a full cycle of the waveform to avoid errors due to assymetry) should do the job.

[i]"any method that determines pitch from audio - whether in hardware as with the etherwave plus, or in software - would not be useable to accurately recreate the sound of a theremin! This is because changes in pitch cause a change in timbre" - GordonC [/i]

Not sure that this is strictly true.. If one has pitch related data, it is (should be) reasonably easy to use this data to control both pitch and harmonic content of any subsequent 'modules' (VCO, VCF or software equivalents) - The method (again hardware) I am using (playing with / exploring) is to effectively generate two wave-shapes, and morph between these as a function of pitch.

Most of the dynamic change in Theremin waveforms (as opposed to 'passive' change due to fixed frequency response / filters in the audio circuit) is due to the effect of reference and variable oscillators 'pulling' on each other the closer their frequencies become - this is most pronounced at the bass end.. If one creates a waveform matching what one gets at the bass end, and one matching what one gets at about the frequency where oscillators 'pulling' becomes insignificant, and morph between these waveforms over that span, (and if you wish, additionally process this with a mild tracking LP VCF) I think one can get quite close to whatever "Theremin sound" you want.. Perhaps not 'perfect' - but damn close.

All the above can be achieved with software synthesis (I played a bit with a friends set-up using software VAS Modular and an Arturia Moog Modular - and results were quite good.. Alas though, it wasnt being driven by a Theremin, so its hard to be sure)
Posted: 1/4/2010 1:13:35 PM
GordonC

From: Croxley Green, Hertfordshire, UK

Joined: 10/5/2005

[i]So a simple zero-crossing algorythm and pitch determination by taking one edge (ie checking a full cycle of the waveform to avoid errors due to assymetry) should do the job.[/i]

Oh my. Do you remember this conversation (http://www.thereminworld.com/forum.asp?cmd=p&T=3513)?

I wrote:

"I doubt you need more than a zero-crossing counter to determine a theremin's pitch."

You wrote:

"I can say that (alas) far more than zero-crossing is usually required to determine pitch.. Even after heavily filtering an input signal, harmonics can cause spurious counting / firing at the zero-crossing.. one needs a more complex analysis, even for the simplest pitch-to-voltage or pitch-to-midi converter.. The whole business of pitch detection looks too easy, and products have been designed which have never made it to market, or been dogged by operational difficulty, because the true complexity of the task is rarely seen in advance.. Arp (Moogs major competitor) was sunk by this one mistake!"

In your [i]face[/i], Fred Mundell!




[i]This is because changes in pitch cause a change in timbre[/i]

I think you missed my point. Not "different pitches have different timbres" but "while the pitch is changing the waveform gets distorted."
Posted: 1/4/2010 5:01:40 PM
Joe Max

From: Oakland, California

Joined: 1/2/2009

I'd be more interested in a pitch-to-virtual oscillator application. IOW, something that tracks the incoming audio signal, determines the pitch, and causes a software oscillator to reproduce that same pitch. Forget MIDI. MIDI is based on discrete equally-tempered notes (C-2 to C7) making it utterly unsuitable to the theremin.

I'd like to see a non-MIDI, stand-alone "virtual analog" synth (a basic ARP/Minimoog/Prophet-style subtractive synth would be fine) that gets the pitch for it's "VCO" by tracking the incoming pitch applied to the audio input of the computer, and follows the amplitude of that signal to control the "gain" of the "VCA" (and the cutoff of the "VCF" for that matter.)

IOW, the incoming pitch is, in effect, the "CV" that controls the pitch of the virtual oscillator. (Call it "control pitch".) The level of that same signal is the "control level" that is tracked by the virtual amplifier.

If there's ever going to be a software synth that can be effectively used with a theremin, this seems like the way to go. No MIDI. No abusing the audio input circuit with a DC voltage. Simply whatever pitch at whatever volume is coming out of the theremin is tracked and followed, glissandos and all, by the "oscillator" and "amplifier".

Certainly there's going to be some lag time due to the pitch-detection process, but hey, processors are a hell of a lot faster than they used to be in the days of the ARP Avatar!

You must be logged in to post a reply. Please log in or register for a new account.