Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Derive.Scale.Raga

Description

Carnatic ragas.

Synopsis

Documentation

implementation

melakarta_intervals :: [(Name, [Pitch.Semi])] Source #

This is the same as melakarta_ragams, but with intervals. I should probably derive melakarta_ragams from this.

data SwaramP Source #

Constructors

Sa 
Ri1 
Ri2 
Ri3 
Ga1 
Ga2 
Ga3 
Ma1 
Ma2 
Pa 
Da1 
Da2 
Da3 
Ni1 
Ni2 
Ni3 

Instances

Instances details
Enum SwaramP Source # 
Instance details

Defined in Derive.Scale.Raga

Show SwaramP Source # 
Instance details

Defined in Derive.Scale.Raga

Eq SwaramP Source # 
Instance details

Defined in Derive.Scale.Raga

Methods

(==) :: SwaramP -> SwaramP -> Bool #

(/=) :: SwaramP -> SwaramP -> Bool #

Ord SwaramP Source # 
Instance details

Defined in Derive.Scale.Raga

data Swaram Source #

Constructors

S 
R 
G 
M 
P 
D 
N 

Instances

Instances details
Enum Swaram Source # 
Instance details

Defined in Derive.Scale.Raga

Show Swaram Source # 
Instance details

Defined in Derive.Scale.Raga

Eq Swaram Source # 
Instance details

Defined in Derive.Scale.Raga

Methods

(==) :: Swaram -> Swaram -> Bool #

(/=) :: Swaram -> Swaram -> Bool #

Ord Swaram Source # 
Instance details

Defined in Derive.Scale.Raga

type Name = Text Source #

data RagamT a Source #

Arohana / avarohana structure. Sa is implicit, so it's omitted.

Constructors

Same [a]

The arohana is given, the avarohana is the same but reversed.

Different [a] [a]

Arohana ascending from low sa, avarohana descending from high sa. The first and last Sa are omitted, since they are implicit.

Instances

Instances details
Functor RagamT Source # 
Instance details

Defined in Derive.Scale.Raga

Methods

fmap :: (a -> b) -> RagamT a -> RagamT b #

(<$) :: a -> RagamT b -> RagamT a #

Show a => Show (RagamT a) Source # 
Instance details

Defined in Derive.Scale.Raga

Methods

showsPrec :: Int -> RagamT a -> ShowS #

show :: RagamT a -> String #

showList :: [RagamT a] -> ShowS #

janya :: Map Name [(Name, Ragam)] Source #

TODO these are integrated into ragams, but broken.

alternate :: Eq a => [([a], [a])] -> [a] -> [[a]] Source #

aliases :: Map Name [Name] Source #

Common aliases for ragam names.

query

query implementation

data Dir Source #

Constructors

Down 
Up 

Instances

Instances details
Eq Dir Source # 
Instance details

Defined in Derive.Scale.Raga

Methods

(==) :: Dir -> Dir -> Bool #

(/=) :: Dir -> Dir -> Bool #