VoiceLK brings words to life Sinhala & English.

VoiceLK is a Sinhala-English text-to-speech product built from research, bringing mixed-language text to life as speech.

How VoiceLK works

Normalise the text

Numbers, dates, abbreviations and mixed scripts are expanded into words a speaker would actually say, in the right language.

Turn letters into sounds

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.

Train the voice

A VITS model learns to map those phonemes straight to a waveform, with multi-speaker and single-speaker runs tracked checkpoint by checkpoint.

Serve it

A small FastAPI bridge renders audio on request; the application stores every clip together with the checkpoint that produced it.

Open code

Read the source

voicelk_ml

Speech engine

Text normalisation, code-switched G2P, VITS training and evaluation.

Python · PyTorch

bridge

TTS bridge

The microservice that serves the trained checkpoints over HTTP.

Python · FastAPI

voicelk_be

Application backend

Auth, questions, answers and the stored audio records.

Java · Spring Boot

voicelk_fe

Web client

The React app people use to ask questions and hear the answers.

React · Vite · Tailwind