How to remove background noise using java when recording sound in a crowd area?

When I capture using JavaSound or third-party audio capture tools and write them to a file. After that, read the file to change it, is there any way to remove the "background noise" using my java application.

Such as traffic / air noise when the main person was talking?

thanks

+7
source share
3 answers

Removing background noise is very difficult. If it is uniform noise, such as white noise on an airplane, algorithms exist for removing these frequency components. But if the noise is uneven and similar in nature, how is your good recording, for example, people speak in the background, street noise, etc. it will be very difficult to separate them. A lot of research has been done on this issue.

At the very least, you need to know exactly what a good sound is and what a bad sound is. For example. if you capture a voice, there may be special audio recovery software available to separate voice from other sounds, for example. http://www.izotope.com/products/audio/rx/ . If you record a voice in stereo, it may be useful for you to analyze the left / right position of the voice, and then remove the components without a voice, matching them left and right.

Re: mkb comments:

  • the squelch will mute when the level (of some or all of the frequency components) is below the threshold. Depending on the background noise level, this may help, but often noisy gates are annoying because you will hear the background while your โ€œgoodโ€ sound is there and there will be silence between them.
  • a low-pass filter removes high-frequency components (it passes low frequencies)! Therefore, if your background noise has a high frequency, this can help. A simple FIR or IIR low pass filter is easy to use. But it will also affect your โ€œgoodโ€ sound if it has high-frequency components.
+4
source

A very simple gate noise is not difficult to implement.

+1
source

MARF (Modular Audio Recognition System) mentions โ€œNoise Removalโ€ in their manual (using the two-phase noise profile phase, then the noise removal phase similar to Audacity noise removal ) ...

... but, unfortunately, it has not yet been implemented .: (

+1
source

All Articles