8-bit-inspired Max4Live polysynth

Current version: 0.1; mildly buggy

This is very much a ship-early-and-fix-it kind of deal.

My favorite synth sounds in pop music are usually chiptune-inspired or distorted in some way. I wanted to build my DSP chops by designing a polysynth that was sort of always a little lo-fi by design. To this end, I implemented a “polynomial transition region” asymmetric triangle oscillator and an SVF to add to excellent building blocks Peter McCulloch made for the Ableton Max4Live synth Poli. I also really like FM, so inspired by the Just Friends approach, I gave each oscillator a modulator to pair with it. Also inspired by Three Sisters, I included options to “tilt” the filter and mixer; bringing in more of the high/low end or first/second oscillator and making the other quieter.

Known Bugs:

  • FM is not working.
  • Pre-filter sub-oscillator seems to not work.
  • MIDI input somehow two octaves too high
  • Possible to blow up filter / create pops with oscillator, likely due to unsmoothed modulation around clipping points.
  • Misses note-offs in Ableton for some reason.
  • Sustain knob seems to not affect sustain value enough.


  • bugfixes
  • demo video
  • Mod wheel / pitchbend
  • tune modulation knob depths
  • downsampling?
  • more tuneful distortion


Max4Live with Max 8 required (uses mc.gen~ rather than poly~). Otherwise is a normal Ableton “Instrument” playable via MIDI.


Drag bitters.amxd into a MIDI track in Ableton. Front panel has two tabs: the former pictured above sets main parameters. The latter is for modulation amounts.


v0.1 - Github download

Github: (contributions welcome!)


Peter McCulloch, @zebra, the creators of Poli, Cytomic’s Andrew Simper, everyone who told me learning mc would be worth it.



1 Like

T-T somehow this always happens and I don’t understand why; it replaced my gen~ file with a default.

Congrats, can’t wait to try this!

to be actually helpful lol:

It’s a dependencies thing (for the .gendsp files) - it’s all critically undocumented and there’s some bugs. same problem I ran into when I first started sharing.

I noticed it wasn’t frozen - I think if you freeze then save that’ll do the trick. if not, you may need to follow the surgical insertion steps I angrily layed out on the max/msp forum

also fun fact: the first grid app I ever made was also named bitters


Attempted correcting the file problem by freezing. If it doesn’t work I’ll have to try your method tomorrow.

1 Like


thank you so much for your work! really look forward to trying it out. but i will hold off so as not to pile on the “hey this doesn’t work”.

it looks amazing. you are amazing :pray:


oh I can confirm this works now - just needed the freeze

I think the only prob I’m running into now is the filter blowing up thing - seems to happen whenever I turn up cutoff modulation

will it ambient?? :

excited to hear what FM will be like !

1 Like

For filter blow-upiness, try reducing the max cutoff to 18 kHz or so. A lot of digital filter models really do not like being modulated near the Nyquist frequency (or half of your sample rate), especially with resonance applied.