Repolode
cosin2077

cosin2077/easyVoice

Open-source text-to-speech tool that converts long texts and novels into audio, with subtitles and multi-voice character dubbing.

Open-source alternative to:ElevenLabs

Stars
2,344
Forks
383
Open issues
35
Last commit
3 days ago

What is it?

EasyVoice turns text, including full-length novels, into speech. It generates audio and matching subtitle files, and streams output so long texts can start playing before generation finishes. Users can assign different voices to different characters or passages within one script, and adjust speaking rate, volume and pitch per segment.

The default voices come from Microsoft Edge TTS, and an optional AI recommendation feature uses an OpenAI-compatible model to choose dubbing parameters for each paragraph. The project also handles pause markers that insert real silence, and reads numbers such as stock codes or phone numbers digit by digit.

The frontend is built with Vue 3 and Element Plus, and the backend with Node.js and Express. It can be run with Docker or Docker Compose, or deployed locally with pnpm, and exposes HTTP endpoints for scripted generation.

Key features

  • 01Converts long texts and full novels into audio with subtitles.
  • 02Streams audio so playback can begin before generation finishes.
  • 03Assigns different voices to characters within one script.
  • 04Adjusts speech rate, volume and pitch per segment.
  • 05Optionally uses an OpenAI-compatible model to recommend dubbing settings.
  • 06Runs via Docker or locally with Node.js.

Use cases

  • Turning web novels or long articles into audiobooks.
  • Producing multi-character audio drama or voiceover scripts.
  • Generating narration with matching subtitle files for videos.
  • Batch-generating speech through the HTTP API in automated pipelines.

Quick start

  1. 1

    Run the project with Docker in one command

    docker run -d -p 3000:3000 -v $(pwd)/audio:/app/audio cosincox/easyvoice:latest
  2. 2

    Enable pnpm via corepack

    corepack enable
  3. 3

    Install dependencies after cloning the repository

    pnpm i -r
  4. 4

    Start the project in development mode

    pnpm dev

Things to know

  • Free synthesis relies on the Edge-TTS API, which may be rate-limited under high concurrency.
  • Local runs require Node.js 20 or newer and pnpm.

Topics

FAQ

What is easyVoice?
Open-source text-to-speech tool that converts long texts and novels into audio, with subtitles and multi-voice character dubbing. EasyVoice turns text, including full-length novels, into speech. It generates audio and matching subtitle files, and streams output so long texts can start playing before generation finishes. Users can assign different voices to different characters or passages within one script, and adjust speaking rate, volume and pitch per segment.
Is easyVoice free to use? What license does it have?
easyVoice has no declared license. Its code is public, but without a license you have no explicit permission to reuse it; ask the author before relying on it.
Is easyVoice still maintained?
Actively maintained. The last commit to easyVoice was on Oct 20, 2026.
What can I use easyVoice for?
Turning web novels or long articles into audiobooks. Producing multi-character audio drama or voiceover scripts. Generating narration with matching subtitle files for videos. Batch-generating speech through the HTTP API in automated pipelines.
How do I install easyVoice?
Run the project with Docker in one command: docker run -d -p 3000:3000 -v $(pwd)/audio:/app/audio cosincox/easyvoice:latest Enable pnpm via corepack: corepack enable Install dependencies after cloning the repository: pnpm i -r Start the project in development mode: pnpm dev
Where can I get easyVoice?
The source code and installation instructions are on GitHub: https://github.com/cosin2077/easyVoice

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects