JavaScript:Библиотеки/p5.sound/Класс p5.Envelope/setADSR(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= setADSR() <ref>[https://p5js.org/reference/#/p5.Env/setADSR p5js.org - setADSR()]</ref>= | = setADSR() <ref>[https://p5js.org/reference/#/p5.Env/setADSR p5js.org - setADSR()]</ref>= | ||
Строка 14: | Строка 14: | ||
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее: | Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее: | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
<script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script> | <script language="javascript" type="text/javascript" src="path/to/p5.sound.js"></script> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 20: | Строка 20: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
setADSR(attackTime, [decayTime], [susRatio], [releaseTime]) | setADSR(attackTime, [decayTime], [susRatio], [releaseTime]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 26: | Строка 26: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
attackTime – время (в секундах) стадии атаки. Тип данных – number | attackTime – время (в секундах) стадии атаки. Тип данных – number | ||
decayTime – время (в секундах) стадии спада. Тип данных – number | decayTime – время (в секундах) стадии спада. Тип данных – number | ||
Строка 35: | Строка 35: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 43: | Строка 43: | ||
===№1=== | ===№1=== | ||
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
var attackLevel = 1.0; | var attackLevel = 1.0; | ||
var releaseLevel = 0; | var releaseLevel = 0; | ||
Строка 80: | Строка 80: | ||
===№2=== | ===№2=== | ||
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 86: | Строка 86: | ||
===№3=== | ===№3=== | ||
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
</syntaxhighlight> | </syntaxhighlight> |
Текущая версия от 13:11, 18 июня 2023
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
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
var attackLevel = 1.0;
var releaseLevel = 0;
var attackTime = 0.001
var decayTime = 0.2;
var susPercent = 0.2;
var releaseTime = 0.5;
var env, triOsc;
function setup() {
var cnv = createCanvas(100, 100);
textAlign(CENTER);
text('click to play', width/2, height/2);
// 'кликните, чтобы начать проигрывание'
env = new p5.Env();
env.setADSR(attackTime, decayTime, susPercent, releaseTime);
env.setRange(attackLevel, releaseLevel);
triOsc = new p5.Oscillator('triangle');
triOsc.amp(env);
triOsc.start();
triOsc.freq(220);
cnv.mousePressed(playEnv);
}
function playEnv(){
env.play();
}