Spaces:
Runtime error
Runtime error
# 提示用户选择下载方式 | |
echo "Please select a model download method:" | |
echo "请选择模型下载方式:" | |
echo "1. Download from ModelScope (No resuming capability)" | |
echo "1. 从 ModelScope 下载(有断点续传功能)推荐" | |
# 记得先下载modelscope, pip install modelscope | |
echo "记得先下载modelscope, pip install modelsope" | |
echo "2. Download from Huggingface (With resuming capability)" | |
echo "2. 从 Huggingface 下载(有断点续传功能)" | |
echo "3. Download from Huggingface mirror site (Possibly faster)" | |
echo "3. 从 Huggingface 镜像站点下载(镜像可能快一点)" | |
read -p "Enter 1, 2, or 3 to choose a download method: " download_option | |
# 下载模型 | |
# Download the models | |
case $download_option in | |
1) | |
echo "Downloading models from ModelScope..." | |
echo "正在从 ModelScope 下载模型..." | |
python scripts/modelscope_download.py | |
if [ $? -ne 0 ]; then | |
echo "Failed to download models from ModelScope. Please check the scripts/modelscope_download.py script or your network connection." | |
echo "从 ModelScope 下载模型失败,请检查脚本 scripts/modelscope_download.py 或网络连接。" | |
exit 1 | |
fi | |
;; | |
2) | |
echo "Downloading models from Huggingface..." | |
echo "正在从 Huggingface 下载模型..." | |
python scripts/huggingface_download.py | |
if [ $? -ne 0 ]; then | |
echo "Failed to download models from Huggingface. Please check the scripts/huggingface_download.py script or your network connection." | |
echo "从 Huggingface 下载模型失败,请检查脚本 scripts/huggingface_download.py 或网络连接。" | |
exit 1 | |
fi | |
;; | |
3) | |
echo "Downloading models from Huggingface mirror site..." | |
echo "正在从 Huggingface 镜像站点下载模型..." | |
export HF_ENDPOINT=https://hf-mirror.com | |
huggingface-cli download --resume-download --local-dir-use-symlinks False Kedreamix/Linly-Talker --local-dir Linly-Talker | |
if [ $? -ne 0 ]; then | |
echo "Failed to download models from Huggingface mirror site. Please check HF_ENDPOINT or your network connection." | |
echo "从 Huggingface 镜像站点下载模型失败,请检查 HF_ENDPOINT 或网络连接。" | |
exit 1 | |
fi | |
;; | |
*) | |
echo "Invalid selection. Please enter 1, 2, or 3." | |
echo "无效选择,请输入 1, 2 或 3。" | |
exit 1 | |
;; | |
esac | |
echo "Model download completed." | |
echo "模型下载完成。" | |
# 手動下載 Whisper 模型並放入正確目錄 | |
echo "Downloading Whisper model from GitHub..." | |
git clone https://github.com/openai/whisper.git temp_whisper | |
mkdir -p Kedreamix/Linly-Talker/Whisper | |
move_model "temp_whisper" "Kedreamix/Linly-Talker/Whisper" | |
rm -rf temp_whisper | |
# 手動下載 FunASR 模型並放入正確目錄 | |
echo "Downloading FunASR model from GitHub..." | |
git clone https://github.com/modelscope/FunASR.git temp_funasr | |
mkdir -p Kedreamix/Linly-Talker/FunASR | |
move_model "temp_funasr" "Kedreamix/Linly-Talker/FunASR" | |
rm -rf temp_funasr | |
# 检查并移动模型 | |
# Check and move the models | |
# 2. 移动所有模型到当前目录 | |
# Move all models to the current directory | |
if [ -d "Kedreamix/Linly-Talker/checkpoints" ]; then | |
rm -rf ./checkpoints/hub ./checkpoints/weights | |
mkdir -p ./checkpoints/hub ./checkpoints/weights | |
mv -f Kedreamix/Linly-Talker/checkpoints/hub/* ./checkpoints/hub/ | |
mv -f Kedreamix/Linly-Talker/checkpoints/weights/* ./checkpoints/weights/ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move checkpoints." | |
echo "移动 checkpoints 失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/checkpoints does not exist, cannot move checkpoints." | |
echo "目录 Kedreamix/Linly-Talker/checkpoints 不存在,无法移动 checkpoints。" | |
exit 1 | |
fi | |
# 3. 若使用GFPGAN增强,安装对应的库 | |
# If using GFPGAN enhancement, install the corresponding library | |
# pip install gfpgan | |
if [ -d "./gfpgan" ]; then | |
rm -rf ./gfpgan # 刪除舊目錄 | |
fi | |
mkdir -p ./gfpgan # 創建新目錄 | |
if [ -d "Kedreamix/Linly-Talker/gfpgan" ]; then | |
mv -f Kedreamix/Linly-Talker/gfpgan ./ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move gfpgan directory." | |
echo "移动 gfpgan 目录失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/gfpgan does not exist, cannot move gfpgan." | |
echo "目录 Kedreamix/Linly-Talker/gfpgan 不存在,无法移动 gfpgan。" | |
exit 1 | |
fi | |
# 4. 语音克隆模型 | |
# Voice cloning model | |
if [ -d "./GPT_SoVITS/pretrained_models" ]; then | |
rm -rf ./GPT_SoVITS/pretrained_models # 刪除舊目錄 | |
fi | |
mkdir -p ./GPT_SoVITS/pretrained_models # 創建新目錄 | |
if [ -d "Kedreamix/Linly-Talker/GPT_SoVITS/pretrained_models" ]; then | |
mv Kedreamix/Linly-Talker/GPT_SoVITS/pretrained_models/* ./GPT_SoVITS/pretrained_models/ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move GPT_SoVITS/pretrained_models." | |
echo "移动 GPT_SoVITS/pretrained_models 失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/GPT_SoVITS/pretrained_models does not exist, cannot move pretrained models." | |
echo "目录 Kedreamix/Linly-Talker/GPT_SoVITS/pretrained_models 不存在,无法移动预训练模型。" | |
exit 1 | |
fi | |
# 5. Qwen大模型 | |
# Qwen model | |
if [ -d "./Qwen" ]; then | |
rm -rf ./Qwen # 刪除舊目錄 | |
fi | |
mkdir -p ./Qwen # 創建新目錄 | |
if [ -d "Kedreamix/Linly-Talker/Qwen" ]; then | |
mv Kedreamix/Linly-Talker/Qwen ./ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move Qwen directory." | |
echo "移动 Qwen 目录失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/Qwen does not exist, cannot move Qwen model." | |
echo "目录 Kedreamix/Linly-Talker/Qwen 不存在,无法移动 Qwen 模型。" | |
exit 1 | |
fi | |
# 6. MuseTalk模型 | |
# MuseTalk model | |
if [ -d "./Musetalk/models/" ]; then | |
rm -rf ./Musetalk/models/ # 刪除舊目錄 | |
fi | |
mkdir -p ./Musetalk/models/ # 創建新目錄 | |
if [ -d "Kedreamix/Linly-Talker/MuseTalk" ]; then | |
mv Kedreamix/Linly-Talker/MuseTalk/* ./Musetalk/models/ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move MuseTalk/models." | |
echo "移动 MuseTalk/models 失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/MuseTalk does not exist, cannot move MuseTalk model." | |
echo "目录 Kedreamix/Linly-Talker/MuseTalk 不存在,无法移动 MuseTalk 模型。" | |
exit 1 | |
fi | |
# 7. WhisperASR模型 | |
# WhisperASR model | |
if [ -d "./Whisper" ]; then | |
rm -rf ./Whisper # 刪除舊的 Whisper 目錄 | |
fi | |
mkdir -p ./Whisper # 創建新目錄 | |
if [ -d "Kedreamix/Linly-Talker/Whisper" ]; then | |
mv Kedreamix/Linly-Talker/Whisper ./ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move Whisper directory." | |
echo "移动 Whisper 目录失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/Whisper does not exist, cannot move Whisper model." | |
echo "目录 Kedreamix/Linly-Talker/Whisper 不存在,无法移动 Whisper 模型。" | |
exit 1 | |
fi | |
# 8. FunASR模型 | |
# FunASR model | |
if [ -d "./FunASR" ]; then | |
rm -rf ./FunASR # 刪除舊的 FunASR 目錄 | |
fi | |
mkdir -p ./FunASR # 創建新目錄 | |
if [ -d "Kedreamix/Linly-Talker/FunASR" ]; then | |
mv Kedreamix/Linly-Talker/FunASR ./ | |
if [ $? -ne 0 ]; then | |
echo "Failed to move FunASR directory." | |
echo "移动 FunASR 目录失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/FunASR does not exist, cannot move FunASR model." | |
echo "目录 Kedreamix/Linly-Talker/FunASR 不存在,无法移动 FunASR 模型。" | |
exit 1 | |
fi | |
# 9. CosyVoice模型 | |
# CosyVoice model | |
# Check if the CosyVoice checkpoints directory exists | |
if [ -d "checkpoints/CosyVoice_ckpt" ]; then | |
# Create the CosyVoice/pretrained_models directory if it doesn't exist | |
if [ -d "CosyVoice/pretrained_models" ]; then | |
rm -rf CosyVoice/pretrained_models | |
fi | |
mkdir -p CosyVoice/pretrained_models # 創建新目錄 | |
# Move the CosyVoice-ttsfrd directory to the CosyVoice/pretrained_models directory | |
mv checkpoints/CosyVoice_ckpt/CosyVoice-ttsfrd CosyVoice/pretrained_models | |
# Check if the move operation was successful | |
if [ $? -ne 0 ]; then | |
echo "Failed to move CosyVoice-ttsfrd directory." | |
echo "移动 CosyVoice-ttsfrd 目录失败。" | |
exit 1 | |
fi | |
# Unzip the resource.zip file inside the CosyVoice-ttsfrd directory | |
unzip CosyVoice/pretrained_models/CosyVoice-ttsfrd/resource.zip -d CosyVoice/pretrained_models/CosyVoice-ttsfrd | |
pip install CosyVoice/pretrained_models/CosyVoice-ttsfrd/ttsfrd-0.3.6-cp38-cp38-linux_x86_64.whl | |
# Check if the unzip operation was successful | |
if [ $? -ne 0 ]; then | |
echo "Failed to unzip resource.zip." | |
echo "解压 resource.zip 失败。" | |
exit 1 | |
fi | |
else | |
echo "Directory Kedreamix/Linly-Talker/checkpoints/CosyVoice_ckpt does not exist, cannot move CosyVoice model." | |
echo "目录 Kedreamix/Linly-Talker/checkpoints/CosyVoice_ckpt 不存在,无法移动 CosyVoice 模型。" | |
# exit 1 | |
fi | |
echo "All models have been successfully moved and are ready." | |
echo "所有模型已成功移动并准备就绪。" | |