I wanted real-time conrtol over my DX7IID, so I built this touch-control surface.
Nice! Where did you get the LED touch controllers?
Can't buy one anywhere, so I designed & built it myself. It took about a year & a half of evenings & weekends to build.
In order for it to be responsive enough for music use, I had to get around the problem that typically plagues capacitive touch sensors; sensitivity to electrical noise.
Once I solved that issue, I ended up with plenty of resolution & fast response times.
I use a laptop computer to do the actual "thinking", the circuitry is primarily sensor digitizing, LED driving, & midi I/O, along with various data buffers for it all.
I'g getting ready to modify the software, to make it compatible with more synths.
It certainly take the tediousness out of tinkering with the sound, let's a person actually have fun!
Nice job! I don't exactly have the patience for that. On my FS1R, I just use the software controller.
Nice job but anyway DX7 (and this older FM synthesis) was not constructed for real time control. The main problems are:
--- old Yamaha gear was not supposed to process SysEx data quickly, edit buffer is small and CPU slow..., and generally SysEx is not so good for real time control - it can interrupt the sound because SysEx data have priority in MIDI stream.
--- each value change comes into the effect after the retriggering the key, so it's not possible to make continuous changes on sustained tone or chord - which would be the most usable thing
--- changing values of many parameters has abrupt sound changes in the result, jumps (especially algorithm and coarse tuning)
--- because lot of parameters are connected together and one depends on the other parameter's setting, sometimes changing the parameter has no instant effect on the sound. And some parameters can be even inactive so their change does nothing.
There were some attempts to do real time analog style controllers for DX7, but however it could be used for programming the sound (which can be done more easily with any software editor) it is not usable for real time control during play. I had Jellinghaus controller but sold it, it has no sense to use it.
Still no such controller (and also computer editor) will not help at all with understanding how to make sounds in Yamaha Algorithm Synthesis. Because it's not only FM (PM), in fact it is additive component synthesis which can create pure FM sounds (algorithms 16-18), sounds combining FM stripes, sounds combining FM stripes with single oscillators, and additive harmonic or inharmonic sounds (algorithm 32).
I understand it well after 33 years of work with DX7 (and other FM, AFM and FM-X instruments which followed until now), but even armed with deep knowledge it's difficult to create some concrete sound from scratch. Easy way is to work with algorithms 5 and 6, and use three FM stripes for sound components, or for layering three sounds. Also pure additive synthesis in algorithm 32 is easy.
Many years ago I did analysis of many sounds concerning the algorithm used for them. I hoped to find some logical relation between the sound category and algorithm. No chance. It doesn't exist. Of course some sounds are more predictable (pure FM for sound effects, pure additive for organ sounds, combined FM stripes for sound components or layering different sounds, inharmonic ratios for clangorous and metallic sounds, high modulation index for distorted sounds or noises...), but similar results can be get by using quite different algorithms.
Thanks for your insights into some of the inherent difficulties one is faced with when dealing with FM, and specifically the DX7 series of instruments. You've got a lot of good points.
I wasn't trying to elevate the DX7 into a higher status in the scheme of things, it is what it is. I simply considered it as a good test case, due to the potential it did have, and how much that potential was strangled by having to be accessed with menus or knob boxes.
I did experience the problem of notes restarting when parameters are updated over midi when I first tried this on the original DX7. The DX7IID doesn't have that issue, at least. No interruptions in the sound occur when I'm using that model. I did have to limit how much data vs. time goes to it, to prevent buffer overflow, however. (You knew that was coming.)
As far as understanding how to program the sounds, while this controller doesn't give any real theoretical insight into the mathematics and such of FM programming, it does make possible an easy way to get a general feel of what goes on by virtue of simple & direct control of the various parameters involved. A musician can still make music, even if they don't delve into the science of how the instrument does it's magic. How many musicians playing a Minimoog understood how a ladder filter worked?
Basically, this is way easier (and much more fun) than approaching it with menus. As to real-time performance controls on a DX7, even though only a few things (like LFO settings & fine frequency, for example) have real-time changes carry through while a note is sustainied, it still proves to be quite interactive.
And unlike the Jellinghaus controller, these controls are immediately up-to-date whenever a preset patch is called up, so the transistion from preset to live is seamless, the control's settings are right where the patch's parameter values are, right out of the gate.
While it's usefulness has some limits in this particular case, those limitations are of the design of the instrument. On an instrument with a more up-to-date & versatile capability, then better control of the sound would be had. I stuck this on a DX7 specifically because of it's reputation for being hard to understand & program, to see if it could "tame the beast". I was not disappointed. Next up will be modifying the controller's software to use it with a more modern synth. I've not decided on which synth would best lend itself to extensive real-time midi control, if you have any suggestions to that effect, please let me know.
If you are of the opinion that this kind of control, particularly on a DX7 is pointless, perhaps you should watch the video of it in actual operation, and think of how hard it would be to do that stuff otherwise. While the DX7 has some pretty severe limitations, it can still be pushed way further than most people could expect. Think of what this could do with a modern synth.
Here's a link to a (crude) video of it actually being used:
The DX7II is reasonable for realtime control as it does have the CPU headroom for altering FM parameters via the two assignable sliders. It was a shame the capability disappeared in the SY Series AFM.
BTW - it is fun to play with the Operator Phase setting and or Waveform in realtime via SysEx on the SY77/99. It will only alter 'new' notes but allows for unique timbral shifts in sequences and arpeggios and the SY can usually handle it on one or two Op's depending on the tempo