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

V0.4.x Firmware Workout: Goofing off never felt this hard



Massive!! I…can’t…wait


Hehe. Yeah I know. :wink: I’m brainstorming on that. Currently, when the unit’s title doesn’t fit then the renderer uses the unit’s 1-2 character type code: VCA is just multiplication, hence the X.


*~ :grimacing:


I’ll take a look and see if I can clean the loguc up a bit. Thanks for letting me know!


Thanks for describing the feedback patch. It took a bit of pondering, mainly because it’s all new, I think. Thanks for the great update!


First and foremost: Thanks a lot for the update! I’m currently travelling, but I’m looking forward to try it as soon as I’m back home.

Perhaps more a topic for a separate thread, but I’m curious about the topic of hard-coded delays in feedback paths. I’m not a sound designer or developer, so the only thing I understand here is that there MUST be a delay in digital feedback paths. But I often heard that feedback patches sound better in analog devices because there is no delay and that feedback fx in digital devices or environments sound “worse” because of this delay. Is this a myth or the truth or is it more complicated? I’d love to learn more about this.


thank you for the update,
so there are some parts need to be clarified for me,

  1. when i load my custom units, (i’ve changed my file extensions from .lua to .unit) it loads perfectly but nothing seems to change, when i tweak the parameters of that unit, there is no change at all and i have tried with several CU’s (vinyl, trash tape, ultraviolet etc…), i get the same result

  2. after changing the file extension names, i also can’t see Joe’s units in the main selection menu which existed in v0.3 (Pingable Scaled Random, Clocked Random Gate, etc…), is there a way to get these back ?

  3. how can i load my quicksaves from v0.3 ?


Thanks for the update, wasn’t expecting it this morning!! :heart:

I’m already so used to this scope mode, so intuitive. That switch is going to get a LOT more strain though, flipping back and forth all the time between modes. Is a switch like that actually holding up to that kind of usage?


I didn’t change a thing and they just show up as they did before.


It’s more complicated. It’s less about a particular “digital feedback” sound and even less about sounding “good” or “bad”, but more about emulation of specific analog circuitry. You can’t easily emulate the particular behavior of a circuit if that circuit depends heavily on feedback (as for example filter resonance does). So if your goal is a 1:1 emulation of a circuit, this can be quite an annoyance. For many (I’d even say most) musical applications of feedback, it’s not a big deal. However, there is a difference and in some situations, it’ll sound noticeably different. If it’ll sound noticeably “worse” to you, you’ll have to decide for yourself.

I personally think that other properties of analog circuits, e.g. saturation behavior, are far more important to how feedback behaves. The biggest issue I have with musical applications of feedback in the digital domain tends to be digital clipping of some component on the signal path. All of a sudden everything breaks down and sounds rather terrible and you have to go hunt for where it’s clipping. One can of course plaster tanh everywhere to try to avoid hard clipping (or just control the levels carefully), but it still is different from the sounds you can get from some analog mixers being overdriven by feedback.


This might come in handy for those who know where to find the terminal:

find . -name "*.lua" -exec rename 's/\.lua$/.unit/' '{}' \;

This will change the extensions of all .lua files into .unit files recursively, starting from your current location. Make sure you do this only in the appropriate folder though!! And change “.unit” with “.chain” or “.pool” etc. as needed :slight_smile:


Thanks a lot for your detailed response! I just want to make clear that I don’t want to start the old “analogue vs. digital sound” discussion again. I’m just curious about this one point: if the delay, that’s necessary in digital feedback signal chains, does or does not have a specific influence on the audible result in general.


It most certainly does. Especially if it’s a rather “long” (on a dsp-scale of things) delay as in this case. 128 samples is 1/375th of a second of sound, so something like 2.6 ms on the 48k firmware (unless I made some mistake in my calculations somewhere). If you mix together the original signal with a 2.6 ms delayed version of it, that’s enough of a phase shift to give you very different cancellations than if you mixed together the original signal with a smaller delay. So there’s definitely going to be a difference in sound.


I copied the original folder again (with the original lua files) and as you said it they were all there.
So there was no need to change the file extensions there in that libs directory.

edit: oops i just saw that…

Bespoke units do not need any renaming. However, there might be Middle Layer changes that need to be propagated…:thinking:


I was able to test a couple of the bespoke units and they seemed to work ok. If anyone finds problems with them let me know and I’ll see if I can get them fixed up. Seems like they are largely unaffected though, which is great!


Yup I’ve been using the Bespoke BPF all this morning and it’s working great with 0.4.1! (I will never thank you enough, @joe!)


WoW! Awesome sauce! Thanks for the update!

How do I select the right channel of stereo units output? @odevices


The Left / Right Business local input business:

So say I have a mixer (Mixer Channel #1) before a delay unit (Delay #1), the mixer takes the input from the delay output which I assume is just above and to the left of Delay #1 in the locals scope screen. So the input to the mixer now says Delay #1 (left). Presumably this is after the 128 sample delay?


this is really great!!!
one question @odevices:
locals can pick signal only from the chain they are in, am i right or am i missing something?
any chance we’ll be able to pick a signal from channel 3 and use it to modulate something on channel 1, for example?
anyway this is a dream come true. <3


That is broken at the moment. Fix coming soon.

It sounds like you are describing:

Mixer(Delay #1) > Delay #1

So, yes, this feedback path has the 128 sample delay. However, just to correct the language in your question: The Delay #1 output (1) is above and to the right of the Mixer’s input subchain (2):


Another way of thinking of it is in terms of the ER-301 signal flow that is described here on the wiki.

  • Signals flow from left to right, and, from bottom to top.
  • Connections that go against this signal flow are feedback.
  • Connections that go with the signal flow are feedforward.


That is correct. That is why they are called locals. A source that can be used from anywhere is called a global. :wink: I do believe this is cleaner, so let’s keep it this way for now until a compelling reason to change it develops.