WAV文件转C数组,matlab应用

 

上面是我的微信和QQ群,欢迎新朋友的加入。

 

在嵌入式底层中,需要用到WAV文件转换为数组。

 

网上搜了一下相关工具,都不是我想要的,后面找到了matlab,

首先找到一段WAV文件。

使用audition查看波形

在matlab里面读取这个文件

具体指令是

为了方便计算,需要转换为16进制的数据

使用plot查看一下

可以看出波形没问题

简单对比一下数据内容

24位音频数据,可以看出数据是一致的

 

 [y,Fs,nbits] = wavread('5150.wav','native')

%%
yy = zeros(1,1024)

for i = 1:length(y)
    yy(i) = y(i);
end

plot(yy)

%% 以下为打印脚本
str = sprintf('float R[%d] = { ',length(yy));
disp(str);
for i = 1:length(yy)/8
    str = sprintf('%f,', ...
        yy(1,(i-1)*8+1:i*8));
    if i == length(yy)/8
        str = [str(1:end-1),'};'];
    end
    disp(str);
end

上面是数据转数组打印的全部代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值