Reverb Problem

This isn't completely Ardour related but it follows on from a discussion in the Linux Forum and there seem to be plenty of people on here who might know the answer.

I'm having problems with Reverbs. I've tried several LADSPA plugins as well as jconv and the linuxdsp Stereo Reverb. I have set up a stereo bus in ardour and on that bus, pre-fader, I insert my reverb plugin, (or my insert if I'm using jconv or linuxdsp).

Then in the tracks where I want Reverb, I insert a post-fader send and route it to the bus.

In the thing I'm working on at the moment, if I enable the send on one particular track there is a specific point in the song where all audio stops. The level meters are still going up and down on all the tracks except the bus and the master. If I disable the reverb plugin it all comes back to life again.

The point at which it breaks is coincident with a heavy bass-drum break which makes me think I might be putting too much level into the reverb... but it shouldn't just cut out, should it? The Calf Reverb is the only one that keeps going.

Very strange, I would be very surprised if putting too much level into the reverb would cause it to cut out - I am confident this isn't the case with the linuxdsp reverb but I'll do some tests and let you know what I find, also since it appears it affects the jconv as well it wouldn't appear to be a 'generic' reverb problem since the jconv and linuxdsp reverbs work in very different ways. Have you tried routing other jack applications in place of the reverb - also, when you say you disable the reverb does this mean you bypass it or disconnect it? When the audio cuts out, can you still hear any reverb 'tails' or does the sound just stop abruptly?

When I say disable the reverb I mean bypass it. If I then enable it again the sound cuts out completely again.

When the audio cuts out there are no reverb tails.

I've noticed today strange behaviour with other plugins too... some of them cut just the left audio channel, some of them cut everything but the Master shows a max level of over 200... I'm beginning to think that perhaps I have Jack issues - but apart from these plugin problems everything else is very stable, and given that LADSPA plugins are showing the issues I'm not sure if that means it can be Jack. Roting stuff around Ardour seems to work fine.

You didn't start using the Triple parametric, did you. And forgot to set all frequency sliders so something other than their default setting?

Jack is just for connecting and syncing things so I really doubt that's to blame (unless connections are suddenly cut). It's either some denormals problem in Ardour or certain plugins or a bug somewhere in there.

I would agree that jack almost certainly won't be to blame, if you can route signals around inside ardour and play audio without drop-outs or xruns then jack is working fine. As the problems you are experiencing affect so many different types of plugins its hard to pin it down. I've tested the linuxdsp reverb (and my ears!) with all sorts of signals (noise bursts - high level tone pulses etc) and I haven't had any problems.

You did find a wierd problem. What is even more strange about this is the combination of different approaches that are having similar symptoms. You are having this both with jconv which is obviously a jack program, and with LADSPA effects.

I suppose the next thing to do would be to recreate this with jconv, and then when it happens again, route an audio out of that insert to somewhere you can check to see if audio is being passed out of Ardour.

DrG,
I had the same problem when I used the latest Ardour from svn. It went away when I switched back to 2.8. I used a bus with reverb (C* JVRev) and sent audio from several channels to it. Nevertheless, the audio stopped just somewhere, no particularly loud part. When changing the starting position of the playhead, the sound stopped at another position, too. I'm not sure if it was always after the same amount of time.

this is an old issue that I observed at least 1.5 / 2 years ago. Something is very fishy with some plugins and I assume ardour just treats any LADSPA plugin in the same way, assuming each instance will just work. So I wouldn't blame ardour either unless the audio signal has a special internal treatment.

Other weird issues in the same category: huge level outburst out of the blue when some plugins are activated or just instantiated but deactivated. This is utterly difficult to pin down, sometimes this happens systematically for days, and then it just disappears. Sometimes, if you start the transport at some special spots along the time line, the spike won't be triggered even though the transport shuttle goes over the nasty time spot.

This sudden sound drop is to my mind the same issue or has the same root cause. When I observed this, I just upgraded what I could. It wouldn't go away. So I decided to not rely on plugins.

This said, it is known that some plugins really suck at special sample rates. maybe you can try to open your ardour session at a different sample rate (even though it would sound like crap) and see if you observe the same issue.

Thanks all, that's all useful info. I've convinced myself too that it's not Jack, by adding a host of random busses, sends, and inserts and routing audio randomly all over the place. I couldn't get it to fail.

I think thorgal's explanation is the most likely since it seems to always occur with certain LADSPA plugins. I went back to my old known good stable installation with Ardour 2.7 on a rock-solid kernel and tried some of the same plugins there. The problem still occurred, even on a completely empty Ardour project.

Of course this doesn't explain what was going on with jconv or the linuxdsp stuff since that's not LADSPA. But I suppose it could still be some combination of plugins causing some wierd edge conditions. I've built everything from source so I may try messing with compiler options in the misbehaving plugins and see if I can improve things. I note that none of the plugins giving me problems (and all of the ones that seem to work properly) are LV2.

One question - what are denormals, and which of the settings for denormal handling should I try?

I've tried fiddling with the compiler options for the CMT plugins based on what the TAP plugins use. No luck yet. I notice that when using Freeverb and seeing this problem where the audio cuts out, Ardour is showing the DSP load at 90%. It really does point to something going very wrong in a plugin somewhere.

DrG Ardour has denormal protection you can make sure is enabled in its options menu.

Denormals are an issue that came up on AMD processors IIC where if a plugin was processing silence it would take up 100% of the CPU. This does not really sound like your problem.(Except possibly a denormal problem showing up after the fact on Freeverb above)

As you noted the issue with Thorgal's explanation is that not everything this is happening with is a plugin, LADSPA or otherwise. Several of them are external Jack programs and this doesn't explain why it is happening to them.

You mentioned rolling back to 2.7, did you try 2.8(Or was that what you were on originally) as mentioned by an above poster?

Also where are you getting your packages from out of curiosity? Some distros have known packaging problems, that shouldn't really cause this but they show up in very odd ways sometimes.

Seablade: one correction - denormals are an Intel architecture problem, and are more noticeable on Intel chipsets than AMD (though they still occur with some AMD chipsets, but are not as big of a problem). PowerPC chips (bless their cold, frigid little hearts) have never suffered from denormals.

seablade, I'm using 2.8 most of the time. I've built jack, ardour, and all the LADSPA plugins myself from source. But I'm using my distro (Mandriva 2009.1) for all the dependencies. One thought is that I haven't built fftw3 myself, but removing the package from my system requires removing a couple of the library dependencies of ardour, and a couple of other apps I use. If I go much further with building from source I'll be using Gentoo... :)

I've tried all the settings for denormal handling and none make any difference. I had a look too in the Freeverb code and it includes frequent calls to a function called 'undenormalise', which seems fairly self-explanatory. I reckon denormals are not my problem :)

Yea denormals do not sound like your problem. I am unfortunately not real sure what your problem is however, it doesn't sound as simple as the LADSPA issues we normally see from certain plugins, especially given that I don't believe Freeverb is usually suspect of those problems. Did you try what I suggested above and route the insert going to jconv or similar to a seperate jack program to see if audio is passing to jconv and stopping there, or if jconv is just not getting audio?

This is best done, for the record, with a brand new session if possible, single track, with insert on the track, and playing audio like that. Or a similarly simple setup, primarily just to make sure that it isn't a plugin or processing upstream that is causing audio to stop.

Also what sample rate are you running your session[s] at? Thorgal may be on to something.

It is possible that if a particular dependency was compiled wrong it could show up in Ardour, and fftw is one that could affect things across the board. I don't think that I have heard of problems with Mandriva and fftw, but I suppose anything is possible. By the way, do you have both versions of fftw3 -- libfftw3 and libfftw3f installed I assume?

For what it's worth, I'm using mandriva 2009.1 on my test machine, and I compiled the fftw libs from source (and ardour - don't worry, I paid for it...) and I cannot reproduce the problems you are having. However I obviously don't have the audio track that caused the problems initially. Is it just one audio track that triggers the problem? This is a long shot - and it is pure conjecture as I cannot duplicate the problem, but perhaps if you had a corrupt audio file that contained a sample of some huge value, it might (just might) recirculate in the reverb effectively adding a huge DC offset to the signal and thereby causing a cut in the audio.
Things you could try:

Use the linuxdsp reverb to test this - I don't believe it is faulty, but obviously I know how it works so I am able to give some diagnostic tests.

Does the problem happen with the reverb switched in but the dry/wet level switched all the way to Dry?

Can you clear the problem by pressing the mute button on the reverb for a while?

The mute button kills the input to the reverb - so if there was something nasty circulating in the reverb it should eventually subside. If you switch the mix to dry, it allows the clean audio to pass through with unity gain but multiplies the output from the reverb alogrithm by 0 so again, if there was something nasty in the reverb it would no longer be added to the clean signal and you may be a able to hear the audio again.

Seablade, what I meant was that it does not matter whether you have an insert to an external app as long as some other tracks have some strange acting LADSPA effect. That's what frustrated me about 1.5 year ago. I tried to pin down which plugin was introducing the huge spike that nearly made me deaf the 1st time ... but to no avail. I thought I found the bugger until things got screwed in another session without this plugin. Some LADSPA plugs fuck up something in ardour, that was my conclusion, so I had to work it around by not using any LADSPA plugs. My level of distrust got boosted as much as the spike level I observed :D and to this day, I still feel the same distrust. But that's OK because then, I don't overuse plugins which would otherwise take a lot of DSP proc and thereby heat up my DAW and small studio :)

I think I´ve got the same issue as you describe you had 1.5 years ago. I´ve recorded a band in 88.2 KHz, 32Bit FP I used buffersize of 64 and 2 periods (ardour reported 0.7 ms!). I used 8 tracks (Presonus Firepod) for music, and dubbed another 8 tracks with vocals. I´m primarily using Glame High and Lowpass on every channel, The Triple band parametric and SC4. Yes, I´ve set all values other than default on the EQ. I´m also using a lot of gates. See this http://img505.imageshack.us/img505/3103/plugins.png

Sudden spikes of audio on random tracks, and sometimes the problem is gone when I disable the EQ on the Kick...
I only use a Plate on the snare, the rest is hardware reverbs.
Any thoughts?

Edit: I now use 2 Post-fader limiters on my master to spare my PMC DB1´s!

@Roaldz,
Peder is a wise guy :) It has always occurred due to some weird combination of TAPS and CAPS (it may not be either one or the other, but both applied in the same session). Again, I had no time to track this down properly, I had to do without.

Of course, I do use plugins (LV2, external like linuxdsp) but I am very careful not to litter my sessions with CAPS and TAPS. I also have the possibility to use h/w effects when I really need something (h/w inserts). And very oftentimes, I record with h/w effects applied because I know what effect I want beforehand. I only use some EQ if needed (fil plugin) and compression or limiter (have some h/w modules).

The more I think about this the more I'm sure thorgal is right. Though I've never seen anything as crazy as I'm currently seeing there have always (for the last 3 years) been some plugins I knew I couldn't use. There are probably more than I thought. I wonder whether it's just certain plugins or whether LADSPA is just fundamentally screwed. Certainly the more I use it the more I fondly remember my VST days..... this is bad :)

I'm going to experiment with piping my sends and inserts into something like audacity so I can see if there is any audio going there. I'm starting to get a kick out of tracking this down... am I going insane? ;)

I think I had pretty much the same issues (stopping audio at a position), and I solved it by using the "consolidate range" function.
I had many punched recordings which did overlap (on different positions) and I think this was the cause for the problem. After the "consolidate range" function the whole things was replaced with a single region and the problem stopped.

DrG, I don't think LADSPA is 'fundamentally screwed', there's nothing really wrong with the LADSPA architecture (for what it was intended for), except the lack of a good GUI (but that's a whole load of complication I won't go into here...) the LADSPA specification just provides some function prototypes. To process audio you just write a function that processes a block of audio data, LADSPA just defines a method for the host to tell the plugin where the data is and how many samples there are. After that, its up to the plugin developer to do the right thing with the audio. I'll agree that some of the LADSPA plugins do some odd things though.

Venting a bit here: I've been getting worked up about these problems for a couple of years now. Until reading this I was convinced the problem was within ardour not being able to handle the way I heavily cutup and re-arrange drum loops and then use plugins to glue the sound back together. In 99% of cases I use a reverb somewhere amongst all the other plugins. Sometimes sending a drum track to three seperate buses, where each bus filters out frequencies and then these go back to another bus which combines it all again. It's so frustrating to get these massive spikes, or to add a plugin and ardour just disappears. I get to a certain point and have to continually save the session otherwise work gets lost so easily. It gets very fragile. Here's a track where I made creative use of it: http://jwm-art.net/art/audio/mv-ing.mp3 (the first spike occurrs around 42 seconds from the start).

Just a note: Thanks to the shortcut cheatsheat ( http://ardour.org/node/2894 ) I've discovered the consolidate range function, which I'm very pleased to discover. I was unaware of its existence: the last time I used the bounce range function, there was no option to do so without including the FX processing so I never used it. So thanks Ardour devs for that, it's very useful :-) I really should explore more.