在Linux系统上构建Audacity OpenVINO AI插件模块指南
项目概述
Intel开源的openvino-plugins-ai-audacity项目为著名音频编辑软件Audacity提供了基于OpenVINO工具套件的AI功能增强模块。该模块通过Intel硬件加速技术,为Audacity带来了包括音频转录、音乐生成、音源分离、噪声抑制等先进的AI音频处理能力。
部署方案选择
在Linux系统上,我们有两种主要方式来使用这些AI功能:
方案一:使用Snap包安装(推荐新手)
对于支持Snap包管理的Linux发行版(如Ubuntu),这是最简单的安装方式:
- 安装Audacity Snap包:
sudo snap install audacity
- 启用NPU和GPU支持:
sudo usermod -a -G render $USER # 需要重新登录生效
sudo snap install intel-npu-driver
- 下载AI模型:
sudo audacity.fetch-models # 交互式下载
# 或批量下载所有模型
sudo audacity.fetch-models --batch
方案二:手动编译安装(适合开发者)
以下将详细介绍在Ubuntu 22.04系统上从源码构建Audacity并集成OpenVINO AI模块的完整流程。
准备工作
系统要求
- Ubuntu 22.04 LTS(其他发行版需适当调整)
- 至少16GB内存(某些模型编译需要较大内存)
- 50GB以上可用磁盘空间(AI模型体积较大)
基础依赖安装
sudo apt update
sudo apt install -y build-essential cmake git python3-pip libgtk2.0-dev \
libasound2-dev libjack-jackd2-dev uuid-dev ocl-icd-opencl-dev git-lfs
sudo pip3 install conan
核心组件安装
1. OpenVINO工具套件
wget https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.6/linux/l_openvino_toolkit_ubuntu22_2024.6.0.17404.4c0f47d2335_x86_64.tgz
tar xvf l_openvino_toolkit_*.tgz
cd l_openvino_toolkit_*/install_dependencies/
sudo -E ./install_openvino_dependencies.sh
cd ..
source setupvars.sh
2. OpenVINO Tokenizers扩展
wget https://storage.openvinotoolkit.org/repositories/openvino_tokenizers/packages/2024.6.0.0/openvino_tokenizers_ubuntu22_2024.6.0.0_x86_64.tar.gz
tar xzvf openvino_tokenizers_*.tar.gz
cp -r openvino_tokenizers/runtime/lib/intel64/* l_openvino_toolkit_*/runtime/lib/intel64/
3. LibTorch (PyTorch C++接口)
wget https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.4.1%2Bcpu.zip
unzip libtorch-cxx11-abi-shared-with-deps-2.4.1+cpu.zip
export LIBTORCH_ROOTDIR=$(pwd)/libtorch
组件编译
1. Whisper.cpp编译(支持OpenVINO)
git clone https://github.com/ggerganov/whisper.cpp
cd whisper.cpp
git checkout v1.5.4
cd ..
mkdir whisper-build && cd whisper-build
cmake ../whisper.cpp/ -DWHISPER_OPENVINO=ON
make -j$(nproc)
cmake --install . --config Release --prefix ./installed
export WHISPERCPP_ROOTDIR=$(pwd)/installed
export LD_LIBRARY_PATH=${WHISPERCPP_ROOTDIR}/lib:$LD_LIBRARY_PATH
2. Audacity基础编译
git clone https://github.com/audacity/audacity.git
cd audacity
git checkout release-3.7.1
cd ..
mkdir audacity-build && cd audacity-build
cmake -G "Unix Makefiles" ../audacity -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
OpenVINO模块集成
1. 添加模块源码
git clone https://github.com/intel/openvino-plugins-ai-audacity.git
cp -r openvino-plugins-ai-audacity/mod-openvino audacity/modules/
2. 修改CMake配置
编辑audacity/modules/CMakeLists.txt
文件,在适当位置添加:
add_subdirectory(mod-openvino)
3. 重新编译Audacity
确保环境变量已设置:
source l_openvino_toolkit_*/setupvars.sh
export LIBTORCH_ROOTDIR=$(pwd)/libtorch
export WHISPERCPP_ROOTDIR=$(pwd)/whisper-build/installed
export LD_LIBRARY_PATH=${WHISPERCPP_ROOTDIR}/lib:$LD_LIBRARY_PATH
执行编译:
cd audacity-build
cmake -G "Unix Makefiles" ../audacity -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
AI模型部署
所有AI模型需要放置在/usr/local/lib/openvino-models
目录下。以下是模型下载和部署步骤:
mkdir openvino-models
# 音乐生成模型
git clone --no-checkout https://huggingface.co/Intel/musicgen-static-openvino
cd musicgen-static-openvino
git checkout b2ad8083f3924ed704814b68c5df9cbbf2ad2aae
cd ..
unzip musicgen-static-openvino/*.zip -d openvino-models/musicgen
# 语音转录模型
git clone https://huggingface.co/Intel/whisper.cpp-openvino-models
unzip whisper.cpp-openvino-models/*.zip -d openvino-models
# 音乐分离模型
git clone --no-checkout https://huggingface.co/Intel/demucs-openvino
cd demucs-openvino && git checkout 97fc578fb57650045d40b00bc84c7d156be77547 && cd ..
cp demucs-openvino/htdemucs_v4.* openvino-models/
# 噪声抑制模型
git clone --no-checkout https://huggingface.co/Intel/deepfilternet-openvino
cd deepfilternet-openvino && git checkout 995706bda3da69da0825074ba7dbc8a78067e980 && cd ..
unzip deepfilternet-openvino/*.zip -d openvino-models
wget -P openvino-models https://storage.openvinotoolkit.org/repositories/open_model_zoo/2023.0/models_bin/1/noise-suppression-denseunet-ll-0001/FP16/noise-suppression-denseunet-ll-0001.{xml,bin}
# 超分辨率模型
git clone --no-checkout https://huggingface.co/Intel/versatile_audio_super_resolution_openvino
cd versatile_audio_super_resolution_openvino && git checkout 9a97d7f128b22aea72e92862a3eccc310f88ac26 && cd ..
unzip versatile_audio_super_resolution_openvino/*.zip -d openvino-models/audiosr
# 部署模型到系统目录
sudo cp -R openvino-models /usr/local/lib/
使用说明
- 启动Audacity:
./audacity-build/Release/bin/audacity
-
启用OpenVINO模块:
- 进入"编辑"->"首选项"->"模块"
- 将mod-openvino的状态从"New"改为"Enabled"
- 重启Audacity
-
重启后,AI功能将出现在相应的菜单中,包括:
- 生成菜单:AI音乐生成
- 效果菜单:噪声抑制、音源分离等
- 工具菜单:语音转录
性能优化建议
-
硬件加速:确保系统已正确安装Intel GPU驱动,OpenVINO将自动利用集成显卡加速推理。
-
模型选择:较大的模型(如whisper-large)需要更多内存和计算资源,可根据硬件配置选择合适的模型规模。
-
实时处理:对于实时音频处理,建议使用较小的缓冲区设置,并关闭其他资源密集型应用。
-
多线程:OpenVINO会自动利用所有可用的CPU核心,无需额外配置。
常见问题排查
-
模块未显示:
- 确认mod-openvino.so已正确生成在Release/lib/audacity/modules/目录
- 检查模型是否已正确部署到/usr/local/lib/openvino-models
-
性能问题:
- 运行
clinfo
确认OpenCL支持正常 - 检查OpenVINO环境变量是否设置正确
- 运行
-
内存不足:
- 大型模型需要16GB以上内存
- 可尝试使用较小规模的模型变体
通过本指南,您应该已经成功在Linux系统上构建并集成了Audacity的OpenVINO AI插件模块,为音频编辑工作流增添了强大的AI能力。根据您的硬件配置和使用场景,可以进一步调整和优化以获得最佳体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考