MIDI interface for just about any Theremin

Posted: 1/25/2011 10:46:52 AM
shobley

From: USA

Joined: 8/25/2009

"If one wanted to design a MIDI theremin 'expander' I think there are better and easier ways to do this."

This is what I'm really interested in.

Do go on...

:)
Posted: 1/25/2011 7:10:50 PM
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]"Do go on..." - Shobley [/i]

LOL! ;-)

Perhaps its best if you email me (email is in my picture <-)

I have this little problem with TW.. Lots of people read postings, many contact me directly for further advice.. But there are some (at least one theremin manufacturer) who take my ideas and pretend they thought of it first..

Mostly, this is ok - But when I see manufacturers seeking financial backing for a project like my Epsilon multi-dimensional controller, which has been lifted almost entirely from the stuff I posted here and on my websites, and this manufacturer has never bothered to contact me, I get a bit p**sed off - I abandoned Epsilon because I did not believe it could be musically useful (my E-JS based on the technology is musically useful) but would be happy to help someone develop an Epsilon if I got some credit and/or money for this.. I feel it is 'unfair' to steal someones ideas and cut them out of the picture entirely.

So - Back to a MIDI expander.. I see voltage control and CC / Sys-ex messages as the only way to stream the MIDI data to usefully use the huge quantity of continuous data coming from a Theremin. I do not think that the note-on/off messages, even with running status, are fast enough - add to this the required bend data, and one is looking at audible MIDI choking..

So.. The expander will not work with other note-event based MIDI instruments.. One could have a mode where it was compatable with such instruments, but, in essence, the controller would be dedicated to a theremin TX'ing the required data in the required format.

Problem.. One use for a MIDI TX'ing theremin would be the ability to record the MIDI data to a sequencing program, to allow editing etc.. Alas, most such software expects note events as the primary mode of operation.. so to use such software without having to edit CC / Sys-ex streams, one would need to intercept the incoming MIDI stream, convert this stream to a format easily handled by the software, pipe this processed stream to the software, and then do the same (in reverse) to output from this software before TXing it back to the expander.. All a lot of work - particularly for me (C is as high-level as I can cope with, C++ and the windows stuff and I get completely lost.. Give me hardware and asm and I am ok).

I concluded that MIDI and theremins were an unholy coupling, and have gone for voltage control.. I think Gordon is probably right about OSC - from brief examination of this protocol it does seem far better endowed for theremins and similar controllers.

The actual expander hardware should be simple - once one has the MIDI front-end processing sorted out. I would be looking at getting high resolution voltages (minimum pitch and volume) and feeding these into my voltage controlled heterodyning oscillator and VCA and VCF.. A simple single voice theremin synth. One would not strictly need a heterodyning VCO - but IMHO if one is going to the bother of making a theremin expander, one wants to make it really good..

Said enough.. ;-)

Fred.
Posted: 1/25/2011 7:38:36 PM
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

Just watched your demos - they are really impressive!

Just one thing I failed to mention in my last.. Any theremin can be turned into an 'expander' with some quite simple technology I am keeping "under wraps" at the moment..

Give me a CV for pitch (1V/8ve) and a CV for volume, and with the addition of a small board and a bit of careful calibration, and you could be playing your Keppinger from a keyboard or from a MIDI->CV connected to a PC.

The real issue (and complexity) is not the expander hardware - it is getting the data from the theremin in high enough resolution, and having an expander capable of RXing this and interpreting it correctly.

However... Perhaps I am being too pedantic. Do people REALLY want to capture all the subtleties of their theremin playing? Perhaps not! Perhaps YOU are going in the right direction.. The majority of people want to play 'in tune' semitone intervals, and want single-finger chording and arpagiation etc..

Perhaps Note-on/off messaging is the way to go..
.. In which case, one does not need dedicated expanders.

[b] [irrelevant twaddle follows ->][/b][i] My problem probably is that I know what I want (or at least I think I do ;) and its probably not what the 'masses' want. I hate "canned" chords and arpagios and automated "band in a box" stuff - ok, they can be useful - but, in the main, I prefer hearing someone play something original - even if there are "errors" than to be bored listening to the same inane sequence of notes being played by some machine following a keyboard players finger. I fear that I am in danger of becoming amusical because the degree of irritation I now feel when I am forced to listen to background "tunes" from the childrens video games, or phone "call waiting" its all now driving me to a near psychotic state - I have come oh-so-close to ripping the audio connector out of our Wii and dropping superglue into the DS piezo! (not much I can do about the phone..)[/i][b][<- end of irrelevant twaddle] [/b]

Fred

[b]THEREMIN MIDI EXPANDER..
new idea ..
If anyone uses this idea, please let me know - and please visit[/b] Street kids rescue (http://www.streetkidsrescue.org/) [b] and give some money! ;-) [/b]

have two seperate independent MIDI outs from the pitch to MIDI.. for example, One outputs note messages (runnings status) and volume data (CC).. The other output is bend data (single 7 bit CC messages streamed using running status, and having values say 0 to 100 corresponding to one cent intervals).. Or one would probably want to configure the 'bend' stream something like the following:

Bits 0 to 5 giving value from 0 to 49 (decimal) (0 to 0x31)
bit 6 being a sign bit
When bits 0 to 5 == 0, then pitch is on a semitone interval, so transmit a note number.

[b] Edit ->[/b] .. I think the above needs to be more carefully worked out - Probably need to TX a new note message when bend data goes >= +/- 50, and when it is 0 (on key).. but not sure - the arithmetic is probably a little less simple than I suggested above. Also, no real reason to stick to 1 cent increments, it could be a bit finer .. +/- 63 uses all available bits, and a change in the sign bit could instigate TX of note message.. [b] <- End of edit [/b]

The expander has two MIDI inputs - One dedicated to the 'normal' note data (also capable of RXing other MIDI data, for compatability with other MIDI devices) and the other dedicated to the 'bend' stream.

The expander merges note and bend data to provide continuous frequency control.. (a note message is stored and multiplied by 100, the bend data is either added or subtracted from this value - depending on the sign bit - and the result is output to a 14 bit DAC) In "Theremin mode" Note messages do not "retrigger" anything - their occurrence has no relevance other than to provide course pitch data.

Volume data is seperately processed and directly drives the V
Posted: 1/25/2011 10:14:52 PM
shobley

From: USA

Joined: 8/25/2009

Fred - thanks for the response - that's given me a lot to think over.

I tend to agree about the difficulty with Theremin <-> MIDI mapping - it takes a great deal of thought to get something truly musical.

(I sent you an email too)

Steve
Posted: 1/25/2011 10:19:30 PM
shobley

From: USA

Joined: 8/25/2009

I almost forgot -

I was concerned about the speed of pitch tracking in the lower registers too - so I adapted the hardware to "learn" the nature of the waveform as it changes with frequency,

This allowed me to make an accurate assessment of pitch from a positve zero crossing to first peak, positive peak to negative zero cross, etc...essentially quarter wave.

I'm not sure if this really helps, as I don't know how quickly the human ear can detect pitch change in low frequencies.
Posted: 1/25/2011 11:03:48 PM
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]"This allowed me to make an accurate assessment of pitch from a positve zero crossing to first peak, positive peak to negative zero cross, etc...essentially quarter wave." - Steve [/i]

What a brilliant idea!! - Particularly with theremin waveforms where the shape and amplitude do not change much (particularly if one was to intercept the signal from pre-vca.. as in, preview).. 1/4 wave should make it possible to track 16Hz in 16ms, and 32Hz in an acceptable 8ms!

The tracking did sound good on your demo -

Fred.

ps - I still think that a switchable 'offset' might be a good idea.. Most theremins I have played are not brilliant at the bass end (this is one of the features I really like about the E-Pro and Tvox - Bass plays well on these instruments ) and on some, there is an unpredictable zone just before the oscillators lock.. I overcame this on my H1 pitch-only units by having sub oscillators one and two octaves below the 'true' heterodyned frequency - so I could mix these signals and get a good stable bass right down to 8Hz..

But for theremins which are not well endowed at the bass end, some help from the pitch-MIDI could be attractive!

;-)
Posted: 2/1/2011 11:47:55 AM
shobley

From: USA

Joined: 8/25/2009

I just put together a download that has all the info on the pitch tracker

Project info (http://www.stephenhobley.com/blog/2011/02/01/can-you-top-the-laser-harp/)
Posted: 2/1/2011 11:35:52 PM
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

[b] PLEASE SEE UPDATE IN FOLLOWING POSTING [/b]

I have just bought and downloaded this info pack.

I am extremely impressed by the simplicity and elegance of the design - I am starting to work my way through the software now..

This data is, IMO, well worth the $10 for anyone interested in theremin->MIDI technology.. extremely little data on this subject is available, and even if one does not build the unit, it is worth the money just for reference.

My only suggestion to improve the 'pack' would be for the source code (and supporting textual files like headers) to also be supplied as text files (.c .h or whatever).. I do not like being forced to download yet another (albeit free) development environment just to be able to view the data.. But this is a minor quibble - the software downloaded and ran fine (if you just want to view the files, you do not need to actually 'install' anything - just unzip the download and run arduino.exe.. You can then load the arduino 'sketches' and save these as text files)

I would also love to see a "talk through" on the operation of the unit - the documentation in the code is not enough to make following it really easy (but it is as good as most code documentation is ;-)..

I would happily pay an extra $5 for an 'idiots guide' to the system. (yeah - when I look at the code, I feel like an idiot! - How the hell does he achieve so much with so little code.. ) More advanced information would also be helpful - for example, details of execution time of routines / interrupts, flowcharts etc.. But I am starting to ask Steve to write a book now! ;-)

Steve - What you have produced is great! What you supply in this package is enough to allow anyone to build the unit and modify it if they wish - the package is "fit for purpose" and my comments above are in no way intended imply otherwise!


Fred.
Posted: 2/3/2011 10:36:01 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

[b] UPDATE [/b]

Sadly, the code provided does not include the stuff mentioned in prior postings..

[b]>>[/b][i]" I adapted the hardware to "learn" the nature of the waveform as it changes with frequency, This allowed me to make an accurate assessment of pitch from a positve zero crossing to first peak, positive peak to negative zero cross, etc...essentially quarter wave. "[/i][b]<<[/b]

This was one of the things I was most interested in.

Note detection is based on a LUT, with pitch-bend data being a linear interpolation.

So a little dissapointing .. still worth buying IMO, but not quite as exciting as I had hoped.

Fred.
Posted: 5/4/2016 6:40:25 PM
mpampouras

From: Lausanne, Switzerland

Joined: 3/15/2005

Re-visiting this thread...I was checking out Moog's latest synth app

http://www.moogmusic.com/products/apps/model-15-app

Seems it supports 14-bit midi, could be interesting to see if someone has managed to drive one of those with an Ethervox for example!

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