[HN Gopher] Yamaha DX7 chip reverse-engineering, part V: the out... ___________________________________________________________________ Yamaha DX7 chip reverse-engineering, part V: the output circuitry Author : picture Score : 115 points Date : 2022-02-04 17:16 UTC (5 hours ago) (HTM) web link (www.righto.com) (TXT) w3m dump (www.righto.com) | kens wrote: | Author here if there are any questions about my latest DX7 post. | annoyingnoob wrote: | I love your work and your site, thank you. | [deleted] | orangesite wrote: | Thank you so much for doing these, my childhood is complete! | null4bl3 wrote: | Have you tried out the korg Opsix? | wrs wrote: | Have you interacted with the folks at Plogue making the OPS7 | emulator? They seem to be obsessed with reverse engineering to | get bit-level hardware accuracy (but with a logic analyzer). | lostgame wrote: | I just wanted to thank you for this. | | I 'grew up' on the YM2612 due to the Genesis being my childhood | console. | | As a rapper/producer these days - I'm always reaching back | there when composing Beats - with the self-imposed limitations | included, of course. Some prouducers still prefer an MPC2000 | over a DAW. | justaj wrote: | What do you think about the dexed softsynth [0]? It's | supposedly the closest modeled softsynth to the DX7 in | existence. | | 0: https://asb2m10.github.io/dexed/ | [deleted] | corysama wrote: | They'd like this over in | https://www.reddit.com/r/ReverseEngineering/ | pantulis wrote: | Thanks for this! Will you be dissecting the M1? ;) | jacquesm wrote: | Will you donate an electron microscope? ;) | TonyTrapp wrote: | They are most likely referring to the Korg M1, not the | Apple M1. Similar vintage as the DX7, so probably no | electron microscope needed. | kens wrote: | I wasn't planning on looking at either M1 :-) | jacquesm wrote: | Ah yes, that possibility exists as well. Good call. | wildzzz wrote: | It would be interesting to have this design on an FPGA that has a | built-in DAC. I could see a very general purpose midi keyboard | that has an interface that would allow switching between multiple | different simulated synthesizers. | jedimastert wrote: | Not exactly the same, but here's an FPGA emulation of a Hammond | organ | | https://github.com/keyboardpartner/HX3 | dharma1 wrote: | I just bought the parts for this FPGA 6op fm synth - | https://www.futur3soundz.com/xfm2 for about $100. | | It sounds amazing, simple build. The author, Rene Caballos is a | dsp guru who wrote Z3TA+ and a bunch of other softsynths. The | same board can also run another synth, | https://www.futur3soundz.com/da-blog/xva1 | klodolph wrote: | Sure, but this is known to be easy to emulate in software. The | FPGA isn't really necessary. | dharma1 wrote: | It's nice if you want a portable (size of a cigarette pack) | hardware fm synth with megahertz sample rate oscillators (no | aliasing), with built in effects | klodolph wrote: | For the same reason that dynamite can be used to dig holes | in your garden, yes, an FPGA can be used to simulate a DX7. | | If you're going for a "no aliasing" simulation then you're | not after the DX7 sound anyway (which has fairly heavy | aliasing), and you might as well just wire up some | bandlimited FM in software. I still don't see how using an | FPGA helps you, except that it lets you throw money at a | problem instead of having to learn signal processing | theory. | | I'm not trying to pooh-pooh FPGAs, it's just that CPUs have | a ton of processing power these days, and we have tons of | signal processing techniques to deal with aliasing other | than just cranking the sample rate up to infinity. The | amount of processing power it requires for bandlimited | synthesis is a function of sample rate, if you keep the | other design parameters fixed. Low sample rates are | inefficient because your filters get really large--so you | oversample. Likewise, at high sample rates (megahertz is | well beyond "high") it gets easier and easier to deal with | aliasing, and at some point, you're just churning through | more data without reducing the aliasing (because at some | point it's below the noise floor anyway). | dharma1 wrote: | Ah, I agree that simulation of DX7 quirks with FPGA makes | little sense. But they are an interesting choice for a | very portable high quality FM synth (not a specific | emulation) vs other similar sized options. Here is some | more rationale - https://www.futur3soundz.com/xfm-index | klodolph wrote: | My experience implementing FM in software is that CPUs | are just so wicked fast, because FM is super easy to | implement in SIMD. I implemented FM synthesis using SSE | and when I measured the performance, I found out that the | oscillators were memory-bound or close to it. You could | compile a few operators into a function and work on small | buffers in L1 cache, and and it just wouldn't show up on | the CPU usage monitor. | dharma1 wrote: | Yeah to be honest he could have probably implemented this | as an iOS app for max portability. Wouldn't get latency | down to 1ms like with the FPGA synth but otherwise would | have been fine | mikepurvis wrote: | There have been a handful of products that have tried to be an | FPGA for analog circuits, but unfortunately those applications | are far, far more sensitive to signal integrity issues, so it's | harder to just abstract away all the intermediate fabric that | connects up your function blocks the way you can with a digital | circuit. | | This post explains further: | https://electronics.stackexchange.com/a/25529 | | Here's an example [0] of some of the many considerations that | come into play when laying out even a conventional PCB that | handles analog signals, from which it's not hard to imagine how | much more of issue basically all of that stuff would be when | happening inside a single chip package-- particularly when part | of the point of analog circuits for audio processing is often | to achieve the aesthetically interesting effects that happen | when components are overdriven, oscillating or feeding back, in | breakdown, etc. Not hard to see why modern programmable effects | pedals just have a high speed DAC and do everything in | discretized space. | | [0]: https://resources.altium.com/p/pcb-design-rules-analog- | circu... | sparklingmango wrote: | HN loves the DX7. | httpsterio wrote: | I mean, why not? It's not the first but one of the first FM | synths and the one that definitely made the biggest splash. | Affordable and versatile so it became a staple in studios, | music classes and with home players as well. | | The sound chip YM2612 is also what elevated video game audio | when it was still in its' infancy to something more akin to | "real" sounding instruments. | | Historically it's been very influential since the 80s so it's | no wonder it's struck a chord with people now in their 30s, 40s | and older. | klodolph wrote: | IMO the YM2612 was neat but shortly after it appeared, we | started getting multichannel PCM-based (or ADPCM) sound chips | which were much more flexible and had more naturalistic | sounds. | w0mbat wrote: | The same thing happened in the pro synth world. | | When the DX7 came out in 1983, people were wowed by the | decent piano sound, for example, which was something analog | synths never did well. There were lots of sounds like that | - bells, xylophone etc. | | Then sample based keyboards started to get more affordable, | and RAM and ROM got cheaper. | | Eventually in 1988 came the Korg M1. Megabytes of samples | in ROM let it do a perfect piano sound, along with a horde | of other great sounds, natural and unnatural. The M1 became | the best-selling synth in history and the world's | fascination with FM finally faded. | jacquesm wrote: | HN Loves Ken Sherriff. His work is absolutely amazing. | Mountain_Skies wrote: | I know next to nothing about musical keyboards but know about | the DX7. In the 80s it was a rock star in its own right. MTV | and the big DX7 label on the back of the keyboard made it as | recognizable as members of the band using it. For that era, it | was the Porsche 911 of keyboards. ___________________________________________________________________ (page generated 2022-02-04 23:00 UTC)