B.Oops

Lately, I’m reading more and more often from Glitch2. Therefore, I would like to pay attention to the following plugin:

In any case, it has a better name. :wink:

2 Likes

Ooh! That looks nice. I have compiled and installed it on my Zynthian and it runs fine although it is triggering xruns and I haven’t had a chance to listen to it yet. (Little matter of Spain vs Italy.)

2 Likes

I had a chance to play with this for just a few minutes.

Audio is processed as expected and I wasn’t noticing many xruns. I need to check what caused previous xruns.

The GUI is slow to refresh in VNC over WiFi. I need to test on a wired connection.

There are many presets to play with so I haven’t touch the GUI yet.

A lot of the controls are exposed in the Zynthian UI but I would need time learning how to use it before most make sense.

The default / out-of-box configuration does not respond to ZynSeq tempo. I have a suspicion that B.Oops may take over as timebase master which would be undesirable. It might just be a setting needs adjusting. The (copious and well written) README talks about the different clicking options. I will investigate.

I tested as an audio effects chain. I didn’t try it as an effect on a synth nor did I test using a sample. In theory it sold be able to act on audio captures.

My initial assessment is that it probably has similar reduce demands as Surge or Vitalium and may be on the edge of useable, depending on the preset / configuration. I reckon we could make it an optional install with a note about its resolve use. (It really needs proper benchmarking.)

Well done to @spurkopf for pointing is to this gem.

3 Likes

It´s a pleasure for me. :smiley:

I am working on a Debian package which we could add to Zynthian.

[Edit] Debian package target added to makefile in my fork. I need to build this on armhf (Raspberry Pi) and validate it works on Zynthian then will offer to be added to Zynthian repository. I will also offer pull request upstream who may want to tweak some of the metadata. This may not happen today because there is the little matter of England v Denmark!

2 Likes

Best compile with optimization flags (make CPPFLAGS+="-O3 -ffast-math"). This (hopefully) should reduce the xruns.

1 Like

Cheers! I submitted a deb package but will try this optimization, hopefully before the package gets integrated with testing.

1 Like

I have submitted an updated package that applies the suggested optimisation. Expect to see that in testing soon.

I have been playing with it a bit today and it does integrate with the zynthian clock so tempo and beats-per-bar affect BOops operation. (Mode needs to be: Host-controlled.) It looks like BOops starts the clock which zynseq might not be expecting (though it should behave). This may mean that sequences start on the next bar rather than immediately (when no other sequences are playing). The converse is true, if you stop all sequences then the clock is also stopped so BOops will stop. This integration is something that needs some attention but until recently we didn’t have zynseq sufficiently advanced to consider the impact. I guess it is another thing on my long list!

xruns don’t seem to be occurring like I thought they were (even without the optimisation). jackd cpu load is in the order of 12% (depending on the effects being applied) so BOops looks like it will behave nicely with other zynthian modules.

5 Likes

Hi there, all the clock hosts are there now, isn’t it time we get b.oops working as part of zynthian?

1 Like

If there’s any legwork I can do to help make this a possibility, I’d be more than happy to do it, I used to build linux appliance os’s so once I get into the swing of things I’m sure I can contribute to zynthian

I would need some solid pointers to get started though, I’m still very lost when it comes to zynthian, if there is any work in progress on boops for zynthian that I can investigate and try to finish, I’d be happy to take that over and try to get it across the finish line

There are various walkthrous’ of previous zynthian code bases here

There is a boops Debian package in our oram repository which, although it indicates 64-bit I think is actually 32-bit. (We hadn’t migrated to 64-bit OS when I last looked at this.) The deb installs but fails to run:

lilv_lib_open(): error: Failed to open library /usr/local/lib/lv2/BOops.lv2/BOops.so (/usr/local/lib/lv2/BOops.lv2/BOops.so: wrong ELF class: ELFCLASS32)

Unfortunately, I seem to have deleted the GitHub fork so this would need to be done again.

Let’s try again…

git clone https://github.com/sjaehn/BOops.git
cd BOops
make CPPFLAGS+="-O3 -ffast-math"
make install

(I wish I had done that on the RPi5… time ticks away…)

Then search for new engines in webconf (and reboot - we need to fix that!) It is an audio effect called “B.Oops” in the “Modulation” catagory. It consumes quite a bit of CPU across all cores, peaking about 60% but probably using about 1/3 of all avaialble CPU, i.e. average 33% on each core.

We are moving away from using custom deb packages because, although deb packages are fantastic (I love them… except when I need to create or maintain them!) they are a challenge to create and maintain so we are erring towards hosting pre-compiled files that we just install with a script.

I didn’t actually listen to this. I was doing it all remotely. I may go into the studio later and turn on a speaker.

1 Like

Thank you so much for spearheading this, I’m going to try exactly that @riban, do I then first install this deb and then build it or just build it?

So I’m setting this all up on the pi5, I’ve noticed that for instance vitalium does that sort of thing when vnc was on, did you have vnc on? What I was thinking is set it up as the only effect on the stack, and then disable vnc when performing and hope for the best :rofl: I’m really bullish on the idea of using zynthian as a platform for synced multi-effects, if I can’t get boops working I’ll have to start playing with puredata to get something complex working… What I have in mind is something along the lines of what beardyman does, but way simpler… he uses turnado a lot which is essentially boops for windows

No, the deb is of no use to us and we will remove it from our repo (@jofemodo).

I did have VNC enabled but that shouldn’t be required for building. I had not exported the DISPLAY env var so it didn’t know about the X servers.

1 Like