Removing noise from public speech?
I need to record blocks of public speech, where the speaker is often at some distance from the microphone. I can pick up the speech clearly, but I have a problem with foreground noise - you can't tell 100 people to shut up or stop shuffling papers and things! Is there any simple process I can go through to remove this noise such that the intended speech is brought to the foreground? I understand I can use filters to improve the quality fo the sound, but which ones would have the best results? This is far from my field of expertise, so I decided it to throw it out there for the real experts :)
Honestly, recording problems like that are often solved with a better mic. Sounds like you need a unidirectional mic if you're picking up audience sound, or an adjustable cardioid mic.
To touch up the recording, there's not much you can do, unfortunately, besides very precise parametric equalization.
To touch up the recording, there's not much you can do, unfortunately, besides very precise parametric equalization.
http://www.zirconstudios.com/ - original music for video games, film, and TV.
Hi,
You say that you can pickup speech clearly so applying a noise gate to get rid of noise in silent breaks should help a lot. In sound forge this is easy. First select a small sample of noise (just choose any noisy area in the waveform that is representative of all the other noise you want to get rid of). Then look at the statistics and make note of the "Maximum sample value percentage." Now apply a gate with threshold slightly over the "maximum sample value percentage."
If you have sound forge, this process is all outlined in their help files.
-j
You say that you can pickup speech clearly so applying a noise gate to get rid of noise in silent breaks should help a lot. In sound forge this is easy. First select a small sample of noise (just choose any noisy area in the waveform that is representative of all the other noise you want to get rid of). Then look at the statistics and make note of the "Maximum sample value percentage." Now apply a gate with threshold slightly over the "maximum sample value percentage."
If you have sound forge, this process is all outlined in their help files.
-j
Jonathan Makqueasy gamesgate 88[email=jon.mak@utoronto.ca]email[/email]
The general rule in recording is that you CAN'T fix it in the mix. Garbage in equals garbage out.
If you're faced with the unhappy need of fixing something that's already recorded, you can look into speaker-specific pattern-based filtering. Basically what it does is generate a "print" of what the speaker normally sounds like, and filters out anything that doesn't look like that.
I think you could get a first order approximation of this technique by running FFT on clean bits (say, 50 ms at a time) of the session, and run a big average on each bin across all the FFTs. This gives you the "typical" spectral content. Then, chop the session into segments of some size (say, 1 s), and measure their spectral content similarly. Calculate the delta between your "ideal" and the current segment; that yields a filter that you can apply to that 1s segment. Apply filter. Repeat for all segments. String segments together, probably using slight overlaps and smooth-in/smooth-out to avoid the cut point artifacts.
If you're faced with the unhappy need of fixing something that's already recorded, you can look into speaker-specific pattern-based filtering. Basically what it does is generate a "print" of what the speaker normally sounds like, and filters out anything that doesn't look like that.
I think you could get a first order approximation of this technique by running FFT on clean bits (say, 50 ms at a time) of the session, and run a big average on each bin across all the FFTs. This gives you the "typical" spectral content. Then, chop the session into segments of some size (say, 1 s), and measure their spectral content similarly. Calculate the delta between your "ideal" and the current segment; that yields a filter that you can apply to that 1s segment. Apply filter. Repeat for all segments. String segments together, probably using slight overlaps and smooth-in/smooth-out to avoid the cut point artifacts.
enum Bool { True, False, FileNotFound };
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement