本地部署SenseVoice(包括离线设备操作)
Anaconda3
Anaconda Installers and Packages
SenseVoice
魔搭社区
FFmpeg
FFmpeg
安装Anaconda3(Windows)
下载完成后,自定义路径后安装。在开始菜单中出现Anaconda Prompt说明安装成功。
安装Anaconda3(Linux)
# 下载脚本文件
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
# 给予执行权限
chmod +x Anaconda3-2024.10-1-Linux-x86_64.sh
# 运行安装
./Anaconda3-2024.10-1-Linux-x86_64.sh
###### 安装中 ######
# 验证安装和环境变量是否设置成功
# 检查conda版本
conda --version
# 查看conda环境列表
conda info --envs
注:安装过程中可自定义安装路径,其他都选择回车或yes。
注:安装过程中是否初始化conda环境:
-
可选择yes,将会在默认shell环境脚本(如~/.bashrc)文件末,添加conda init内容。
-
可选择no,可自己配置,在shell环境脚本中添加conda init即可,可参考下面配置环境变量。
项目下载
cd /home/wwwroot
git clone --recursive https://github.com/FunAudioLLM/SenseVoice.git
依赖下载
Windows须打开Anaconda Prompt执行
cd /home/wwwroot
conda create -n sensevoice python=3.10
conda activate sensevoice
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com
模型下载
cd /home/wwwroot/SenseVoice
mkdir icc
cd /home/wwwroot/SenseVoice/icc
git clone https://www.modelscope.cn/iic/SenseVoiceSmall.git
★离线设备所需操作
联网设备文件拷贝
- anaconda安装包
- 将整个SenseVoice文件夹压缩为SenseVoice.zip
- 将sensevoice虚拟环境中的所有依赖导出
conda activate sensevoice
cd /home/wwwroot
conda pack -n sensevoice -o sensevoice.tar.gz
将上面的3个文件(anaconda安装包、SenseVoice.zip、sensevoice.tar.gz)全部拷贝到离线设备中。
离线设备
- anaconda安装
- 解压SenseVoice.zip
- 依赖导入
cd /home/wwwroot/SenseVoice
conda create -n sensevoice python=3.10
conda activate sensevoice
cd <sensevoice.tar.gz所在的文件夹>
tar xzvf sensevoice.tar.gz -C /home/anaconda3/envs/sensevoice
项目运行
cd /home/wwwroot/SenseVoice
conda activate sensevoice
python webui.py
备注
修改端口
Gradio 的默认端口是 7860。可以通过 launch() 方法的 server_name 和 server_port 改访问IP和运行端口号
demo.launch(server_name="0.0.0.0", server_port=8585)
FFmpeg缺失
RuntimeError: Cannot load audio from file: `ffprobe` not found. Please install `ffmpeg` in your system to use non-WAV audio file formats and make sure `ffprobe` is in your PATH
安装 FFmpeg
Windows 安装步骤:下载FFmpeg - 解压文件 - 添加到系统PATH - 编辑PATH - 新增FFmpeg的bin路径,如C:\ffmpeg\bin
服务后台运行
方法1:使用nohup
conda activate sensevoice
nohup python webui.py > output.log 2>&1 &
方法2:使用systemd
1.创建一个服务文件,例如 /etc/systemd/system/sensevoice.service
[Unit]
Description=SenseVoice WebUI Service
After=network.target
[Service]
User=root
WorkingDirectory=/home/wwwroot/SenseVoice
ExecStart=/home/anaconda3/envs/sensevoice/bin/python /home/wwwroot/SenseVoice/webui.py
Restart=always
[Install]
WantedBy=multi-user.target
2.启用并启动服务
# 启用服务
sudo systemctl enable sensevoice
# 启动服务
sudo systemctl start sensevoice
# 查看服务状态
sudo systemctl status sensevoice