sjaehn / BOops

Sound glitch effect sequencer LV2 plugin
GNU General Public License v3.0
73 stars 2 forks source link

stutter effect sounds different every time it repeats #23

Open ghost opened 2 years ago

ghost commented 2 years ago

idk how to explain this, but in the linked ardour project, i have a drum loop with b.oops on it with a stutter effect set to note mode and i have a midi track sending midi data to the plugin. when you set the drum break on a loop, i noticed that every time the stutter effect starts, it sounds different each time, like it's taking a different portion of the audio each time. it also sounds different if you move the notes around and put them back in the same place

i guess i'll just let you see for yourself (the drum loop is in the archive folder)

boopstest.tar.gz

sjaehn commented 2 years ago

Thanks for the archive folder. That made it easier. Although it was quite tricky to reproduce. I think its an ardour-related problem. Maybe something for @pauldavisthefirst or @x42 .

First, the routing of the MIDI signal from MIDI_1 to mixdown didn't work in Ardour 6.9.0. I tried all possible ways to re-connect but all failed.

Therefore I went back to version 6.0. Routing worked out of the box. But in the first, I couldn't reproduce the problem you reported. But if I move the notes towards the start, then I can clearly hear it too.

A possible explanation: Time/position data are not permanently sent by the DAW to the plugin. In the case of a short loop like this one, it may happen that the plugin sometimes already received updated time/position data after jump back and sometimes not.

pauldavisthefirst commented 2 years ago

I'd be the one to look at this but to be honest, I'm not likely to do so until ardour 7.0 is much closer to release. Everything about tempo information etc. has changed in the current codebase. I would appreciate a bug being filed at tracker.ardour.org since I'm unlikely to remember to return here.

sjaehn commented 2 years ago

@pauldavisthefirst I can wait until ardour7. If the problem still persists there, then I can forward it to ardour's bug tracker.

ghost commented 2 years ago

yeah, it must be an ardour issue, as i replicated this setup in zrythm and it sounds the same every time. should i close this issue?

x42 commented 2 years ago

How to reproduce this? I've opened the attached Ardour session, transport play+ loop. All is fine.

There is no stutter though. I have verified that MIDI arrives via the side-chain input, but apparently the plugin does not react on that (using BOops/git 8ed638cfd035e244e0848b107c9668b76dfacb49).

sjaehn commented 2 years ago

@x42 About the missing stutters. The same with me with Ardour 6.9. No stutters. But stutters were audible with Ardour 6.0.

Anyway I'll try to debug the incoming MIDI atoms in B.Oops with Ardour 6.9.

x42 commented 2 years ago

I have just written a LV2 plugin to investigate, and cannot reproduce the issue with either Ardour 6.9 nor Ardour 7.

https://github.com/x42/host-sync-test.lv2

The plugin prints absolute host-time (sample-time | bar.beat) of

I've created a session based on boopstest, and when looping audio and MIDI are perfectly in sync. there is no loop-offset:

image

sjaehn commented 2 years ago

I just tried it again in Ardour 6.9. Now it works. I didn't change anything. Except switching on and switching of my computer. ;-)

Routing works and also the high frequency stutter (if you can call 96 Hz a stutter effect). And the stutters sound the same after movement of the notes for each repetition. As they should. Everything is fine.

I also analyzed the MIDI input by simply printing the MIDI events to stderr (in parallel to @x42 with his little tool, thanks for it). Everything OK.

So, I'd conclude that the problem reported by @autumncheney - and my observations too - may sometimes occur. And sometimes not. It is not fully reproducible. And I have no idea about the cause. I don't think anymore it's Ardour. The complex Linux audio mysteries.