The Haskore Tutorial
top back next
section C

12  Partial Encoding of Chick Corea's "Children's Song No. 6"

 

> module ChildSong6 where
> import Haskore

> -- Preliminaries: define some dotted durations
> dhn, dqn, den, dsn, dtn :: Float
> dhn = 3/4;  dqn = 3/8;  den = 3/16;  dsn = 3/32;  dtn = 3/64

> -- note updaters for mappings
> fd d n = n d v
> vol  n = n   v
> v      = [Volume 80]
> lmap f l = line (map f l)

> -- repeat something n times
> times  1    m = m
> times (n+1) m = m :+: (times n m)

> -- Baseline:
> b1 = lmap (fd dqn) [b  3, fs 4, g  4, fs 4]
> b2 = lmap (fd dqn) [b  3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4, fs 4, es 4]
> b3 = lmap (fd dqn) [as bsp; 3, es 4,&nbs