Hi,
I'm wondering if it is possible to use a POT entry to vary the time of a delay. I'm aware of the fact that we're talking about different formats S1.14/S1.9/S.10 but it would make my coding of a new echo emulation simpler.
The was to use the delta,factor or even the buffer length as the variable but I'm 'in the woods' if a possibility exists that would work.
equ buflength 10000
mem echo buflength
;
equ dry_out reg0
equ wet_out reg1
;
equ factor 0.8
equ delta factor*buflength
;
;--------------- start ------------
rdax adcl,1.0
wrax dry_out,1.0 ; write the DRY to the right channel
wrax wet_out,1.0 ; keep wet before processing w&f
wra echo,0
;
rda echo+delta,1.0 ; get head timing and place result in acc, add base of delay to offset into delay (-0dB)
;
wrax dacl,0 ; wet out left
rdax dry_out,1.0 ; dry
wrax dacr,0 ;dry out right
;
;/eof/
Thanks
Piet
p.s. this minimized working template is based on an extensive example from Frank obtained when I started my projects . It's purposely minimized to focus only on the question raised.
RDA possible to use buffer_begin + POT to change time?
Moderator: frank
You can use the POT to adjust delay length, as an example (I have not run this but it should work, still playing catch-up since NAMM last week)
Code: Select all
equ length 10000
mem echo length ;delay block
equ deltap reg0
clr ; Clear the ACC
rdax adcl, 1.0 ; read left input
wra echo, 0 ; Write it to the head of the delay
or length*256 ; Put delay length into ACC
mulx pot0 ; Multiply by POT0, new target value
wrax deltap, 0 ; save to the deltap register
or echo*256 ; put base address of echo into acc
rdax deltap, 1 ; add tap position
wrax addr_ptr, 0 ; Write it to the address pointer register
rmpa 1 ; Read from memory
wrax dacl,0 ; ; write to left out
Frank Thomson
Experimental Noize
Experimental Noize