AutoDL运行MeloTTS踩坑总结
AutoDL本地运行MeloTTS踩坑总结
之前是在用colab上面T4 GPU跑MeloTTS,生成一段30s的音频需要2.1s,想试一试用AutoDL的4090显卡跑它的速度如何,下面分享的遇到的报错和解决方案
UniDic 字典下载
在下载模型之前,需要执行!python -m unidic download命令下载UniDic,此时因为网络原因,会报错:
urllib.error.URLError: <urlopen error [Errno 104] Connection reset by peer>
此时如果不想科学上网,就按照以下步骤解决:
1.手动从它打印出来的网址上下载zip文件,我的叫做unidic-3.1.0.zip。
2.把zip文件拷贝到/root/miniconda3/lib/python3.10/site-packages/unidic/路径下。我的命令行为:cp autodl-tmp/MeloTTS/unidic-3.1.0.zip /root/miniconda3/lib/python3.10/site-packages/unidic/unidic.zip(根据自己unidic-3.1.0.zip的安装路径自己修改,不需要解压)
3.打开文件 /usr/local/lib/python3.9/site-packages/unidic/download.py,找到最下面的download_version函数,将函数里除了download_and_clean()以外的代码全部注释掉。
4.把download_and_clean()函数的两个参数改成download_and_clean(1122, 3344)
5.再把63行里的download_process注释掉。
6.文件保存之后再运行!python -m unidic download,就可以正常下载了
HuggingFace模型MeloTTS下载(需科学上网)
AutoDL自带的有科学上网下载huggingface模型的方法。在帮助文档集可查看。
在jupyter notebook在模型下载前运行这段代码即可。
import subprocess
import os
result = subprocess.run('bash -c "source /etc/network_turbo && env | grep proxy"', shell=True, capture_output=True, text=True)
output = result.stdout
for line in output.splitlines():
if '=' in line:
var, value = line.split('=', 1)
os.environ[var] = value
NLTK 缺少 cmudict 资源
执行下面代码时,继续报错
from melo.api import TTS
LookupError: Resource cmudict not found. Please use the NLTK Downloader to obtain the resource:
这里我们在notebook下载cmudict即可
import nltk nltk.download('cmudict')
运行结果
4090显卡生成30s中文语音需要1.19s,差不多是T4的1/2时间,可以说是非常快了
更多推荐


所有评论(0)