Theremin Development - (more) questions for thereminists.

Posted: 10/13/2014 1:53:19 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

Oh, Ive done this so many times before sure you're all bored with it... May even have asked the same question/s and forgotten the answer/s, in which case, sorry!

The instrument I am (a long way from completing) developing will have register switching - I remember reading comments on the implementation of register switching on the EWP not being liked by some thereminists, but cannot find these (if IRC and there are dislikes).

Question 1: - Register selection

I am looking at 4 register selections - and need to decide how the thereminist selects these.. in order of simplest first, methods are:

A.) Rotary selector switch.

B.) Two buttons, one to raise octave (INC) one to lower octave (DEC) .. This option would also allow the possibility of foot operated INC and DEC switches. 4 LEDs on the panel would show the selected register.

C.) Four independent buttons which when pressed, selected the register. .. This option would also allow the possibility of foot operated INC and DEC switches. 4 LEDs on the panel would show the selected register (these LEDs would be positioned next to the appropriate push switches.)

I am planning on first building a simple version of this instrument - this instrument would probably (unless there was absolute horror expressed here) have the rotary switch (option 1) as no LED's are required (The simple build has one PSoC4, I have used almost all the available pins on this, so adding things like LED's gets difficult.. Not impossible - but if folks think a rotary switch is ok, its easier - The simple version will not have a digital user interface, and is limited in terms of what I can add simply - it will have all analogue controls for everything.

Other than the simple version (see below) I am designing the instrument so that it can be expanded - have now opted for MIDI control, so that I can develop a digital user interface based on MIDI, but can use an existing MIDI controller (such as my Behringer BCR-200 or a software MIDI editor) until this is done.. Unless it was really important, I hope I dont need more than a rotary switch on the simple version

Question 2: - Use of 'span' control

For Both versions, I plan to have the controls related to tuning / performance user accessible at all times, and based on rotary potentiometers - some of these potentiometers will be standard with knobs for easy access, some will be finger adjustable trimmers meant for infrequent adjustment.

Knobs:

Pitch tune, Volume "antenna" silent position, volume antenna "max" position, Volume linearity main.

Trimmers:

Pitch Span, Pitch NF Linearity, Pitch FF Linearity, Volume Linearity sub.

I suspect / believe / hope that thereminists will want to set their instruments pitch response and leave it set to their taste - as in, they will set the span for say 5 octaves (it should be adjustable between 3 and 7) and set the linearity to suite them.. I say "hope" because if this is the case it greatly simplifies the linearization circuit - I have tried to make the "Span" "NF Lin" and "FF Lin" controls non-interactive, but allowing them some interactivity (which is a real bother if any are adjusted frequently) makes the circuitry a lot simpler / cheaper.. So (again, unless I hear howls of outrage) these controls would be "set and forget".

The "volume linearity sub" would also be a "set and forget" simply because it is far less critical - there will however be a "volume linearity main" knob to set the response (this will be implemented at the audio side not at the RF side as the others are) from "snappy" to "natural".

Question:

Would you be disappointed that you could not easily simply adjust the "span" control - that if one adjusts this control you would also probably need to adjust the linearity controls? Is the idea of being able to change the field from (say) 4 octaves to 6 octaves quickly, something you would really want? (dont forget you would have 4 octaves of register switching available).

Question 3: - Editing options / complexity

I had been thinking in terms of making the full-blown instrument and not having (other than the most basic functions and those detailed above) a user interface - Leaving it to the thereminist to buy a MIDI controller or software with which to control the instrument, or perhaps supplying something like the BCR-200 set-up for the instrument.

The BCR-200 at £100 is WAY beyond anything similar that I could design and incorporate in my theremin even at 3* the price

My (need to be made soon) choices are these:

1.) Basic instrument with register switching and analogue controls for sound etc, these being:

    a) - Four mixed-signal waveforms with level and tilt control for each.

    b) - Two analogue heterodyning voices, one being "EM" with brightness,waveform,level and tilt controls, One sine with level and tilt.

    c) - One Feedback control, Main parametric EQ with 4 controls, main and preview out.

- The above clocks in at 20 controls for the sound.. I personally feel that the above is my minimum - BUT it may be that I would reduce the available audio options for a (sub ;-) standard model.. Perhaps lose independent tilt (this is an equalizer control which is a tiltable filter) and just have one for the mixed signal voices and one for the analogue voices, and perhaps lose the parametric EQ )-:

2.) Full instrument with MIDI control over audio settings and the ability to edit / store at least 16, but probably 64 presets - Will require an external MIDI controller to edit presets, but will allow selection of presets without a MIDI controller. Functions available will be an expanded set of those in the basic instrument (formants for example), and will have the ability for expansion which would also have dedicated MIDI control messages.

3.) As (2) but with extremely basic ability to edit parameters.

4.) As (3) But with a comprehensive DUI to allow editing.

Option (1) is not upgradable - I have spent a lot of time trying to make an instrument that can start life as a basic, and be upgraded to a full monster, but have now realized that the extra expense of facilitating this adds way too much cost to the basic. My thinking now is to produce a non-expandable basic.. I always hate this, because it means that if I was to bring out a comprehensive instrument later, early adopters could lose out..

Option (2) is the quickest / lowest cost means to realize a full instrument that does everything I WANT, it will take a little longer to get to market, probably be in the £600 - £800 price range (Midi controller NOT included)

Option (3) is one I dont like - Option (4) is one I dont like much - it will take me longest to implement, and cost little less (if adding cost of BCR-200) and perhaps even more than Option (2) and I would still (personally) use the BCR-200.... Option (2) with a software MIDI controller / editor would be the cheapest way to implement the whole instrument.

Question:

Any thoughts on the above?

----------------------------

Reality check:

I have the plans for umpteen versions, I have developed a PSoC4 which is at the heart of the basic build, I am now at the stage of laying out boards to make this all 'physical' - Its a huge project, even in its simplest form - the balancing business of what to add and what to leave out is the real problem.. Yes, I could revisit any section and change it, but as much as possible I want to avoid repeating work -

And I have two forces pulling and pushing me - one is to get something on the market quickly which "does the job well", the other is to get the best ever heard on the market... I also have this inner demon taunting me, insisting that if I dont make the instrument utterly unrealistically exceptional, after all I have said, I will be the TW joke ;-)   (actually, there's an inner demon who taunts that I am the TW joke ;-)

Yeah - Pride! Its a killer ;-)  I really need a manager / business-minded partner who can keep me on track without limiting creativity too much..

Fred

Posted: 10/13/2014 2:28:54 PM
RoyP

From: Scotland

Joined: 9/27/2012

Any thoughts on the above? - Fred

Loads!
Will have to 'consider the situation', as one of my most favourite music artists used to say, and compose a proper reply later.
Aye, ok, I know that doesn't progress things per sae but at least it lets you know that at least someone is reading your posts!

R

Posted: 10/13/2014 3:30:43 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

"but at least it lets you know that at least someone is reading your posts!" - RoyP

Thank you, Roy! ;-)

A (big) part of me just wants to keep completely quiet about this "development" and just surprise everyone by announcing it on April 1st ! LOL ;-)

This whole project is an act of utter madness - I have other projects (particularly the capacitive ribbon controller) that I have shelved to return to the "true" theremin quest, and have so many other things (like studying family law so I can win the court battles for access to my children) that I should be doing with my time.

Really torn - trying to work out why - is this a needed escape from the other stuff, am I really going to produce anything - or is it just a way of sticking my head in the sand... ?

But the reality is that regardless of the reasons, this sort of project becomes its own driving force - I now have a top thereminist in the USA planning to visit early 2015, and have a place reserved in a music festival in 2015 for its launch.. Oh, everyone is aware that it may not happen - but not wanting to let folks down is at least a "stick" to prod me when I crumple into depression - Sometimes this "stick" helps, but sometimes it seems to make me feel even worse.. Perhaps this is because the carrot is so small..

But if this is my predestined route, then at least I want to get as much right as I can.. And I believe that feedback from thereminists is vital to achieve this - first, on-line, then to test the water with the (as I see it) 3 main groups - top (most important) group being the precision thereminists, then other thereminists, then those who havent played theremin but play synths etc - perhaps even theremini owners (who have never played a theremin!) to give them a taste of a real theremin!

Fred.

Posted: 10/13/2014 3:49:18 PM
ILYA

From: Theremin Motherland

Joined: 11/13/2005

"Question 3: - Editing options / complexity" -- Fred

#2 with a $0.0 PC/tablet application for tuning/adjusting/customization is a good choice.
IMHO.

Posted: 10/13/2014 3:59:00 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

(if not technical, ignore the blue  text )

"#2 with a $0.0 PC/tablet application for tuning/adjusting/customization is a good choice. IMHO." - Ilya

Thanks Ilya -

Yes, a tablet could be ideal.. This is another issue I would need to face (haven't even looked at yet) - I am working with MIDI as in the old 5-pin trustworthy simple brilliant opto-isolated MIDI !  - But if tablet / PC was the main route, I would also probably need to add USB and develop drivers and probably software, and cater for Mac and Windows and Android and....

At which point in thinking my brain implodes...

"tuning/adjusting/customization"

Oh, I had originally 'planned' to have tuning and related within the 'scope' of digital control - I have decided not to do this on any instrument now - Those controls will be analogue and "hard wired" (potentiometers / accessible finger adjustable trimmers).. This does remove the possibility of adding auto-setup or calibration in future, but I doubt the usefulness of such "features" anyway - prefer to leave the thereminist to tune their instrument manually and be in full control of these essential functions.

MIDI will only control the sounds[shapes / levels / filters/ formant frequencies and related / mixing etc]  (mostly by writing data to digitally controlled potentiometers, some by changing PWM) - Most will be 7 bit CC messages - I haven't yet found any audio parameter that needs more bits for set-up (real-time mid performance adjustment of any parameter is not expected) but have some high resolution MIDI CC available if I did need better resolution for any function.

 

Fred.

(I am not an up-to-date software engineer .. I did about 5 years of PC software development before USB was even invented, but the rest has been minimal firmware work and mainly hardware and analogue.. Even the years of PSoC work, most was hardware configuration - the code was comparatively trivial.

USB throws up problems probably more than anything else - Go to any forum, look for problems, and USB is up there ..  Driver problems, enumeration problems, even when the product to be interfaced is something for software engineers (interfaces to development kits or the like) these folks have problems..

I honestly do not know how "ordinary users" put up with it! - I cannot support users if they have difficulty interfacing my product over USB .. There are just too many variables. I can support anyone having problems with MIDI.

But I know that USB is what people expect..

Aaarggghhhh!

)-8

USB isnt something I can get into..

Perhaps I dont need to - perhaps some interface like this:

for about <£30 will solve the problem.. If the user has problems with drivers etc, they can deal with the supplier..

Posted: 10/13/2014 6:02:51 PM
dewster

From: Northern NJ, USA

Joined: 2/17/2012

"USB isnt something I can get into..  Perhaps I dont need to - perhaps some interface like this:"  FredM

I'm hoping to avoid MIDI altogether as the physical interface is aging (makes USB adapters expensive), it was never that good in the first place (low bandwidth, not inherently bidirectional), and it's not a good fit for Theremin performance recording and playback (support of it in this manner is likely at the core of what's wrong with the Theremini). 

For user config why not go RS232 over USB?  That way you can develop over the serial port, and write a GUI (a can of worms in itself with all the different OSes and HW platforms out there) for users to deep dive.  I'm hoping to avoid this as well with a decent UI on the instrument that has access to ALL parameters, but some kind of port for SW update seems necessary (I really, really don't want to support thumb drive file system access).  USB RS232 cords can be had for $3 and I don't see them going away anytime soon.

[EDIT] Why not do a UI with the PsoC ARM?  Encoders are <$1 (interface is trivial if you have any programmable logic), elaborate displays <$20.

Posted: 10/13/2014 6:10:25 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

(if not technical, ignore this post )

Here is a crazy thought I had..

Been wondering about pulling a BCR-200 apart, removing one row of encoders and replacing this with the theremin board with its tuning etc pots replacing the encoders..

This would leave 24 encoders for adjusting parameters, loads of switches for assignment of register, muting of voices, changing "scenes" and other things I haven't thought of yet ;-)

Preset selection is there, USB Bridge is there, there are two sockets for pedal switches, once configured it remembers its configuration.. No need to find an enclosure, no external power supply..

But probably loads of digital noise to worry about - and not much space - And Behringer prominently displayed...

But apart from that silly idea ;-) I found tools that allow the BCR-2000 firmware to be edited and uploaded, and this makes it even more ideal as a controller for my instrument - because it could be configured as a dedicated controller without fear that the user accidentally re-programmed it to send the wrong messages.

My thinking now is on the lines of Option 2, and availability of a dedicated BCR-2000 at somewhere between £100 and £200. (the option to use an undedicated BCR-2000 or software editor would still remain)

Midi control files containing  patches could be downloaded to the instrument and played from RAM scratchpad and written to a stored preset if desired, or complete patch sets could be saved from presets or downloaded to replace presets.. Allowing thereminists to exchange their setups if they wish..

I would stay away from developing any software editor for tablets or whatever, but would publish the MIDI specification and others could develop this if they wish and supply or advise on USB to MIDI interface..

 

Posted: 10/13/2014 7:37:42 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

(if not technical, ignore this post )

"For user config why not go RS232 over USB?  That way you can develop over the serial port, and write a GUI " - Dewster

I agree this would be (hardware wise) the cheapest option..

But its too limiting for this application I think - Firstly, one would still need MIDI interface if one wants to connect to something like a BCR-2000.. And even at a software level - There are many MIDI Editors and Librarians available on all sorts of platforms - these are often difficult or impossible to interface to anything other than MIDI ports.

"it was never that good in the first place (low bandwidth, not inherently bidirectional), and it's not a good fit for Theremin playback (support of it in this manner is likely at the core of what's wrong with the Theremini). "

MIDI was good enough for keyboards, and really thats what it was designed for.. Its fine IMO for bulk transfer of small quantities of data, and just about ok for real-time transfer of one controller message on a single port - at 300us for a single (7 bit data) byte, and a total of ~1ms for a complete message, one is looking at ~6ms update rate for a single high-res (<= 14 bits) controller message, so ~10ms for a high res pitch CC with low res volume CC, or ~13ms for both pitch and volume at high res, its too slow for a theremin.. With running-status however, a single CC change can be reduced to ~600us if only one (MSB or LSB) changes, so with a single port for Pitch and a separate port for Volume, MIDI from a theremin is perhaps just doable (By port, this is an actual physical port, not a separate channel on the same port)

But for anything which is not time critical, I dont see a problem with MIDI - To transfer a single preset 'patch' of 32 parameters will take 32ms  and to upload / download 64 presets will take about 1 second (I think I will be limiting to 64 presets, so they can be moved to RAM, edited there, and only be written to flash if explicitly instructed)

But..

I fully accept the problems of being a solo developer.. I opt for MIDI because I believe it is the best for this application - this "belief" may not be "valid" - For me its valid, because I know it well - oh, I may need to brush up on it a little because it was a long time since I last developed any MIDI application - but its all familiar "home" territory ... I know that whatever I choose to do, I am the one who is going to do it!

I would love to be working with an engineer who could convince me that (say) Blue-Tooth was the way to go, took the task, developed that section, wrote the drivers it etc.....  But I would have big problems writing drivers to even route an RS232-USB bridge to a MIDI APP on a tablet or PC

So many brilliant minds, so much experience - it seems incredible that we (or at least I) get bottle-necked over something as basic as a comm's interface or protocol!

Fred.

 

Posted: 10/13/2014 8:28:45 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

(if not technical, ignore this post )

"[EDIT] Why not do a UI with the PsoC ARM?  Encoders are <$1 (interface is trivial if you have any programmable logic), elaborate displays <$20."

 Yeah - My plan originally was to have a minimal DUI on the basic build, and do just that.. But I cant - The ARM is free and could do the job with its brain running at 8MHz.. But I have no pins left for an encoder or display! - So I put a UART (2 pins) in and configured this for MIDI.

I have now completely used up all available latch based PLD - This damn PSoC4 is severely crippled - to pipe a clock to a pin (which I do a lot) one needs to waste a TFF (drive the TFF with a clock at 2*F  - one can then connect its output to a pin, but you cannot connect a pin to the clock driving this TFF !)

I am, however, evaluating my design - I wanted to have one 'primary' PSoC with a simple interface and the ability to work in both a simple and complex theremin.. the "heart" if you like..

Sadly, there is this absurd dilemma - I have four 10 bit PWM signals from this part, and an SPI port, intended to control levels and D-POTs - I can do this IF I send instructions via the MIDI UART.. But I dont have the pins (or on-chip logic)  available  to control these directly! ... So for a simple build (without another PSoC implementing the DUI or an external MIDI controller) these PWM and SPI pins are redundant - I may as well remove these functions...

If I did that, I would have enough pins to implement a DUI - But there would be nothing to control from it!

So my present 'plan' is to leave this chip alone (with its 'redundant' functions) and have manual potentiometers to implement the functions directly, but use these functions (under the UART / MIDI control) for the full build (with a separate DUI from another PSoC 4 or external controller).

This route also gives me the option to build the basic theremin  (RF-side and PSoC) on a single board, with a jumper to the audio board, upgrading then would be a replacement of the audio board and addition of a DUI.. But whatever, in order to even implement preset selection locally I would need to add another PSoC, incoming MIDI would need to go to this, and there would be a separate comms to the "heart" - So implementing MIDI internally really only has an advantage for debugging ..

:-(

Perhaps I should be pondering whether to move the full design to a (much more expensive) PSoC 5 board with more IO - but im not going to!  ... If all else fails, the simple instrument will still be better than most stuff out there, and developing a good DUI right now isnt about the cost of the parts - its about the time - Time I dont have!

Fred.

Posted: 10/13/2014 10:22:06 PM
RoyP

From: Scotland

Joined: 9/27/2012

Ok, so for what it’s worth, here’s my tuppence.

First off, I’d like to lay my cards on the table and say that I’m a big HUGE fan of knobs, so any excuse for a knob in favour of a push button will get my vote every time :-)

What this means is that as far as Question 1 (Register Selection) is concerned, I would chose option A (Rotary switch), however, option B has a certain appeal since it would allow for foot control: I think this would be useful since it doesn’t need a change of hand/arm position in the middle of playing.
As for not having a DUI, I’d vote for that. Just because it is possible I don’t think that unless it significantly adds to either the functionality or ease of operation, it should be included.
The simpler the better so far as I’m concerned.

Question 2: - Use of 'span' control

For Both versions, I plan to have the controls related to tuning / performance user accessible at all times, and based on rotary potentiometers - some of these potentiometers will be standard with knobs for easy access, some will be finger adjustable trimmers meant for infrequent adjustment.

Knobs:

Pitch tune, Volume "antenna" silent position, volume antenna "max" position, Volume linearity main.

Trimmers:

Pitch Span, Pitch NF Linearity, Pitch FF Linearity, Volume Linearity sub.

I suspect / believe / hope that thereminists will want to set their instruments pitch response and leave it set to their taste - as in, they will set the span for say 5 octaves (it should be adjustable between 3 and 7) and set the linearity to suite them.. I say "hope" because if this is the case it greatly simplifies the linearization circuit - I have tried to make the "Span" "NF Lin" and "FF Lin" controls non-interactive, but allowing them some interactivity (which is a real bother if any are adjusted frequently) makes the circuitry a lot simpler / cheaper.. So (again, unless I hear howls of outrage) these controls would be "set and forget".

The "volume linearity sub" would also be a "set and forget" simply because it is far less critical - there will however be a "volume linearity main" knob to set the response (this will be implemented at the audio side not at the RF side as the others are) from "snappy" to "natural".

Yup, all of this would work for me, and no, I wouldn’t be disappointed if it wasn’t easy to change the ‘span’ in a blink of an eye.

Question 3 –Editing options

Option (2), I think: it’s nice to think it would have ‘expandability’ but the good thing about (2) is that it isn’t (3) which has a DUI :-)

Although, as has been mentioned an interface to allow programming via tablets or i-pads might be useful since these are damned popular and convenient. Sorry...

I thought I'd have more to comment on but you seem to have covered all of the aspects. There will always be something which could be done differently or dare I even say, better, but as with most things, compromise is important.

As to TW jokes, nah...dinny fasch yersel...at least you are doing something which no one connected with the baguette seemed to do :-)

R

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