JavaScript:Библиотеки/p5.sound/Класс p5.Envelope/ramp(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= ramp() <ref>[https://p5js.org/reference/#/p5.Env/ramp p5js.org - ramp()]</ref>= | = ramp() <ref>[https://p5js.org/reference/#/p5.Env/ramp p5js.org - ramp()]</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"> | ||
ramp(unit, secondsFromNow, v, [v2]) | ramp(unit, secondsFromNow, v, [v2]) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 26: | Строка 26: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
unit – объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого нужно изменить при помощи ADSR-огибающей. Тип данных – объект | unit – объект из библиотеки p5.sound или объект AudioParam из Web Audio API, громкость которого нужно изменить при помощи ADSR-огибающей. Тип данных – объект | ||
secondsFromNow – время (в секундах) после вызова функции, спустя которое нужно запустить звуковой объект с заданной ADSR-огибающей. Тип данных – number | secondsFromNow – время (в секундах) после вызова функции, спустя которое нужно запустить звуковой объект с заданной ADSR-огибающей. Тип данных – 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 env, osc, amp, cnv; | var env, osc, amp, cnv; | ||
Строка 84: | Строка 84: | ||
===№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> | ||
Строка 90: | Строка 90: | ||
===№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
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
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);
}