麦克风读取内容并画图,涉及到背景的保存
clc
clear all;
while 1
R = audiorecorder(8000, 16 ,1) ;
%创建一个保存音频信息的对象,它包含采样率,时间和录制的音频信息等等。
%44100表示采样为44100Hz(可改为8000, 11025, 22050等,此数值越大,录入的声音质量越好,相应需要的存储空间越大)
%16为用16bits存储,2为两通道即立体声(也可以改为1即单声道)。
record(R);
%开始录制,此时对着麦克风说话即可。
pause(1);
% pause(R);
% %暂停录制。
% play(R);
% %播放录制的声音。
% resume(R);
%继续录制.
stop(R);
%停止录制
myspeech = getaudiodata(R);
%得到以n*2列数字矩阵存储的刚录制的音频信号。
%对这个矩阵你就可以用各种滤波器进行处理,或者把它和别的音频混音等等。你也可以画出它的波形(如果时间较长画波形可能会花点时间)。
figure1 = figure;
axes1 = axes('Parent',figure1);
hold(axes1,'on');
plot(myspeech,'g');
box(axes1,'off');
grid(axes1,'off');
% 设置其余坐标轴属性
set(axes1,'Color',[0 0 0],'XColor',[1 1 1],'YColor',[1 1 1]);
set(figure1,'visible','off');
FG=getframe(gcf);
imwrite(FG.cdata,'D:\3d\img\audio.jpg')
% print (h,'-djpeg','-noui','D:\3d\img\audio.jpg');
%画出波形
end
热门评论
厉害啊。等会儿去实际操作一波