Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Polyphonic Synthesizer | Custom Unit

Yea it seems like the single cycle version makes the most sense to make first, I’ll focus on that. Btw for reference, the built in single cycle unit is about 300 lines of code, the same size as this entire synth unit :sweat_smile: so it’s a big jump in complexity ha

Turns out it wasn’t as bad as I thought, I got it working with mostly copy pasting. Still need to add the scan controls and clean it up though, https://github.com/tmfset/er-301-custom-units/pull/3

1 Like

Alright all set! I’ve added versions for both single cycle and triangle oscillators and updated the documentation.

1 Like

Sorry to interrupt, but what is a “single cycle oscillator”. You know, I think it would be super neat if you could load a short wav and use it as a wave form for a single cycle.

You got it exactly, single cycle is a very short wav file that is a single cycle of a (potentially) complex waveform. When played back at audio rate we can create more complex sounds than you could with standard saws or triangles etc.

Adventure kid has a great collection of free single cycle wavs here: https://www.adventurekid.se/akrt/waveforms/adventure-kid-waveforms/

In particular this allows you to play square waves on the ER-301. Complete with PWM if you load multiple wavs at once.

1 Like

Wow, thanks, that’s reassuring. Polyphony isn’t especially useful for me right now, but did you see the thread I just started, which I may now delete… on morphing between different wav files?

Yea I did, if you’re looking for wavetable synthesis that’s exactly what the single cycle oscillator is for. You can load an entire folder of wavs and then modulate the scan parameter to interpolate between them

1 Like

OK. Is the single cycle oscillator a custom unit / add on? Sorry these questions are probably really out of place.

It’s a built in unit, so you can use it on its own. Alternatively there’s now a polyphonic option :slight_smile:

1 Like

Cool, I didn’t [and don’t] see it on the wiki page, which is baffling. Is it called something else?

All good, I’m sure everyone is really grateful for your code :wink:

EDIT seems to fall under uses of the variable speed player, which I haven’t really used yet. Great that you can load several files and interpolate between them :thinking:

carry on :slight_smile:

EDIT again: but I don’t see an interpolate or “scan” option, anything like that :thinking: and can’t find anything on the forum about it either, Don’t sweat it, I’ll find out what’s going on at some point ha

Its a separate buildin unit, if it’s not appearing under oscillators, you might wanna upgrade your firmware…

Good news, almost finished with round robin! (need to clean up and test more) Huge props to @Joe for showing me how :slight_smile:


Alright v2 is finished! Here’s a list of changes:

  1. Add round robin as the default gate / voct control.

  2. Move the individual voice controls to a separate page to reduce clutter.

  3. Set the collapsed view mode to show the scope.

  4. Remove the 2 and 8 voice versions but add a 6 voice version. This seems more practical and reduces clutter on the insert screen.

  5. Update documentation + add more screenshots.

The round robin control really elevates this unit I think, it’s so much more immediate now and it sounds great with an arp on it!


Thank you for your work !

1 Like

Thanks for your efforts here! Looking forward to trying this out.

And seeing what your code looks like for this:

1 Like

Thanks Joe! That one was pretty simple actually, just add the scope control to the collapsed view in onLoadViews. Figured it would be a nice QOL improvement so you can have some cool looking scope action if you want it :wink:

1 Like

Here’s my latest track, featuring the polyphonic saw for chords:


That’s awesome! So cool to see it being used like this, how did you send the v/oct values into it? Teletype?

Yeah, teletype over i2c. :+1::+1:

1 Like

Ouch! Nice units! Sounds great through some bandpass and then verbs, spacey goodness.