JavaScript:Библиотеки/p5.sound/Класс p5.Envelope/ramp()

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

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



ramp() [1]

Описание

Обратно-логарифмически (т.е. с плавным уменьшением скорости возрастания/убывания) меняет громкость во время стадий атаки и спада ADSR-огибающей, используя значения в параметрах attackTime (длительность атаки) и decayTime (длительность спада), заданные с помощью функции setADSR().

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

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

Синтаксис

ramp(unit, secondsFromNow, v, [v2])

Параметры

unit  объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого нужно изменить при помощи ADSR-огибающей. Тип данных  объект
secondsFromNow  время (в секундах) после вызова функции, спустя которое нужно запустить звуковой объект с заданной ADSR-огибающей. Тип данных  number
v  громкость после завершения стадии атаки. Тип данных  number
v2  громкость после завершения стадии спада. Опциональный параметр. Тип данных  number

Возвращаемое значение

Пример

№1

var env, osc, amp, cnv;

var attackTime = 0.001;
var decayTime = 0.2;
var attackLevel = 1;
var decayLevel = 0;

function setup() {
  cnv = createCanvas(100, 100);
  fill(0,255,0);
  noStroke();

  env = new p5.Env();
  env.setADSR(attackTime, decayTime);

  osc = new p5.Oscillator();
  osc.amp(env);
  osc.start();

  amp = new p5.Amplitude();

  cnv.mousePressed(triggerRamp);
}

function triggerRamp() {
  env.ramp(osc, 0, attackLevel, decayLevel);
}

function draw() {
  background(20,20,20);
  text('click me', 10, 20);
   //  'кликни меня'
  var h = map(amp.getLevel(), 0, 0.4, 0, height);;

  rect(0, height, width, -h);
}

№2

№3

См.также

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