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

V0.3.x Firmware Workout: Better late than never



I´ve been wondering if there is a way to change the way the filters are set initially. Often times I´d like to add a filter in a chain without the dropping of highs and the added resonance. Personally I think it would be practical if the filter would be fully open when added into the chain. Also after adding something into the chain, the pointer appears on the left side of the added item instead of the right side.


Not sure were on the same lines. :slight_smile: Forget about the tuning up a fifth and all that stuff, I was just trying to get the sample to play back at C, in response to zero volts from my controller.

  • My sample was playing back at 0 offset within sample player at a badly tuned A below C.
  • So within the sample player, it was then playing back at C with no v/oct signal at an offset of +329cents from within the sample player.
  • Adding my keybaord as 1v/oct controller to the v/oct input, all was fine.
  • So added an offset after the 1v/oct signal and adding 0.323 seemed to get it around the right point, with the v/oct offset within the sample player set back to 0cents.
  • However playing up the keyboard didn’t provide the expected behaviour.

For the ABCD inputs, the input voltage of -10.24V to 10.24V is mapped to the internal range of -1 to 1. So, an offset of 0.323 is like adding 3969 cents (10.24V * 0.323 * 1200 cents/V). So you tuned up almost 4 octaves. :scream:

I don’t really understand this, I’ll keep reading it. :slight_smile:

EDIT: Oh hang on, I’m adding way to much offset! is that it?


These two things are the same operation. If your sample is too low by a perfect fifth (or any amount) when you give it 0V on the V/oct input then just turn the V/oct parameter up to 500 cents (or whatever). Like this:


or in the example you gave, tune it up +329 cents:


If this doesn’t work something is very wrong. :exploding_head:


If your sample was initially around 440Hz then transposing it up 4 octaves means that is now over 14kHz. Playing up the keyboard by octaves will push to 28kHz then 56kHz and so on. I would expect garbage at those rates.


Yeah that must be it. I’ll try again, in principle what I was trying to do should work but my execution was poor.


Possible Bug v0.3.05. While in shift slice mode, trying to coarse zoom on the sample causes a crash. Happens in both sampler player, and grain stretch.


@odevices hi Brian, I have a suggestion & I’m not sure if it would confuse things more with regards to the input CV mapping to the internal values.

I think it would be useful to have a scalar matrix for all the inputs as a system setting where each input can have its own scalar. One idea in particular to easily map 1V to 0.1 internal scalar would be to set a scalar of 0.9765625 to the incoming CV to simplify mapping?

Obviously you wouldn’t want this on all inputs especially for anything that uses 1v/Oct but for other uses this could be really good.

An alternative, that I’d be happy with myself, might be a simple unit that allows a scalar to be typed in as opposed to dialed in with the encoder - that way I could just type the number above in and then save this as a custom unit?


What is the scenario where this would be used?


I guess more for convenience than anything else to be honest e.g. if I send 5V from the ER101 I know that it will represent 0.5 as opposed to 0.448.

I personally think it would ease use when building complex patches that uses a mixture of external CV & internal values so that it’s one less thing to think about.

Anyone else think I’m barking up the wrong tree (not that Brian said or inferred this)?


After some thought this is what I will do: I’m going to change it so the ABCD and IN inputs map -10V to 10V to the interval of -1 to 1.


will this throw off anything we’ve made in the past? Could this be a global setting/preference?


Hi Brian, wow, that would be great!


That was the part that I had to think through. As far as I could tell, there are really only two places where this small change would make an appreciable difference: pitch, slice selection. I think everywhere else that a precise value was needed in a patch, the user would tend to generate it internally which means it would be unaffected by this change.

Pitch: I will be able to make internal adjustments to all units that use V/oct so that no one will notice the change on this front.

Slice Selection: This will probably change slightly the slices selected when Address Mode = index or nearest. Address Mode = 12TET would be unaffected however.

Of course, this applies to old recordings of CV signals as well. I would prefer not to have a global setting for this because that could wreak havoc with preset sharing in the future.


A question related to this change:

Would it be possible to display this number somewhere? Probably in some scope view…

If you could see this number, and external voltages would have a 0.1 correspondence to the internal values, it would be really easy to accurately dial in offsets or attenuation of external modules for mapping to things inside the 301. Does that make sense at all? :sweat_smile:


Continuing to get excited about the first steps towards the SDK starting to trickle out. Occurred to me that I should use this as an opportunity to finally learn Lua. Found this: https://www.lua.org/pil/contents.html. Any other recommendations?


See this thread:


Thank you!


You’re welcome @udbhav - be very cool if you did learn some Lua - the more the merrier :slight_smile:

I might have found a bug, is the Sine Osc sync not working? Mine does’t seem to want to play!


Hmm…I couldn’t reproduce this by simply firing up a Sine Osc and trying various things. All seemed to work fine. Do you have any details? Did you inadvertently set the sync’s trigger threshold to a negative value and then feed it a unipolar gate or similar?


I would need to check it again but can’t do this now, if you’re interested in checking something now it’s the sin osc modulating the phase parameter in the custom unit I just posted on the Sample Scanner thread. It had a really slow setting and was being synced to a pulse from Pam’s New Workout so should have been fine.