R=audiorecorder(44100,16,1);
创建一个保存音频信息的对象,包含采样率,时间和录制的音频信息。44100表示采样为
44100Hz(可改为8000,11025,22050等,采样频率越高,录入的声音质量越好,相应需要的存
储空间越大),16为用16bits存储,1为单声道,也可以改为2表示两通道)。
record(R); % 开始录制,在指令窗输入此指令后,对着麦克风说话,即可进行录制
pause(R); % 暂停录制
play(R); % 播放录制的声音
resume(R); % 需要的话可以继续录制
stop(R); % 停止录制,录制结束
getaudiodata(obj) 将录制的音频数据作为双精度数组 返回
% 画出语音的时域波形
myspeech=getaudiodata(R); % 得到刚录制的音频信号矢量
plot(myspeech); % 画出语音波形
xlabel('时域样值'),ylabel('幅度'),title('语音波形');
audiowrite(Y,Fs,NBITS,WAVEFILE) 将数据 Y写入由 文件名 WAVEFILE 指定的windows wave文件。 windows wave文件具有采样率 FS Hz 和 NBITS 位数。 NBITS 必须 为 8、16、24 或 32。
Y=audioread(FILE) 读取由字符串 FILE 指定的 WAVE 文 件,以 Y 格式返回采样数据。
% 写入和读取声音文件
audiowrite('myspeech.wav',myspeech,44100); % 语音存储
[x,Fs]=audioread('myspeech.wav');
wavwrite(myspeech,44100,'myspeech.wav') % 适用于旧版Matlab
[x,Fs]=wavread('myspeech.wav') % 适用于旧版Matlab