packages feed

hsc3-0.15: Help/UGen/Buffer/bufRd.help.lhs

> Sound.SC3.UGen.Help.viewSC3Help "BufRd"
> Sound.SC3.UGen.DB.ugenSummary "BufRd"

> import Sound.SC3.ID {- hsc3 -}

Load sound file to buffer zero (required for examples)

> let fn = "/home/rohan/data/audio/pf-c5.aif"
> in withSC3 (async (b_allocRead 0 fn 0 0))

Phasor as phase input

> let {sc = bufRateScale KR 0
>     ;tr = impulse AR (recip (bufDur KR 0)) 0
>     ;ph = phasor AR tr sc 0 (bufFrames KR 0) 0}
> in audition (out 0 (bufRdL 1 AR 0 ph NoLoop))

Audio rate sine oscillator as phase input

> let phase = sinOsc AR 0.1 0 * bufFrames KR 0 * bufRateScale KR 0
> in audition (out 0 (bufRd 1 AR 0 phase Loop NoInterpolation))

There are constructors, bufRd{N|L|C}, for the fixed cases.

> let {x = mouseX KR (mce [5, 10]) 100 Linear 0.1
>     ;n = lfNoise1 'α' AR x}
> in audition (out 0 (bufRdL 1 AR 0 (n * bufFrames KR 0 * bufRateScale KR 0) Loop))

Allocate and generate (non-wavetable) buffer

> withSC3 (do {_ <- async (b_alloc 11 256 1)
>             ;let f = [Normalise,Clear]
>              in send (b_gen_sine1 11 f [1,1/2,1/3,1/4,1/5])})

Fixed frequency wavetable oscillator

> let phase = linLin (saw AR 440) (-1) 1 0 1 * bufFrames KR 11
> in audition (out 0 (bufRd 1 AR 11 phase Loop NoInterpolation * 0.1))