引言

Speech-AI-Forge 是一个围绕文本转语音(TTS)生成模型开发的开源项目,提供了一个强大的 API 服务器和基于 Gradio 的 WebUI,支持多种先进的 TTS 模型、音色切换、语音增强等功能。本篇博客将深入探讨 Speech-AI-Forge 的实用性,详细介绍其安装步骤、核心功能以及实际应用场景,帮助开发者快速上手并将其集成到自己的项目中。

免费下载:https://download.csdn.net/download/qq_29655401/92178245

项目链接:https://github.com/lenML/Speech-AI-Forge

为什么选择 Speech-AI-Forge?

Speech-AI-Forge 的设计目标是为开发者提供一个灵活、统一的 TTS 系统,支持多种 TTS 模型(如 ChatTTS、CosyVoice、FishSpeech 等),并通过 API 和 WebUI 提供便捷的交互方式。以下是其主要实用特性:

  • 多模型支持:支持多种 TTS 模型,允许用户根据需求选择合适的模型。
  • 音色定制:内置多种音色,支持上传自定义音色文件或基于参考音频进行推理。
  • 长文本处理:自动分割超长文本,支持批量推理,提升效率。
  • 语音增强:集成 Enhancer 模型,提升输出音频质量。
  • SSML 支持:提供高级语音合成标记语言控制,适合复杂语音场景。
  • API 和 WebUI 双支持:既可以通过 Web 界面操作,也可以通过 API 集成到其他应用。

这些特性使其适用于有声书制作、语音助手开发、播客生成等多种场景,兼具易用性和灵活性。

安装教程

以下是 Speech-AI-Forge 的详细安装步骤,涵盖本地部署和 Docker 部署两种方式。确保你的系统满足以下基本要求:

  • 操作系统:Windows、Linux 或 macOS
  • Python 版本:Python 3.8 或以上
  • 硬件要求:建议至少 8GB 内存,推荐 GPU(支持 CUDA)以加速推理
  • 依赖工具:FFmpeg(用于音频处理)

本地部署

  1. 克隆项目仓库
    首先,克隆 Speech-AI-Forge 的 GitHub 仓库到本地:

    git clone https://github.com/lenML/Speech-AI-Forge.git
    cd Speech-AI-Forge
    
  2. 安装 FFmpeg
    FFmpeg 是音频处理的核心依赖。安装方式如下:

    • Linux
      sudo apt-get install ffmpeg
      
    • macOS
      brew install ffmpeg
      
    • Windows:从 FFmpeg 官网 下载并配置环境变量。
  3. 创建虚拟环境
    为避免依赖冲突,建议使用 Python 虚拟环境:

    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    .\venv\Scripts\activate   # Windows
    
  4. 安装 Python 依赖
    项目提供了 requirements.txt 文件,安装依赖:

    pip install -r requirements.txt
    

    如果使用 GPU,安装 GPU 相关依赖:

    pip install -r requirements.dev_gpu.txt
    
  5. 下载模型
    Speech-AI-Forge 支持自动下载模型,但首次运行需要确保网络连接。模型会下载到 ./models 目录。你也可以手动从 HuggingFace 或其他支持的来源下载模型,具体参考 模型下载文档

  6. 启动 WebUI
    运行以下命令启动 Gradio 界面:

    python webui.py
    

    启动后,访问 http://localhost:7860 即可使用 WebUI。

  7. 启动 API 服务器
    如果需要 API 服务,运行:

    python launch.py
    

    API 文档可在 http://localhost:7870/docs 查看。

Docker 部署

Docker 部署适合需要快速部署或隔离环境的场景。

  1. 安装 Docker
    确保已安装 Docker 和 Docker Compose。参考 Docker 官网

  2. 拉取项目
    如果尚未克隆仓库,执行:

    git clone https://github.com/lenML/Speech-AI-Forge.git
    cd Speech-AI-Forge
    
  3. 启动 WebUI
    使用 Docker Compose 启动 WebUI:

    docker-compose -f docker-compose.webui.yml up
    

    访问 http://localhost:7860

  4. 启动 API 服务器
    启动 API 服务:

    docker-compose -f docker-compose.api.yml up
    

    API 文档位于 http://localhost:7870/docs

  5. 模型下载
    Docker 部署会自动处理模型下载,但需确保容器有足够存储空间(建议 20GB 以上)。

常见问题解决

  • FFmpeg 未找到:确保 FFmpeg 已正确安装并添加到系统 PATH。
  • 依赖安装失败:检查 Python 版本是否为 3.8+,并尝试升级 pip(pip install --upgrade pip)。
  • 显存不足:调整 batch_sizespliter_threshold 参数(默认分别为 2 和 30,适合 8GB 显存)。

核心功能深度解析

以下是 Speech-AI-Forge 的核心功能及其实际应用场景的深入分析。

1. 多模型支持

Speech-AI-Forge 通过 ModelZoo 单例模式管理多种 TTS 模型,包括:

  • ChatTTS:27 种内置音色,适合自然对话场景。
  • CosyVoice:7 种音色,优化中文语音生成。
  • FishSpeech:高保真语音,适合高质量音频输出。
  • F5-TTSGPT-SoVITS 等:支持特定场景的语音合成。

使用场景:开发者可以根据项目需求选择模型。例如,CosyVoice 适合中文有声书,FishSpeech 适合播客制作。

操作步骤

  1. 在 WebUI 中选择模型(如 ChatTTS)。
  2. 配置文本和音色,点击生成。
  3. 通过 API 调用:
    curl -X POST http://localhost:7870/v2/tts -d '{"text": "你好,世界!", "model": "ChatTTS"}'
    

2. 音色定制与参考音频

支持内置音色、自定义音色上传和参考音频推理。参考音频功能允许用户上传音频文件,系统提取音色特征进行 TTS 推理。

使用场景:为虚拟角色配音、模仿特定人物声音(如播客主持人)。

操作步骤

  1. 在 WebUI 的“音色”选项卡上传音频文件。
  2. 设置参考文本,点击“生成”以基于参考音频合成。
  3. API 调用示例:
    curl -X POST http://localhost:7870/v2/tts -F "ref_audio=@sample.wav" -d '{"text": "测试文本"}'
    

3. 长文本处理

Speech-AI-Forge 支持超长文本推理,通过自动分割器(spliter_threshold 控制分割阈值)处理长文本,避免显存溢出。

使用场景:生成长篇有声书或演讲音频。

优化技巧

  • 调整 spliter_threshold(如 30)以适配硬件。
  • 使用 Batch Size(如 2)加速批量推理。
  • 启用 Refiner(仅 ChatTTS)处理超长文本。

4. 语音增强

使用 Enhancer 模型优化音频输出,改善音质和清晰度。

使用场景:提升低质量 TTS 输出,适合专业音频应用。

操作步骤

  1. 在 WebUI 中启用“Voice Enhancer”选项。
  2. API 调用示例:
    curl -X POST http://localhost:7870/v2/tts -d '{"text": "测试", "enhance": true}'
    

5. SSML 支持

支持语音合成标记语言(SSML),允许精细控制语速、音调和停顿。

使用场景:创建具有特定节奏和语调的广告或教育音频。

示例 SSML

<speak>
  <prosody rate="slow">欢迎体验 Speech-AI-Forge</prosody>
  <break time="500ms"/>
  <prosody pitch="high">这是一个强大的 TTS 系统</prosody>
</speak>

操作步骤

  1. 在 WebUI 的 SSML 输入框中粘贴 SSML 代码。
  2. 通过 API 提交 SSML:
    curl -X POST http://localhost:7870/v2/tts -d '{"ssml": "<speak>...</speak>"}'
    

实际应用案例

  1. 有声书制作

    • 使用 CosyVoice 模型生成中文有声书。
    • 配置 SSML 控制语速和停顿,模拟自然朗读。
    • 启用 Enhancer 提升音质,输出专业音频。
  2. 语音助手开发

    • 通过 API 集成到聊天机器人,调用 ChatTTS 模型生成自然对话。
    • 使用参考音频模仿用户喜爱的音色。
  3. 播客生成

    • 使用 FishSpeech 模型生成高保真播客音频。
    • 利用长文本处理功能,批量生成长篇内容。

高级配置与优化

  • 内存管理ModelZoo 提供模型生命周期管理,自动卸载未使用的模型以释放显存。

  • 设备管理:通过 DeviceManager 优化 GPU/CPU 分配,适合多设备环境:

    from modules.devices import DeviceManager
    DeviceManager.set_device("cuda:0")  # 指定 GPU
    
  • 批量推理:在 InferConfig 中调整 batch_sizespliter_threshold

    # modules/core/handler/datacls/tts_model.py
    class InferConfig(BaseModel):
        batch_size: int = 2
        spliter_threshold: int = 30
    

常见问题与社区支持

  • 模型加载失败:检查模型文件是否完整,参考 DeepWiki 模型下载指南
  • 音色不一致:确保参考音频质量高,长度在 10-30 秒。
  • 社区支持:加入 GitHub Discussions 或 Discord 服务器获取帮助。

总结

Speech-AI-Forge 是一个功能强大且灵活的 TTS 系统,适合开发者在多种场景下快速构建语音应用。通过详细的安装教程和功能解析,你可以轻松上手并将其集成到自己的项目中。无论是本地部署还是 Docker 部署,Speech-AI-Forge 都能提供高效的开发体验。立即尝试,探索其丰富的功能吧!

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐