49 lines
1.1 KiB
Matlab
49 lines
1.1 KiB
Matlab
%Speech Processing
|
|
pkg load signal
|
|
|
|
modfile = "modulator22.wav";
|
|
carfile = "carrier22.wav";
|
|
white = "white.wav";
|
|
white_p = "white_periodic.wav";
|
|
outfile = "vocodedsound.wav";
|
|
[modul, sr1] = audioread(modfile);
|
|
[carrier, sr2] = audioread(carfile);
|
|
[carrier_w, sr2_w] = audioread(carfile);
|
|
[carrier_wp, sr2_wp] = audioread(carfile);
|
|
|
|
|
|
if sr1 ~= sr2
|
|
disp('Your sampling rates dont match');
|
|
endif
|
|
|
|
y = chanvocoder(carrier,modul, 512, 32, .2);
|
|
audiowrite("vocodedsound.wav", y, sr1);
|
|
y_w = chanvocoder(carrier_w,modul, 512, 32, .2);
|
|
audiowrite("vocodedsound_w.wav", y, sr1);
|
|
y_wp = chanvocoder(carrier_wp,modul, 512, 32, .2);
|
|
audiowrite("vocodedsound_wp.wav", y, sr1);
|
|
|
|
%Plot
|
|
figure;
|
|
subplot(3,1,1);
|
|
plot(modul);
|
|
xlabel("TIme in [s]");
|
|
ylabel("frequency in [dB]");
|
|
legend(modfile);
|
|
|
|
subplot(3,1,2);
|
|
plot(carrier,'-r');
|
|
xlabel("TIme in [s]");
|
|
ylabel("frequency in [dB]");
|
|
legend(carfile);
|
|
|
|
subplot(3,1,3);
|
|
plot(y,'-g');
|
|
xlabel("TIme in [s]");
|
|
ylabel("frequency in [dB]");
|
|
legend(outfile);
|
|
|
|
%spectogram
|
|
%frequencySpectrum(modul,sr1,1);
|
|
%frequencySpectrum(carrier,sr2,1);
|
|
%frequencySpectrum(y,sr1,1); |