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