JavaScript:Библиотеки/p5.sound/Класс p5.Amplitude

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


Класс p5.Amplitude [1]

Описание

Этот класс предназначен для измерения громкости (в диапазоне между «0.0» и «1.0»). По умолчанию слушает главный «выход» (объект p5sound), но при помощи setInput() можно прослушать лишь какой-то один источник звука. Есть опциональный параметр smoothing (для сглаживания пиков в считанных данных), по умолчанию имеющий значение «0».

Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:

<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>

Синтаксис

new p5.Amplitude([smoothing])

Параметры

smoothing  значение между «0.0» и «0.999» для сглаживания пиков в считанных данных (по умолчанию  «0»). Тип данных  number

Методы

  • setInput() – по умолчанию подключает анализатор громкости к главному «выходу» (к объекту p5sound). Опционально можно задать какой-либо конкретный источник данных (т.е. звуковой файл).
  • getLevel() – возвращает одно значение громкости, считанное в момент вызова функции. Чтобы считывать громкость постоянно, воспользуйтесь этой функцией в блоке draw().
  • toggleNormalize() – задает, будут ли нормализованы результаты p5.Amplitude. Чтобы нормализовать результаты, эта функция рассчитывает разницу между самым громким значением и значением максимальной громкости, равной «1.0». Затем toggleNormalize() добавляет эту «надбавку» ко всем значениям, чтобы полученные результаты были правильно масштабированы относительно диапазона между «0.0» и «1.0». Однако, если в процессе будет обнаружено еще более громкое значение, то «надбавка», прибавляемая ко всем считанным значениям, изменится. У функции toggleNormalize() есть опциональный параметр типа boolean («true» или «false»). По умолчанию нормализация выключена.
  • smooth() – сглаживает пики в считанных данных, исходя из значения в последнем отсчете. По умолчанию сглаживание выключено.

Пример

№1

 1 var sound, amplitude, cnv;
 2 
 3 function preload(){
 4   sound = loadSound('assets/beat.mp3');
 5 }
 6 function setup() {
 7   cnv = createCanvas(100,100);
 8   amplitude = new p5.Amplitude();
 9 
10   // запускаем/останавливаем звуковой файл при клике по холсту:
11   cnv.mouseClicked(function() {
12     if (sound.isPlaying() ){
13       sound.stop();
14     } else {
15       sound.play();
16     }
17   });
18 }
19 function draw() {
20   background(0);
21   fill(255);
22   var level = amplitude.getLevel();
23   var size = map(level, 0, 1, 0, 200);
24   ellipse(width/2, height/2, size, size);
25 }

№2

№3

См.также

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