delay_time - approximate reverberation time in seconds
delay_damp - controls damping of high-frequencies as the reverb decays. 0 is no damping, 1 is very strong damping.
delay_size - size of delay-lines within the diffusion unit, producing the impression of a larger or smaller space
delay_diff - controls pattern of echoes produced by the diffuser. At very low values, the diffuser acts like a delay-line whose length is controlled by the ‘size’ parameter. Medium values produce a slow build-up of echoes, giving the sound a reversed-like quality. Values of 0.707 or greater than produce smooth exponentially decaying echoes.
delay_fdbk - amount of feedback through the system.
delay_mod_depth - depth of delay-line modulation. Use in combination with modFreq to produce chorus and pitch-variations in the echoes.
delay_mod_freq - frequency of delay-line modulation
v1.8
grid: momentary mode
hold alt and press a grid key in the buffer area to toggle latched/momentary mode per track
arc: there are now params for arc sensitivity - they are at the bottom of the parameter menu, so just keep scrolling
v1.7
adds LFO’s via hnds
modulation targets:
volume
grain size
grain density
spread
jitter
v1.6
norns : enc3 sensitivity has been adjusted. much easier to accurately select a track.
grid : the first 7 grid buttons in row 1 are now track select buttons.
grid : alt + track select retains the old track stop/deactivate behavior.
v1.4
tracks have been increased to 7
grid support (via @artfwo’s wonderful glut script)
navigating between tracks has moved from key3 to enc3
They both use Glut, so the underlying engine and parameters are the same. The biggest difference between the scripts being their control schemes. Outside of control oriented stuff, mangl adds the ability to scrub through the audio file, and to loop a portion of the file. That’s about it, tho.
There are a few things in this life I enjoy more than using arc with ansible to control four free running lfos. I could watch those little lights circle around those knobs all day long. It’s just perfect.
after finally exiting the forest of problems I’ve had getting my norns upated to 2.0, I spent a bunch fo time pushing audio through mangl and it’s so fucking good.
THANK YOU for making this.
been making noiz with it for the past hour or so…lost in the wall of noiz.
it’s so intuitive with the setup and use.
not sure if it’s possible…i get the minimalist aesthetic with it all…but…is it possible to put text over the four arc variables?
and can they switch to their other use when hitting alt?
i actually did this for my own copy as well. assuming nothing as changed, you can probably just copy/paste this over the redraw() function. but i don’t know if this will mess something up when the script is updated by the author!
function redraw()
screen.clear()
screen.move(64,40)
screen.level(params:get(track .. "play") == 2 and 15 or 3)
screen.font_face(10)
screen.font_size(30)
screen.text_center(tracks[track])
if util.time() - time_last_enc < .6 and last_enc == 1 then
screen.move(10, 10)
screen.font_face(1)
screen.font_size(8)
screen.text("vol : " .. string.format("%.2f", params:get(track .. "volume")))
end
screen.move(20, 50)
screen.font_size(8)
screen.font_face(1)
screen.text_center("speed")
screen.move(20, 60)
screen.text_center(string.format("%.2f", params:get(track .. "speed")))
screen.move(50, 50)
screen.text_center("pitch")
screen.move(50, 60)
screen.text_center(string.format("%.2f", params:get(track .. "pitch")))
if alt then
screen.move(80, 50)
screen.text_center("spread")
screen.move(80, 60)
screen.text_center(string.format("%.2f", params:get(track .. "spread")))
screen.move(110, 50)
screen.text_center("jitter")
screen.move(110, 60)
screen.text_center(string.format("%.2f", params:get(track .. "jitter")))
else
screen.move(80, 50)
screen.text_center("size")
screen.move(80, 60)
screen.text_center(string.format("%.2f", params:get(track .. "size")))
screen.move(110, 50)
screen.text_center("density")
screen.move(110, 60)
screen.text_center(string.format("%.2f", params:get(track .. "density")))
end
screen.move(track == 3 and 100 or 90, 40)
screen.level(loops[track].state == 1 and 12 or 0)
screen.font_size(12)
screen.font_face(12)
screen.text("L")
screen.update()
end
edit to add also yeah this thing is super fun! can’t remember if i already complimented earlier! amazing work