From 8d728437d3903411c784cc92f5df260178171604 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Wed, 10 Oct 2018 03:20:50 +0200 Subject: mass shooting sonification --- client/lib/midi.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'client/lib/midi.js') diff --git a/client/lib/midi.js b/client/lib/midi.js index 338526a..f4b479b 100644 --- a/client/lib/midi.js +++ b/client/lib/midi.js @@ -54,7 +54,7 @@ export function midi_init() { /* play a single note */ -export function play_note(index, duration, channel="all", exporting=false, defer=0){ +export function play_note(index, duration, channel="all", exporting=false, rest=0, defer=0){ // console.log(index) const scale = scales.current() const freq = scale.index(index + Math.round(nx.offset.value), nx.octave.value) @@ -68,6 +68,8 @@ export function play_note(index, duration, channel="all", exporting=false, defer midi_note = Math.floor(midi_note) if ((midiDevice || exporting) && midi_note > 127) return 0 const note = Tone.Frequency(Math.floor(midi_note), "midi").toNote() + const defer_time = 30000 / Tone.Transport.bpm.value * defer / 128 + console.log(defer, defer_time) if (exporting || midiDevice) { duration = duration || 60000 / Tone.Transport.bpm.value if (! exporting) { @@ -79,6 +81,11 @@ export function play_note(index, duration, channel="all", exporting=false, defer play_midi_note(note, cents, channel, duration) } } + } + else if (defer) { + setTimeout(() => { + kalimba.play(freq) + }, defer_time) } else { kalimba.play(freq) } -- cgit v1.2.3-70-g09d2