Downsample audio signal am I doing it right?

조회 수: 15 (최근 30일)
Isida Kaloshi
Isida Kaloshi 2018년 12월 4일
댓글: Walter Roberson 2020년 6월 18일
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
Henrik Gunnar Sundt
Henrik Gunnar Sundt 2020년 6월 18일
You probably mean:
S1 = resample(samples,22050,44100);
not:
S1 = resample(fs,22050,44100);
Walter Roberson
Walter Roberson 2020년 6월 18일
Good point, Henrik

댓글을 달려면 로그인하십시오.

답변 (1개)

Yash Bansod
Yash Bansod 2019년 9월 27일
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);

카테고리

Help CenterFile Exchange에서 Multirate Signal Processing에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by