Skip to content

About

An interactive reader for premodern texts from the Sinosphere (focusing on Vietnam + China), inspired by quran.com. Currently feature a dynamic voice-to-text highlighting function, and live dictionary query from zdic.net

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

About

SinoScript is an interactive reader of premodern literary and religious text from the Sinosphere (China, Vietnam, Korea, Japan). It is inspired by Quran.com, a web application where user can listen to different recitations of the Quran, with dynamically highlighted text and quick translations of Arabic. In its starting phase, SinoScript is focusing on the mock development of a reader for the Dao De Jing (China) and The Tale of Kieu (Vietnam). A brief demo video can be found below:

Screen.Recording.2025-12-20.at.2.08.00.PM.mov

Approach

In order for us to achieve the results in the mock demonstration, an audio (broken into chapters) of the Dao De Jing recitation is processed by an AI model (via ElevenLabs), returning a Forced Alignment file (each character and its timing inside the audio is stored inside a 'segment'). This file is then calibrated for better accuracy, then mapped onto the reader segment by segment. The highlighting effect is achieved via a common audio-text aligning technique using JavaScript. image

Design

This is a summary of the project's scope. image

Getting Started

To run this application:

npm install
npm run start

Building For Production

To build this application for production:

npm run build

Testing

This project uses Vitest for testing. You can run the tests with:

npm run test

Styling

This project uses Tailwind CSS for styling.

About

An interactive reader for premodern texts from the Sinosphere (focusing on Vietnam + China), inspired by quran.com. Currently feature a dynamic voice-to-text highlighting function, and live dictionary query from zdic.net

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages