View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Wiener filter for Noise Reduction and speech enhancement

3.6 | 8 ratings Rate this file 60 Downloads (last 30 days) File Size: 3.78 KB File ID: #24462 Version: 1.1

Wiener filter for Noise Reduction and speech enhancement


Pascal Scalart (view profile)


17 Jun 2009 (Updated )

Wiener Noise Suppressor based on Decision-Directed method with TSNR and HRNR algorithms.

| Watch this File

File Information

The two-step noise reduction (TSNR) technique removes the annoying reverberation effect while maintaining the benefits of the decision-directed approach. However, classic short-time noise reduction techniques, including TSNR, introduce harmonic distortion in the enhanced speech. To overcome this problem, a method called harmonic regeneration noise reduction (HRNR) is implemented in order to refine the a priori SNR used to compute a spectral gain able to preserve the speech harmonics as proposed by Plapous et al.
("Improved Signal-to-Noise Ratio Estimation for Speech Enhancement", IEEE Transactions on ASLP, Vol. 14, Issue 6, pp. 2098 - 2108, Nov. 2006).

MATLAB release MATLAB 7.6 (R2008a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (14)
12 Dec 2016 Michal Tom

01 Dec 2016 Michal Tom

some of the foreigners may not understand the programs which are in english.but i can see this,haha...

10 Jun 2016 Priyanka Vispute

how to define IS?
please reply as soon as possible..

Comment only
22 Apr 2016 Shichao Hu

Jakub was right. it works after changing data() to ns()

24 Sep 2015 cja

cja (view profile)

doesnt compile - data() doesnt exist. not sure what previous comment: data() to ns() means?

18 Sep 2013 souvik

souvik (view profile)

the code which is provided gets stuck at this point given below.
nsum = nsum + abs(fft(nwin,NFFT)).^2;
can you please help me out regarding this.
the error showing is
"Error using ==> mpower
Matrix must be square.

Error in ==> WienerNoiseReduction at 57
nsum = nsum + abs(fft(nwin,NFFT)).^2;"

Comment only
16 Mar 2012 T venkata bhargav

25 Jun 2011 Michael Chan

Michael Chan (view profile)

how do u set 'IS'? zeros with the same length as the noisy signal?
I get silence.

Comment only
04 Jun 2011 upendra agrawal

Wiener filter for Noise Reduction

Comment only
24 May 2011 sachu

sachu (view profile)

16 Aug 2010 Taewoo Lee

24 Nov 2009 Jakub Muran

You must change data() to ns() (ns - argument noise speech)

cavko bavko

Comment only
30 Sep 2009 Yun Sue

Is the code with any mistakes? In the file, syntax of "nsum = data(...) " can't be executed. Can anyone tell me what is this mistake when I am reading my noise file?

Comment only
18 Sep 2009 Yun Sue

30 Jun 2009 1.1

new tags have been added.

Contact us