麦克风读取内容并画图,涉及到背景的保存
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