deenigewouter
New member
Hello friends,
I expected to be up in the clouds with the ultimate DIY VA synth, but instead of ascension I fell into the bottomless pit of bandlimited oscillators. Dissatisfied with the dull high-ends and aliasing of several polyBLEP and BLIT methods I tried, I gravitated towards minBLEPS. The code is derived from VCV Rack and thus bears the GPL 3.0 license. It is a work in progress and is (currently!) missing some key features, but this seems like a solid foundation to build upon (from an amateur's perspective). Do with this code whatever you want.
I'm curious to your thoughts, and if this is worth pursuing further. Feedback, pull requests, suggestions, all is welcome! And please let me know if I messed up the licensing / copyright notices.
Github repository
CPU usage on Teensy 4.0 (scales with pitch)
Current features
Roadmap
Issues
I expected to be up in the clouds with the ultimate DIY VA synth, but instead of ascension I fell into the bottomless pit of bandlimited oscillators. Dissatisfied with the dull high-ends and aliasing of several polyBLEP and BLIT methods I tried, I gravitated towards minBLEPS. The code is derived from VCV Rack and thus bears the GPL 3.0 license. It is a work in progress and is (currently!) missing some key features, but this seems like a solid foundation to build upon (from an amateur's perspective). Do with this code whatever you want.
I'm curious to your thoughts, and if this is worth pursuing further. Feedback, pull requests, suggestions, all is welcome! And please let me know if I messed up the licensing / copyright notices.
Github repository

CPU usage on Teensy 4.0 (scales with pitch)
- Sawtooth: C2: 0.58% - C7: 0.98%
- Square: C2: 0.76% - C7: 1.58%
- Triangle: an even 0.63%
Current features
- Bandlimited sawtooth
- Bandlimited square with pulsewidth
- Triangle with seemingly low aliasing
Roadmap
- Modulation inputs
- Hardsync
- Analog-ish waveshaping (if worth the additional processing)
- Oscillator drift
- Oversampling (maybe...)
- Proper readme
Issues
- DC offset on sawtooth due to stacked minBLEPS.
- unequal output volume of waveforms.
- bad / inefficient code (probably).
- minBLEP table is larger than it needs to be.
- ?