XVA1 – RC1
I’ve been programming software synthesizers for nearly two decades so far. The techniques and processes are, after a while, natural and familiar. From time to time there’s some new fresh technique, but the path forward is mostly evolutionary. Has been this way for probably last 30 years.

FPGA world is different. Development is slow, tedious and often… annoying. However, breaking free from architectural limitations of any sort in the traditional sense, gets you thinking in the shower on something new you’d like to try everyday.
This is the first release candidate of XVA1, and even this late I figured out a way to expand the filters architecture quite a bit.
As in previous, the filters were composed of two serial 2-pole filter, with the second stage capable of being bypassed. This was the configuration that allowed for 2-pole and 4-pole LPF/HPF/BPF filters, pretty standard.
In this build, the stages can also be turned into 1-pole filters. In this way, there are LPF and HPF in 1-pole, 2-poles, 3-poles and 4-poles, for 6/12/18/24 dB/Oct rolloffs.
Additionally, the two stages can now be disengaged, each one getting its own cutoff and resonance. They can be routed in serial, as to get two adjustable resonant peaks and filter types (i.e. LPF -> HPF with individual cutoff/resonance), and also in parallel.
This results in 15 different filter types/configurations.
After the first stage, a new overdrive algorithm with seven different curves allow for polyphonic, stereo filter saturation.
So in shorts, each XVA1 voice now has two individual stereo filters. That totals for 128 resonant filters running at once.
A few other minor niceties:
- Filters now have Velocity-to-Resonance and Keyboard-to-Resonance bipolar adjustments
- Osc3 and Osc4 can now be set to ring-modulate each other
- Fixed the MIDI CC for Osc1-4 level
Enjoy!