6 ms·
This is cool, but I question that the addition of a FPGA will really make that much of a difference to make it stand out against the other products on the marke
by wallacoloo 8y ago
This is cool, but I question that the addition of a FPGA will really make that much of a difference to make it stand out against the other products on the market that can do realtime DSP, except maybe for battery-operated devices (where maybe the FPGA can be more power-efficient than a general-purpose CPU?)
I would have expected the raspberry pi 3 to meet most needs for this market. Quad cores clocked at > 1GHz, USB ports for connecting a controller, analog audio out (or SPI/I2C to a better DAC if you're not happy with the quality), and even HDMI if you want to drive a display, or MIPI for embedded displays.
Is it not easy to drive headless, and that's why developers need a different device for this? Or does the FPGA really unlock that much extra possibilities beyond what a quad-core, 1.2 GHz ARM SoC w/ a neon fpu can achieve? Or is there a demand for lower-power devices than the rpi for audio processing? Or am I missing something else entirely?
A month back I took a raspberry pi 3 B+, wired a midi keyboard to it, and then launched an open source virtual synth, Helm. I was extremely disappointed by the perf: it was actually unplayable. So clearly there's still a lot that can be done in this domain, and there's probably a reason why already-commodified hardware like the rpi doesn't cut it.
- throwaway98109 8y agoCheck out the hype on the Waldorf Kyra (in prototype this was know as the Valkyrie). The Novation peak is another recent FPGA based device. Take a look at https://novationmusic.com/peak-explained https://novationmusic.com/peak-explained for a bit more of an explanation why FPGA is necessary.
- brandonmenc 8y agoAs someone who is pretty hyped up for the Kyra, this stuff is really just hype. Hype, in the sense that it's anything more than a way to hit a higher level of performance at a smaller budget of dollars and/or watts. Which, is a fine goal. But you can have a gazillion more oscillators and way better resolution with a desktop-class processor. None of these new FPGA synths will sound better than Omnisphere - but they will sound way better than the previous generation of hardware synths. There's kind of a backlash against laptops in music right now - ex: modular and the DAW-less trend - so tons of people want hardware, and plenty of them are yelling "FPGA! FPGA!" like it makes a qualitative difference. Seriously, people on synth message boards are like, "what would this sound like if we did it with FPGA?" I admit that sometimes there is something intangibly great about using hardware versus a laptop - but it's mostly about the interface, not the sound engine.
- vertex-four 8y ago> Seriously, people on synth message boards are like, "what would this sound like if we did it with FPGA?" Ah, the blockchain of digital music.
- klodolph 8y agoLooking at the Novation Peak that’s just a bunch of marketing materials, from an engineering standpoint it’s utter garbage unless they know something everyone doesn’t. Oversampling is a standard technique for modeling analogue synthesizers, but you don’t need to go crazy with it, you don’t need to run your DACs at 24 MHz to see the benefit (you can run them at 48 kHz just fine, Novation’s marketing materials mentioning that DACs “often” have alisaing issues is just weaseling—aliasing issues not hard to solve), and nothing about the specs tells me that they would be pushing the performance of existing DSPs. So no, FPGA is absolutely not necessary. Audio, even high-end virtual analogue synthesizers, don’t require a lot of computational power. It doesn’t matter whether you have an oversampled DAC at 24 MHz or a regular old 48 kHz DAC, if you send them the same signals you won’t be able to tell them apart. Keep in mind you can oversample in the digital domain.
- vnorilo 8y agoRunning the oscillators at a ridicilously high rate allows the use of non-bandlimited, trivial algorithms. Band-limiting is not a solved problem, all the algorithms get messy in different dynamic scenarios. As to why design a custom FPGA bitstream for this? It could actually be a reasonable fit if you actually make the waveform generators directly in the LUTs and latches and run the whole thing at 24MHz.
- klodolph 8y agoCan you give an example of one of these algorithms you’re talking about? I don’t understand why these would work at 512x but not at, say, 4x or 16x.
- vnorilo 8y agoAt 4x you would need something like poly-blep with 24/32-bit fixed or floating point support to generate a nice bandlimited sawtooth. Features like oscillator sync can still cause problems. I recall hearing at Clavia HQ that the original Nord Lead used 16x oversampling with a naive generator (subject to hearing it once and my memory over 15 years). Upping to 512x can be reasonable on a fpga, where you can aggressively minimize wordlength and match the DAC. Is there any advantage over say 32x? Maybe not, but feeding the DAC 1:1 can save some complexity. Edit: So I envision the ultra high rate sawtooth as essentially a n.m bit fixed point accumulator wrapping around by itself, with the n-bit (4? 8?) top part going over to the DAC as a kind of directly generated DXD format signal.
- gimmeThaBeet 8y agoI'm going to start with this. A CPU can offer you way more in a practical sense, because of the ease with which you can handle so many things, and that fact that there is so much more development and expertise that you can tap. FPGAs aren't super hard, but I don't think it's a leap to say they're still pretty arcane. One thing I would say, is real time by design? That always seems to be one complaint of people when you are talking about dedicated hardware vs running things on a computer. People can argue until the sun goes down about what constitutes 'real time' in a cpu, as to how your RTOS works, how you are guaranteeing latency and response time. You're rarely if ever going to have that issue in FPGAs, you get control down to the clock cycle level. The downside is that it's like assembly, you have to specify it down to that level. If your task consists of a bunch of independent workloads, FPGAs are great at that. I would say, given the same end result, the FPGA can probably do it better, more efficiently, probably beat it in most important metrics. But the development getting to that point? If the CPU can physically do it, it's going to be a fraction of the development time, near guaranteed. Add on top of that, data handling, content, usability, things that are an afterthought on a computer are very non-trivial on an FPGA.
- PorterDuff 8y agoI was wondering the opposite direction. If there's an FPGA, why have a general purpose CPU?
- teknico 8y agoFrom the article: "That frees up the FPGA to do audio only."
- jonnydubowsky 8y agoMy takeaway from the associated links in this thread is that the key benefit to an FPGA is that it runs at a much higher rate than DSP-based technology, and this has a direct impact on the clarity of sound.
- shams93 8y agoIt's the extreme low latency, while yes you can do a lot with just a pi, still we are talking around 20ms latency. With this setup we are talking about digital hardware synths running at sub 2ms latency.
- klodolph 8y agoI saw some links in this thread, but they look like marketing materials to me. Aliasing is more or less solved problem, and the claim that running a DAC at 24 MHz makes it “better” in any measurable way seems ridiculous at face value. I don’t know what is actually going on, but as far as I know they’re just taking a delta-sigma DAC and talking big talk about the oversampling. In truth, oversampling here is usually just a boring engineering choice where you trade off bandwidth and SNR. If the Novation Peak is running an 8-bit DAC at 24 MHz, they might be making it perform equivalently to a 16-bit DAC at 48 kHz—note the ratios. This is not anything new, it’s just something old that happens to have big numbers in it.
- bayesian_horse 8y agoThe way I understand it is that you can do a lot of DSP related work in the FPGA such that a Microcontroller board can do more sophisticated stuff than otherwise. For makers and hobbyists, the power efficiency is less of an issue, in general. But FPGAs may enable a battery powered application where it wouldn't be possible otherwise. Also, for learning advanced FPGA programming, audio and DSP seem to be a fruitful playground.
- teknico 8y agoHere are two audio Rasperry Pi 3 based, no-FPGA projects. Zynthian: http://zynthian.com/ http://zynthian.com/ Patchbox OS: https://blokas.io/patchbox-os/ https://blokas.io/patchbox-os/
- wallacoloo 8y agoThanks! I was hoping someone would share resources like these. I'll try out Zynthian w/o the extra hardware this weekend :-)