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

Add ChowDSP ChowTape #3585

Closed
jatinchowdhury18 opened this issue Jan 5, 2021 · 2 comments · Fixed by #3897
Closed

Add ChowDSP ChowTape #3585

jatinchowdhury18 opened this issue Jan 5, 2021 · 2 comments · Fixed by #3897
Assignees
Labels
DSP Issues and feature requests related to sound generation in the synth Effects Feature Request New feature request
Milestone

Comments

@jatinchowdhury18
Copy link
Collaborator

jatinchowdhury18 commented Jan 5, 2021

Add ChowTape to the Surge effects rack. As mentioned in #1694

ChowTape is a an analog tape simulation, based on a corresponding academic paper.

The original has many parameters, so I think there's two ways to deal with this. One option is to split the effect into several mini-effects, for example Tape Hysteresis, Tape Loss, Tape Wow/Flutter. The other option is to hardcode some of the parameters, and only expose the most important/noticeable ones.

If we were to go with the second option, here's the parameters I think I should include:
Drive
Saturation
Bias
Tape Speed
Spacing
Thickness
Gap
Wow Rate
Wow Depth
Flutter Rate
Flutter Depth

@jatinchowdhury18 jatinchowdhury18 added DSP Issues and feature requests related to sound generation in the synth Effects Feature Request New feature request labels Jan 5, 2021
@mkruselj
Copy link
Collaborator

mkruselj commented Jan 5, 2021

We will be increasing the parameter count in 1.9 (#3257) so more params could be supported.

Personally I think we should have it all in one effect. The choices we have to make is which processing mode to use (I see there's options for Runge-Kutta versus Newton-Raphson etc.), and maybe condense other less important parameters into "mode" presets, perhaps?

I think Degrade and CHEW sections are super cool and should definitely be there!

@jatinchowdhury18 jatinchowdhury18 self-assigned this Jan 5, 2021
@mkruselj mkruselj changed the title ChowDSP Effect: ChowTape Add ChowDSP ChowTape FX Jan 5, 2021
@mkruselj mkruselj changed the title Add ChowDSP ChowTape FX Add ChowDSP ChowTape Jan 5, 2021
@mkruselj mkruselj added this to the 1.9.0 milestone Jan 5, 2021
@mkruselj mkruselj modified the milestones: 1.9.0, Surge XT Jan 24, 2021
@mkruselj mkruselj modified the milestones: Surge XT, After parameter list expansion Feb 4, 2021
@jatinchowdhury18
Copy link
Collaborator Author

Hi all, I've started working for including ChowTape, on this branch. So far, I've only implemented the hysteresis engine (the most important part imo). For now I'm using a Newton-Raphson solver, with 3 iterations, sort of a compromise between accuracy and efficiency. As always, testing and feedback is much appreciated!

Up next, I'm hoping to implement the loss filters, though I'm expecting to have to fight to minimise latency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DSP Issues and feature requests related to sound generation in the synth Effects Feature Request New feature request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants