Please, read this code:]
(defun nyq:snd-tapv (sound offset modulation maxdepth) (multichan-expand #'snd-tapv sound offset modulation maxdepth)) (defun delay-tapv (sound maxdelay delay depth rate saturation &optional (phase 0.0)) (let ((modulation (sum delay (prod depth (lfo rate 10000.0 *sine-table* phase))))) (hp (sum (prod (nyq:snd-tapv sound 0.0 modulation maxdelay) saturation) sound) 10))) (defun chorus (input-sound &key (delay 0.03) (depth 0.003) (rate 0.3) (saturation 1.0) (phase 0.0)) (delay-tapv input-sound (+ delay depth) delay depth rate saturation phase)) (defun stereo-chorus (input-sound &key (delay 0.03) (depth 0.003) (rate1 0.3) (rate2 0.1) (saturation 1.0)) (sim (pan (chorus input-sound :delay delay :depth depth :rate rate1 :saturation saturation) .3) (pan (chorus input-sound :delay delay :depth depth :rate rate2 :saturation saturation :phase 180.0) .7)))
I have write this code
(abs-env (stereo-chorus (osc 56 5) 0.0))
It does not work well. If I modify the value of the argument rate2, the effect applies to 2 channels. The same goes for the argument rate1. Do you understand the reason of this problem?
I have a second question has to put: in this code, the function stereo-chorus calls the function chorus. This function has the same arguments as the function stereo-chorus. On the other hand, when we adjust the value of an argument of the function stereo-chorus, I have the impression that the regulation of the same argument in the function chorus does not seem to contradict the regulation.
My question is thus: How is this way of functioning possible?
I hope that I am understandable.
Beforehand thank you for your help