JavaScript:Библиотеки/p5.sound/Класс p5.Amplitude: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
(Новая страница: «{{JavaScript панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} {{Черновик}} = Класс p5.Amplitude <r…»)
 
Нет описания правки
 
Строка 14: Строка 14:
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:
Чтобы использовать эту функцию, нужно подключить библиотеку p5.sound. Для этого в заголовок своего файла «index.html» впишите следующее:


<syntaxhighlight lang="javascript" enclose="div">
<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" enclose="div">
<syntaxhighlight lang="javascript">
new p5.Amplitude([smoothing])
new p5.Amplitude([smoothing])
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Параметры==
==Параметры==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
smoothing – значение между «0.0» и «0.999» для сглаживания пиков в считанных данных (по умолчанию – «0»). Тип данных – number
smoothing – значение между «0.0» и «0.999» для сглаживания пиков в считанных данных (по умолчанию – «0»). Тип данных – number
</syntaxhighlight>
</syntaxhighlight>
Строка 41: Строка 41:
===№1===
===№1===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
var sound, amplitude, cnv;
var sound, amplitude, cnv;


Строка 71: Строка 71:
===№2===
===№2===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">


</syntaxhighlight>
</syntaxhighlight>
Строка 77: Строка 77:
===№3===
===№3===


<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="javascript" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">


</syntaxhighlight>
</syntaxhighlight>

Текущая версия от 18:14, 14 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Класс p5.Amplitude [1]

Описание

Этот класс предназначен для измерения громкости (в диапазоне между «0.0» и «1.0»). По умолчанию слушает главный «выход» (объект p5sound), но при помощи setInput() можно прослушать лишь какой-то один источник звука. Есть опциональный параметр smoothing (для сглаживания пиков в считанных данных), по умолчанию имеющий значение «0».

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

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

Синтаксис

new p5.Amplitude([smoothing])

Параметры

smoothing  значение между «0.0» и «0.999» для сглаживания пиков в считанных данных (по умолчанию  «0»). Тип данных  number

Методы

  • setInput() – по умолчанию подключает анализатор громкости к главному «выходу» (к объекту p5sound). Опционально можно задать какой-либо конкретный источник данных (т.е. звуковой файл).
  • getLevel() – возвращает одно значение громкости, считанное в момент вызова функции. Чтобы считывать громкость постоянно, воспользуйтесь этой функцией в блоке draw().
  • toggleNormalize() – задает, будут ли нормализованы результаты p5.Amplitude. Чтобы нормализовать результаты, эта функция рассчитывает разницу между самым громким значением и значением максимальной громкости, равной «1.0». Затем toggleNormalize() добавляет эту «надбавку» ко всем значениям, чтобы полученные результаты были правильно масштабированы относительно диапазона между «0.0» и «1.0». Однако, если в процессе будет обнаружено еще более громкое значение, то «надбавка», прибавляемая ко всем считанным значениям, изменится. У функции toggleNormalize() есть опциональный параметр типа boolean («true» или «false»). По умолчанию нормализация выключена.
  • smooth() – сглаживает пики в считанных данных, исходя из значения в последнем отсчете. По умолчанию сглаживание выключено.

Пример

№1

var sound, amplitude, cnv;

function preload(){
  sound = loadSound('assets/beat.mp3');
}
function setup() {
  cnv = createCanvas(100,100);
  amplitude = new p5.Amplitude();

  // запускаем/останавливаем звуковой файл при клике по холсту:
  cnv.mouseClicked(function() {
    if (sound.isPlaying() ){
      sound.stop();
    } else {
      sound.play();
    }
  });
}
function draw() {
  background(0);
  fill(255);
  var level = amplitude.getLevel();
  var size = map(level, 0, 1, 0, 200);
  ellipse(width/2, height/2, size, size);
}

№2

№3

См.также

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