AX-Meeting-Studio / README.md
Nnow2024's picture
Upload 8 files
22d2fca verified
|
Raw
History Blame Contribute Delete
5.72 kB
---
license: mit
language:
- en
- zh
base_model:
- FunAudioLLM/SenseVoiceSmall
- FireRedTeam/FireRedASR2-AED
pipeline_tag: audio-text-to-text
tags:
- ASR
- VAD
- SensorVoice
- FireRed-AED
---
# AX Meeting Studio
本仓库是面向 **AX8850N/8850 板端部署** 的 AX Meeting Studio,用于将已经构建并验证的
wheel、外置模型、HTTPS 证书和启动脚本整体部署到设备上运行。
## 工程能力
AX Meeting Studio 面向离线和实时会议场景,提供语音活动检测、说话人聚类与归属、语音识别、
会议转写以及大模型总结工作台:
- **VAD + CAM++**:检测有效语音并进行说话人嵌入、聚类和标签归属。
- **双 ASR 后端**:默认的 `sensevoice` 支持常规转写和词级时间戳;`firered_punc` 使用
FireRed AED 加 CT-Transformer 标点,适合更高准确度的最终稿,但不提供词级时间戳。
- **多种使用方式**:提供 HTTPS Web UI、`ax-meeting-studio` 命令行和 Python API;Web UI
支持离线文件上传、浏览器麦克风实时转写和可选的大模型会议总结。
- **板端资源管理**:VAD 与 CAM++ 常驻;两种 ASR 按需加载和切换,避免同时占用 AX runtime
资源。Web 服务以单个硬件 runtime worker 运行,确保模型生命周期和并发请求安全。
## 性能统计(AX8850N为例)
模型预加载已单独执行并排除;未计入 HTTP 上传、任务排队、浏览器轮询和 LLM 总结,音频测试长度:时长 1955.236 s(32:35)。
| 后端 | 端到端耗时 | 端到端 RTF | ASR 耗时 | ASR RTF(按全音频) |
| --- | ---: | ---: | ---: | ---: |
| SenseVoice 模式 | 206.063 s(3:26) | 0.1054 | 101.090 s | 0.0517 |
| FireRed AED + Punc 模式 | 428.629 s(7:09) | 0.2192 | 332.480 s | 0.1700 |
RTF 越低越快。两者都满足离线快于实时:
- SenseVoice 端到端约 9.49× 实时;
- FireRed/Punc 端到端约 4.56× 实时。
(不同的音频长度和说话人数量会影响 RTF,以上仅为参考。)
## 运行时目录说明
```text
AX Meeting Studio/
├── wheel/ # 为 AArch64 / 对应 CPython 版本构建的 ax_meeting_studio wheel
├── models/ # 外置推理模型:VAD、CAM++、SenseVoice、FireRed、Punc
├── certs/ # HTTPS 证书和私钥
├── src/ # 运行时资产清单等随部署保留的资源
├── tools/ # 模型资产完整性检查工具
├── .runtime/ # 首次启动后记录 wheel 安装状态(自动生成)
└── run_web_studio.sh # 预检、依赖/wheel 安装与 Web 服务启动入口
```
## 1. 下载
将整个 `AX Meeting Studio/` 目录下载到板端,例如:
```text
cd /root
hf download AXERA-TECH/AX-Metting-Studio --local-dir AX-Metting-Studio
cd AX-Metting-Studio
```
板端需要支持 AX8850N/AX8850 AArch64 Python3.+环境。
AX8850N 使用 `/soc/lib`;AXCL 默认使用 `/usr/lib/axcl`。当前
包已带有证书;若部署环境不同,请替换 `certs/cert.pem``certs/key.pem`
```bash
cd AX-Metting-Studio
chmod 600 certs/key.pem
```
## 2. 启动
大模型总结功能需要在板端启动大模型后端服务,参考[AXERA-TECH/Qwen3.5-2B-AX650-GPTQ-Int4](https://huggingface.co/AXERA-TECH/Qwen3.5-2B-AX650-GPTQ-Int4-C256-P6K-CTX8K)进行下载和部署
首次启动会按需安装与当前 Python/平台兼容的 wheel 及 Python 运行依赖。启动脚本会自动检测
AX8850N BSP 或 AX8850 AXCL runtime;AXCL 本地安装默认使用 `/usr/lib/axcl/libaxcl_rt.so`
```bash
cd AX-Metting-Studio
./run_web_studio.sh --port 8443
# output
AX Meeting Studio
URL: https://10.126.102.188:8443
Bind: 0.0.0.0:8443 (single ax8850 worker)
Backends: SenseVoice + FireRed AED/Punc
Models: /root/AX-Metting-Studio/models
Wheel: /root/AX-Metting-Studio/wheel/ax_meeting_studio-0.2.0-cp313-cp313-linux_aarch64.whl
Logs: uvicorn=warning, access=OFF, ax=WARN
Web UI: https://10.126.102.188:8443
```
浏览器访问Web UI:
```text
https://<板端IP>:8443
```
`--port` 可改为任意未占用的 `1-65535` 端口;也可使用 `PORT=8443` 环境变量。
工作台界面:
![AX Meeting Studio 工作台界面](./assert/studio.JPG)
离线会议转录和总结:
![离线会议转录和总结界面](./assert/offline_meeting.JPG)
实时会议转录和总结:
![实时会议转录和总结界面](./assert/online_meeting.JPG)
## 3. 启动前检查
```bash
./run_web_studio.sh --port 8443 --check
```
如果是 AX8850N 且 BSP 不在 `/soc`,请按报错提示指定实际的 `msp/out` 目录,例如:
```bash
AXMEETING_BSP_MSP_DIR=/path/to/msp/out ./run_web_studio.sh --port 8443 --check
```
AX8850 AXCL 主机可显式选择后端;AXCL deb 包默认安装在系统路径:
```bash
AXMEETING_ACCELERATOR=axcl ./run_web_studio.sh --port 8443 --check
```
如果 AXCL 安装在自定义前缀(包含 `lib/libaxcl_rt.so`),设置:
```bash
AXMEETING_ACCELERATOR=axcl \
AXMEETING_AXCL_DIR=/opt/axcl \
./run_web_studio.sh --port 8443
```
`--check` 不会安装依赖或 wheel,因此首次部署请先正常启动一次。
## 4. 常用配置
模型默认位于本目录的 `models/`。模型在外接磁盘时:
```bash
AX_MODEL_DIR=/mnt/models \
./run_web_studio.sh --port 8443
```
自定义证书时:
```bash
SSL_CERT=/etc/ssl/cert.pem \
SSL_KEY=/etc/ssl/key.pem \
./run_web_studio.sh --port 8443
```
Python API 与 CLI 使用新命名:
```python
from ax_meeting_studio import ModelBundle, MeetingEngine
```
```bash
ax-meeting-studio --help
```
Web UI 的“参数设置”可配置本地 OpenAI API、总结模型、模板及自定义要求。
TODO:
- 更多后端 ASR 模型