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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
 
Нет описания правки
Строка 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">
midiToFreq(midiNote)
midiToFreq(midiNote)
</syntaxhighlight>
</syntaxhighlight>
Строка 26: Строка 26:
==Параметры==
==Параметры==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
midiNote – значение, обозначающее ноту MIDI. Тип данных – number
midiNote – значение, обозначающее ноту MIDI. Тип данных – number
</syntaxhighlight>
</syntaxhighlight>
Строка 32: Строка 32:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="javascript" enclose="div">
<syntaxhighlight lang="javascript">
Частоту, соответствующую заданной ноте MIDI. Тип данных – number.
Частоту, соответствующую заданной ноте MIDI. Тип данных – number.
</syntaxhighlight>
</syntaxhighlight>
Строка 40: Строка 40:
===№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 notes = [60, 64, 67, 72];
var notes = [60, 64, 67, 72];
var i = 0;
var i = 0;
Строка 62: Строка 62:
===№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>
Строка 68: Строка 68:
===№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

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


Черновик


midiToFreq() [1]

Описание

Возвращает частоту, отвечающую заданной ноте MIDI. Стандарт General MIDI видит ноты в виде целых чисел, где «до» первой октавы (С) – это «60», «до диез» (C#) – это «61», «ре» (D) – это «62» и т.д. Используется для генерирования музыкальных фрагментов при помощи осцилляторов.

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

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

Синтаксис

midiToFreq(midiNote)

Параметры

midiNote  значение, обозначающее ноту MIDI. Тип данных  number

Возвращаемое значение

Частоту, соответствующую заданной ноте MIDI. Тип данных  number.

Пример

№1

var notes = [60, 64, 67, 72];
var i = 0;

function setup() {
  osc = new p5.Oscillator('Triangle');
  osc.start();
  frameRate(1);
}

function draw() {
  var freq = midiToFreq(notes[i]);
  osc.freq(freq);
  i++;
  if (i >= notes.length){
    i = 0;
  }
}

№2

№3

См.также

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