From f0d3e7e4869ae52bce0df0d7ac9cf4ad92db8bb5 Mon Sep 17 00:00:00 2001 From: andr-ew Date: Fri, 23 Aug 2024 14:32:20 -0500 Subject: [PATCH 1/2] Update orgn.lua --- lib/orgn.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/orgn.lua b/lib/orgn.lua index 1c3ed44..d6e4a27 100644 --- a/lib/orgn.lua +++ b/lib/orgn.lua @@ -219,6 +219,11 @@ orgn.noteOn = function(id, hz, vel) engine.noteTrigGlide(i, last, hz, t, vel, pan, adsr.a[1]) end + local volts = math.log(hz/440, 2) + (9/12) --converting hz to volts, very stupid + local level = 3.5 -- 0-5, increase for louder + + crow.ii.jf.play_note(volts, vel * level) + last = hz last_id = id end @@ -231,6 +236,11 @@ orgn.noteOff = function(id) elseif mode == 'sustain' then engine.noteOff(id) end + + local volts = math.log(hz/440, 2) + (9/12) --converting hz to volts, very stupid + local level = 3.5 -- 0-5, increase for louder + + crow.ii.jf.play_note(volts, 0) end -- param:add wrapper with some shortcuts From 40cbb1f590b8b6130a2d3c4cb9096eb9b1573885 Mon Sep 17 00:00:00 2001 From: andr-ew Date: Fri, 23 Aug 2024 14:40:58 -0500 Subject: [PATCH 2/2] make it work --- lib/orgn.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/orgn.lua b/lib/orgn.lua index d6e4a27..6bdb99a 100644 --- a/lib/orgn.lua +++ b/lib/orgn.lua @@ -199,6 +199,10 @@ end local function hz2st(h) return 12*math.log(h/440, 2) end +crow.ii.jf.mode(1) -- synth mode + +local note_volts = {} -- table of voltages i'll need later + orgn.noteOn = function(id, hz, vel) local i = voicing == 'mono' and -1 or id local pan = math.random() * spread * (math.random() > 0.5 and -1 or 1) @@ -219,10 +223,13 @@ orgn.noteOn = function(id, hz, vel) engine.noteTrigGlide(i, last, hz, t, vel, pan, adsr.a[1]) end - local volts = math.log(hz/440, 2) + (9/12) --converting hz to volts, very stupid + local volts = note_volts[id] or math.log(hz/440, 2) + (9/12) --converting hz to volts, very stupid local level = 3.5 -- 0-5, increase for louder + note_volts[id] = volts + crow.ii.jf.play_note(volts, vel * level) + print(volts, vel * level) last = hz last_id = id @@ -237,10 +244,7 @@ orgn.noteOff = function(id) engine.noteOff(id) end - local volts = math.log(hz/440, 2) + (9/12) --converting hz to volts, very stupid - local level = 3.5 -- 0-5, increase for louder - - crow.ii.jf.play_note(volts, 0) + crow.ii.jf.play_note(note_volts[id], 0) end -- param:add wrapper with some shortcuts