Sanskrit prosody or chandaśāstra is the study of poetic metres and verse in Sanskrit. Chandas (Sanskrit metres) include those based on a fixed number of akṣara (syllables) per verse, and those based on fixed number of mātra (morae) per verse.
Each chanda has its own rhythm, movements and aesthetics, making the Sanskrit poetic works
easier to memorise and recite. Most of the ancient Sanskrit literature adheres to chandaśāstra.
The system can also be used for error identification and correction of text present in the existing
digital corpora, text generated by OCR systems, text generated by text-to-speech systems, etc.
The identification system can identify chanda from saṃskṛta text in Devanagari. Chanda can be identified in two modes.
Line Mode
)Verse Mode
)Every akṣara (syllable) is identified to be either laghu (short) or guru (long) as per the following rules of chandaśāstra.
gaṇa | lakṣaṇa | gaṇa | lakṣaṇa |
---|---|---|---|
य | लगग | भ | गलल |
र | गलग | ज | लगल |
त | गगल | स | ललग |
न | ललल | म | गगग |
The chanda identification system made available hereby has a list of over 200 chandas
collated from various sources, most notable among which are Śabdakalpadruma and Vṛttaratnākara.
The current list of chandas can be found here.
There may be cases where a chanda match is not found for a particular line. This can happen due to two reasons.
i
, d
and r
,
indicating insert, delete and replace operations.
i(laghu-guru-marker)
: This type of the notation indicates the insertion of a
new syllable. i(ल)
indicates that a laghu syllable needs to be inserted,
similarly i(ग)
indicates that a guru syllable needs to
be inserted.
r(syllable)[laghu-guru-marker]{suggestion}
: This type of notation indicates that the
syllable
needs to be replaced by a laghu or guru syllable (depending upon
the marker).
In some cases, a suggested change would be included.
d(syllable)
: This type of notation indicates that the syllable
needs to be
deleted.
The laghu-guru string for the given line is compared with the known chanda signatures, and ranked according to their edit-distance. Backtracing is used to predict which operations are required to reach the target string.
Yes!
Transliteration support is powered by the fantastic indic-transliteration
library.
Therefore, any scheme supported by this library can be used to provide input. Further, this also applies for all input types.
i.e., Images or files uploaded can also contain text in any supported transliteration scheme. This includes
all promient schemes of Devanagari transliteration.
It also includes all prominent Indian language scripts, such as, Bangla, Telugu, Tamil, Malayalam, Gujarati and many more.
As a result, if the language of choice shares follows Sanskrit Chandaśāstra one can even provide input in the script
of that language (e.g., Telugu) and the system will work seemlessly.
The output, by default, will be displayed using the scheme that input follows. However, this can be controlled and the output can be displayed using multiple transliteration schemes.
This work has been published in Proceedings of Computational Sanskrit and Digital Humanities selected papers presented at The 18th World Sanskrit Conference, Australia, 2023. The following BibTeX can be used to cite it.
BibTeX Citation:
@inproceedings{terdalkar2023chandojnanam, title = "Chandojnanam: A {S}anskrit Meter Identification and Utilization System", author = "Terdalkar, Hrishikesh and Bhattacharya, Arnab", booktitle = "Proceedings of the Computational {S}anskrit {\&} Digital Humanities: Selected papers presented at the 18th World {S}anskrit Conference", month = jan, year = "2023", address = "Canberra, Australia (Online mode)", publisher = "Association for Computational Linguistics", url = "https://aclanthology.org/2023.wsc-csdh.8", pages = "113--127", }
Yes! The code is available at hrishikeshrt/chanda.
If you enjoy using Chandojñānam, please star the project on GitHub.
Star
If you face any issues, please feel free to create an issue.