Processing:Библиотеки/Sound/Класс FFT
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
FFT[1]
Обозначение
FFT
Описание
Это класс для создания анализатора, выполняющего быстрое преобразование Фурье. Он берет в качестве исходных данных звуковую информацию и рассчитывает на ее основе нормализованный диапазон частот в момент, когда эти данные считывает метод analyze().
Методы
- analyze() – рассчитывает текущий диапазон частот на основе заданных аудиоданных
- input() – задает входящие аудиоданные для анализатора
Конструктор
FFT(parent)
FFT(parent, bands)
Параметры
parent – как правило, используется «this». Тип данных – PApplet
bands – количество диапазонов частот, рассчитываемых анализатором FFT (по умолчанию – «512»). Необходимо, чтобы это значение можно было поделить на 2 (например, 16, 32, 64, 128, ...). Тип данных – int
Возвращаемое значение
Пример
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 );
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |