The XFM2 Synthesizer Module is a DIY 64-voice, 2-part, 6-operator FM Synthesizer with built-in effects processor, built on an FPGA chip.
The synth is based on two pre-assembled development boards: the Digilent CMOD A7-35T (FPGA, USB, SRAM) and the Adafruit UDA1334A (DAC). This combination means that the module has lets than 10 components and can be built for about $99.
Features:
- 2-part, 64-voice polyphony (32-voice for each part)
- Polyphonic/Monophonic Legato modes
- The two parts can work as individual synthesizers, or layered
- 6 operators per voice
- 2 independent oscillators on each operator
- 8 waveforms per operator
- Variable modulation algorithm (extended from XFM to allow for multiple feedback loops)
- A 7-segment, loopable Envelope Generator for each operator
(DAD1D2SR1R2, with time and level controls for each segment) - 7-segment loopable Pitch Envelope Generator
- Per-voice LFO with Triangle, Square, Sine, Random waveforms
- Per-operator adjustable LFO sensitivity for pitch and volume
- Per-operator adjustable velocity tracking, keyboard tracking
- Polyphonic /Monophonic portamento
- Pitch bend range adjustable independently for up and down directions
- Extensive MIDI implementation (pitch bend, mod wheel, aftertouch, sustain pedal, breath ctl, foot ctl, volume, pan, chorus, reverb, delay, tremolo, etc.)
- Four per-program assignable Performance Controls, which allow any parameter to be controlled by MIDI continuous controls messages.
- All synthesizer and effects parameters (300+) adjustable via MIDI system exclusive messages.
- Two complete stereo-in/stereo-out effect processors (one per part), including:
- Decimator
- Bitcrusher
- Filter
- Chorus/Flanger
- Phaser
- Amplitude Modulator
- Delay
- All of above effects can be run simultaneously, for both parts
- Stereo Reverb with individual sends per part
- Arpeggiator
- 128 programs memory (EEPROM)
- MIDI in, optional thru
- Samplerate-grade modulations
- 24-bit stereo analog out
- Optional Stereo, 24-bit SPDIF digital out
- Battery friendly, low power operation
- Fully programmable (connecting it to a PC via USB)
- Nearly zero latency (< 0.5ms)
- Extremely fast boot time (< 100ms)
See the project site for detail
Also has 256 user overwritable full keyboard tuning presets! The included presets are a fairly wild selection.
That’s always nice to see. Thanks for adding that info.
I wonder if this will be able to import patches / presets / banks from the DX7, like Dexed, FM7 etc. can?
– or maybe a cross-conversion tool to do so.
I hope to see more FPGA synths as it allows internal sampling rates in the MHz range thus avoiding the usual aliasing issues.
Agreed. I was thinking it would be nice to see a good sample-player with key/vel-maps, multi-mode filters, good mod rates and envelopes with curves. Would require more RAM, and a micro SD reader.
These look like good specs, but I’m always annoyed to see only 1 LFO per voice. Why is it that the vast majority of past and present FM synths are always limited to 1 LFO? I love FM for creating evolving soundscapes and 1 LFO isn’t just enough.
If as says envolopes for each voice also loopable, ye soundscapes shall surely evolve!