How do I time shift an audio signal?

12 次查看(过去 30 天)
So I've got this audio signal I've wanted to shift to the right but I can't seem to reach it.
I've tried adding zeros but no shifting occured.
load handel.mat
filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y Fs
[y,Fs] = audioread('handel.wav');
N = length(y);
t = (0:N-1)/Fs;
Z = zeros(N,1);
subplot(2,1,1);
plot(t,y);
xlabel 'Time'
ylabel 'Audio signal'
grid on
subplot(2,1,2);
Ynew = [Z;Fs];

采纳的回答

Asvin Kumar
Asvin Kumar 2021-6-24
When you select the second subplot, you need to use the plot command again to plot the audio signal.
Here's a modified version of the code.
load handel.mat
filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y Fs
[y,Fs] = audioread('handel.wav');
N = length(y);
t = (0:N-1)/Fs;
delay2 = 3*Fs;
Z = zeros(delay2,1);
subplot(2,1,1);
plot(t,y);
xlabel 'Time'
ylabel 'Audio signal'
grid on
subplot(2,1,2);
Ynew = [Z;y(1:end-delay2)];
plot(t,Ynew);
xlabel 'Time'
ylabel 'Delayed Audio signal'
grid on

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息

标签

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by