I don't know how many people use rack fx these days, and how many dig into them to catch new sounds, but I would like to share with you what I obtained as complex waveforms to control parameters on my fx units.
Basically, as you probably know, rack fxs have the possibility to assign some parameters to CC midi signals, or voltage on specific inlets, or volume pedals and so on. Lexicons (at least my lexicons) limit them to 5 per each unit.
On Mesa Boogie Triaxis you can assign any of the stored values (gain, mid, lows, highs, volume, etc...) to an external information, in order to change it while playing.
Same can be applied to the parameters of all rack fxs compatible with CC signals.
Some of them are just a 1 bit signals (0-63 and 64-127), some have full dynamic on the 128 values.
You can then change in real time the shape of the chorus, the decay of a reverb, the pan, etc...
After being in contact with Professor John Chowning of the Stanford University, the inventor of the FM modulation on the synths to emulate the real sound of the instruments, I came out with some algorythms to change in real time the parameters of my rack fxs.
Here below you can find the code.
I've done it in matlab to speed-up the plots, but I've intentionally used the same commands that can be used in Arduino, that is the platform I'll use to send commands to the fxs.
Code: Select all
% #1 funzione per Chorus con AM ed FM
fc = 0.29; % Carrier Freq (Hz)
fm = 0.085; % Modulating Signal Freq (Hz)
m = 9; % Modulation Index
t = linspace(0, 10, 2^14); % Number of samples
y = -0.45*sin(2*pi*fc*t*0.96) + 0.45*cos(2*pi*fc*t - (m*sin(2*pi*fm*t))) + 0.1*cos(2*pi*fc*t*2.8);
subplot (3,2,1), plot(t,y);
% #2 funzione per panning
fc = 0.69; % Carrier Freq (Hz)
fm = 0.23; % Modulating Signal Freq (Hz)
m = 9; % Modulation Index
t = linspace(0, 10, 2^14); % Number of samples
y = - 0.5*sin(2*pi*fc*t - (m*cos(2*pi*fm*t*0.618))) + 0.5*cos(2*pi*fc*t*2.8 + (m*sin(2*pi*fm*t*0.618)));
subplot (3,2,2), plot(t,y);
% #3 funzione per psycho-flanger
fc = 0.69; % Carrier Freq (Hz)
fm = 0.23; % Modulating Signal Freq (Hz)
m = 1; % Modulation Index
t = linspace(0, 10, 2^14); % Number of samples
y = - 0.5*sin(2*pi*fc*t - (m*cos(2*pi*fm*t*1.32))) -0.5 + abs(cos(2*pi*fc*t*1.32 + (m*sin(2*pi*fm*t*0.618))));
subplot (3,2,3), plot(t,y);
% #4 funzione per dimensione riverbero
fc = 0.69; % Carrier Freq (Hz)
fm = 0.23; % Modulating Signal Freq (Hz)
m = 19; % Modulation Index
p = 0; %numero del plot
t = linspace(0, 10, 2^14); % Number of samples
y = - 0.6*sin(2*pi*fc*t - (m*cos(2*pi*fm*t*1.32))) + 0.4*cos(2*pi*fc*t*3 - (m*sin(2*pi*fm*t*1.32)));
subplot (3,2,4), plot(t,y);
% #5 funzione per chorus lento
fc = 0.069; % Carrier Freq (Hz)
fm = 0.023; % Modulating Signal Freq (Hz)
m = 19; % Modulation Index
t = linspace(0, 10, 2^14); % Number of samples
y = - abs(sin(2*pi*fc*t - (m*cos(2*pi*fm*t*1.32)))) + abs(cos(2*pi*fc*t*3 - (m*sin(2*pi*fm*t*1.32))));
subplot (3,2,5), plot(t,y);
% #6 funzione per chorus lento
fc = 1.29; % Carrier Freq (Hz)
fm = 0.385; % Modulating Signal Freq (Hz)
m = 18; % Modulation Index
t = linspace(0, 20, 2^14); % Number of samples
y = cos(2*pi*fc*t - (m*sin(2*pi*fm*t*0.26))) ;
subplot (3,2,6), plot(t,y);Has anyone done something similar to his rack?