< Home
FPGA Electronic Drum Processor
A musical instrument system that uses an FPGA to implement a real-time electronic drum sampler, audio effects processor, and Ethernet audio interface. The total cost of the system hardware, including the FPGA development board and two custom printed circuit boards (PCBs) is less than $500.
Drum Sampler
The drum sampler provides up to 20 minutes of audio storange in DRAM, and the audio may be mixed with four external audio inputs. Pitch shift may be applied to the sampled audio by adjusting the rate of DRAM read requests, and a multirate resampler converts the resulting multirate audio signal to a 48 ksps signal. The resampler is constructed using a Farrow structure fractional delay upsampler and 4:1 polyphase downsampler. The DRAM interface and pitch shift resampler introduce a maximum latency of about 0.8 ms.
Audio Effects Processor
The audio effects processor provides the following effects:- Delay with feedback
- Stereo reverb (Freeverb algorithm)
- Distortion (tanh function)
- A virtual analog transistor ladder low-pass filter
- Bit crush
Ethernet Audio Interface
The Ethernet audio interface supports real-time 16-channel, 48 ksps, 16-bit audio recording. A Linux driver receives Ethernet audio packets from the FPGA and provides the audio to applications using the PipeWire API. An adaptive resampler on the FPGA corrects for clock drift between the FPGA and the Linux system. Block diagrams of the FPGA design and the Ethernet audio interface are provided below. The audio interface introduces about 6 ms of latency when using a 512-sample ring buffer in the PipeWire driver. During testing, this configuration did not produce xruns when using an Intel i7-1255U CPU.
External Controls
The system provides MIDI input for an electronic drum set or other MIDI controller, expression pedal input for live control of audio effects, and a digital audio workstation (DAW) interface for automating audio effect parameters.
Audio Demos
Pitch Shift
Delay
Long delay time:
Shorter delay time:
Even shorter delay time:
Reverb
Short decay time with a large amount of high-frequency damping:
Long decay time with a large amount of high-frequency damping:
Long decay time with a small amount of high-frequency damping:
Distortion
Low-Pass Filter
Low Q factor:
High Q factor:
Bit Crush
Applied to a cymbal (volume warning):
Applied to a drum (volume warning):
Ambient Sound Design
A short piece made using pitch shift, delay, reverb, and the filter, all applied to the same drum and cymbal samples used in the previous demos.