Hacker News new | past | comments | ask | show | jobs | submit login
Real-Time Touch Controller for the Yamaha DX7 Synthesizer (spectralplex.com)
105 points by processing 25 days ago | hide | past | web | favorite | 54 comments

Pretty much every synthesiser for 15 years had the same two-row LCD interface as the DX7. My first job out of university in 1995 was as assistant editor of Keyboard Review magazine (UK), and the vast majority of synths I reviewed - wonderful beasts from Ensoniq, Roland, Korg, technologically way ahead of the DX7 - had exactly the same bloody awful UI. Akai's S-series samplers, which everyone was using back then, did provide a decent display... but at a price. When someone finally made a sampler affordable by the home market (Ensoniq's ESI-32) it too had a greatly compromised display, though at least four rows rather than two.

I've always suspected this actually influenced the electronic music styles of the time. The 90s were the start of the analogue resurgence. Sure, an 808 or a 303 is a fabulous-sounding beast in itself. But twiddling knobs is just so much more rewarding and responsive than spending hours squinting at a two-line LCD.

Having made the impossibly un-portable CS80, Yamaha decided to try something different with the DX7 UI.

The DX7 was designed to be a gig-able synth that anyone could throw in a car and set up on their own. It was a brilliant success because you had good-enough epiano and other stock sounds in a package that was far more portable than a real epiano, clav, basic poly, etc.

This was purely a cost/weight issue. The hardware required for one-knob-per-function would have doubled the weight and probably tripled the cost.

E.g. a company called Jellinghaus made a full-sized analog-style programmer and it was bigger than the DX7.


People like analog synths because they have a very simple programming model that only makes a relatively small range of sounds, most of which sound good more or less by default. You trade immediacy against sophistication.

The DX7 etc went the other way, which infuriated musicians used to those analog sounds, but created an entire support industry of sound designers and libraries.

If you want a tactile UI now you can create one on an iPad. The surprising thing in 2019 is that synth designers still haven't fully explored touch screen interfaces, and are mostly just recycling ideas from 30 years ago.

>People like analog synths because they have a very simple programming model that only makes a relatively small range of sounds, most of which sound good more or less by default. You trade immediacy against sophistication.

Well and they sound completely different.

The UI differences don't come down to number of controls but the fact that most analog designs have a 1:1 relationship with the sound, every knob you turn has a very distinct impact on the sound and usually, applying that to any input generates more or less the same impact on the output. It's extremely intuitive to learn how changing a knob changes the sound.

FM is completely different, where altering simple things like the operator ratios and modulation index have massive changes on the sound and don't create the same effect on different sounds - it's naturally non-intuitive. Most FM wizards get there through tons of experimentation, not through established fundamentals.

Imagine playing a wind instrument and changing your embouchure alters the pitch of the differently depending on what note you finger. That's what programming an FM synth is like.

iPad synths are a dime a dozen these days. Lack of a physical interface is as big a problem on them as with larger synths. They are hardly tactile.

A corollary here is the success of wavetable synths compared to granular, additive, and FM in the softsynth space. Wavetables have the same subtractive model as traditional analogs, and incorporate many of the same features as semi-modular synths. But they are extremely versatile because of how their interface is intuitive even for first time users - it's stupid easy to change the sound, the only additional dimension is the wavetable but that's quick to pick up. Compared to say, granular synths which are possibly the most versatile paradigm, but whose controls are extremely divorced from the timbre of the sound you design.

The first version of Polychord for iPad had a fully-functioning FM synth under the hood, but I ended up disabling it because it didn’t fit with the simplicity of the product. Even providing a nice set of presets to choose from was turning into a time-suck — it really is an art.

Great comment in general but I certainly wouldn't call a piece of glass "tactile". I've been waiting, ever since the first iphone, for a tactile smartphone (one with buttons).

Obviously your meaning was toward "customisable UI", which tablets are. I use one as a daw.

> that anyone could throw in a car

I buy broken DX7's and restore them back to 'as good as possible', I've seen some DX7's that still worked but didn't have a lick of paint on them from all the throwing around. They're built like tanks.

Very much so, the build quality is amazing. I sold my late dad's 1983/4 DX7 MK1 in 2014 to someone who is now a pal - it was gigged for something like 20 year, more than once a week and all it needed was a new battery.

There's also an important distinction between electronic musicians that enjoy diving into sound design and keyboardists who just want a typical stock sound. Today, most synthesizers and keyboards usually clearly cater to one of these audiences, with analog synths created for the former and workstations like Korg Kronos for former.

However, DX7 works as both – it was both used as a source of very innovative sounds, as well as a simple preset-driven keyboard for many, many pop musicians who seemed to never have used anything but built-in presets.

>If you want a tactile UI ...

If you want a tactile UI, get a Yamaha Reface DX[1]!

It's amazing how much fun you can have with an FM synth with a couple of sliders that allow you to change the sound as you play it.

I can write love odes to that machine.


seconded. Love my reface dx

Roland perhaps deserve some credit for the JP-8000 which, while sporting a two line display, was also accompanies by knobs, buttons, and sliders to control pretty much everything.

To my ear, it never quite had the smooth richness of sound that, for example, the SH-101 had (manually tweaking the cutoff always seemed to generate some aliasing clicks), but it still gave great tweakability.

The CS1x is a digital synth with analog knobs for parameter control. Plenty of fun and flexibility through trial and error.


I have one of those! Great device and cost was reasonable at the time. I must dig it out the attic one of these days and hook it up to some modern software synths...

JD800 came out first.

(The lede is a bit buried—I think the UI problems with the DX7 run deeper than the front panel. Skip below.)

There were monstrosities like the PG-1000. Basically, 56 sliders in a separate box which you could plug in to the D-50 (or D-550) to program all of the parameters at once with a physical interface. I think it sucks. I still have my D-550 and I’ve seen the PG-1000s go past at the stores for good prices.

In a short time, synths went from having a handful of parameters to being complete monsters and it took a while for the UI to catch up. The Korg Poly6 from 1981 has 22 knobs, Oberheims aren’t far off, but the DX7 has something on the order of 100 parameters. I think it has 7 envelope generators and each EG is about twice as complicated as an ADSR.

There’s basically two viewpoints on the DX7 on forums, from what I can tell. One viewpoint is that you would do your programming for the DX7 on a computer over MIDI, and with such a setup you could unlock the true potential of the device—or at least tap into the thousands of presets available online. The other viewpoint is that most of the presets online are garbage or duplicates, and you only want a DX7 for the handful of classic presets it had like Full Tines.

I recently dived in a bit deeper. For the JS13K demo competition last month, I wrote an audio synthesis engine in JavaScript that let me write audio programs in Lisp, and this engine could replicate some of the DX7 sounds. I also own a Yamaha TX-802 (basically rack-mount DX7mkII), so the techniques were familiar. I went through the TX-802 library and various presets I found online and dissected them to try and build my own sounds for my JS13K game.

(Skip to here if you only care about UI.)

My conclusion is that the DX7 UI is only part of the problem. FM synth programming is not remotely user-friendly and it won’t be. The problem I found was that it was often very narrow ranges of parameters that would sound good or meet your needs in a particular patch. I spent hours tweaking modulation levels. I would mute one operator chain, tweak modulation and envelopes on the other one, then switch and continue. Changing frequency ratios had an even bigger effect.

This is in contrast to subtractive synthesis, where it’s fairly easy to dial in a frequency cutoff for your filter.

I think the problem here is that once the modulation level gets too high, the level of the fundamental starts dropping, and it happens very quickly. FM modulation levels have a very narrow range from “enough modulation that it sounds interesting” to “too much modulation and it sounds like garbage”.

So my personal opinion is that the DX7 is still gonna be a pain to program even with more knobs. YMMV. I happen to own a TX-802 and programmed my own FM softsynth.

>FM modulation levels have a very narrow range from “enough modulation that it sounds interesting” to “too much modulation and it sounds like garbage”.

Yes, FM programming is surprising in that way.

On some patches, the range of "sounds different, but good" values is larger. On others, a small change, and your glorious soundscape descends into early 90s videogame sound or to metallic screeches crazy fast.

Still, the Reface DX does an admirable job of making FM programming enjoyable and fun. As you said: there's no point in change all of the parameters at once, you end up going operator-by-operator. I think the Reface DX offers a great balance UX-wise.

I love my Arrick analog (modular) synth because it is so easy to just reach out and tweak the sound to set the right timbre.

I believe bringing that flexibility to a digital synth is a good thing. I imagine that there could be ways to create a modular 'control panel' and with the help of an embedded compute (as suggested in the article) provide rapid mirroring to the synth. I am a bit surprised that isn't an 'addon' already :-)

I haven't done it with a DX7, but it's pretty straightforward to map whatever you can to external midi controllers. That solution is not as tightly coupled as this solution, but it works well enough... I have a newere electribe and a midi controller with a bunch of knobs and it's a lot more fun to play when I've mapped out a bunch of CCs. So, like the "addon" is midi, but it's just a lot of work to setup maps in certain sitations, and the controllers usually don't know where things might already be set in the patch on a device.

I agree that modular are much more rewarding as you really can just tweak knobs (or have the machine tweak its own knobs in stragne ways)... that's really what I prefer.

The DX7 is directly the reason I'm where I'm at in the world. As a kid, when the DX7 was new, I'd spend hours making sounds and writing music on it. I explicitly went to uni (an Electrical/computer systems Engineering degree) to learn how to make my own synth. I learnt pretty much how in the first 12 months (although I never got around to making my own). I got head hunted from uni and here I am 3 decades later.

If it weren't for the DX7 I would have stayed in the classical instrument stream and done a music degree. I wouldn't be on HN today.

So, it's great that people are still applying new tech and gizmos to the DX7. It's got a special place in my heart.

Have you seen the Reface DX?

It's the new life of a DX7. Still FM, but something you can bring to a campfire. Or a party. Or to the office. Always at your fingertips.

I never leave this thing at home; it's either in my car, or my backpack.


I have spent a few months this year trying to wrap my head around FM synthesis. Unfortunately I don’t think the DX7 is hard to program just because of the user interface. I have read up and thoroughly understand the theory behind FM synthesis. I have followed various tutorials to design patches. At the end of the the day FM synthesis is powerful but it is inherently much less intuitive and also much easier to get horrible ugly sounds out of than something like the subtractive synthesis seen on most analogue synths.

The reason FM synths need to be digital is that very precise pitch ratios between oscillators are important in order to get good sounds. For example you may want to modulate the pitch of one oscillator with another exactly a fifth up (3 to 2 frequency ratio). It can easily sound terrible if the fifth up oscillator goes slightly out of tune.

These sort of precision and nonlinearity in output are also one thing that makes FM synthesis a lot harder to use.

> Unfortunately I don’t think the DX7 is hard to program just because of the user interface.

That was my first thought. And actually, I kept trying to understand (from the article) how exactly this UI makes FM programming easier. Does it? Or is that not the point?

Because one of my "sound designer dreams" is being able to get the sound in my head coming out of the machine using FM. I can do that with regular subtractive synthesis (more or less) but with FM, I feel like I'm twiddling knobs until I like the way it sounds. And that's with a really good interface!

I think the trick to getting FM into a better UX would be to apply more computation to it to identify ahead of time which parameters and ranges will produce dramatic variation from a given starting point, and so reduce the programming to a model where you aren't repeatedly searching for where sweet spots are, but rather quickly paging into the zone desired and then adding minor adjustments.

However part of the challenge of this would be in covering numerous combinations and identifying places where two or more parameters need to be changed simultaneously. Still basically a problem governed by combinatorial constraints.

The same can be true of analog. The 'legendary' synths were such because they limited you to the nicer parts of the range. Similarly, the lighter weight yamaha synths do too. Check out a pss-470 or similar and then the challenge is to get weird. The interface is truly the insturment.

I had a dx7. I will vouch for it being difficult to program decent sounds for. Despite having a map of how the 6 oscillators interacted on top of the Keyboard. See photo: https://mn2s.com/news/features/brief-history-yamaha-dx7/

It didn’t help that in the 90s when I had that keyboard they’re weren’t many online sources of info about it..

The dx7 was neat but couldn’t make very realistic instrument sounds. Very popular though.

The DX7 uses FM synthesis which is all digital meaning one can more or less the same results with vastly more flexible interface (Bazille, Dexed, Operator etc.) all inside a computer software. Despite that fact this is incredibly cool and impressive!

On this topic, something I don't understand which is probably just a limit of my experience in the field is if one is sufficiently talented at digital synthesis, why not use CSound for everything? It supports virtually any synthesis technique and can run in real-time. It also gives designers the freedom to define their own parameters on their instruments. And it's open source. But it seems mostly relegated to art projects, which confuses me.

Because Csound is mostly a trashcan of naive cookbook implementations of synthesis and processing algos collected by academic dilettantes who seem to have no clue about commercial production values or professional DSP coding.

Simple example - Chebyshev polynomials. How many Csound users even understand that these will alias if they cross Nyquist?

So Csound does a lot badly. It's not quite unusable in a commercial setting, but the sound quality is a long way behind even basic VSTs - which means the steep learning curve and 1960s-style programming system don't justify the benefits.

Supercollider has similar issues. The control language is more interesting, but the synthesis and processing code are similarly unrefined.

Well, for a lot of us the interface (and all the limitations or possibilites attached to it) --is-- what makes an instrument.

I mean, I can put stuff into WordPress with SQL directly, but it's much nicer to do it with an interface.

Similarly, I can program a snare sound using a noise generation, an envelope, and a filter, but it's sometimes nice to grap a box and it a button even if I'm constrained by whatever filter and parameters are already in the box... because the interface will dictate a lot of how I use the tool, and that is a feature not a bug :D

I think CSOund's popularity with art projects and the elctoacoustic scene in general comes down to interface. CSound is great if you're supplying/inventing the interface or program to create the sounds/music.

Compare a CSound IDE to something like the Ableton Operator interface or even PureData as someone else mentioned. Very different (and both great for different approaches and people!). A lot of folks want flexibility in the sound by exploring an interface/instrument without having to come up with that interface/instrument themselves.

Because typing and mouse-clicking are not everybody's favorite way of making music, if they can even make music that way, or if CSound is even appropriate for the kind of music they want to make.

Have you tried programming a DX7? It's difficult enough already with just 6 FM operators. Expand to "virtually any synthesis technique" and most musicians will decide they don't need that much flexibility.

But there are some exceptions, e.g. Autechre are well known for using the similarly flexible MaxMSP. As Sean Booth said in an interview with Resident Advisor[0] when asked about new equipment:

"I just use MaxMSP now, because in Max I can generally build the thing I need, and if I don't know how to do that it'll generally be worthwhile learning. Intellectual capital or whatever. So rather than spend me money on equipment, I spend me money—as time—in learning how to build stuff."

[0] https://www.residentadvisor.net/features/2756

> why not use CSound for everything?

Because there are a ton of alternatives to CSound.

I use Max/MSP. But you could also use PureData, SuperCollider, Chuck, JUCE, etc.

Why use something like CSound when you don't need it's complexity? Sure, it can theoretically do all the same stuff, but if you can buy a software package or hardware box that saves you a few hundred hours of doing stuff yourself, the vast majority of which is re-implementing what's readymade in other tools, it's typically an easy choice.

Thanks for mentioning CSound, hadn't heard of it before and it looks interesting. :)


Bazille can't really be compared to the DX7. It's really its own thing, and cannot replicate DX7 patches. It's built around phase distortion of tradition oscillator waveforms, not phase modulation of sine waves, like the DX7. It also only has 4 oscillators, which are not analogous to DX7 operators, traditional ADSR envelopes, and also does traditional subtractive filtering. Dexed, FM8, or Operator though, yes for sure.

For those who are interested in the DX7 but can't obtain one, there's a VST version that is literally a perfect recreation. It's called Dexed and you can get it here:


Personally, I'm a synth nut and Dexed is my go-to when I'm in the mood for FM, but I prefer good old subtractive synths over FM most of the time.

And if you don’t want to use a PC to get the DX7 sound you can purchase a Korg Volca FM for really cheap. It’s sound engine is modelled from the DX7 and you can load in DX7 patches.

Dexed is great, although I would love to have the canonical set of DX7 patches that shipped with the original synth. Most of the sysex stuff I found for it seems to be tweaked (or part of thousands of other presets and hard to single out).

The key concept of this control pamel is the ability to recall a patch preset, and have all the real-time controls immediately present the new paramaeter values, ready for tweaking. the only way a knob box can do that is by using motorized pots, or rotary encoders & LEDs.

The fact that it's running a DX7 series synth is simply because I wanted to see how much easier it would make a synth to operate, so why not try it out on the one with the scariest reputation, a DX7. The result was much more than I had bargained for, it actually made it a fun instrument to play with. Of course, it could operate about anything that can be digitally controlled.

I wanted to use capacitive-type touch sensors, but the problem with touch technology is it's sensitivity to ambient electrical noise, which can wreak havoc with the sensing signals. So I designed a variation that ignores electrical interference. This lets it be responsive & reliable; no lag, ever, giving it a more natural feel in use than you'd expect.

Has anyone tried to take the parameters of an FM synthesis chain as if they were the hash of a particular timbre?

In other words, you start with a recording of the sound you're after and then just start brute-force iterating through the parameter choices until an analysis of the output looks close enough to the input?

I mean, fftw3 takes about a full minute on my Chromebook to measure the quickest algo. So I'd hope that generating output analyses would be fairly snappy...


An Aphex Twin collaboration, naturally

For anyone interested in FM synthesis without the DX7 "baggage" and more limitations which help you steer away from too harsh sounds, check out the Elektron Digitone.

As an added bonus you get a very capable sequencer and it can act as a groovebox on its own for quick sketches.

Wow, very cool! This seems like a great thing to pair with a DX7 and a Reface DX [1], which seems like Yamaha's attempt to take the linage of the DX7 and do it justice in modern form with an increased emphasis on usability. I once had a DX7, and I loved it to pieces.

The DX7 is one of my favorite synthesizers in history, and its software successor, FM8 [2] by Native Instruments is my favorite synthesizer that I regularly use. As with many of the 61-key workhorse keyboards of the 80s, the DX7 is extremely solidly built and has excellent synth key action which makes it a joy to play. It's not weighted, but it also doesn't feel like a toy, and the velocity range (while oddly bound to 0-100, one of its few unnecessary flaws) is very playable throughout the entire range. Beyond that, the DX7 as a synthesizer is technologically a legendary synthesizer that contributed heavily to 80s and 90s music [3][4]. It had great presets, the most recognizable of which is the default patch which is it's rendition of a Rhodes piano. Many folks bought it for that purpose, and you'll that patch in many songs that you may recognize.

The DX7 uses a type of synthesis called FM synthesis, which (sort of like FM radio encoding) allows any of its 6 operator oscillators to be used additively or as an operator which feeds its signal to one or many other oscillators, potentially in a cyclical manner. Operators can use frequency multipliers and dividers with base oscillators (I believe only sine waves for the DX7 although there's a fair amount more in FM8) so that you can have operators sound harmonically many octaves above a base oscillator, or vice versa. In FM8, you can use multipliers anywhere from 0-64 with a 0.001 resolution. Through careful usage of envelopes and oscillator feedback structures, you can go quite a bit beyond your usual virtual analog style subtractive synthesis. but you can do quite a bit of semi-realistic physical modeling and beyond, whether it be orchestral instruments, drums, or punchy cartoonish caricatures of either. It's easily the most versatile form of non-sample based synthesis I've ever found.

The wonderful thing about FM8 is how intuitive and flexible the synth gets once you begin to get used to it. The envelope editor makes it straightforward to create arbitrary stage envelopes with the curvature of each stage customizable and really straightforward to visualize. I personally lean on FM synthesis so heavily for a variety of reasons. It's a taste thing, but it's also a matter of practicality. If you're judicious about patches you use, it's easier to tune FM instruments to make them take up less spectral space, and clash with other elements in a mix without extra post-processing. Additionally that they tend to be quite CPU light, so the number of distinct instances you can run in realtime without maxing out your CPU is a fair amount higher than hefty virtual analog synths like Massive (it may potentially be the same for Spire). Finally, when it comes to soundscape design possibilities, long envelopes and frequency modulation open the door to ambient shape design that is borderline impossible to do otherwise. I believe this is why the DX7 became Brian Eno's favorite synth [4].

FM8 is not free (although it and Komplete were some of the best investments I ever made in my music) but there are a variety of free DX7 synths out there that you can use, some of which are compatible as editors for DX7 SysEx patches. The one I'd recommend is Dexed [5], which is open source and pretty nice, because you can use it with the giant free DX7 patch ecosystem that's built up over decades. Give that a go with REAPER (trialware), LMMS (open source but a little hard to use with VST/AU plugins), Live (evolving and likely the best for professional musicians to create on), or a DAW of your choice and you're in business. Which reminds me, I have a track I need to finish...and based on my commentary, you can probably accurate guess whether there's at least 1 instance of DX7 on it.

[1] https://www.youtube.com/watch?v=O3PGO_DiuYU

[2] https://www.youtube.com/watch?v=lx_L9dPIa78

[3] https://reverbmachine.com/blog/exploring-the-yamaha-dx7

[4] http://bobbyblues.recup.ch/yamaha_dx7/dx7_examples.html

[5] https://asb2m10.github.io/dexed/

I have a Reface DX, and it's my most favorite keyboard of all time.

Frist, it is a DX. While the architecture is not identical to the DX7, it is a 4-OP FM synth with feedback on each operator, which gives it a huge tonal range.

Second, the UI is great. And yes, there are 4 realtime controls that make it easy to change the timbre of the sound as you play it.

But the most important part is its compact size and built-in speakers. I've brought the Reface DX to campfires, into the desert, on an airplane, to the top of a mountain, on hikes, to the beach, to the office. I jammed with strangers in the streets of Madrid. With me, I bring cheesy 80s music (FM was all the rage back then), jazz (the e-piano sound on the DX just cuts it), and whatever else I want.

I tend to do most of my music composition in the box nowadays, so there's much less jamming for me and more noodling around on a keyboard until I come up with an idea (if that), and then developing the rest of the idea fully in the sequencer. But even so, it might be nice to play around with and be able to take places without having to worry about or deal with a computer -- just having the immediacy of the machine and nothing else seems nice.

The main question I think about is whether I want to grab it or one of the volcas. When it comes to live jamming, it's likely that a groovebox is closer to my cup of tea.

One of the simplest options is also the cheapest - just get a Casio toy keyboard. You wouldn't get those for the sound quality, but if you opt to run one through a multi-FX pedal you can achieve a pretty sizable lo-fi tonal palette in a small package.

Well, to note: Reface DX, in addition to sounding great, has built-in effects (2 FX that can be chained), and is smaller than any Casio keyboard currently on the market (that I know of).

My next-size-down setup is an Akai LPK25 controller running into the cellphone (running an FM synth, for example).

One warning about LMMS, the file format it outputs is not midi, you can import midi but you can't export. So if you spend a lot of time on some project you will find yourself somewhat locked in to LMMS if that's what you used to get started.


This looks like basically a MIDI controller that has some software so it can send presets to the DX7.

I wonder how much those touch sensors cost, because I'm sure it could quite easily be used as generic MIDI controller.

Anything that can be computer controlled, it could work for if built appropriately. As it sits, the midi interface will let it work with about any midi-based device, if the software is written to match. My next step is going to be having it run my Ensoniq VFX. At that point I'll have it be able to switch between the DX7 and VFX at the touch of a button. I've already used it with a DX7 MkI, and a DX21.

A very early prototype got hooked into a theatrical lighting system, just because. I only had it wired in for a few minutes, the guy that did the lighting design for that theater really, really, wanted me to leave it. The ability to be able to be so interactive with the lighting appealed to him.

As to cost, the sensors themselves would be dirt cheap to mass-produce, the most expensive part would be the display. This one uses discrete LEDs, but I think an old-style, low-res, low cost monochrome LCD would be plausible, allowing more sensors in the same space, and a alphanumeric for labels & such. Most of the circuitry could be replaced by a simple microcontroller, it doesn't require any high-power math or signal processing.

Looks like a clone of the Jellinghaus DX-Programmer. Supposedly only 25 were made, and it's hard to find info on it. There's a good picture from when Brian Eno's was auctioned:


Nowadays, Patch Base is the way to go.


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact