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

Techniques for Real-time Data-driven Synthesis

I can tell a difference in the quality with the pitch shifting delay in 0.2.11. Geesh, I am so close to cloning an external oscillator for my evil purposes, I can taste it. :speak_no_evil:


Here’s how I feel: I purchased an ER-301, and in addition to a new module I’ve been given a key to a room full of geniuses.


ok i have a weird issue with a click i hear and i have absolutely no idea why it is there…
simple setup, some phase modulated sine wave drones go to main monitor and a copy of it into erbeverb and back into the 301 where it gets recorded into a looper with full dub and full wet and a 20ms fade, next to the looper i have a sample player with the same buffer as the looper so i don’t hear the looper but the pitched down sample player, again with a rather large fade. still, i hear a click and i don’t know why, i watched both the looper and the sample players scope to see if it’s only at the end of the recording but it doesn’t match. do i misunderstand this concept of looper/sample player? the waveform on the player’s scope does not update the recording but the buffer clearly does update, i wonder if it’s somehow connected to this shared buffer…?

Change the fade on the looper to 0ms.

Scratch that. I thought you were listening to the output of the looper. The click is the looper’s record head impacting with sample player’s play head (which is going slower).

I have to say I have noticed the same “click” at the end of the loop and thought it might have been something I was doing. You can visually see the spike at the end of the waveform. I’m also using a trigger to control the reset on the looper to keep it in sync.

hm, i don’t fully understand. the click is the sample player updating? is there any way to avoid this or is this normal when the sample player isn’t at normal speed?

i don’t see a spike, and it’s not at the end of the waveform, at least not at the end of the sample players waveform…
and i don’t use synced loops, it’s just drones so the record head and playback head are completely unsynced.

@bc3 Clicks at the end of a loop are caused by having the fade parameter set to something other than zero.

@kilchhofer Imagine a tape player where the record head is moving twice as fast the play head. At some point they will collide. That is causing the click. It is expected behavior but I consider it unwanted behavior and I am thinking of ways to get around it.

ok i understand, that means the sample player is also updating it’s buffer in real time, it isn’t visible so i thought maybe it’s only updating at the start of the loop and within the recording there shouldn’t be a click. but i think i got it now, thanks!

why is it, that a fade other than zero is causing a click? isn’t the fade parameter there to avoid sudden waveform changes eg clicks?

Sharing Buffers
The sample player is not “updating its buffer in real-time”. The looper and the sample player are sharing the same buffer in memory. Whatever the looper does to that buffer, the player sees right away.

Clicking Looper
If you recorded into the looper buffer then there are no discontinuities. So you do not need the fade. Also, I think part of the problem is that the term “click” is being used too broadly. I predict that what @bc3 is calling a click is actually not a “sample discontinuity” click but rather he was looping a very pure sound (like a sine wave) and the fade was messing with the phase briefly everytime the buffer looped. Perfect looping would be obtained by reducing the fade parameter to 0 in this case. If you are resetting the looper playback at random times (i.e. not related to the recorded loop length) then you will want the fade to be non-zero to avoid the discontinuities.

I will double check the fade parameter this evening and report back the results. Thanks as always!

Would be possible or is it already possible to change the pitch of a sample without slowing it down? I’ve been trying to make a lofi pitch warbler thing, but encounter the same thing with short buffers.

I’ve tried to make a “lo-fi junky” type custom unit and got mixed results. I will send it your way later this evening and maybe we can compare notes?

1 Like

I think it can be done with the manual grains. Have a look at this post starting with O|D’s comment and on down. I started experimenting with this, got interrupted, and haven’t circled back yet. But essentially I think you can control the timing of the sample by sweeping the start parameter while also re-pitching the individual grains.

1 Like

It would be great to try out your custom unit and compare it to what I’ve been doing. Please do send it my way. I imagine ours are pretty similar, though I was going for a recreation of the vinyl effect on the SP-404.

The thing is I get a “zipper” sound as soon as I start modulating the pitch. This is with a very tiny buffer. 10ms or less.

Ah, yeah this makes complete sense. I will have to try it with the manual grains. I imagine the duration would just have to match the buffer length?

Will give this a shot tonight and report back.

Yep, exactly, assuming you want to preserve the sample’s speed. I was trying this with longer pre-recorded buffers and I seem to remember getting good results on just pitch shifting, for example, a sung word without speeding up or slowing down. I didn’t try it with a super short buffer like 10 ms so I assume you’re doing something like sharing a buffer with a looper recording incoming audio. Will be interested to hear how it turns out. :slight_smile:

This actually sounds more similar to the oscillator cloning experiment I was trying. Never quite got it working to my satisfaction. Maybe your experiment will lend some more insight.

That’s because each grain has constant playback speed determined at its onset by the pitch control.