星空网 > 软件开发 > 操作系统

关于wav文件fft处理后x,y轴坐标数据的问题

1.关于横坐标的频率的最大值是采样频率,那么每个点对应的频率值就很好算了:f(n) = [Fs/(N/2)]*n  (Fs是采样频率,常见的是44.1KHz(44100),N是采样点数,k表是第k个点)。我之前也参考了别人的写法,地址 ,有一段内容是这样描述的:

时域PCM数据是16位的short类型,取值范围是-32768..32767。对于频谱显示用512点FFT就足够了,我们知道音频数据的截止频率是由其采样率决定的,如果采样率为32kHz,截止频率为16kHz。可以计算出FFT后频率间隔为16*1024/(512/2)=64Hz”一开始一直纠结看不懂,不过后来自己仔细想想原来是单位的问题,当然原作者对换算可能也出现问题1024应该是1000吧(kHz和Hz之间的换算是1000);

2.纵坐标就是处理后的数据,我要做的是频域图,一般的步骤就是读取相应的文件,java中数据的转换确实是个老大难的问题,开始读的时候用的是byte[]数组,而PCM数据对应的是float类型的,而我封装的画图的是double[]数组,所以转啊转,还要确保精确度的问题:

byte[]转float[]:的写法参考的是上面的链接地址

floa[]转double[]相对较简单,注意要保证精确度:

1 //buf字节数组2 for (int i = 0; i < buf.length; i++) {3       yData[i] = Double.parseDouble(String.valueOf(buf[i]));4 }

对应是FFT算法,网上有很多的分装的类,自己可以自行搜索下载。

 




原标题:关于wav文件fft处理后x,y轴坐标数据的问题

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊印度站被告,印度电商协会状告亚马逊不公平待遇!:https://www.ikjzd.com/articles/8339
亚马逊店铺被封后,应该如何申诉?:https://www.ikjzd.com/articles/8340
海外商标注册具体流程详细讲解:https://www.ikjzd.com/articles/8341
外媒说:商家该如何做好年终假日营销活动?:https://www.ikjzd.com/articles/8342
关于亚马逊自营品牌的3个假象:https://www.ikjzd.com/articles/8346
2018年黑色星期五是什么时候?黑色星期五畅销品有哪些?:https://www.ikjzd.com/articles/8348
83万单,Halara的TikTok美国小店爆单思路拆解:https://www.goluckyvip.com/news/186217.html
携程高铁旅游攻略,更优惠的高铁票价都在哪里:https://www.vstour.cn/a/362188.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流