Processing:Библиотеки/Sound/Класс FFT: различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) (→Пример) |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=FFT<ref>[https://processing.org/reference/libraries/sound/FFT.html processing.org - FFT]</ref>= | =FFT<ref>[https://processing.org/reference/libraries/sound/FFT.html processing.org - FFT]</ref>= | ||
Строка 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.*; | ||
Строка 102: | Строка 102: | ||
|Высота логотипа издателя для schemaNewsArticle=45 | |Высота логотипа издателя для schemaNewsArticle=45 | ||
}} | }} | ||
{{Навигационная таблица/ | {{Навигационная таблица/Портал/Processing}} |
Текущая версия от 11:57, 20 мая 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 );
}
}
См.также
Внешние ссылки
Примеры на Processing | |
---|---|
Основы |
|
Продвинутые графические эффекты |
|
Примеры из сторонних библиотек |