Skip to content

Repository files navigation

AX Meeting Studio — AX650 / AXCL AArch64 wheels

本仓库维护 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.mdmanifest.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。

AArch64 前置条件

在 AX650 板或 AXCL AArch64 主机上执行以下步骤:

  1. AArch64 Linux、python3cmake、系统 g++git 可用。
  2. Python 安装权限允许安装 requirements-build.txt 中的构建依赖。
  3. AX650 板端的 msp/out 已挂载到 /soc;源码依赖可下载或通过 AXMEETING_*_DIR 指定。

当前流程使用板端系统编译器,不需要也不会下载 GCC 交叉工具链。

编译

AX650:

PYTHON_BIN=python3 ./build_ax650_wheel.sh

AX8850 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 或模型复制回本仓库。

About

AX8850N/8850 aarch64 AI会议系统

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages