{-# LANGUAGE RecordWildCards #-}
module Solkattu.Score.Solkattu2019 where
import Prelude hiding ((.), (^), repeat)
import Solkattu.Dsl.Solkattu
c_19_04_15 :: Korvai
c_19_04_15 :: Korvai
c_19_04_15 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
4 Int
15 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi StrokeMaps
mridangam
[ forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3)
[ Sequence Group (Note Sollu)
startforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
end
, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
2 (Sequence Group (Note Sollu)
startforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
end)
, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 (Sequence Group (Note Sollu)
startforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
end)
, Sequence Group (Note Sollu)
end, Sequence Group (Note Sollu)
end
, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 Sequence Group (Note Sollu)
end, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 Sequence Group (Note Sollu)
end
]
, let end2 :: Sequence Group (Note Sollu)
end2 = Sequence Group (Note Sollu)
endforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat in forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Tag
2forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
[ Sequence Group (Note Sollu)
startforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
end2
, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
2 (Sequence Group (Note Sollu)
startforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
end2)
, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 (Sequence Group (Note Sollu)
startforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
end2)
, Sequence Group (Note Sollu)
end2, Sequence Group (Note Sollu)
end2
, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 Sequence Group (Note Sollu)
end2, forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 Sequence Group (Note Sollu)
end2
, Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat, Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat
]
]
where
start :: Sequence Group (Note Sollu)
start = Sequence Group (Note Sollu)
startS forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
nakatiku
startS :: Sequence Group (Note Sollu)
startS = Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka)
end :: Sequence Group (Note Sollu)
end = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
duguforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ga
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence Group (Note Sollu)
startS, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
end, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
dhom, forall {g}. Sequence g (Note (Stroke Stroke))
o)
, (Tag
2forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
dhom, forall {g}. Sequence g (Note (Stroke Stroke))
od)
, (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
]
c_19_06_17 :: Korvai
c_19_06_17 :: Korvai
c_19_06_17 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
6 Int
17 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi StrokeMaps
mridangam
[ Sequence Group (Note Sollu)
seq
, forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 Sequence Group (Note Sollu)
seq
]
where
seq :: Sequence Group (Note Sollu)
seq = Int -> Sequence Group (Note Sollu)
theme Int
1 forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
theme Int
2 forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
theme Int
3 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p6 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p7
theme :: Int -> Sequence Group (Note Sollu)
theme Int
n = Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.forall a. Monoid a => Int -> a -> a
repeat Int
n Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence Group (Note Sollu)
takita, forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
taka, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
dheem, forall {g}. Sequence g (Note (Stroke Stroke))
od)
]
c_19_07_15 :: Korvai
c_19_07_15 :: Korvai
c_19_07_15 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
7 Int
15 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
let var :: Sequence Group (Note Sollu) -> Section
var Sequence Group (Note Sollu)
th = forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
8 forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
th in
[ Sequence Group (Note Sollu) -> Section
var Sequence Group (Note Sollu)
th0a
, Sequence Group (Note Sollu) -> Section
var Sequence Group (Note Sollu)
th0b
, Sequence Group (Note Sollu) -> Section
var Sequence Group (Note Sollu)
th0c
, forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
th0a
, forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall sollu.
Stack =>
SequenceT sollu -> Duration -> SequenceT sollu
sarvaD Sequence Group (Note Sollu)
sarvaPlainS Duration
8
, forall a. a -> Section a
ending forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$
Sequence Group (Note Sollu)
th1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinga
forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
2 (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
rdropM FMatra
2 Sequence Group (Note Sollu)
th1) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinga
forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
4 (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
rdropM FMatra
4 Sequence Group (Note Sollu)
th1)
forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
group (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note Sollu)
dinga (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dingaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)))
]
where
th0a :: Sequence Group (Note Sollu)
th0a = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
tangaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
th0
th0b :: Sequence Group (Note Sollu)
th0b = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
tangaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
th0
th0c :: Sequence Group (Note Sollu)
th0c = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
th0
th0 :: Sequence Group (Note Sollu)
th0 = Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dingaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat
th1 :: Sequence Group (Note Sollu)
th1 = Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dingaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
sarva :: Duration -> Sequence Group (Note Sollu)
sarva = forall sollu.
Stack =>
SequenceT sollu -> Duration -> SequenceT sollu
sarvaD Sequence Group (Note Sollu)
sarvaS
sarvaS :: Sequence Group (Note Sollu)
sarvaS = forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
namiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
namiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
namforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
sarvaPlainS :: Sequence Group (Note Sollu)
sarvaPlainS = forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
namiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
namiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimi
dimi :: Sequence Group (Note Sollu)
dimi = Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
mi; nami :: Sequence Group (Note Sollu)
nami = Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
mi
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence Group (Note Sollu)
sarvaS, let rh :: Sequence g (Note (Stroke Stroke))
rh = forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k
in forall {g}. Sequence g (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Sequence Group (Note (Stroke Stroke))
"oo_o_oo_o_oo_o" forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& (forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o))
, (Sequence Group (Note Sollu)
sarvaPlainS, let rh :: Sequence g (Note (Stroke Stroke))
rh = forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
l
in forall {g}. Sequence g (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Sequence Group (Note (Stroke Stroke))
"oo_o_oo_o_oo_oo_" forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& (forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o))
, (Sequence Group (Note Sollu)
tangaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dit, forall {g}. Sequence g (Note (Stroke Stroke))
vforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
, (Sequence Group (Note Sollu)
tangaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tang, forall {g}. Sequence g (Note (Stroke Stroke))
vforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
v)
, (Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
vforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
th1, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
, (Sequence Group (Note Sollu)
th0, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
dinga, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
, (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
, (Sequence Group (Note Sollu)
ta, forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
]
e_19_09_23_kandam :: Korvai
e_19_09_23_kandam :: Korvai
e_19_09_23_kandam = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
9 Int
23 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$
Text -> Korvai -> Korvai
comment Text
"practice for kandam part of trikalam" forall a b. (a -> b) -> a -> b
$
Text -> Text -> Korvai -> Korvai
similarTo Text
"Solkattu2017" Text
"c_17_07_13" forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi forall a. Monoid a => a
mempty
[ forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
5 forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
purvangam forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
utarangam
]
where
purvangam :: Sequence Group (Note Sollu)
purvangam = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence Group (Note Sollu)
tdgnt
utarangam :: Sequence Group (Note Sollu)
utarangam = forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tdgnt
e_19_10_14_kandam :: Korvai
e_19_10_14_kandam :: Korvai
e_19_10_14_kandam = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
10 Int
14 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi forall a. Monoid a => a
mempty forall a b. (a -> b) -> a -> b
$
forall a b. (a -> b) -> [a] -> [b]
map (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
5)
[ Sequence Group (Note Sollu)
t1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kpnpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t1
forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
4 Sequence Group (Note Sollu)
tdgnt forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
3 Sequence Group (Note Sollu)
tdgnt forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
2 Sequence Group (Note Sollu)
tdgnt forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tdgnt
, forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
3 (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
takita)
forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
4 Sequence Group (Note Sollu)
tdgnt forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
2 Sequence Group (Note Sollu)
tdgnt forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tdgnt
, forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Sollu)]
reduction (Sequence Group (Note Sollu)
dingaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinga)
forall a. Monoid a => a -> a -> a
. forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Sollu)]
reduction (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5)
forall a. Monoid a => a -> a -> a
. forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Sollu)]
reduction (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
forall a. Monoid a => a -> a -> a
. forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Sollu)]
reduction Sequence Group (Note Sollu)
dinga
forall a. Monoid a => a -> a -> a
. forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Sollu)]
reduction (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
takita
]
where
t1 :: Sequence Group (Note Sollu)
t1 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinga
reduction :: [Sequence Group (Note Sollu)]
reduction = forall a b. (a -> b) -> [a] -> [b]
map forall sollu. SequenceT sollu -> SequenceT sollu
group [Sequence Group (Note Sollu)
takadinna, Sequence Group (Note Sollu)
takita, Sequence Group (Note Sollu)
taka, Sequence Group (Note Sollu)
ta, forall a. Monoid a => a
ø]
c_19_10_28_kandam :: Korvai
c_19_10_28_kandam :: Korvai
c_19_10_28_kandam = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
10 Int
28 forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"Patri Satish Kumar" forall a b. (a -> b) -> a -> b
$
Stack => Text -> String -> Korvai -> Korvai
recording Text
"https://youtu.be/XpIMZwz-YbI" String
"6:13" forall a b. (a -> b) -> a -> b
$
Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
forall a b. (a -> b) -> [a] -> [b]
map (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
5)
[ forall a. (Semigroup a, Monoid a) => a -> [a] -> a
suffixes (Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
[Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4, forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4), forall a. Monoid a => a -> a
r3 (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)]
forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p5
forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
kpforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
kpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
kpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5
forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
kpnpforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ (Sequence Group (Note Sollu)
kpnpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5)
]
where
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
, (Sequence Group (Note Sollu)
takadinna, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
takita, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
taka, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
ta, forall {g}. Sequence g (Note (Stroke Stroke))
k)
]
e_19_11_11_kandam :: Korvai
e_19_11_11_kandam :: Korvai
e_19_11_11_kandam =
Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
11 Int
11 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> Sequence Group (Note Sollu) -> Korvai
korvaiS1 Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
5 forall a b. (a -> b) -> a -> b
$ forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes
[ Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna, forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna, forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takita
, forall sollu. Int -> SequenceT sollu
__M Int
3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, forall sollu. Int -> SequenceT sollu
__M Int
4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ta, forall sollu. Int -> SequenceT sollu
__M Int
5
] Sequence Group (Note Sollu)
p5
forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ Sequence Group (Note Sollu)
p5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5)
where
p5 :: Sequence Group (Note Sollu)
p5 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
nang forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita)forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thom
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence Group (Note Sollu)
ta, forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
taka, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
, (Sequence Group (Note Sollu)
takita, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence Group (Note Sollu)
p5, forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
]