首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Minim获取处理中的频率

使用Minim获取处理中的频率
EN

Stack Overflow用户
提问于 2012-04-15 02:45:36
回答 1查看 10.6K关注 0票数 2

我尝试使用Processing从麦克风中获取频率。我混合了文档中的两个例子,但“最高”不是真正的Hz (a是440 Hz)。你知道怎么吃比这更好的东西吗?

代码语言:javascript
复制
import ddf.minim.*;
import ddf.minim.analysis.*;

Minim minim;
AudioInput in;
FFT fft;
int highest=0;

void setup()
{
  size(1024, 200, P2D);

  minim = new Minim(this);
  minim.debugOn();

  in = minim.getLineIn(Minim.MONO, 4096, 44100);
  fft = new FFT(in.left.size(), 44100);
}

void draw()
{


  background(0);
  stroke(255);

  fft.forward(in.left);
  highest=0;
  for (int n = 0; n < fft.specSize(); n++) {
    // draw the line for frequency band n, scaling it by 4 so we can see it a bit better
    line(n/4, height, n/4, height - fft.getBand(n)*4);

    //find frequency with highest amplitude
    if (fft.getBand(n)>fft.getBand(highest))
      highest=n;
  }
  println(highest);

  //println(fft.getFreq(110));
  // draw the waveforms
  for (int i = 0; i < in.bufferSize() - 1; i++)
  {
    line(i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50);
    line(i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50);
  }
}


void stop()
{
  // always close Minim audio classes when you are done with them
  in.close();
  minim.stop();

  super.stop();
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-15 16:21:41

您需要进行一些转换,具体取决于您想要获得的内容:

频谱不代表单个频率,但实际上代表以特定频率为中心的频带。每个频带的中心频率通常表示为时域信号的采样率的分数,并且等于频带的指数除以频带的总数。频带的总数通常等于时域信号的长度,但是仅提供对索引小于长度的一半的频带的访问,因为它们对应于低于奈奎斯特频率的频率。换句话说,给定一个长度为N的信号,频谱中将有N/2个频带。

例如,如果您构建了一个timeSize为1024AND,sampleRate为44100 Hz的快速傅立叶变换,则频谱将包含低于22010 Hz的频率的值,这是奈奎斯特频率(采样率的一半)。如果您询问频带编号5的值,这将对应于以5/ 44100 * 44100 = 0.0048828125 *44100=215HZ为中心的频带。该频带的宽度等于2/1024,表示为频谱总带宽的分数。频谱的总带宽等于奈奎斯特频率,在本例中为22100,因此带宽约等于50 Hz。你没有必要记住所有这些关系,尽管意识到它们是很好的。getFreq允许您查询频率为Hz的频谱,getBandWidth方法将返回频谱中每个频带的带宽( Hz )。

来自Minim Manual, FFT section的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10156296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档