V0.2.x-stable: Thank you!

Thanks for the quick reply!

If there were a switch to disable that or a fader to set the envelope time that could go to zero, it would definitely be an improvement for my current experiment. :slight_smile:

Glad it helped! :smile_cat: The waveform offset was not strictly intentional, but I checked it on an external oscilloscope and the source signal is indeed offset. It is from a wavetable synth. I guess that particular wavetable happens to be offset to only have positive voltages.

Just tried this using a 50ms buffer and a more traditional looking signal. It worked, so your theory seems right on the money. Is the recorder looking for a zero crossing or something? I suppose this signal didn’t have one.

Ok, I wasn’t 100% sure what the fade parameter did, and thought maybe it was related to the volume drop punching in and mentioned above. I will repeat, and leave it at it’s default value and see if the pop is eliminated. It was the same signal as above that I was recording, BTW, not a pre-recorded sample.

Just tried to replicate by feeding the recorder a positive signal (using the Offset unit) and I was still able record. Are you sure your recording is not interfering with itself and phase canceling?

What if the record fade envelope shared the setting the Fade parameter is set to?

When I tried again and got the 50ms buffer to record, the 100ms crossfade at the punch out point definitely caused the signal level of the recorded sample to drop significantly, I would assume because the crossfade is longer than the buffer length.

I can’t think of anywhere I would have introduced phase cancellation. I was not mixing wave forms or anything - just a straight tap off an external OSC that I tested that I could hear going into the input of the sample recorder. And the same signal successfully recorded into a 1s buffer.

When I get back in my studio I’ll go ahead and make a video about what I’m up to. If I can get everything working correctly it’s going to be super useful for me, and probably worth sharing. If I’m encountering bugs, feature requests, or user error along the way, this should shine a light on which of those it is. :slight_smile:

Im not entirely sure if this is the same stuff i have been wrapping my head around. But I have been doing a lot of live looping of sequenced oscillators slowly building and evolving chords and . and im absolutely loving it. but the one little thing is I feel its always audible when i punch in or out of sound on sound recording vs just playback. I try to keep my dub and wet at 50% but i am using external Light Strips to control these parameters. maybe my CV scaling is slightly off? I guess im hoping to eventually be able to not let it be noticeable when im choosing to stack sounds or just pass through a 50% wet signal from the looper.

Am i missing something simple? It feels like i hear an amplified version of the incoming audio whenever im actually recording to the buffer compared to simply playing through.

hope it makes sense. sorry for the thread hijack

On this subject. Ive been finding myself wishing that the faders inside of units showed a number/value to indicate current position after CV is modulating the original fader position. We can see the bar move. But a value would be helpful at times.

11 posts were merged into an existing topic: Techniques for Real-time Data-driven Synthesis

i got my first complete freeze/crash yesterday. i’m on 2.9 48khz version. what seemed to trigger it was creating a 1m long audio buffer in Assign Buffer, leaving the buffer screen to go back to the unit, then entering the Assign Buffer page again and trying to create another buffer. i was using all 4 audio inputs, and only realized what happened when they stopped passing signal. i’m using a Sandisk extreme pro 32gb class 10 sd card if that helps.

absolutely loving the 301!

1 Like

Had some strange things happen with manual grains on a mono channel today - using the 48k firmware (latest).

  1. Changed to a different sample and the sound stopped (seems like this has been reported already and Brian working on it)
  2. The gain control on manual grains seems to attenuate at 0 but then adds gain when using negative values. Maybe I don’t understand this correctly? Is this to use the manual grains unit with CV instead of audio?

Concerning number 2: I believe it’s inverting the signal. So it’s like an attenuverter.

1 Like

I believe I’ve found a way to crash ER-301 that has not been reported here before. Here’s what I did:

  1. Link outputs 1 + 2
  2. Create a stereo global chain
  3. Create a channel mixer on output 1 + 2
  4. Set mixer’s left input to global unit’s left channel
  5. Set mixer’s right input to global unit’s right channel

The crash happens every time immediately after step 5. Inserting global channels as track’s inputs instead of mixer’s inputs works fine.

I was using 48kHz firmware v0.2.9

I can confirm this one.

Confirmed here too and fixed in the upcoming v0.2.10 firmware. Thank you!

2 Likes

v0.2.10 is finally here! Apologies for the long wait. I know I said I solved the Clocked Delay’s issue with tracking external clocks butit turns out I lied. I still need a little more time for that one.

v0.2.10 CHANGES

  • 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 (delayed name resolution needed)
  • FIXED: Ladder filter becomes unstable (and stops making sound) 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.
  • 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 parameter 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 to control how stereo samples are played in mono (i.e. left, both, or right)
  • ENHANCED: Pitch Shifting Delay CPU usage reduced 50% with improvement in quality.
13 Likes

Thank you for all the fixes and enhancements @odevices

I’m really liking that there are such huge performance improvements on some units - most impressive!

2 Likes

Woo!

Amazing! Thanks @odevices

Oh wow nice!!

Gotta love the CPU reduction with IMPROVEMENT in quality :heart_eyes:

The custom unit parameter section revamp :astonished:

Thanks for your hard work @odevices!!

1 Like

Glory!

0.2.10 Quick Saves

Uhoh! Quicksaves are not recalling global chains and blowing out any assignments on a channel input, custom unit control assignments and any subchain global chain assignments :cry:

Tested:

  1. Quick saves with 0.2.9 opened in 0.2.10. The bug above happens.

  2. Creating and saving a chain preset in 0.2.9, loaded in 0.2.10: the input (or units, or custom unit custom parameter sources) referencing global chains do not recall the assignments. (what if the preset saved which assignments it had, if the Global chains are unloaded - and then prompted something like “hey this patch is referencing global chains - do you want to load them from xxxx chains file?”

  3. created in 0.2.10, loaded in 0.2.10: Creating and recalling a quick save with channels referencing global chains. seems to be ok!

0.2.10 Custom Unit

So I’m not sure if below is a bug, but try this:

  1. Create a global chain and add a SIN unit just for a test signal. I named mine “a”

  2. on any channel or chain, create a custom unit

  3. add one custom control, IE: Linear, “lin1” name

  4. assign the mod source for “lin1” to global source “a”… up the gain so you see some signal

  5. add any unit within the custom unit and assign a mod source to the local control “lin1”

Now, go back to custom controls and clear all.

If you go to your unit with the assignment, note that it’s still there.

Now, follow steps 3 and 4 exactly so that unit is now has the same same custom control parameter name as before.

If you now look at your unit with that local control as a mod source, no signal males its way back into that unit through lin1. However, if I press M2, select local, lin1 is generating a single. If I now re-assign here to the same lin1 local control, signal will now make it to that chain input.

Somewhat related suggestion for deleting these controls:

It’s way too easy to accidentally blow out all your custom controls after spending a considerable amount of time routing and tweaking. This “Clear all” option would better served as a “clear unused/unassigned”. Leave the deletion of used controls to a per-control basis, as you have it in the little screen. That being said, having ‘delete’ right next to ‘move’ is bound to cause some accidental trouble… so maybe an “are you sure y/n” prompt before destruction would prevent some “Ohhhhh fuck why did i do that?!?” moments.

A question about custom Control/Local control name lengths:

Should these be capped at a maximum of 8 characters? Beyond that, things start to get GUI messy. I can’t see that impacting things negatively, as we’ve only had 3 pre 0.2.10 and all the most common control descriptors such as "attack, release, pitch, gate, effect, record, trigger’ etc are 8 and under anyway.

1 Like