[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)