Domaine 2 — bhāṣā / vibhāṣā / grāma-rāga corpus
Synthèse 6c.3 du Brihaddesi (Sharma 1992, vols I & II) depuis :
- 112 règles génératives 6b (domaine 2)
- 261 affirmations sourcées
- partition Leiden domain_id=2 (110 concepts)
Champ couvert : la taxonomie grāma-rāga (śuddha / bhinna / vesara / gauḍa /
sādhāraṇa), les bhāṣā-rāgas, les vibhāṣā-rāgas, l'antara-bhāṣā, et les
rāgas individuels (ṭakkarāga, hindolaka, mālavapañcama, bhinnaṣaḍja…) et
leurs liens aux parents.
Anti-fabrication : chaque type, opération et contrainte cite ≥1 evidence
(rule_id 6b ou affirmation_id). Les concepts non sourcés sont listés dans
UNRESOLVED. Aucune valeur plausible-mais-non-sourcée n'a été introduite.
Python 3.10+. Importable sans dépendance externe.
Contents
Constants (12)
- SUDDHA_RAGAStuple[str,...]
- BHINNA_RAGAStuple[str,...]
- SADHARANA_RAGAStuple[str,...]
- VESARA_RAGASdict[Grāma, tuple[str,...]]
- GRAMARAGA_GITIdict[str, GītiClass]
- GRAMARAGA_GRAMAdict[str, Grāma]
- BHASA_COUNTSdict[str, BhasaCount]
- BHASA_NAMES_BY_GRAMARAGAdict[str, tuple[str,...]]
- KNOWN_STRUCTURESdict[str, RagaStructure]
- BHASA_SUBTYPESdict[str, BhasaSubtype]
- TOTAL_BHASA_PLUS_VIBHASAint
- ANTARA_BHASA_NAMEStuple[str,...]
Operations (6)
Pure functions derived from the rules: given input types, return outputs. Each cites the rule(s) that justify it.
§grama_raga_categorylookup
Sourced by
vesara = rāga class named for rapid svara movement; enumerated members per grāma
DEFINE vesara := raga WHERE svara_movement == 'rapid'
ENUMERATE vesara_ragas(sadja_grama) -> [takkaraga, sauvira, takkakaisika, bottaraga, vesara_sadava]
ENUMERATE vesara_ragas(madhyama_grama) -> [hindolaka, malavapancama, malavakaisika]
enVesaras are known to be so because the svaras move with speed.vol_II_p063 sktटक्करागश्च सौवीरस्तथा वै टक्ककेशिकः। बोट्टरागश्च षड्ज?ाख्ये भवेद् वेसरषाडवःvol_II_p067 sādhāraṇa = (a) classe de rāgas communs nes des gītis de tous rāgas et chantes en sādhāraṇa-gīti, assignes a 2 grāmas; (b) svara: antara-kākalī
DEFINE sādhāraṇa(x, ctx):
IF ctx == 'rāga':
origin = 'born_of_gītis_of_all_previously_spoken_rāgas'
sung_in = 'sādhāraṇa-gīti'
grāma_assignment = 'one_of_two_grāmas'
IF ctx == 'svara':
refers_to = 'antara-kākalī'
RETURN sādhāraṇa(x)
sktपूर्वोक्ताना सर्वेषा रागाणा या गीतयस्ताभिर्जायमानत्वात् तेषा साधारणत्वम्vol_II_p067 sktसप्त[नव ?] साधारणा प्रोक्ता ग्रामद्वयसमाश्रयाvol_II_p072 + 1 more verbatim
vesarā-gīti is a category of rāgas under rāga-gīti classification
CLASSIFY raga AS vesara_giti SUBTYPE_OF raga_giti
en[D. The rāgas pertaining to rāga-gīti or vesarā-gīti]vol_II_p063 §parent_grama_raga_ofderivation
walks the bhāṣā→vibhāṣā→antara-bhāṣā chain up to the parent grāma-rāga
(bhasha_name: str) → str | None
Sourced by
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
Vibhāṣās are derived from bhāṣās
DEFINE vibhasa.parent := bhasa; (and bhasa.parent := grama_raga)
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 Antara-bhāṣās are derived from vibhāṣās
antara_bhasha = derive_from(vibhasha)
enand similarly from vibhāṣās are born antara-bhāṣās.vol_II_p075 §bhasas_ofenumeration
(grama_raga: str) → tuple[str,...]
Sourced by
Mālavakaišika (madhyamagrāma, born of kaiśikī jāti) contains 8 bhāṣās: śuddha, ardhavesarikā, harṣapūrī, māngālī, saindhavī, ābhirī, khañjarī, gūrjarī
ENUMERATE bhasas_of(malavakaisika) = [suddha, ardhavesarika, harsapuri, mangali, saindhavi, abhiri, khanjari, gurjari]; COUNT = 8
enŚuddhā...ardhavesarikā, harṣapūrī...māngālī...saindhavī, ābhirī...Khañjarī and gūrjarīvol_II_p076 enthus are the eight (bhāṣās) in mālavakaišika.vol_II_p076 + 2 more verbatim
Mālavapañcama contains six bhāṣās: vibhāvinī, paurālī, vegavantī, pañcamī, āndhrī, gāndhārikā.
ENUMERATE bhasas(malavapancama) := [vibhavini, paurali, vegavanti, pancami, andhri, gandharika]; count := 6
enVibhāvinī, paurālī, vegavantī, pañcamī, āndhrī and gāndhārikā alone are the six (bhāṣās) in mālavapañcama.vol_II_p104 Bhinnapañcama generates 4 bhāṣās: Śuddhabhinnā, Varāṭī, Dhaivatabhūṣitā, Viśālā
ENUMERATE bhasas_of(bhinnapancama) = [suddhabhinna, varati, dhaivatabhusita, visala]; COUNT = 4
enBhāṣāsof bhinnapañcama...Suddhabhinnā...Varāţi...Dhaivatabhūșită...Viśālāvol_II_p006 enSuddhabhinnā, vārāṭī, similarly dhaivatabhūṣitā and then viśālā...born of bhinnapañcamavol_II_p077 §expected_bhasa_countlookup
Sourced by
Ṭakka-rāga has 12 bhāṣās (some say 16), aṁśa=madhyama, nyāsa=ṣaḍja, devoid of pañcama
SET takkaraga.amsa=madhyama, .nyasa=sadja, .lacks=[pancama], .bhasa_count IN {12,16}
enIn ṭakka-rāga, there are ten and two (twelve) (bhāṣās); some hold them to be sixteen.vol_II_p075 enIt has madhyama as its aṁśa, şadja as its concluding notevol_II_p077 + 1 more verbatim
Bhinnapañcama generates 4 bhāṣās: Śuddhabhinnā, Varāṭī, Dhaivatabhūṣitā, Viśālā
ENUMERATE bhasas_of(bhinnapancama) = [suddhabhinna, varati, dhaivatabhusita, visala]; COUNT = 4
enBhāṣāsof bhinnapañcama...Suddhabhinnā...Varāţi...Dhaivatabhūșită...Viśālāvol_II_p006 enSuddhabhinnā, vārāṭī, similarly dhaivatabhūṣitā and then viśālā...born of bhinnapañcamavol_II_p077 Mālavakaišika (madhyamagrāma, born of kaiśikī jāti) contains 8 bhāṣās: śuddha, ardhavesarikā, harṣapūrī, māngālī, saindhavī, ābhirī, khañjarī, gūrjarī
ENUMERATE bhasas_of(malavakaisika) = [suddha, ardhavesarika, harsapuri, mangali, saindhavi, abhiri, khanjari, gurjari]; COUNT = 8
enŚuddhā...ardhavesarikā, harṣapūrī...māngālī...saindhavī, ābhirī...Khañjarī and gūrjarīvol_II_p076 enthus are the eight (bhāṣās) in mālavakaišika.vol_II_p076 + 2 more verbatim
§vesara_ragas_ofenumeration
(grama:
Grāma)
→ tuple[str,...]
Sourced by
vesara = rāga class named for rapid svara movement; enumerated members per grāma
DEFINE vesara := raga WHERE svara_movement == 'rapid'
ENUMERATE vesara_ragas(sadja_grama) -> [takkaraga, sauvira, takkakaisika, bottaraga, vesara_sadava]
ENUMERATE vesara_ragas(madhyama_grama) -> [hindolaka, malavapancama, malavakaisika]
enVesaras are known to be so because the svaras move with speed.vol_II_p063 sktटक्करागश्च सौवीरस्तथा वै टक्ककेशिकः। बोट्टरागश्च षड्ज?ाख्ये भवेद् वेसरषाडवःvol_II_p067 §structural_featureslookup
Sourced by
Bhāṣā is a melodic form arranged within a grāma-rāga, characterized by specific svaras (aṁśa, nyāsa) and structural relationships
DEFINE Bhasa AS MelodicForm WHERE parent=grama_raga AND has(amsa) AND has(nyasa) AND requires(effort_to_perceive)
enThis bhāṣā should be known by the knowledgeable ones in music as being completevol_II_p085 + 1 more verbatim
Graha, aṁśa, and nyāsa are functions assumed by svaras through their commingling (samavāya).
def assign_graha_amsa_nyasa(svara_set):
return {'graha':..., 'amsa':..., 'nyasa':...}
encommingling of the svaras assuming the functions of graha, aṁśa, nyāsa etc.vol_II_p012 Constraints (4)
Validators that raise on configurations forbidden by the rules. Each cites the rule(s) it enforces.
§is_valid_bhasa_assignment
claimed_parent is a sourced parent of bhasha_name
Sourced by
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
Vibhāṣās are derived from bhāṣās
DEFINE vibhasa.parent := bhasa; (and bhasa.parent := grama_raga)
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 Antara-bhāṣās are derived from vibhāṣās
antara_bhasha = derive_from(vibhasha)
enand similarly from vibhāṣās are born antara-bhāṣās.vol_II_p075 §is_valid_bhasa_count
count matches primary or sourced alternative for the grāma-rāga
Sourced by
Ṭakka-rāga has 12 bhāṣās (some say 16), aṁśa=madhyama, nyāsa=ṣaḍja, devoid of pañcama
SET takkaraga.amsa=madhyama, .nyasa=sadja, .lacks=[pancama], .bhasa_count IN {12,16}
enIn ṭakka-rāga, there are ten and two (twelve) (bhāṣās); some hold them to be sixteen.vol_II_p075 enIt has madhyama as its aṁśa, şadja as its concluding notevol_II_p077 + 1 more verbatim
ṭakkarāga has sixteen bhāṣās per Yāṣṭika
ASSERT count(bhashas(takkaraga)) = 16 // attribution: Yashtika
enThese are the sixteen (bhāṣās) of ṭakkarāga spoken of by Yāṣṭika.vol_II_p082 Bhinnapañcama generates 4 bhāṣās: Śuddhabhinnā, Varāṭī, Dhaivatabhūṣitā, Viśālā
ENUMERATE bhasas_of(bhinnapancama) = [suddhabhinna, varati, dhaivatabhusita, visala]; COUNT = 4
enBhāṣāsof bhinnapañcama...Suddhabhinnā...Varāţi...Dhaivatabhūșită...Viśālāvol_II_p006 enSuddhabhinnā, vārāṭī, similarly dhaivatabhūṣitā and then viśālā...born of bhinnapañcamavol_II_p077 §is_valid_total_bhasa_vibhasa
total == 73 (Brihaddesi-wide count)
Sourced by
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
§is_valid_tier_chain
BHASA←None, VIBHASA←BHASA or None, ANTARA_BHASA←VIBHASA
Sourced by
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
Vibhāṣās are derived from bhāṣās
DEFINE vibhasa.parent := bhasa; (and bhasa.parent := grama_raga)
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 Antara-bhāṣās are derived from vibhāṣās
antara_bhasha = derive_from(vibhasha)
enand similarly from vibhāṣās are born antara-bhāṣās.vol_II_p075 Types (10)
Enums and structures used by operations and constraints. Members are exhaustively those attested in the source.
§SvaraEnum[str]
repeated from domain 3 — bhāṣā structure uses aṁśa/nyāsa svaras
7 members
Sourced by
Bhāṣā is a melodic form arranged within a grāma-rāga, characterized by specific svaras (aṁśa, nyāsa) and structural relationships
DEFINE Bhasa AS MelodicForm WHERE parent=grama_raga AND has(amsa) AND has(nyasa) AND requires(effort_to_perceive)
enThis bhāṣā should be known by the knowledgeable ones in music as being completevol_II_p085 + 1 more verbatim
Ṭakka-rāga has 12 bhāṣās (some say 16), aṁśa=madhyama, nyāsa=ṣaḍja, devoid of pañcama
SET takkaraga.amsa=madhyama, .nyasa=sadja, .lacks=[pancama], .bhasa_count IN {12,16}
enIn ṭakka-rāga, there are ten and two (twelve) (bhāṣās); some hold them to be sixteen.vol_II_p075 enIt has madhyama as its aṁśa, şadja as its concluding notevol_II_p077 + 1 more verbatim
§GrāmaEnum[str]
2 members
values : sadjagrama, madhyamagrama
Sourced by
Hindolaka is a rāga born of madhyamagrāma.
grama_of(hindolaka) := madhyamagrama
Takkarāga is born of dhaivatī and ṣaḍjamadhyamā jātis and is related to ṣaḍjagrāma.
TAKKARAGA = {'parent_jatis': ['dhaivati','sadjamadhyama'], 'grama': 'sadjagrama'}
entakkarāga is related to ṣaḍjagrāma on account of being born of dhaivatī and ṣadjamadhyamā.vol_II_p063 sādhāraṇa = (a) classe de rāgas communs nes des gītis de tous rāgas et chantes en sādhāraṇa-gīti, assignes a 2 grāmas; (b) svara: antara-kākalī
DEFINE sādhāraṇa(x, ctx):
IF ctx == 'rāga':
origin = 'born_of_gītis_of_all_previously_spoken_rāgas'
sung_in = 'sādhāraṇa-gīti'
grāma_assignment = 'one_of_two_grāmas'
IF ctx == 'svara':
refers_to = 'antara-kākalī'
RETURN sādhāraṇa(x)
sktपूर्वोक्ताना सर्वेषा रागाणा या गीतयस्ताभिर्जायमानत्वात् तेषा साधारणत्वम्vol_II_p067 sktसप्त[नव ?] साधारणा प्रोक्ता ग्रामद्वयसमाश्रयाvol_II_p072 + 1 more verbatim
§ScaleTypeEnum[str]
3 members
values : sampurna, sadava, auduva
Sourced by
vibhāṣā = variante/sous-categorie de bhāṣā derivee d'un rāga, avec varietes nommees, classifiees sampūrṇa/saṅkīrṇa, ornant les bhāṣās propres
DEFINE vibhāṣā(b, raga_parent):
ASSERT b.type == 'bhāṣā_variant'
ASSERT exists(raga_parent) AND derivation(b, raga_parent)
classify(b.completeness IN {'sampūrṇa', 'saṅkīrṇa'})
enumerate_named_varieties(b) -> {Paurālī, Śuddhā, Ardhavesarī, Āndhālī, Tānodbhavā, Trāvaṇī, Gāndhārī, Śrīkaṇṭhī, Dākṣiṇātyā, ...}
role(b) = 'ornament_of_proper_bhāṣā'
RETURN vibhāṣā(b)
envibhāṣā ṭakkarāgotthā bhāṣānteṣu ca gīyatevol_II_p083 enThis bhāṣā is said to be born of pañcama (rāga)vol_II_p090 + 6 more verbatim
madhyamagrāmadehā (madhyamagrāmikā) bhāṣā: aṁśa=madhyama, concludes on ṣaḍja, complete, always saṅkīrṇā, placed in takkarāga
DEFINE madhyamagrāmadehā_bhāṣā AS bhāṣā
SET aṁśa = madhyama
SET ending = ṣaḍja
SET completeness = full
SET mixture = saṅkīrṇā(always)
LOCATED_IN takkarāga
sktमध्यमांशा तु षड्ज?ान्ता... सुसम्पूर्णा... मध्यमग्रामिका मताvol_II_p082 Pinjarī vibhāṣā: aṁśa=gāndhāra, concluding=ṣaḍja, hexatonic, devoid of niṣāda
IF vibhasha == pinjari THEN amsa=gandhara AND concluding=sadja AND scale_size=6 AND excluded={nisada}
enHaving gāndhāra as aṁśa and ṣaḍja as the concluding note, the vibhāṣā pinjarī is auspicious. It is hexatonic and devoid of nivol_II_p103 §GītiClassEnum[str]
the 5 gītis of Durgaśakti — directly partition grāma-rāgas into 5 categories
5 members
values : suddha, bhinna, gauda, vesara, sadharana
full module docstring
The five gītis of Durgaśakti — define the five categories of grāma-rāga.
Each grāma-rāga belongs to exactly one of these; the gīti is the
formative principle of its "song-style".
evidence: aff#542 ('Gītis should be known to be five viz. śuddhā, then
bhinnā, vesarā, gauḍī (and) sādhāritā; this is the opinion of
Durgā (Durgaśakti).'),
R_4p0_017 (sādhāraṇa = born of all previously-spoken rāgas;
sung in sādhāraṇa-gīti),
R_869_vesaragiti_category,
R_4p1_388 (text order: gauda before vesarā gīti),
R_1275_gaudaragas_categorySourced by
sādhāraṇa = (a) classe de rāgas communs nes des gītis de tous rāgas et chantes en sādhāraṇa-gīti, assignes a 2 grāmas; (b) svara: antara-kākalī
DEFINE sādhāraṇa(x, ctx):
IF ctx == 'rāga':
origin = 'born_of_gītis_of_all_previously_spoken_rāgas'
sung_in = 'sādhāraṇa-gīti'
grāma_assignment = 'one_of_two_grāmas'
IF ctx == 'svara':
refers_to = 'antara-kākalī'
RETURN sādhāraṇa(x)
sktपूर्वोक्ताना सर्वेषा रागाणा या गीतयस्ताभिर्जायमानत्वात् तेषा साधारणत्वम्vol_II_p067 sktसप्त[नव ?] साधारणा प्रोक्ता ग्रामद्वयसमाश्रयाvol_II_p072 + 1 more verbatim
vesarā-gīti is a category of rāgas under rāga-gīti classification
CLASSIFY raga AS vesara_giti SUBTYPE_OF raga_giti
en[D. The rāgas pertaining to rāga-gīti or vesarā-gīti]vol_II_p063 Vesarā gīti rāgas are discussed after the gauda rāgas in the text ordering
ASSERT text_order(gauda_rāgas) BEFORE text_order(vesarā_gīti_rāgas)
CLASSIFY vesarā AS gīti_category
enAfter this, I will speak of rāgas (pertaining to vesarā gīti).vol_II_p062 §BhasaSubtypeEnum[str]
chāyāmātrāśrayā named but unpopulated (UNRESOLVED)
4 members
values : mula, sankirna, desaja, chayamatrasraya
full module docstring
The four-fold classification of bhāṣās per the Brihaddesi.
evidence: R_15_bhasa_classification, aff#874 ('Bhāṣās have been said to be
four-fold viz. mūlā (basic) sankīrṇā (mixed), deśajā (regional)
(and) chāyāmātrāśrayā (based on the chāyā of a rāga)')Sourced by
Bhāṣās are classified four-fold: mūlā (basic), saṅkīrṇā (mixed), deśajā (regional), chāyāmātrāśrayā (chāyā-based); also include vibhāṣā and antara-bhāṣā subtypes
CLASSIFY bhasa INTO {mula, sankirna, desaja, chayamatrasraya} UNION {vibhasa, antara_bhasa}
enBhāṣās have been said to be four-fold viz. mūlā (basic) sankīrņā (mixed), deśajā (regional)vol_II_p074 en'Bhāṣā 'here would include vibhāṣā and antara-bhāṣā.vol_II_p166 + 1 more verbatim
§BhasaTierEnum[str]
The 3-level derivational hierarchy: grāma-rāga → bhāṣā → vibhāṣā →
3 members
values : bhasa, vibhasa, antara_bhasa
full module docstring
The 3-level derivational hierarchy: grāma-rāga → bhāṣā → vibhāṣā →
antara-bhāṣā.
evidence: R_073_bhasas_derivation (bhāṣā derived from grāma-rāga),
R_920_vibhasa_from_bhasa (vibhāṣā derived from bhāṣā),
R_5p2_921 (antara-bhāṣā derived from vibhāṣā),
aff#875, aff#876, aff#877, aff#1964Sourced by
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
Vibhāṣās are derived from bhāṣās
DEFINE vibhasa.parent := bhasa; (and bhasa.parent := grama_raga)
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 Antara-bhāṣās are derived from vibhāṣās
antara_bhasha = derive_from(vibhasha)
enand similarly from vibhāṣās are born antara-bhāṣās.vol_II_p075 §BhasaCountdataclass(frozen=True)
represents disputed counts (primary + optional alternative)
full module docstring
A sourced bhāṣā-count for a grāma-rāga, possibly with a disputing
alternative.
evidence: see `evidence_rules` per record below.
Sourced by
Ṭakka-rāga has 12 bhāṣās (some say 16), aṁśa=madhyama, nyāsa=ṣaḍja, devoid of pañcama
SET takkaraga.amsa=madhyama, .nyasa=sadja, .lacks=[pancama], .bhasa_count IN {12,16}
enIn ṭakka-rāga, there are ten and two (twelve) (bhāṣās); some hold them to be sixteen.vol_II_p075 enIt has madhyama as its aṁśa, şadja as its concluding notevol_II_p077 + 1 more verbatim
Ṭakkarāga has 16 bhāṣās (some sources say 12), and generates multiple vibhāṣās including potā, Devālavardhanī, paurālī, Trāvaṇī, dohyā
ENUMERATE bhasas_of(takkaraga); COUNT IN {12, 16}; DERIVE vibhasas FROM takkaraga
+ 1 more verbatim
ṭakkarāga has sixteen bhāṣās per Yāṣṭika
ASSERT count(bhashas(takkaraga)) = 16 // attribution: Yashtika
enThese are the sixteen (bhāṣās) of ṭakkarāga spoken of by Yāṣṭika.vol_II_p082 §RagaStructuredataclass(frozen=True)
Static structural fingerprint of a rāga or bhāṣā / vibhāṣā.
full module docstring
Static structural fingerprint of a rāga or bhāṣā / vibhāṣā.
evidence: R_15_bhasa_definition (bhāṣā characterized by aṁśa, nyāsa,
structural relationships),
graha_amsa_nyasa_svara_functions (these are svara-functions
via samavāya).Sourced by
Bhāṣā is a melodic form arranged within a grāma-rāga, characterized by specific svaras (aṁśa, nyāsa) and structural relationships
DEFINE Bhasa AS MelodicForm WHERE parent=grama_raga AND has(amsa) AND has(nyasa) AND requires(effort_to_perceive)
enThis bhāṣā should be known by the knowledgeable ones in music as being completevol_II_p085 + 1 more verbatim
Graha, aṁśa, and nyāsa are functions assumed by svaras through their commingling (samavāya).
def assign_graha_amsa_nyasa(svara_set):
return {'graha':..., 'amsa':..., 'nyasa':...}
encommingling of the svaras assuming the functions of graha, aṁśa, nyāsa etc.vol_II_p012 §GrāmaRāgadataclass(frozen=True)
A grāma-rāga — top-level rāga associated to a grāma + a gīti class,
full module docstring
A grāma-rāga — top-level rāga associated to a grāma + a gīti class,
born of one or more jātis (R_266_gramaraga).
evidence: R_gramaragas_def, R_266_gramaraga, grama_raga_origin_and_use,
R_073_bhasas_derivation (bhāṣās born of grāma-rāgas)Sourced by
Grāmarāgas: derive intervallic bases from jātis via aṁśa; bhāṣās are obtained throughout grāmarāgas
DEFINE grāmarāgas: progenitor = jātis; intervallic_basis(grāmarāga) = derived_from(aṁśa_of_parent_jāti); bhāṣās ⊆ grāmarāgas (obtained everywhere)
enjātis are the progenitors of grāmarāgas. Since aṁśa is the regulator of intervallic formationvol_II_p159 enBhāṣās are obtained everywhere in grāmarāgas.vol_II_p100 Each grāmarāga is born of one or more jātis.
FOR_EACH gramaraga: parents = list_of_jatis WHERE len(parents) >= 1
enEach grāmarāga is said to be born of one or more jātis.vol_II_p161 Grāma-rāgas are born from the two grāmas, are generated by jātis through their aṁśas, and must be used in daśarūpaka according to prescribed rules; gītis are discussed in their context.
grama_ragas := born_from(grama_set); generated_by := jati.amsa; usage(grama_raga, dasarupaka) := prescribed_rules; context(giti) := grama_raga
enJātis are those that give rise to grāma-rāgas through their amśas.vol_II_p025 engrāma-rāgas should be used in daśarūpaka according to the prescribed rulesvol_II_p073 + 2 more verbatim
§Bhāṣādataclass(frozen=True)
A bhāṣā / vibhāṣā / antara-bhāṣā — a derived melodic form located
full module docstring
A bhāṣā / vibhāṣā / antara-bhāṣā — a derived melodic form located
inside a grāma-rāga.
evidence: R_15_bhasa_definition, R_073_bhasas_derivation,
R_920_vibhasa_from_bhasa, R_5p2_921Sourced by
Bhāṣā is a melodic form arranged within a grāma-rāga, characterized by specific svaras (aṁśa, nyāsa) and structural relationships
DEFINE Bhasa AS MelodicForm WHERE parent=grama_raga AND has(amsa) AND has(nyasa) AND requires(effort_to_perceive)
enThis bhāṣā should be known by the knowledgeable ones in music as being completevol_II_p085 + 1 more verbatim
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
Vibhāṣās are derived from bhāṣās
DEFINE vibhasa.parent := bhasa; (and bhasa.parent := grama_raga)
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 Constants (12)
Named values pinned directly to source quotes (numbers, ordered lists, named svaras).
§SUDDHA_RAGAStuple[str,...]
5 values
§BHINNA_RAGAStuple[str,...]
5 values
§SADHARANA_RAGAStuple[str,...]
TOC variant aff#43 has 10 names — encoded the body-verse 7 (see UNRESOLVED)
7 values
Sourced by
sādhāraṇa = (a) classe de rāgas communs nes des gītis de tous rāgas et chantes en sādhāraṇa-gīti, assignes a 2 grāmas; (b) svara: antara-kākalī
DEFINE sādhāraṇa(x, ctx):
IF ctx == 'rāga':
origin = 'born_of_gītis_of_all_previously_spoken_rāgas'
sung_in = 'sādhāraṇa-gīti'
grāma_assignment = 'one_of_two_grāmas'
IF ctx == 'svara':
refers_to = 'antara-kākalī'
RETURN sādhāraṇa(x)
sktपूर्वोक्ताना सर्वेषा रागाणा या गीतयस्ताभिर्जायमानत्वात् तेषा साधारणत्वम्vol_II_p067 sktसप्त[नव ?] साधारणा प्रोक्ता ग्रामद्वयसमाश्रयाvol_II_p072 + 1 more verbatim
§VESARA_RAGASdict[Grāma, tuple[str,...]]
8 values
Sourced by
vesara = rāga class named for rapid svara movement; enumerated members per grāma
DEFINE vesara := raga WHERE svara_movement == 'rapid'
ENUMERATE vesara_ragas(sadja_grama) -> [takkaraga, sauvira, takkakaisika, bottaraga, vesara_sadava]
ENUMERATE vesara_ragas(madhyama_grama) -> [hindolaka, malavapancama, malavakaisika]
enVesaras are known to be so because the svaras move with speed.vol_II_p063 sktटक्करागश्च सौवीरस्तथा वै टक्ककेशिकः। बोट्टरागश्च षड्ज?ाख्ये भवेद् वेसरषाडवःvol_II_p067 §GRAMARAGA_GITIdict[str, GītiClass]
25 values
Sourced by
vesara = rāga class named for rapid svara movement; enumerated members per grāma
DEFINE vesara := raga WHERE svara_movement == 'rapid'
ENUMERATE vesara_ragas(sadja_grama) -> [takkaraga, sauvira, takkakaisika, bottaraga, vesara_sadava]
ENUMERATE vesara_ragas(madhyama_grama) -> [hindolaka, malavapancama, malavakaisika]
enVesaras are known to be so because the svaras move with speed.vol_II_p063 sktटक्करागश्च सौवीरस्तथा वै टक्ककेशिकः। बोट्टरागश्च षड्ज?ाख्ये भवेद् वेसरषाडवःvol_II_p067 sādhāraṇa = (a) classe de rāgas communs nes des gītis de tous rāgas et chantes en sādhāraṇa-gīti, assignes a 2 grāmas; (b) svara: antara-kākalī
DEFINE sādhāraṇa(x, ctx):
IF ctx == 'rāga':
origin = 'born_of_gītis_of_all_previously_spoken_rāgas'
sung_in = 'sādhāraṇa-gīti'
grāma_assignment = 'one_of_two_grāmas'
IF ctx == 'svara':
refers_to = 'antara-kākalī'
RETURN sādhāraṇa(x)
sktपूर्वोक्ताना सर्वेषा रागाणा या गीतयस्ताभिर्जायमानत्वात् तेषा साधारणत्वम्vol_II_p067 sktसप्त[नव ?] साधारणा प्रोक्ता ग्रामद्वयसमाश्रयाvol_II_p072 + 1 more verbatim
vesarā-gīti is a category of rāgas under rāga-gīti classification
CLASSIFY raga AS vesara_giti SUBTYPE_OF raga_giti
en[D. The rāgas pertaining to rāga-gīti or vesarā-gīti]vol_II_p063 §GRAMARAGA_GRAMAdict[str, Grāma]
11 values
Sourced by
Takkarāga is born of dhaivatī and ṣaḍjamadhyamā jātis and is related to ṣaḍjagrāma.
TAKKARAGA = {'parent_jatis': ['dhaivati','sadjamadhyama'], 'grama': 'sadjagrama'}
entakkarāga is related to ṣaḍjagrāma on account of being born of dhaivatī and ṣadjamadhyamā.vol_II_p063 Hindolaka is a rāga born of madhyamagrāma.
grama_of(hindolaka) := madhyamagrama
Mālavakaiśika est un grāma (système tonal) dans lequel plusieurs bhāṣās sont classées (associé à madhyama).
RECORD malavakaisika { kind: grama_tonal_system; classifies: multiple_bhasas; associated_svara: madhyama }
enbhāṣeyaṁ prathamā jñeyā madhyame mālakaišikevol_II_p083 §BHASA_COUNTSdict[str, BhasaCount]
6 values
Sourced by
Ṭakka-rāga has 12 bhāṣās (some say 16), aṁśa=madhyama, nyāsa=ṣaḍja, devoid of pañcama
SET takkaraga.amsa=madhyama, .nyasa=sadja, .lacks=[pancama], .bhasa_count IN {12,16}
enIn ṭakka-rāga, there are ten and two (twelve) (bhāṣās); some hold them to be sixteen.vol_II_p075 enIt has madhyama as its aṁśa, şadja as its concluding notevol_II_p077 + 1 more verbatim
Ṭakkarāga has 16 bhāṣās (some sources say 12), and generates multiple vibhāṣās including potā, Devālavardhanī, paurālī, Trāvaṇī, dohyā
ENUMERATE bhasas_of(takkaraga); COUNT IN {12, 16}; DERIVE vibhasas FROM takkaraga
+ 1 more verbatim
ṭakkarāga has sixteen bhāṣās per Yāṣṭika
ASSERT count(bhashas(takkaraga)) = 16 // attribution: Yashtika
enThese are the sixteen (bhāṣās) of ṭakkarāga spoken of by Yāṣṭika.vol_II_p082 §BHASA_NAMES_BY_GRAMARAGAdict[str, tuple[str,...]]
4 values
Sourced by
Mālavakaišika (madhyamagrāma, born of kaiśikī jāti) contains 8 bhāṣās: śuddha, ardhavesarikā, harṣapūrī, māngālī, saindhavī, ābhirī, khañjarī, gūrjarī
ENUMERATE bhasas_of(malavakaisika) = [suddha, ardhavesarika, harsapuri, mangali, saindhavi, abhiri, khanjari, gurjari]; COUNT = 8
enŚuddhā...ardhavesarikā, harṣapūrī...māngālī...saindhavī, ābhirī...Khañjarī and gūrjarīvol_II_p076 enthus are the eight (bhāṣās) in mālavakaišika.vol_II_p076 + 2 more verbatim
Mālavapañcama contains six bhāṣās: vibhāvinī, paurālī, vegavantī, pañcamī, āndhrī, gāndhārikā.
ENUMERATE bhasas(malavapancama) := [vibhavini, paurali, vegavanti, pancami, andhri, gandharika]; count := 6
enVibhāvinī, paurālī, vegavantī, pañcamī, āndhrī and gāndhārikā alone are the six (bhāṣās) in mālavapañcama.vol_II_p104 Bhinnapañcama generates 4 bhāṣās: Śuddhabhinnā, Varāṭī, Dhaivatabhūṣitā, Viśālā
ENUMERATE bhasas_of(bhinnapancama) = [suddhabhinna, varati, dhaivatabhusita, visala]; COUNT = 4
enBhāṣāsof bhinnapañcama...Suddhabhinnā...Varāţi...Dhaivatabhūșită...Viśālāvol_II_p006 enSuddhabhinnā, vārāṭī, similarly dhaivatabhūṣitā and then viśālā...born of bhinnapañcamavol_II_p077 §KNOWN_STRUCTURESdict[str, RagaStructure]
19 values
Sourced by
Ṭakka-rāga has 12 bhāṣās (some say 16), aṁśa=madhyama, nyāsa=ṣaḍja, devoid of pañcama
SET takkaraga.amsa=madhyama, .nyasa=sadja, .lacks=[pancama], .bhasa_count IN {12,16}
enIn ṭakka-rāga, there are ten and two (twelve) (bhāṣās); some hold them to be sixteen.vol_II_p075 enIt has madhyama as its aṁśa, şadja as its concluding notevol_II_p077 + 1 more verbatim
In takkarāga, ṣaḍja is graha, aṁśa and nyāsa.
TAKKARAGA.update({'graha':'sadja','amsa':'sadja','nyasa':'sadja'})
Takkarāga is weak in niṣāda and pañcama.
TAKKARAGA['weak_svaras'] = ['nishada','pancama']
enTakkarāga is combined with şadja as aṁśa and nyāsa and is weak in pañcama.vol_II_p063 + 33 more rule(s) :
R_5p2_607,
pinjari_vibhasha_amsa_nyasa,
R_252_dravidi,
BD_6_1_R025,
R_1040_dravidi_pancama_amsa,
BD_6_1_R022,
R_1039_bhinnapaurali_madhyama_amsa,
R_996_paurali,
paurali_definition_and_origin,
R_1006_varati_struct,
R_4p0_024,
R_077_bhinnapancama_enumeration,
abhiri_first_bhasa_from_pancama,
pota_definition_bhasa,
r_brd_413_ardhavesari_structure,
ravicandrika_structure,
R_1339_vibhavani_structure,
R_433_vibhavini_struct,
R_c193_bhavini,
R_1338_bhavani_vibhasa,
kalingi_structure,
BD_6_1_R020,
R_424_dakshinatya,
BD_6_1_R004,
travani_takka_pentatonic,
madhuri_bhasha_features,
hindolaka_five_bhasas,
chevati_mulabhasha_structural,
R_400_chevati,
tanavalitika_amsa_nyasa_and_vibhasa,
R_5p2_1032,
R_4p1_955,
R_956_01§BHASA_SUBTYPESdict[str, BhasaSubtype]
11 values
Sourced by
Chevāṭī is the mūlabhāṣā (root bhāṣā): complete, brilliant with madhyama, has ṣaḍja as graha-nyāsa, and exhibits saṁvāda between ṣaḍja-madhyama and two-śruti svaras.
CHEVATI = {
'role':'mulabhasha','completeness':'full',
'brilliant_with':'madhyama',
'graha':'sadja','nyasa':'sadja',
'samvada_pairs':[('sadja','madhyama'),'two_shruti_svaras']
}
enchevāṭī should be known by the knowledgeable ones in music as mūlabhāṣā.vol_II_p078 enCombined with sadja as the initial and concluding one (graha-nyāsa), complete, brilliant with madhyamavol_II_p078 Mūlabhāṣā = root/foundational bhāṣā: complete (sampūrṇa) with aṁśa=concluding_note; pañcamī, ṣaḍja-bhāṣā, gāndhārī are instances; sung in deity worship
DEFINE class(mūlabhāṣā): predicate = sampūrṇa AND aṁśa == concluding_note; instances ⊇ {pañcamī(aṁśa=pañcama), ṣaḍja-bhāṣā(hexatonic, dhaivata=initial+concluding, sparse_ṣaḍja), gāndhārī(under bhinna-ṣaḍja)}; viniyoga = deity_worship
enHaving pañcama as amsa and concluding note (and) being complete, pañcamī is a mūlabhāṣā.vol_II_p104 endhaivata as the initial and concluding note, having sparse sa (ṣaḍja), ṣaḍja bhāṣā is a mūlabhāṣāvol_II_p105 + 2 more verbatim
Sauvīrī, bearing the same name as its root rāga Sauvīra, is said to be a mūlabhāṣā.
SAUVIRI = {'parent_raga':'sauvira','role':'mulabhasha','name_shared_with_root':True}
ensauviri bearing the same name as its root, the Sauvīra rāga, is said to be a mūlabhāṣā.vol_II_p165 §TOTAL_BHASA_PLUS_VIBHASAint
Sourced by
Bhāṣās are melodic varieties born from grāma-rāgas; total bhāṣās + vibhāṣās = 73
DERIVE bhasa FROM grama_raga; DERIVE vibhasa FROM bhasa; COUNT(bhasas + vibhasas) = 73
enBhāṣāsare born of grāma-rāgasand vibhāṣās of bhāṣāsvol_II_p075 enbhāṣās and vibhāṣās have been said to be seventy-three in total.vol_II_p075 + 4 more verbatim
§ANTARA_BHASA_NAMEStuple[str,...]
2 values
Sourced by
Antarabhāṣā: bhāṣā category that includes Kālingī (sung by people of Kalinga)
DEFINE antarabhasha:
category_type = 'bhasha_subcategory'
members.includes(Kalingi) // sung by people of Kalinga
enThis is an antarabhāṣā and is sung by the people of Kalingavol_II_p094 Antara-bhāṣā is a distinct type of bhāṣā among the bhāṣā categories, encompassing forms like Niṣādavatikā.
ANTARA_BHASHA = {'is_distinct_type': True, 'examples':['nishadavatika']}
enWhich one is antara-bhāṣā and which one falls in sequence?vol_II_p074 Antara-bhāṣās are derived from vibhāṣās
antara_bhasha = derive_from(vibhasha)
enand similarly from vibhāṣās are born antara-bhāṣās.vol_II_p075
Unresolved (10)
Concepts present in the domain but no rule pins their values — listed honestly, never invented.
gauḍa-rāga enumerationR_1275_gaudaragas_category names the category but no 6b rule encloses a finite list
sādhāraṇa count discrepancyBody verse (aff#589) = 7 rāgas; TOC (aff#43) = 10 rāgas including Bhammāṇapañcama, Pañcamaṣāḍava, Revagupta
ṭakkarāga bhāṣā name listR_117 mixes bhāṣā and vibhāṣā names without tier-distinction; counts disputed 12 vs 16
bhinnaṣaḍja bhāṣā name listR_c32_bhinnasadja gives 9-15 names blended with non-bhāṣā items; not tier-pure
chāyāmātrāśrayā instancesNamed as 4th bhāṣā subtype (aff#874) but no individual bhāṣā assigned in 6b
shuddhakaisikamadhyama grāma assignmentDisputed in source (cross-ref domain 3); excluded from GRAMARAGA_GRAMA
Pārvatī parent rāgaR_253_parvati_structural gives TWO variants (hindolaka and bhinna-ṣaḍja); ambiguous
saṅkīrṇā assignment criterionsankirna_criterion_unclear — explicit epistemic open issue in source
antara-bhāṣā full registryOnly Kālingī and Niṣādavatikā explicitly tagged; tier exists, members not closed
ganaila classification (4 vs 5)R_1169 (4-fold) and R_1219 (4+saṅkara) give two counts; not encoded