服务器部署网易开源TTS | EmotiVoice部署教程

一、环境

markdown 复制代码
ubuntu 20.04
python 3.8
cuda 11.8

二、部署

1、docker方式部署

1.1、安装docker

如何安装docker,可以参考这篇文章

1.2、拉取镜像

shell 复制代码
docker run -dp 127.0.0.1:8501:8501 syq163/emoti-voice:latest

2、完整安装

安装python依赖

shell 复制代码
conda create -n EmotiVoice python=3.8 -y
conda activate EmotiVoice
pip install torch torchaudio
pip install numpy numba scipy transformers==4.26.1 soundfile yacs g2p_en jieba pypinyin

安装git lfs和下载模型

shell 复制代码
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
git lfs install
git lfs clone https://huggingface.co/WangZeJun/simbert-base-chinese WangZeJun/simbert-base-chinese

下载预训练模型

shell 复制代码
https://drive.google.com/drive/folders/1y6Xwj_GG9ulsAonca_unSGbJ4lxbNymM

将预训练模型放在源码中的位置

shell 复制代码
WangZeJun/simbert-base-chinese

下载源码

shell 复制代码
git clone https://github.com/lukeewin/EmotiVoice.git

在源码路径中创建目录保存预训练模型

shell 复制代码
mkdir -p outputs/style_encoder/ckpt
mkdir -p outputs/prompt_tts_open_source_joint/ckpt

g_*, do_*文件放到outputs/prompt_tts_open_source_joint/ckpt,将checkpoint_*放到outputs/style_encoder/ckpt

推理输入文本格式是:<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>|我来到北京,清华大学
  • 其中的音素(phonemes)可以这样得到:python frontend.py data/my_text.txt > data/my_text_for_tts.txt.
python 复制代码
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

python 复制代码
pip install streamlit
streamlit run demo_page.py

更多内容

相关推荐
阿然成长日记8 分钟前
【Linux】静态库的制作和使用详解
linux·运维·服务器
墨鸦_Cormorant1 小时前
VPN 的入门介绍
服务器·网络·安全·vpn
krb___1 小时前
Gitlab代码管理工具安装配置
linux·服务器·gitlab
XF鸭1 小时前
HTML-CSS 入门介绍
服务器·前端·javascript
噫吁嚱!!!1 小时前
Linux安装elasticsearch单机版
linux·运维·ubuntu
lshzdq2 小时前
【CMake】基本概念和快速入门
linux·运维·服务器
爱技术的小伙子2 小时前
Linux 磁盘管理与分区:使用fdisk、parted、df、du等命令管理磁盘和分区
linux·运维·服务器
Java小白白同学2 小时前
Linux:CentOS 系统磁盘扩容操作
linux·服务器·centos
semicolon_hello2 小时前
使用C++编写TCP服务端程序
服务器·网络·c++·tcp/ip
wanhengwangluo2 小时前
徐州服务器租用:论带宽的作用有哪些
运维·网络安全·数据安全