Processing:Библиотеки/Sound/Класс FFT/analyze()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



analyze()[1]

Класс

FFT

Обозначение

analyze()

Описание

Рассчитывает текущий диапазон частот и возвращает его в виде массива, количество элементов в котором соответствует количеству диапазонов частот, рассчитываемых анализатором FFT.

Синтаксис

.analyze()
.analyze(value)

Параметры

value  массив, содержащий столько же элементов, сколько диапазонов частот должен рассчитать анализатор FFT. Тип данных  массив float[]

Возвращаемое значение

Тип данных  массив float[].

Пример

import processing.sound.*;

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

void setup() {
  size(512, 360);
  background(255);
    
  // создаем входящий поток аудиоданных, направленный анализатору FFT: 
  fft = new FFT(this, bands);
  in = new AudioIn(this, 0);
  
  // запускаем входящий поток аудиоданных:
  in.start();
  
  // направляем поток аудиоданных анализатору FFT:
  fft.input(in);
}      

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

  for(int i = 0; i < bands; i++){
  // результат анализатора FFT будет нормализованным,
  // рисуем линию для диапазона частот i и масштабируем ее,
  // умножая на 5 и увеличивая ее амплитуду:
  line(i, height, i, height - spectrum[i]*height*5 );
  } 
}

См.также

Внешние ссылки