當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Processing FFT.analyze()用法及代碼示例


Processing, 類FFT中的analyze()用法介紹。

用法

  • .analyze()
  • .analyze(value)

參數

  • value (float[]) 具有與此 FFT 分析儀的頻帶數一樣多的元素的陣列

返回

  • float[]

說明

計算當前頻譜並將其作為一個數組返回,該數組包含與頻帶一樣多的元素。

例子

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 );
  } 
}

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 FFT.analyze()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。