[livecode] Re: Vivid: Send a string (specifically a filesystem path) to a synth?

From: Jeffrey Brown <jeffbrown.the_at_gmail.com>
Date: Sat, 7 Jul 2018 13:27:31 -0500

The only branch I see on Github <https://github.com/vivid-synth/vivid> is
master, and its version number is 0.2.0.4. That's what I'm using. Is the
latest one somewhere else?

> the SC server doesn't let you change a signal graph at runtime

Doh! Then I guess numeric messages will be all I need.

On Sat, Jul 7, 2018 at 1:18 PM <amindfv_at_gmail.com> wrote:

> Responses inline:
>
> El 7 jul 2018, a las 13:56, Jeffrey Brown <jeffbrown.the_at_gmail.com>
> escribió:
>
> Awesome! I hadn't realized you could create and free synths from Vivid.
> That'll be really helpful -- it means I won't have to keep a giant bank of
> synths that mostly aren't doing anything.
>
>
> Yep! You shouldn't need sclang for anything - Vivid can do anything it can.
>
> But I'm getting this error:
>
> • Variable not in scope: b2i :: BufferId -> I "buf"
> • Perhaps you meant ‘b2_’ (imported from Vivid)
>
>
> Are you running an old version of Vivid? Any version 0.3.* should have it.
>
> Also, suppose I really wanted to pass a string to SC, for instance to
> switch some oscillator from a square wave to a sine wave. Is it possible?
>
>
> Unfortunately/fortunately the SC server doesn't let you change a signal
> graph at runtime like this.
>
> Your best bet, if you wanted to do a switch, would be to have both the
> square wave and the saw wave in the graph, and change what you multiply
>
> Something like:
>
> sd (0 :: I "switch") $ do
> s0 <- lfPulse (freq_ 440)
> s1 <- lfSaw (freq_ 440)
> s <- (V::V "switch") ~* s0
> ~+ (1 ~- (V::V "switch")) ~* s1
> ...
>
> Then if you set "switch" to 0 you get all saw wave, and to 1 and you get
> all square wave. (And, at 0.5 an even mix of each)
>
> You _can_ send strings to the sc server, but I don't know of any time you
> need to in Vivid. If you need to for some reason there's always the
> vivid-osc package (which vivid uses)
>
> Tom
>
> On Sat, Jul 7, 2018 at 12:21 AM <amindfv_at_gmail.com> wrote:
>
>> There are quicker ways to do it (e.g. check out the "play" function), but
>> here's how to do it with lots of configurability:
>>
>>
>> {-# LANGUAGE DataKinds, ExtendedDefaultRules #-}
>>
>> import Vivid
>>
>> foo = sd (0 :: I "buf") $ do
>> let buf = V::V "buf"
>> s <- playBuf (buf_ buf, rate_ $ bufRateScale buf ~* 3, doneAction_ 2)
>> out 0 [s,s]
>>
>> main = do
>> buf <- newBufferFromFile "the_letter.flac"
>> synth foo (b2i buf :: I "buf")
>>
>>
>> A couple notes:
>> - For fun we play it at 3x speed.
>> - "doneAction_ 2" means when the buffer is done playing the Synth frees
>> itself.
>> - "bufRateScale" converts from the samplerate of the file to the
>> samplerate of the sc server.
>> - We can make a Buffer from lots of file formats, but notably not mp3.
>> This is the SC server's limitation, as it can't use the patented mp3
>> decoder. ".wav" works, as does .flac, .ogg, and others.
>>
>> Tom
>>
>>
>> El 6 jul 2018, a las 21:38, Jeffrey Brown <jeffbrown.the_at_gmail.com>
>> escribió:
>>
>> I'm imagining asking a synth to play some sample from a collection. Is it
>> possible?
>>
>> --
>> 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
>>
>> _______________________________________________
>> Livecode mailing list -- livecode_at_we.lurk.org
>> To unsubscribe send an email to livecode-leave_at_we.lurk.org
>>
>
>
> --
> 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
>
> _______________________________________________
> Livecode mailing list -- livecode_at_we.lurk.org
> To unsubscribe send an email to livecode-leave_at_we.lurk.org
>


-- 
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 Sat Jul 07 2018 - 18:27:54 BST

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