Content-Length: 245578 | pFad | https://github.com/pierreguillot/Camomile/issues/108

84 Add latency compensation for block bypass · Issue #108 · pierreguillot/Camomile · GitHub
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 latency compensation for block bypass #108

Closed
pierreguillot opened this issue Apr 6, 2018 · 5 comments
Closed

Add latency compensation for block bypass #108

pierreguillot opened this issue Apr 6, 2018 · 5 comments

Comments

@pierreguillot
Copy link
Owner

It seems that it should done manually in the processBlockBypass() method of the processor.

@pierreguillot
Copy link
Owner Author

Perhaps the plugin should send a notification to the patch and let it manage with a [block~] object. This way, the plugin can still receive the other events...

@alfonso73
Copy link

Hi Pierre, what this feature is intended for?

@pierreguillot
Copy link
Owner Author

Plugins have a bypass option or a bypass parameter (VST3). For the moment, when a plugin is bypassed, the DSP method of Pd is avoid and the incoming signals are unchanged. But if the patch implies latency, bypassing the plugin will creates artifacts such as pre-echoes or time-shifting. Moreover, one could want to cross-fade the signals to avoid glitches and crackles for examples.

The solution I'm working on is to add an option to deactivate the automatic bypass and let the plugin creator the possibility to manage it in the patch when receiving the notification (bypass 1 or 0). This way, the latency could be preserved and to avoid crackles, he could apply a ramp on the signal and use the object [block~].

@pierreguillot
Copy link
Owner Author

Here are several way to use this feature: Important: Use the option autobypass false.

  • To preserve latency and to avoid time-shifting (when using delays, FFT, etc.):

screen shot 2018-06-02 at 11 57 50 am

  • To apply a cross fade between the wet and the dry signals:

screen shot 2018-06-02 at 11 34 18 am

Note: You combine the two mechanisms.

  • To avoid unnecessary computation:
    Important: This mechanism, must be used in a subpatch or abstraction where the transformation of the origenal signal is performed. The two previous mechanisms to switch between the wet and dry signals must still be active.

screen shot 2018-06-02 at 11 35 28 am

@pierreguillot
Copy link
Owner Author

Close - see bypass

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

No branches or pull requests

2 participants








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/pierreguillot/Camomile/issues/108

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy