Matlab菜鸟,搞了几天录音,终于成功了。在这里做个记录。
首先,我使用的是Mtalb2015b。
一、Matlab2015b 32位
使用analoginput进行录音操作。具体见百度。
% In this case, a Windows sound card is used ('winsound').
ai = analoginput('winsound');
addchannel(ai,1);
Fs = 44100;
duration = 10;
set (ai, 'SampleRate', Fs);
set (ai, 'SamplesPerTrigger', duration*Fs);
start(ai);
data = getdata(ai);
filename = ('Liu_recorder.wav'); %给文件取名
audiowrite(filename,data,Fs) %存储.wav音频文件,在这里文件名为test.wav
delete(ai);
clear ai
二、Matlab2015b 64位
使用audiorecorder进行录音操作。
首先利用daq.getDevices查看电脑的声卡驱动。
估计以前我maylab没有安装好,所以少了驱动包,所以怎么都找不到驱动。当输入daq.getDevices命令时,命令窗口会有警告,在警告里有个驱动安装链接,安装重启就可以。
驱动安装好之后,利用daq,getDevices就可以查看到电脑所有的驱动了。
简单的代码:
% 录音录10秒钟
recObj = audiorecorder(44100,16,1,1);%采样率44100,位数16,通道1,声卡序列1
disp('Start speaking.')
recordblocking(recObj, 10);
disp('End of Recording.');
% 回放录音数据
play(recObj);
% 获取录音数据
myRecording = getaudiodata(recObj);
% 绘制录音数据波形
plot(myRecording);