Downsample audio signal am I doing it right?
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello,
I have an audio file and I want to perform Downsampling
form 44100 to 22050 / from 22050 to 11025 / from 11025 to 8000
Please find bellow my code.
[samples,fs] = audioread ('piano.wav');
audiowrite('piano.wav', samples,fs);
subplot (2,1,1)
plot(samples)
xlabel 'audio signal'
% processing second part downsampling
S1 = resample(fs,22050,44100); % downsample from 44100 to 22050
S2 = resample (S1,11025,22050); % downsample from 22050 to 11025
S3 = resample (S2,8000,11025); % doensample from 11025 to 8000
5 commentaires
Henrik Gunnar Sundt
le 18 Juin 2020
You probably mean:
S1 = resample(samples,22050,44100);
not:
S1 = resample(fs,22050,44100);
Réponses (1)
Yash Bansod
le 27 Sep 2019
I don't think that you are doing it rigt.
The following post describes the correct procedure: https://www.mathworks.com/help/signal/ug/changing-signal-sample-rate.html
To summerize:
% Code to read audio files
[y,Fs] = audioread(filename);
% code to resample audio
Fs_new = 16000;
[Numer, Denom] = rat(Fs_new/Fs);
y_new = resample(y, Numer, Denom);
% Code to play an already read audio file
sound(y, Fs);
0 commentaires
Voir également
Catégories
En savoir plus sur Multirate Signal Processing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!