/Shiksha

'Initial nuts and bolts for a fledgling application programming interface binary providing high-fidelity conversion of Sanskrit characters to accurate phones algorithmically with true morphophonemic and phonotactic structure (Computational Śikṣā). There is dire need of this given the dearth of education of humanity in its fallen state in Kali Yuga.

Primary LanguagePythonMIT LicenseMIT

sanskrit_tts

A simple python library for converting Sanskrit text to speech.

Pre-requisites

Currently, the only supported method is to use Google Cloud text to speech with a workaround (see details below). A Google Cloud account with text-to-speech API enabled is required. Instructions for enabling the API and setting up application credentials are described here. Please follow these steps before using this library.

Note that the TTS API will incur a cost if the free quota is exceeded (details). The library uses a wavenet voice by default, but this can be changed via the voice parameter to synthesize_text.

Installation

This package has been developed on python 3.8 but should work with any version of python >= 3.6.

pip install sanskrit_tts

To install from the master branch of the git repo:

pip install git+https://github.com/avinashvarna/sanskrit_tts.git

For an editable installation (to modify the code and experiment)

git clone https://github.com/avinashvarna/sanskrit_tts.git
cd sanskrit_tts
pip install -e .

Usage

See the example notebook for a simple example of converting text from Sanskrit Wikipedia to the corresponding audio.

How it works

Google Text-to-Speech does not support Sanskrit yet. As a workaround, this library uses other languages for speech to text conversion. Kannada is used by default for this workaround. Any other language/voice supported by Google TTS API can be used by changing the voice parameter to synthesize_text, and the results will vary. A complete list of voices is available here.