voicelk_ml
Speech engine
Text normalisation, code-switched G2P, VITS training and evaluation.
Python · PyTorch
VoiceLK is a Sinhala-English text-to-speech product built from research, bringing mixed-language text to life as speech.
Results and Outcomes for Sinhala-English Code-Switched Speech
Reflecting on VoiceLK’s achievements, current limitations, and future opportunities to improve Sinhala–English text-to-speech.
How VoiceLK integrates its language-processing pipeline, VITS speech synthesis model, frontend, and backend services into a usable application.
Numbers, dates, abbreviations and mixed scripts are expanded into words a speaker would actually say, in the right language.
A code-switched grapheme-to-phoneme front-end decides, word by word, whether it is reading Sinhala or English and emits one shared phoneme sequence.
A VITS model learns to map those phonemes straight to a waveform, with multi-speaker and single-speaker runs tracked checkpoint by checkpoint.
A small FastAPI bridge renders audio on request; the application stores every clip together with the checkpoint that produced it.
Open code
voicelk_ml
Text normalisation, code-switched G2P, VITS training and evaluation.
Python · PyTorch
bridge
The microservice that serves the trained checkpoints over HTTP.
Python · FastAPI
voicelk_be
Auth, questions, answers and the stored audio records.
Java · Spring Boot
voicelk_fe
The React app people use to ask questions and hear the answers.
React · Vite · Tailwind