We've seen examples of passing numbers in as the arguments. The whole idea behind modular synthesis, however, is that the input to a given module can come from anywhere, even another module in the network. This is the case in soundscrape as well.
;; Let's control the amplitude of the sine wave with an LFO.
(play (audio sine
800
:mul (control sine ;; oftentimes modulation is more
;; suitable to control rate than audio
;; rate
2 ;; Twice a second
0.5 ;; varying by 0.5 each way
0.5))) ;; centered about 0.5
;; You can do amplitude modulation if you use an audio rate modulator
;; linked to the :mul input of a generator. Frequency modulation happens
;; if you connect to the :frequency input:
(play (audio sine
(audio sine
60 ;; 60 Hz
50 ;; 2*50 = 100 Hz bandwidth (checkme!)
200))) ;; centered about 200 Hz