Jump to content
  • fm-bell-synth


    The eternal “FM bell” sounds.



    Source

    (progn
      (defparameter count 50)
      (setf partials (library 'marangona-partials 'partials nil :random 20))
      (setf par (rnd-sample count (partial :freq (flatten partials))))
      (defparameter freq (gen-divide (rnd-sample count '(1 2 3 4 5)) par))
      (defparameter dur (list (length-span 42 (rnd-sample count '(w h q w)))))
      
      (do-timeline
       '(dur (---xx--xx- ---xx---x- --x--xx--- ---x------ x----x---))
       '(gen-pause x) :time '(w))
      
      (defparameter vel (rnd-number count 0.05 0.43))
      (defparameter dist (rnd-number count 0.5 1.0))
      (defparameter env
        '((0 0 40 .1000 60 .2000 75 .4000 82 1 90 1 100 0)
          (0 0 60 .1000 80 .2000 90 .4000 95 1 100 0)
          (0 0 10 1 16 0 32 .1000 50 1 56 0 60 0 90 .3000 100 0)
          (0 0 30 1 56 0 60 0 90 .3000 100 0)
          (0 0 50 1 80 .3000 100 0)
          (0 0 40 .1000 60 .2000 75 .4000 82 1 90 1 100 0)
          (0 0 10 1 32 .1000 50 1 90 .3000 100 0)
          (0 0 60 .1000 80 .3000 95 1 100 0)
          (0 0 80 .1000 90 1 100 0)))
      
      (with-sound (:reverb jc-reverb :scaled-to .7)
        (fm-bell-synth dur freq vel
                       :amp-env (rnd-sample count env)
                       :index-env (rnd-sample count env)
                       :index (rnd-number count 0.3 0.9)
                       :reverb-amount 0.30
                       :distance dist))
      )


    Output

     

     

     

    Next page singbowl-synth




×
×
  • Create New...