matlab 使用 audiorecorderrecordblocking录制声音,play 播放声音,audiowrite 保存声音

Posted 胡刚2016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 使用 audiorecorderrecordblocking录制声音,play 播放声音,audiowrite 保存声音相关的知识,希望对你有一定的参考价值。

因为我现在使用的 matlab 是 2018a,所以不能使用废弃了的 wavreord 和 wavplay,只能使用 audiorecorder。

Fs=44800;%麦克分采样率
nBits=16;%量化位数
nChannel=1;%录音的通道数,可以设置1或者2
time=5;%录制音频的时间,单位是秒
recObj = audiorecorder(Fs, nBits, nChannel);

disp('Start speaking.')
%开始录制声音
recordblocking(recObj, time);
disp('End of Recording.');

% 回放录音数据
play(recObj);

% 获取录音数据
myRecording = getaudiodata(recObj);

% 绘制录音数据波形
plot(myRecording);

%存储语音信号
filename = 'audiorecorder_data_1.wav'; 
audiowrite(filename, myRecording, Fs);


可以看到录制生成的文件的大小为438KB
它的计算方式是:Fs * nBits / 8 * time * nChannel / 1024
即:44800 * 16 / 8 * 5 * 1 / 1024 = 437.5KB
不管你在录音的时候说了多少句话,哪怕你一句话没说,生成的文件大小都是这么大。

以上是关于matlab 使用 audiorecorderrecordblocking录制声音,play 播放声音,audiowrite 保存声音的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB使用GPU

Matlab中使用LaTeX

使用 MATLAB 编码器将 MATLAB 转换为 C++

matlab没有鼠标怎么操作

matlab 函数,matlab 语法1

怎么用matlab求函数卷积?