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

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



at the risk of sounding a little Hallmark Brian, hope you get well soon.


Thank you guys! The 24-hour stomach bug has been squashed and I’m back in the chair now. Woo hoo!


Hey Brian, I’ve noticed that when I setup a delay of 5ms to just slightly offset an incoming trigger to a Sample Player the delay time never saves. I’ve tried Quick Save and saving as preset but no good. I did just see when reloading from the preset it flashed 5ms and then went to 0ms. I have it set up as a Mixer with a Sample Player in it and the delay buried in the sample trigger.


Which delay unit are you using?


I was using the standard Delay unit. I’ve just tested with 50ms and that stores fine. Plus just noticed there is now a uDelay which saves 5ms fine and looks like what I should be using for this task anyway. Cheers dude.


perhaps the reason is that with the delay you have to create or attach a buffer?


And here we go go :blush: The v0.3.19 highlights are…

:fire: All slice players can now sustain slices by looping (a user-specified) portion while gate is high. To enable this behavior just set the Play Duration setting to “sustain”:


By default the entire slice is looped unless you go into the Slicing View and set your own loop points (per slice):

:fire: Tempo-locked (or clocked) versions of sample players (varispeed and granular stretching types).

0058 0057

:fire: You can create sample chains on the fly by just selecting multiple sample files (or a folder of samples) when loading a sample. The selected samples are concatenated and pre-sliced into one big sample. Works great on drum kits and similar.

0053 0054

(This + next to the name indicates that it is a multi-sample or sample chain.)


:fire: Manual Grains finally has a graphical view.


and lots of other smaller things!

v0.3.19 CHANGES

  • FIXED: Now catching errors during unit instantiation to prevent crashes when loading units with errors.
  • FIXED: Linear VCA is now renamed to Linear Bipolar VCA to differentiate it from the unipolar version.
  • FIXED: Clocked delays and Spread Delay were consuming more CPU than necessary (reduced CPU about 40%) due to inadvertent use of double floats in some parts of the calculation.
  • FIXED: Delay, Spread Delay, Clocked Delay, and Grain Delay > Delay times were being rounded to the control’s coarse grid when restoring from presets or quicksaves.
  • FIXED: Crash when loading presets containing units with names that have consecutive spaces.
  • FIXED: Grain Stretch > Grain rendering was passing through slice boundaries.
  • FIXED: Grain Stretch > Periodic grain production was free-running rather than synced to incoming trigger.
  • FIXED: Slicing Menu > Disabled commands are shown grayed out instead of not shown at all.
  • FIXED: Sample Pool > Purge Unused > Would also purge unsaved buffers without warning.
  • FIXED: Waveform Views > Vertical and horizontal zoom were not saved with presets.
  • ENHANCED: All oscillator units > Oscillator phase is now saved with quicksaves and presets.
  • ENHANCED: Mute chain during unit bypass/delete/replace and certain menu operations > Parent chain is muted before performing these operations and then unmuted afterwards.
  • ENHANCED: Sustained Slices > Sustain option added to all players (unit menu > Play Duration > sustain) that support slices. Go to the slicing view to specify the sustained (i.e. looped) segment of each slice.
  • ENHANCED: Quicksaving > If there is unsaved audio then a message will be shown giving you the option to go to the Pool and give the unsaved audio buffers a proper place to live on your SD card.
  • ENHANCED: Sample Pool > Entries with unsaved audio are now marked with an asterisk (*).
  • ENHANCED: Sample Scanner, Manual Grains now have contextual waveform views.
  • ENHANCED: Create sample chains On-the-Fly > Whenever you select multiple WAV files to load from the card, you can choose to load them as a (pre-sliced) sample chain.
  • ENHANCED: Sample Pool > You can now replace (M5) a focused sample with a new sample, updating all units that were using the old sample to use the new sample.
  • NEW UNIT: Linear Unipolar VCA > This VCA includes a rectifier on the level modulation input.
  • NEW UNIT: V/oct to Seconds > Outputs a base time (s) amount multiplied by the (fractional) number of octaves represented by the input (pitch) voltage.
  • NEW UNIT: V/oct to Hertz > Outputs a base frequency (Hz) amount multiplied by the (fractional) number of octaves represented by the input (pitch) voltage.
  • NEW UNIT: Clocked Player > Speed of playback (and therefore the duration of the sample or active slice) is adjusted in real-time to match a clock. Changes in tempo will cause changes in pitch.
  • NEW UNIT: Clocked Stretch > Speed of playback (and therefore the duration of the sample or active slice) is adjusted in real-time to match a clock. Changes in tempo will NOT cause changes in pitch.
  • NEW UNIT: Manual Loops > sample player with CV-able speed, loop start and length.
  • RENAMED UNITS: Sample Player --> Variable Speed Player, Native Player --> Raw Player


Think I’m leaving work early today. This is awesome!




Thank you O|D!


Heads up, I just updated my ER-301 to v0.3.19 and my unit is not turning back on. About to remove it and unplug the i2c to see if it is playing a role.


Ooops. I might have included the wrong bootloader. One sec.


is it save to update now ?


I’d wait until @odevices comes back with news. Also, it wasn’t the connection with i2c or a loose board or connector.


OK, all good now.


What do I need to do to bring my unit back to life?


You will need to do this:


Others should update their firmware as normal.


The arrythmia has subsided and I can report that my heart is beating as it should. Btw, there was some issue reported regarding something or other with the i2c implementation, I didn’t see that as a fix in this firmware?


Changes have been made that might fix the Teletype startup-freeze bug. I need more feedback from the Teletype users before I can be sure though.


Oh my –
The sample chain loading behaviour is just amazing – that’s the perfect solution.

Can’t wait to try out the clocked stretch player, too.

Also, yay for unipolar linear VCA :slight_smile:

Many :fire::fire::fire::fire: are in order – thank you!