JavaScript:Библиотеки/p5.sound/Класс p5.Envelope/set()
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
set() [1]
Описание
Задает ADSR-огибающую с помощью 3 пар параметров «время/значение».
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script>
Синтаксис
set(attackTime, attackLevel, decayTime, decayLevel, releaseTime, releaseLevel)
Параметры
attackTime – время (в секундах) стадии атаки. Тип данных – number
attackLevel – уровень громкости после завершения стадии атаки. Как правило, значение между «0.0» и «1.0». Тип данных – number
decayTime – время (в секундах) стадии спада. Тип данных – number
decayLevel – уровень громкости после завершения стадии спада. Тип данных – number
releaseTime – время (в секундах) стадии затухания. Тип данных – number
releaseLevel – уровень громкости после завершения стадии затухания. Тип данных – number
Возвращаемое значение
Пример
№1
var t1 = 0.1; // длительность стадии атаки (в секундах)
var l1 = 0.7; // уровень атаки в диапазоне между «0.0» и «1.0»
var t2 = 0.3; // длительность стадии спада (в секундах)
var l2 = 0.1; // уровень спада в диапазоне между «0.0» и «1.0»
var t3 = 0.2; // длительность стадии затухания (в секундах)
var l3 = 0.5; // уровень затухания в диапазоне между «0.0» и «1.0»;
// по умолчанию этот параметр – «0.0»
var env;
var triOsc;
function setup() {
background(0);
noStroke();
fill(255);
textAlign(CENTER);
text('click to play', width/2, height/2);
// 'кликните, чтобы начать проигрывание'
env = new p5.Envelope(t1, l1, t2, l2, t3, l3);
triOsc = new p5.Oscillator('triangle');
triOsc.amp(env); // будем управлять громкостью объекта triOsc
triOsc.start();
}
// клик мышью по холсту запустит ADSR-огибающую:
function mouseClicked() {
// курсор мыши находится над холстом?
if (mouseX > 0 && mouseX < width && mouseY > 0 && mouseY < height) {
env.play(triOsc);
}
}