Scilab 处理声音数据(补充)

mapsound 

Scilab 中有一个函数可以绘制声音频谱随时间变化的图像。采用的算法是分块进行FFT求得每一时间段内的频谱。唯一一点缺陷是窗函数无法选择,只能是矩形窗。算是个简化版本的短时傅里叶变换。

 

mapsound (w,dt,fmin,fmax,simpl,rate)

其中 是声音数据

Dt 是时窗的宽度,单位是秒 

Fmin Fmax 限定了绘制的图像的y轴的最小和最大值,单位 Hz

Simpl 表示在计算时将多少个相邻数据点合成一个数据点计算。

Rate 是信号的采样率

 

以上各参数的默认值如下:

Dt: 0.1

Fmin: 100

Fmax: 1500

Simpl :1

Rate: 22050

// At first we create 0.5 seconds of sound parameters.
t=soundsec(0.5);

// Then we generate the sound.
s=sin(440*t)+sin(220*t)/2+sin(880*t)/2;
[nr,nc]=size(t);
s(nc/2:nc)=sin(330*t(nc/2:nc));
mapsound(s,0.1,100,500,1);

原始声音数据的波形如下:


上面例子中用到了另一个函数soundsec,这个函数的作用很简单,生成一个 秒声音数据所需的时间向量。

 

t=soundsec(n [,rate])

 

是要生成的声音数据的时长

Rate 采样率


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值