10 ms·
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 woul
by wildzzz 5y ago
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.
- klodolph 5y agoSure, but this is known to be easy to emulate in software. The FPGA isn't really necessary.
- dharma1 5y agoIt’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 5y agoFor 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 5y agoAh, 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 https://www.futur3soundz.com/xfm-index
- klodolph 5y agoMy 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 5y agoYeah 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 5y agoThere 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 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-circuits https://resources.altium.com/p/pcb-design-rules-analog-circu...
- dharma1 5y agoI just bought the parts for this FPGA 6op fm synth - https://www.futur3soundz.com/xfm2 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 https://www.futur3soundz.com/da-blog/xva1
- jedimastert 5y agoNot exactly the same, but here's an FPGA emulation of a Hammond organ https://github.com/keyboardpartner/HX3 https://github.com/keyboardpartner/HX3