#lang scribble/manual @(require (for-label racket)) @title{(ring1 a b)} Ring modulation plus first source. Return the value of ((a*b) + a). This is more efficient than using separate unit generators for the multiply and add. See also mul, Ring1, Ring2, Ring3, Ring4. @racketblock[ (audition (out 0 (mul (ring1 (f-sin-osc ar 800 0) (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0)) 0.125))) ] @racketblock[ (let ((a (f-sin-osc ar 800 0)) (b (f-sin-osc ar (x-line kr 200 500 5 do-nothing) 0))) (audition (out 0 (mul (add (mul a b) a) 0.125)))) ]