求声音的频谱分析算法,就像winamp的柱状显示。

AskLove7 2005-01-07 09:24:54
求声音的频谱分析算法,就像winamp的柱状显示。

大概又叫光谱分析吧,有函数代码最好,估计理论上应该是较复杂的,听说用到个什么傅立叶。
有熟悉的朋友帮帮忙吧。
...全文
1069 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2005-01-08
  • 打赏
  • 举报
回复
http://www.codeproject.com/audio/waveInFFT.asp
EnochShen 2005-01-08
  • 打赏
  • 举报
回复
波形图可不可以?可以的话,发邮件给我,我有这么个例子 EnochShen@QQ.com
oyljerry 2005-01-07
  • 打赏
  • 举报
回复
算法就是用FFT
SpeedChina 2005-01-07
  • 打赏
  • 举报
回复
不是是否有用:
我这儿也有一个c版的源程序
[代码]FFT 快速傅立叶变换 (c语言)

算法参见徐世良《计算机常用算法》第二版 第294页

void KFFT(
BNU::vector<std::complex<double> > &x,
BNU::vector<std::complex<double> > &y,
int inverse)
{
int n = x.size();
int k = log((double)n)/log(2.);
int t ,m ,s , i, j, NV, r;
double angle;
std::complex<double> V,PODD;
for (t = 0 ; t <= n-1 ; t++) {
m = t;
s = 0;
for (i = 0 ; i <=k-1 ; i++) {
j = int(m/2);
s = 2*s + m - 2*j;
m = j;
}
if (&x!=&y) {
y[t] = x[s];
}else {
if (s>t) {
V=x[t];
y[t]=x[s];
y[s]=V;
}
}
}
for (t = 0 ; t <= n-2 ; t+=2) {
V = y[t];
y[t] = V + y[t+1];
y[t+1] = V - y[t+1];
}
m = n/2;
NV = 2;
for (r = k-2 ; r >=0 ; r-- ) {
m = m/2;
NV = 2*NV;
for (t = 0 ; t <= (m-1)*NV ; t=t+NV ){
for (j = 0 ; j <= (NV/2)-1 ; j++) {
angle = -(2.0*M_PI*inverse*j)/NV;
PODD = complex<double>(cos(angle),sin(angle))*y[t+j+(NV/2)];
y[t+j+(NV/2)] = y[t+j] - PODD;
y[t+j] = y[t+j] + PODD;
}
}
};
for (i = 0 ; i < n; i++) {
if (inverse==-1)
y = y/double(n);
}
}
zhangqu_980371 2005-01-07
  • 打赏
  • 举报
回复
希望那位高人有就给出来看看啊。我和楼主一样也很想知道。
chuanke 2005-01-07
  • 打赏
  • 举报
回复
关注
oldboy1234 2005-01-07
  • 打赏
  • 举报
回复
用傅立叶变换啊,求出波形的频率响应,winamp的柱状图的轮廓就是频响曲线,FFT可以用matlab算
saliors 2005-01-07
  • 打赏
  • 举报
回复
光谱分析与频谱分析没有关系的啊。。。
msm 2005-01-07
  • 打赏
  • 举报
回复
关注!学习!

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧