Processing:Библиотеки/Sound/Класс FFT: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (→Пример) |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
FFT | FFT | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 25: | Строка 25: | ||
==Конструктор== | ==Конструктор== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
FFT(parent) | FFT(parent) | ||
FFT(parent, bands) | FFT(parent, bands) | ||
Строка 32: | Строка 32: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
parent – как правило, используется «this». Тип данных – PApplet | parent – как правило, используется «this». Тип данных – PApplet | ||
bands – количество диапазонов частот, рассчитываемых анализатором FFT (по умолчанию – «512»). Необходимо, чтобы это значение можно было поделить на 2 (например, 16, 32, 64, 128, ...). Тип данных – int | bands – количество диапазонов частот, рассчитываемых анализатором FFT (по умолчанию – «512»). Необходимо, чтобы это значение можно было поделить на 2 (например, 16, 32, 64, 128, ...). Тип данных – int | ||
Строка 39: | Строка 39: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 45: | Строка 45: | ||
==Пример== | ==Пример== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
import processing.sound.*; | import processing.sound.*; | ||
Версия от 18:12, 14 мая 2023
Содержание | Среда разработки 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 );
}
}