MATLAB: Spectral subtraction in audio file

digital signal processing

hi everybody, can anyone give sample(reference ) code for noise cancellation using spectral subtraction in matlab ?
Thanks, Deepa.R

Best Answer

I see you've already seen some FEX submissions. The question you seem to have is "how to use this code instead of "nargin". nargin is a special variable that only counts how many inputs are given to a function. You don't use the code by replacing nargin.
This comment is from the 1st file exchange's submission:
% OUTPUT=SSBOLL79(S,FS,IS)
% Spectral Subtraction based on Boll 79. Amplitude spectral subtraction
% Includes Magnitude Averaging and Residual noise Reduction
% S is the noisy signal, FS is the sampling frequency and IS is the initial
% silence (noise only) length in seconds (default value is .25 sec)
%
% April-05
% Esfandiar Zavarehei
For you to use it, you have to download the codes, place the codes in a folder, add the folder to the matlab path, and then summon the code like this:
[S, FS] = wavread('c:\User\MyFile.wav'); %Replace wavread input with your file name
IS = 0.3; %replace with your value
OUTPUT = SSBoll79(S, FS, IS)