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

№2

№3

См.также

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