[ANN] B.Oops Glitch Effect Sequencer 1.4.0

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

Post Reply
sjaehn
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

Post by sjaehn »

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

screenshot.png
screenshot.png (242.54 KiB) Viewed 2916 times
Play and have fun!
User avatar
LAM
Established Member
Posts: 992
Joined: Thu Oct 08, 2020 3:16 pm
Has thanked: 140 times
Been thanked: 348 times

Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0

Post by LAM »

Nice! Thanks @sjaehn!

Multiple patterns is what we needed! 8)

in mix, nobody can hear your screen

jmuller
Established Member
Posts: 12
Joined: Wed Dec 16, 2020 6:18 pm
Has thanked: 5 times
Been thanked: 1 time

Re: [ANN] B.Oops Glitch Effect Sequencer 1.4.0

Post by jmuller »

Cool 8) , but is there still some place for new effects. I'm waiting for a pitch shifter!
sjaehn
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

Post by sjaehn »

jmuller wrote: Tue May 25, 2021 5:37 pm Cool 8) , but is there still some place for new effects. I'm waiting for a pitch shifter!
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.
sjaehn
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

Post by sjaehn »

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.
robbert-vdh
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

Post by robbert-vdh »

sjaehn wrote: Fri May 28, 2021 7:08 pm 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.
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.
sjaehn
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

Post by sjaehn »

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.
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.

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.
robbert-vdh
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

Post by robbert-vdh »

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.
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.

But yeah, if you don't report any latency, you don't have any latency. :D
Post Reply