sorry, i guess i just meant that it is possible (and very easy) in the abstract to add digital gain at the system level.
i didn’t remember whether the system input level parameter went to 0db or higher. it does in fact max out at 0db. this can easily be modified by changing these lines, in ~/norns/lua/core/mix.lua:
the ADC and DAC levels presently use the same parameter scale. it might be a good idea overall to use a different scale for ADC level, allowing more gain by default.
if you want to try this out, replace those lines with something like this:
local cs_MAIN_LEVEL = cs.new(-math.huge,0,'db',0,0,"dB")
local cs_INPUT_LEVEL = cs.new(-math.huge,12,'db',0,0,"dB")
mix:add_control("output", "output", cs_MAIN_LEVEL)
mix:set_action("output",
function(x) audio.level_dac(util.dbamp(x)) end)
mix:add_control("input", "input", cs_INPUT_LEVEL)
mix:set_action("input",
function(x) audio.level_adc(util.dbamp(x)) end)
the “12” in the second line will give you +12db gain on the input.
if this seems like a good idea we can change it upstream. but i’d want opinions from @tehn and others.