
Dadamachines Doppler: FPGA open music hardware - shams93
https://cdm.link/2019/03/dadamachines-doppler-fpga-open-music-hardware/
======
wallacoloo
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.

~~~
jonnydubowsky
My 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.

~~~
klodolph
I 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.

------
klodolph
The engineering challenges here have already been solved with DACs, and FPGAs
really bring nothing new to the table. Anything you want to do with audio
signal processing is going to involve a lot of multiplication and table
lookups. Sure, you can do that with an FPGA, but what you’ve basically got are
pieces of DSP stuck in your FPGA that you can wire together with Verilog
instead of C. Not exactly something to write home about, since it’s not like
you look at your off the shelf DSPs these days and say, “Gosh, these
definitely have enough computational power for my needs but I really wish that
they were more expensive and more difficult to program.”

The problem is that for most synthesizers and music applications, any problem
you have is simply not going to require that much computational power by
today’s standards.

A good way to make digital music toys is to put all your signal processing on
a DSP, and then run your UI and random other code on a standard
microcontroller. Microcontrollers are cheap, and this way your real-time DSP
code isn’t fighting for memory or time slices with anything else. Some people
are asking whether you can just use a Raspberry Pi. I’m sure the hardware is
capable of cool things with audio, but I’m _not_ sure that you guys would
enjoy wrangling Linux into giving you reliable real-time performance.

~~~
bravura
_Some people are asking whether you can just use a Raspberry Pi_

Can you point us to what hardware (DSPs or DACs) we should use instead?

Can I use them as digital synths?

Can I use them for digital FX?

If I want to make a digital synth with lower latency than a RPi, what hardware
should I use that won't be as hard as an FPGA to program?

~~~
klodolph
The comment was mostly aimed at the poor state of audio on Linux. I think it’s
important to understand what your goals are when you’re doing this. Are you
building something? Will it be mass-manufactured? Does it need to be reliable?
Does it need to be low-latency?

If you’re building something one-shot or playing around, RPi is great it’s
just that real-time audio on Linux is a pain.

If you want to play with real-time, low-latency effects I would get a Mac or
Windows PC and hook it up to a $100 USB audio interface.

If you want to mass manufacture a box that makes noise, at that point it
starts to make more sense to research DSPs. They often have weird
architectures and the toolchains might not be great. But I suspect that more
and more audio stuff is moving to general purpose CPUs and microcontrollers.

------
bayesian_horse
Can this do recording, too? I'm wondering how to record and process rodent
vocalizations in ultrasound (around 20khz) using the cheapest way possible,
akin to the "Deep Squeak" project. There are some interesting applications in
lab animal welfare, psychology and even training for land mine or TBC
detection.

High frequency measurement microphones are very expensive. If there was a way
to churn a high sampling rate ADC through an FFT inside an FPGA, that would
help a lot and it may be simpler or cheaper than for more sophisticated
measurements. But beyond basic things like Nyquist frequency I don't really
know what I'd need in a microphone and the analog/digital backend...

------
analog31
Ask HN: For someone who has done a lot of microcontroller development, but
never worked with FPGA's, does this look like a good platform for me to get my
feet wet? I'm not sure I _need_ FPGA for anything, but it would be interesting
to at least learn the basics.

~~~
bayesian_horse
At the moment if I were to start with FPGAs I would probably get an TinyFPGA.
It has an open source toolchain, and at the price and form factor, it could
fit into a lot of projects, even as a slightly expensive customized port-
expander.

But alas so many things out there to learn and dive into...

------
camtarn
The fact that it doesn't have an audio output on board by default seems like a
really odd omission.

~~~
teilo
Come again?

>2 DAC pins, 10 ADC pins

Pins 35 and 39, 2 channels of audio out.

~~~
wallacoloo
I expect GP meant a 3.5mm audio jack (or similar).

~~~
camtarn
Yes, I did.

I work with industrial controllers with analog outs on a daily basis, but when
I wanted to build an audio board I had to do a bunch of research to find out
what voltage range I needed to output, and what current I'd need to be able to
source/sink.

An audio jack is a hardware API contract, basically: plug a wire in here and
you will get audio out of it.

I don't understand why people would go so far as to be annoyed by the presence
of a jack. Are you annoyed by the LED present on most project boards, if
you're planning to seal up the board in an enclosure that means you'll never
see it?

To be fair it would add to the BOM and probably impose additional limits on
the board design (large footprint, through hole pins) but I'd argue that the
beginner accessibility, and the classification of this board as _for audio_
rather than just another assorted MCU/FPGA board, would be worth it.

Of course, the board designers seem to have felt otherwise.

------
teilo
The specs for this specific Cortex-M4 incarnation:

[https://www.microchip.com/wwwproducts/en/ATSAMD51G19A](https://www.microchip.com/wwwproducts/en/ATSAMD51G19A)

The DAC is only 12-bit.

~~~
klodolph
Only 12-bit is fine, it’s 1 MSPS. DACs you can trade sample rate for
precision.

~~~
teilo
Ah, that finally makes sense. Thanks for that.

------
amelius
To have an impression of the parallel signal processing power of this board,
how many 16 bit multipliers fit on the FPGA?

------
sbr464
Didn’t see it mentioned, but bela.io is also a good hardware platform that
focuses on low latency. Definitely recommend it.

------
postalrat
Anyone know an affordable microcontroller with a few good dac channels?

~~~
duskwuff
The STM32F4 Discovery board -- among others from ST -- has a decent audio DAC
on board.

[https://www.st.com/en/evaluation-
tools/stm32f4discovery.html](https://www.st.com/en/evaluation-
tools/stm32f4discovery.html)

------
matchagaucho
Does _" 6 DSP Cores"_ imply only 6-note polyphony if developing tone
generators?

~~~
jerrysievert
no. does having one cpu mean 1-note polyphony when using a laptop to generate
tones?

you can always mix in software.

~~~
matchagaucho
well... you never know with these hobby DSPs. Once bitten, twice shy.

~~~
jerrysievert
well, oscillators are pretty darned lightweight ...

