re: delay in cranes, you could definitely load up a third softcut voice per @tehn’s halfsecond script and route voice 1 and 2 into it!
or as @swhic mentions, you can use softcut as a delay for the input as well. softcut is able to pull in from adc and dac, you just need to specify which (input channel and/or another cut buffer) goes into which voice at what volume. see https://monome.org/docs/norns/script-reference/, but these commands will do the trick:
softcut.level_input_cut(ch, voice, value)
softcut.level_cut_cut(src, dst, value)
by specifying routing and arguments, you could chain either of these:
input -> delay -> cranes
input -> cranes -> delay
or just input -> delay -> out while cranes does its normal thing