Dragonfly Reverbs for Classical

Oooh, tiger stripes. You might be onto something there.

Make your mind up! I thought you had decided on brown/light grey depending on people’s monitor color profile :wink: #colorgate

1 Like

Dragonfly Reverb Version 3.0.0 has been officially released!

After several people encouraged me, the website now includes links for donations… and swag!

4 Likes

Sent a little something your way :stuck_out_tongue_winking_eye:

I really love the Dragonfly Reverbs but I run into big problems…
When I have a couple of tracks with reverb, playback (and also export!!!) starts stuttering. It usually doesn’t happen until I have saved the project and load it later in a fresh Ardour. So initially everything sounds fine and upon reopening it stutters.
I have a powerful system (12 i7 cores @3.2GHz) and lots of memory so I cannot imagine that being the problem. I hoped version 3 would make the problem go away but alas…
Do you have any ideas what this could be, and how to get rid of it?

What happens if instead of placing a reverb on each track you route those tracks to a bus track with reverb on the bus track? Might be worth a try.

Yes, tried that as well. As long as there is only one Dragonfly it seems to run fine.
But in practice I need different reverbs for different tracks.

@sciurius What operating system are you running? Which dragonfly plugins are you using, and how many instances of each? What other plugins are you using?

Fedora 31 ob x86_64. I use mostly the LV2 room reverb, occasionally the hall reverb.

No other plugins.

During playback/export DSP is around 30-40%, with occasional peaks >80% and then the xruns occur.

It happens with Ardour 5.12 and Ardour 6, Dragonfly v2 and v3.

What I noticed: When I start with the Dragonfly plugins disabled, DSP is low (2%). Activating the plugins one by one slowly increases DSP. However, when starting with the plugins enabled DSP is high and xruns are bound to happen.

It is a bit weird. I hope the above includes some useful information.

How many instances of the dragonfly plugins are you using at the same time? Do you experience anything that would indicate memory corruption, like a big explosion of noise, loss of output, or crashing the DAW?

For this experiment I used 3 stereo tracks, each with a Dragonfly (2 room, 1 hall).

No signs of memory corruption.

Same experience here.
I saved a project with 6 active Df Room and 6 active Df Hall reverbs and after Ardour starts I get roughly an xrun per second.
The xruns stop or get much fewer if I disable all the reverbs and then enable them again.

It seems to be something strange going in in the initial state which gets reset back to normal again after disable/enable.

I’m running a December version of Ardour6 and the latest Df 3.0.0, git version a52e0c15545

Hurray!!! So it’s not stupid me only…

@sciurius and @peder, what buffer size are you both using?

I’m running Jack without realtime and 48kHz/1024 fpp/2 buffers.
Ubuntu 18.04 on an i5 650 CPU, using the MB’s built in sound card.
It’s mostly for testing purposes.

This is very mysterious. From Ardour’s POV there should not be a difference.

Does this only happen if there is more than one plugin instance? If so that might indicate some static shared variable in the plugin.

One thing that Ardour does directly after loading a session is to process silence a few times, to warm up caches. Maybe that can lead to denormals in some internal state of the plugin?

I have tried really hard to avoid any static or global values, and freeverb3 makes liberal use of a macro called UNDENORMAL… Yet I still have the occasional bug report that invariably happens to somebody who is using multiple instances of these plugins. I’ll have to scour through the dependencies again and see if I can find anything.

It may well be some Ardour issue, but I don’t have an explanation what that’d be yet.

When loading a session the plugins are instantiated in sequence (single thread), just like adding them from the GUI would.

However when using the GUI:

  1. the plugin is instantiated and added
  2. the plugin is activated
  3. the plugin runs

and only then you can add the next one.

When loading a session:

  1. all plugins are instantiated and added
  2. all plugins are activated
  3. all plugins may run the first time simultaneously, when you have more than one CPU core.

Can you check Ardour Preferences > General > CPU/DSP utilization > 1 processor.
With only one processor, the plugins’ first run() cannot be in parallel.

The only cases where I could run several times w/o xruns is in the single processor setting.
Xruns seem to only occur in the ‘all processors’ setting.

1 Like

Is this only when loading sessions with more than one Dragonfly?
or also when you create a new session and then add them one by one?