SparkTTS-腾讯CloudStudio部署

yeqing`s blog file

[TOC]{float}

一、登录Cloud Studio创建服务器

腾讯Cloud Studio

  • 微信扫码或者PC微信授权登录即可,通用空间每月免费赠送50000分钟,高性能带GPU的每月免费10000分钟
  • 按下图所示选择创建服务器,据说是这个模板GPU和存储空间最优;16G的GPU显存,32G 内存,8核CPU,300G左右存储空间。

image-20250309225726726

image-20250309230319334

二、部署SparkTTS项目

服务器环境检查

成功开机后先检查一下服务器环境:

检查结果:特斯拉T4 显卡,16G GPU;CUDA正常安装; 32G内存,362G存储空间;

相关命令:

  • GPU信息nvidia-smi CUDAnvcc --version

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    (base) root@VM-0-10-ubuntu:/workspace# nvcc --version
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2022 NVIDIA Corporation
    Built on Wed_Jun__8_16:49:14_PDT_2022
    Cuda compilation tools, release 11.7, V11.7.99
    Build cuda_11.7.r11.7/compiler.31442593_0
    (base) root@VM-0-10-ubuntu:/workspace# nvidia-smi
    Mon Mar 10 05:10:16 2025       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            On   | 00000000:00:09.0 Off |                    0 |
    | N/A   47C    P8    14W /  70W |      2MiB / 15360MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    
  • 查看内存和存储

1
2
3
4
5
6
7
(base) root@VM-0-10-ubuntu:/workspace# free -h
              total        used        free      shared  buff/cache   available
Mem:           30Gi       865Mi        28Gi       2.0Mi       900Mi        29Gi
Swap:            0B          0B          0B
(base) root@VM-0-10-ubuntu:/workspace# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay         472G   91G  362G  20% /

开始部署

按照按官网说明文档部署,本地部署文档已经详细说明,不做赘述。

  • git clone项目

    1
    2
    
    git clone https://github.com/SparkAudio/Spark-TTS.git
    cd Spark-TTS
    

    image-20250310141540822

  • conda创建虚拟python环境sparktts,激活虚拟环境,安装项目依赖

    机器自带有安装anaconda 不需要自己安装

    1
    2
    3
    4
    5
    
    conda create -n sparktts -y python=3.12
    conda activate sparktts
    pip install -r requirements.txt
    # 按照官网,国内用下面这条
    pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
    

    image-20250310142411298

测试腾讯云服务器上直接pip install用腾讯自己源非常快。部署时实测确认,哪个快就用那个 image-20250310160615956

  • 新建download_model.py文件并执行下载模型 文件代码:
1
2
3
from huggingface_hub import snapshot_download

snapshot_download("SparkAudio/Spark-TTS-0.5B", local_dir="pretrained_models/Spark-TTS-0.5B")

执行:

1
python download_model.py

报错ModuleNotFoundError: No module named 'huggingface_hub'的话安装下依赖:

1
pip install huggingface_hub

上一步安装依赖需要一段时间,这个步骤下载也会花时间,可以和上一步一起并行操作,终端,新建终端操作即可: 注意新建终端后,也要conda active sparktts 避免出现环境问题

image-20250310143425576

如果运行脚本出现下图的网络报错,那需要配置代理解决,腾讯提供了可用的代理地址1。文章末尾会列出打开和关闭代理命令。 image-20250310144358493

执行打开代理命令,然后重新执行脚本,下载完成 image-20250310150254473

image-20250310150538531

三、测试SparkTTS效果

sh脚本测试

直接运行example中的脚本即可测试;

1
2
cd example
bash infer.sh

image-20250310162104241


或者上传参考音频,infer.sh中prompt_text输入参考音频对应的文本,text输入要推理生成声音的文本。 以刘德华声音为例:

1
2
3
4
promt_text="所以我觉得这些成功的电影,它都很真诚,而且很有生命力,它就跟当年零号的那个一模一样"
text="所以我觉得好的技术,它一定是有温度的,能够真正服务于大家,而不是冷冰冰地摆在那里。就像现在的语音合成技术,越来越自然,越来越贴近人们的需求,这种发展是有生命力的。它就跟当年那些突破性的科技一样,一开始可能觉得很新鲜,但慢慢地,它就融入生活,变成大家离不开的一部分了。"
text="但是你要记得,成功不是只有一种方法,我离开了电视台,在外面不断拼搏的时候,有一个人留在电视台,那个人就是梁朝伟,今天他的成就,有目共睹,不要胡乱去copy别人成功的例子,一定要想清楚。"
promt_speech_path="example/dehua_promptvn.wav"

image-20250310170825971

参考音频(原音):

clone效果:

webui测试

1
python webui.py
1
* Running on local URL:  http://0.0.0.0:7860

看到上面这段,然后拼接在自己的主机地址上访问页面,具体方法就是把端口–7860放在地址栏链接.ap的前面

https://xxxx--7860.ap-shanghai.cloudstudio.work/

image-20250310174123937

用起来有点问题,页面能按要求推理生成结果,但是没显示也不能下载,只是要去服务器的example/result目录下载文件。

问题应该是需要做内网穿透,用ngrok工具可以(在其他项目试过,有免费次数,官网上使用步骤使用即可,有很详细的说明); 或者frp(没弄过),这项目页面也凑活能用,就没必要折腾了。

四、腾讯CloudStudio可用代理

  • 开启代理
1
2
3
4
5
6
7
git config --global http.proxy http://proxy.cloudstudio.work:8081
git config --global https.proxy http://proxy.cloudstudio.work:8081

export http_proxy=http://proxy.cloudstudio.work:8081
export HTTP_PROXY=http://proxy.cloudstudio.work:8081
export https_proxy=http://proxy.cloudstudio.work:8081
export HTTPS_PROXY=http://proxy.cloudstudio.work:8081  
  • 关闭代理
1
2
3
4
5
6
git config --global --unset http.proxy
git config --global --unset https.proxy
unset http_proxy
unset HTTP_PROXY
unset https_proxy
unset HTTPS_PROXY

  • pip的代理
1
2
3
4

apt-get update
apt-get install nano
nano /root/.config/pip/pip.conf

  1. 腾讯CloudStudio可用代理地址http://proxy.cloudstudio.work:8081 简单来说,遇到下载文件网络不通(常见于外网hugging face、github)打开代理,其他情况关闭代理。 遇到类似问题,切换打开/关闭代理尝试。 ↩︎

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计