User Tools

Site Tools


javascript:electronic-music-tools:2.9_piano_controller

https://live.codecircle.com/d/e78jcjG2zzzGAhmrS

html

<canvas id="slider_1" nx="slider" min="100" max="1000"></canvas>
<br>
<canvas id="clavier" nx="keyboard"></canvas>

javascript

var slider_1;
var clavier;

var contexte_audio = window.AudioContext || window.webkitAudioContext;

var contexte = new contexte_audio();

var oscillateur = contexte.createOscillator();

oscillateur.connect( contexte.destination );

oscillateur.start();

// setup code
nx.onload = function () {
  slider_1.on('*', slider_change);
  clavier.on('*', clavier_change);
};

function slider_change ( data ) {
  /* fonction executée lors d'un changement du slider.
  Objet data : { value: Number } */
  oscillateur.frequency.value = data.value;
}

function clavier_change ( data ) {
  /* fonction executée lors d'un changement du slider.
  Objet data : { on: Number, note: Number, midi: String } */
  oscillateur.frequency.value = nx.mtof( data.note );
}

javascript

//mais comme il y a nx.mtof...
function note_midi_vers_frequence ( note ) {
  return Math.pow(2,( ( note - 69 ) / 12)) * 440;
}
javascript/electronic-music-tools/2.9_piano_controller.txt · Last modified: 2017/07/19 22:35 by leo