Noise reduction with a "noise-only-audiotrack"
Feature
What is the best way to reduce changing noise in a recording or even live?
In some situations it is easy to record a second audio track with noise only.
If only I could "subtract" the noise from the recording... Now I see, that Stereo Tool 7.52 BETA does something similar, applying a once learned noise-profile in live-mode. The noise-reduction is live, the learining is not; it is done before, once.
Can the learning be live too? Learining from one audio channel and applying the noise reduction to the other channel(s)?
Source of the "noise-only-track"
In any situation, I try to place the main microphone as close to the speakers mouth as possible. Often I can place a "noise"-microphone far away from the speaker. In noisy outdoor-video-situations, the noise-microphone can be on the camera, a few meters away from the speaker. In this case, I get a "noise-only-track". In an indoor-lecture, the noise-microphone can be in the middle of the audience. In that case I only get a "noise-mostly-track".
In mobile phones, the two microphones are close to each other and can reduce noise well.
My own attempts
I tried the noise-reduction of Audacity, which works like the one in Stereo Tool 7.52 BETA. I chopped the audio track in overlapping 10-sec-pieces, analyzed the "noise-only-track"-pieces and applied noise reduction to the main track pieces. It worked ok as a proof of concept but it was chopped and complicated.
Then I saw that SoX (
http://sox.sourceforge.net/) can do the same on command line. That would be easier to automate. I have not yet tried it. The results should be the same as or worse than Audacity, but easier.
Then I remembered that Android is open-source and that the noise-reduction-software for mobile phones should exist in its source code. Unfortunately I am not qualified enough for that job.