module Csound.Catalog.Drum.MiniPops(
MpSpec(..),
bass, snare1, snare2, rimShot, cymbal1, cymbal2, bongo1, bongo2, bongo3,
claves, cowbell, guiro, maracas, quijada, tamb,
bass', bdSpec, snare1', snSpec1, snare2', snSpec2, rimShot', rimSpec,
cymbal1', cymSpec1, cymbal2', cymSpec2, bongo1', bonSpec1, bongo2', bonSpec2, bongo3', bonSpec3,
claves', clSpec, cowbell', cowSpec, guiro', groSpec, maracas', marSpec, quijada', qjSpec, tamb', tamSpec,
bd, sn1, sn2, rim, cym1, cym2, bon1, bon2, bon3, cl, cow, gro, mar, qj, tam,
bd', sn1', sn2', rim', cym1', cym2', bon1', bon2', bon3', cl', cow', gro', mar', qj', tam'
) where
import Csound.Base hiding (guiro, dur)
import Csound.Sam
data MpSpec = MpSpec {
MpSpec -> D
mpDur :: D
, MpSpec -> D
mpCps :: D
, MpSpec -> Maybe D
mpRnd :: Maybe D }
rndAmp :: Sig -> SE Sig
rndAmp :: Sig -> SE Sig
rndAmp Sig
a = do
D
k <- D -> SE D
forall a. SigOrD a => a -> SE a
birnd D
0.09
Sig -> SE Sig
forall (m :: * -> *) a. Monad m => a -> m a
return (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig
a Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ D -> Sig
sig D
k)
addDur' :: D -> a -> SE a
addDur' :: D -> a -> SE a
addDur' D
dt a
x = D -> SE ()
xtratim D
dt SE () -> SE a -> SE a
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> a -> SE a
forall (m :: * -> *) a. Monad m => a -> m a
return a
x
addDur :: a -> SE a
addDur :: a -> SE a
addDur = D -> a -> SE a
forall a. D -> a -> SE a
addDur' D
0.1
toDrum :: Sig -> SE Sig
toDrum :: Sig -> SE Sig
toDrum Sig
a = Sig -> SE Sig
rndAmp (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Sig -> SE Sig
forall a. a -> SE a
addDur Sig
a
defSpec :: D -> D -> MpSpec
defSpec :: D -> D -> MpSpec
defSpec D
dur D
cps = MpSpec :: D -> D -> Maybe D -> MpSpec
MpSpec
{ mpDur :: D
mpDur = D
dur
, mpCps :: D
mpCps = D
cps
, mpRnd :: Maybe D
mpRnd = D -> Maybe D
forall a. a -> Maybe a
Just D
0.085 }
rndVal :: D -> D -> D -> SE D
rndVal :: D -> D -> D -> SE D
rndVal D
total D
amount D
x = do
D
k <- D -> SE D
forall a. SigOrD a => a -> SE a
birnd D
amount
D -> SE D
forall (m :: * -> *) a. Monad m => a -> m a
return (D -> SE D) -> D -> SE D
forall a b. (a -> b) -> a -> b
$ D
x D -> D -> D
forall a. Num a => a -> a -> a
+ D
k D -> D -> D
forall a. Num a => a -> a -> a
* D
total
rndDur, rndCps :: D -> D -> SE D
rndDur :: D -> D -> SE D
rndDur D
amt D
x = D -> D -> D -> SE D
rndVal D
x D
amt D
x
rndCps :: D -> D -> SE D
rndCps D
amt D
x = D -> D -> D -> SE D
rndVal D
x (D
amt D -> D -> D
forall a. Fractional a => a -> a -> a
/ D
10) D
x
rndSpec :: MpSpec -> SE MpSpec
rndSpec :: MpSpec -> SE MpSpec
rndSpec MpSpec
spec = do
D
dur <- SE D
rndDur'
D
cps <- SE D
rndCps'
MpSpec -> SE MpSpec
forall (m :: * -> *) a. Monad m => a -> m a
return (MpSpec -> SE MpSpec) -> MpSpec -> SE MpSpec
forall a b. (a -> b) -> a -> b
$ MpSpec
spec
{ mpDur :: D
mpDur = D
dur
, mpCps :: D
mpCps = D
cps }
where
rndDur' :: SE D
rndDur' = ((D -> SE D) -> (D -> D -> SE D) -> Maybe D -> D -> SE D
forall b a. b -> (a -> b) -> Maybe a -> b
maybe D -> SE D
forall (m :: * -> *) a. Monad m => a -> m a
return D -> D -> SE D
rndDur (Maybe D -> D -> SE D) -> Maybe D -> D -> SE D
forall a b. (a -> b) -> a -> b
$ (MpSpec -> Maybe D
mpRnd MpSpec
spec)) (D -> SE D) -> D -> SE D
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpDur MpSpec
spec
rndCps' :: SE D
rndCps' = ((D -> SE D) -> (D -> D -> SE D) -> Maybe D -> D -> SE D
forall b a. b -> (a -> b) -> Maybe a -> b
maybe D -> SE D
forall (m :: * -> *) a. Monad m => a -> m a
return D -> D -> SE D
rndCps (Maybe D -> D -> SE D) -> Maybe D -> D -> SE D
forall a b. (a -> b) -> a -> b
$ (MpSpec -> Maybe D
mpRnd MpSpec
spec)) (D -> SE D) -> D -> SE D
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
rezz :: Sig -> Sig -> Sig
rezz :: Sig -> Sig -> Sig
rezz Sig
cps Sig
bw = Sig -> Sig -> Sig -> Sig
reson (Sig -> Sig -> Sig
mpulse Sig
1 Sig
0) Sig
cps (Sig
cps Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
bw) Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
2
bass :: SE Sig
bass :: SE Sig
bass = MpSpec -> SE Sig
bass' MpSpec
bdSpec
bdSpec :: MpSpec
bdSpec :: MpSpec
bdSpec = D -> D -> MpSpec
defSpec D
0.43 D
64
bass' :: MpSpec -> SE Sig
bass' :: MpSpec -> SE Sig
bass' MpSpec
spec = MpSpec -> SE Sig
pureBass' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureBass' :: MpSpec -> SE Sig
pureBass' :: MpSpec -> SE Sig
pureBass' MpSpec
spec = Sig -> SE Sig
toDrum Sig
aout
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
aout :: Sig
aout = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
env Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
225 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
lp1 Sig
500 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
rezz Sig
cps Sig
0.001
env :: Sig
env = [D] -> Sig
transeg [D
1, D
dur, -D
14, D
0]
snare1 :: SE Sig
snare1 :: SE Sig
snare1 = MpSpec -> SE Sig
snare1' MpSpec
snSpec1
snSpec1 :: MpSpec
snSpec1 :: MpSpec
snSpec1 = D -> D -> MpSpec
defSpec D
0.38 D
800
snare1' :: MpSpec -> SE Sig
snare1' :: MpSpec -> SE Sig
snare1' MpSpec
spec = MpSpec -> SE Sig
pureSnare1' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureSnare1' :: MpSpec -> SE Sig
pureSnare1' :: MpSpec -> SE Sig
pureSnare1' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< (Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ SE Sig
aout)
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: D
cps = MpSpec -> D
mpCps MpSpec
spec
anoise :: SE Sig
anoise = SE Sig
pink
asig :: SE Sig
asig = (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
x -> Sig -> Sig -> Sig -> Sig
reson Sig
x Sig
6250 Sig
9000 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1) SE Sig
anoise
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1, D
dur ,-D
5 , D
0]
asig1 :: AtOut Sig Sig (SE Sig)
asig1 = (Sig -> Sig) -> SE Sig -> AtOut Sig Sig (SE Sig)
forall a b c. At a b c => (a -> b) -> c -> AtOut a b c
at (Sig -> Sig -> Sig
bhp Sig
3000) (SE Sig -> AtOut Sig Sig (SE Sig))
-> SE Sig -> AtOut Sig Sig (SE Sig)
forall a b. (a -> b) -> a -> b
$ Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
aenv SE Sig
asig
xdur :: D
xdur = D
0.006
astrike :: Sig
astrike = Sig -> Sig
osc ([D] -> Sig
transeg [D
cps,D
xdur,-D
4,D
60])
aenv2 :: Sig
aenv2 = [D] -> Sig
transeg [D
1,D
xdur,-D
2,D
0]
astrike1 :: Sig
astrike1 = Sig
aenv2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
astrike
aout :: SE Sig
aout = (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((Sig
0.7 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
astrike1) Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ ) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
2 (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ SE Sig
asig1
snare2 :: SE Sig
snare2 :: SE Sig
snare2 = MpSpec -> SE Sig
snare2' MpSpec
snSpec2
snSpec2 :: MpSpec
snSpec2 :: MpSpec
snSpec2 = D -> D -> MpSpec
defSpec D
0.4 D
800
snare2' :: MpSpec -> SE Sig
snare2' :: MpSpec -> SE Sig
snare2' MpSpec
spec = MpSpec -> SE Sig
pureSnare2' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureSnare2' :: MpSpec -> SE Sig
pureSnare2' :: MpSpec -> SE Sig
pureSnare2' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< (Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ SE Sig
aout)
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: D
cps = MpSpec -> D
mpCps MpSpec
spec
anoise :: SE Sig
anoise = SE Sig
pink
asig :: SE Sig
asig = (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
x -> Sig -> Sig -> Sig -> Sig
butbp Sig
x Sig
5200 Sig
5200 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1) SE Sig
anoise
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1, D
dur ,-D
8 , D
0]
asig1 :: AtOut Sig Sig (SE Sig)
asig1 = (Sig -> Sig) -> SE Sig -> AtOut Sig Sig (SE Sig)
forall a b c. At a b c => (a -> b) -> c -> AtOut a b c
at (Sig -> Sig -> Sig
bhp Sig
3000) (SE Sig -> AtOut Sig Sig (SE Sig))
-> SE Sig -> AtOut Sig Sig (SE Sig)
forall a b. (a -> b) -> a -> b
$ Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
aenv SE Sig
asig
xdur :: D
xdur = D
0.005
astrike :: Sig
astrike = Sig -> Sig
osc ([D] -> Sig
transeg [D
cps,D
xdur,-D
4,D
cps D -> D -> D
forall a. Fractional a => a -> a -> a
/ D
4])
aenv2 :: Sig
aenv2 = [D] -> Sig
transeg [D
1,D
xdur,-D
2,D
0]
astrike1 :: Sig
astrike1 = Sig
aenv2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
astrike
aout :: SE Sig
aout = (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((Sig
0.5 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
astrike1) Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ ) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
2.3 (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ SE Sig
asig1
rimShot :: SE Sig
rimShot :: SE Sig
rimShot = MpSpec -> SE Sig
rimShot' MpSpec
rimSpec
rimSpec :: MpSpec
rimSpec :: MpSpec
rimSpec = D -> D -> MpSpec
defSpec D
0.005 D
1700
rimShot' :: MpSpec -> SE Sig
rimShot' :: MpSpec -> SE Sig
rimShot' MpSpec
spec = MpSpec -> SE Sig
pureRimShot' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureRimShot' :: MpSpec -> SE Sig
pureRimShot' :: MpSpec -> SE Sig
pureRimShot' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig
asig
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
asig1 :: Sig
asig1 = D -> Sig -> Sig
osc' D
0.2 Sig
cps
asig2 :: Sig
asig2 = Sig -> Sig -> Sig -> Sig
reson Sig
asig1 Sig
cps Sig
1500 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
2
asig :: Sig
asig = Sig -> Sig -> Sig
bhp Sig
500 (Sig
asig1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
asig2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
0.4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
0.3)
cymbal1 :: SE Sig
cymbal1 :: SE Sig
cymbal1 = MpSpec -> SE Sig
cymbal1' MpSpec
cymSpec1
cymSpec1 :: MpSpec
cymSpec1 :: MpSpec
cymSpec1 = D -> D -> MpSpec
defSpec D
0.304 D
6000
cymbal1' :: MpSpec -> SE Sig
cymbal1' :: MpSpec -> SE Sig
cymbal1' MpSpec
spec = MpSpec -> SE Sig
pureCymbal1' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureCymbal1' :: MpSpec -> SE Sig
pureCymbal1' :: MpSpec -> SE Sig
pureCymbal1' MpSpec
spec = (Sig -> SE Sig
toDrum (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< ) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ do
Sig
anoise <- SE Sig
white
let asig1 :: Sig
asig1 = Sig -> Sig -> Sig
blp Sig
14000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson (Sig
anoiseSig -> Sig -> Sig
forall a. Num a => a -> a -> a
*Sig
aenv) Sig
icf (Sig
icfSig -> Sig -> Sig
forall a. Num a => a -> a -> a
*Sig
0.7) Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1
asig2 :: Sig
asig2 = Sig -> Sig -> Sig
bhp Sig
6000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ (Sig
asig1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
anoise Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
0.001)
Sig -> SE Sig
forall (m :: * -> *) a. Monad m => a -> m a
return (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig
0.25 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
asig2
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1,D
dur,-D
2,D
0]
icf :: Sig
icf = Sig
cps
cymbal2 :: SE Sig
cymbal2 :: SE Sig
cymbal2 = MpSpec -> SE Sig
cymbal2' MpSpec
cymSpec2
cymSpec2 :: MpSpec
cymSpec2 :: MpSpec
cymSpec2 = D -> D -> MpSpec
defSpec D
1.404 D
1000
cymbal2' :: MpSpec -> SE Sig
cymbal2' :: MpSpec -> SE Sig
cymbal2' MpSpec
spec = MpSpec -> SE Sig
pureCymbal2' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureCymbal2' :: MpSpec -> SE Sig
pureCymbal2' :: MpSpec -> SE Sig
pureCymbal2' MpSpec
spec = (Sig -> SE Sig
toDrum (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< ) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> SE Sig -> SE Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (SE Sig -> SE Sig) -> SE Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ do
Sig
anoise <- SE Sig
white
let asig :: Sig
asig = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
aenv (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
6000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
aenv (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
lp1 Sig
12000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson (Sig
anoise Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv) Sig
icf (Sig
icf Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
0.9) Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1
Sig -> SE Sig
forall (m :: * -> *) a. Monad m => a -> m a
return (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig
astrike Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
0.2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
asig Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
1.5
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: D
cps = MpSpec -> D
mpCps MpSpec
spec
icf :: Sig
icf = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ D
cps D -> D -> D
forall a. Num a => a -> a -> a
* D
5
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1,D
dur,-D
2,D
0]
xdur :: D
xdur = D
0.004
aenv2 :: Sig
aenv2 = [D] -> Sig
transeg [D
1,D
xdur,-D
2,D
0]
astrike :: Sig
astrike = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
aenv2 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig
osc ([D] -> Sig
transeg [D
cps,D
xdur,-D
4,D
0.4D -> D -> D
forall a. Num a => a -> a -> a
*D
cps])
bongo1 :: SE Sig
bongo1 :: SE Sig
bongo1 = MpSpec -> SE Sig
bongo1' MpSpec
bonSpec1
bonSpec1 :: MpSpec
bonSpec1 :: MpSpec
bonSpec1 = D -> D -> MpSpec
defSpec D
0.2 D
630
bongo1' :: MpSpec -> SE Sig
bongo1' :: MpSpec -> SE Sig
bongo1' MpSpec
spec = MpSpec -> SE Sig
pureBongo1' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureBongo1' :: MpSpec -> SE Sig
pureBongo1' :: MpSpec -> SE Sig
pureBongo1' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig
asig
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
asig :: Sig
asig = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv ) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
blp Sig
8000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
300 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
rezz Sig
cps Sig
0.03
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1,D
dur,D
13,D
0]
bongo2 :: SE Sig
bongo2 :: SE Sig
bongo2 = MpSpec -> SE Sig
bongo2' MpSpec
bonSpec2
bonSpec2 :: MpSpec
bonSpec2 :: MpSpec
bonSpec2 = D -> D -> MpSpec
defSpec D
0.2 D
400
bongo2' :: MpSpec -> SE Sig
bongo2' :: MpSpec -> SE Sig
bongo2' MpSpec
spec = MpSpec -> SE Sig
pureBongo2' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureBongo2' :: MpSpec -> SE Sig
pureBongo2' :: MpSpec -> SE Sig
pureBongo2' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig
asig
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: D
cps = MpSpec -> D
mpCps MpSpec
spec
kcps :: Sig
kcps = D -> D -> D -> Sig
expon D
cps D
dur (D
cps D -> D -> D
forall a. Num a => a -> a -> a
* D
0.975)
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1,D
durD -> D -> D
forall a. Num a => a -> a -> a
-D
0.005,D
0,D
0.1,D
0.005,D
0, D
0]
asig :: Sig
asig = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
100 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
lp1 Sig
5000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
rezz Sig
kcps Sig
0.03
bongo3 :: SE Sig
bongo3 :: SE Sig
bongo3 = MpSpec -> SE Sig
bongo3' MpSpec
bonSpec3
bonSpec3 :: MpSpec
bonSpec3 :: MpSpec
bonSpec3 = D -> D -> MpSpec
defSpec D
1.229 D
194
bongo3' :: MpSpec -> SE Sig
bongo3' :: MpSpec -> SE Sig
bongo3' MpSpec
spec = MpSpec -> SE Sig
pureBongo3' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureBongo3' :: MpSpec -> SE Sig
pureBongo3' :: MpSpec -> SE Sig
pureBongo3' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig
asig
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
aenv :: Sig
aenv = [D] -> Sig
transeg [D
0, D
0.001, -D
2, D
1, D
durD -> D -> D
forall a. Num a => a -> a -> a
-D
0.001, -D
2, D
0]
kbw :: Sig
kbw = [D] -> Sig
linseg [D
0.05,D
0.01,D
0.008]
asig :: Sig
asig = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
5 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
blp Sig
11000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
rezz Sig
cps Sig
kbw
claves :: SE Sig
claves :: SE Sig
claves = MpSpec -> SE Sig
claves' MpSpec
clSpec
clSpec :: MpSpec
clSpec :: MpSpec
clSpec = D -> D -> MpSpec
defSpec D
0.186 D
400
claves' :: MpSpec -> SE Sig
claves' :: MpSpec -> SE Sig
claves' MpSpec
spec = MpSpec -> SE Sig
pureClaves' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureClaves' :: MpSpec -> SE Sig
pureClaves' :: MpSpec -> SE Sig
pureClaves' MpSpec
spec = Sig -> SE Sig
toDrum Sig
aout
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
aenv :: Sig
aenv = [D] -> Sig
linseg [D
1, D
dur, D
0]
asig1 :: Sig
asig1 = Sig -> Sig -> Sig
rezz Sig
cps Sig
0.025
asig2 :: Sig
asig2 = Sig -> Sig -> Sig
rezz (Sig
cps Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
5.45) Sig
0.03
aout :: Sig
aout = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
3.2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig
asig1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
1.3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
asig2
cowbell :: SE Sig
cowbell :: SE Sig
cowbell = MpSpec -> SE Sig
cowbell' MpSpec
cowSpec
cowSpec :: MpSpec
cowSpec :: MpSpec
cowSpec = D -> D -> MpSpec
defSpec D
0.3 D
850
cowbell' :: MpSpec -> SE Sig
cowbell' :: MpSpec -> SE Sig
cowbell' MpSpec
spec = MpSpec -> SE Sig
pureCowbell' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureCowbell' :: MpSpec -> SE Sig
pureCowbell' :: MpSpec -> SE Sig
pureCowbell' MpSpec
spec = Sig -> SE Sig
toDrum Sig
asig
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
asig :: Sig
asig = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
aenv Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
100 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$
Sig -> Sig -> Sig
rezz Sig
cps Sig
0.007
Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
0.8 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig -> Sig -> Sig
rezz (Sig
cps Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
5.537) Sig
0.03
aenv :: Sig
aenv = [D] -> Sig
linseg [D
1, D
dur, D
0]
guiro :: SE Sig
guiro :: SE Sig
guiro = MpSpec -> SE Sig
guiro' MpSpec
groSpec
groSpec :: MpSpec
groSpec :: MpSpec
groSpec = D -> D -> MpSpec
defSpec D
0.256 D
66
guiro' :: MpSpec -> SE Sig
guiro' :: MpSpec -> SE Sig
guiro' MpSpec
spec = MpSpec -> SE Sig
pureGuiro' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureGuiro' :: MpSpec -> SE Sig
pureGuiro' :: MpSpec -> SE Sig
pureGuiro' MpSpec
spec = Sig -> SE Sig
toDrum Sig
asig
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: D
cps = MpSpec -> D
mpCps MpSpec
spec
aenv :: Sig
aenv = [D] -> Sig
linseg [D
0,D
0.001,D
1,D
durD -> D -> D
forall a. Num a => a -> a -> a
-D
0.111,D
0.6,D
0.1,D
1,D
0.01,D
0]
asig :: Sig
asig = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
1000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson (Sig
0.1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig -> Sig
sqr Sig
kcps) Sig
4300 Sig
3000 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1
kcps :: Sig
kcps = [D] -> Sig
transeg [D
cps,D
dur,D
2,(D
1.1 D -> D -> D
forall a. Num a => a -> a -> a
* D
cps)]
maracas :: SE Sig
maracas :: SE Sig
maracas = MpSpec -> SE Sig
maracas' MpSpec
marSpec
marSpec :: MpSpec
marSpec :: MpSpec
marSpec = D -> D -> MpSpec
defSpec D
0.05 D
5000
maracas' :: MpSpec -> SE Sig
maracas' :: MpSpec -> SE Sig
maracas' MpSpec
spec = MpSpec -> SE Sig
pureMaracas' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureMaracas' :: MpSpec -> SE Sig
pureMaracas' :: MpSpec -> SE Sig
pureMaracas' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< do
Sig
asig <- Sig -> Sig -> SE Sig
noise Sig
1 Sig
0.04
Sig -> SE Sig
forall (m :: * -> *) a. Monad m => a -> m a
return (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
0.35 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
2000 (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson Sig
asig Sig
9000 Sig
4000 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
2
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1,D
dur,-D
4,D
0]
quijada :: SE Sig
quijada :: SE Sig
quijada = MpSpec -> SE Sig
quijada' MpSpec
qjSpec
qjSpec :: MpSpec
qjSpec :: MpSpec
qjSpec = D -> D -> MpSpec
defSpec D
0.817 D
550
quijada' :: MpSpec -> SE Sig
quijada' :: MpSpec -> SE Sig
quijada' MpSpec
spec = MpSpec -> SE Sig
pureQuijada' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureQuijada' :: MpSpec -> SE Sig
pureQuijada' :: MpSpec -> SE Sig
pureQuijada' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
bhp Sig
cps (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
6 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ D -> Sig -> Sig
phi D
dur (Sig
1Sig -> Sig -> Sig
forall a. Fractional a => a -> a -> a
/Sig
22.7272) Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ D -> Sig -> Sig
phi (D
dur D -> D -> D
forall a. Num a => a -> a -> a
* D
0.39) (Sig
1Sig -> Sig -> Sig
forall a. Fractional a => a -> a -> a
/Sig
13.1579)
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
phi :: D -> Sig -> Sig
phi D
dt Sig
freq = Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul Sig
kenv (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson (Sig -> Sig -> Sig
mpulse Sig
1 Sig
freq) Sig
2727 Sig
400 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1
where kenv :: Sig
kenv = [D] -> Sig
transeg [D
0.8,D
0.05,D
1, D
1,D
dtD -> D -> D
forall a. Num a => a -> a -> a
-D
0.05,-D
6,D
0]
tamb :: SE Sig
tamb :: SE Sig
tamb = MpSpec -> SE Sig
tamb' MpSpec
tamSpec
tamSpec :: MpSpec
tamSpec :: MpSpec
tamSpec = D -> D -> MpSpec
defSpec D
0.271 D
7000
tamb', pureTamb' :: MpSpec -> SE Sig
tamb' :: MpSpec -> SE Sig
tamb' MpSpec
spec = MpSpec -> SE Sig
pureTamb' (MpSpec -> SE Sig) -> SE MpSpec -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< MpSpec -> SE MpSpec
rndSpec MpSpec
spec
pureTamb' :: MpSpec -> SE Sig
pureTamb' MpSpec
spec = Sig -> SE Sig
toDrum (Sig -> SE Sig) -> SE Sig -> SE Sig
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< do
Sig
anoise <- Sig -> Sig -> SE Sig
noise Sig
1 Sig
0
Sig -> SE Sig
forall (m :: * -> *) a. Monad m => a -> m a
return (Sig -> SE Sig) -> Sig -> SE Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig
forall a. SigSpace a => Sig -> a -> a
mul (Sig
1.5 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* D -> Sig
fadeOut D
dur)
(Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson (Sig -> Sig -> Sig
bhp Sig
cps (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ (Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ (Sig
anoise Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
0.1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv)) (Sig -> Sig) -> Sig -> Sig
forall a b. (a -> b) -> a -> b
$ Sig -> Sig -> Sig -> Sig
reson (Sig
anoise Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
aenv) Sig
4600 Sig
100 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
2) Sig
9000 Sig
3000 Sig -> D -> Sig
forall a. Tuple a => a -> D -> a
`withD` D
1
where
dur :: D
dur = MpSpec -> D
mpDur MpSpec
spec
cps :: Sig
cps = D -> Sig
sig (D -> Sig) -> D -> Sig
forall a b. (a -> b) -> a -> b
$ MpSpec -> D
mpCps MpSpec
spec
aenv :: Sig
aenv = [D] -> Sig
transeg [D
1,D
dur,-D
8,D
0]
mkSam :: SE Sig -> Sam
mkSam :: SE Sig -> Sam
mkSam = Sig -> SE Sig -> Sam
forall a. ToSam a => Sig -> a -> Sam
limSam Sig
4
bd :: Sam
bd :: Sam
bd = SE Sig -> Sam
mkSam SE Sig
bass
sn1 :: Sam
sn1 :: Sam
sn1 = SE Sig -> Sam
mkSam SE Sig
snare1
sn2 :: Sam
sn2 :: Sam
sn2 = Sig -> SE Sig -> Sam
forall a. ToSam a => Sig -> a -> Sam
limSam Sig
2 SE Sig
snare2
rim :: Sam
rim :: Sam
rim = Sig -> SE Sig -> Sam
forall a. ToSam a => Sig -> a -> Sam
limSam Sig
1 SE Sig
rimShot
cym1 :: Sam
cym1 :: Sam
cym1 = SE Sig -> Sam
mkSam SE Sig
cymbal1
cym2 :: Sam
cym2 :: Sam
cym2 = SE Sig -> Sam
mkSam SE Sig
cymbal2
bon1 :: Sam
bon1 :: Sam
bon1 = SE Sig -> Sam
mkSam SE Sig
bongo1
bon2 :: Sam
bon2 :: Sam
bon2 = SE Sig -> Sam
mkSam SE Sig
bongo2
bon3 :: Sam
bon3 :: Sam
bon3 = SE Sig -> Sam
mkSam SE Sig
bongo3
cl :: Sam
cl :: Sam
cl = SE Sig -> Sam
mkSam SE Sig
claves
cow :: Sam
cow :: Sam
cow = SE Sig -> Sam
mkSam SE Sig
cowbell
gro :: Sam
gro :: Sam
gro = SE Sig -> Sam
mkSam SE Sig
guiro
mar :: Sam
mar :: Sam
mar = SE Sig -> Sam
mkSam SE Sig
maracas
qj :: Sam
qj :: Sam
qj = SE Sig -> Sam
mkSam SE Sig
quijada
tam :: Sam
tam :: Sam
tam = SE Sig -> Sam
mkSam SE Sig
tamb
mkSam' :: (t -> SE Sig) -> t -> Sam
mkSam' :: (t -> SE Sig) -> t -> Sam
mkSam' t -> SE Sig
f t
spec = SE Sig -> Sam
mkSam (SE Sig -> Sam) -> SE Sig -> Sam
forall a b. (a -> b) -> a -> b
$ t -> SE Sig
f t
spec
bd' :: MpSpec -> Sam
bd' :: MpSpec -> Sam
bd' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
bass'
sn1' :: MpSpec -> Sam
sn1' :: MpSpec -> Sam
sn1' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
snare1'
sn2' :: MpSpec -> Sam
sn2' :: MpSpec -> Sam
sn2' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
snare2'
rim' :: MpSpec -> Sam
rim' :: MpSpec -> Sam
rim' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
rimShot'
cym1' :: MpSpec -> Sam
cym1' :: MpSpec -> Sam
cym1' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
cymbal1'
cym2' :: MpSpec -> Sam
cym2' :: MpSpec -> Sam
cym2' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
cymbal2'
bon1' :: MpSpec -> Sam
bon1' :: MpSpec -> Sam
bon1' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
bongo1'
bon2' :: MpSpec -> Sam
bon2' :: MpSpec -> Sam
bon2' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
bongo2'
bon3' :: MpSpec -> Sam
bon3' :: MpSpec -> Sam
bon3' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
bongo3'
cl' :: MpSpec -> Sam
cl' :: MpSpec -> Sam
cl' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
claves'
cow' :: MpSpec -> Sam
cow' :: MpSpec -> Sam
cow' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
cowbell'
gro' :: MpSpec -> Sam
gro' :: MpSpec -> Sam
gro' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
guiro'
mar' :: MpSpec -> Sam
mar' :: MpSpec -> Sam
mar' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
maracas'
qj' :: MpSpec -> Sam
qj' :: MpSpec -> Sam
qj' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
quijada'
tam' :: MpSpec -> Sam
tam' :: MpSpec -> Sam
tam' = (MpSpec -> SE Sig) -> MpSpec -> Sam
forall t. (t -> SE Sig) -> t -> Sam
mkSam' MpSpec -> SE Sig
tamb'