Skip to content
Permalink
2348ecb01f
Go to file
 
 
Cannot retrieve contributors at this time
107 lines (107 sloc) 2.86 KB
do return
{ module_name = 'W/ synth'
, manufacturer = 'mannequins'
, i2c_address = {0x76, 0x77}
, lua_name = 'wsyn' -- NB: must match the file name. jf.lua -> 'jf'
, commands =
{ { name = 'velocity'
, cmd = 2
, docs = 'strike the vactrol of <voice> at <velocity> in volts'
, args = { { 'voice', s8 }
, { 'velocity', s16V }
}
}
, { name = 'pitch'
, cmd = 3
, docs = 'set <voice> to <pitch> in volts-per-octave'
, args = { { 'voice', s8 }
, { 'pitch', s16V }
}
}
, { name = 'play_voice'
, cmd = 4
, docs = 'set <voice> to <pitch> (v8) and strike the vactrol at <velocity> (V)'
, args = { { 'voice', s8 }
, { 'pitch', s16V }
, { 'velocity', s16V }
}
}
, { name = 'play_note'
, cmd = 5
, docs = 'dynamically assign a voice, set to <pitch> (v8), strike with <velocity>'
, args = { { 'pitch', s16V }
, { 'level', s16V }
}
}
, { name = 'ar_mode'
, cmd = 7
, docs = 'in attack-release mode, all notes are "plucked" and no "release" is requied'
, get = true
, args = { 'is_ar', s8 }
}
, { name = 'curve'
, cmd = 8
, docs = 'cross-fade waveforms: -5=square, 0=triangle, 5=sine'
, get = true
, args = { 'curve', s16V }
}
, { name = 'ramp'
, cmd = 9
, docs = 'waveform symmetry: -5=ramp, 0=triangle, 5=sawtooth (NB: affects FM tone)'
, get = true
, args = { 'ramp', s16V }
}
, { name = 'fm_index'
, cmd = 10
, docs = 'amount of FM modulation. 0=minimum, 5=maximum'
, get = true
, args = { 'index', s16V }
}
, { name = 'fm_env'
, cmd = 16
, docs = 'amount of vactrol envelope applied to fm index'
, get = true
, args = { 'amount', s16V }
}
, { name = 'fm_ratio'
, cmd = 11
, docs = 'ratio of the FM modulator to carrier as a ratio. floating point values up to +/-20 supported'
, args = { { 'numerator', s16V }
, { 'denomenator', s16V }
}
}
, { name = 'lpg_time'
, cmd = 12
, docs = 'vactrol time constant. -5=drones, 0=vtl5c3, 5=blits'
, get = true
, args = { 'time', s16V }
}
, { name = 'lpg_symmetry'
, cmd = 13
, docs = 'vactrol attack-release ratio. -5=fastest attack, 5=long swells'
, get = true
, args = { 'symmetry', s16V }
}
, { name = 'patch'
, cmd = 14
, docs = 'patch a hardware *jack* to a *param* destination'
, get = true
, args = { { 'jack' , s8 }
, { 'param', s8 }
}
}
, { name = 'voices'
, cmd = 15
, docs = 'set number of polyphonic voices to allocate. use 0 for unison mode'
, get = true
, args = { 'count' , s8 }
}
}
, getters =
{ { name = 'fm_ratio'
, cmd = 11 + get_offset
, retval = { 'ratio', s16V }
}
}
}
end