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

Custom Unit Build: 4 Poly Round Robin Sample Player



no slew/glide on v8 and yes i tried with the micro delay. I get the same problem with the voltage block as well.


I could only solve this isuue by adding a quantizer (12 tet) in the sub-chain of v/o custom control.


Really love this unit! I love using multiple different samples for each voice for really interesting multi-coloured sequences. Only issue I’m having with it is I can’t seem to save presets properly so that it recalls the samples as well. Weird thing is I think I’ve been able to do this before but it doesn’t work anymore? Any ideas?


I haven’t used it for a while but I’ll have a look. I thought it saved samples too. Are you saving the custom unit preset as a new file name?


Glad this works. I don’t have a varigate and can’t imagine what’s going on here since the previous suggestions didn’t work. Don’t suppose you have an external oscilloscope to look at the signals from the bsp and varigate with?


Yep did all that.


This is working for me. You’re on the current firmware 0.3.25, right?

  1. Focus press unit header
  2. Save preset
  3. New File
  4. Give it a new name (e.g. 4 Poly-preset 1)
  5. Press enter

When I do this it saves the updated sample references. When I load the preset, it has the updated/changed samples ready to go. If I load the original preset, it is back to the guitar sample I used on the original save. In the 2 LUA preset files I see, for example:

Poly 4.lua line 1414

["path"] = "1:/ER-301/recorded/EGuitar-A.wav";
["slices"] = {
["path"] = "1:/ER-301/recorded/EGuitar-A.slc";

Poly 4-preset 1.lua line 1414
In the newly saved LUA file on the same line I see:

["path"] = "1:/ER-301/samples/CardOne/No Budget Orchestra/Organ/Calliope/A/3_A.WAV";
["slices"] = {
["path"] = "1:/ER-301/samples/CardOne/No Budget Orchestra/Organ/Calliope/A/3_A.slc";


Yep working with 0.3.25. Saved the present and upon reloading the unit the samples are there and accounted for, but when I turned my rack off and then on again they’re gone? I wonder if this is something to do with my card? I got my 301 used and the seller didnt even include the original sd…


It survives a reboot for me. I wouldn’t think it would be your SD card. If in doubt i suppose you could back it up and reformat it using the ER-301 to do it, then copy your things back to the card.

The only other thing i can think of is if you’re assigning unsaved samples from the sample pool?

If you want to post the newly saved preset here maybe it would give some insight?


4 Poly dx7.lua (62.0 KB)

My directory for the preset is: ER-301 > v0.3 > presets > units > custom-unit

And the sample is located in: ER-301 > recorded

Thanks for all your help so far Joe, with this and the other issue I was having. Myself and Im sure everyone on this forum really appreciates it! :slight_smile:


You are welcome! I do what I can. :slight_smile:

All of the buffer references in your preset file look like this:

["path"] = "tmp/buffer-0053-02";
["slices"] = {
["path"] = "tmp/buffer-0053-02.slc";
["rate"] = 48000.0;

Compare to mine above where they begin with 1:/ which refers to the front SD card, your buffer/sample references are referring to a place in RAM (I think) which is why they aren’t surviving a power cycle.

How are you assigning the samples? Are you choosing “Select from Pool” and then using the Load Samples function to find them on the SD card? I have been using “Select from Card” vs Select from Pool. If you’re not using select from card, I suspect you might have to go into global mode, and into the sample pool manager and save the unsaved buffers as new files to your SD card before saving the custom unit preset in order to get it to refer to the files on the SD vs ram-based buffers.


Hi! @joe i want to thank you for your awesome videos and work, as a new 301 user it really helps to have such in depth instruction to start learning this insanely amazingly capable module…

I followed your video and got the 4poly working in the stable .3x version of the firmware…

I’m trying to teach myself by building an 8vox version in the new 4.09 firmware using the methodology from your video but with the newer “counter” unit and i’m running into a brain-dumb user error pickle i was hoping you or anyone else might be able to help solve…

I am able to trigger the first voice with pitch info no problem, and it triggers once every 8 triggers.
I copied that same mixer channel 7 times and adjusted the bump scanner center in the gate and pitch controls of their respective samplers, but it’s not working out how i would have thought. I realize this is definitely because of something that i’ve failed to grasp/understand but i can’t for the life of me figure out what it is.

By my maths (not my strong point), since the gain of the top level “counter” control on the custom unit was 1, i divided 1 by 8 and got .125

So i figured to trigger the voices sequentially through the bump scanners it should go like this (tell me if i’m totally wrong, i probably am):

V1 - Bump Scanner “center” = 0
V2 - Bump Scanner “center” = 0.125
V3 - Bump Scanner “center” = 0.25
V4 - Bump Scanner “center” = 0.375
V5 - Bump Scanner “center” = 0.5
V6 - Bump Scanner “center” = 0.625
V7 - Bump Scanner “center” = 0.75
V8 - Bump Scanner “center” = 0.875

The 2nd voice will trigger if i set the bump scanner center to 1… However, this doesn’t make sense to me, as setting the 3rd bump scanner center to 2 and so on, didn’t work. They all trigger at the same time as the 2nd voice (my guess is because 1 is the highest value that would be read?)

I have experimented with different widths for the bump scanners and also with different gain amounts on the top level counter control, but really i am just guessing what i am doing here and not surprisingly, nothing so far has worked.

Can anyone please shed any light?


What is the range of values that you are sending in? Also, in your case, all of the Bump Scanners should have the same width of 0.125 and a fade of 0 so they don’t overlap.


ahhh!! thanks for that!
It still wasn’t working for me and i was thinking i had totally misunderstood the way it worked, but then i took a guess and set the output gain of the counter to 0.125 aswell, and now it’s working!!

I’m guessing before since i had the output gain of the counter at 1, it was going from 0-8 instead of 0-1 so it would have only read one of the values?

I know i haven’t fully understood it, but it’s working now and that’s good enough for me!!
Man this module is awesome!!!

Here’s an 8vox round robin unit if anyone else is interested in it, just load up the sample players with something nice and it’s good to go!

Round Robin 8Vox.unit (136.5 KB)


Has 4 poly been updated for v0.4.X?


Not yet.