EasyVoice 是一个开源的文本转语音(Text-to-Speech, TTS)工具,旨在帮助用户将大段文本(如小说、文章等)高效地转换为高质量的语音输出。该项目支持多语言、多角色配音,并提供字幕生成功能,适用于有声书制作、内容创作等多种场景。

核心功能

  • 文本转语音:一键将大段文本转换为语音,支持超长文本处理。
  • 流式传输:即使是大容量文本,也能迅速生成音频并开始试听。
  • 多语言支持:支持中文、英文等多种语言的语音合成。
  • 字幕支持:自动生成字幕文件,方便视频制作和字幕翻译。
  • 多角色配音:提供多种声音选项,适配不同角色的配音需求。
  • 自定义设置:可调整语速、音调等参数,打造个性化语音风格。
  • AI 推荐:通过 AI 智能推荐最适合的语音配置,提升使用体验。
  • 试听功能:在生成前可试听效果,确保输出符合预期。

快速开始

使用 Docker 运行

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

或者使用 Docker Compose:

docker-compose up -d

本地运行项目

  1. 克隆仓库:

    git clone https://github.com/cosin2077/easyVoice.git
    cd easyVoice
    
  2. 安装依赖:

    pnpm install -r
    
  3. 启动开发模式:

    pnpm dev:root
    
  4. 构建并启动生产模式:

    pnpm build:root
    pnpm start:root
    

音频和字幕文件保存位置

  • Docker 部署:保存在挂载的 audio 目录下。
  • 本地运行:保存在 ./packages/backend/audio 目录下。

高级功能

自定义角色配音

启动服务后,可以通过以下 API 请求自定义角色配音:

curl -X POST http://localhost:3000/api/v1/tts/generateJson \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    {
      "desc": "角色A",
      "text": "这是角色A的台词。",
      "voice": "zh-CN-YunjianNeural",
      "volume": "40%"
    },
    {
      "desc": "角色B",
      "text": "这是角色B的台词。",
      "voice": "zh-CN-XiaoyiNeural"
    }
  ]
}'

在线体验

访问 easyvoice.ioplus.tech 体验 EasyVoice 的在线功能。

开源协议

该项目采用 MIT 许可证,允许自由使用、修改和分发。

如需了解更多信息,请访问项目仓库:https://github.com/cosin2077/easyVoice