本地部署 CosyVoice 与 GLM-TTS 语音大模型实战指南

环境背景:本文基于 WSL2 (Debian 11) 环境,硬件配置为 RTX 3060 Laptop。适用于需要本地化部署 TTS(从文本到语音)大模型的开发者。

前置准备:CUDA 环境配置

在 WSL2 中,显卡驱动由 Windows 宿主机共享,我们只需在 Linux 子系统中安装开发套件。

1. Windows 端驱动

请确保 Windows 已安装最新 NVIDIA 驱动。WSL2 会自动映射 GPU 硬件,严禁在 WSL2 内部尝试安装显卡驱动。

2. WSL2 运行环境安装 (CUDA Toolkit)

使用nvidia-smi在右上角确认适用的CUDA版本,并将下面的版本适当进行替换。
执行以下命令安装 CUDA 13.1(适用于 Debian/Ubuntu 系):

1
2
3
4
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-1 #如果是12.8的话,那就是sudo apt-get -y install cuda-toolkit-12-8

验证安装:
输入nvcc -V,若显示版本信息,则 CUDA 环境配置成功。

CosyVoice本地安装

克隆git库

1
2
3
4
git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git
# 克隆成功后再执行后续命令,如果由于网络因素克隆失败的话,可以自行查找Github代理加速网站
cd CosyVoice
git submodule update --init --recursive

由于依赖管理的需要,接下来需要用到Conda,安装参考这里

1
2
3
4
5
6
7
conda create -n cosyvoice -y python=3.10 #创建conda虚拟环境
conda activate cosyvoice #激活虚拟环境
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com #通过阿里云镜像安装依赖

# If you encounter sox compatibility issues
# ubuntu
sudo apt-get install sox libsox-dev

下载模型

在克隆好git库之后就需要下载要用到的模型了。经过测试,发现Fun-CosyVoice3-0.5B存在疑似分词问题,会把部分prompt内容输出到输出音频内,建议使用CosyVoice2-0.5B等旧版本模型。其中CosyVoice-300M-SFT模型具有预训练音色,可以直接调用并生成音频,其他模型(CosyVoice2-0.5B)需要准备模板音频(时长大于3s,小于30s)进行Zero-shot text-to-speech generation。

1
nano install-model.py #用nano编辑器写个脚本来安装

将以下内容黏贴进install-model.py

1
2
3
4
5
6
7
from modelscope import snapshot_download
snapshot_download('FunAudioLLM/Fun-CosyVoice3-0.5B-2512', local_dir='pretrained_models/Fun-CosyVoice3-0.5B')
snapshot_download('iic/CosyVoice2-0.5B', local_dir='pretrained_models/CosyVoice2-0.5B')
snapshot_download('iic/CosyVoice-300M', local_dir='pretrained_models/CosyVoice-300M')
snapshot_download('iic/CosyVoice-300M-SFT', local_dir='pretrained_models/CosyVoice-300M-SFT')
snapshot_download('iic/CosyVoice-300M-Instruct', local_dir='pretrained_models/CosyVoice-300M-Instruct')
snapshot_download('iic/CosyVoice-ttsfrd', local_dir='pretrained_models/CosyVoice-ttsfrd')

这是官方推荐安装的Fun-CosyVoice3-0.5B CosyVoice2-0.5B CosyVoice-300M CosyVoice-300M-SFT CosyVoice-300M-Instruct预训练模型以及CosyVoice-ttsfrd资源。

启动webui

1
2
python3 webui.py --port 50000 --model_dir path/to/model #将地址改成对应模型地址即可更改使用的模型,如下
python3 webui.py --port 50000 --model_dir pretrained_models/CosyVoice2-0.5B

在WSL使用mirror网络模式且启用localhost转发的情况下,可以在浏览器通过访问127.0.0.1:50000来访问webui。
对于CosyVoice2-0.5B模型,由于不存在预训练音色,需要准备一段模板音频(大于3s小于30s)以及音频对应的文本(例如我准备的是普通话水平测试的示范音频及对应的文本),推理模式选择3s急速复刻,流式推理选择,将prompt音频以及文本丢进去,输入合成文本,点击生成。稍作等待即可生成对应音频。
对于CosyVoice-300M-SFT模型,可以使用预训练音色模式,选择喜欢的音色并输入合成文本,点击生成音频进行生成。

GLM-TTS本地安装

克隆git库

1
2
3
4
5
git clone https://github.com/zai-org/GLM-TTS.git
cd GLM-TTS
conda create -n glm-tts -y python=3.11
conda activate glm-tts
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com #通过阿里云镜像安装依赖

如果安装依赖过程报错,显示冲突的话,将requirements.txt改成如下内容

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
accelerate==1.12.0
aiofiles==24.1.0
aiohappyeyeballs==2.6.1
aiohttp==3.13.1
aiosignal==1.4.0
aliyun-python-sdk-core==2.16.0
aliyun-python-sdk-kms==2.16.5
annotated-doc==0.0.4
annotated-types==0.7.0
antlr4-python3-runtime==4.9.3
anyascii==0.3.3
anyio==4.11.0
async-timeout==5.0.1
audioread==3.1.0
brotli==1.2.0
certifi==2025.11.12
cffi==2.0.0
charset-normalizer==3.4.4
click==8.3.1
cmudict==1.1.2
coloredlogs==15.0.1
contourpy==1.3.2
contractions==0.1.73
crcmod==1.7
cryptography==46.0.3
cycler==0.12.1
debugpy==1.8.18
decorator==5.2.1
deepspeed==0.18.3
distro==1.9.0
editdistance==0.8.1
einops==0.8.1
einx==0.3.0
emoji==2.15.0
evaluation==0.0.2
exceptiongroup==1.3.0
fastapi==0.124.2
ffmpy==1.0.0
filelock==3.20.0
flatbuffers==25.9.23
fonttools==4.61.0
frozendict==2.4.7
frozenlist==1.8.0
fschat==0.2.36
fsspec==2025.12.0
funasr==1.2.7
gitdb==4.0.12
GitPython==3.1.45
glog==0.3.1
gradio==6.1.0
gradio_client==2.0.1
groovy==0.1.2
h11==0.16.0
hf-xet==1.1.10
hjson==3.1.0
httpcore==1.0.9
httptools==0.7.1
httpx==0.28.1
huggingface-hub==0.35.3
humanfriendly==10.0
hydra-core==1.3.2
HyperPyYAML==1.2.2
idna==3.11
importlib_metadata==8.7.0
importlib_resources==6.5.2
inflect==7.5.0
iniconfig==2.3.0
jaconv==0.4.1
jamo==0.4.1
jieba==0.42.1
Jinja2==3.1.6
jiter==0.11.1
jiwer==4.0.0
jmespath==0.10.0
joblib==1.5.2
kaldiio==2.18.1
kiwisolver==1.4.9
latex2mathml==3.78.1
lazy_loader==0.4
librosa==0.11.0
llvmlite==0.46.0
loguru==0.7.3
markdown-it-py==4.0.0
markdown2==2.5.4
MarkupSafe==2.1.5
matplotlib==3.10.8
mdurl==0.1.2
modelscope==1.33.0
more-itertools==10.8.0
mpmath==1.3.0
msgpack==1.1.2
multidict==6.7.0
multiprocess==0.70.16
networkx==3.4.2
nh3==0.3.1
ninja==1.13.0
numba==0.63.1
numpy==1.26.4
nvidia-cublas-cu12==12.8.4.1
nvidia-cuda-cupti-cu12==12.8.90
nvidia-cuda-nvrtc-cu12==12.8.93
nvidia-cuda-runtime-cu12==12.8.90
nvidia-cudnn-cu12==9.10.2.21
nvidia-cufft-cu12==11.3.3.83
nvidia-cufile-cu12==1.13.1.3
nvidia-curand-cu12==10.3.9.90
nvidia-cusolver-cu12==11.7.3.90
nvidia-cusparse-cu12==12.5.8.93
nvidia-cusparselt-cu12==0.7.1
nvidia-nccl-cu12==2.27.5
nvidia-nvjitlink-cu12==12.8.93
nvidia-nvshmem-cu12==3.3.20
nvidia-nvtx-cu12==12.8.90
omegaconf==2.3.0
onnxruntime-gpu==1.19.2
openai==2.6.0
openai-whisper==20250625
orjson==3.11.5
oss2==2.19.1
packaging==25.0
pandas==2.3.3
peft==0.18.0
pillow==12.0.0
platformdirs==4.5.1
pluggy==1.6.0
pooch==1.8.2
prompt_toolkit==3.0.52
pronouncing==0.2.0
propcache==0.4.1
protobuf==6.33.2
psutil==7.1.3
py-cpuinfo==9.0.0
pyahocorasick==2.2.0
pyarrow==21.0.0
pycparser==2.23
pycryptodome==3.23.0
pydantic==2.12.4
pydantic_core==2.41.5
pydub==0.25.1
Pygments==2.19.2
pynini==2.1.6
pynndescent==0.5.13
pyparsing==3.2.5
pypinyin==0.55.0
pytest==8.4.2
python-dateutil==2.9.0.post0
python-dotenv==1.1.1
python-gflags==3.1.2
python-multipart==0.0.20
pytorch-wpe==0.0.1
pytz==2025.2
PyYAML==6.0.3
RapidFuzz==3.14.3
regex==2025.11.3
requests==2.32.5
rich==14.2.0
ruamel.yaml==0.18.16
ruamel.yaml.clib==0.2.15
safehttpx==0.1.7
safetensors==0.7.0
scikit-learn==1.7.2
scipy==1.15.3
semantic-version==2.10.0
sentencepiece==0.2.1
sentry-sdk==2.47.0
shellingham==1.5.4
shortuuid==1.0.13
six==1.17.0
smmap==5.0.2
sniffio==1.3.1
soundfile==0.13.1
soxr==1.0.0
starlette==0.48.0
svgwrite==1.4.3
sympy==1.14.0
tensorboardX==2.6.4
textsearch==0.0.24
threadpoolctl==3.6.0
tiktoken==0.12.0
tokenizers==0.22.1
tomli==2.3.0
tomlkit==0.13.3
torch==2.9.1
torch-complex==0.4.4
torchaudio==2.9.1
torchcodec==0.9.1
torchvision==0.24.1
tqdm==4.67.1
train==0.0.5
transformers==4.57.3
triton==3.5.1
typeguard==4.4.4
typer==0.20.0
typing-inspection==0.4.2
typing_extensions==4.15.0
tzdata==2025.2
umap-learn==0.5.9.post2
urllib3==2.6.1
uvicorn==0.38.0
uvloop==0.22.1
wandb==0.23.1
watchfiles==1.1.1
wavedrom==2.0.3.post3
wcwidth==0.2.14
websockets==15.0.1
WeTextProcessing==1.0.4.1
x-transformers==2.11.23
xxhash==3.6.0
yarl==1.22.0
zhconv==1.4.3
zhon==2.1.1
zipp==3.23.0

安装模型

1
2
3
4
mkdir -p ckpt
# 从ModelScope下载模型
pip install -U modelscope
modelscope download --model ZhipuAI/GLM-TTS --local_dir ckpt

启动webui

1
python -m tools.gradio_app

成功之后会提示网页地址,应该是0.0.0.0:8048
使用方法类似CosyVoice2,不过只有Zero-shot text-to-speech generation模式,没有预训练音色。
由于GLM-TTS参数量较大(1.5B),生成速度较CosyVoice慢很多,不过主观感受较CosyVoice好一些。可以自行尝试选择。


本地部署 CosyVoice 与 GLM-TTS 语音大模型实战指南
https://nekonya.one/2026/01/12/本地部署CosyVoice与GLM-TTS/
作者
Guawazi233
发布于
2026年1月12日
许可协议