packages feed

hsc3-graphs 0.8 → 0.9

raw patch · 21 files changed

+485/−163 lines, 21 filesdep ~hoscdep ~hsc3dep ~hsc3-sfsetup-changednew-component:exe:hsc3-crotale-sinenew-component:exe:hsc3-hansm

Dependency ranges changed: hosc, hsc3, hsc3-sf

Files

README view
@@ -7,5 +7,5 @@   http://haskell.org/   http://audiosynth.com/ -(c) rohan drape and others, 2006-2010+(c) rohan drape and others, 2006-2011     gpl, http://gnu.org/copyleft/
+ Setup.hs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+import Distribution.Simple+main = defaultMain
− Setup.lhs
@@ -1,3 +0,0 @@-#!/usr/bin/env runhaskell-> import Distribution.Simple-> main = defaultMain
hsc3-graphs.cabal view
@@ -1,16 +1,16 @@ Name:              hsc3-graphs-Version:           0.8+Version:           0.9 Synopsis:          Haskell SuperCollider Graphs Description:       hsc3-graphs provides a collection of illustrative                     unit generator graphs for hsc3. License:           GPL Category:          Sound-Copyright:         (c) Rohan Drape and others, 2006-2010+Copyright:         (c) Rohan Drape and others, 2006-2011 Author:            Rohan Drape Maintainer:        rd@slavepianos.org Stability:         Experimental Homepage:          http://slavepianos.org/rd/?t=hsc3-graphs-Tested-With:       GHC == 6.10.3+Tested-With:       GHC == 6.12.1 Build-Type:        Simple Cabal-Version:     >= 1.6 @@ -18,396 +18,404 @@  Executable         hsc3-adso  main-is:          src/adso.lhs- build-depends:    base==4.*, hosc==0.8, hsc3==0.8, random+ build-depends:    base==4.*, hosc==0.9, hsc3==0.9, random  Executable         hsc3-aleatoric-quartet  main-is:          src/aleatoric-quartet.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-analog-bubbles  main-is:          src/analog-bubbles.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-babbling-brook  main-is:          src/babbling-brook.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-birds  main-is:          src/birds.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-bit-reduction  main-is:          src/bit-reduction.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-bottle  main-is:          src/bottle.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-bowed-string  main-is:          src/bowed-string.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-ccomb  main-is:          src/ccomb.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-chain-saw  main-is:          src/chain-saw.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-chrd  main-is:          src/chrd.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-cricket  main-is:          src/cricket.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-crotale  main-is:          src/crotale.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9 +Executable         hsc3-crotale-sine+ main-is:          src/crotale-sine.lhs+ build-depends:    base==4.*, hsc3==0.9+ Executable         hsc3-cut-outs  main-is:          src/cut-outs.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-cymbalism  main-is:          src/cymbalism.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-deep-sea  main-is:          src/deep-sea.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-default  main-is:          src/default.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-demanding-studies  main-is:          src/demanding-studies.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-dial-history  main-is:          src/dial-history.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-diffraction  main-is:          src/diffraction.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-discretion  main-is:          src/discretion.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-drummer  main-is:          src/drummer.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-eggcrate  main-is:          src/eggcrate.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-e-lamell  main-is:          src/e-lamell.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-fbl-fbf  main-is:          src/fbl-fbf.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-feedr  main-is:          src/feedr.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-f-lets  main-is:          src/f-lets.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-fm-iter  main-is:          src/fm-iter.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-fm-kltr  main-is:          src/fm-kltr.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-forest-sounds  main-is:          src/forest-sounds.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-fwalk  main-is:          src/fwalk.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-half-life  main-is:          src/half-life.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9 +Executable         hsc3-hansm+ main-is:          src/hansm.hs+ build-depends:    base==4.*, hosc==0.9, hsc3==0.9+ Executable         hsc3-harmonic-swimming  main-is:          src/harmonic-swimming.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-harmonic-tumbling  main-is:          src/harmonic-tumbling.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-h-chatter  main-is:          src/h-chatter.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-hh-808  main-is:          src/hh-808.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-implosion  main-is:          src/implosion.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-insects  main-is:          src/insects.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-karplus-strong  main-is:          src/karplus-strong.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-klink  main-is:          src/klink.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-k-ppr  main-is:          src/k-ppr.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-lfo-modulation  main-is:          src/lfo-modulation.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-lf-pulses  main-is:          src/lf-pulses.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-lg-timed  main-is:          src/lg-timed.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-lin-sosc  main-is:          src/lin-sosc.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-lucier  main-is:          src/lucier.hs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-modal-space  main-is:          src/modal-space.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-moto-rev  main-is:          src/moto-rev.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-mouse-clatter  main-is:          src/mouse-clatter.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-nharm  main-is:          src/nharm.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-noise-burst-sweep  main-is:          src/noise-burst-sweep.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-non-real-time  main-is:          src/non-real-time.hs- build-depends:    base==4.*, hosc==0.8, hsc3==0.8, process+ build-depends:    base==4.*, hosc==0.9, hsc3==0.9, process  Executable         hsc3-one-line  main-is:          src/one-line.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-oscillator-cluster  main-is:          src/oscillator-cluster.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-overlap-add  main-is:          src/overlap-add.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-pattern-buffer  main-is:          src/pattern-buffer.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-plucked-strings  main-is:          src/plucked-strings.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-police-state  main-is:          src/police-state.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-pulsing-bottles  main-is:          src/pulsing-bottles.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-record-scratcher  main-is:          src/record-scratcher.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-red-frik  main-is:          src/red-frik.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-reset  main-is:          src/reset.hs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-reverberated-sine-percussion  main-is:          src/reverberated-sine-percussion.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-rm-octaver  main-is:          src/rm-octaver.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-sample-and-hold-liquidities  main-is:          src/sample-and-hold-liquidities.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-s-chirp  main-is:          src/s-chirp.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-scratchy  main-is:          src/scratchy.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-scratchy-m  main-is:          src/scratchy-m.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-scritto  main-is:          src/scritto.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-shepard-tones  main-is:          src/shepard-tones.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-shifting-pulses  main-is:          src/shifting-pulses.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-snare-909  main-is:          src/snare-909.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-sosc-lp  main-is:          src/sosc-lp.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-spe  main-is:          src/spe.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-sprinkler  main-is:          src/sprinkler.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-sprinkler-m  main-is:          src/sprinkler-m.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-strummable-guitar  main-is:          src/strummable-guitar.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-sweepy-noise  main-is:          src/sweepy-noise.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-synthetic-piano  main-is:          src/synthetic-piano.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tank  main-is:          src/tank.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tgb  main-is:          src/tgb.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tgrn  main-is:          src/tgrn.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tgr-rpr  main-is:          src/tgr-rpr.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-theremin  main-is:          src/theremin.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-three-cpsw  main-is:          src/three-cpsw.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-thx  main-is:          src/thx.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tipnso  main-is:          src/tipnso.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-train  main-is:          src/train.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-trkl  main-is:          src/trkl.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tr-out  main-is:          src/tr-out.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-tsort  main-is:          src/tsort.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-vlc-distrtn  main-is:          src/vlc-distrtn.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-waveset  main-is:          src/waveset.hs- build-depends:    array, base==4.*, hosc==0.8, hsc3==0.8, hsc3-sf==0.8, random+ build-depends:    array, base==4.*, hosc==0.9, hsc3==0.9, hsc3-sf==0.9, random  Executable         hsc3-what-was-i-thinking  main-is:          src/what-was-i-thinking.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-wial  main-is:          src/wial.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-wind-metals  main-is:          src/wind-metals.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-xy-interference  main-is:          src/xy-interference.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Executable         hsc3-xy-interference-m  main-is:          src/xy-interference-m.lhs- build-depends:    base==4.*, hsc3==0.8+ build-depends:    base==4.*, hsc3==0.9  Source-Repository  head   Type:            darcs-  Location:        http://slavepianos.org/~rd/sw/hsc3-graphs/+  Location:        http://slavepianos.org/rd/sw/hsc3-graphs/
src/aleatoric-quartet.lhs view
@@ -18,7 +18,7 @@ >                           ; n0 <- lfNoise0 kr r0 >                           ; let { m = n0 * 7 + base_mn + r1 >                                 ; m' = lag (roundE m 1) 0.2 }->                             in return (midiCPS m) } }+>                             in return (midiCPS m') } } >       ; mk_s = do { f <- fmap recip mk_f >                   ; r <- rand (-1) 1 >                   ; x <- do { n0 <- pinkNoise ar
src/analog-bubbles.lhs view
@@ -11,4 +11,4 @@ { var o = LFSaw.kr([8, 7.23], 0, 3, 80) ; var f = LFSaw.kr(0.4, 0, 24, o) ; var s = SinOsc.ar(f.midicps, 0, 0.04)-; Out.ar(0, CombN.ar(s, 0.2, 0.2, 4)) }.play+; Out.ar(0, CombN.ar(s, 0.2, 0.2, 4, 0.1)) }.play
+ src/crotale-sine.lhs view
@@ -0,0 +1,170 @@+crotale-sine (rd)++> import Sound.SC3.ID++> main =+>     let { crotale = ( [ 35.45676040649414+>                       , 128.59849548339844+>                       , 346.9721984863281+>                       , 483.5544128417969+>                       , 1049.2449951171875+>                       , 1564.0279541015625+>                       , 1756.3399658203125+>                       , 3391.666015625+>                       , 3451.802001953125+>                       , 3497.261962890625+>                       , 3596.89794921875+>                       , 3696.739013671875+>                       , 3835.235107421875+>                       , 3845.955078125+>                       , 4254.85107421875+>                       , 4407.533203125+>                       , 4415.26416015625+>                       , 4552.865234375+>                       , 5538.076171875+>                       , 5637.73681640625+>                       , 5690.2978515625+>                       , 5728.0068359375+>                       , 5764.27685546875+>                       , 5824.4189453125+>                       , 6377.60498046875+>                       , 6544.35009765625+>                       , 6807.14404296875+>                       , 6994.97021484375+>                       , 7026.84619140625+>                       , 7144.5859375+>                       , 7269.61279296875+>                       , 7393.6708984375+>                       , 7897.259765625+>                       , 8040.4580078125+>                       , 8157.77099609375+>                       , 8225.01953125+>                       , 9126.150390625+>                       , 9488.529296875+>                       , 9916.408203125+>                       , 10155.599609375+>                       , 11715.9599609375+>                       , 12111.830078125+>                       , 12339.990234375+>                       , 12417.669921875+>                       , 12459.2802734375+>                       , 12618.330078125+>                       , 13116.490234375+>                       , 13201.1298828125+>                       , 13297.830078125+>                       , 13533.75 ]+>                     , [ 0.0012827360769733787+>                       , 0.0008040848188102245+>                       , 0.017361238598823547+>                       , 0.004835359752178192+>                       , 0.004413491114974022+>                       , 0.004110544919967651+>                       , 0.0003338181704748422+>                       , 0.0036140112206339836+>                       , 0.006919348146766424+>                       , 0.0003224937245249748+>                       , 0.0006031467346474528+>                       , 0.06686479598283768+>                       , 0.000605064386036247+>                       , 0.003602313343435526+>                       , 0.0002835785271599889+>                       , 0.015243238769471645+>                       , 0.020536603406071663+>                       , 0.016677580773830414+>                       , 0.0009245267719961703+>                       , 0.20205098390579224+>                       , 0.0012542791664600372+>                       , 0.012705927714705467+>                       , 0.0002523190632928163+>                       , 0.0004866079252678901+>                       , 0.0006429700297303498+>                       , 0.0007763264584355056+>                       , 0.2081160992383957+>                       , 0.0024918108247220516+>                       , 0.00193469924852252+>                       , 0.005231771152466536+>                       , 0.0069242212921381+>                       , 0.001203975174576044+>                       , 0.2050020843744278+>                       , 0.04060448706150055+>                       , 0.0038344631902873516+>                       , 0.002189427148550749+>                       , 0.18056060373783112+>                       , 0.002192433224990964+>                       , 0.006516554858535528+>                       , 0.009982921183109283+>                       , 0.004745401442050934+>                       , 0.046154771000146866+>                       , 0.000510294979903847+>                       , 0.0018905038014054298+>                       , 0.0019782145973294973+>                       , 0.006729386281222105+>                       , 0.0023426134139299393+>                       , 0.0024002245627343655+>                       , 0.03515550494194031+>                       , 0.0014084168942645192 ]+>                     , [ 5.203680992126465+>                       , 1.7034343481063843+>                       , 40.16516876220703+>                       , 27.282501220703125+>                       , 0.8950523138046265+>                       , 42.84742736816406+>                       , 2.6603667736053467+>                       , 15.7678861618042+>                       , 6.848367214202881+>                       , 3.2325007915496826+>                       , 1.7343382835388184+>                       , 2.0202419757843018+>                       , 4.7279052734375+>                       , 9.400103569030762+>                       , 0.7102512717247009+>                       , 37.494625091552734+>                       , 36.24879455566406+>                       , 29.172658920288086+>                       , 3.891019344329834+>                       , 4.757885456085205+>                       , 3.851426124572754+>                       , 20.90781021118164+>                       , 3.732874870300293+>                       , 2.3834102153778076+>                       , 10.443285942077637+>                       , 8.795611381530762+>                       , 20.98564338684082+>                       , 18.01180076599121+>                       , 25.297883987426758+>                       , 14.819819450378418+>                       , 42.39189910888672+>                       , 2.9485135078430176+>                       , 11.043763160705566+>                       , 49.55165100097656+>                       , 29.882694244384766+>                       , 10.527188301086426+>                       , 23.5572452545166+>                       , 26.55561637878418+>                       , 45.099605560302734+>                       , 22.550390243530273+>                       , 36.46126174926758+>                       , 11.826201438903809+>                       , 16.818185806274414+>                       , 14.903121948242188+>                       , 32.81113815307617+>                       , 43.1389045715332+>                       , 12.289558410644531+>                       , 11.498942375183105+>                       , 10.465788841247559+>                       , 24.93169593811035 ] )+>         ; (cf, ca, _) = crotale+>         ; fn m f a = let { r0 = rand (f+0) 0 (2 * pi)+>                          ; r1 = rand (f+1) 0.1 0.3+>                          ; r2 = rand (f+2) 0.025 0.1+>                          ; r3 = rand (f+3) 0 (2 * pi)+>                          ; o = sinOsc AR (f * midiRatio m) r0+>                          ; a' = a * sinOsc KR r1 0 }+>                      in pan2 o (sinOsc KR r2 r3) a'+>         ; oo = let { x = control KR "m" 1 }+>                in out 0 (sum (zipWith (fn x) cf ca) * 0.1)+>         }+>   in withSC3 (\fd -> do { _ <- async fd (d_recv (synthdef "c" oo))+>                         ; send fd (s_new "c" (-1) AddToTail 1 [("m",-12)])+>                         ; send fd (s_new "c" (-1) AddToTail 1 [("m",-9)])+>                         })
src/cut-outs.lhs view
@@ -1,11 +1,14 @@ cut-outs (rd)  > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main = >   let { t = impulse ar 22 0 * (sinOsc kr 0.5 0 + 1)->       ; x = mouseX kr 0.005 0.12 Exponential 0.1->       ; y = mouseY kr 0.01 0.52 Exponential 0.1 +>       ; x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 0.005 0.012+>    {- ; x = mouseX kr 0.005 0.12 Exponential 0.1 -}+>       ; y = linLin (I.lfNoise0 'b' KR 1) (-1) 1 0.01 0.52+>    {- ; y = mouseY kr 0.01 0.52 Exponential 0.1 -} >       ; n = do { n1 <- lfNoise0 kr 2 >                ; n2 <- coinGate (0.05 + n1 + y * 0.4 + t * 0.5) (t * 0.5) >                ; n3 <- tExpRand (mce2 500 900) 1600 t
src/demanding-studies.lhs view
@@ -1,18 +1,19 @@ demanding studies (jmcc) -> import Sound.SC3.Monadic+> import Sound.SC3.ID  > main =->   do { s1 <- drand dinf (mce [72, 75, 79, 82])->      ; s2 <- drand 1 (mce [82, 84, 86])->      ; s3 <- dseq dinf (mce [72, 75, 79, s2])->      ; let { x = mouseX kr 5 13 Linear 0.2->            ; tr = impulse kr x 0->            ; f = demand tr 0 (mce [midiCPS (s1 - 12), midiCPS s3])->            ; o1 = sinOsc ar (f + mce2 0 0.7) 0->            ; o2 = saw ar (f + mce2 0 0.7) * 0.3->            ; o3 = cubed (distort (log (distort (o1 + o2)))) }->        in audition (out 0 (o3 * 0.1)) }+>   let { s1 = drand 'a' dinf (mce [72, 75, 79, 82])+>       ; s2 = drand 'b' 1 (mce [82, 84, 86])+>       ; s3 = dseq 'c' dinf (mce [72, 75, 79, s2])+>       ; x = linLin (lfNoise0 'd' KR 1) (-1) 1 5 13 +>    {- ; x = mouseX kr 5 13 Linear 0.2 -}+>       ; tr = impulse kr x 0+>       ; f = demand tr 0 (mce [midiCPS (s1 - 12), midiCPS s3])+>       ; o1 = sinOsc ar (f + mce2 0 0.7) 0+>       ; o2 = saw ar (f + mce2 0 0.7) * 0.3+>       ; o3 = cubed (distort (log (distort (o1 + o2)))) }+>   in audition (out 0 (o3 * 0.1))  { var s1 = Drand.new([72, 75, 79, 82], inf) ; var s2 = Drand.new([82, 84, 86], 1)
src/dial-history.lhs view
@@ -2,6 +2,7 @@  > import Data.List > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main = >   let { mfv = [[697, 770, 852, 941], [1209, 1336, 1477, 1633]]@@ -18,7 +19,8 @@ >         ; d <- lfdNoise3 kr 0.5 >         ; let { tr = trig (tDuty kr rate 0 DoNothing q 1) 0.09 >               ; pat = latch tr tr->               ; x = mouseX kr 0 1 Linear 0.2+>               ; x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 0 1+>            {- ; x = mouseX kr 0 1 Linear 0.2 -} >               ; h = hasher (pat * x) >               ; which = trunc (range h 0 (constant (length numbers))) 1 >               ; both = select which (mce_r numbers)
src/diffraction.lhs view
@@ -2,10 +2,13 @@  > import Control.Monad > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main =->   let { p = let { x = mouseX kr 0.001 0.02 Exponential 0.1->                 ; y = mouseY kr 120 400 Exponential 0.1 }+>   let { p = let { x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 0.001 0.02 +>              {- ; x = mouseX kr 0.001 0.02 Exponential 0.1 -}+>                 ; y = linLin (I.lfNoise0 'b' KR 1) (-1) 1 120 400+>              {- ; y = mouseY kr 120 400 Exponential 0.1 -} } >             in do { f <- fmap (* mce2 32 64) (lfNoise0 kr 4) >                   ; w <- fmap (* x) (lfNoise0 kr 32) >                   ; z <- fmap (* 0.1) (lfNoise0 kr 2)@@ -15,8 +18,10 @@ >       ; q = do { n <- lfNoise0 kr 128 >                ; s <- p >                ; return (combN s 0.2 (n * 0.1 + 0.1) 3) }->       ; r = let { x = mouseX kr 0.75 1.25 Exponential 0.1->                 ; y = mouseY kr 0.25 1 Exponential 0.1+>       ; r = let { x = linLin (I.lfNoise0 'c' KR 1) (-1) 1 0.75 1.25+>              {- ; x = mouseX kr 0.75 1.25 Exponential 0.1 -}+>                 ; y = linLin (I.lfNoise0 'c' KR 1) (-1) 1 0.25 1+>              {- ; y = mouseY kr 0.25 1 Exponential 0.1 -} >                 ; f _ = do { fr <- fmap (* x) (rand 50 59) >                            ; am <- fmap (* y) (rand 0.04 0.16) >                            ; return (sinOsc ar fr 0 * am) } }
src/e-lamell.lhs view
@@ -50,5 +50,5 @@ >                                   ; return (mk_s_new f n d a l) } >                         ; send fd (Bundle now [p, q])  >                         ; pauseThread 0.1 } }->   in withSC3 (\fd -> do { sendSynth fd "blip" =<< e_lamell+>   in withSC3 (\fd -> do { _ <- sendSynth fd "blip" =<< e_lamell >                         ; replicateM_ 64 (pattern fd) })
src/feedr.lhs view
@@ -2,6 +2,7 @@ warning: input/output feedback loop  > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main = >   let { delayWr b i = recordBuf b 0 1 0 1 Loop 0 DoNothing i@@ -11,7 +12,8 @@ >                      ; g <- sequence (replicate n (rand 0.4 1.0)) >                      ; f <- sequence (replicate n (rand 0.9 0.95)) >                      ; let { d = zipWith (\p q -> tap 2 10 p * q) t g->                            ; x = mouseX kr 0.02 1.0 Exponential 0.1+>                         {- ; x = mouseX kr 0.02 1.0 Exponential 0.1 -}+>                            ; x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 0.02 1 >                            ; s = clip2 (leakDC (hpf (sum d) 20) 0.995) 1 >                            ; i = soundIn (mce2 0 1) >                            ; r = i + sum (map (* x) (zipWith (*) d f)) }
src/fm-kltr.lhs view
@@ -12,7 +12,7 @@ >                ; r3 <- rand 0.975 1.025 >                ; r4 <- rand 0.75 1.25 >                ; let { o = control ir "out" 0->                      ; t = control kr "trig" 0 {- unused -}+>                   {- ; t = control kr "trig" 0 {- unused -} -} >                      ; a = control kr "amp" 0.1 >                      ; d = control kr "dur" 0.1 >                      ; f = control kr "freq" 400.0@@ -45,5 +45,5 @@ >              ; fm fd 53 ff a d i >              ; pauseThread t } } >   in withSC3 (\fd -> do { u <- gr->                         ; async fd (d_recv (synthdef "fm" u))+>                         ; _ <- async fd (d_recv (synthdef "fm" u)) >                         ; sequence (replicate 32 (nd fd)) })
+ src/hansm.hs view
@@ -0,0 +1,108 @@+{-+http://www.fredrikolofsson.com/f0blog/?q=node/457+http://obiwannabe.co.uk/tutorials/html/tutorial_birds.html+-}++import Sound.OpenSoundControl+import Sound.SC3++type T3 a = (a,a,a)+type Bird_Call_Param a = (T3 a,T3 a,T3 a,T3 a,T3 a)++bird_call :: Bird_Call_Param UGen -> IO ()+bird_call ((freq,atk,dcy)+          ,(fmod1,atkf1,dcyf1)+          ,(fmod2,atkf2,dcyf2)+          ,(amod1,atka1,dcya1)+          ,(amod2,atka2,dcya2)) =+    let mk_env a aT dT g lS md =+            let x = EnvNum (-4)+                c = env [0,a,0] [aT,dT] [x,x] (-1) (-1)+            in envGen AR g lS 0 1 md c+	e = mk_env 0.5 atk dcy 1 1 RemoveSynth+	freq1 = mk_env fmod1 atkf1 dcyf1 1 3000 DoNothing+	freq2 = mk_env fmod2 atkf2 dcyf2 1 3000 DoNothing+	amp1 = mk_env amod1 atka1 dcya1 1 1 DoNothing+	amp2 = mk_env amod2 atka2 dcya2 1 1 DoNothing+	fmod = sinOsc AR freq1 0 * amp1 + 1+	amod = 1 - sinOsc AR freq2 0 * amp2+	z = sinOsc AR ((freq * 7000 + 300) * fmod) 0 * amod+    in audition (out 0 (pan2 z 0 e))++triple_tailed_tree_troubler :: (Fractional a) => Bird_Call_Param a+triple_tailed_tree_troubler =+    ((0.387755, 0.0204082, 0.204082)+    ,(0.367347, 0.571429, 0.734694)+    ,(0.918367, 1, 0.77551)+    ,(0.571429, 0.367347, 0.22449)+    ,(0.0204082, 0.183673, 0.44898))++speckled_throated_spew :: (Fractional a) => Bird_Call_Param a+speckled_throated_spew =+    ((0.183673, 0.591837, 0.387755)+    ,(0.0104082, 0.530612, 0.346939)+    ,(0.244898, 0.55102, 0.122449)+    ,(0.387755, 1, 0.612245)+    ,(0.346939, 0.816327, 0.653061))++lesser_spotted_grinchwarbler :: (Fractional a) => Bird_Call_Param a+lesser_spotted_grinchwarbler =+    ((0.55102, 0.591837, 0.387755)+    ,(0.0716327, 0.0204082, 0.346939)+    ,(0.0204082, 0.55102, 0.122449)+    ,(0.632653, 1, 0.612245)+    ,(0.346939, 0.816327, 0.653061))++long_toed_mudhopper :: (Fractional a) => Bird_Call_Param a+long_toed_mudhopper =+    ((0.163265, 0.22449, 0.183673)+    ,(0.00306122, 0.122449, 1)+    ,(0.0612245, 1, 0.77551)+    ,(0.979592, 0.204082, 0.734694)+    ,(1, 0.142857, 0.612245))++yellow_yiffled_yaffle :: (Fractional a) => Bird_Call_Param a+yellow_yiffled_yaffle =+    ((0.0204082, 0.367347, 0.183673)+    ,(0.0612245, 0, 1)+    ,(0.285714, 0.22449, 0.489796)+    ,(0.367347, 0.387755, 0.734694)+    ,(0.204082, 0.428571, 0.142857))++pointy_beaked_beetlefiend :: (Fractional a) => Bird_Call_Param a+pointy_beaked_beetlefiend =+    ((0.428571, 0.204082, 0.489796)+    ,(0.0204082, 0.795918, 0.591837)+    ,(0.285714, 0.22449, 0.489796)+    ,(0.204082, 0.836735, 0.734694)+    ,(0.77551, 0.428571, 0.142857))++african_boojuboolubala :: (Fractional a) => Bird_Call_Param a+african_boojuboolubala =+    ((0.306122, 0.959184, 0.0408163)+    ,(1, 0, 0.591837)+    ,(0.285714, 0.22449, 0.489796)+    ,(0.204082, 0.836735, 0.734694)+    ,(0.77551, 0.428571, 0.142857))++common_muckoink :: (Fractional a) => Bird_Call_Param a+common_muckoink =+    ((0.0204082, 0.8, 0.0816327)+    ,(0.0204082, 0.001, 0.99)+    ,(0.0204082, 0.01, 1)+    ,(1, 0.142857, 0.734694)+    ,(1, 0.0612245, 0.530612))++main :: IO ()+main = do+  let xs = [triple_tailed_tree_troubler+           ,speckled_throated_spew+           ,lesser_spotted_grinchwarbler+           ,long_toed_mudhopper+           ,yellow_yiffled_yaffle+           ,pointy_beaked_beetlefiend+           ,african_boojuboolubala+           ,common_muckoink]+      fn x = bird_call x >> pauseThread 1.25+  mapM_ fn xs+
src/k-ppr.lhs view
@@ -2,11 +2,14 @@  > import Control.Monad > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main = >   let { wrp i l r = linLin i (-1) 1 l r->       ; x = mouseX kr 0.05 0.35 Linear 0.1->       ; y = mouseY kr 0.15 0.75 Linear 0.1+>       ; x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 0.05 0.35+>    {- ; x = mouseX kr 0.05 0.35 Linear 0.1 -}+>       ; y = linLin (I.lfNoise0 'b' KR 1) (-1) 1 0.15 0.75+>    {- ; y = mouseY kr 0.15 0.75 Linear 0.1 -} >       ; ti = lfTri kr x 0 >       ; tf = wrp ti 100 200 >       ; t = impulse ar tf 0
src/lf-pulses.lhs view
@@ -1,11 +1,13 @@ lf pulses (rd)  > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main = >   do { n0 <- lfNoise0 AR (mce2 20 40) >      ; n1 <- lfNoise0 AR (mce2 5 10)->      ; let { x = mouseX KR 0.012 0.19 Exponential 0.1+>      ; let { x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 0.012 0.19+>         {- ; x = mouseX KR 0.012 0.19 Exponential 0.1 -} >            ; f = formlet (blip AR 10 12) (n0 * 43 + 700) 0.005 x  >            ; o = sinOsc AR 40 0 * n1 } >        in audition (out 0 (clip2 (leakDC (f + o) 0.995) 0.75)) }
src/lin-sosc.lhs view
@@ -3,12 +3,13 @@ > import Control.Concurrent > import Control.Monad > import Sound.OpenSoundControl-> import Sound.SC3+> import Sound.SC3.ID > import System.Random  > main =->   let { n = 1024->       ; x = mouseX KR 0.001 1.0 Linear 0.1+>   let { n' = 1024+>       ; x = linLin (lfNoise0 'a' KR 1) (-1) 1 0.001 1+>    {- ; x = mouseX KR 0.001 1.0 Linear 0.1 -} >       ; tblM b = playBuf 1 b (x * bufRateScale KR b) 0 0 Loop DoNothing >       ; tblC b c = playBuf 1 b (in' 1 KR c * bufRateScale KR b) 0 0 Loop DoNothing >       ; o = sinOsc AR (tblM 0) 0 * tblM 1 @@ -24,22 +25,22 @@ >       ; twoPi = pi * 2.0 >       ; srng l r e = let m = (l - r ) / 2 >                      in m + l + (e * m) ->       ; freq = [ lineTo n 440.0 444.0->                , lineTo n 40.0 16000.0->                , xlineTo n 40.0 16000.0->                , map (srng 20 21000 . sin) (lineTo n 0.0 twoPi)->                , map (srng 20 12000 . cos) (lineTo n 0.0 twoPi)->                , map (srng 20 22000 . tan) (lineTo n 0.0 twoPi)->                , map (srng 20 90 . tan) (lineTo n 0.0 twoPi) ]->       ; ampl = [ lineTo n 0.1 1.0->                , lineTo n 1.0 0.1->                , lineTo n 0.5 0.01->                , lineTo n 0.01 0.5->                , xlineTo n 1.0 0.1->                , xlineTo n 0.1 1.0->                , map sin (lineTo n 0.0 twoPi)->                , map cos (lineTo n 0.0 twoPi)->                , map (* 0.001) (map tan (lineTo n 0 twoPi)) ]+>       ; freq = [ lineTo n' 440.0 444.0+>                , lineTo n' 40.0 16000.0+>                , xlineTo n' 40.0 16000.0+>                , map (srng 20 21000 . sin) (lineTo n' 0.0 twoPi)+>                , map (srng 20 12000 . cos) (lineTo n' 0.0 twoPi)+>                , map (srng 20 22000 . tan) (lineTo n' 0.0 twoPi)+>                , map (srng 20 90 . tan) (lineTo n' 0.0 twoPi) ]+>       ; ampl = [ lineTo n' 0.1 1.0+>                , lineTo n' 1.0 0.1+>                , lineTo n' 0.5 0.01+>                , lineTo n' 0.01 0.5+>                , xlineTo n' 1.0 0.1+>                , xlineTo n' 0.1 1.0+>                , map sin (lineTo n' 0.0 twoPi)+>                , map cos (lineTo n' 0.0 twoPi)+>                , map (* 0.001) (map tan (lineTo n' 0 twoPi)) ] >       ; sloc = [ 0.005, 0.0075, 0.01, 0.025, 0.05, 0.075 >                , 0.1, 0.25, 0.5, 0.75 >                , 0.8, 0.85, 1.0, 1.005 ]@@ -52,7 +53,7 @@ >                        ; send fd (b_setn 1 [(0, a)]) >                        ; send fd (c_set [(0, s)]) >                        ; pauseThread p } }->   in do { withSC3 (\fd -> do { async fd (b_alloc 0 (floor n) 1)->                              ; async fd (b_alloc 1 (floor n) 1)->                              ; play fd (out 0 co) })+>   in do { _ <- withSC3 (\fd -> do { _ <- async fd (b_alloc 0 (floor n') 1)+>                                   ; _ <- async fd (b_alloc 1 (floor n') 1)+>                                   ; play fd (out 0 co) }) >         ; forkIO (withSC3 (\fd -> replicateM_ 128 (update fd))) }
src/non-real-time.hs view
@@ -16,11 +16,23 @@         mk_instr = d_recv (synthdef "test" graph)         mk_group = g_new [(1, AddToTail, 0)]         mk_node t f = at t [s_new "test" (-1) AddToTail 1 [("freq", f)]]-        notes = take 128 (zipWith mk_node [0.0, 0.05 ..] [330, 350 ..])+        notes = take 128 (zipWith mk_node [1.0, 1.05 ..] [330, 350 ..])     in at 0.0 [mk_instr, mk_group] : notes -main :: IO ()-main = do-  writeNRT "/tmp/nrt.score" score+perform :: [OSC] -> IO ()+perform s = do+  let f i fd x = do let (Bundle (NTPr t) x') = x+                    pauseThreadUntil (i + t)+                    send fd (Bundle immediately x')+  withSC3 (\fd -> utcr >>= \i -> mapM_ (f i fd) s)++render :: [OSC] -> IO ()+render s = do+  writeNRT "/tmp/nrt.score" s   system "scsynth -N /tmp/nrt.score _ /tmp/nrt.wav 44100 WAVE float"   return ()++main :: IO ()+main = do+  render score+  perform score
src/s-chirp.lhs view
@@ -1,10 +1,13 @@ s-chirp (rd)  > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main =->   let { x = mouseX kr 15 0 Linear 0.1->       ; y = mouseY kr 15 27 Linear 0.1+>   let { x = linLin (I.lfNoise0 'a' KR 1) (-1) 1 15 0+>    {- ; x = mouseX kr 15 0 Linear 0.1 -}+>       ; y = linLin (I.lfNoise0 'b' KR 1) (-1) 1 15 27+>    {- ; y = mouseY kr 15 27 Linear 0.1 -} >       ; scl = [0, 2, 3.2, 5, 7, 9, 10] } >   in do { t <- dust kr 9 >         ; b <- tChoose t (mce [36, 48, 60, 72])@@ -18,6 +21,6 @@ >                in do { r0 <- tRand 0.0075 0.125 u >                      ; r1 <- tRand 0.05 0.15 u >                      ; return (m * 0.5 + allpassC m 0.15 r0 r1) }->         ; withSC3 (\fd -> do { async fd (b_alloc 0 7 1)+>         ; withSC3 (\fd -> do { _ <- async fd (b_alloc 0 7 1) >                              ; send fd (b_setn1 0 0 scl) >                              ; play fd (out 0 o) }) }
src/tipnso.lhs view
@@ -1,9 +1,11 @@ tipnso (rd)  > import Sound.SC3.Monadic+> import qualified Sound.SC3.ID as I  > main =->   let { x = mouseX kr 1 32 Linear 0.1+>   let { x = linLin (I.lfNoise0 'a' KR 3) (-1) 1 1 32+>    {- ; x = mouseX kr 1 32 Linear 0.1 -} >       ; t = impulse ar x 0 } >   in do { n1 <- tiRand 16 72 t >         ; n2 <- tiRand 0 1 t