如何实现像Winamp那样的频谱显示和EQ调节功能?? [分另给]

ExSystem 2004-06-13 03:09:59
//谁能帮帮我~~

如何实现像Winamp那样的频谱显示和EQ功能呀???我找了一个月都找不到···
我想要的是直接对声卡采集频谱···而不是只有MP3。谁来帮帮我!?

[另外开帖增分:***100分***]
...全文
207 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ExSystem 2004-08-05
  • 打赏
  • 举报
回复
To jiancheng : 已发,请查收!
markey008 2004-08-03
  • 打赏
  • 举报
回复
给我一份吧。谢谢!
cd_mj@163.com
ExSystem 2004-07-22
  • 打赏
  • 举报
回复
自己找到源代码了,以后要把它改造……

[另外]----
谁要源代码的,留下E-mail哦!
JavaD 2004-07-12
  • 打赏
  • 举报
回复
des = ((tmp & 0x1) << j) | des;
tmp = tmp >> 1;
就这两句不太平常,其他的应该好翻译
des := ((tmp and $1)shl j) or des;
tmp:= tmp shr 1;
ExSystem 2004-07-11
  • 打赏
  • 举报
回复
up
ExSystem 2004-07-11
  • 打赏
  • 举报
回复
up
ExSystem 2004-07-11
  • 打赏
  • 举报
回复
up
shaw_jansin 2004-07-06
  • 打赏
  • 举报
回复
学习!
ExSystem 2004-07-06
  • 打赏
  • 举报
回复
......真的没人会吗?!......
ihihonline 2004-07-05
  • 打赏
  • 举报
回复
有winmap第三方空间的,你可以参考源码
ExSystem 2004-07-05
  • 打赏
  • 举报
回复
//谁帮我翻译成PASCAL,这个是FFT转换,还有,告诉我这个怎么使用?
void __fastcall TForm1::FFT(complex < float > * x, int M, int flag)
{
int N = (1 << M);
complex < float > new_x[h]; //h为取样点数
for (int i = 0; i < N; i++ )
{
int tmp = i;
int des = 0;
for (int j = M - 1; j >= 0; j-- )
{
des = ((tmp & 0x1) << j) | des;
tmp = tmp >> 1;
}

new_x[i] = x[des ];
}

// 重新存入原数据中(已经是二进制整序过了的数据)
for (int i = 0; i < N; i++ )
x[i] = new_x[i];
// 旋转因子计算
complex < float > W[h];
for (int i = 0; i < N / 2; i++ )
{
if (flag == 1)
W[i] = exp(complex < float >(0, - _2PI_ * i / N)); // 正FFT变换
else
W[i] = exp(complex < float >(0, _2PI_ * i / N)); // 逆FFT变换
}

int GroupNum = N / 2; // 第一级的群数为N/2
// 群内蝶形单元数
int CellNum = 1; // 第一级的群内蝶形单元数为1
for (int i = 0; i < M; i++ ) // 处理各级
{
for (int j = 0; j < GroupNum; j++ ) // 处理各群
{
for (int k = 0; k < CellNum; k++ ) // 处理各蝶形单元
{
int Pos1 = CellNum * j * 2 + k ; // 已经处理了前 j
int Pos2 = Pos1 + CellNum;
complex < float > TMP = x[Pos2] * W[k * GroupNum] ;
x[Pos2] = x[Pos1] - TMP ; // (3) 计算最终结果, 并存入到数组的原先位置
x[Pos1] = x[Pos1] + TMP ;
}
}

GroupNum >>= 1; // 级别增加, 则相应的群数减少一半
CellNum <<= 1; // 级别增加, 则相应的群内单元数增加一倍
}

if (flag != 1)
// 如果是IFFT,各元素还要再除以N
{
for (int i = 0; i < N; i++ )
x[i] /= N;
}
}

ExSystem 2004-07-04
  • 打赏
  • 举报
回复
谁帮我??
py3cn 2004-07-03
  • 打赏
  • 举报
回复
up
jefferywang 2004-06-22
  • 打赏
  • 举报
回复
来了个学习者。
ExSystem 2004-06-16
  • 打赏
  • 举报
回复
每人理我?!我好惨哪!!!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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