finding peaks quickly

Is there a quick way to find peaks or clipping in a session? Currently, the only thing I’ve found is to play through the whole session while watching the meters, which is inefficient to say the least!

Even if I have to export the session to a wave, and scan that somehow, it’d be useful to have a quick way to make sure that I haven’t missed any spots.

peaks and clipping are pretty different things.

but the short answer is no, ardour does not track peak values for either regions or sources (files). note that clipping is visually indicated by red marks at the top or bottom of the waveform display. this doesn’t help with busses, but then neither would “peak tracking” since there is no on-disk audio associated with the bus.

you might consider filing a feature request with the issue tracker.

The red marks aren’t any help in this case, because I’m adjusting the gain automation, which results in the clipping. I can see that it might be difficult to keep track of it, since the bit that clips could be in any track/bus and might involve any amount of mixing and processing. For now I’ll just export it all, I guess, or else record the output to a new track and check for the clipping there. Thanks!
(issue reported #2372)

Hmm, what you want would be stupendously expensive to compute. Taking into account any kind of automation would mean that every time a single automation point was modified, it would be necessary to recompute peak data. It would be possible to optimize this a little bit (only doing it on mouse-release or transport-stop), but basically it is a huge amount of work for a relatively small gain.

Do you know of other DAWs that offer this feature (specifically, that take automation data into account?)

I don’t know any other DAWs at all, unless you count audacity. :slight_smile:

I can see that it would be pretty much impossible for it to just scan the file right away, but perhaps just something that would note where clipping occurred? It’s already registered on the mixer, after all. If it could also make a note showing where the clipping happened, then I could at least play through the whole session and then look later to see where the clipping occurred, instead of watching the mixers the whole time, or exporting to another file and examining that one.

BTW, http://thorwil.affenbande.org/index.php/2007/03/04/ardour-export-01/ mentions just what I’m attempting to describe:

To detect clipping, the user has to keep an eye on the editor or mixer window. Afterwards it can be hard to find the location clipping occurred (with clippig I mean peaks above zero, even though there is no actual clipping as longs as you stay with floats). -> Indicate clipping in the dialog. List locations of where clipping occures during export. (Sidenote: Tracks/Busses should have clipping-logs and means to navigate to the listed locations. There could be special tracks handled like automation tracks but for clip marks.) -> Have a means to automatically adjust gain until no clipping occurres.

It’s referring to the export dialogue, but I think it would be better put somewhere more universally accessible.

What if you could do some freewheeling export to /dev/null, with ardour logging the clipping points somewhere. This way you wouldn’t have to sit through every 25 minute prog epic in real time to check for problems.

ardour works with floats, i thought. Correct me if I’m wrong but isn’t processing done in floatting point all the way (assuming peaks don’t hit MAX_FLOAT or whatever) and that means it’s a “sliding scale”? of course at the end of the chain everything has to fit into your 16 or 24 bits again foor output but levels e.g. in a bus can be any number?

But it’s exactly that ‘end of the chain’ bit that I’m trying to fix!

How about having a single pass algorithm that will pass though the project, and decrease all active channel gains and gain automation by the amount of clipping detected. This way you could perfect your gain automation until it sounds right, and then decrease everything by that amount to make sure nothing clips.

It is a royal pain to manually decrease all the gains and channel automation every time this happens…

I don’t see quite what the problem is.
It doesn’t matter if you clip the meters on individual channels routed to the master fader or buss, as the audio won’t clip. This is pretty much what Seb said.

If you are mixing out of the computer and have say 16 analog outs from individual channels to a desk, then it would be useful to know if a channel has clipped, as it means digital clipping at the D/A stage.

If you are mixing internally, then just pull the master fader down a little, leave at least a good 6-12db of headroom so you don’t have to worry about unpredictable peaks, mixdown to 24bit and it will be fine.