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

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



V0.3.21 48K

Slicer Bug:

If I fade out to the end of the file and then trigger the sample, there’s still a big audible tick when playback stops. I tried DC offset removal on the whole thing just to be sure and it still ticking no matter how many times I fade out.

Related to this, if I have Loop range set on one or many slices, if I apply a fade (or anything) to an unrelated part of the file near the end, i.e.: “Fade out”, the slices remain but ALL the Loop markers disappear :frowning:


v0.3.22 CHANGES

  • FIXED: Slicing and Sample Edit Views > Forgot to add Yes/No confirmations to cut and trim operations.
  • FIXED: Destructive Sample Edits > Loop points were not surviving the edit operations.
  • FIXED: Sample Players > Audible pop at the end of some samples even if faded out.


Thanks for another fix before your trip, Brian! I was like…“Isn’t @odevices on a bike right now?” and had to check the Business Hours thread to confirm/deny my suspicions. The thought of you on a bike while coding… :biking_man: :computer: :exploding_head:


I don’t think Brian has to type anymore. He just telepathically wills good code into existence. :wink:


Excellent! Perhaps this feature is coming in 0.4… :joy:


All kidding aside, I’m sure it is both complex and hard work. Someone as good at it as @odevices can give the illusion that it’s easy though!


Agreed on all fronts


Thx for the fixes as always,

Enjoy your trip / downtime!


Hi All. I’ve taken my eye off progress for a few weeks as I race to get a project out of the door. I’m just daydreaming of what I want to do with my 301 when I get back to it. So i’ve got a quick question: Is there a way of specifying where the ‘play head’ is located in a sample as a percentage ( or 0 to 5v or whatever ) of the total length of the sample? Basically, setting the play head via CV? Without pre-slicing the sample into a 100 bits :slight_smile:

Reason for the question is I’m dreaming of building something like the old Monome MLR sample mangler system using the new Grid Ops for the Monome Grid…

Please delete if this doesn’t fit in here. Didnt feel right creating a new thread for just a daydream…


Sure, just work with a convenient length sample and do some maths to work out what the gains should be, nt percentage exactly, but the end easily would be the same.




If you undo your first pass, the buffer should ideally also be completely wiped out so when you hit record again, the loop length is fresh. Otherwise, you have no real timing reference of what the created buffer length was and trying to overdub again is a little fiddly without deleting, as if your record behaviour switches to playback, you may only catch a split second of your new recording before it loops around. This happened to me in video 35, and now I’ve only realized why after the fact.

SLICER - General Editing / menus IDEA

This is another one of those take it or leave it ideas… and I know Brian is away for a month but I wanted to post this before I forget about it… :blush:

Instead of a “menu” option off to the right taking us into a sub menu… what if all the goodies were available right away on the slicer / wave editor screen itself…

So my idea is that either the left or right most S softkey is the current menu of items … and as you keep tapping that same button, it cycles between all current available categories of functions. It would also be easier to add to the list if any new features are implemented.

So bear with me and hopefully this makes sense:

Let’s say these were these were the available categories of functions:


As each category is displayed- the remaining S Keys would populate with the available options (with any blank spots available for future options] and any new features just another main category.

So IE your in the slicing editor area and see the waveform and then bottom menu looks like below :

SLICING1 [blank] +Slice -Slice Preview Goto ZC
S1 S2 S3 S4 S5 S6

press S1 again…

SLICING2 [blank] Clear on Onset on Grid [blank] future function]
S1 S2 S3 S4 S5 S6

(S4 and S5 type operations… these would Bold or Flash until you hit Enter to complete the operation)

Press S1 Again….

LOOPING [blank] Loop In LoopOut Preview Goto ZC
S1 S2 S3 S4 S5 S6

Press S1 Again….

EDITING [blank] Trim Cut Paste [blank]
S1 S2 S3 S4 S5 S6

Press S1 Again….

PROCESS1 Fix DC Silence Normalize Fade in Fade out
S1 S2 S3 S4 S5 S6

Press S1 Again….

FILE [blank] [blank] Save Save As Revert
S1 S2 S3 S4 S5 S6

Press S1 Again would go back to the SLICING1 function category… so it just endlessly cycles.

I guess my thoughts behind this are:

  1. it’s more immediate, even with more S1 button presses,


  1. you’re never losing sight of the waveform you’re editing or slices your manipulating.

It’s all right below your ‘work area’. Highlight something, hit a softkey… boom… done… onwards… vs. a menu dive to a different screen

And of course this is an example of S1 being the Menu… but it could just as easily sit over at S6.

Another thought related to this … OR… Ah shit, just had this now… is … have a “Recent” at the top of the current style menu (or a new menu like my example) so your most used functions of the moment bubble to the top.


I’m watching Neil’s video about the sustain “loop on hi” setting using a gate. I would love to be able to use this feature, but feel its featured more for keyboard players not sequencer users.

Would it be possible to add a setting without gate high? Ie just a trigger? Basically everytime you press trigger, it plays the slice then it automatically holds that “loop on hi” section indefinitely. It continues looping “loop on hi” until you press trigger again, or until trigger + CV to moves to another slice? That way you could get some interesting stuff with just a sequencer with 1 trigger and 1 CV.

Something like this in the options

Loop on gate hi
Play once loop sustain


I like that, then you could have a Adsr-vca after the smaller to shape the tail


If you are using Teletype, you can write a script that changes the TIME of your triggers, effectively making them into gates of variable length… which can simulate the key presses on keyboard well, but with the added computational complexity that the TT can provide.

Just a thought.


but isn’t that possible within the 301 with custom controls, a toggle for example where you assign your trigger in?


Yes thanks for the idea. Most of my sequencing with the er301 is using Earthsea module. I thought of similar ways to do it. In earthsea, I can change from triggers to gates with variable lengths and gate high but not all at once on the fly, per step, its only global. I have the erica TG module that uses probability to send out variable gate lengths but its not really controllable the way I would like combined with earthsea. I think a per step gate length sequencer is what is needed or maybe there is already a unit on the er301 with a hidden function?
The one I’ve not tried is Meadowphysics which lets you output a mix of triggers and gates which you can set per row. I’ve never really used it for the er301 yet.


Maybe there is is, im not sure. Theres the trigger setting you can adjust but not variable length. Some of the units have features that im not aware of. I could slew a trigger to change the length using Maths but I use Just Friends now for envelopes. Teletype can do it, as can Ericas TG module. Or use pulse width modulation on an lfo to create a gate? Then trigger the lfo? Maybe trigger a Sample and Hold and attenuate to make gates? There maybe workarounds. I just feel it’s a feature aimed at keyboard players when the stuff i do is more trigger based glitchy at higher tempos and sequencer driven.


I use White Whale a lot, and always wished that one could change particular channels to function as gates or triggers, rather than whole pattern pages… I would find that useful in so many situations.


within a custom unit you can create local controls, create a toggle control and link that to what you want. this toggle does what you asked above, gate high when receiving a trigger, gate low when next trigger comes.


When loading a quicksave, create a diff between the current graph and the target graph and produce a list of changes needed, if the ops needed are above a certain threshold matching very drastic ops such as 3+ device inserts / deletes, just delete the whole graph and redo it, but if it only contains parameter changes, adjust those parameters