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