EasyVoice:免费开源的AI文本转语音工具,一键生成有声书与字幕

原创 发布日期:
90

一、EasyVoice是什么?

EasyVoice是一个基于现代技术栈开发的开源文本转语音(TTS)智能工具,核心定位是“让文本转语音更简单、更高效、更灵活”。它打破了传统TTS工具的时长与字数限制,能够轻松处理10万字以上的超长文本(如网络小说、长篇文档),并支持多角色配音、流式传输、自动字幕生成等核心功能,无需付费即可享受全功能体验。

作为一款面向全场景的TTS工具,EasyVoice不仅满足普通用户“听文本”的基础需求(如将小说转为有声书通勤时收听),还能适配专业创作者的进阶需求(如视频配音、多角色音频剧制作)。其开源特性允许开发者自由部署到本地服务器或云平台,自定义扩展功能(如接入其他TTS服务),同时提供清晰的项目文档与简洁的操作界面,让非技术用户也能快速上手。

简单来说,EasyVoice是一款“兼顾易用性与扩展性”的TTS工具——普通用户可通过网页界面一键完成文本转语音,开发者可基于其代码二次开发,企业用户可部署到私有环境保障数据安全,真正实现“全人群覆盖、全场景适配”。

EasyVoice:免费开源的AI文本转语音工具,一键生成有声书与字幕

二、功能特色

EasyVoice的核心优势在于“无限制、多功能、高灵活”,其功能设计围绕用户实际使用场景展开,既解决了传统TTS工具的痛点,又提供了超出预期的附加价值。以下是其核心功能的详细解析:

(一)核心功能详细说明

  1. 超长文本转语音:无字数/时长束缚 这是EasyVoice最核心的亮点之一。传统TTS工具往往存在“单次转换字数限制”(如最多5000字),对于长篇小说、学术论文等大文本无能为力。而EasyVoice完全打破这一限制,支持10万字以上文本一键转换,尤其适合将网络小说、长篇故事转为有声书。用户无需分段处理,只需粘贴完整文本或上传.txt文件,即可生成连贯的音频,极大降低了超长文本转语音的操作成本。

  2. 流式传输:多长文本都能“立刻播放” 针对超长文本转换“等待时间长”的痛点,EasyVoice采用流式传输技术。即使是10万字的小说,无需等待全部音频生成完成,系统会实时返回音频片段,用户可立即开始试听,避免长时间等待带来的体验不佳。这一特性让“边生成边收听”成为可能,尤其适合需要快速验证音频效果的场景。

  3. 多角色配音:打造沉浸式音频体验 EasyVoice提供丰富的声音选项(如中文男声、女声、方言音,英文各类音色等),支持为文本中的不同角色分配专属语音,完美适配音频剧、小说旁白+角色对话、短视频多角色配音等场景。例如,在转换小说时,可给主角分配沉稳的男声、女主角分配清甜的女声、旁白分配大气的中性音,让音频更具层次感与代入感。

  4. 自动字幕生成:一站式解决“音+字”需求 转换语音的同时,EasyVoice会自动生成对应的字幕文件(支持常见字幕格式),无需额外使用字幕制作工具。这一功能对视频创作者尤为友好——生成配音后可直接搭配字幕用于视频剪辑,省去手动打轴、字幕编辑的步骤,极大提升创作效率;同时也方便字幕翻译、音频内容存档等场景。

  5. 多语言支持:适配跨语言场景 目前已支持中文(简体)、英文等多种语言的语音合成,后续还将扩展更多语种。无论是将英文文档转为音频,还是制作双语配音内容,都能满足需求,适用于外贸企业产品介绍、跨境自媒体创作、外语学习资料转换等场景。

  6. 全维度自定义设置:打造专属语音风格 用户可根据需求灵活调整语音参数,实现个性化定制:

  • 语速(rate):以百分比为单位,默认0%(正常语速),支持“+50%”(加快50%)、“-20%”(减慢20%)等调整;

  • 音量(volume):以百分比为单位,默认0%(正常音量),可增删音量(如“+40%”“-20%”);

  • 音调(pitch):以赫兹(Hz)为单位,默认0Hz(正常音调),支持“+10Hz”(提高音调)、“-5Hz”(降低音调)等设置。

  1. AI智能推荐配音:省心又高效 对于不熟悉语音参数设置的用户,EasyVoice提供AI推荐功能。通过大模型分析文本内容(如场景、角色情绪、文本类型),自动匹配最合适的语音音色、语速、音调等参数,无需手动调整即可获得高质量音频,降低使用门槛。

  2. 试听功能:提前验证效果 生成最终音频前,用户可选择“试听文本”功能,验证当前语音参数的效果。如果对音色、语速等不满意,可即时调整后再次试听,确保每一段音频都符合预期,避免生成后返工。

(二)核心功能总结表

功能名称 核心优势 适用场景
超长文本转语音 支持10万字+文本,无需分段 小说转有声书、长篇文档转音频
流式传输 实时返回音频,立刻播放,无需等待全部生成 超长文本转换、快速验证音频效果
多角色配音 多声音选项,角色专属语音分配 音频剧制作、小说对话配音、短视频多角色配音
自动字幕生成 同步生成字幕文件,无需额外工具 视频剪辑、音频内容存档、字幕翻译
多语言支持 中文、英文适配,后续将扩展更多语种 跨境内容创作、外语学习资料转换
自定义设置 语速、音调、音量全维度调整 个性化语音制作、适配不同场景(如教育、广告)
AI推荐配音 大模型智能匹配参数,无需手动调整 新手用户、快速生成高质量音频
试听功能 生成前验证效果,避免返工 所有场景,尤其对音频质量要求较高的场景

三、技术细节

EasyVoice基于成熟的技术栈开发,兼顾了易用性、扩展性与稳定性,其技术架构与实现细节如下:

(一)核心技术栈

技术层面 所用技术栈 核心作用
前端 Vue 3 + TypeScript + Element Plus 构建简洁易用的可视化操作界面,支持响应式布局,适配不同设备
后端 Node.js + Express + TypeScript 提供API服务,处理文本解析、语音合成请求、流式传输等核心逻辑
语音合成引擎 Microsoft Azure TTS + OpenAI兼容接口 + ffmpeg 实现高质量语音合成,支持多音色、参数调整,处理音频格式转换与拼接
部署方案 Docker + Docker Compose 容器化部署,简化环境配置,支持本地与云服务器快速部署

(二)项目结构解析

EasyVoice采用Monorepo(单仓库多包)结构,目录清晰,便于维护与扩展,核心目录说明如下:

  • docs/:项目文档目录,包含使用指南、API说明、架构设计等文档,帮助用户与开发者快速上手;

  • images/:存储项目截图、UI设计图等资源,用于README文档展示;

  • packages/:核心代码目录,包含前端、后端、共享工具等子包,实现功能模块化拆分:

    • frontend/:前端代码,负责用户交互界面(文本输入、参数设置、音频播放等);

    • backend/:后端代码,处理业务逻辑(文本分段、TTS调用、流式传输、文件存储等);

    • shared/:共享工具与类型定义,确保前后端数据结构一致;

  • scripts/:脚本目录,包含部署辅助、依赖管理等脚本;

  • tts-api/:TTS相关API封装目录,处理与第三方TTS引擎(如Azure TTS、OpenAI)的交互;

  • 根目录配置文件:Dockerfile(容器构建配置)、docker-compose.yml(容器编排配置)、package.json(项目依赖与脚本)、.env.example(环境变量示例)等,保障项目可快速部署与配置。

(三)环境变量配置

EasyVoice支持通过环境变量自定义服务参数,核心环境变量说明如下(配置文件优先级:packages/backend/.env > 根目录.env):

变量名 默认值 描述
PORT 3000 服务运行端口,如改为8080则通过http://localhost:8080访问
OPENAI_BASE_URL https://api.openai.com/v1 OpenAI兼容API地址,支持替换为第三方兼容接口(如openrouter.ai)
OPENAI_API_KEY - OpenAI API密钥,需自行申请配置
MODEL_NAME - 使用的大模型名称(如deepseek),用于AI推荐配音
RATE_LIMIT_WINDOW 1 速率限制窗口大小(单位:分钟)
RATE_LIMIT 10 每个窗口内的最大请求次数(防止滥用)
EDGE_API_LIMIT 3 Edge-TTS API并发数,可调整为10以下提升速度

(四)核心技术亮点

  1. 流式传输实现:通过Express框架的响应流(Response Stream)结合ffmpeg的实时音频处理能力,将超长文本分段解析后,逐段调用TTS引擎生成音频片段,实时推送给前端,实现“边生成边播放”,避免用户长时间等待。

  2. 多角色配音架构:设计了结构化的参数模型,支持为每个角色单独配置voice(音色)、rate(语速)、pitch(音调)、volume(音量)等参数,通过API批量提交角色文本与配置,后端自动拼接音频,确保多角色切换自然流畅。

  3. AI推荐逻辑:集成大模型API,将用户输入的文本按语义分段后,分析每段文本的场景(如旁白、对话、冲突场景)、情绪(如平静、紧张、悲伤),匹配预设的语音参数模板,推荐最适合的音色与调整参数,平衡“智能”与“高效”。

  4. 跨平台部署适配:通过Docker容器化封装依赖环境,无需担心不同系统(Windows、Linux、Mac)的环境冲突,同时支持Docker Compose一键启动,简化多服务协同部署流程;本地运行模式则适配Node.js生态,开发者可快速进行二次开发。

  5. 音频与字幕同步:在生成音频的同时,通过TTS引擎返回的时间戳信息,自动生成字幕文件,确保音频与字幕的时间轴精准匹配,无需手动调整。

(五)角色自定义技术实现

EasyVoice支持通过API实现高级角色自定义,用户可通过HTTP请求批量提交多角色文本与配置,后端自动生成整合音频。例如,通过curl命令调用接口:

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"
  },
  {
   "desc": "旁白",
   "text": "面对棠溪剑仙卢白撷的杀意,徐凤年按住剑柄蓄势待发...",
   "voice": "zh-CN-YunxiNeural",
   "rate": "0%",
   "pitch": "0Hz",
   "volume": "0%"
  }
 ]
}' \
-o output.mp3

该请求中,每个角色的desc(角色描述)、text(角色文本)、voice(音色)及各类调整参数独立配置,后端接收后按顺序调用TTS引擎生成音频片段,再通过ffmpeg拼接为完整的output.mp3文件,实现多角色音频的无缝整合。

四、应用场景

EasyVoice的功能设计覆盖了个人、创作者、企业、教育等多个领域,以下是其典型应用场景及使用方式:

(一)小说创作者:一键生成有声书

对于网络小说作者、出版社而言,将文字作品转为有声书是拓展传播渠道的重要方式,但传统有声书制作需聘请配音演员、后期剪辑,成本高、周期长。EasyVoice完美解决这一痛点:

  • 无需分段处理,直接上传10万字以上的小说文本(.txt格式);

  • 为主角、配角、旁白分配不同音色,通过多角色配音功能实现对话与旁白的差异化呈现;

  • 开启流式传输,边生成边试听,及时调整角色语音参数;

  • 自动生成字幕文件,便于有声书平台上架(部分平台要求提供字幕)。 最终可快速生成高质量有声书,成本几乎为零,周期从“数周”缩短至“数小时”。

(二)视频创作者:高效生成配音与字幕

短视频、自媒体视频、影视剪辑等创作者,往往需要为视频搭配配音与字幕,传统流程需先写文案、找配音工具生成音频、再用剪映等工具制作字幕,步骤繁琐。EasyVoice提供“一站式解决方案”:

  • 粘贴视频文案,选择适合视频风格的音色(如搞笑视频用活泼女声,科普视频用沉稳男声);

  • 调整语速与视频画面节奏匹配(如快节奏视频设置“+30%”语速);

  • 生成音频的同时自动获取字幕文件,直接导入剪映等剪辑工具,省去手动打轴步骤;

  • 支持多角色配音,适用于剧情类短视频(如角色对话场景)。 这一流程可将“配音+字幕”的制作时间从“1小时”缩短至“10分钟”,极大提升创作效率。

(三)自媒体人:制作音频内容矩阵

播客、喜马拉雅等音频平台的自媒体人,需要持续产出音频内容(如读书分享、时事评论),但部分创作者缺乏专业配音设备或声音条件。EasyVoice可帮助其快速搭建内容矩阵:

  • 将图文稿件转为音频,上传至音频平台,实现“一文多平台分发”;

  • 通过AI推荐配音功能,匹配内容风格(如情感类内容用温柔女声,财经类内容用专业男声);

  • 调整音量与音调,优化音频听感(如降低“-10%”音量避免刺耳);

  • 支持超长文本转换,可将长篇读书笔记转为系列音频,打造“有声书单”栏目。

(四)教育领域:制作教材与课件音频

教师、培训机构需要将教材、课件、习题解析转为音频(如供学生课前预习、课后复习收听),EasyVoice适配教育场景的核心需求:

  • 转换课本内容、知识点总结为音频,支持调整语速(如“-10%”语速,便于学生理解知识点);

  • 多语言支持可用于外语教学(如将英文课文转为音频,搭配原文字幕,帮助学生练习听力);

  • 支持批量生成多个章节的音频,按章节命名存储(如“语文上册-第1课.mp3”),便于整理课件;

  • 部署到学校内网,保障教学内容数据安全(开源特性支持私有部署)。

(五)企业用户:制作标准化音频内容

企业往往需要制作产品介绍、客服语音、办公文档音频等内容,要求风格统一、质量稳定。EasyVoice的优势在于:

  • 产品介绍音频:选择专业商务音色,调整音调与音量,确保音频清晰、有说服力,可用于官网、展会播放;

  • 客服语音:将常见问题(FAQ)转为音频,用于IVR语音导航(如“请按1咨询产品售后”),支持批量生成多个导航节点音频;

  • 办公文档音频:将公司制度、会议纪要转为音频,员工可在通勤时收听,提升信息传递效率;

  • 私有部署:通过Docker部署到企业云服务器,保障商业文档数据不泄露,符合数据安全规范。

(六)个人用户:“听”文本内容

普通个人用户可通过EasyVoice解决“没时间读文本”的痛点,适用于多种日常场景:

  • 转换长篇小说、公众号推文为音频,通勤、健身时收听,充分利用碎片时间;

  • 转换学术论文、工作报告为音频,边听边梳理思路(如设置“-20%”语速,便于理解复杂内容);

  • 转换英文文档、新闻为音频,搭配字幕学习英语听力;

  • 自定义语音参数,打造“专属听书声音”(如喜欢的音色+“-5%”语速)。

(七)开发者:二次开发与功能扩展

由于EasyVoice是开源项目,开发者可基于其代码进行二次开发,适配特定场景:

  • 接入自有TTS引擎(如公司内部研发的TTS服务),替换默认的Azure TTS;

  • 扩展语言支持(如添加日语、法语等语种);

  • 集成到现有系统(如内容管理系统CMS,实现“发布文章时自动生成音频”);

  • 开发新功能(如声音克隆、方言配音,项目后续计划支持,开发者可提前适配)。

EasyVoice:免费开源的AI文本转语音工具,一键生成有声书与字幕

五、使用方法

EasyVoice的使用流程分为“部署服务”“基础使用”“高级使用”三个环节,操作简单,技术与非技术用户均可快速上手:

(一)部署服务:两种方式任选

方式1:Docker部署(推荐,无需配置环境)

Docker部署无需安装Node.js、pnpm等依赖,适用于非技术用户或快速验证功能,步骤如下:

  1. 确保本地安装Docker与Docker Compose(参考Docker官方文档:https://docs.docker.com/get-docker/);

  2. 打开终端(Windows用PowerShell,Mac/Linux用Terminal);

  3. 极简运行(快速启动,默认配置):

    docker run -d -p 3000:3000 -v $(pwd)/audio:/app/audio cosincox/easyvoice:latest
    • 说明:-p 3000:3000表示将容器的3000端口映射到本地3000端口;-v $(pwd)/audio:/app/audio表示将本地当前目录的audio文件夹挂载到容器,生成的音频与字幕会保存在这里;

  4. 自定义配置运行(如修改端口、设置OpenAI API Key):

    docker run -d -p 8080:3000 -v $(pwd)/audio:/app/audio -e OPENAI_API_KEY=your_key -e PORT=3000 cosincox/easyvoice:latest
    • 替换your_key为你的OpenAI API密钥,8080为自定义本地端口;

  5. Docker Compose运行(适合多服务协同,如后续扩展数据库):

    • 克隆仓库:git clone https://github.com/cosin2077/easyVoice.git

    • 进入目录:cd easyVoice

    • 启动服务:docker-compose up -d

  6. 验证部署:打开浏览器访问http://localhost:3000(或自定义端口),出现EasyVoice操作界面即部署成功。

方式2:本地运行(适合开发者,支持二次开发)

本地运行需要配置Node.js与pnpm环境,步骤如下:

  1. 安装依赖环境:

    • 安装Node.js(版本建议16+):参考官方文档https://nodejs.org/,安装完成后通过`node -v`验证;

    • 安装pnpm:执行corepack enable(Node.js 16.14+自带corepack),或npm install -g pnpm(通过npm安装);

  2. 克隆项目仓库:

    git clone git@github.com:cosin2077/easyVoice.git
    cd easyVoice
  3. 安装项目依赖:

    pnpm i -r
    • -r参数表示安装所有子包(packages/frontend、packages/backend等)的依赖;

  4. 启动服务:

    • 开发模式(支持热更新,适合二次开发):pnpm dev:root

    • 生产模式(性能更优,适合正式使用):pnpm build:root && pnpm start:root

  5. 访问服务:打开浏览器输入http://localhost:3000,即可进入操作界面;

  6. 停止服务:终端按Ctrl+C(Windows/Mac)即可停止。

(二)基础使用步骤(网页端操作)

  1. 访问界面:部署成功后,浏览器打开http://localhost:3000,进入EasyVoice主页面;

  2. 输入文本:在“文本输入”框粘贴文本内容,或点击“上传文件”选择.txt格式文本(支持大文件上传);

  3. 语音设置:

    • 选择语言(默认中文简体,可切换英文);

    • 选择性别(男性/女性/中性);

    • 选择预设语音(如“zh-CN-晓晓”“zh-CN-云健”等,可点击“试听文本”验证音色);

    • 调整语速、音量、音调(拖动滑块或输入数值,如语速输入“+20%”);

  4. 试听效果:点击“试听”按钮,播放测试文本的语音效果,不满意则返回步骤3调整参数;

  5. 生成内容:点击“生成语音”按钮,系统开始转换文本,超长文本会启动流式传输,可立即播放;

  6. 下载文件:生成完成后,点击“下载音频”“下载字幕”,获取对应的.mp3音频文件与字幕文件。

(三)高级使用:角色自定义与API调用

对于需要多角色配音的场景,可通过API调用实现高级自定义(以curl命令为例):

  1. 确保服务已启动(本地部署为http://localhost:3000);

  2. 复制以下curl命令到终端,修改data数组中的角色配置(desc、text、voice等参数);

  3. 执行命令,生成整合后的多角色音频(输出为output.mp3)。

API参数说明

参数名 类型 描述 格式示例
desc 字符串 角色描述(仅用于标识,不影响语音生成) "徐凤年" "旁白"
text 字符串 该角色需要转换的文本内容 "你敢动他,我会穷尽一生毁掉卢家"
voice 字符串 音色标识(参考项目支持的声音列表) "zh-CN-YunjianNeural"
rate 字符串 语速调整(默认0%,支持正负百分比) "0%" "+50%" "-20%"
volume 字符串 音量调整(默认0%,支持正负百分比) "40%" "-20%"
pitch 字符串 音调调整(默认0Hz,支持正负Hz) "0Hz" "+2Hz" "-5Hz"

六、常见问题解答(FAQ)

Q1:如何配置OpenAI相关信息?

A:若需要使用OpenAI兼容的TTS引擎或AI推荐配音功能,需在配置文件中添加OpenAI相关参数:

  1. 复制项目根目录的.env.example文件,重命名为.env(或直接修改packages/backend/.env,优先级更高);

  2. 在文件中添加以下内容:

    OPENAI_API_KEY=your_api_key # 替换为你的OpenAI API密钥
    OPENAI_BASE_URL=https://openrouter.ai/api/v1 # 可替换为第三方兼容API地址
    MODEL_NAME=deepseek # 替换为使用的大模型名称(需与API地址兼容)
  3. 重启服务,配置生效。支持所有OpenAI兼容的API地址与模型(如deepseek、claude等)。

Q2:为什么AI配音效果不好?

A:AI推荐配音的效果依赖大模型的分析能力,若效果不佳,可通过以下方式优化:

  1. 更换大模型:在.env文件中修改MODEL_NAME,选择更擅长文本分析的模型(如GPT-4、deepseek-coder);

  2. 关闭AI推荐,手动选择固定音色:通过“预设语音”选择合适的音色,避免大模型误判场景;

  3. 分段生成:将超长文本按场景拆分(如对话段、旁白段),分别设置参数后生成,再手动拼接;

  4. 调整语音参数:若音色合适但情绪不匹配,可微调音调(如紧张场景设置“+5Hz”音调)。

Q3:生成速度太慢,如何优化?

A:生成速度慢主要与两个因素相关,可针对性优化:

  1. 关闭AI推荐配音:AI推荐需要大模型分析文本,会增加处理时间,直接选择固定音色可大幅提升速度;

  2. 调整Edge-TTS并发数:在.env文件中修改EDGE_API_LIMIT参数(默认3),可调整为5-10(建议不超过10,避免触发API限制),增加并发数可加快超长文本的分段生成速度;

  3. 更换更快的TTS引擎:若部署环境支持,可接入响应速度更快的TTS引擎(如本地部署的TTS服务),替代默认的Edge-TTS;

  4. 优化网络环境:若使用Azure TTS或OpenAI API,确保网络通畅,避免网络延迟导致的速度下降。

七、相关链接

八、总结

EasyVoice作为一款开源免费的文本转语音解决方案,以“无字数/时长限制、多角色配音、流式传输”为核心亮点,覆盖了从个人听书、创作者配音到企业办公、教育教学的全场景需求。其功能全面且实用,不仅支持超长文本转语音、自动字幕生成、多语言适配等基础功能,还提供AI智能推荐、全维度参数自定义等进阶功能,兼顾了普通用户的“易用性”与开发者的“扩展性”。技术层面采用Vue3、Node.js、Docker等成熟技术栈,部署灵活(支持Docker与本地运行),二次开发门槛低;使用流程简单直观,非技术用户也能快速上手。无论是小说创作者快速生成有声书、视频创作者高效制作配音字幕,还是企业部署私有TTS服务,EasyVoice都能以“零成本、高效率、高质量”的优势满足需求,是当前开源TTS工具中兼具实用性与灵活性的优质选择。

打赏
THE END
作者头像
AI铺子
关注ai行业发展,专注ai工具推荐