-- Copyright 2023 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

module Solkattu.Score.Mridangam2023 where
import           Prelude hiding ((.), repeat)

import qualified Solkattu.Tala as Tala

import           Solkattu.Dsl.Mridangam


-- https://www.youtube.com/playlist?list=PLfELs4Vrnswpsj7lMwKUS7vvaO6Cc-OJJ

e_sai_shiv_1_2 :: Korvai
e_sai_shiv_1_2 :: Korvai
e_sai_shiv_1_2 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
3 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=3Nd-z4JcXM8" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"kita clarity" forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
single [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
(SequenceT sollu, SequenceT sollu) -> SequenceT sollu
double [(forall {g}. Sequence g (Note Stroke)
p, forall {g}. Sequence g (Note Stroke)
k), (forall {g}. Sequence g (Note Stroke)
o, forall {g}. Sequence g (Note Stroke)
n)]
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 [Sequence Group (Note Stroke)]
tadithomnam forall a. Monoid a => a -> a -> a
. forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1) [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
single2 [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
(SequenceT sollu, SequenceT sollu) -> SequenceT sollu
double2 [(forall {g}. Sequence g (Note Stroke)
p, forall {g}. Sequence g (Note Stroke)
k), (forall {g}. Sequence g (Note Stroke)
o, forall {g}. Sequence g (Note Stroke)
n)]
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 [Sequence Group (Note Stroke)]
tadithomnam forall a. Monoid a => a -> a -> a
. forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (forall g sollu. Sequence g sollu -> Sequence g sollu
su forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2) [Sequence Group (Note Stroke)]
tadithomnam
    ]
    where
    p1 :: SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s = SequenceT sollu
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT sollu
sforall 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 (forall sollu. SequenceT sollu -> SequenceT sollu
g SequenceT sollu
"ktk")
    single :: SequenceT sollu -> SequenceT sollu
single SequenceT sollu
s = forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s)
    double :: (SequenceT sollu, SequenceT sollu) -> SequenceT sollu
double (SequenceT sollu
s1, SequenceT sollu
s2) = forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s1 forall a. Monoid a => a -> a -> a
. forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s2 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s1) forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s2)
    p2 :: SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s = SequenceT sollu
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT sollu
sforall 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 (forall sollu. SequenceT sollu -> SequenceT sollu
g SequenceT sollu
"ktk") forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
g (forall g sollu. Sequence g sollu -> Sequence g sollu
su SequenceT sollu
"n_ktpk")
    single2 :: SequenceT sollu -> SequenceT sollu
single2 SequenceT sollu
s = forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s)
    double2 :: (SequenceT sollu, SequenceT sollu) -> SequenceT sollu
double2 (SequenceT sollu
s1, SequenceT sollu
s2) = forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s1 forall a. Monoid a => a -> a -> a
. forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s2 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s1) forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s2)

e_sai_shiv_3 :: Korvai
e_sai_shiv_3 :: Korvai
e_sai_shiv_3 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
3 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=VkfSoWLe7NE" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"kita clarity" forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
Tala.misra_chapu
    [forall g sollu. Sequence g sollu -> Sequence g sollu
sd Sequence Group (Note Stroke)
kto1234, Sequence Group (Note Stroke)
kto1234, forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall a. Monoid a => a -> a
r2 Sequence Group (Note Stroke)
kto1234)]
    where
    kto :: Int -> Sequence Group (Note Stroke)
kto Int
num = forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => Int -> a -> a
repeat Int
num Sequence Group (Note Stroke)
kt forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    kto1234 :: Sequence Group (Note Stroke)
kto1234 = forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap Int -> Sequence Group (Note Stroke)
kto [Int
1..Int
4]

e_sai_shiv_4 :: Korvai
e_sai_shiv_4 :: Korvai
e_sai_shiv_4 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
3 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=_geIheJ_eIg" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"kita clarity" forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (Int -> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
p1 Int
3) [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (Int -> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
p1 Int
2) [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (Int -> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
p1 Int
1) [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
p2 [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (\Sequence Group (Note Stroke)
s -> forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note Stroke)
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)) [Sequence Group (Note Stroke)]
tadithomnam
        forall a. Monoid a => a -> a -> a
. forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (\Sequence Group (Note Stroke)
s -> forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note Stroke)
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
kt)) [Sequence Group (Note Stroke)]
tadithomnam
        forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall a. Monoid a => a -> a
r2 [Sequence Group (Note Stroke)]
tadithomnam)
        forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (forall a. Monoid a => [a] -> a
mconcat [Sequence Group (Note Stroke)]
tadithomnam)
    ]
    where
    p1 :: Int -> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
p1 Int
num Sequence Group (Note Stroke)
s = forall a. Monoid a => Int -> a -> a
repeat Int
num (forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note Stroke)
sforall 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 Stroke)
kt)) forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 Sequence Group (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    p2 :: Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
p2 Sequence Group (Note Stroke)
s = forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note Stroke)
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)

e_sai_shiv_5 :: Korvai
e_sai_shiv_5 :: Korvai
e_sai_shiv_5 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
3 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=yQlfLMi97lY" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"thom" forall a b. (a -> b) -> a -> b
$ Tala -> [Section] -> Korvai
korvai Tala
adi
    [ forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 Sequence Group (Note Stroke)
p1
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"o_ktookt") forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"oktoktok"
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"o_ktooktookt") forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"oktoktok"
    , forall sollu. Section sollu -> Section sollu
x2 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"ookt") forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"o_ktookt" forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"oktoktok"
    ]
    where p1 :: Sequence Group (Note Stroke)
p1 = forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"o_ktooktoktoktok"

e_sai_shiv_7 :: Korvai
e_sai_shiv_7 :: Korvai
e_sai_shiv_7 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
4 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=pmTW9hgsSB0" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"gumiki" forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ let p1 :: SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s = SequenceT sollu
sforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 SequenceT sollu
"kook" in forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 [Sequence Group (Note Stroke)]
tadithomnam
    , let p1 :: SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s = SequenceT sollu
sforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 SequenceT sollu
"oktk" in forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 [Sequence Group (Note Stroke)]
tadithomnam
    , let p1 :: SequenceT sollu -> SequenceT sollu
p1 SequenceT sollu
s = SequenceT sollu
sforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 SequenceT sollu
"okTk" in forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p1 [Sequence Group (Note Stroke)]
tadithomnam
    , forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r3 Sequence Group (Note Stroke)
"o_kt"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
"ktpk"
    , forall a. Monoid a => a -> a
r2 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 Stroke)
"nddn" Stack =>
Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
& forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"o/o/o/o/" forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"nddn"
    ]

e_sai_shiv_9 :: Korvai
e_sai_shiv_9 :: Korvai
e_sai_shiv_9 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
16 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=yKv1GveMB94" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"double strokes" forall a b. (a -> b) -> a -> b
$ Tala -> Sequence Group (Note Stroke) -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn (forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 Sequence Group (Note Stroke)
takadinnataka)
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn (forall sollu. SequenceT sollu
__6 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 Sequence Group (Note Stroke)
takadinnataka)
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn (forall sollu. SequenceT sollu
__4 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 Sequence Group (Note Stroke)
takadinnataka)
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn (forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
takadinnataka)
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn (forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"kook")
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn (forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"ko")
    forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"ppkkoonn") forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note Stroke)
"pkon")
    where
    tdtn :: Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
tdtn = forall sollu. SequenceT sollu -> SequenceT sollu
g forall b c a. (b -> c) -> (a -> b) -> a -> c
 forall a. (Semigroup a, Monoid a) => [a] -> a -> a
prefixes [Sequence Group (Note Stroke)]
tadithomnam
    takadinnataka :: Sequence Group (Note Stroke)
takadinnataka = Sequence Group (Note Stroke)
"kooknk"

e_sai_shiv_11 :: Korvai
e_sai_shiv_11 :: Korvai
e_sai_shiv_11 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
3 Int
20 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=9l_RlC54pNU" forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"meetu clarity" forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ Int -> Sequence Group (Note Stroke)
seqs Int
4 forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Stroke)
seqs Int
2 forall a. Monoid a => a -> a -> a
. Int -> Sequence Group (Note Stroke)
seqs Int
1 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri123 (forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) Sequence Group (Note Stroke)
ending
    ]
    where
    seqs :: Int -> Sequence Group (Note Stroke)
seqs Int
times = forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap (Int -> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
seq Int
times) [Sequence Group (Note Stroke)]
tadithomnam
    seq :: Int -> Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
seq Int
times Sequence Group (Note Stroke)
st = forall a. Monoid a => Int -> a -> a
repeat Int
times (Sequence Group (Note Stroke)
stforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
"ktpk") forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
ending
    ending :: Sequence Group (Note Stroke)
ending = forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ Sequence Group (Note Stroke)
onforall 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 Stroke)
"ktpk oknpknpk"

e_sai_shiv_12 :: Korvai
e_sai_shiv_12 :: Korvai
e_sai_shiv_12 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
3 Int
20 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=cVnNm1pa64U" forall a b. (a -> b) -> a -> b
$
    Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
seq1 Sequence Group (Note Stroke)
"kook" -- takadinna, can do kooknook
    , Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
seq1 Sequence Group (Note Stroke)
"ktpk" -- kitataka
    , Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
seq1 Sequence Group (Note Stroke)
"onpk" -- dinnadaka
    ]
    where
    seq1 :: Sequence Group (Note Stroke) -> Sequence Group (Note Stroke)
seq1 Sequence Group (Note Stroke)
pat = forall a. Monoid a => a -> a
r4 (Sequence Group (Note Stroke)
patforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4) 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 Stroke)
patforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
pat)forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 (forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence Group (Note Stroke)
patforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
patforall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
pat))forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 (forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall a. Monoid a => a -> a
r4 Sequence Group (Note Stroke)
pat))forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)

-- *

e_shankar_prasad_1 :: Korvai
e_shankar_prasad_1 :: Korvai
e_shankar_prasad_1 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
4 Int
4 forall a b. (a -> b) -> a -> b
$
    Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=uyLXzYGsNp8" forall a b. (a -> b) -> a -> b
$
    Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {a}. (Monoid a, Rest a, IsString a) => a -> a
p1 [Sequence Group (Note Stroke)]
tadithomnam
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {sollu}.
IsString (SequenceT sollu) =>
SequenceT sollu -> SequenceT sollu
p2 [Sequence Group (Note Stroke)]
tadithomnam
    , forall {a}. (Monoid a, Rest a, IsString a) => a -> a
p3 forall {g}. Sequence g (Note Stroke)
k
    ]
    where
    p1 :: a -> a
p1 a
s = a
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.a
"ktktpk"forall a. Monoid a => a -> a -> a
.a
"Tknpk_v_"
    p2 :: SequenceT sollu -> SequenceT sollu
p2 SequenceT sollu
s = forall {a}. (Monoid a, Rest a, IsString a) => a -> a
p1 SequenceT sollu
s forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
g SequenceT sollu
"oTknpk_v_" forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
g SequenceT sollu
"otknpk_"
    p3 :: a -> a
p3 a
s = a
sforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.a
"ktktpk" forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (a
"Tknpk_"forall a. Monoid a => a -> a -> a
.a
"ok") forall a. Monoid a => a -> a -> a
. a
"Tknpk_v_"


tadithomnam :: [Sequence]
tadithomnam :: [Sequence Group (Note Stroke)]
tadithomnam = [forall {g}. Sequence g (Note Stroke)
p, forall {g}. Sequence g (Note Stroke)
k, forall {g}. Sequence g (Note Stroke)
o, forall {g}. Sequence g (Note Stroke)
n]

-- *

-- similar to what I played, from
-- "08-Thani Avarthanam", "Cleveland Aradhana 2004"
mohra_bs :: Korvai
mohra_bs :: Korvai
mohra_bs = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
3 Int
30 forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ 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 Stroke)
a1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
a2forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
a3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
b1)
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
a1forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
a2forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
a3forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
"o_k_D___"
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"o_k_u_pk"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
"npupktok" forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"o_k_D___"
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"o_k_u_pk"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
nakatiku forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (Sequence Group (Note Stroke)
"N_pk"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
nakatiku)forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
nakatiku
    , Sequence Group (Note Stroke)
"k_t_kD_k_D_" forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"ktk"forall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"kn" forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"i_kD_k_D_"  forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"ktk"forall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note Stroke)
"kn" forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    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
tri_ forall sollu. SequenceT sollu
p5 Sequence Group (Note Stroke)
"kD_k_D_" 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
p5)
    ]
    where
    a1 :: Sequence Group (Note Stroke)
a1 = Sequence Group (Note Stroke)
"K___u_pk"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
nakatiku
    a2 :: Sequence Group (Note Stroke)
a2 = Sequence Group (Note Stroke)
"npk_u_pk"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
"npupkto_"
    a3 :: Sequence Group (Note Stroke)
a3 = Sequence Group (Note Stroke)
"K___u_pk"forall a. Monoid a => a -> a -> a
.Sequence Group (Note Stroke)
"npupktok"
    b1 :: Sequence Group (Note Stroke)
b1 = Sequence Group (Note Stroke)
"o_k_D__ko_k_D___"

-- Tabla exercise from Swapan Chaudhuri.
e_swapan :: Korvai
e_swapan :: Korvai
e_swapan = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
8 Int
28 forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence Group (Note Stroke)] -> Korvai
korvaiS Tala
adi
    [ 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 Stroke)
pattern
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ 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 Stroke)
pattern
    , 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 Stroke)
-> Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke)
replace forall {g}. Sequence g (Note Stroke)
n forall {g}. Sequence g (Note Stroke)
d Sequence Group (Note Stroke)
pattern)
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ 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 Stroke)
-> Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke)
-> Sequence Group (Note Stroke)
replace forall {g}. Sequence g (Note Stroke)
n forall {g}. Sequence g (Note Stroke)
d Sequence Group (Note Stroke)
pattern)
    ]
    where
    pattern :: Sequence Group (Note Stroke)
pattern = Sequence Group (Note Stroke)
"n_pknp tpktpkn___" forall a. Monoid a => a -> a -> a
. Sequence Group (Note Stroke)
"pknptpktpkn_ktpk"