[livecode] Vivid: Feedback architecture?

From: Jeffrey Brown <jeffbrown.the_at_gmail.com>
Date: Sun, 8 Jul 2018 10:53:16 -0500

Synthesizers with feedback can create some unbelievably beautiful sounds.
https://www.native-instruments.com/en/products/komplete/synths/reaktor-spark/

I wrote a tiny program (below) to try to make feedback. I knew it would not
work, because once I tried to learn how to do feedback in SC, and it's more
complicated than what I wrote. I never understood how to do it in SC. I'm
hoping maybe it's easier in Vivid?

Below is an example of what I'm trying to do.

  {-# LANGUAGE DataKinds, ExtendedDefaultRules #-}

  import Vivid

  boop :: SynthDef '["f1","f2"]
  boop = sd (400::I"f1", 300::I"f2") $ do
     s1 <- 0.1 ~* sinOsc (freq_ (V::V"f1"))
     s2 <- s1 ~- (0.1 ~* sinOsc (freq_ (V::V"f2")) )
     s1 <- s1 ~* s2 -- This line does not do what is intended. Instead
       -- it creates a new signal called `s1` that masks the old one.
       -- (That's a property of do-notation, not a problem with Vivid.)
     out 0 [s1, s1]

  main :: IO ()
  main = do
     s <- synth boop ()
     wait 1
     free s

-- 
Jeff Brown | Jeffrey Benjamin Brown
Website <https://msu.edu/~brown202/>   |   Facebook
<https://www.facebook.com/mejeff.younotjeff>   |   LinkedIn
<https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often miss
messages here)   |   Github <https://github.com/jeffreybenjaminbrown>


_______________________________________________
Livecode mailing list -- livecode_at_we.lurk.org
To unsubscribe send an email to livecode-leave_at_we.lurk.org
Received on Sun Jul 08 2018 - 15:53:47 BST

This archive was generated by hypermail 2.4.0 : Sun Aug 20 2023 - 16:02:23 BST