[ANN] B.Oops Glitch Effect Sequencer 1.4.0
Moderators: raboof, MattKingUSA, khz
-
- Established Member
- Posts: 138
- Joined: Fri May 03, 2019 6:05 pm
- Has thanked: 29 times
- Been thanked: 61 times
[ANN] B.Oops Glitch Effect Sequencer 1.4.0
A new version of the LV2 glitch effect sequencer plugin B.Oops is out now.
What's new:
* Up to 16 MIDI-controlled patterns (tabs)
* Import / export patterns
* Build B.Oops in your native language
* Add language packs: EN, DE
* Store non audio-relevant working data in plugin state (like actual working pattern)
Description: https://github.com/sjaehn/BOops
Releases: https://github.com/sjaehn/BOops/releases
Introduction video: https://www.youtube.com/watch?v=bGUmZHWqdkE
Install tutorial: https://www.youtube.com/watch?v=XGgB5nCAqZo
Play and have fun!
What's new:
* Up to 16 MIDI-controlled patterns (tabs)
* Import / export patterns
* Build B.Oops in your native language
* Add language packs: EN, DE
* Store non audio-relevant working data in plugin state (like actual working pattern)
Description: https://github.com/sjaehn/BOops
Releases: https://github.com/sjaehn/BOops/releases
Introduction video: https://www.youtube.com/watch?v=bGUmZHWqdkE
Install tutorial: https://www.youtube.com/watch?v=XGgB5nCAqZo
Play and have fun!
-
- Established Member
- Posts: 138
- Joined: Fri May 03, 2019 6:05 pm
- Has thanked: 29 times
- Been thanked: 61 times
Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0
Funny, I had a similar discussion just a few days ago. The limitation is the latency produced by a pitch shifter. Initially I wanted to make plugin that adds no latency. Thus, only zero latency effects are allowed.
My own algorithm using a least squares annealing method produces a varying latency of some 10 ms in the mean. Multiplied with 12 slots makes 120 ms of latency. A pain for live usage. And my algorithm produces too much DSP load for 12 slots.
I also took a look to other pitch shifters. The exotic and glitchy Airwindows GlitchShifter adds 30 ms. MaPitchShifter even 50 ms. All the others I checked are in a similar range.
But I heard about pitch shifters that should produce latencies of less than 1 ms. I've no idea how they work and I would expect extremely glitchy effects. But why not. If I would get such an algorithm, I can give it a shot. But still, I would need a latency management within the plugin and the plugin then needs to notify the host. A lot of work and I'm not sure if I wanna do this.
-
- Established Member
- Posts: 138
- Joined: Fri May 03, 2019 6:05 pm
- Has thanked: 29 times
- Been thanked: 61 times
Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0
Frequency domain-based pitch shifters using FFT can deal with latencies of less than 1 ms. But they are hungry for CPU speed. More hungry than my WSOLA approach in B.Shapr. And much too slow for up to 12 slots. I think.
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0
I don't know how it's implemented, but Bitwig's stock pitch shifter sounds very granular (it only has a grain size and a semitone setting), but it only introduces a negligible amount of latency (it reports to not introduce any latency, but when adding 512 of them in series and it feels similar to 135 ms of latency which would equate to about 0.25 ms/11 samples of latency per instance. So it should be possible to have low latency pitch shifting if you don't care about it sounding particularly good.
-
- Established Member
- Posts: 138
- Joined: Fri May 03, 2019 6:05 pm
- Has thanked: 29 times
- Been thanked: 61 times
Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0
I'm really curious about this. In theory you can do pitch shifting in the time domain or in the frequency domain. Granular pitch shifters typically use the time domain approach. The grain size should be at least the wavelength corresponding to the lowest frequency of the signal to pitch shift. Better times two or even more. Less means a loss of information and thus the result sounds more and more polluted. For pitch shifting up you need information from the future. As this is impossible, the plugin needs to generate latency. The plugin latency correlates to the grain size (and the max. amount to pitch up, and ...). In the time domain approach.robbert-vdh wrote: ↑Fri May 28, 2021 9:01 pm I don't know how it's implemented, but Bitwig's stock pitch shifter sounds very granular (it only has a grain size and a semitone setting), but it only introduces a negligible amount of latency (it reports to not introduce any latency, but when adding 512 of them in series and it feels similar to 135 ms of latency which would equate to about 0.25 ms/11 samples of latency per instance. So it should be possible to have low latency pitch shifting if you don't care about it sounding particularly good.
The Bitwig pitch shifter has got an option to set the grain size indirectly via the grain frequency. The default value is 10 Hz. With I've got no information how many grains running in parallel. But at least two are required for this approach. This means that 10 Hz would represent a grain size of 200 ms or even more.
There is a yt video that shows how to "abuse" the Bitwig pitch shifter as delay. Therefore, I suspect that the Bitwig doesn't correct the latency produced by its pitch shifter. And you can put 512 instances of them in a row and you can only measure one delay. BTW, this is also true for B.Shapr and it's still TODO there.
-
- Established Member
- Posts: 219
- Joined: Mon Mar 01, 2021 10:56 pm
- Has thanked: 51 times
- Been thanked: 92 times
- Contact:
Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0
You're definitely onto something! When not doing any pitch shifting it seems to be adding 8 samples of latency (and about 3.4 dB of gain) per instance of the plugin in series (which could be oversampling?). I'm not sure if this delay increases when changing the settings, and measuring it becomes a bit difficult since two opposing 12 semitone pitch shifts don't exactly cancel each other out. But after compensating for those 8 samples of latency per instance it still 'sounds' zero latency and you can automate the parameters without any glitches, so I'm not sure how all of that plays into this.sjaehn wrote: ↑Sun May 30, 2021 10:30 am <snip>
The Bitwig pitch shifter has got an option to set the grain size indirectly via the grain frequency. The default value is 10 Hz. With I've got no information how many grains running in parallel. But at least two are required for this approach. This means that 10 Hz would represent a grain size of 200 ms or even more.
There is a yt video that shows how to "abuse" the Bitwig pitch shifter as delay. Therefore, I suspect that the Bitwig doesn't correct the latency produced by its pitch shifter. And you can put 512 instances of them in a row and you can only measure one delay. BTW, this is also true for B.Shapr and it's still TODO there.
But yeah, if you don't report any latency, you don't have any latency.