packages feed

hsc3-0.18: Help/UGen/klank.help.lhs

> import Sound.SC3 {- hsc3 -}

The klankSpec family of functions can help create the 'spec' entry.

> f_01 impulse_freq reson_freq decay_time =
>   let u n = replicate (length reson_freq) n
>       k = klankSpec_k reson_freq (u 1) (u decay_time)
>   in klank (impulse AR impulse_freq 0 * 0.1) 1 0 1 k

> g_01 = f_01 2 [800,1071,1153,1723] 1

There is a limited form of multiple channel expansion possible at
'specification' input, below three equal dimensional specifications
are transposed and force expansion in a sensible manner.

> g_02 =
>     let u = [1,1,1,1]
>         p = [200,171,153,172]
>         q = [930,971,953,1323]
>         r = [8900,16062,9013,7892]
>         k = mce [klankSpec_k p u u,klankSpec_k q u u,klankSpec_k r u u]
>         s = mceTranspose k
>         i = mce [2,2.07,2.13]
>         t = impulse AR i 0 * 0.1
>         l = mce [-1,0,1]
>     in mix (pan2 (klank t 1 0 1 s) l 1)

Modal data

    > import Sound.SC3.Data.Modal {- hsc3-data -}
    > let Just reson_freq =lookup "Spinel sphere (diameter=3.6675mm)" modal_frequencies
    > audition (out 0 (f_01 0.125 reson_freq 16))