本仓库维护 AX650 板端和 AX8850 AXCL 主机端的 AArch64 本地编译流程。源码生成的 wheel 不携带模型、BSP、 交叉编译工具链、证书或音频素材;这些内容均由板端环境或受控的外部资源提供。
| 路径 | 内容 |
|---|---|
cpp/ |
AX Engine、Kaldi 特征、VAD、说话人和 ASR 的 C++ 实现 |
src/ax_meeting_studio/ |
原生后端和对外 Python API、资源清单 |
cmake/、CMakeLists.txt |
AX650 / AXCL 本地构建配置 |
build_ax650_wheel.sh |
AX650 板端 wheel 构建入口 |
build_ax8850_aarch64_wheel.sh |
AX8850 AXCL AArch64 wheel 构建入口 |
scripts/download_ax650_dependencies.sh |
获取 Kaldi Native FBank 和 KissFFT 源码依赖 |
tools/verify_wheel.py |
发布前检查 wheel 边界 |
models/README.md |
外置模型目录约定(模型文件不在本仓库) |
bsp/README.md |
AX650 板端 /soc 与系统 AXCL 安装约定 |
third_party/README.md、manifest.json |
外置源码依赖及固定提交说明 |
build_ax650/、wheel/、dist/ 等目录只在本地构建时生成,并由 .gitignore 排除。
toolchains/、测试/样例数据、Web 启动脚本和其他主机/交叉编译脚本不属于本仓库范围。
ax_meeting_studio 是唯一的 Python 包名,同时承载 ctypes 兼容层和对外 API。CMake、wheel
元数据、C++ 头文件目录和 Python 导入路径均使用这一名称。
每个硬件后端只生成一个与 Python 小版本无关的 wheel:
- AX650:
ax_meeting_studio-0.3.0+ax650-py3-none-linux_aarch64.whl - AX8850 AXCL:
ax_meeting_studio-0.3.0+axcl-py3-none-linux_aarch64.whl
wheel 内是纯 Python ctypes 绑定和稳定 C ABI 的 libax_meeting_studio.so.1,不包含
_core.cpython-*.so。同一文件支持 CPython 3.9–3.13 的常规 GIL 版本,无需按
cp39/cp310/cp311 等解释器版本重复编译;不承诺 PyPy 或 free-threaded CPython。
在 AX650 板或 AXCL AArch64 主机上执行以下步骤:
- AArch64 Linux、
python3、cmake、系统g++、git可用。 - Python 安装权限允许安装
requirements-build.txt中的构建依赖。 - AX650 板端的
msp/out已挂载到/soc;源码依赖可下载或通过AXMEETING_*_DIR指定。
当前流程使用板端系统编译器,不需要也不会下载 GCC 交叉工具链。
AX650:
PYTHON_BIN=python3 ./build_ax650_wheel.shAX8850 AXCL(按 axcl-samples 约定先安装 AXCL deb 包):
PYTHON_BIN=python3 ./build_ax8850_aarch64_wheel.sh脚本默认从 /usr/include/axcl 和 /usr/lib/axcl 使用 AXCL;自定义安装可用
AXMEETING_AXCL_DIR 指向包含 include/、lib/ 的前缀。运行时用
AXMEETING_AXCL_DEVICE 选择设备索引(默认 0)。AXCL 与 AX650 wheel 版本分别带
+axcl 和 +ax650 local version 标识,用于选择对应的硬件运行库。
脚本会检查 AArch64、安装缺失的构建 Python 包(可用
AXMEETING_INSTALL_BUILD_DEPS=OFF 禁止安装),然后在缺少依赖时调用
scripts/download_ax650_dependencies.sh 获取 Kaldi Native FBank 和 KissFFT。AX650
头文件和库始终直接来自板端 /soc,不会下载 BSP。成功后 wheel/ 中只保留一个经
tools/verify_wheel.py 校验过的 wheel。
依赖已经由板端环境准备好时:
AXMEETING_FETCH_DEPS=OFF \
AXMEETING_SOC_DIR=/soc \
AXMEETING_KALDI_NATIVE_FBANK_DIR=/opt/ax650/kaldi-native-fbank \
AXMEETING_KISSFFT_DIR=/opt/ax650/kissfft \
PYTHON_BIN=python3 ./build_ax650_wheel.sh构建输出目录可以用 AXMEETING_WHEEL_DIR 覆盖。模型不会参与编译,也不会被复制到
wheel;运行时若需要模型,请按 models/README.md 准备外部目录并设置 AX_MODEL_DIR。
bsp/、models/ 和 third_party/ 的说明文件只记录布局、来源和校验信息,不代表
资产已随仓库分发。模型、AX650 SDK 和 AXCL SDK 的再分发权限由各自供应方决定;本仓库代码许可见
LICENSE,第三方声明见 NOTICE。
本精简仓库不维护 x86 主机构建、跨主机交叉编译、Web Studio 启动、音频/数据集下载或 板端性能回归。需要这些能力时,请在原始工作区或单独的部署工程中处理,不要把生成物、 工具链、BSP 或模型复制回本仓库。