Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Minimal overload mode #15

Open
Chaircrusher opened this issue Mar 5, 2021 · 3 comments
Open

Feature Request: Minimal overload mode #15

Chaircrusher opened this issue Mar 5, 2021 · 3 comments

Comments

@Chaircrusher
Copy link

I've done this with delays set up as loopers (in Reaktor, or VCV Rack as well)

The input to the delay line (or 'tape') is a mix of the output of the delay line and the input. They have a reciprocal relationship: No input = 100% delay line, 50% is 1/2 delay line, half input.

In that case the input can gradually replace the existing delay line contents without going into overload.

@Ahornberg
Copy link
Owner

Pleas explain a bit more what you mean. There's no delay in Tape Recorder (or in any of my other modules).

@Chaircrusher
Copy link
Author

There is a tape buffer of some sort, right?

It seems like the input signal gets added to the signal in the buffer. Since it's always added 100% (well, whatever level you use, haven't read the source) and that buildup to 0dBFS happens pretty quickly. After that you get digital clipping.

What I'm suggesting is some sort of 'mix ratio' so that the formula for mixing into the 'tape buffer' is something like:

samplebuffer[curpos] = X * input + Y * samplebuffer[currpos]

Where X + Y = 1.

That has 2 effects: 1) new input gradually replaces existing tape signal 2) the output never overloads.

It's just an idea, it's your plugin ;-)

@Ahornberg
Copy link
Owner

Thank you for the explanation. As I understand, it has nothing to do with a delay.

And yes, you'r right: At some point in the signal chain (at least in the DA-converter) digital clipping could occour. The 'tape' inside Tape Recorder is represented as a buffer of floats. Because of this, there's no need to record 'hot' and overdubs wont't clip as long the limit of the exponent inside the float is not reached. As long as there's no 'save to disk' functionality in a file-format that requires 16bit values (like wav-files usually do), this will not be an issue.

At the moment, Tape Recorder does not model any kind of analogue behaviour. But I plan to do so in future updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants