adding noise to a wav file
69 views (last 30 days)
Show older comments
AngelsaAtWar
on 27 Mar 2013
Commented: Walter Roberson
on 31 Mar 2018
if I add noise to the script...
load handel.mat;
hfile= 'handel.wav';
wavwrite(y, Fs, hfile);
nsamples=Fs;
[y, Fs , nbits, readinfo]= wavread(hfile,nsamples);
sound(y(round(2.85/4*end):end),Fs);
How would I do so, I know I need some kind of vector to do it but I dont know how to approach it
0 Comments
Accepted Answer
More Answers (2)
Youssef Khmou
on 27 Mar 2013
Edited: Youssef Khmou
on 27 Mar 2013
hi,
You have many ways :
1) method one :
Mean=0.00;
Var=0.005;
z=imnoise(y,'Gaussian',Mean,Var);
You can control the amount of noise to add, with N(mean,variance ), and also you can change the type of noise you want ' Poisson','speckle'.....
2)method two :
SNR=15;
z=awgn(y,SNR,'measured');
With awgn stands for Additive white Gaussian noise, u work here in terms of Signal to Noise Ratio with SNR=20 log10( signal_power/ noise_power ).
3) method three :
Like Walter answer :
STD=sqrt(0.005); % STANDARD DEVIATION
z=y+STD*randn(size(y))
z=y+randn(size(y)) ; % Means adding Zero mean noise and VAR=1 .
1 Comment
Youssef Khmou
on 27 Mar 2013
example, i prefer working with SNR :
load handel.mat
Y=y(round(2/3*end:end));
SNR=11; % dB
Z=awgn(Y,SNR,'measured');
figure, plot(Z), hold, plot(Y,'r'), legend('AWGN snr=11dB',' Clean Signal')
tayyab awan
on 31 Mar 2018
How to remove this noise in order to retrieve the original signal ??
1 Comment
Walter Roberson
on 31 Mar 2018
There have been a number of Questions dealing with noise removal; you should do a search.
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!