record mic and use chanvocode on it with white sound
This commit is contained in:
parent
7592194eec
commit
5a5fdef3c9
48
vocoder.m
48
vocoder.m
|
|
@ -12,7 +12,7 @@
|
||||||
pkg load signal;
|
pkg load signal;
|
||||||
|
|
||||||
modfile = 'modulator22.wav';
|
modfile = 'modulator22.wav';
|
||||||
carfile = 'carrier22.wav';
|
carfile = 'white_periodic.wav';
|
||||||
outfile = 'vocodedsound.wav'
|
outfile = 'vocodedsound.wav'
|
||||||
[modul, sr1] = audioread(modfile);
|
[modul, sr1] = audioread(modfile);
|
||||||
[carrier, sr2] = audioread(carfile);
|
[carrier, sr2] = audioread(carfile);
|
||||||
|
|
@ -20,26 +20,38 @@ if sr1~=sr2, disp('your sampling rates dont match'); end
|
||||||
y = chanvocoder(carrier, modul, 512, 16, .2);
|
y = chanvocoder(carrier, modul, 512, 16, .2);
|
||||||
audiowrite(outfile, y, sr1);
|
audiowrite(outfile, y, sr1);
|
||||||
|
|
||||||
figure;
|
%figure;
|
||||||
|
|
||||||
subplot(3,1,1);
|
%subplot(3,1,1);
|
||||||
t=[1:1:size(modul,1)];
|
%t=[1:1:size(modul,1)];
|
||||||
|
|
||||||
plot(t,modul);
|
%plot(t,modul);
|
||||||
xlabel('Time (s)');
|
%xlabel('Time (s)');
|
||||||
ylabel("Modulator's Amplitude (a.u.)");
|
%ylabel("Modulator's Amplitude (a.u.)");
|
||||||
|
|
||||||
subplot(3,1,2);
|
%subplot(3,1,2);
|
||||||
t=[1:1:size(carrier,1)];
|
%t=[1:1:size(carrier,1)];
|
||||||
|
|
||||||
plot(t,carrier);
|
%plot(t,carrier);
|
||||||
xlabel('Time (s)');
|
%xlabel('Time (s)');
|
||||||
ylabel("Carrier's Amplitude (a.u.)");
|
%ylabel("Carrier's Amplitude (a.u.)");
|
||||||
|
|
||||||
subplot(3,1,3);
|
%subplot(3,1,3);
|
||||||
[y fs]=audioread(outfile);
|
%[y fs]=audioread(outfile);
|
||||||
t=[1:1:size(y,1)];
|
%t=[1:1:size(y,1)];
|
||||||
|
|
||||||
plot(t,y);
|
%plot(t,y);
|
||||||
xlabel('Time (s)');
|
%xlabel('Time (s)');
|
||||||
ylabel("Outfile's Amplitude (a.u.)");
|
%ylabel("Outfile's Amplitude (a.u.)");
|
||||||
|
|
||||||
|
recorded_signal=record(size(carrier,1)/sr2, sr1);
|
||||||
|
audiowrite("recorded_signal.wav", recorded_signal, sr1);
|
||||||
|
|
||||||
|
modfile = "recorded_signal.wav";
|
||||||
|
carfile = 'white_periodic.wav';
|
||||||
|
outfile = 'recorded_coded_sound.wav';
|
||||||
|
[modul, sr1] = audioread(modfile);
|
||||||
|
[carrier, sr2] = audioread(carfile);
|
||||||
|
if sr1~=sr2, disp('your sampling rates dont match'); end
|
||||||
|
y = chanvocoder(carrier, modul, 512, 16, .2);
|
||||||
|
audiowrite(outfile, y, sr1);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue