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

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Pixel Art Mini Meow Animated.gif Черновик


setADSR() [1]

Описание

Задает время атаки, спада и затухания, а также уровень спада ADSR-затухающей.

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

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

Синтаксис

setADSR(attackTime, [decayTime], [susRatio], [releaseTime])

Параметры

attackTime  время (в секундах) стадии атаки. Тип данных  number
decayTime  время (в секундах) стадии спада. Тип данных  number
susRatio  соотношение между уровнями атаки и затухания по шкале от «0.0» до «1.0», где «1.0»  это уровень атаки, а «0.0»  это уровень затухания. Параметр susRatio задает уровень спада, т.е. уровень громкости, который будет установлен после завершения стадии спада. К примеру, если уровень атаки  это «0.4», уровень затухания  это «0.0», а в параметре susRatio задано «0.5», то уровень спада будет равен «0.2». Если при помощи функции setRange() увеличить уровень атаки до «1.0», то уровень спада увеличится пропорционально и станет «0.5». Тип данных  number.
releaseTime  время (в секундах) стадии затухания. Значение по умолчанию  «0». Тип данных  number

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

Пример

№1

 1 var attackLevel = 1.0;
 2 var releaseLevel = 0;
 3 
 4 var attackTime = 0.001
 5 var decayTime = 0.2;
 6 var susPercent = 0.2;
 7 var releaseTime = 0.5;
 8 
 9 var env, triOsc;
10 
11 function setup() {
12   var cnv = createCanvas(100, 100);
13 
14   textAlign(CENTER);
15   text('click to play', width/2, height/2);
16    //  'кликните, чтобы начать проигрывание'
17 
18   env = new p5.Env();
19   env.setADSR(attackTime, decayTime, susPercent, releaseTime);
20   env.setRange(attackLevel, releaseLevel);
21 
22   triOsc = new p5.Oscillator('triangle');
23   triOsc.amp(env);
24   triOsc.start();
25   triOsc.freq(220);
26 
27   cnv.mousePressed(playEnv);
28 }
29 
30 function playEnv(){
31   env.play();
32 }

№2

№3

См.также

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