from a concert I have a recording that consists mainly of:
- Songs performed by our choir (mid-volume)
- Announcements by the conductor (low-volume)
- Hand clapping (applause - high volume, broad spectrum)
- Background noise from the audience (“silence”, very low volume)
I’d now like to
A) Identify and mark the songs with labels
B) Normalize across all songs such that the loudest sections use full range while maintaining the loudness differences between the songs
C) Adjust the loudness between the remaining different parts, that means: reduce volume of applause, boost volume of announcements, and lower volume of “silent” parts (some sort of intelligent automatic gain control …).
So far, so good. However, since I have such recordings every once in a while and they comprise several hours of raw material and 25+ songs, a little automatic help in processing would be highly appreciated.
That’s now where Nyquist comes in:
As the parts of the recording have quite different characteristics in terms of loudness and spectrum, I wondered whether it would be possible to have some scripts to
identify the parts of the recording, label them, and do the other processing as well.
The idea would e.g. be to
- provide different samples of each category to a Nyquist script to have it extract characteristics in terms of spectrum and amplitude and determine thresholds,
- have a script that identifies the sections according to the thresholds and provides labels for each identified section which could then still be edited manually,
- have a script to perform the loudness adjustment (or do it manually).
As for identification, I thought that maybe running a FFT once every second could be starting point with further refinements at the borders of segments.
Being fairly new to Nyquist, I wonder though,
- whether this sounds feasible at all? I wouldn’t bother for long run-times of the automatic part (the PC has time, I don’t …).
- how I could get the different samples into a Nyquist script to differentiate the different categories (as far as I understood, I can only send the selected track of audio to Nyquist)?
- how to best continue once I have labelled sections: I probably have to split the tracks somehow according to the category to be in a position to normalize across the songs only, but how do I manage this and ensure that there are smooth transitions in terms of loudness when jumping from one section (e.g. clapping) to another (e.g. a new song)?
- whether there is any possibility to have a Nyquist script to generate or edit the envelope control points of a track in Audacity?
Any comments, code snippets, pointers, etc. are highly appreciated.