Feature requests: tape saturation & loop degradation

Hey Jaak. While I am anxiously waiting for the next batch, I have been thinking about some possible features to add on Ribbons.

For example, a saturation feature would be nice. People can then use Ribbons as an tape style overdrive pedal. And it would be also really nice if there is an option for the loops to degrade over time like The Disintegration Loops by William Basinski.

Those are just some ideas from my former experiences. Maybe other folks have some other fantastic ideas.

3 Likes

Hi there! Thanks so much for posting on the forum. I love these requests and am definitely interested in them too.

These features already exist in the Ribbons code base and I just have to uncomment a couple lines of code to turn them on. Here are the reasons why they aren’t active:

Saturation:

Reasons not to do it:

  • May complicate the UI. Where does it go? One option I can think of is if we put it on the Compression knob: we could cross fade between some options: vinyl simulation compression, vinyl simulation compression + saturation, and just saturation on a single knob. Some people may find that weird though.
  • Digital distortion algorithms tend to generate aliasing and it takes a lot of processing power to get rid of it. Basically, the harmonics generated by digital distortion reflects off the sample rate / 2. So if you have a 10kHz signal and you drive it in the digital domain, it will generate harmonics above and below 10kHz, creating a harsh almost FM-like distortion effect. I do have a great tape saturation function that I tried with anti-aliasing algorithms, but it’s just too processing intensive with everything else going on.
  • Why use 1 billion transistors on a DSP chip to emulate something that can easily be done (and better) with 1 or 2 transistors or diodes?

Reasons why it might actually work great:

  • Companies will try and sell you on fancy gimmicks saying they implemented “tape hysteresis” but really, every tape player you have ever come into contact with has an AC bias oscillator that has made the tape anhysteretic (and drastically minimized the effect of tape hysteresis). So the tape saturation that we all know and love can simply be modeled by a soft clipping function, which tends to not cause aliasing unless driven very hard. This is what I’ve done and it’s possible that I could just drop the anti-aliasing code.
  • If I dropped the anti-aliasing code, assuming the soft clipping function is forgiving enough, then the tape saturation function I have could work great and there is plenty of processing power to implement it. I would just need to figure out the UI. So TBD! I’ll need to spend a little more time looking into this.

Option for loop degradation

  • Loop degradation requires extra writing to the external RAM chip, which is a bottleneck (RAM is slow and clocked at 120Mhz while the DSP is clocked at 480Mhz). Currently, with all four loops playing back at 2x speed, overdubbing to one, and running all four voices of the sine wave synth we are running at 95% CPU usage average and the extra 5% is reserved for CPU spikes. Maybe I can find some way to perfectly optimize the code and free up enough resources but I haven’t quite figured it out yet.
  • Two alternative approaches could be:
    1. Add it as a new touch mode (we could call it “Disintegration Loop”) and you could record up to 60 seconds of audio to a single loop, endlessly overdub. Controls would maybe be speed, direction, volume? I actually really like this idea think it could be a great touch mode for Ribbons.
    2. Turn the 4 track looper into a 2 track looper? That frees up plenty of resources for a pair of disintegrating loops. Some people might not like this though - it would impact the UI and add lots of exceptions.

I hope that provides some answers for now. Thank you again for posting on the forum and let me know if you have any feedback!

6 Likes

Thanks for your detailed explanation! Sure the first thing that came to my mind when I was thinking about those features was the UI issue. The UI right now is pretty hands-on and full, it is indeed a little hard to imagine how to add any other feature.

Nevertheless, this is the first time that I learn about the tape hysteresis thingy. Thanks for that info! And sure any virtual analog distortion must be a lot easier to do it analogly (is it a word?), but it is hard to find a stereo dirt pedal since it is a pretty niche demand. I can maybe name three or four of them and that’s it. Anyway, whether it is going to happen or not, I am looking forward to whatever conclusion.

And about the loop degradation, I think you are right about adding a new Touch Mode. In my imagination, a single track sound-on-sound looper with record and playback functions is totally fine. Actually it is a little hard to imagine a four tracks degrade at the same time. I was thinking more of the the Frippertronics stuff. Also looking forward to this one.

2 Likes

Me too! I’ll investigate.

I had the same thought :joy: four degrading loops is a very cool concept but I feel like it wouldn’t be used often and the outcome of a single degrading loop would yield the same effect in most scenarios.

I’ll look into the single disintegration loop. Just need to take the looper code, cut three tracks out, place the read/write heads in the right spots, and make some UI tweaks. Shouldn’t be too hard.

1 Like

@MrAdler , I’ve been using the Stymon Deco for tape saturation after Ribbons, and it pairs very well. Used models can be found fairly cheap, now that the new versions are out. Just an option to consider. Plus I just think everyone should own a Deco, because it has magic powers.

My initial inclination is that I would probably skip the update if saturation is added, just because I feel like the UI is already reaching the upper limits of complexity for my tastes. Then again, I’m sure Jaak wouldn’t release something unless he found a way for it to work smoothly.

1 Like

Yes I believe Jaak will sort things (or not). I also think the UI is pretty much packed now.

And I am also interested in Deco. It is actually part of the reason I brought this tape saturation thing here. Having a all-in-one tape loving pedal is too tempting. Maybe I’ll just get one instead if I have the budget.

2 Likes

@Kinoplex @MrAdler After playing around with it again this week, I’ve decided I’m going to stick my original gut-feeling to not add saturation to Ribbons.

Ribbons runs at 48kHz and when you do saturation it sounds great on guitar but it creates some not-so-nice aliasing on other instruments (synths, mixes, drum machines). I would feel different if I was just designing Ribbons for guitar players but people are using stompboxes with so many other electronic instruments these days.

It works really well on a guitar because the highest fundamental note on most guitars is ~B5, which is about 1kHz (+ harmonics). If you really distort 1kHz, the harmonics don’t generate any noticeable aliasing.

I haven’t tried the Strymon Deco but I think the main reason the saturation works so well on that thing is that it runs at a high sample rate of 96kHz. Any aliasing that might occur is outside the range of human hearing, which is great. The wobbles are a bit too tame for me though hehe :smile: I think the machines they analyzed for that product were pretty hi-fi Ampex machines and the wobble is modeled after someone modulating the reels with their hands (rather than mechanical transport issues).

2 Likes

@MrAdler @mrgittleman if you’re interested in some analog tape-like saturation (no DSP)… I am working on something for 2023 that I think will fill this gap (and more). Can’t say much more but it’s looking like it will probably be stereo too. :wink:

5 Likes

I respect the choice. Surely I will run everything into Ribbons :wink:

I believe, just like you said, Deco is modelled after a high end reel to reel. The wobble is more like a added flavour for the vintage tape vibe rather the lofi sound from mechanical failure.

2 Likes

Stereo analog dirt pedal is always dooooooooope! Looking forward to it.

2 Likes

Midi controllable, though, right? For preset memory?

1 Like

100% ! Digitally controlled analog everything. Same form factor. More knobs. More one-knob per function. MIDI control, presets, and CV/Exp. :grinning:

2 Likes

Probably a good move! Excited to see what the next device is.

You mean too TASTEFUL :laughing:

1 Like

So I’ve kicked out saturation but one thing I’m excited about is this new touch mode I’ve been working on that does sample rate and bit reduction with mu-law companding. The bit reducer + companding has this really nice character to it that’s reminiscent of lo-fi telecom systems or wire recorders:

Here’s a clip of it on a synth using only 4-bits (the lowest fidelity setting) along with some of the other tape effects:

10 Likes

Oh sheeit… that sound reminds me of something very specific that I can’t really recall. I think I had a fuzz pedal that would starve the power and sound a little like that. Very cool. Bit crushing is not really my thing but that sounds really good (TASTEFUL), and less cheesy than most bit reduction sounds I’ve heard.

2 Likes

I totally agree! Bit-crushing definitely has some cheese-factor to it that I’m not in love with but once you add in the companding it totally changes the character and makes it feel more fuzzy.

When paired with some filtering it can nail the fuzzy synth sound/ramp you hear at 0:13 in this track:

3 Likes

Geez. This reminds me of the gen knob on my Gen loss. So cool.

3 Likes

I just remembered what it reminded me of:

2 Likes

I certainly love this!!! It reminds me of Bitmap 2 from Red Panda which does standard bit crushing and sample rate reduction plus digital distortion and gate. Lovely wire recorder-like sound.

2 Likes

+1 on the Compander. Sounds great on everything.

2 Likes