Attempt at Jonny Greedwood's Max MSP delay effect

Algorithm development and general DSP issues

Moderator: frank

Post Reply
slacker
Posts: 116
Joined: Tue Feb 01, 2011 1:13 pm

Attempt at Jonny Greedwood's Max MSP delay effect

Post by slacker »

Just for a laugh I thought I'd try and do something similar to Jonny Greenwood's Max MSP random delay effect. In case you've never heard of it here's a youtube clip of it in action http://www.youtube.com/watch?v=xyKCwDJ7ZUc

It's based on Franks record/play example here http://www.spinsemi.com/forum/viewtopic.php?t=20 with an LFO added to change it periodically from play to record.
It does a reasonably impression of Jonny's effect. The "randomness pot" doesn't really do what I want yet, ideally I'd like it control the amount of randomness in some way, needs some more thought.

Enjoy :)

Code: Select all

;pot 0 LFO speed
;pot 1 max delay time
;pot 2 randomness of delay time anticlockwise no randomness, clockwise max randomness

; Define delays
del   mem   32767

;set up registers
equ division reg0

;set up LFO, only at start up
skp run, START
wlds sin0,0,32767		;sin0 used for LFO



START:

ldax pot0		;sets LFO speed
mulx pot0		;multiply it by its self a few time to get a nicer taper, needs work
mulx pot0
sof 175/511,0.2/511	;set minimum and maximum rates
wrax sin0_rate,1		;write to sin0 rate	
cho rdal,sin0		;get sin0 value 

skp   gez,play		; If ACC is >=0 we are in playback mode so jump to play
rdax adcl,1		;read adcl
and %000000000000000000011111		;mask off upper bits leaving a random 5 bit number (32 possible values)
sof -2,0					;apply gain to get it up to 0 - 1 ish levels
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
sof -2,0
absa		;just to make sure it's positive
wrax division,0	;write to division register

ldax   adcl   	;Read in ADC left
wra   del,1   	; Write to delay line
wrax   dacl,1   	;and to dacl
wrax   dacr,0  	;and to dacr	
skp   zro, end   	;Jump to end

; Play back mode
play:
ldax pot2
and %011111000000000000000000
mulx division
sof -1,0.999
mulx pot1	;multiply by division, to give some random time up to max set by pot1
wrax addr_ptr,0	;write to address pointer
rmpa 1		;read from delay position set by addresss pointer
wra del,1	;write to head of delay
wrax   dacl,1 	;Write it to dacl
wrax   dacr,0   	;Write it to dacr

end: 
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Post by frank »

Interesting, in the videos it almost sounds to me like it is a delay line and he is randomly selecting a starting location, number of times to loop and a random length (all values within some range that make sense). But never having the opportunity to examine this effect before it is a guess on my part.
Frank Thomson
Experimental Noize
sunfalls
Posts: 6
Joined: Fri Oct 30, 2015 8:41 am

Post by sunfalls »

Hi, as i'm truly loving the GreenWood Delay fx...
I've noticed a serious Volume drop when turning my Zdsp Mix knob
from Dry to Wet..
Even at just 50% mix, theres a serious drop in Volume.

Is there a setting in the algorhythm which will allow for Gain adjustment in this area..

please assist!
sunfalls
Posts: 6
Joined: Fri Oct 30, 2015 8:41 am

Post by sunfalls »

no one.. please assist :(

the dry to wet mix gain is seriously lacking in volume
leetut
Posts: 20
Joined: Sat Oct 27, 2018 2:33 pm

Re: Attempt at Jonny Greedwood's Max MSP delay effect

Post by leetut »

I get this when I click assemble, is it normal?

<0000>[ Pass 2] [ 1014] Line: 12 "skp run, START " - ERROR:Undefined Name or Forward Reference - START
<0001>[ Pass 2] [ 1013] Line: 12 "skp run, START " - ERROR:Illegal Characters in - START
<0002>[ Pass 2] [ 1030] Line: 12 "skp run, START " - ERROR:Unrecognized or obsolete opcode -
<0003>[ Pass 2] [ 1030] Line: 17 "START&#58 " - ERROR:Unrecognized or obsolete opcode -
<0004>[ Pass 2] [ 1014] Line: 26 "skp gez,play " - ERROR:Undefined Name or Forward Reference - PLAY
<0005>[ Pass 2] [ 1013] Line: 26 "skp gez,play " - ERROR:Illegal Characters in - PLAY
<0006>[ Pass 2] [ 1030] Line: 26 "skp gez,play " - ERROR:Unrecognized or obsolete opcode -
<0007>[ Pass 2] [ 1014] Line: 54 "skp zro, end " - ERROR:Undefined Name or Forward Reference - END
<0008>[ Pass 2] [ 1013] Line: 54 "skp zro, end " - ERROR:Illegal Characters in - END
<0009>[ Pass 2] [ 1030] Line: 54 "skp zro, end " - ERROR:Unrecognized or obsolete opcode -
<0010>[ Pass 2] [ 1030] Line: 57 "play&#58 " - ERROR:Unrecognized or obsolete opcode -
<0011>[ Pass 2] [ 1030] Line: 69 "end&#58 " - ERROR:Unrecognized or obsolete opcode -


12 Log Messages
frank
Posts: 1244
Joined: Wed Oct 19, 2005 12:26 pm
Contact:

Re: Attempt at Jonny Greedwood's Max MSP delay effect

Post by frank »

There was an issue when moving to the new forum some symbols in code were not translated properly. In the code change strings of ":" to a colon ":" and that should fix it, I am looking into a way to go through the database and fix this but it is not as easy as it seems it should be.
Frank Thomson
Experimental Noize
Post Reply