Fish Speech-1.5镜像跨平台部署:WSL2/ARM64/Mac M系列芯片适配记录

Fish Speech-1.5镜像跨平台部署:WSL2/ARM64/Mac M系列芯片适配记录 Fish Speech-1.5镜像跨平台部署WSL2/ARM64/Mac M系列芯片适配记录1. 项目简介Fish Speech V1.5 是一个功能强大的文本转语音模型基于超过100万小时的多语言音频数据训练而成。这个模型支持12种语言包括中文、英文、日语等主流语言能够生成自然流畅的语音输出。模型支持的语言及训练数据量如下语言训练数据量英语 (en)300k 小时中文 (zh)300k 小时日语 (ja)100k 小时德语 (de)~20k 小时法语 (fr)~20k 小时西班牙语 (es)~20k 小时韩语 (ko)~20k 小时阿拉伯语 (ar)~20k 小时俄语 (ru)~20k 小时荷兰语 (nl)10k 小时意大利语 (it)10k 小时波兰语 (pl)10k 小时葡萄牙语 (pt)10k 小时本文将分享在不同平台环境下部署Fish Speech-1.5镜像的实践经验包括WSL2、ARM64架构和Mac M系列芯片的适配过程。2. 环境准备与部署2.1 系统要求与前置准备在开始部署前请确保您的系统满足以下基本要求操作系统Windows 10/11WSL2、Linux发行版、macOSARM64/M系列芯片内存建议16GB以上最低8GB存储空间至少20GB可用空间Python版本3.8或更高版本Docker可选如果使用容器化部署对于不同平台还需要额外的准备工作WSL2环境# 启用WSL2功能Windows dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 安装Ubuntu发行版 wsl --install -d UbuntuMac M系列芯片# 安装Homebrew如果尚未安装 /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 安装必要的依赖 brew install cmake protobuf rust2.2 使用Xinference部署Fish Speech-1.5我们使用Xinference 2.0.0来部署Fish Speech-1.5模型。Xinference是一个高效的模型推理框架支持多种模型格式和硬件加速。安装Xinference# 创建虚拟环境推荐 python -m venv fish-speech-env source fish-speech-env/bin/activate # 安装xinference pip install xinference[all]2.0.0 # 对于ARM64/Mac M系列芯片可能需要额外安装依赖 pip install soundfile librosa numpy torch启动Xinference服务# 启动xinference服务 xinference-local --host 0.0.0.0 --port 9997 # 在后台运行 nohup xinference-local --host 0.0.0.0 --port 9997 xinference.log 21 3. 跨平台部署实战3.1 WSL2环境部署在WSL2环境中部署时需要注意Windows与Linux子系统之间的网络通信和文件系统访问。WSL2特定配置# 在WSL2中设置正确的locale sudo apt update sudo apt install locales sudo locale-gen en_US.UTF-8 # 设置环境变量 echo export LANGen_US.UTF-8 ~/.bashrc echo export LANGUAGEen_US:en ~/.bashrc echo export LC_ALLen_US.UTF-8 ~/.bashrc source ~/.bashrc # 安装音频相关依赖 sudo apt install libsndfile1 ffmpeg启动模型服务# 下载并启动fish-speech模型 xinference launch --model-name fish-speech --model-version 1.5 --device auto # 检查服务状态 cat /root/workspace/model_server.log当看到类似下面的输出时表示模型服务启动成功Model loaded successfully Inference server started on port 9997 Ready for text-to-speech conversion3.2 ARM64架构适配对于ARM64架构的设备包括Mac M系列芯片需要进行一些特殊的适配工作。ARM64特定依赖安装# 对于ARM64架构可能需要从源码编译某些依赖 pip install --no-binary :all: numpy # 安装针对ARM优化的PyTorch pip install torch torchaudio --index-url https://download.pytorch.org/whl/cpu # 安装其他音频处理库 pip install --pre pedalboard解决常见ARM64兼容性问题# 如果遇到libsndfile相关问题 brew install libsndfile # Mac sudo apt install libsndfile1-dev # Linux # 设置环境变量解决兼容性问题 export LD_LIBRARY_PATH/usr/local/lib:$LD_LIBRARY_PATH export DYLD_LIBRARY_PATH/usr/local/lib:$DYLD_LIBRARY_PATH3.3 Mac M系列芯片部署Apple Silicon芯片M1/M2/M3需要特别注意Python环境和原生库的兼容性。为Apple Silicon优化配置# 创建conda环境推荐用于M系列芯片 conda create -n fish-speech python3.9 conda activate fish-speech # 安装Apple Silicon原生支持的PyTorch pip install torch torchaudio # 安装其他依赖 pip install xinference[all]2.0.0 pip install soundfile librosa # 解决可能出现的音频编码问题 brew install ffmpeg验证Apple Silicon支持import torch import platform print(fPython版本: {platform.python_version()}) print(f系统架构: {platform.machine()}) print(fPyTorch版本: {torch.__version__}) print(fMPS后端可用: {torch.backends.mps.is_available()}) print(fMPS是否构建: {torch.backends.mps.is_built()})4. 模型使用与测试4.1 访问Web界面启动Xinference服务后可以通过Web界面与Fish Speech-1.5模型交互。访问Web UI打开浏览器访问http://localhost:9997在模型列表中找到fish-speech-1.5点击进入Web UI界面基本使用步骤在文本输入框中输入要合成的文字选择语言类型支持中文、英文、日语等调整语音参数可选点击生成语音按钮等待生成完成并播放或下载音频4.2 命令行测试除了Web界面也可以通过命令行直接测试模型功能。基本文本转语音测试from xinference.client import Client # 连接到本地Xinference服务 client Client(http://localhost:9997) # 获取模型 model client.get_model(fish-speech) # 生成语音 text 欢迎使用Fish Speech语音合成模型这是一个强大的文本转语音工具。 audio_data model.synthesize(text, languagezh) # 保存音频文件 with open(output.wav, wb) as f: f.write(audio_data) print(语音生成完成已保存为output.wav)批量处理示例import json from pathlib import Path # 批量文本转语音 texts [ {text: Hello, welcome to use Fish Speech., language: en}, {text: こんにちは、Fish Speechをご利用いただきありがとうございます。, language: ja}, {text: 您好感谢使用Fish Speech语音合成服务。, language: zh} ] for i, item in enumerate(texts): audio_data model.synthesize(item[text], languageitem[language]) with open(foutput_{i}.wav, wb) as f: f.write(audio_data) print(f生成完成: output_{i}.wav)5. 常见问题与解决方案5.1 部署常见问题模型加载缓慢或失败# 检查网络连接 ping github.com # 清理缓存并重试 xinference stop --all rm -rf ~/.xinference/cache xinference-local --host 0.0.0.0 --port 9997内存不足问题# 减少并行处理数量 export OMP_NUM_THREADS2 export XINFERENCE_MODEL_CONCURRENCY1 # 使用CPU模式减少显存占用 xinference launch --model-name fish-speech --model-version 1.5 --device cpu5.2 平台特定问题WSL2音频输出问题# 在Windows中安装音频驱动 # 或者将生成的音频文件复制到Windows系统播放 # 从WSL2复制文件到Windows cp output.wav /mnt/c/Users/YourUsername/Desktop/Mac M系列芯片性能优化# 启用Metal Performance Shaders加速 export PYTORCH_ENABLE_MPS_FALLBACK1 # 优化内存使用 export OBJC_DISABLE_INITIALIZE_FORK_SAFETYYESARM64库依赖问题# 查找缺失的库 ldd $(which python) | grep not found # 安装缺失的依赖 sudo apt update sudo apt install -y libglib2.0-0 libsm6 libxrender1 libxext66. 性能优化建议6.1 硬件加速配置根据不同的硬件平台可以采用不同的加速策略GPU加速NVIDIA# 安装CUDA版本的PyTorch pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118 # 使用GPU运行模型 xinference launch --model-name fish-speech --model-version 1.5 --device cudaApple Silicon加速# 确保使用MPS后端 export PYTORCH_ENABLE_MPS_FALLBACK1 # 使用MPS设备运行 xinference launch --model-name fish-speech --model-version 1.5 --device mps6.2 内存与性能优化调整模型参数# 在代码中调整性能参数 audio_data model.synthesize( text需要合成的文本, languagezh, speed1.0, # 语速调整 sample_rate24000 # 采样率调整 )批量处理优化# 使用批量处理提高效率 texts [文本1, 文本2, 文本3] results model.batch_synthesize(texts, languagezh) for i, audio_data in enumerate(results): with open(fbatch_output_{i}.wav, wb) as f: f.write(audio_data)7. 总结通过本文的实践记录我们成功在多种平台上部署了Fish Speech-1.5语音合成模型。无论是Windows WSL2环境、ARM64架构设备还是Mac M系列芯片都能够通过适当的配置和优化实现稳定运行。关键成功因素包括使用Xinference 2.0.0作为统一的模型推理框架针对不同平台进行特定的依赖库适配合理配置硬件加速选项以提升性能解决了跨平台部署中的常见兼容性问题Fish Speech-1.5凭借其多语言支持和高品质的语音合成效果为开发者提供了强大的文本转语音能力。通过本文的部署指南希望能够在更多平台和设备上推广这一优秀的开源项目。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。