JavaScript:Библиотеки/p5.sound/Класс p5.Envelope/set(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 4: | Строка 4: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
= set() <ref>[https://p5js.org/reference/#/p5.Envelope/set p5js.org - set()]</ref>= | = set() <ref>[https://p5js.org/reference/#/p5.Envelope/set p5js.org - set()]</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"> | ||
set(attackTime, attackLevel, decayTime, decayLevel, releaseTime, releaseLevel) | set(attackTime, attackLevel, decayTime, decayLevel, releaseTime, releaseLevel) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 26: | Строка 26: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
attackTime – время (в секундах) стадии атаки. Тип данных – number | attackTime – время (в секундах) стадии атаки. Тип данных – number | ||
attackLevel – уровень громкости после завершения стадии атаки. Как правило, значение между «0.0» и «1.0». Тип данных – number | attackLevel – уровень громкости после завершения стадии атаки. Как правило, значение между «0.0» и «1.0». Тип данных – number | ||
Строка 37: | Строка 37: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 45: | Строка 45: | ||
===№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 t1 = 0.1; // длительность стадии атаки (в секундах) | var t1 = 0.1; // длительность стадии атаки (в секундах) | ||
var l1 = 0.7; // уровень атаки в диапазоне между «0.0» и «1.0» | var l1 = 0.7; // уровень атаки в диапазоне между «0.0» и «1.0» | ||
Строка 82: | Строка 82: | ||
===№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> | ||
Строка 88: | Строка 88: | ||
===№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
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
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);
}
}