I have captured gopro video + audio for a microlight flight.
The pilot radio comms is short segments over the 3 hour flight.
I need to find the voice segments, just know where they are.
I am happy to leave the ambient noise in the audio track so the impact of the filters is of no concern.
I have tried using the high pass filter which has a noticeable affect but does not really help much.
Any advice pls.
I have attached the project if that will help. GOPR0698.aup (1.92 KB)
I got lucky. That’s two filters. Effect > Filter Curve > Manage > Factory Presets > Telephone Filter. I increased the steepness of the left and right sides to get rid of more trash.
Then I drag-selected some of the better behaved trash and used that for Effect > Noise Reduction > Profile. Then select the whole thing and Effect > Noise Reduction 12, 6, 6.
I can do even better by intentionally overloading the sound channel and bringing it back down with Hard Limiter. This is roughly what actual radios do. Nobody is after Academy Awards here. Then you can simulate carrier squelch with Noise Gate, etc. etc. etc. You can spend all day with this.
So my next step is to make a python script to do this process for me.
I noticed that the noise reduction step was quite sensitive to the sample supplied.
Some selections left only the voice while others left lots of noise pulses.
I am guessing that to automate this with python I will need to program in the “noise profile” step… any hints?
Just that automating the current noise reduction is almost impossible. As I understand it, Nyquist can’t do branching. There is no IF [this] THEN [that]. Everything is a straight line which works fine if all your tools are one-pass and go home. Noise Reduction isn’t like that.
There’s a couple of changes offered for a future release.
That was the part of the rescue with the highest customization. Most of the background noise was a disaster of rapidly changing noises and volumes, but there was one section just before the voice that was relatively calm. That’s what I used for Noise Reduction Profile.
There is no way to automate that, either, but you can help a little. There’s no way to save a Noise Profile, but you can Export Selected that one little section as its own WAV sound file and use it for the Noise Profile without having to search for it again and again.
I have looked around for a command line tool to do this process for me.
SoX seems to be a possible solution however it does not have the Audacity feature set.
The 1st step that Koz has given me is to apply a EQ curve as follows:
Effect > Filter Curve > Manage > Factory Presets > Telephone Filter
Reading the SoX documentation I see the following:
equalizer frequency[k] width[q|o|h|k] gain
Apply a two-pole peaking equalisation (EQ) filter. With this filter, the signal-level at and around a selected frequency can be increased or decreased, whilst (unlike band-pass and band-reject filters) that at all other frequencies is unchanged. frequency gives the filter’s central frequency in Hz, width, the band-width, and gain the required gain or attenuation in dB. Beware of Clipping when using a positive gain. In order to produce complex equalisation curves, this effect can be given several times, each with a different central frequency.
The last phrase
In order to produce complex equalisation curves, this effect can be given several times, each with a different central frequency.
I assume I should create a series of these equalizer filters for both the left and right sides of the curve.
Any hints on the number of filters? Is this the best approach?