当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Processing FFT用法及代码示例


Processing, 类FFT用法介绍。

构造函数

  • FFT(parent)
  • FFT(parent, bands)

参数

  • parent 通常使用"this"
  • bands FFT 的频带数为整数(默认为 512)。此参数必须是 2 的幂(例如 16、32、64、128、...)。

说明

这是一个快速傅里叶变换 (FFT) 分析仪。它会在使用analyze() 方法查询音频流时计算其归一化功率谱。

例子

import processing.sound.*;

FFT fft;
AudioIn in;
int bands = 512;
float[] spectrum = new float[bands];

void setup() {
  size(512, 360);
  background(255);
    
  // Create an Input stream which is routed into the Amplitude analyzer
  fft = new FFT(this, bands);
  in = new AudioIn(this, 0);
  
  // start the Audio Input
  in.start();
  
  // patch the AudioIn
  fft.input(in);
}      

void draw() { 
  background(255);
  fft.analyze(spectrum);

  for(int i = 0; i < bands; i++){
  // The result of the FFT is normalized
  // draw the line for frequency band i scaling it up by 5 to get more amplitude.
  line( i, height, i, height - spectrum[i]*height*5 );
  } 
}

方法

  • FFT.analyze()计算当前频谱并将其作为一个数组返回,该数组包含与频带一样多的元素。
  • FFT.input()定义分析仪的音频输入。

相关用法


注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 FFT。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。