33 lines
1.0 KiB
Matlab
33 lines
1.0 KiB
Matlab
pkg load signal
|
|
|
|
modfile = 'C:/Users/Hercu/Documents/Git/signallab2/modulator22.wav';
|
|
carfile = 'C:/Users/Hercu/Documents/Git/signallab2/carrier22.wav';
|
|
outfile = "C:/Users/Hercu/Documents/Git/signallab2/vocodedsound.wav";
|
|
[modul, sr1] = audioread(modfile);
|
|
[carrier, sr2] = audioread(carfile);
|
|
[outfile, sr3] = audioread(outfile);
|
|
if sr1~=sr2, disp('your sampling rates dont match'); end
|
|
y = chanvocoder(carrier, modul, 512, 16, .2);
|
|
audiowrite("C:/Users/Hercu/Documents/Git/signallab2/outfile.wav",y,sr1)
|
|
tmod=0:1/sr1:length(modul)/sr1-1/sr1;
|
|
tcarrier=0:1/sr2:length(carrier)/sr2-1/sr2;
|
|
tout=0:1/sr3:length(outfile)/sr3-1/sr3;
|
|
|
|
subplot(3,1,1);
|
|
plot(tmod,modul);
|
|
xlabel("time(s)");
|
|
ylabel('amplitude modul (norm. unit)');
|
|
subplot(3,1,2);
|
|
plot(tcarrier,carrier);
|
|
xlabel("time(s)");
|
|
ylabel('amplitude carrier (norm. unit)');
|
|
subplot(3,1,3);
|
|
plot (tout,outfile);
|
|
xlabel("time(s)");
|
|
ylabel('amplitude outfile (norm. unit)');
|
|
|
|
|
|
spectrogram(modul, sr1, 10, 30);
|
|
spectrogram(carrier, sr2, 10, 30);
|
|
spectrogram(outfile, sr3, 10, 30);
|