How to change wavrecord to audiorecorder ?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
clc;
clear all;
Fs=8000; %sample rateXY
for k=1:25
clear y1 y2 y3;
display('Record cry');
pause();
x=wavrecord(Fs,Fs); %record sound
t=0.04; %threshold
j=1;
for i=1:8000
if(abs(x(i))>t) %signal>threshold
y1(j)=x(i);
j=j+1;
end
end
y2=y1/(max(abs(y1))); %y2:max absolute value of y1
y3=[y2,zeros(1,3120-length(y2))];
y=filter([1-0.9],1,y3'); %high pass filter to boost the high frequency components
%frame blocking
blocklen=240; %30ms block
overlap=80;
block(1,:)=y(1:240);
for i=1:18
block(i+1,:)=y(i*160:(i*160+blocklen-1));
end
w=hamming(blocklen);
for i=1:19
a=xcorr((block(i,:).*w'),12);
for j=1:12
auto(j,:)=fliplr(a(j+1:j+12));
end
z=fliplr(a(1:12));
alpha=pinv(auto)*z';
lpc(:,i)=alpha;
end
wavplay(x,Fs);
X(k,:)=reshape(lpc,1,228);
Y(k,:)=input('Enter no.(1-Eairh, 2-Eh, 3-Heh, 4-Neh, 5-Owh)');
end
save('lpcdata.mat','X','Y');
Hi, can someone help me. I'm newbie in Matlab. How to change the usage of wavrecord to audiorecorder in the codes above?
1 Kommentar
Akzeptierte Antwort
Geoff Hayes
am 3 Dez. 2014
Poison - just replace your line of code
x=wavrecord(Fs,Fs);
with the following
% create the recorder
recorder=audiorecorder(Fs,8,1);
% record one second of data
record(recorder,1);
% get the samples
x = getaudiodata(recorder);
2 Kommentare
Weitere Antworten (1)
Dian
am 21 Sep. 2023
clear all;
Fs = 8000;
recObj = audiorecorder(Fs, 16, 1);
disp('Start speaking.');
recordblocking(recObj, 5);
disp( ' End of recording, ');
y = getaudiodata(rec0bj);
audiowrite( ' aiueo.wav', y, Fs);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Audio and Video Data finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!