[HN Gopher] The Yamaha DX7 synthesizer's clever exponential circ...
___________________________________________________________________
The Yamaha DX7 synthesizer's clever exponential circuit, reverse-
engineered
Author : picture
Score : 166 points
Date : 2021-11-28 17:33 UTC (5 hours ago)
(HTM) web link (www.righto.com)
(TXT) w3m dump (www.righto.com)
| dave_sid wrote:
| So cool an article about synths is at the top of HN.
| kens wrote:
| Author here if anyone has questions about this classic
| synthesizer's internals.
| ChuckMcM wrote:
| Another great write-up Ken, I'm wondering how the DX-11
| differed (it was introduced after the DX7 and I've got a TX-11
| (tone module)). The logarithm trick looks like it would fit
| easily in a small FPGA too!
| hellbannedguy wrote:
| I don't have a question for this syntheiser, but do you know
| much about a Hammond CMS-103.
|
| Did Hammond have their own computer boards, or did they use a
| version of Yamaha?
| yowlingcat wrote:
| Wow, very cool! The DX7 is one of my favorite synthesizers of
| all time, and its spiritual successor (in software form), FM8
| is the one I've used the most for the past decade and a half in
| my compositions. Thank you for the incredible work breaking
| things down to the gate level -- if only this were around
| during the time I was taking my analog + digital electronics
| and computer organization class, I may have done a different
| final project!
|
| You allude that you'll get to this in your next post of the
| series, but here's my question: what are the biggest
| differences in tone between the DX7 and current emulators such
| as FM8 and Dexed (both of which I believe can read DX7
| patches)? And if present, where do they come from?
|
| Thanks again for this write-up on one of my favorite machines.
| kens wrote:
| Strangely, I haven't used any of the emulators or a DX7, so I
| can't comment on the differences in tone.
| fab1an wrote:
| Ha, that would have been my question as well...I've often
| come across the idea that digital synth emulations are
| necessarily "perfect" and indistinguishable from the
| original, but is that really true in your opinion, from a
| first principles standpoint? If not, which component would
| make the emulation most difficult?
| kens wrote:
| If you look at it from that perspective, there are two
| factors. First, are the digital values identical? This is
| something my research can help with, using exactly the
| same exponential values (bit width, rounding, etc.)
| Second, a digital synth produces an analog output, so
| even if the digital values are perfect, the digital-to-
| analog conversion is going to produce its own distortion,
| filtering, etc, which can be pretty substantial.
|
| Also see raphlinus's answer.
| raphlinus wrote:
| I believe you will find two main sources of differences in
| tone between the various DX7 emulators. One is that there are
| fairly major differences between the original DX7 and the DX7
| II (I used the latter for the original engine now adapted in
| Dexed). The other is the analog filter on output,
| approximately a 16kHz lowpass filter designed to reduce
| artifacts from the DAC (this is replaced by a more general
| Moog-style filter in the Android implementation but present
| as an accurate emulation in Dexed).
|
| I think Dexed is quite accurate, but this work will allow the
| authors to take it to the next level. I suspect most people
| won't be able to hear the difference, however.
| jacquesm wrote:
| This is what we were aiming for so I'm super happy to see
| confirmation of that :) Ken is a true wizard.
| Rodeoclash wrote:
| Nothing to add but I wanted to say thank you for making
| Dexed, we've used it in a few synthwave-esque songs.
| pantulis wrote:
| I'd like to add to the list Korg's own FM implementation
| MOD-7
| turdnagel wrote:
| How good is Chipsynth OPS7's emulation?
| https://www.plogue.com/products/chipsynth-ops7.html
| odiroot wrote:
| I've heard Yamaha needed to put a lot of R&D work into
| producing these digital FM chips.
|
| I wonder if they (or any other manufacturer) ever attempted the
| same with purely analogue chips. I'm aware that FM has very
| narrow sweet spots and probably the analogue oscillator drift
| would make this idea totally impractical.
| klodolph wrote:
| The other factor is the sheer number of oscillators you'd
| need to get polyphony. The DX7 has 6 oscillators per voice.
| With 16 voices, that's 96 oscillators. Typical polyphonic
| analog synthesizers have two. You occasionally see three.
| Polyphony is often lower. 8 voices is fairly common, but you
| saw smaller units... Prophet 5 was 5-voice, and Oberheim's
| OB-X was available in 4, 6, or 8 voice versions.
|
| The DX7 had somewhere between 9 and 12 times as many
| oscillators, depending on which of those lines you compare it
| to.
| ssalazar wrote:
| I do wonder if DCOs (much less susceptible to drift) would be
| more amenable to analog FM, though they were not common for
| musical instruments during the DX7's early R&D phase.
|
| That said, it seems like music manufacturers were searching
| for a musically useful, cost-effective digital synthesizer
| around this time. Early digital synths like the Synclavier
| and Fairlight CMI were prodigiously expensive, while analog
| synths in the DX7's price range were saddled with few/no
| polyphonic voices and/or limited single oscillator designs.
| The DX7, with a varied tonal palette and 16 voices, must have
| seemed luxurious at the time.
| raphlinus wrote:
| The specific thing I've found least documented, yet most
| important for the distinctive percussive attacks of the DX7, is
| a random variation of the pitch envelope for the first few
| milliseconds of the note. That's almost short enough it could
| be done in the firmware, but I believe it might be in the
| hardware. It's not present in the msfa source, but might have
| been recovered by later Dexed authors (I haven't carefully
| looked at their code).
|
| If you get to the envelope hardware, you'll find it's just as
| clever as the exponential and sine generators. There's some
| info at [1], but it doesn't capture every single thing I found
| - there are cases where there is a slight amount of additional
| noise in the amplitude, I'm not sure whether intentional to
| give more character or an unintentional artifact. That's also
| missing from the msfa source.
|
| [1]: https://github.com/google/music-synthesizer-for-
| android/blob...
|
| ETA: Also see https://levien.com/dx7-envelope.html for a
| somewhat interactive JavaScript implementation of the envelope
| algorithm. This accurately emulates the envelope shape and
| quantization of the DX7 (ie it uses the same reduced number of
| bits to drive its state machine), but I do not claim it is bit-
| perfect.
| kens wrote:
| I haven't looked at the envelope chip, but I hope to examine
| it at some point.
| analog31 wrote:
| Interesting, hammond organs had a similar effect due to bad
| key contacts and leaky capacitors. Simulated by Korg of
| course.
| throwawaysea wrote:
| Can someone explain what a synthesizer is to a non musician? It
| looks like a keyboard to me. Do the two terms mean something
| different? Also, in today's world, do these need to exist in the
| same form? That is, can't all these sounds simply be digitally
| produced rather than relying on circuitry? Why aren't all new
| keyboards (or those other things DJs have on stage) simply
| software, maybe with a custom input device for easier live use?
| recursive wrote:
| The synthesizer is the part that makes the waveform. Some of
| them have keyboards attached. Some don't. Some performers do
| indeed use a MIDI controller and VST plugins on a laptop.
|
| The main problem with this is that software runs on computers,
| and sufficiently portable computers are generally just not
| reliable enough for a lot of live performances.
| klodolph wrote:
| > Can someone explain what a synthesizer is to a non musician?
|
| Keyboard = input device, usually generates MIDI. Synthesizer =
| creates sounds from scratch, usually generates audio from MIDI.
|
| Some keyboards are not synthesizers (sometimes called a "master
| keyboard") and you have to plug them into something in order to
| get sound. Some synthesizers are not keyboards, and you have to
| plug something into them to control them. For example, the DX7
| is both a synthesizer and a keyboard. The TX-802 is a
| synthesizer but not a keyboard... it is kind of like two DX7s
| in a 2U rack-mount unit without a keyboard. The Akai MPK249 is
| a keyboard but not a synthesizer. You can buy a TX-802 and an
| Akai MPK249 and plug them into each other, and it's kind of
| like having a DX7.
|
| > Also, in today's world, do these need to exist in the same
| form? That is, can't all these sounds simply be digitally
| produced rather than relying on circuitry?
|
| Circuit emulation has varying degrees of accuracy. I like to
| think of digital synthesizers as computers that don't ever need
| software updates, and are therefore more reliable than software
| running on a computer. They also often have purpose-built UIs
| (knobs, buttons, sliders) which are critical to some people
| using them.
|
| If you are going to make a custom input device, why not just
| make the custom input device and the synthesizer one single
| package? This is called a "sound module" -- something that
| makes sounds but does not have a keyboard attached. They come
| in both rack-mount and desktop versions.
| jacquesm wrote:
| A synthesizer is a device that creates waveforms of a musical
| nature that do not have a natural equivalent.
| throwawaysea wrote:
| Is it not possible to have a fully digital (built in
| software) synthesizer?
| klodolph wrote:
| It is definitely possible... it is also easy to end up with
| software synthesizers that use up large chunks of your
| available CPU power, or even synthesizers that require more
| CPU than you have available. It is also easy to end up with
| a beloved software synthesizer that stops working because
| you updated your computer's OS. I have sound modules from
| the 1980s that still work exactly as they did almost 40
| years ago. I can't say that about software I used in the
| 1980s.
|
| A lot of modern synthesizers or sound modules are basically
| just software running on CPUs, DSPs, or even FPGAs.
| jacquesm wrote:
| Sure, but that's still a device.
| ssalazar wrote:
| > That is, can't all these sounds simply be digitally produced
| rather than relying on circuitry?
|
| Even for an almost fully digital synth like the DX7 a bit-
| accurate emulation is difficult (there is a rich discussion of
| this in one of the other threads here). For analog
| synthesizers, there is a lot of character and nuance in the
| individual circuits that are difficult to capture in a digital
| model, across all possible configurations. In the mix of a full
| song though, its not often that people can notice the
| difference.
|
| Aliasing--the introduction of extra unwanted and generally non-
| harmonic frequencies--is also really hard to avoid in digital
| systems. For more esoteric instruments like Eurorack modules or
| Moog modular synthesizers, the physical interface is an
| integral part of the instrument--software versions of these
| exist but are obviously very different to interact with using a
| mouse or touchscreen.
|
| > Why aren't all new keyboards (or those other things DJs have
| on stage) simply software, maybe with a custom input device for
| easier live use?
|
| For live use this is _very_ common nowadays, though physical
| single purpose keyboards (even fully digital ones) still are
| used widely. In a fast moving stage show you may not want to
| mess around with the complexity of a full personal computer
| setup. In modern operating systems, even with 100s of processes
| competing for CPU time, real-time audio may rarely drop out
| (the result of which is audible clicks and pops), but even this
| is too risky for a big professional live show.
| ajuc wrote:
| Synthesizer is the part that creates the sound, keyboard is the
| part that tells synthesizer what note to play, when, for how
| long, and possibly at what volume. Sometimes people call the
| whole thing keyboard cause its the most distinctive part of it,
| but you can use the same keyboard connected to different
| synthesizers and synthesizers can exist without keyboards.
|
| What's important about synthesizers is the fact that for the
| first time in history it allowed musicians to control the
| "character" of sound gradually in new dimensions (the
| parameters that let you distinguish the same note played on
| piano, flute, guitar, violin, etc.), creating sounds that were
| impossible previously and even changing the character of the
| sound in real-time as another dimension of artistic expression.
| It's like you played a long note on violin and it morphed
| slowly over time into a flute and then some instrument that
| doesn't exist. You couldn't do it before and all these new
| possibilities and constraints changed music.
|
| Also the particular UI of some synthesizers allowed easy
| exploration of these new dimensions and that's important too.
| It's one thing to be able to play any waveform you want (you
| can do that by editing .wav file in hex editor), it's another
| to have several knobs and sliders and hear the differences in
| real-time when you tinker with them.
|
| We can simulate all of this in software but not 100% perfectly.
| EarlKing wrote:
| It's really starting to scare me how many of my personal
| interests manage to crop up as articles here.
| SavantIdiot wrote:
| We're not as unique as we like to believe. I bet there are
| probably just ~400 different archetypal people that read HN.
| [deleted]
___________________________________________________________________
(page generated 2021-11-28 23:00 UTC)