JavaScript:Библиотеки/p5.sound/Класс p5.Part

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

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



Класс p5.Part [1]

Описание

Это класс для проигрывания одной или нескольких фраз (т.е. объектов p5.Phrase). Принимает два параметра – «steps» (количество «шагов») и «tatums» (длительность ноты). По умолчанию каждый «шаг» длится 1/16 ноты.

Более подробно о ритме и создании звуков читайте в статье о p5.Phrase.

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

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

Синтаксис

new p5.Part([steps], [tatums])

Параметры

steps  количество «шагов» в объекте p5.Part. Тип данных  number
tatums  длительность ноты. Значение по умолчанию  «1/16». Тип данных  number

Методы

  • setBPM() – задает ритм (т.е. количество ударов в минуту) для объекта p5.Part.
  • getBPM() – возвращает ритм (т.е. количество ударов в минуту) этого объекта p5.Part.
  • start() – запускает проигрывание этого объекта p5.Part. В результате эта функция воспроизведет все фразы этого объекта p5.Part со скоростью, заданной при помощи setBPM().
  • loop() – запускает зацикленное проигрывание этого объекта p5.Part. В результате эта функция циклически воспроизведет все фразы этого объекта p5.Part со скоростью, заданной при помощи функции setBPM().
  • noLoop() – выключает зацикленное проигрывание объекта p5.Part.
  • stop() – останавливает проигрывание объекта p5.Part и перемещает курсор проигрывания на шаг «0».
  • pause() – ставит на паузу зацикленное проигрывание объекта p5.Part. При возобновлении проигрывание начнется с «шага», где оно было поставлено на паузу.
  • addPhrase() – добавляет фразу (объект p5.Phrase) в объект p5.Part.
  • removePhrase() – удаляет фразу (объект p5.Phrase) из объекта p5.Part. Удаляемая фраза задается с помощью названия, данного ей при создании.
  • getPhrase() – считывает фразу (объект p5.Phrase) из объекта p5.Part. Считываемая фраза задается с помощью названия, данного ей при создании. В результате вы сможете отредактировать значения в массиве этой фразы.
  • replaceSequence() – редактирует значения в массиве заданной фразы (объекта p5.Phrase). Редактируемая фраза задается с помощью названия, данного ей при создании.
  • onStep() – с каждым «шагом» запускает заданную функцию.

Пример

№1

var box, drum, myPart;
var boxPat = [1,0,0,2,0,2,0,0];
var drumPat = [0,1,1,0,2,0,1,0];
var msg = 'click to play';
      //  'кликните, чтобы начать проигрывание'

function preload() {
  box = loadSound('assets/beatbox.mp3');
  drum = loadSound('assets/drum.mp3');
}

function setup() {
  noStroke();
  fill(255);
  textAlign(CENTER);
  masterVolume(0.1);

  var boxPhrase = new p5.Phrase('box', playBox, boxPat);
  var drumPhrase = new p5.Phrase('drum', playDrum, drumPat);
  myPart = new p5.Part();
  myPart.addPhrase(boxPhrase);
  myPart.addPhrase(drumPhrase);
  myPart.setBPM(60);
  masterVolume(0.1);
}

function draw() {
  background(0);
  text(msg, width/2, height/2);
}

function playBox(time, playbackRate) {
  box.rate(playbackRate);
  box.play(time);
}

function playDrum(time, playbackRate) {
  drum.rate(playbackRate);
  drum.play(time);
}

function mouseClicked() {
  if (mouseX > 0 && mouseX < width && mouseY > 0 && mouseY < height) {
    myPart.start();
    msg = 'playing part';
      //  'проигрывание объекта p5.Part'
  }
}

№2

№3

См.также

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