跳转至主要内容

身边的趣闻

一个免费开源的文本转语音(TTS)工具,支持超长文本(如小说、文章等),多角色配音

wzy
最后编辑于 2025年 5月 5日

 

EasyVoice

EasyVoice 是一个开源的文本、小说智能转语音解决方案,旨在帮助用户轻松将文本内容转换为高质量的语音输出。它支持多种语言和角色配音,允许用户一键生成语音和字幕,支持超长文本转换(如小说、文章等),还可以自定义语速、音调等参数,并通过 AI 智能推荐配音。

图片
图片

核心功能

(一)文本转语音

  • • 支持一键将大段文本转为语音,高效又省时。
  • • 支持超长文本转换,多长的文本都能立刻播放。

(二)多语言支持

  • • 支持中文、英文等多种语言。

(三)字幕支持

  • • 自动生成字幕文件,方便视频制作和字幕翻译。

(四)角色配音

  • • 提供多种声音选项,完美适配不同角色。
  • • 支持自定义多角色配音,可以通过 API 指定不同角色的声音、音量等参数。

(五)自定义设置

  • • 可调整语速、音调等参数,打造专属语音风格。

(六)AI 推荐

  • • 通过 AI 智能推荐最适合的语音配置,省心又贴心。

(七)试听功能

  • • 生成前可试听效果,确保每一句都如你所愿。

应用场景

(一)小说转有声书

  • • 支持将 10 万字以上的小说一键转为有声书。

(二)内容创作

  • • 为创作配音,打造个性化音频。

(三)语言学习

  • • 多语言支持,帮助用户学习不同语言的发音。

技术架构

(一)前端

  • • Vue 3 + TypeScript + Element Plus:构建用户界面,提供简洁易用的操作体验。

(二)后端

  • • Node.js + Express + TypeScript:处理业务逻辑和请求。

(三)语音合成

  • • Microsoft Azure TTS:提供高质量的语音合成服务。
  • • OpenAI:用于 AI 推荐配音功能。
  • • ffmpeg:处理音频文件。

(四)部署

  • • Node.js + Docker + Docker Compose:支持多种部署方式,方便用户在不同环境下快速部署和运行。

安装与使用

(一)通过 Docker 运行

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

(二)本地运行项目

  1. 1. 安装 Node.js:确保已安装 Node.js 环境。
  2. 2. 安装 pnpm

    corepack enable
    # 或者使用 npm 安装 pnpm
    npm install -g pnpm
  3. 3. 克隆仓库

    git clone git@github.com:cosin2077/easyVoice.git
    cd easyVoice
  4. 4. 安装依赖

    pnpm i -r
  5. 5. 启动项目

    pnpm dev:root

(三)生成的音频、字幕保存位置

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

高级特性

(一)角色自定义

  • • 支持通过 API 指定不同角色的声音、音量等参数,实现多角色配音。
  • • 示例:

    curl -X POST http://localhost:3000/api/v1/tts/generateJson \
      -H "Content-Type: application/json" \
      -d '{
      "data": [
        {
          "desc": "徐凤年",
          "text": "你敢动他,我会穷尽一生毁掉卢家,说到做到",
          "voice": "zh-CN-YunjianNeural",
          "volume": "40%"
        },
        {
          "desc": "姜泥",
          "text": "徐凤年,你快走,你打不过的",
          "voice": "zh-CN-XiaoyiNeural"
        }
      ]
    }'
     \
    -o output.mp3

(二)接入其他 TTS 服务

  • • 计划支持更多 TTS 服务,如 Google TTS、声音克隆等。

环境变量配置

变量名
默认值
描述
PORT 3000
服务端口
OPENAI_BASE_URL https://api.openai.com/v1
OpenAI 兼容 API 地址
OPENAI_API_KEY
OpenAI API Key
MODEL_NAME
使用的模型名称
RATE_LIMIT_WINDOW 1
速率限制窗口大小(分钟)
RATE_LIMIT 10
速率限制次数
EDGE_API_LIMIT 3
Edge-TTS API 并发数
  • • 配置文件:可在 .env 或 packages/backend/.env 中设置,优先级为 packages/backend/.env > .env
  • • Docker 配置:通过 -e 参数传入环境变量。

常见问题解答(FAQ)

(一)如何配置 OpenAI 相关信息?

  • • 在 .env 文件中添加:

    OPENAI_API_KEY=your_api_key
    OPENAI_BASE_URL=openai_compatible_base_url
    MODEL_NAME=openai_model_name
  • • 可以使用任何 OpenAI 兼容的 API 地址和模型名称。

(二)为什么我的 AI 配音效果不好?

  • • AI 推荐配音依赖于大模型的能力,建议尝试更换不同的大模型,或者使用 Edge-TTS 选择固定的声音配音。

(三)速度太慢?

  • • AI 推荐配音需要分段分析和生成音频,速度会比直接使用 Edge-TTS 慢。可以更换更快的大模型,或者调节 Edge-TTS 的并发参数 EDGE_API_LIMIT

使用提示(Tips)

  • • 当前主要通过 Edge-TTS API 提供免费语音合成。
  • • 未来计划支持更多功能,如官方 API、Google TTS、声音克隆等。

🔗相关链接

GitHub 仓库:https://github.com/cosin2077/easyVoice?tab=readme-ov-file

体验一下:https://easyvoice.ioplus.tech/

 

wzy

分类:

评论已关闭。