音频生成工具

Higgs Audio v2 Web 是一个支持Docker部署的音频生成工具,提供文本转语音、零样本语音克隆、多说话人对话等功能,适用于AI代理集成和长文本生成。

  • by neosun100
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 neosun100/higgs-audio-web

使用说明

🎵 Higgs Audio v2 Web

All-in-One Docker deployment for Higgs Audio v2 with Web UI, REST API & MCP support

English | 简体中文 | 繁體中文 | 日本語


✨ 特性

  • 🎤 表达性TTS -最先进的文本到语音的情感表达
  • 🎭 零样本语音克隆 -只需5-10秒的音频即可克隆任何语音
  • 👥 多扬声器对话框 -与多个说话者进行自然对话
  • 📝 文本配置文件语音 -在文本中描述语音特征,不需要音频
  • 📚 长格式生成 -长文本自动分块,声音一致
  • 🌐 现代Web用户界面 -漂亮的深色主题界面,支持多种语言
  • 🔌 REST API -带Swagger文档的完整API
  • 🤖 MCP支持 -AI代理集成的模型上下文协议
  • 🐳 一键式Docker -所有内容都在一个容器中,没有外部依赖关系
  • 🎮 GPU优化 -自动选择可用内存最多的GPU

🚀 快速开始

Docker(推荐)

docker run -d --gpus all \
  -p 8095:8095 \
  -v ~/.cache/huggingface:/app/models \
  --name higgs-audio \
  neosun/higgs-audio-web:latest

然后访问:http://localhost:8095


📦 安装

先决条件

  • NVIDIA GPU 24GB+VRAM (例如,RTX 4090、L40S、A100)
  • Docker与NVIDIA容器工具包
  • 或者:Python 3.10+,CUDA 12.x

选项1:Docker(推荐)

# Pull the image
docker pull neosun/higgs-audio-web:latest

# Run with GPU support
docker run -d --gpus all \
  -p 8095:8095 \
  -v ~/.cache/huggingface:/app/models \
  -v ./outputs:/app/outputs \
  --name higgs-audio \
  neosun/higgs-audio-web:latest

# Check logs
docker logs -f higgs-audio

# Verify
curl http://localhost:8095/health

选项2:Docker编写

# docker-compose.yml
services:
  higgs-audio:
    image: neosun/higgs-audio-web:latest
    ports:
      - "8095:8095"
    environment:
      - NVIDIA_VISIBLE_DEVICES=all
      - MODEL_PATH=bosonai/higgs-audio-v2-generation-3B-base
      - AUDIO_TOKENIZER_PATH=bosonai/higgs-audio-v2-tokenizer
    volumes:
      - ~/.cache/huggingface:/app/models
      - ./outputs:/app/outputs
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
docker compose up -d

选项3:来源

# Clone repository
git clone https://github.com/neosun100/higgs-audio-web.git
cd higgs-audio-web

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
# or: venv\Scripts\activate  # Windows

# Install dependencies
pip install -r requirements.txt
pip install -e .
pip install fastapi uvicorn python-multipart aiofiles fastmcp soundfile

# Run
python app/main.py

选项4:一键脚本

git clone https://github.com/neosun100/higgs-audio-web.git
cd higgs-audio-web
chmod +x start.sh
./start.sh

⚙️ 配置

环境变量

变量 默认值 描述
PORT 8095 服务端口
NVIDIA_VISIBLE_DEVICES all GPU设备ID
MODEL_PATH bosonai/higgs-audio-v2-generation-3B-base 模型路径
AUDIO_TOKENIZER_PATH bosonai/higgs-audio-v2-tokenizer 标记器路径
HF_HOME ~/.cache/huggingface 拥抱人脸缓存

.env示例

PORT=8095
NVIDIA_VISIBLE_DEVICES=0
MODEL_PATH=bosonai/higgs-audio-v2-generation-3B-base
AUDIO_TOKENIZER_PATH=bosonai/higgs-audio-v2-tokenizer

📖 用法

Web用户界面

访问 http://localhost:8095 对于具有6种模式的web界面:

模式 描述
智能语音 模型自动选择合适的语音
预设语音 从16种内置语音中选择
语音克隆 上传参考音频以进行克隆
文本配置文件 描述文本中的声音(例如,“男性,英国口音”)
多扬声器 生成对话 [SPEAKER0], [SPEAKER1] 标签
长形 自动分块长文本以实现一致的生成

REST API

健康检查

curl http://localhost:8095/health

基本TTS

curl -X POST http://localhost:8095/api/tts \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello world!", "temperature": 0.3}'

预设语音克隆

curl -X POST http://localhost:8095/api/tts/preset \
  -F "text=Hello world!" \
  -F "voice=belinda" \
  -F "temperature=0.3"

文本配置文件TTS

curl -X POST http://localhost:8095/api/tts/profile \
  -H "Content-Type: application/json" \
  -d '{"text": "Good morning!", "profile": "male_en_british"}'

多扬声器对话框

curl -X POST http://localhost:8095/api/tts/multispeaker \
  -H "Content-Type: application/json" \
  -d '{
    "text": "[SPEAKER0] Hello!\n[SPEAKER1] Hi there!",
    "voices": "belinda,broom_salesman"
  }'

长格式生成

curl -X POST http://localhost:8095/api/tts/longform \
  -H "Content-Type: application/json" \
  -d '{"text": "Long text here...", "voice": "belinda", "chunk_size": 100}'

API完整文档: http://localhost:8095/docs

MCP集成

添加到MCP客户端配置中:

{
  "mcpServers": {
    "higgs-audio": {
      "command": "python",
      "args": ["app/mcp_server.py"],
      "env": {
        "MODEL_PATH": "bosonai/higgs-audio-v2-generation-3B-base"
      }
    }
  }
}

可用的MCP工具:

  • text_to_speech -基本TTS
  • text_to_speech_with_voice -带有预设语音的TTS
  • text_to_speech_with_profile -带文本配置文件的TTS
  • text_to_speech_multispeaker -多扬声器对话
  • list_voices / list_profiles -列出可用选项
  • get_gpu_status / load_model / unload_model -GPU管理

📁 项目结构

higgs-audio-web/
├── app/
│   ├── main.py           # FastAPI server
│   ├── mcp_server.py     # MCP server
│   └── static/
│       └── index.html    # Web UI
├── boson_multimodal/     # Core model code
├── examples/
│   └── voice_prompts/    # 16 preset voices
├── Dockerfile
├── docker-compose.yml
├── start.sh              # One-click launcher
└── requirements.txt

🛠️ 技术栈

  • 模型:Higgs Audio v2(3.6B LLM+2.2B音频适配器)
  • 后端:Uvicorn快速API
  • 前端:香草JS,CSS3
  • 容器:Docker、NVIDIA容器工具包
  • ML框架:PyTorch,变压器,TorchAudio

🎯 演出

基准 分数
突发TTS情绪 75.7% 胜率与gpt-4o-mini-tts
紧急TTS问题 55.7% 胜率与gpt-4o-mini-tts
种子TTS评估SIM 67.70
ESD情感SIM卡 86.13

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing)
  5. 打开拉取请求

📝 更新日志

v2.1.0(2024-12-19)

  • ✨ 多扬声器对话生成
  • ✨ 文本配置文件语音(无需音频)
  • ✨ 带有自动分块功能的长形生成
  • 🎨 具有6种生成模式的增强Web UI

v2.0.0(2024-12-18)

  • 🎉 初始版本
  • ✨ 支持多语言的Web UI
  • ✨ 带有Swagger文档的REST API
  • ✨ MCP服务器集成
  • ✨ 多功能Docker镜像
  • ✨ 自动GPU选择

📄 许可证

此项目根据Apache 2.0许可证获得许可-请参阅 许可证 文件以获取详细信息。

基于 希格斯音频v2 博森AI。


⭐ 星迹


📱 关注我们


Made with ❤️ by neosun100