开源项目

代码无界,开源有光

当前位置:首页>开源项目
项目详情

EmotiVoice易魔声 - 强大的开源情感语音合成引擎

简介

EmotiVoice(易魔声)是网易有道开源的一款强大的 TTS (文本转语音)引擎。它具有以下主要特点:

  • 完全免费开源
  • 支持中英文双语
  • 包含2000多种不同音色
  • 支持情感合成,可以生成包含快乐、兴奋、悲伤、愤怒等多种情感的语音
  • 提供简单易用的 Web 界面和批量处理脚本接口

最新动态

  • 支持类 OpenAI TTS 的 API,新增调节语速功能
  • 已发布 Mac 版一键安装包
  • 提供 HTTP API 服务,单账户可免费调用超过 13,000 次
  • 支持用户使用自己的数据定制音色

使用方法

Docker 快速部署

最简单的使用方式是通过 Docker 镜像运行(需要 NVIDIA GPU):

docker run -dp 127.0.0.1:8501:8501 syq163/emoti-voice:latest

然后访问 http://localhost:8501 即可使用 Web 界面。

完整安装

1. 环境配置

# 创建并激活 conda 环境
conda create -n EmotiVoice python=3.8 -y
conda activate EmotiVoice

# 安装基础依赖
pip install torch torchaudio
pip install numpy numba scipy transformers soundfile yacs g2p_en jieba pypinyin pypinyin_dict
python -m nltk.downloader "averaged_perceptron_tagger_eng"

2. 下载预训练模型

# 安装 git lfs
git lfs install

# 下载模型文件(二选一)
# 方式1:从 huggingface 下载
git lfs clone https://huggingface.co/WangZeJun/simbert-base-chinese WangZeJun/simbert-base-chinese

# 方式2:从 modelscope 下载
git clone https://www.modelscope.cn/syq163/WangZeJun.git

3. 准备推理模型

# 下载预训练模型
git clone https://www.modelscope.cn/syq163/outputs.git

4. 运行服务

Web界面方式
# 安装 streamlit
pip install streamlit

# 启动 Web 界面
streamlit run demo_page.py
API服务方式
# 安装依赖
pip install fastapi pydub uvicorn[standard] pyrubberband

# 启动 API 服务
uvicorn openaiapi:app --reload

5. 文本转语音示例

# 1. 生成音素文件
python frontend.py data/my_text.txt > data/my_text_for_tts.txt

# 2. 运行推理
TEXT=data/inference/text
python inference_am_vocoder_joint.py \
    --logdir prompt_tts_open_source_joint \
    --config_folder config/joint \
    --checkpoint g_00140000 \
    --test_file $TEXT

生成的语音文件将保存在 outputs/prompt_tts_open_source_joint/test_audio 目录下。

使用示例

1. 基础文本格式

输入文本格式为:<speaker>|<style_prompt/emotion_prompt/content>|<phoneme>|<content>

示例:

8051|非常开心|<sos/eos> uo3 sp1 l ai2 sp0 d ao4 sp1 b ei3 sp0 j ing1 sp3 q ing1 sp0 h ua2 sp0 d a4 sp0 x ve2 <sos/eos>|我来到北京,清华大学

2. API调用示例

import requests

url = "http://localhost:8000/v1/audio/speech"
headers = {
    "Content-Type""application/json"
}
data = {
    "model""emoti-voice",
    "input""这是一段测试文本",
    "voice""8051",  # 音色ID
    "emotion""happy"  # 情感类型
}

response = requests.post(url, json=data, headers=headers)

主要功能

1. 多语言支持

  • 目前支持中文和英文
  • 计划支持更多语言如日语、韩语等

2. 丰富的音色

  • 内置2000多种音色
  • 支持自定义音色训练

3. 情感合成

  • 支持多种情感表达
  • 可以通过提示词控制语音风格

4. 便捷的接口

  • Web 图形界面
  • 命令行接口
  • HTTP API
  • 类 OpenAI TTS API

开发计划

  • 扩展支持更多语言
  • 优化情感控制系统
  • 提升合成音质
  • 增加更多特色功能

许可证

EmotiVoice 采用 Apache-2.0 许可证开源。


这是一个非常有前景的开源项目,特别适合需要情感语音合成的应用场景。它不仅完全免费,而且提供了丰富的功能和便捷的使用方式,值得关注和尝试。

开源地址:https://github.com/netease-youdao/EmotiVoice

上一篇:[开源]6.2k stars 一款强大的安卓图像编辑神器

下一篇:[开源]狂揽76K Star!最强开源自动化神器【400+集成+900+模板】让效率飞起来~

发表评论:

评论记录:

未查询到任何数据!

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部