{-# LANGUAGE RecordWildCards #-}
module Solkattu.Score.SolkattuMohra where
import Prelude hiding ((.), (^), repeat)
import qualified Solkattu.Instrument.KendangTunggal as KendangTunggal
import qualified Solkattu.Korvai as Korvai
import qualified Solkattu.Score.Mohra as Mohra
import qualified Solkattu.Tala as Tala
import Solkattu.Dsl.Solkattu hiding (korvai1)
korvais :: Tala.Tala -> Korvai.StrokeMaps -> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence), (Sequence, Sequence, Sequence))]
-> Korvai
korvais :: Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence),
(Sequence, Sequence, Sequence))]
-> Korvai
korvais Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform = forall sollu a.
([Section (SequenceT sollu)] -> Korvai)
-> (a -> SequenceT sollu) -> [((a, a, a), (a, a, a))] -> Korvai
Mohra.korvais (Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
tala StrokeMaps
smaps) Sequence -> Sequence
transform
korvai1 :: Tala.Tala -> Korvai.StrokeMaps -> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence) -> Korvai
korvai1 :: Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Korvai
korvai1 Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform (Sequence, Sequence, Sequence)
as (Sequence, Sequence, Sequence)
bs = Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence),
(Sequence, Sequence, Sequence))]
-> Korvai
korvais Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform [((Sequence, Sequence, Sequence)
as, (Sequence, Sequence, Sequence)
bs)]
mohraKorvai :: Tala.Tala -> Korvai.StrokeMaps -> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Sequence
-> Korvai
mohraKorvai :: Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Sequence
-> Korvai
mohraKorvai Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform (Sequence, Sequence, Sequence)
as (Sequence, Sequence, Sequence)
bs Sequence
korvai_ =
Korvai -> Korvai
mohra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
tala StrokeMaps
smaps
[ forall sollu. Text -> Section sollu -> Section sollu
withTypeS Text
"mohra" forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a sollu.
(a -> SequenceT sollu) -> (a, a, a) -> (a, a, a) -> SequenceT sollu
Mohra.make Sequence -> Sequence
transform (Sequence, Sequence, Sequence)
as (Sequence, Sequence, Sequence)
bs
, forall sollu. Text -> Section sollu -> Section sollu
withTypeS Text
"korvai" forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s Sequence
korvai_
]
makeMohras2 :: Tala.Tala -> Korvai.StrokeMaps -> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence), (Sequence, Sequence, Sequence))]
-> Korvai
makeMohras2 :: Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence),
(Sequence, Sequence, Sequence))]
-> Korvai
makeMohras2 Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform =
Korvai -> Korvai
mohra forall b c a. (b -> c) -> (a -> b) -> a -> c
• Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
tala StrokeMaps
smaps forall b c a. (b -> c) -> (a -> b) -> a -> c
• forall a b. (a -> b) -> [a] -> [b]
map (forall a. a -> Section a
section forall b c a. (b -> c) -> (a -> b) -> a -> c
• forall a sollu.
(a -> SequenceT sollu) -> ((a, a, a), (a, a, a)) -> SequenceT sollu
Mohra.make2 Sequence -> Sequence
transform)
makeMohra2 :: Tala.Tala -> Korvai.StrokeMaps -> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence) -> (Sequence, Sequence, Sequence)
-> Korvai
makeMohra2 :: Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Korvai
makeMohra2 Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform (Sequence, Sequence, Sequence)
as (Sequence, Sequence, Sequence)
bs =
Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence),
(Sequence, Sequence, Sequence))]
-> Korvai
makeMohras2 Tala
tala StrokeMaps
smaps Sequence -> Sequence
transform [((Sequence, Sequence, Sequence)
as, (Sequence, Sequence, Sequence)
bs)]
c_mohra :: Korvai
c_mohra :: Korvai
c_mohra = Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> [((Sequence, Sequence, Sequence),
(Sequence, Sequence, Sequence))]
-> Korvai
korvais Tala
adi (StrokeMaps
mridangamforall a. Semigroup a => a -> a -> a
<>StrokeMaps
kendang) forall g sollu. Sequence g sollu -> Sequence g sollu
su
[ ((Sequence
a1, Sequence
a2, Sequence
a1), (Sequence
b1, Sequence
b2, Sequence
b3))
, ((Sequence
a1, Sequence
a2, Sequence
a1), (Sequence
b12, Sequence
b22, Sequence
b32))
]
where
a1 :: Sequence
a1 = Sequence
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
.Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
kitaforall a. Monoid a => a -> a -> a
.Sequence
nakatiku
a2 :: Sequence
a2 = Sequence
naforall a. Monoid a => a -> a -> a
.Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
ditforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
kitaforall a. Monoid a => a -> a -> a
.Sequence
nakatiku
b1 :: Sequence
b1 = Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
b2 :: Sequence
b2 = Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langaforall a. Monoid a => a -> a -> a
.Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
b3 :: Sequence
b3 = forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
b12 :: Sequence
b12 = forall g sollu. Matra -> Sequence g sollu -> Sequence g sollu
nadai Matra
3 forall a b. (a -> b) -> a -> b
$ Sequence
naforall a. Monoid a => a -> a -> a
.Sequence
kitaforall a. Monoid a => a -> a -> a
.Sequence
takitaforall a. Monoid a => a -> a -> a
.Sequence
takitaforall a. Monoid a => a -> a -> a
.Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3
b22 :: Sequence
b22 = forall g sollu. Matra -> Sequence g sollu -> Sequence g sollu
nadai Matra
3 forall a b. (a -> b) -> a -> b
$ Sequence
takitaforall a. Monoid a => a -> a -> a
.Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3
b32 :: Sequence
b32 = forall g sollu. Matra -> Sequence g sollu -> Sequence g sollu
nadai Matra
3 forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence
tanga (Sequence
naforall a. Monoid a => a -> a -> a
.Sequence
kitaforall a. Monoid a => a -> a -> a
.Sequence
takita)
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence
dit, forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
tangforall a. Monoid a => a -> a -> a
.Sequence
kita, forall {g}. Sequence g (Note (Stroke Stroke))
uforall 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
naforall a. Monoid a => a -> a -> a
.Sequence
ka, forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
, (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langa, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall 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
dinforall a. Monoid a => a -> a -> a
.Sequence
tat, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
dheem, forall {g}. Sequence g (Note (Stroke Stroke))
od)
, (Sequence
naforall a. Monoid a => a -> a -> a
.Sequence
kita, 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))
n)
, (Sequence
takita, 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))
k)
, (Sequence
tanga, 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)
]
kendang :: StrokeMaps
kendang = StrokeMap Stroke -> StrokeMaps
makeKendang1
[ (Sequence
dit, forall {g}. Sequence g (Note (Stroke Stroke))
pk)
, (Sequence
tangforall a. Monoid a => a -> a -> a
.Sequence
kita, forall {g}. Sequence g (Note (Stroke Stroke))
oforall 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
naforall a. Monoid a => a -> a -> a
.Sequence
ka, forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langa, forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall 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
dinforall a. Monoid a => a -> a -> a
.Sequence
tat, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
, (Sequence
dheem, forall {g}. Sequence g (Note (Stroke Stroke))
a)
, (Sequence
naforall a. Monoid a => a -> a -> a
.Sequence
kita, forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
, (Sequence
takita, 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))
p)
, (Sequence
tanga, forall {g}. Sequence g (Note (Stroke Stroke))
aforall 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)
] where KendangTunggal.Strokes {Sequence g (Note (Stroke Stroke))
a :: forall a. Strokes a -> a
o :: forall a. Strokes a -> a
k :: forall a. Strokes a -> a
å :: forall a. Strokes a -> a
u :: forall a. Strokes a -> a
t :: forall a. Strokes a -> a
p :: forall a. Strokes a -> a
pk :: forall a. Strokes a -> a
å :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes
c_mohra2 :: Korvai
c_mohra2 :: Korvai
c_mohra2 = Korvai -> Korvai
janahan forall a b. (a -> b) -> a -> b
$ Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Korvai
korvai1 Tala
adi StrokeMaps
mridangam forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
a1, Sequence
a2, Sequence
a3) (Sequence
b1, Sequence
b2, Sequence
b3)
where
a_ :: Sequence
a_ = Sequence
kitatakaforall a. Monoid a => a -> a -> a
.Sequence
nakatiku
a1 :: Sequence
a1 = Sequence
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence
a_
a2 :: Sequence
a2 = Sequence
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2forall a. Monoid a => a -> a -> a
.Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence
a_
a3 :: Sequence
a3 = Sequence
ditforall a. Monoid a => a -> a -> a
.Sequence
tang forall a. Monoid a => a -> a -> a
. Sequence
a_
b1 :: Sequence
b1 = forall a. Monoid a => Matra -> a -> a
repeat Matra
3 (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
ga) forall a. Monoid a => a -> a -> a
. Sequence
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
b2 :: Sequence
b2 = Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
ga forall a. Monoid a => a -> a -> a
. Sequence
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
b3 :: Sequence
b3 = forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => Matra -> a -> a
repeat Matra
2 (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
ga)
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence
dit, forall {g}. Sequence g (Note (Stroke Stroke))
t)
, (Sequence
tang, forall {g}. Sequence g (Note (Stroke Stroke))
o)
, (Sequence
kitataka, 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
taforall a. Monoid a => a -> a -> a
.Sequence
ga, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
u)
, (Sequence
dhom, forall {g}. Sequence g (Note (Stroke Stroke))
o)
]
c_mohra_youtube :: Korvai
c_mohra_youtube :: Korvai
c_mohra_youtube = Text -> Korvai -> Korvai
source Text
"Melakkaveri Balaji" forall a b. (a -> b) -> a -> b
$
Stack => Text -> String -> Korvai -> Korvai
recording Text
"https://www.youtube.com/watch?v=eq-DZeJi8Sk" String
"59-2:07" forall a b. (a -> b) -> a -> b
$
Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Korvai
makeMohra2 Tala
adi StrokeMaps
mridangam forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
a1, Sequence
a2, Sequence
a3) (Sequence
b1, Sequence
b2, Sequence
b3)
where
a1 :: Sequence
a1 = forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
dhomforall a. Monoid a => a -> a -> a
.Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
ta forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
kiforall a. Monoid a => a -> a -> a
.Sequence
ta forall a. Monoid a => a -> a -> a
. Sequence
nakatiku
a2 :: Sequence
a2 = Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
kiforall a. Monoid a => a -> a -> a
.Sequence
ta forall a. Monoid a => a -> a -> a
. Sequence
nakatiku
a3 :: Sequence
a3 = Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
dhomforall a. Monoid a => a -> a -> a
.Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
ta forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
kiforall a. Monoid a => a -> a -> a
.Sequence
ta forall a. Monoid a => a -> a -> a
. Sequence
nakatiku
b1 :: Sequence
b1 = Sequence
taka forall a. Monoid a => a -> a -> a
. Sequence
tangforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence
ga forall a. Monoid a => a -> a -> a
. Sequence
tangforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence
ga forall a. Monoid a => a -> a -> a
. Sequence
tangforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence
ga forall a. Monoid a => a -> a -> a
. Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
b2 :: Sequence
b2 = Sequence
taka forall a. Monoid a => a -> a -> a
. Sequence
tangforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
b3 :: Sequence
b3 = Sequence
taka forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
kitataka) (Sequence
tangforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence
dhomforall a. Monoid a => a -> a -> a
.Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
ta, 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))
u)
, (Sequence
kiforall a. Monoid a => a -> a -> a
.Sequence
ta, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.Sequence
din, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
iforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
i)
, (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
kiforall a. Monoid a => a -> a -> a
.Sequence
ta, 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
ka, forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
takaforall a. Monoid a => a -> a -> a
.Sequence
tang, 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))
od)
, (Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
tang, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
, (Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.Sequence
tang, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
u)
, (Sequence
kitataka, 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))
o)
, (Sequence
gaforall a. Monoid a => a -> a -> a
.Sequence
din, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
]
misra1 :: Korvai
misra1 :: Korvai
misra1 = Stack => Matra -> Matra -> Matra -> Korvai -> Korvai
date Matra
2019 Matra
4 Matra
14 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala
-> StrokeMaps
-> (Sequence -> Sequence)
-> (Sequence, Sequence, Sequence)
-> (Sequence, Sequence, Sequence)
-> Korvai
korvai1 Tala
Tala.misra_chapu StrokeMaps
mridangam forall a. a -> a
id
(Sequence
a1, Sequence
a2, Sequence
a1) (Sequence
b1, Sequence
b2, Sequence
b3)
where
a1 :: Sequence
a1 = Sequence
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
takaforall a. Monoid a => a -> a -> a
.Sequence
nakatiku
a2 :: Sequence
a2 = Sequence
naforall a. Monoid a => a -> a -> a
.Sequence
kaforall a. Monoid a => a -> a -> a
.Sequence
ditforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
kitaforall a. Monoid a => a -> a -> a
.Sequence
nakatiku
b1 :: Sequence
b1 = Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
b2 :: Sequence
b2 = Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langaforall a. Monoid a => a -> a -> a
.Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
b3 :: Sequence
b3 = forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langaforall a. Monoid a => a -> a -> a
.Sequence
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
[ (Sequence
tamforall a. Monoid a => a -> a -> a
.Sequence
taka, Sequence Group (Note (Stroke Stroke))
onforall 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
dit, forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
tangforall a. Monoid a => a -> a -> a
.Sequence
kita, forall {g}. Sequence g (Note (Stroke Stroke))
uforall 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
naforall a. Monoid a => a -> a -> a
.Sequence
ka, forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
, (Sequence
taforall a. Monoid a => a -> a -> a
.Sequence
langa, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall 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
dinforall a. Monoid a => a -> a -> a
.Sequence
tat, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
, (Sequence
dheem, forall {g}. Sequence g (Note (Stroke Stroke))
od)
]