Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Is it possible to do realtime noise-removal with PulseAudio, so the sound output that's coming out is smoother?

share|improve this question
    
it probably is possible, though it would be intensive, and would require someone write a filter for it. –  RolandiXor Dec 27 '10 at 12:36
add comment

2 Answers 2

up vote 2 down vote accepted

Investigation shows that there is no known way of doing real time noise reduction filtering with any Linux sub system. Some websites point to hardware you can buy which should do the trick much better than doing a software filter.

Alternatively if this is for a recording, you could pass the sound through Audacity and use the noise filter there.

share|improve this answer
    
Pity, I wonder why not. Thanks for investigating. –  Vadi Jan 8 '11 at 12:16
add comment

Here's at leas tone way, implement webrtc-aec in the

http://wiki.gentoo.org/wiki/PulseAudio

webrtc-aec Yes Uses the webrtc.org AudioProcessing library for enhancing VoIP calls greatly in applications that support it by performing acoustic echo cancellation, analog gain control, noise suppression and other processing.

Here's a paper dated 2013 on the subject (noise removal with pulseaudio not webrtc-aec specifically) http://lac.linuxaudio.org/2013/papers/37.pdf

"We have presented rst results of a multi-channel noise/echo reduction solution built on top of PulseAudio and motivated the design decisions. The work has resulted in a number of improvements in the PulseAudio echo cancellation and signal-processing framework, which have been contributed during the version 3.0/4.0 development cycle and should facilitate future embedded Linux audio solutions. Further work includes optimizing code for audio stream mixing, more ecient resampling methods, and the implementation of an efficient AEC in the multi-channel processing pipeline."

share|improve this answer
    
What I had in mind for a quick had was to takle a noise profile and do real time noise removal using sox and then play back the audio output which I can then use as an input stream in pulse. I believe that pulse is able to create and redirect input and output streams in this manner. That is the playback stream can get redirected as an input stream to another application and the playback stream is per application not per device, so it need not be routed to device hardware. –  user2330377 Jun 22 '13 at 15:53
    
I'm giving this a go using pacmd to list pulseaudio devices, pacat to record and playback from them and sox to do the real time effects on the stream. –  user2330377 Jun 22 '13 at 16:18
    
Would you be interested in posting the scripts for it? –  Vadi Jun 23 '13 at 20:51
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.