Hello.
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