-- Copyright 2018 Evan Laforge
-- This program is distributed under the terms of the GNU General Public
-- License 3.0, see COPYING or http://www.gnu.org/licenses/gpl-3.0.txt

{-# LANGUAGE RecordWildCards #-}
-- | Solkattu scores from 2018.
module Solkattu.Score.Solkattu2018 where
import           Prelude hiding ((.), (^), repeat)

import qualified Solkattu.Instrument.KendangTunggal as KendangTunggal
import qualified Solkattu.Korvai as Korvai
import qualified Solkattu.Score.SolkattuMohra as SolkattuMohra
import qualified Solkattu.Tala as Tala

import           Solkattu.Dsl.Solkattu


yt_mannargudi1 :: Korvai
yt_mannargudi1 :: Korvai
yt_mannargudi1 = Text -> Korvai -> Korvai
source Text
"Mannargudi Easwaran" forall a b. (a -> b) -> a -> b
$
        Stack => Text -> String -> Korvai -> Korvai
recording Text
"https://www.youtube.com/watch?v=E7PLgnsFBaI" String
"4:05-5:22" forall a b. (a -> b) -> a -> b
$
        Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
1 Int
12 forall a b. (a -> b) -> a -> b
$
        Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall g sollu. Sequence g sollu -> Sequence g sollu
su)
    [ forall sollu. Duration -> Section sollu -> Section sollu
endOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        forall sollu. Stack => Int -> SequenceT sollu
sarvaM_ Int
8 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall 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 sollu. SequenceT sollu -> SequenceT sollu
in3 (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
4
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall 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 sollu. SequenceT sollu -> SequenceT sollu
in3 (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trkt forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2
        forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
restD Duration
1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trkt forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
theme
    , forall sollu. Duration -> Section sollu -> Section sollu
startOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. Duration -> Section sollu -> Section sollu
eddupu (Duration
3forall a. Fractional a => a -> a -> a
/Duration
4) forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$
        forall a. Monoid a => a -> a
r3 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
theme 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
. Sequence Group (Note Sollu)
theme 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)
theme
            forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall sollu. SequenceT sollu
__3 (forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p5)
            -- Reduce __3 karvai in utarangam to __2 to arrive on sam.
    ]
    where
    theme :: Sequence Group (Note Sollu)
theme = 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ta, 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))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ta, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&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)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        -- , (tarikita, p.k.t.p)
        -- , (kitataka, k.t.p.k)
        , (Sequence Group (Note Sollu)
tarikita, 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (Sequence Group (Note Sollu)
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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        ]

e_18_02_26 :: Korvai
e_18_02_26 :: Korvai
e_18_02_26 = Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
2 Int
26 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
6)
    [ forall {sollu}. Int -> SequenceT sollu
rest Int
2 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8)
        forall a. Monoid a => a -> a -> a
. forall {sollu}. Int -> SequenceT sollu
rest Int
2 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => [a] -> a
mconcat [Sequence Group (Note Sollu)]
fwd forall a. Monoid a => a -> a -> a
. forall {sollu}. Int -> SequenceT sollu
rest Int
2 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => [a] -> a
mconcat [Sequence Group (Note Sollu)]
bwd
    , forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) (forall a. Int -> a -> [a]
replicate Int
3 (forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8))
        forall a. Monoid a => a -> a -> a
. forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) [Sequence Group (Note Sollu)]
fwd forall a. Monoid a => a -> a -> a
. forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) [Sequence Group (Note Sollu)]
bwd
    -- TODO technique: kt_ kn_ ko_ ok_ D -> kt_pkn_pko_ook_oD
    ]
    where
    p8 :: Sequence Group (Note Sollu)
p8 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ 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)
takadinna
    fwd :: [Sequence Group (Note Sollu)]
fwd = [Sequence Group (Note Sollu)
p8, forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8, forall sollu. SequenceT sollu -> SequenceT sollu
in4 Sequence Group (Note Sollu)
p8]
    bwd :: [Sequence Group (Note Sollu)]
bwd = [forall sollu. SequenceT sollu -> SequenceT sollu
in4 Sequence Group (Note Sollu)
p8, forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8, Sequence Group (Note Sollu)
p8]
    rest :: Int -> SequenceT sollu
rest Int
n = forall {sollu}. Int -> SequenceT sollu
__M (Int
nforall a. Num a => a -> a -> a
*Int
6)
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
p8, 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))
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))
k)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

in4 :: SequenceT sollu -> SequenceT sollu
in4 :: forall sollu. SequenceT sollu -> SequenceT sollu
in4 = forall sollu.
Int -> SequenceT sollu -> SequenceT sollu -> SequenceT sollu
appendEach Int
2 (forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)

yt_mannargudi2 :: Korvai
yt_mannargudi2 :: Korvai
yt_mannargudi2 = Text -> Korvai -> Korvai
source Text
"Mannargudi Easwaran" forall a b. (a -> b) -> a -> b
$
        Stack => Text -> String -> Korvai -> Korvai
recording Text
"https://www.youtube.com/watch?v=E7PLgnsFBaI" String
"9:30-10:30" forall a b. (a -> b) -> a -> b
$
        Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
2 Int
26 forall a b. (a -> b) -> a -> b
$
        Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall g sollu. Sequence g sollu -> Sequence g sollu
su))
    [ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        forall {sollu}. Int -> SequenceT sollu
sarva Int
6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p8 forall a. Monoid a => a -> a -> a
. forall {sollu}. Int -> SequenceT sollu
sarva Int
2 forall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p8
        forall a. Monoid a => a -> a -> a
. forall {sollu}. Int -> SequenceT sollu
sarva Int
1 forall 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)
kpnp forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8
    , forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        forall {sollu}. Int -> SequenceT sollu
sarva Int
2 forall 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)
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
p8 forall a. Monoid a => a -> a -> a
. forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
4 Sequence Group (Note Sollu)
p8 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
p9
            forall 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)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (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)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence Group (Note Sollu)
p8 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8
    , forall sollu. Text -> Section sollu -> Section sollu
commentS Text
"gradual transition to nadai 4" forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        (forall a. Int -> a -> [a]
replicate Int
2 (Sequence Group (Note Sollu)
p8 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8) forall a. [a] -> [a] -> [a]
++ forall a. Int -> a -> [a]
replicate Int
2 (Sequence Group (Note Sollu)
p8 forall a. Monoid a => a -> a -> a
. forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
4 Sequence Group (Note Sollu)
p8))

    , forall sollu. Duration -> Section sollu -> Section sollu
eddupu (Duration
3forall a. Fractional a => a -> a -> a
/Duration
4) forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$
        forall a. Monoid a => a -> a
r3 forall a b. (a -> b) -> a -> b
$ forall a. (Semigroup a, Monoid a) => a -> [a] -> a
suffixes (forall sollu. SequenceT sollu -> SequenceT sollu
in3 Sequence Group (Note Sollu)
p8 forall 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)
            [Sequence Group (Note Sollu)
tat_din_, forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
tat_din_, forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
tat_din_]
    , forall sollu. Duration -> Section sollu -> Section sollu
eddupu (Duration
3forall a. Fractional a => a -> a -> a
/Duration
4) forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$
        forall a. Monoid a => a -> a
r3 forall a b. (a -> b) -> a -> b
$ forall a. (Semigroup a, Monoid a) => a -> [a] -> a
suffixes (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
4 Sequence Group (Note Sollu)
p8 forall 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)
            [Sequence Group (Note Sollu)
tat_din_, forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
tat_din_, forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
tat_din_]
    ]
    where
    p8 :: Sequence Group (Note Sollu)
p8 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ 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)
takadinna
    p9 :: Sequence Group (Note Sollu)
p9 = 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)
takadinna
    tat_din_ :: Sequence Group (Note Sollu)
tat_din_ = 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)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5

    sarva :: Int -> SequenceT sollu
sarva Int
n = forall sollu. Stack => Int -> SequenceT sollu
sarvaM_ (Int
nforall a. Num a => a -> a -> a
*Int
6)
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
p8, 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))
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))
k)
        , (Sequence Group (Note Sollu)
p9, 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))
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 Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naka, 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))
nforall 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)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
tang, forall {g}. Sequence g (Note (Stroke Stroke))
u)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (Sequence Group (Note Sollu)
ga, forall {g}. Sequence g (Note (Stroke Stroke))
p)
        ]

yt_pmi1 :: Korvai
yt_pmi1 :: Korvai
yt_pmi1 = Text -> Korvai -> Korvai
source Text
"Palakkad Mani Iyer" forall a b. (a -> b) -> a -> b
$
        Stack => Text -> String -> Korvai -> Korvai
recording Text
"https://www.youtube.com/watch?v=J2xgcBY4cXg" String
"3:50-4:40" forall a b. (a -> b) -> a -> b
$
        Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
1 Int
12 forall a b. (a -> b) -> a -> b
$
        Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
Tala.triputa_tala StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
    [ 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)
sar1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
sar2forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall 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
. forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme1 forall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__7 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
sar3 forall 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)
theme1forall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall 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
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme2forall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall 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
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme2
    , Sequence Group (Note Sollu)
theme1forall 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
. forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
fill1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme2forall 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
. forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
fill1
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme2 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
utarangam
    ]
    where
    utarangam :: Sequence Group (Note Sollu)
utarangam = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
group 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)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat forall 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)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din)
    fill1 :: Sequence Group (Note Sollu)
fill1 = Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
tdgnt

    theme1 :: Sequence Group (Note Sollu)
theme1 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall 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)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka) forall 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
    theme2 :: Sequence Group (Note Sollu)
theme2 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
kaforall 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)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka) forall 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

    -- TODO awkward ad-hoc sarva
    sar1 :: Sequence Group (Note Sollu)
sar1 = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ga forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
langforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ga)
    sar2 :: Sequence Group (Note Sollu)
sar2 = Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tam
    sar3 :: Sequence Group (Note Sollu)
sar3 = Sequence Group (Note Sollu)
dinforall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
sar1, 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))
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))
uforall 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))
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 Group (Note Sollu)
sar2, 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))
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))
od)
        , (Sequence Group (Note Sollu)
sar3, forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall 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))
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))
nforall 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))
u)

        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dit, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (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 {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 Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, 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))
nforall 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))
o)
        , (Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, 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))
od)
        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
ka, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
tdgnt, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&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))
o)
        ]

yt_karaikudi1 :: Korvai
yt_karaikudi1 :: Korvai
yt_karaikudi1 = Text -> Korvai -> Korvai
source Text
"Karaikudi Mani" forall a b. (a -> b) -> a -> b
$
        Stack => Text -> String -> Korvai -> Korvai
recording Text
"https://www.youtube.com/watch?v=_33FkETjQoc" String
"1:34-2:53" forall a b. (a -> b) -> a -> b
$
        Text -> Text -> Korvai -> Korvai
similarTo Text
"Solkattu2016" Text
"c_16_12_06_sriram1" forall a b. (a -> b) -> a -> b
$
        Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
1 Int
12 forall a b. (a -> b) -> a -> b
$
        Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam
    [ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ (Duration
4forall a. Num a => a -> a -> a
+Duration
1forall a. Fractional a => a -> a -> a
/Duration
2) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme 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
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ (Duration
1forall a. Fractional a => a -> a -> a
/Duration
2)
        forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ (Duration
4forall a. Num a => a -> a -> a
+Duration
1forall a. Fractional a => a -> a -> a
/Duration
2) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    , forall sollu. Section sollu -> Section sollu
local forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakadinna
        forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
5 forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
1 Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakadinna
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakadinna
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
1 Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakadinna
        -- . theme . dropM 1 theme . dropM 2 theme . p5
        -- . theme . dropM 2 theme . dropM 4 theme . tri_ tam nakadinna

        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3 forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
1 Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note Sollu)
tam Sequence Group (Note Sollu)
nakadinna
    , forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
purvangam forall a. Monoid a => a -> a -> a
. forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 (
        forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
kitatakatam
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p5
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
kitatakatam
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p5forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
kitatakatam
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p5forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p5
        )
    -- simple versions for dummies like me
    , forall sollu. Section sollu -> Section sollu
local forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$
        let t :: Sequence Group (Note Sollu)
t = Sequence Group (Note Sollu)
taforall 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
.forall sollu. SequenceT sollu
p6
        in Sequence Group (Note Sollu)
purvangam forall a. Monoid a => a -> a -> a
. forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 (forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3) Sequence Group (Note Sollu)
t (Sequence Group (Note Sollu)
tforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t) (Sequence Group (Note Sollu)
tforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t))
    , forall sollu. Section sollu -> Section sollu
local forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$
        let tadin :: Sequence Group (Note Sollu)
tadin = 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 a. Rest a => a
__)
        in Sequence Group (Note Sollu)
purvangam forall a. Monoid a => a -> a -> a
. forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 (
            Sequence Group (Note Sollu)
tadin forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tadin forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tadin forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ forall sollu. SequenceT sollu
p6)
    ]
    where
    purvangam :: Sequence Group (Note Sollu)
purvangam = Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
nakadinna forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3)
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
nakadinna forall 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)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
nakadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din)

    theme :: Sequence Group (Note Sollu)
theme = forall sollu. SequenceT sollu -> SequenceT sollu
group 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)
theme1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
nakatiku
    theme1 :: Sequence Group (Note Sollu)
theme1 = 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    nakadinna :: Sequence Group (Note Sollu)
nakadinna = forall sollu. SequenceT sollu -> SequenceT sollu
group 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na
    kitatakatam :: Sequence Group (Note Sollu)
kitatakatam = Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
theme1, 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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&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)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
ta, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        -- TODO technique: if preceded by a rest, play kook
        , (Sequence Group (Note Sollu)
nakadinna, 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))
k)
        , (Sequence Group (Note Sollu)
kitatakatam, 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))
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))
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

c_18_03_19 :: Korvai
c_18_03_19 :: Korvai
c_18_03_19 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
3 Int
19 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
    forall a b. (a -> b) -> [a] -> [b]
map forall sollu. sollu -> Section sollu
devel
    [ (Sequence Group (Note Sollu)
kitatakaforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 Sequence Group (Note Sollu)
din) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7 forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
7
    , (Sequence Group (Note Sollu)
kitatakaforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 Sequence Group (Note Sollu)
din) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7 forall a. Monoid a => a -> a -> a
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
kitatakaforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 Sequence Group (Note Sollu)
din) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7
    , Sequence Group (Note Sollu)
kitataka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (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)
kitataka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (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
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
kitataka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (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)
kitataka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (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))
    , Sequence Group (Note Sollu)
kitataka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence Group (Note Sollu)
kitataka
        forall a. Monoid a => a -> a -> a
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
kitataka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence Group (Note Sollu)
kitataka)
    , (Sequence Group (Note Sollu)
kitatakaforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 Sequence Group (Note Sollu)
din) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7
        forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
6.5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3)) (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)
kitataka)
        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
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
5
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitataka)
        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
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
4.5
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest 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 sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitataka)
        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
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
6
    ] forall a. [a] -> [a] -> [a]
++
    [ forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$ Int -> Sequence Group (Note Sollu)
purvangam Int
3 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din)) Sequence Group (Note Sollu)
p5
    ] forall a. [a] -> [a] -> [a]
++ forall a b. (a -> b) -> [a] -> [b]
map (forall sollu. Section sollu -> Section sollu
var forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall sollu.
Stack =>
Int -> Int -> Int -> Section sollu -> Section sollu
dateS Int
2018 Int
3 Int
27 forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall sollu. sollu -> Section sollu
ending)
    [ Int -> Sequence Group (Note Sollu)
purvangam Int
2 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din)) (Sequence Group (Note Sollu)
kpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5)
    , Int -> Sequence Group (Note Sollu)
purvangam Int
1 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din)) (Sequence Group (Note Sollu)
kpnpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5)
    , Int -> Sequence Group (Note Sollu)
purvangam Int
3 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tikuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5)
    , Int -> Sequence Group (Note Sollu)
purvangam Int
2 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tiforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5)
    , Int -> Sequence Group (Note Sollu)
purvangam Int
1 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence Group (Note Sollu)
taforall 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)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tiforall 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)
kuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5)
    ]
    where
    p5 :: Sequence Group (Note Sollu)
p5 = forall sollu. SequenceT sollu -> SequenceT sollu
pattern forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    purvangam :: Int -> Sequence Group (Note Sollu)
purvangam Int
gap =
        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 sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitataka forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
din_din_na__ Int
gap
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitataka forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
din_din_na__ Int
gap
        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)
kitataka forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
din_din_na__ Int
gap
    kitataka :: Sequence Group (Note Sollu)
kitataka = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    din_din_na__ :: Int -> Sequence Group (Note Sollu)
din_din_na__ Int
gap = forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din) forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
gap)
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (Sequence Group (Note Sollu)
na, Sequence Group (Note (Stroke Stroke))
on)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
na, forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
d)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
ta, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
p5, 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))
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))
o)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
u)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tiku, 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        ]

c_18_03_28 :: Korvai
c_18_03_28 :: Korvai
c_18_03_28 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
3 Int
27 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
Tala.misra_chapu StrokeMaps
mridangam
    [ (Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7 forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
7
    , (Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7 forall a. Monoid a => a -> a -> a
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7
    , (Sequence Group (Note Sollu)
themeforall 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)
themeforall 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)
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        forall a. Monoid a => a -> a -> a
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
themeforall 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)
themeforall 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)
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    , (Sequence Group (Note Sollu)
themeforall 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)
theme forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
takeD Duration
2 Sequence Group (Note Sollu)
theme
        forall a. Monoid a => a -> a -> a
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
themeforall 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
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
takeD Duration
2 (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme)
    , (Sequence Group (Note Sollu)
themeforall 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)
kitakinakadinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
nakadinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
ga
        forall a. Monoid a => a -> a -> a
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^((Sequence Group (Note Sollu)
themeforall 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)
kitakinakadinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
nakadinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
ga)
    , (Sequence Group (Note Sollu)
themeforall 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)
kitakinakadinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (Sequence Group (Note Sollu)
kaforall 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
. Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^((Sequence Group (Note Sollu)
themeforall 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)
kitakinakadinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (Sequence Group (Note Sollu)
kaforall 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)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall sollu.
Pretty sollu =>
SequenceT sollu -> Duration -> SequenceT sollu
<== Duration
7 forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
6 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
theme
    , forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
7 forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
4.5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (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)
theme)
    , forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
7 forall a. Monoid a => a -> a -> a
. forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
3 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme)
    , forall a. Monoid a => a -> a
r3 (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall 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 -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ forall sollu. SequenceT sollu
p6)
    , forall sollu.
SequenceT sollu
-> SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tsep (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6)
        (Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita) (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.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
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
p10)
    ]
    where
    kitakinakadin :: Sequence Group (Note Sollu)
kitakinakadin = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ 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)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din
    nakadin :: Sequence Group (Note Sollu)
nakadin = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
3 Sequence Group (Note Sollu)
kitakinakadin
    p10 :: Sequence Group (Note Sollu)
p10 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    theme :: Sequence Group (Note Sollu)
theme = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ 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)
kaforall 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)
ka
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
kitakinakadin, 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))
od)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
kitakinakadin, 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))
d)
        , (Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^(Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din), forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
d)
        , (Sequence Group (Note Sollu)
theme, 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))
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)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme, 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))
dforall 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)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
d)
        , (Sequence Group (Note Sollu)
na, Sequence Group (Note (Stroke Stroke))
on)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
na, forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (Sequence Group (Note Sollu)
ga, forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
k)

        , (Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita, 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))
t)
        , (Sequence Group (Note Sollu)
p10, 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))
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))
o)
        ]

c_18_04_25 :: Korvai
c_18_04_25 :: Korvai
c_18_04_25 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
4 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$
    Text -> Text -> Korvai -> Korvai
similarTo Text
"Mridangam2013" Text
"dinnagina_sequences" forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ (Duration
4forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme
    , (Duration
2forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. (Duration
2forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme
    , forall a. Monoid a => a -> a
r2 (Duration
7 forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Duration
7 forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme)
        -- TODO open and closed sarva: o_k_d, p_k_d
    , forall a. Monoid a => a -> a
r4 forall a b. (a -> b) -> a -> b
$ forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
12 (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme
    , Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme
        -- TODO if I understood kali/tali I could use tri_
    , Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
8 Sequence Group (Note Sollu)
theme
                                 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
8 Sequence Group (Note Sollu)
theme
                    -- TODO sandi
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
8 Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dhomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
8 Sequence Group (Note Sollu)
theme)
                    -- TODO sandi again
    -- TODO incomplete
    ]
    where
    theme :: Sequence Group (Note Sollu)
theme = forall sollu. SequenceT sollu -> SequenceT sollu
group 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)
kaforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ginforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na)
    -- TODO other themes
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
theme, 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 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))
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))
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))
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))
k)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
theme, 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 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))
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))
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))
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))
k)
        , (Sequence Group (Note Sollu)
dhom, forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]

{-
    misra chapu sequence 100 bpm:

    . dinaginna sequence with 4 avartanams per section
    . dinaginna with dinnaginna taka taka talang ga
    . kita kina din
    . kita kinakadin kadin
-}

c_18_05_25 :: Korvai
c_18_05_25 :: Korvai
c_18_05_25 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
5 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        (Duration
4forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme1 forall a. Monoid a => a -> a -> a
. (Duration
4forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
1 Sequence Group (Note Sollu)
theme1 forall a. Monoid a => a -> a -> a
. (Duration
4forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
2 Sequence Group (Note Sollu)
theme1
    , forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        (Duration
2forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
theme1 forall a. Monoid a => a -> a -> a
. (Duration
2forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
1 Sequence Group (Note Sollu)
theme1 forall a. Monoid a => a -> a -> a
. (Duration
2forall a. Num a => a -> a -> a
*Duration
7) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
2 Sequence Group (Note Sollu)
theme1

    -- TODO This expresses din.__ karvai as a general connective, which is
    -- probably more accurate than the ad-hoc cases in 'tri_' or 'reduce3'.
    -- Unfortunately, this makes it hard to use 'sandi', which should be:
    --
    -- sandi . tri theme2 . sandi . tri (dropD 1 theme2)
    -- . sandi . tri (dropD 2 theme2)
    --
    -- but can't be, because 'sandi' takes the elided part explicitly, and
    -- that includes the din.__ karvais.  Since 'sandi' operates at the flat
    -- level, maybe it should be implicit after all?
    , forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$ forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) forall a b. (a -> b) -> a -> b
$ forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
        [ forall a. Int -> [a] -> [a]
take Int
3 forall a b. (a -> b) -> a -> b
$ forall sollu.
(Stack, Pretty sollu) =>
FMatra -> FMatra -> SequenceT sollu -> [SequenceT sollu]
reduceToL FMatra
0 FMatra
4 (Sequence Group (Note Sollu)
theme1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme2)
        , forall a. Int -> a -> [a]
replicate Int
2 Sequence Group (Note Sollu)
theme2
        , forall a. Int -> a -> [a]
replicate Int
2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
1 Sequence Group (Note Sollu)
theme2)
        , forall a. Int -> a -> [a]
replicate Int
2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
2 Sequence Group (Note Sollu)
theme2)
        ]
    , forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$ let theme2 :: Sequence Group (Note Sollu)
theme2 = Sequence Group (Note Sollu)
theme2' in forall sollu.
SequenceT sollu -> [SequenceT sollu] -> SequenceT sollu
join (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall a b. (a -> b) -> a -> b
$ forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
        [ forall a. Int -> [a] -> [a]
take Int
3 forall a b. (a -> b) -> a -> b
$ forall sollu.
(Stack, Pretty sollu) =>
FMatra -> FMatra -> SequenceT sollu -> [SequenceT sollu]
reduceToL FMatra
0 FMatra
4 (Sequence Group (Note Sollu)
theme1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme2)
        , forall a. Int -> a -> [a]
replicate Int
2 Sequence Group (Note Sollu)
theme2
        , forall a. Int -> a -> [a]
replicate Int
2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
1 Sequence Group (Note Sollu)
theme2)
        , forall a. Int -> a -> [a]
replicate Int
2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
2 Sequence Group (Note Sollu)
theme2)
        , forall a. Int -> a -> [a]
replicate Int
2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
4 Sequence Group (Note Sollu)
theme2)
        ]
    ]
    where
    theme1 :: Sequence Group (Note Sollu)
theme1 = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
theme1_forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku
    theme1_ :: Sequence Group (Note Sollu)
theme1_ = Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    theme2 :: Sequence Group (Note Sollu)
theme2 = forall sollu. SequenceT sollu -> SequenceT sollu
group Sequence Group (Note Sollu)
theme2_
    theme2_ :: Sequence Group (Note Sollu)
theme2_ = 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
miforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
duguforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
duguforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ga

    theme2' :: Sequence Group (Note Sollu)
theme2' = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
theme2_ forall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
theme1_, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&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)
theme2, 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 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))
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))
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))
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))
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 Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall 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))
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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (Tag
1forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

-- * HS Sudhindra

-- | Shri HSS speaks it this way.
dikutarikitataka :: Sequence
dikutarikitataka :: Sequence Group (Note Sollu)
dikutarikitataka = Sequence Group (Note Sollu)
nakatiku

print_misra_tani :: IO ()
print_misra_tani :: IO ()
print_misra_tani = (Config -> Config) -> Score -> IO ()
realizeScoreM (Abstraction -> Config -> Config
abstract Abstraction
patterns) Score
misra_tani

misra_tani :: Score
misra_tani :: Score
misra_tani = [Part Korvai] -> Score
tani
    [ forall k. Text -> Part k
Comment Text
"part 1"
    , forall k. k -> Part k
K Korvai
misra_tani1
    , forall k. k -> Part k
K Korvai
misra_to_mohra1a
    , forall k. Text -> Part k
Comment Text
"part 2"
    , forall k. k -> Part k
K Korvai
to_mohra_farans
    , forall k. k -> Part k
K Korvai
misra_tani2
    , forall k. k -> Part k
K Korvai
misra_to_mohra1b
    , forall k. k -> Part k
K Korvai
misra_to_mohra3
    , forall k. Text -> Part k
Comment Text
"part 3"
    , forall k. k -> Part k
K Korvai
misra_to_mohra4
    , forall k. k -> Part k
K forall a b. (a -> b) -> a -> b
$ Int -> Korvai -> Korvai
Korvai.index Int
0 Korvai
misra_mohras
    , forall k. k -> Part k
K Korvai
misra_muktayi1
    ]

misra_tani1 :: Korvai
misra_tani1 :: Korvai
misra_tani1 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
16 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu (StrokeMaps
mridangamforall a. Semigroup a => a -> a -> a
<>StrokeMaps
kendang)
    [ forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 forall a b. (a -> b) -> a -> b
$
        Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
      forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall 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)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
jonu)
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd2 forall a b. (a -> b) -> a -> b
$
        Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
7
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na)forall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
7
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ (Duration
7forall a. Num a => a -> a -> a
*Duration
4) forall sollu.
Pretty sollu =>
Duration -> SequenceT sollu -> SequenceT sollu
==> Sequence Group (Note Sollu)
takadugutarikita
    ]
    where
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
v)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
jonu, 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))
k)
        , (Sequence Group (Note Sollu)
na, Sequence Group (Note (Stroke Stroke))
on)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]
    kendang :: StrokeMaps
kendang = StrokeMap Stroke -> StrokeMaps
makeKendang1
        [ (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
jonu, forall {g}. Sequence g (Note (Stroke Stroke))
pforall 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))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (Sequence Group (Note Sollu)
na, forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        ] 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
k :: Sequence g (Note (Stroke Stroke))
å :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes

misra_tani2 :: Korvai
misra_tani2 :: Korvai
misra_tani2 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
16 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatadin_
    , forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatadin_
    , forall sollu. Section sollu -> Section sollu
x3 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
tatadin_
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
tatadin_)
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
tatadin_)
    , forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd Sequence Group (Note Sollu)
tatadin_ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
takaforall 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 sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd Sequence Group (Note Sollu)
tatadin_
    , forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd Sequence Group (Note Sollu)
tatadin_ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
takaforall 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 sollu. SequenceT sollu
__4)
    , forall sollu. Section sollu -> Section sollu
x3 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall 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 sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
takaforall 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 sollu. SequenceT sollu
__4)
    , forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
takaforall 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 sollu. SequenceT sollu
__4) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
takadugutarikita
    ]
    where
    tatadin_ :: Sequence Group (Note Sollu)
tatadin_ = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> 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 a. Rest a => a
__
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.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))
od)
        , (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, 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))
od)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
y)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

-- abhipriyam (telugu) -> thoughts
misra_to_mohra1a :: Korvai
misra_to_mohra1a :: Korvai
misra_to_mohra1a = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
2 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
Tala.misra_chapu (StrokeMaps
mridangamforall a. Semigroup a => a -> a -> a
<>StrokeMaps
kendang)
    [ Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tA1
    , forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ (Duration
7forall a. Num a => a -> a -> a
*Duration
3)
    , forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tA
    , forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
7 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall sollu. Stack => Duration -> SequenceT sollu
sarvaD_ Duration
4 forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
2 Sequence Group (Note Sollu)
tA1)
    , forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
tA forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
5 Sequence Group (Note Sollu)
tA) forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
7 Sequence Group (Note Sollu)
tA) forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
dropD Duration
9 Sequence Group (Note Sollu)
tA)
    ]
    where
    tA :: Sequence Group (Note Sollu)
tA = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
tA0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitatakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tA1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    tA0 :: Sequence Group (Note Sollu)
tA0 = 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)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitataka
    tA1 :: Sequence Group (Note Sollu)
tA1 = 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)
tarikitaforall 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)
tongforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tA0, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&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))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&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)
tA1, 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))
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))
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))
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 a. Rest a => a
__)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]
    kendang :: StrokeMaps
kendang = StrokeMap Stroke -> StrokeMaps
makeKendang1
        [ (Sequence Group (Note Sollu)
tA0, forall {g}. Sequence g (Note (Stroke Stroke))
pkforall 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))
pkforall 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))
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))
k)
        , (Sequence Group (Note Sollu)
tA1, forall {g}. Sequence g (Note (Stroke Stroke))
pforall 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 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))
pforall 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))
aforall 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))
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))
oforall a. Monoid a => a -> a -> a
.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))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        ] where KendangTunggal.Strokes {Sequence g (Note (Stroke Stroke))
å :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
pk :: 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
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes

misra_to_mohra1b :: Korvai
misra_to_mohra1b :: Korvai
misra_to_mohra1b = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
2 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu (StrokeMaps
mridangamforall a. Semigroup a => a -> a -> a
<>StrokeMaps
kendang)
    [ forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel Sequence Group (Note Sollu)
sarva
    , forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
sarva forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceEnd` forall sollu. SequenceT sollu -> SequenceT sollu
group (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna)
    , forall sollu. Section sollu -> Section sollu
x4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$ forall sollu.
(Stack, Pretty sollu) =>
Duration -> SequenceT sollu -> SequenceT sollu
takeD Duration
2 Sequence Group (Note Sollu)
sarvaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme
    , forall sollu. sollu -> Section sollu
ending forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
16)
            (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) (forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
takadinna))
            (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) (forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinna))
            (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) Sequence Group (Note Sollu)
takadinna)
    ]
    where
    sarva :: Sequence Group (Note Sollu)
sarva = Sequence Group (Note Sollu)
takaforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall 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)
kitaforall a. Monoid a => a -> a -> a
.forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
takaforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita)
    theme :: Sequence Group (Note Sollu)
theme = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
    theme0 :: Sequence Group (Note Sollu)
theme0 = Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitataka
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        -- sarva
        [ (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
y)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita, forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna, 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))
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))
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)

        -- ending
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
u)
        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dit, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
u)

        , (Sequence Group (Note Sollu)
theme0, 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)
takadinna, 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))
k)
        , (forall a. Monoid a => a -> a
r3 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
.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))
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))
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))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]
    kendang :: StrokeMaps
kendang = StrokeMap Stroke -> StrokeMaps
makeKendang1
        [ (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, 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))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita, forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna, 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))
aforall 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))
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))
p)

        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
u)
        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dit, forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
u)

        , (Sequence Group (Note Sollu)
theme0, 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))
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))
k)
        , (Sequence Group (Note Sollu)
takadinna, 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))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
takadinna, 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))
aforall 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))
aforall 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))
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))
aforall 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 Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        ] where KendangTunggal.Strokes {Sequence g (Note (Stroke Stroke))
å :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
t :: 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
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes

to_mohra_farans :: Korvai
to_mohra_farans :: Korvai
to_mohra_farans = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
2 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
faran forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
14
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva (Duration
7forall a. Num a => a -> a -> a
+Duration
4) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu)
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva (Duration
7forall a. Num a => a -> a -> a
+Duration
4) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na)
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
4 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakitataka
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakitataka
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakitataka
      forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
takadinnakitataka forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinnakitataka
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakitataka
      forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakitataka forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
dinnakitataka)
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
dinnakitataka)
    ]
    where
    dinnakitataka :: Sequence Group (Note Sollu)
dinnakitataka = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    takadinnakitataka :: Sequence Group (Note Sollu)
takadinnakitataka = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    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
r4 forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ 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)
taforall 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
.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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    sarvaM :: Sequence Group (Note (Stroke Stroke))
sarvaM = let rh :: Sequence Group (Note (Stroke Stroke))
rh = Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"nknnd_nkdknnd_" in
          Sequence Group (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"o_ooo_o_o_ooo_"
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"__ooo_o_o_ooo_"
        forall a. Monoid a => a -> a -> a
. Sequence Group (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))
o
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
rh
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
sarvaS, Sequence Group (Note (Stroke Stroke))
sarvaM)
        , (Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, 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 {g}. Sequence g (Note (Stroke Stroke))
k)
        , (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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na, 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (Sequence Group (Note Sollu)
dinnakitataka, forall {g}. Sequence g (Note (Stroke Stroke))
dinna)
        , (Sequence Group (Note Sollu)
takadinnakitataka, 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))
dinna)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]
        where dinna :: Sequence g (Note (Stroke Stroke))
dinna = forall {g}. Sequence g (Note (Stroke Stroke))
oforall 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

misra_to_mohra3 :: Korvai
misra_to_mohra3 :: Korvai
misra_to_mohra3 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
2 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu (StrokeMaps
mridangamforall a. Semigroup a => a -> a -> a
<>StrokeMaps
kendang) forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall sollu. sollu -> Section sollu
ending
    [ forall sollu.
(Stack, Pretty sollu) =>
FMatra -> FMatra -> SequenceT sollu -> SequenceT sollu
reduceTo FMatra
4 FMatra
2 Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
theme2
    ]
    where
    theme :: Sequence Group (Note Sollu)
theme = 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)
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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    theme2 :: Sequence Group (Note Sollu)
theme2 = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thom
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
theme, 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))
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))
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 a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        , (Sequence Group (Note Sollu)
theme2, 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 a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall 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))
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))
o)
        ]
    kendang :: StrokeMaps
kendang = StrokeMap Stroke -> StrokeMaps
makeKendang1
        [ (Sequence Group (Note Sollu)
theme, forall {g}. Sequence g (Note (Stroke Stroke))
pforall 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 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 {g}. Sequence g (Note (Stroke Stroke))
aforall 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))
uforall a. Monoid a => a -> a -> a
.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))
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))
aforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        -- TODO similar technique for kendang as for mridangam?
        -- , (din.na.din.tat.din, k.u.a.o.a)
        , (Sequence Group (Note Sollu)
theme2, 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))
pforall 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))
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))
aforall 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))
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))
a)
        ] where KendangTunggal.Strokes {Sequence g (Note (Stroke Stroke))
å :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
p :: 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
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes

misra_to_mohra4 :: Korvai
misra_to_mohra4 :: Korvai
misra_to_mohra4 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
2 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall sollu. Stack => Duration -> SequenceT sollu
restD Duration
3 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitatakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri123 (Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
dikutarikitataka
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 (Sequence Group (Note Sollu)
din_gu_ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitataka) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
din_gu_ forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
tarikitataka forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
din_gu_
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Sollu)
dim, Sequence Group (Note Sollu)
thom] (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)
dikutarikitataka))
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dikutarikitataka
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r7 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
gugunana_trkt
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 (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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
gugunana_trkt
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
gugunana_trkt
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
gugunana_trkt
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
gugunana_trkt forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8) Sequence Group (Note Sollu)
gugunana_trkt
    ]
    where
    din_gu_ :: Sequence Group (Note Sollu)
din_gu_ = Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    gugunana_trkt :: Sequence Group (Note Sollu)
gugunana_trkt = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
    tarikitataka :: Sequence Group (Note Sollu)
tarikitataka = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
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 Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (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)
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
thom, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tarikita, 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)
tarikitaforall a. Monoid a => a -> a -> a
.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))
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))
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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
na, 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, 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))
nforall 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))
k)
        ]

misra_mohras :: Korvai
misra_mohras :: Korvai
misra_mohras = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
11 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala
-> StrokeMaps
-> (Sequence Group (Note Sollu) -> Sequence Group (Note Sollu))
-> [((Sequence Group (Note Sollu), Sequence Group (Note Sollu),
      Sequence Group (Note Sollu)),
     (Sequence Group (Note Sollu), Sequence Group (Note Sollu),
      Sequence Group (Note Sollu)))]
-> Korvai
SolkattuMohra.korvais Tala
Tala.misra_chapu StrokeMaps
mridangam forall a. a -> a
id
        [ ((Sequence Group (Note Sollu)
a1, Sequence Group (Note Sollu)
a2, Sequence Group (Note Sollu)
a1), (Sequence Group (Note Sollu)
b1, Sequence Group (Note Sollu)
b2, Sequence Group (Note Sollu)
b3))
        , ((Sequence Group (Note Sollu)
c1, Sequence Group (Note Sollu)
a2, Sequence Group (Note Sollu)
c1), (Sequence Group (Note Sollu)
b1, Sequence Group (Note Sollu)
b2, Sequence Group (Note Sollu)
b3))
        ]
    where
    a1 :: Sequence Group (Note Sollu)
a1 = 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)
tikuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    a2 :: Sequence Group (Note Sollu)
a2 = Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall 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)
tikuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    b1 :: Sequence Group (Note Sollu)
b1 = Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    b2 :: Sequence Group (Note Sollu)
b2 = Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    b3 :: Sequence Group (Note Sollu)
b3 = forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)

    theme :: Sequence Group (Note Sollu)
theme = 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)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    c1 :: Sequence Group (Note Sollu)
c1 = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> FMatra -> SequenceT sollu -> SequenceT sollu
reduceTo FMatra
4 FMatra
2 Sequence Group (Note Sollu)
theme
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, 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 Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, 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 Group (Note Sollu)
tikuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thom, 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))
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))
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))
o)
        , (Sequence Group (Note Sollu)
dit, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, 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 {g}. Sequence g (Note (Stroke Stroke))
k)
        , (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)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
theme, 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))
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))
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        ]

misra_muktayi1 :: Korvai
misra_muktayi1 :: Korvai
misra_muktayi1 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
11 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> Sequence Group (Note Sollu) -> Korvai
korvaiS1 Tala
Tala.misra_chapu StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
    forall sollu.
(Stack, Pretty sollu) =>
FMatra -> FMatra -> SequenceT sollu -> SequenceT sollu
reduceTo FMatra
4 FMatra
2 Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a. Rest a => a
__) (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
p5))
    where
    theme :: Sequence Group (Note Sollu)
theme = 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)
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)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    p5 :: Sequence Group (Note Sollu)
p5 = forall sollu. SequenceT sollu -> SequenceT sollu
group 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)
kitaforall a. Monoid a => a -> a -> a
.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)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    -- TODO replace reduction fingering.  How should I express irregular
    -- fingerings like this?  Maybe with per-korvai technique?
    _fingerings :: [[Sequence g (Note (Stroke Stroke))]]
_fingerings =
        [ [] -- same: [k, t, k, k]
        , [forall {g}. Sequence g (Note (Stroke Stroke))
k, forall {g}. Sequence g (Note (Stroke Stroke))
t, forall {g}. Sequence g (Note (Stroke Stroke))
k]
        , [forall {g}. Sequence g (Note (Stroke Stroke))
k, forall {g}. Sequence g (Note (Stroke Stroke))
t]
        ]
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
dit, forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thom, 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))
o)
        , (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
di, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
p5, 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))
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))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        ]

trikalam1 :: Korvai
trikalam1 :: Korvai
trikalam1 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
16 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
trikalam forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam
    [ forall sollu. Duration -> Section sollu -> Section sollu
endOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$
        Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    , forall sollu. Duration -> Section sollu -> Section sollu
startOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. Duration -> Section sollu -> Section sollu
endOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
theme
    , forall sollu. Duration -> Section sollu -> Section sollu
startOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. Duration -> Section sollu -> Section sollu
endOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 Sequence Group (Note Sollu)
theme
    , forall sollu. Duration -> Section sollu -> Section sollu
startOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
theme
    ]
    where
    theme :: Sequence Group (Note Sollu)
theme = Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
theme0forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6) forall sollu. SequenceT sollu
p6
    theme0 :: Sequence Group (Note Sollu)
theme0 = 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
__forall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
v)
        , (Sequence Group (Note Sollu)
theme0, 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))
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))
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 a. Rest a => a
__)
        , (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.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))
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))
t)
        , (Sequence Group (Note Sollu)
di, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]
    -- At higher speed, tadi kitathom becomes tadi kitaka.

trikalam2 :: Korvai
trikalam2 :: Korvai
trikalam2 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
16 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
trikalam forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi StrokeMaps
mridangam
    [ forall sollu. Stack => Duration -> SequenceT sollu
restD Duration
2 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
seq forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 Sequence Group (Note Sollu)
seq) forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
seq)
    ]
    where
    seq :: Sequence Group (Note Sollu)
seq = forall sollu.
Pretty sollu =>
FMatra -> SequenceT sollu -> SequenceT sollu -> SequenceT sollu
reduce3 FMatra
2 forall a. Monoid a => a
ø Sequence Group (Note Sollu)
theme forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p6
    theme :: Sequence Group (Note Sollu)
theme = 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)
takadinnaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
theme, 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))
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))
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        ]

e_sarva1 :: Korvai
e_sarva1 :: Korvai
e_sarva1 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
16 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
Tala.misra_chapu 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
3)
    [ 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)
guforall 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)
gu forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takita)
    ]
    where
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takita, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        ]

e_sarva2 :: Korvai
e_sarva2 :: Korvai
e_sarva2 = Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ Sequence Group (Note Sollu)
sarva
    , Sequence Group (Note Sollu)
sarva forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
`replaceEnd` forall sollu. SequenceT sollu -> SequenceT sollu
group (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna)
    , forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
takaforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (forall sollu. SequenceT sollu -> SequenceT sollu
group (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna))
    ]
    where
    sarva :: Sequence Group (Note Sollu)
sarva = Sequence Group (Note Sollu)
takaforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall 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)
kitaforall a. Monoid a => a -> a -> a
.forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
takaforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita)
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
y)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita, forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna, 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))
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))
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)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

e_misra_tisra :: Korvai
e_misra_tisra :: Korvai
e_misra_tisra = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
Tala.misra_chapu 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
3)
    [ forall a. Monoid a => a -> a
r7 Sequence Group (Note Sollu)
takita
    , forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takita 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
p5)
    ,    Sequence Group (Note Sollu)
takita 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
p6)
    , forall a. Monoid a => a -> a
r7 Sequence Group (Note Sollu)
takita 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
p7)
    , forall a. Monoid a => a -> a
r6 Sequence Group (Note Sollu)
takita 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
p8)
    , forall a. Monoid a => a -> a
r5 Sequence Group (Note Sollu)
takita 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
p9)
    ]

-- * adi

-- Practice speed: 55
print_adi_tani :: IO ()
print_adi_tani :: IO ()
print_adi_tani = (Config -> Config) -> Score -> IO ()
realizeScoreM (Abstraction -> Config -> Config
abstract (Abstraction
patterns forall a. Semigroup a => a -> a -> a
<> Abstraction
namedGroups)) Score
adi_tani

adi_tani :: Score
adi_tani :: Score
adi_tani = [Part Korvai] -> Score
tani
    [ forall k. k -> Part k
K Korvai
adi_tani1
    , forall k. k -> Part k
K Korvai
c_18_09_25
    , forall k. k -> Part k
K Korvai
trikalam1
    , forall k. k -> Part k
K Korvai
e_sarva1_tisra
    , forall k. k -> Part k
K Korvai
e_adi_tisra
    , forall k. k -> Part k
K Korvai
c_18_08_03
    , forall k. k -> Part k
K Korvai
adi_tani_farans
    , forall k. Text -> Part k
Comment Text
"mohra"
    , forall k. k -> Part k
K Korvai
SolkattuMohra.c_mohra
    , forall k. k -> Part k
K Korvai
adi_muktayi
    ]

print_adi_tani_misra :: IO ()
print_adi_tani_misra :: IO ()
print_adi_tani_misra =
    (Config -> Config) -> Score -> IO ()
realizeScoreM (Abstraction -> Config -> Config
abstract (Abstraction
patterns forall a. Semigroup a => a -> a -> a
<> Abstraction
namedGroups)) Score
adi_tani_misra

adi_tani_misra :: Score
adi_tani_misra :: Score
adi_tani_misra = [Part Korvai] -> Score
tani
    [ -- K adi_tani1_misra
      forall k. k -> Part k
K Korvai
c_18_09_25_misra
    , forall k. k -> Part k
K Korvai
misra_trikalam
    -- K e_sarva1_tisra
    , forall k. k -> Part k
K Korvai
e_adi_tisra_misra2
    , forall k. k -> Part k
K Korvai
c_18_08_03_misra
    , forall k. k -> Part k
K Korvai
adi_tani2_misra
    , forall k. k -> Part k
K Korvai
SolkattuMohra.misra1
    , forall k. k -> Part k
K Korvai
adi_muktayi_misra
    ]

adi_tani1 :: Korvai
adi_tani1 :: Korvai
adi_tani1 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
8 Int
3 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam
    [ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r6 (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note Sollu)
din Sequence Group (Note Sollu)
tkdn
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note Sollu)
din Sequence Group (Note Sollu)
tkdn
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note Sollu)
din Sequence Group (Note Sollu)
tkdn)
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
naforall 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)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
sd (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)
kttkforall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (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)
talang_gu
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
naforall 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)
talang_gu
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
talang_gu
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva2 Duration
6 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku)
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (Duration -> Sequence Group (Note Sollu)
sarva2 Duration
2 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku))
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku))
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku))
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
sarva3aforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
sarva3')
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
sarva3bforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
sarva3')
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
sarva3cforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
sarva3')
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
sarva3dforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
sarva3')
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
sarva3bforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
sarva3' forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
sarva3b forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran2forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
sarva3b forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran2forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku))
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran2forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku))
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
faran2forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku))
    -- , endOn 4 $ s $
    --     r2 (su (faran2.nakatiku))
    --     . tri_ (din.__4) (su (faran2.nakatiku))
    ]
    where
    talang_gu :: Sequence Group (Note Sollu)
talang_gu = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
talangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu
    sarva2 :: Duration -> Sequence Group (Note Sollu)
sarva2 = forall sollu.
Stack =>
SequenceT sollu -> Duration -> SequenceT sollu
sarvaD Sequence Group (Note Sollu)
sarva2Sollu
    sarva2Sollu :: Sequence Group (Note Sollu)
sarva2Sollu = forall a. Monoid a => a -> a
r4 forall a b. (a -> b) -> a -> b
$ 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)
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> 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 a. Rest a => a
__
    faran1 :: Sequence Group (Note Sollu)
faran1 = 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)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita
    faran2 :: Sequence Group (Note Sollu)
faran2 = Sequence Group (Note Sollu)
takadugutarikita
        -- TODO HSS plays first one as ktoo... rest as tkoo...
    sarva3' :: Sequence Group (Note Sollu)
sarva3' = Tag
10forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
sarva3a
    sarva3a :: Sequence Group (Note Sollu)
sarva3a = forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
nakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din
    sarva3b :: Sequence Group (Note Sollu)
sarva3b = Tag
2forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
sarva3a
    sarva3c :: Sequence Group (Note Sollu)
sarva3c = Tag
3forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
sarva3a
    sarva3d :: Sequence Group (Note Sollu)
sarva3d = forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
nakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naka)forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
nakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
pStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
u)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
na, forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.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))
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)
talangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, 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 {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, 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))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
sarva2Sollu, let rh :: Sequence Group (Note (Stroke Stroke))
rh = Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"n,nd_nd_" in
              Sequence Group (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"o_oo_oo_"
            forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"__oo_oo_"
            forall a. Monoid a => a -> a -> a
. Sequence Group (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))
o
            forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
rh)
        , (Sequence Group (Note Sollu)
faran1, 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))
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))
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)
sarva3', Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall 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))
d)
        , (Sequence Group (Note Sollu)
sarva3a, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall 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))
odforall 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))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
yforall 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))
d)
        , (Sequence Group (Note Sollu)
sarva3b, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall 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))
odforall 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))
yforall 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))
od)
        , (Sequence Group (Note Sollu)
sarva3c, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.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))
odforall 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))
yforall 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))
od)
        , (Sequence Group (Note Sollu)
sarva3d, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall 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))
yforall 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))
odforall 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))
yforall 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))
od)
        ]

e_sarva1_tisra :: Korvai
e_sarva1_tisra :: Korvai
e_sarva1_tisra = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra 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
6)
    [ forall sollu. Stack => Duration -> SequenceT sollu
restD (Duration
4forall a. Num a => a -> a -> a
*Duration
1.5) forall 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 -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5) Sequence Group (Note Sollu)
takadinna
    , forall a. Monoid a => a -> a
r5 Sequence Group (Note Sollu)
din_gutakita forall 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)
gu 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
r5 Sequence Group (Note Sollu)
din_gutakita 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
r4 Sequence Group (Note Sollu)
din_gutakita forall 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)
gu forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p7
    , forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
din_gutakita forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p8
    , forall a. Monoid a => a -> a
r3 Sequence Group (Note Sollu)
din_gutakita forall 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)
gu forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p9
    ]
    where
    din_gutakita :: Sequence Group (Note Sollu)
din_gutakita = 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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takita
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
din_gutakita, 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))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
jforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
yforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

e_adi_tisra_misra2 :: Korvai
e_adi_tisra_misra2 :: Korvai
e_adi_tisra_misra2 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
4 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
Tala.misra_chapu 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
3)
    [ Duration -> Sequence Group (Note Sollu)
sarva Duration
7
    , Duration -> Sequence Group (Note Sollu)
sarva Duration
6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
    , Duration -> Sequence Group (Note Sollu)
sarva Duration
2.5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
2.5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
    , Duration -> Sequence Group (Note Sollu)
sarva Duration
1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
        forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
1
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3) Sequence Group (Note Sollu)
tarikitadiku
    , Sequence Group (Note Sollu) -> Sequence Group (Note Sollu)
sarvaWith (forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakttk)
    , Sequence Group (Note Sollu) -> Sequence Group (Note Sollu)
sarvaWith Sequence Group (Note Sollu)
trktkt3
    , Sequence Group (Note Sollu) -> Sequence Group (Note Sollu)
sarvaWith (forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakttk)
    ] forall a. [a] -> [a] -> [a]
++ [Sequence Group (Note Sollu)]
ending
    where
    sarva :: Duration -> Sequence Group (Note Sollu)
sarva Duration
dur = forall sollu.
Stack =>
SequenceT sollu -> Duration -> SequenceT sollu
sarvaD Sequence Group (Note Sollu)
sarvaSollu (Duration
dur forall a. Num a => a -> a -> a
* Duration
1.5)
    sarvaSollu :: Sequence Group (Note Sollu)
sarvaSollu = forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
    sarvaWith :: Sequence Group (Note Sollu) -> Sequence Group (Note Sollu)
sarvaWith Sequence Group (Note Sollu)
end = Duration -> Sequence Group (Note Sollu)
sarva Duration
5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
end
        forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
1.5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
end forall a. Monoid a => a -> a -> a
. Duration -> Sequence Group (Note Sollu)
sarva Duration
1.5 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
end
    ending :: [Sequence Group (Note Sollu)]
ending = forall a b. (a -> b) -> [a] -> [b]
map (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
3)
        [ forall a. Monoid a => a -> a
r5 Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakttk
        , forall a. Monoid a => a -> a
r5 Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
din_trktkt
        , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
din_trktkt
        , Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikita forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3
        , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikita forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3
        , forall a. Monoid a => Int -> a -> a
repeat Int
10 Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3) Sequence Group (Note Sollu)
tarikitadiku
        ]
        where tarikita :: Sequence Group (Note Sollu)
tarikita = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
3 Sequence Group (Note Sollu)
tarikitadiku

    tarikitadiku :: Sequence Group (Note Sollu)
tarikitadiku = forall sollu. Text -> SequenceT sollu -> SequenceT sollu
named Text
"6npkt" 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)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    dinnakttk :: Sequence Group (Note Sollu)
dinnakttk = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    trktkt3 :: Sequence Group (Note Sollu)
trktkt3 = forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
trktkt
    trktkt :: Sequence Group (Note Sollu)
trktkt = forall sollu. Text -> SequenceT sollu -> SequenceT sollu
named Text
"4npkt" forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    takadinnakttk :: Sequence Group (Note Sollu)
takadinnakttk = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    -- TODO this uses trkt.kttk instead of trktkt above because being a group
    -- will prevent the full din_trktkt match.
    din_trktkt :: Sequence Group (Note Sollu)
din_trktkt = 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)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitadiku
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tarikitadiku, 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))
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))
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))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
dinnakttk, forall {g}. Sequence g (Note (Stroke Stroke))
oforall 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)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinnakttk, 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))
oforall 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)
        -- High speed variant of trktkt drops the tha.
        -- Say din.__.tari.kita.kita.taka,
        -- play din.__.nang.__.kita.kita.taka
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
onforall 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))
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)
trktkt, 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))
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)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)

        , (Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk, Sequence Group (Note (Stroke Stroke))
onforall 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)
        , (Sequence Group (Note Sollu)
sarvaSollu,
              Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"n_nnd_nd_" Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"o_ooo_oo_"
            forall a. Monoid a => a -> a -> a
. Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"n_nnd_n_nnd_" Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"o_ooo_o_ooo_"
            forall a. Monoid a => a -> a -> a
. Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"n_nnd_nd_" Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& forall {g}. Sequence g (Note (Stroke Stroke))
o
            forall a. Monoid a => a -> a -> a
. Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"n_nnd_n_nnd_"
            )
        ]

e_adi_tisra :: Korvai
e_adi_tisra :: Korvai
e_adi_tisra = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
7 Int
30 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6))
    [ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
8
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
7 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
3 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitadikuforall a. Monoid a => a -> a -> a
.Duration -> Sequence Group (Note Sollu)
sarva Duration
1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitadiku
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (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)
gu) Sequence Group (Note Sollu)
tarikitadiku

    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
6 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakttk
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (Duration -> Sequence Group (Note Sollu)
sarva Duration
2 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakttk)
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
2 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakttk)
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 (Duration -> Sequence Group (Note Sollu)
sarva Duration
2 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
6 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakttk
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ Duration -> Sequence Group (Note Sollu)
sarva Duration
2 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakttk
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r8 Sequence Group (Note Sollu)
takadinnakttk
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r6 Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
dinnakttk
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r6 Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
trktkt3
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r6 Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
din_trktkt
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
takadinnakttk forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
din_trktkt
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
din_trktkt
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ 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. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
trktkt forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tarikitadiku
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
tarikitadiku forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3) Sequence Group (Note Sollu)
tarikitadiku)
    ]
    where
    -- Duration is off due to map nadai 6.  TODO this is pretty awkward.
    sarva :: Duration -> Sequence Group (Note Sollu)
sarva Duration
dur = forall sollu.
Stack =>
SequenceT sollu -> Duration -> SequenceT sollu
sarvaD Sequence Group (Note Sollu)
sarvaSollu (Duration
dur forall a. Num a => a -> a -> a
* Duration
1.5)
    sarvaSollu :: Sequence Group (Note Sollu)
sarvaSollu = forall a. Monoid a => a -> a
r4 forall a b. (a -> b) -> a -> b
$ 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)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    tarikitadiku :: Sequence Group (Note Sollu)
tarikitadiku = forall sollu. Text -> SequenceT sollu -> SequenceT sollu
named Text
"6npkt" 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)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikuforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka
    dinnakttk :: Sequence Group (Note Sollu)
dinnakttk = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    trktkt3 :: Sequence Group (Note Sollu)
trktkt3 = forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
trktkt
    trktkt :: Sequence Group (Note Sollu)
trktkt = forall sollu. Text -> SequenceT sollu -> SequenceT sollu
named Text
"4npkt" forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    takadinnakttk :: Sequence Group (Note Sollu)
takadinnakttk = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk
    -- TODO this uses trkt.kttk instead of trktkt above because being a group
    -- will prevent the full din_trktkt match.
    din_trktkt :: Sequence Group (Note Sollu)
din_trktkt = 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)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttkforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tarikitadiku
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
sarvaSollu, let rh :: Sequence Group (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))
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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ in
              Sequence Group (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"o_ooo_" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
rh Stack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
& Stack => String -> Sequence Group (Note (Stroke Stroke))
strM String
"__ooo_" forall a. Monoid a => a -> a -> a
. Sequence Group (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))
o forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
rh)
        , (Sequence Group (Note Sollu)
tarikitadiku, 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))
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))
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))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (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)
gu, 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))
o)
        , (Sequence Group (Note Sollu)
dinnakttk, forall {g}. Sequence g (Note (Stroke Stroke))
oforall 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)
        -- , (taka, o.k)
        -- TODO why doesn't match taka+dinnakttk?
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinnakttk, 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))
oforall 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)
        -- High speed variant of trktkt drops the tha.
        -- Say din.__.tari.kita.kita.taka,
        -- play din.__.nang.__.kita.kita.taka
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kttk, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
onforall 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))
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)
trktkt, 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))
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)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

c_18_08_03 :: Korvai
c_18_08_03 :: Korvai
c_18_08_03 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
8 Int
3 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra 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
6 forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note Sollu)
dit_tangforall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__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)
dit_tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall 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)
dit_tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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 sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri123 Sequence Group (Note Sollu)
dingu forall sollu. SequenceT sollu
p6
    where
    dit_tang :: Sequence Group (Note Sollu)
dit_tang = 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)
tangforall 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)
nakatiku) -- spoken taka.tari.kita.taka
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.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 Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]

c_18_08_03_misra :: Korvai
c_18_08_03_misra :: Korvai
c_18_08_03_misra = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
2 Int
26 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$
    Tala -> StrokeMaps -> Sequence Group (Note Sollu) -> Korvai
korvaiS1 Tala
Tala.misra_chapu StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$ forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
3 forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note Sollu)
takita_tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
takita_tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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)
takita_tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5
    forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri123 Sequence Group (Note Sollu)
dingu forall sollu. SequenceT sollu
p6
    where
    -- alternate starts: dit.__3, tat.tat.__
    takita_tang :: Sequence Group (Note Sollu)
takita_tang = Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall 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)
nakatiku) -- spoken taka.tari.kita.taka
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kita, 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))
oforall a. Monoid a => a -> a -> a
.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 Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]

adi_tani_farans :: Korvai
adi_tani_farans :: Korvai
adi_tani_farans = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
8 Int
3 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Sequence Group (Note Sollu)] -> Korvai
korvaiS Tala
adi StrokeMaps
mridangam
    [ forall sollu. Stack => Duration -> SequenceT sollu
restD Duration
4 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
nakatiku)
    , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tk) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dimforall 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
r2 forall a b. (a -> b) -> a -> b
$ 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)
gu forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tk)
    , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tk) forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
nakatiku
    , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tikutarikitataka)) forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall a. Monoid a => a -> a
r4 (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
4 Sequence Group (Note Sollu)
faran1) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note Sollu)
taka (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
4 Sequence Group (Note Sollu)
faran1) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
faran2 forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
4 Sequence Group (Note Sollu)
faran1 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka)
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 Sequence Group (Note Sollu)
dikutarikitataka
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
dikutarikitataka)
    ]
    where
    -- said this way, played dikutarikitataka aka nakatiku
    -- TODO maybe there should be a way to set sollus for set patterns
    -- effectively it's konnakol realization
    tikutarikitataka :: Sequence Group (Note Sollu)
tikutarikitataka = Sequence Group (Note Sollu)
dikutarikitataka
    faran1 :: Sequence Group (Note Sollu)
faran1 = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.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
    faran2 :: Sequence Group (Note Sollu)
faran2 = Sequence Group (Note Sollu)
taforall 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)
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.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))
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))
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)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
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 Group (Note Sollu)
faran1, 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))
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))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
faran2, 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))
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))
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)
        ]

adi_tani2_misra :: Korvai
adi_tani2_misra :: Korvai
adi_tani2_misra = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
4 Int
6 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
Tala.misra_chapu StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
    forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
sd
    [ forall a. Monoid a => a -> a
r4 (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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tk) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dimforall 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
. forall a. Monoid a => a -> a
r4 (Tag
2forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^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)
guforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
trktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tk) forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
4 Sequence Group (Note Sollu)
faran1) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
6 Sequence Group (Note Sollu)
faran1) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
6 Sequence Group (Note Sollu)
faran2) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
faran1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka) forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dikutarikitataka
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 Sequence Group (Note Sollu)
dikutarikitataka
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
dikutarikitataka)
    ]
    where
    faran1 :: Sequence Group (Note Sollu)
faran1 = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.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
    faran2 :: Sequence Group (Note Sollu)
faran2 = Sequence Group (Note Sollu)
taforall 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)
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        , (Sequence Group (Note Sollu)
tariforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.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))
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))
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)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
faran1, 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))
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))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
faran2, 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))
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))
k)

        , (Tag
2forall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
gu, forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        ]

adi_muktayi :: Korvai
adi_muktayi :: Korvai
adi_muktayi = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
8 Int
3 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sudhindra forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi StrokeMaps
mridangam
    [ forall sollu. Section sollu -> Section sollu
x3 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s 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)
t0 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
oknpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t0 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
ktktoknpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t0
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p6) forall 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)
oknpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6))
        forall 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)
ktktoknpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (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)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6))
    -- same thing as above, but with other ending
    , forall sollu. Section sollu -> Section sollu
x3 forall a b. (a -> b) -> a -> b
$ forall sollu. Text -> Section sollu -> Section sollu
commentS Text
"ganesh's variation" forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s 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)
t0 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
oknpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t0 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
ktktoknpforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
t0
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p6) forall 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)
oknpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6))
        forall 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)
ktktoknpforall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tisram13 (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (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)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6))
    ]
    where
    -- A general pattern: instead of tri, do 1, then 3 in tisram.
    tisram13 :: SequenceT sollu -> SequenceT sollu
tisram13 SequenceT sollu
x = SequenceT sollu
x forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 SequenceT sollu
x)
    t0 :: Sequence Group (Note Sollu)
t0 = Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitatakaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.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))
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 Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
di, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        ]

adi_muktayi_misra :: Korvai
adi_muktayi_misra :: Korvai
adi_muktayi_misra = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2019 Int
2 Int
26 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ forall sollu. Section sollu -> Section sollu
x3 forall a b. (a -> b) -> a -> b
$ forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Int -> Sequence Group (Note Sollu)
t0 Int
6 forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
t0 Int
8 forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Sollu)
t0 Int
10
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p6) forall 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)
oknpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6))
        forall 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)
ktktoknpforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
sd (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)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6))
    ]
    where
    t0 :: Int -> Sequence Group (Note Sollu)
t0 Int
gap = Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dikutarikitataka
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
gapforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
gapforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall {sollu}. Int -> SequenceT sollu
__n Int
gap
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.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))
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 Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
di, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        ]


-- * ganesh

misra_trikalam :: Korvai
misra_trikalam :: Korvai
misra_trikalam = Korvai -> Korvai
trikalam forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
8 Int
20 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$
        Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
Tala.misra_chapu StrokeMaps
mridangam
    [ forall sollu. sollu -> Section sollu
devel forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$
        let din_nana :: Sequence Group (Note Sollu)
din_nana = Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
        in
           Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall 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)
kttk
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        forall 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)
din_nanaforall 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)
kttk
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4

        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall 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)
kttk
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall 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
.forall sollu. SequenceT sollu
p6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall 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)
kttk
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
dinforall 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
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall 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
.forall sollu. SequenceT sollu
p6

        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall 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
.forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din_nanaforall 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
.forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Sollu)
theme
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 Sequence Group (Note Sollu)
theme
    , forall sollu. sollu -> Section sollu
s forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Sollu)
theme
    ]
    where
    theme :: Sequence Group (Note Sollu)
theme = forall a. Monoid a => [a] -> a
mconcat forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map (forall sollu. SequenceT sollu -> SequenceT sollu
group forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall g sollu. Sequence g sollu -> Sequence g sollu
sd)
        [ Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall 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
.forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3
        , Sequence Group (Note Sollu)
taforall 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 sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall 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
.forall sollu. SequenceT sollu
p6forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3
        , Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall 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
.forall sollu. SequenceT sollu
p6
        , Sequence Group (Note Sollu)
taforall 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 sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall 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
.forall sollu. SequenceT sollu
p6
        , Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        , Sequence Group (Note Sollu)
taforall 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 sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        , Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
p6
        , Sequence Group (Note Sollu)
taforall 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 sollu. SequenceT sollu
__3
        ] forall a. [a] -> [a] -> [a]
++ [forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri123 (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3) forall sollu. SequenceT sollu
p6]
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam0
        [ (Sequence Group (Note Sollu)
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
na, Sequence Group (Note (Stroke Stroke))
on)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
v)
        , (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.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))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)

        , (Sequence Group (Note Sollu)
kttk, 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)
        , (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, 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))
o)
        , (Sequence Group (Note Sollu)
dim, forall {g}. Sequence g (Note (Stroke Stroke))
i)
        , (Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, 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))
od)
        ]

c_18_09_25 :: Korvai
c_18_09_25 :: Korvai
c_18_09_25 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
9 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh 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 sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
takadugutarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku)forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3)
    forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
p5
    forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
sandi Sequence Group (Note Sollu)
p5 (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) Sequence Group (Note Sollu)
p5)
    where
    p5 :: Sequence Group (Note Sollu)
p5 = forall sollu. SequenceT sollu -> SequenceT sollu
pattern 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)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thom
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
odforall 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))
od)
        , (Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
i)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
u)
        , (Sequence Group (Note Sollu)
p5, 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 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]

c_18_09_25_misra :: Korvai
c_18_09_25_misra :: Korvai
c_18_09_25_misra = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
9 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$
        Tala -> StrokeMaps -> Sequence Group (Note Sollu) -> Korvai
korvaiS1 Tala
Tala.misra_chapu StrokeMaps
mridangam 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 sollu. SequenceT sollu -> SequenceT sollu
tri (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Sollu)
takadugutarikitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku)forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3)
    forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Sollu)
p5
    forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
SequenceT sollu -> SequenceT sollu -> SequenceT sollu
sandi Sequence Group (Note Sollu)
p5 (forall sollu. SequenceT sollu -> SequenceT sollu
tri Sequence Group (Note Sollu)
p5)
    where
    p5 :: Sequence Group (Note Sollu)
p5 = forall sollu. SequenceT sollu -> SequenceT sollu
pattern 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)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kiforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thom
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
odforall 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))
od)
        , (Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
u), (Tag
midforall sollu. Tag -> SequenceT sollu -> SequenceT sollu
^Sequence Group (Note Sollu)
tam, forall {g}. Sequence g (Note (Stroke Stroke))
i)
        , (Sequence Group (Note Sollu)
p5, 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 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))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]

c_18_10_06 :: Korvai
c_18_10_06 :: Korvai
c_18_10_06 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
10 Int
6 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
tirmanam forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"practice in urukalai/rendaikalai adi, rupaka, kanda, misra" 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 sollu. Stack => Duration -> SequenceT sollu
__D Duration
2 forall a. Monoid a => a -> a -> a
. forall sollu.
Pretty sollu =>
[FMatra] -> SequenceT sollu -> SequenceT sollu -> SequenceT sollu
reduceBy [FMatra
0, FMatra
2, FMatra
5, FMatra
7] (Sequence Group (Note Sollu)
dheemforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__) (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna)
    where
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
taka, 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))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (Sequence Group (Note Sollu)
dheem, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

c_18_10_22 :: Korvai
c_18_10_22 :: Korvai
c_18_10_22 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
10 Int
22 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
6 forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6 forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Sollu)
themeforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
thomforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
tri (Sequence Group (Note Sollu)
taforall 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
. forall sollu. SequenceT sollu -> SequenceT sollu
tri forall sollu. SequenceT sollu
p5)
    where
    theme :: Sequence Group (Note Sollu)
theme = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
takadinna
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
theme, 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))
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))
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))
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))
k)
        , (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)
thom, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        ]

c_18_10_29 :: Korvai
c_18_10_29 :: Korvai
c_18_10_29 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
10 Int
29 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
koraippu 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
r123 forall sollu. SequenceT sollu
p5 (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 sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
r123 Sequence Group (Note Sollu)
takadinna (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
r123 Sequence Group (Note Sollu)
takita (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
r123 Sequence Group (Note Sollu)
taka (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
r123 Sequence Group (Note Sollu)
ka (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    ]
    where
    r123 :: Sequence Group (Note sollu)
-> Sequence Group (Note sollu) -> Sequence Group (Note sollu)
r123 Sequence Group (Note sollu)
a Sequence Group (Note sollu)
b = forall sollu. Stack => Duration -> SequenceT sollu
restD Duration
1
        forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (\Int
n -> forall a. Monoid a => Int -> a -> a
repeat Int
n Sequence Group (Note sollu)
a forall a. Monoid a => a -> a -> a
. forall a. Monoid a => Int -> a -> a
repeat Int
n Sequence Group (Note sollu)
b) [Int
1, Int
2, Int
3])
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
din, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (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)
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)
ka, forall {g}. Sequence g (Note (Stroke Stroke))
p)
        ]

tisra_mohra :: Korvai
tisra_mohra :: Korvai
tisra_mohra = Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2018 Int
12 Int
7 forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"Also works for kanda jati triputa talam and rupaka." forall a b. (a -> b) -> a -> b
$
    Tala
-> StrokeMaps
-> (Sequence Group (Note Sollu) -> Sequence Group (Note Sollu))
-> (Sequence Group (Note Sollu), Sequence Group (Note Sollu),
    Sequence Group (Note Sollu))
-> (Sequence Group (Note Sollu), Sequence Group (Note Sollu),
    Sequence Group (Note Sollu))
-> Korvai
SolkattuMohra.korvai1 Tala
adi StrokeMaps
mridangam (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6)
        (Sequence Group (Note Sollu)
a1, Sequence Group (Note Sollu)
a2, Sequence Group (Note Sollu)
a1) (Sequence Group (Note Sollu)
b1, Sequence Group (Note Sollu)
b2, Sequence Group (Note Sollu)
b3)
    where
    a1 :: Sequence Group (Note Sollu)
a1 = Sequence Group (Note Sollu)
guguforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
miforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ditforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall 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)
kitaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
nakatiku
    a2 :: Sequence Group (Note Sollu)
a2 = Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall 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)
tangforall 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)
nakatiku
    b1 :: Sequence Group (Note Sollu)
b1 = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
langaforall 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)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guguforall 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)
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ka
    b2 :: Sequence Group (Note Sollu)
b2 = Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
langaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ka
    b3 :: Sequence Group (Note Sollu)
b3 = forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note Sollu)
dheemforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) (Sequence Group (Note Sollu)
taforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
langaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
guguforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence Group (Note Sollu)
guguforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
miforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dit, 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))
k)
        , (Sequence Group (Note Sollu)
tangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
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 Group (Note Sollu)
naforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
kaforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
dit, 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)
talangforall a. Monoid a => a -> a -> a
.Sequence Group (Note Sollu)
ga, 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 {g}. Sequence g (Note (Stroke Stroke))
k)
        , (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)
        , (Sequence Group (Note Sollu)
guguforall 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))
oforall 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)
        , (Sequence Group (Note Sollu)
ka, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        ]