voicevox  by VOICEVOX

Editor framework for AI speech synthesis

Created 4 years ago
3,027 stars

Top 15.5% on SourcePulse

GitHubView on GitHub
Project Summary

VOICEVOX is a free, medium-quality text-to-speech (TTS) software editor, designed for developers and contributors interested in the VOICEVOX project. It offers an integrated development environment for customizing and working with the VOICEVOX TTS engine, providing a platform for both user-facing improvements and core engine development.

How It Works

This project utilizes an Electron-based architecture, integrating TypeScript, Vue, and Vuex for its frontend. It interfaces with the core VOICEVOX TTS engine and core components, allowing for development and testing of the editor's functionality. The project emphasizes a structured approach to understanding its complex codebase through a "Code Navigation" guide.

Quick Start & Requirements

Development requires Node.js (version specified in .node-version), managed via tools like nvs or Volta. After forking and cloning the repository, install dependencies using npm i -g pnpm followed by pnpm i. Optional AI agent setup is available via pnpm run setup-agents. Engine integration involves copying .env.production to .env and configuring VITE_DEFAULT_ENGINE_INFOS with the correct executionFilePath for the vv-engine/run executable (specific paths provided for Windows, macOS, and Linux). Alternatively, set executionEnabled to false if running the engine API separately. The editor can be run in development mode with pnpm run electron:serve or in a production-like environment with pnpm run electron:serve --mode production. A browser-based version is under development (pnpm run browser:serve), requiring a separately running TTS engine.

Highlighted Details

  • Supports optional AI agent setup for tools like Codex CLI and Claude Code.
  • Features Storybook for component development and visualization, with a live preview available at https://voicevox.github.io/preview-pages/preview/editor/branch-main/storybook/index.html.
  • Includes a browser version under active development, with a preview at https://voicevox.github.io/preview-pages/preview/branch-main/editor/index.html.
  • Comprehensive testing suite includes unit, browser E2E, Electron E2E, and Storybook Visual Regression Testing (VRT).
  • Automated code formatting, linting, typo checking, and type checking are integrated via npm scripts.

Maintenance & Community

The project welcomes contributions from interested parties, with guides available for participation beyond code development. Discussions and community interaction occur on an unofficial VOICEVOX Discord server.

Licensing & Compatibility

VOICEVOX employs a dual-licensing model: LGPL v3, which mandates source code sharing for distributed derivative works, and an alternative license that may permit closed-source use, obtainable by contacting the project lead (@hiho_karuta).

Limitations & Caveats

This repository is intended for development; end-user instructions are on the official VOICEVOX website. The project's structure, combining Electron, Vue, and TypeScript, is noted as complex. Visual Regression Testing for Storybook components is currently restricted to Windows environments. Certain engine-related tests are configured to run exclusively on CI/GitHub Actions.

Health Check
Last Commit

6 days ago

Responsiveness

Inactive

Pull Requests (30d)
25
Issues (30d)
11
Star History
38 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.