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);
}