matlab2017b怎么控制声卡的实时输出
发布网友
发布时间:2022-05-16 03:59
我来回答
共1个回答
热心网友
时间:2023-10-10 17:43
如果是想将声音信号录制到matlab里面,则可以使用以下的函数。
R = audiorecorder( 44100, 16 ,2 ) ;
%创建一个保存音频信息的对象,它包含采样率,时间和录制的音频信息等等。44100表示采样为44100Hz(可改为8000, 11025, 22050等,此数值越大,录入的声音质量越好,相应需要的存储空间越大),16为用16bits存储,2为两通道即立体声(也可以改为1即单声道)。
record(R);
%开始录制,此时对着麦克风说话即可。
pause(R);
%暂停录制。
play(R)
%播放录制的声音。
resume(R);
%继续录制.
stop(R);
%停止录制
myspeech = getaudiodata(R);
%得到以n*2列数字矩阵存储的刚录制的音频信号。
%对这个矩阵你就可以用各种滤波器进行处理,或者把它和别的音频混音等等。你也可以画出它的波形(如果时间较长画波形可能会花点时间)。
plot(myspeech)
%画出波形
%如果你想保存可以使用
wavwrite(myspeech,44100,16,'myspeech');
%myspeech表示要存入的波形矩阵,44100表采样率,16 为以16bits存储,'myspeech'为存储的文件名。
%matlab有极其丰富的音频处理滤波功,此处介绍最基本的录入、播放和保存操作,希望能对你有所帮助