基于matlab的音频波形实时采集显示 v0.1

robj = audiorecorder(44100,16,1);  %设置采样频率、采样位数、通道数
recordblocking(robj,1);            %采集初步数据(1s长度)
rdata = getaudiodata(robj);        %获取音频数据
plot(rdata);                       %绘制波形
axis([1,44100,-0.1,0.1]);          %设置固定坐标轴
drawnow                            %刷新显示
n = 100;                           %设定后续的采样更新次数,n与m可联合计算后续更新时间长度
m = 0.1;                           %设定更新间隔,m越小波形越连续
while n>1
    recordblocking(robj,m);
    rlen = length(rdata);          %获取数据长度
    olddata = rdata(floor(rlen*m):rlen,1);     %保留的旧数据
    rdata = [olddata ; getaudiodata(robj)];    %待显示的数据 = 旧数据 + 新数据
    plot(rdata);
    axis([1,44100,-0.1,0.1]);
    drawnow
    n = n-1;
end

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
matlab r2019提供了用于实时音频采集的功能。可以使用内置的音频输入对象(audioinput)来捕获从音频设备(如麦克风)接收到的实时音频数据。 首先,需要创建一个音频输入对象,指定所需的采样率、位深和声道数等参数。例如,以下代码创建了一个采样率为44100 Hz、位深为16位的单声道音频输入对象: Fs = 44100; % 采样率为44100 Hz bitsPerSample = 16; % 位深为16位 numChannels = 1; % 单声道 recObj = audioinput('default', Fs, bitsPerSample, numChannels); 然后,可以使用start函数开始实时音频采集。在开始采集之前,可以通过设置采样时间(seconds)或采样次数(samples)来指定采集的持续时间或采集的数据点数。例如,以下代码开始采集持续时间为5秒的实时音频数据: durationInSeconds = 5; % 采集持续时间为5秒 start(recObj, durationInSeconds); 在开始采集后,可以使用getaudiodata函数获取实时音频数据。例如,以下代码获取实时音频数据并绘制其波形图: audioData = getaudiodata(recObj); plot(audioData); 最后,可以使用stop函数停止实时音频采集并释放音频输入对象。例如,以下代码停止采集并释放音频输入对象: stop(recObj); delete(recObj); 总结来说,matlab r2019提供了实时音频采集的功能,通过创建音频输入对象并使用start函数开始采集、getaudiodata函数获取实时音频数据,以及使用stop函数停止采集并释放音频输入对象,即可实现实时音频采集

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值