< 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.

FPGA Drum Machine

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: Chaining all of the provided effects in series introduces about 0.5 ms of latency.

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.

FPGA Block Diagram
Ethernet Interface Block Diagram

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.

Copyright © 2026 Matthew Taylor

[tmatthew ατ mit dot edu]