Firmware Appreciation

In the past 90 days we have seen the release of the v0.2.0 firmware series for the ER-301 and 15 subsequent updates. I wanted to take a second to recognize just what Brian with the help of so many incredible people who have been taking him to task have accomplished with their diligence to make the O|D Sound Computer one of the most evolving and improving modules out there.

Consider this:

10 New Units, 30 Enhancements, 49 Fixes, and 2 New Setting Parameters, since May 30th and then add to that total over 100 fixes and enhancements since back in the old days of the “Bleeding Edge” releases from the beginning of 2017. So to Brian @odevices, @NeilParfitt, @anon83620728, @kilchhofer, @bc3, @Joe and everyone else who is making such large efforts for all of our benefit - THANKS!

A list of what we’ve seen in v0.2.x so far:

NEW UNIT: Manual Grains
NEW UNIT: Aliasing Triangle
NEW UNIT: Aliasing Saw
NEW UNIT: Card Player
NEW UNIT: Native Player
NEW UNIT: Rectify with full, positive-half and negative-half rectification.
NEW UNIT: Skewed Sine Envelope with skew, duration and level parameters.
NEW UNIT: Fold, splits incoming signal into upper and lower portions.
NEW UNIT: Ladder High Pass Filter (HPF), 4-pole and resonant.
NEW UNIT: Fixed High Pass Filter (HPF), 1-pole very efficient implementation.

ENHANCED: WAV files can be auditioned in the file browser.
ENHANCED: Card speed measurement tools added.
ENHANCED: last saved/loaded preset is used as suggestion when loading/saving presets
ENHANCED: Slice view directly accessible from context view in PLAYER unit.
ENHANCED: SINE OSC unit CPU usage reduced to 40% of previous.
ENHANCED: LADDER FILTER unit CPU usage reduced to 75% of previous.
ENHANCED: In sample pool, ‘Clear Pool’ command has been changed to ‘Purge Unused’.
ENHANCED: Additional slice addressing modes called ‘nearest’ and ‘12ET’ were added.
ENHANCED: Decibel control added to Custom Unit.
ENHANCED: Pan parameter added to Manual Grains.
ENHANCED: Global Chains were added to the Admin and Source chooser menus.
ENHANCED: Quicksave slots can be named.
ENHANCED: Envelope Follower unit parameters are now modulatable.
ENHANCED: Added contextual scope views (of unit output) to some more parameters.
ENHANCED: 6-track recorder will now append an auto-generated take number when saving to a folder that already contains previously saved audio tracks.
ENHANCED: 6-track recorder will use “save to file” semantics when there is one track to save.
ENHANCED: Take a screenshot anytime using SHIFT+CANCEL.
ENHANCED: Ladder Filter CPU usage reduced 50% with no change in quality.
ENHANCED: Added 1V/oct control to the Pitch Shifting Delay.
ENHANCED: Pressing UP when in a scoped parameter view will return the unit to its original view.
ENHANCED: Parameters can now be renamed and moved in the Custom Unit.
ENHANCED: Toggle and Trigger parameter types were added to the Custom Unit.
ENHANCED: Sample Player unit now has a Stereo Routing option.
ENHANCED: Pitch Shifting Delay CPU usage reduced 50% with improvement in quality.
ENHANCED: Verification screen added to the “Clear All” command in the Custom Unit editor.
ENHANCED: Press SHIFT while the cursor is over any chain header to display an ‘xpath’.
ENHANCED: Through-zero Linear FM for Ladder Filter, Sine Osc, Aliasing Saw and Triangle.
ENHANCED: Reduced CPU usage of White Noise unit by 70% with no change in quality.
ENHANCED: Phase modulation added to Sine Osc unit.
ENHANCED: Feedback (PM type) added to Sine Osc unit.

FIXED: Multiple references to the same sample were not being saved properly in presets.
FIXED: SHIFT+insert was ignored in the slicing view.
FIXED: Out-of-bounds buffer access in Manual Grains.
FIXED: Insert button hidden by waveform display.
FIXED: Decibel label on signal meters are now fixed.
FIXED: Sound drops out when inserting a unit in a subchain after auditioning a file.
FIXED: Crash when removing LOOPER unit.
FIXED: Irrelevant pan parameter showing on mono Manual Grains.
FIXED: In sample pool, the ‘purge unused’ command would sometimes stop prematurely.
FIXED: Inconsistent triggering when slice 0 is at the exact beginning of the sample.
FIXED: Displayed slice number was off by one in the slicing view’s slice list.
FIXED: Zippering noise in Envelope Follower unit.
FIXED: Manual Grains sometimes stops making sound after assigning a new sample.
FIXED: After loading a preset, enumerated options were not reflecting new values.
FIXED: Quicksave UI was shown even if no card was mounted.
FIXED: Freeze when removing a triggering Manual Grain unit with an assigned buffer.
FIXED: Error in resampling code causing some high frequency content to be attenuated.
FIXED: Occasional crash during WAV file auditioning (due to race condition).
FIXED: Presets are not properly restoring shared (non-file-backed) buffers.
FIXED: Re-assigning a sample to a playing Manual Grains would sometimes cause the unit to “lose” volume due to resource contention in the grain pool.
FIXED: Global chains that refer to each other might not load correctly from presets.
FIXED: Ladder filter becomes unstable if the V/oct input sees a large positive input.
FIXED: Variable Delay has a 12kHz artifact when modulated in small amounts.
FIXED: Variable Delay slewing when modulated.
FIXED: Remove illegal characters from keyboard when naming a file or folder.
FIXED: Bypass does not work in top level of a Custom Unit.
FIXED: Crash when assigning local or global stereo sources that have names that do not end with a number.
FIXED: Stereo Pitch Shifting Delay was missing the V/oct input.
FIXED: High frequency artifacts in the Pitch Shifting Delay for non-integer speeds.
FIXED: Custom Unit control assignments were not restored when loading legacy presets and quicksaves.
FIXED: Renaming or deleting local or global sources not being reflected in chain input assignments.
FIXED: Global Chains were being restored from quicksaves but not showing up in the admin->Global Chains screens.
FIXED: Custom Unit control assignments were arbitrarily reordered upon restoring from a preset.
FIXED: Duplicate control names in Custom Unit were allowed when renaming controls.
FIXED: XPath display stuck in sub display.
FIXED: TZFM was not inverting oscillator phase for negative frequencies.
FIXED: Mixer unit’s mute/solo state not being saved in presets and quicksaves.
FIXED: Unstable tracking of clock period in Clocking Delay unit.
FIXED: Occasional pops when modulating the delay time past the max delay of any of the Delay units.
FIXED: Ladder Filter would not self-oscillate unless provided with a fluctuating input.
FIXED: Disabled logging to the UART port unless development mode is enabled.
FIXED: In 6-track Recorder, saving a single track to a single file fail if the destination file exists.
FIXED: Possible float pointing exception (division by zero) in the Manual Grains unit when duration is zero.
FIXED: Pops would occasionally appear in IN1-4 and ABCD inputs at CPU loads above only 65%.
FIXED: Ladder Filter, Sine Osc, Aliasing Saw, and Aliasing Triangle units were not restoring f0 parameter from presets created prior to v0.2.12.
FIXED: Unable to re-enable a unit that was loaded from a preset in a disabled state.
FIXED: Display process was starved when loading quicksaves or presets.
FIXED: Unit control still focused when exiting from a subchain via UP button.
FIXED: Rational VCA was not rounding the numerator and denominator to the nearest integer.

NEW SETTING: Does bypassing a unit also disable it? Yes or no.
NEW SETTING: Configure 6-track recorder save semantics for single tracks (default is file).


Totally appreciating your post @TimefireVR - spot on!

It’s amazing and it still feels like there is so much more to come :smile_cat:

…and also all the input from everyone here… even if you have just asked a simple question you have contributed!


It’s most impressive to see it all together like that. Here’s what really blows my mind. I think about everything the ER-301 can already do, and then look at the dot version and think - this is less than 30% (0.2.x) of what Brian wants the first full release (1.0.0) to be. :smiley_cat:


I’d also like to say how much I am enjoying this journey we are all on; in these days where it’s all too easy to get caught up in the idea that everything has to be ‘now’, it’s a pleasure and an honour to be part of something that is developing so well and at such a steady pace.

@Joe - yeah - just look at the proposed feature list:

I keep reading it and letting my imagination run a little, this just jumped out at me:

parameter recall via stack semantics (push and pop)

Which may just provide a clue or two about the ‘hold’ switch functionality :joy_cat:


Yes indeed. Many thanks @odevices for making my journey into modular synthesis rich and richly educational from the outset. Even aside from the impressive firmware I’ve received so much patient instruction and clarification from all those mentioned (and others on this forum). The ER-301 has definitely become the heart of my growing system.