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

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

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


Черновик


Класс 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

var sound, amplitude, cnv;

function preload(){
  sound = loadSound('assets/beat.mp3');
}
function setup() {
  cnv = createCanvas(100,100);
  amplitude = new p5.Amplitude();

  // запускаем/останавливаем звуковой файл при клике по холсту:
  cnv.mouseClicked(function() {
    if (sound.isPlaying() ){
      sound.stop();
    } else {
      sound.play();
    }
  });
}
function draw() {
  background(0);
  fill(255);
  var level = amplitude.getLevel();
  var size = map(level, 0, 1, 0, 200);
  ellipse(width/2, height/2, size, size);
}

№2

№3

См.также

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