Skip to main content
Qualcomm 的 Audio Analytics 容器通过 REST 和 WebSocket API 提供语音识别(ASR)、文本翻译(T2T)和文本转语音(TTS)功能。所有模型完全在设备端的 Qualcomm NPU 上运行。

主要特性

  • 一个容器三种服务:通过单一 API 提供 ASR、文本到文本翻译和 TTS
  • NPU 加速:Whisper、OpusMT、MeloTTS 和 PiperTTS 模型全部在 Qualcomm NPU 上运行,释放 CPU 用于其他任务
  • 多语言:三种服务均支持英语、西班牙语和中文;PiperTTS 还支持德语和意大利语
  • 流式支持:除了基于文件的批量转录外,还支持通过 WebSocket 进行实时转录
  • OpenAPI / Swagger UI:交互式 API 文档位于 http://<device-ip>:8085/docs

支持的模型

以上是当前支持的模型。查询 /transcriptions/models/translations/models/tts/models 可确认运行时加载了哪些模型。

设置

以下步骤假设您已完成设备设置(IQ-9075 EVKIQ-8275 EVK)。设备设置完成后,请按照以下步骤部署并运行 Audio Analytics 容器。
1

安装所需软件包

通过 SSH 连接到您的设备并安装所需软件包:
2

设置 Docker

3

下载模型

创建模型目录结构,并从 QAI Hub 下载所有模型。
您的模型目录现在应该如下所示:
4

获取 Docker Compose 文件

CodeLinaro audio-analytics deploy 目录下载适用于您设备的 Docker Compose 文件。
方式 A — 直接在设备上下载:
方式 B — 在本地下载后复制到设备:
方式 A — 直接在设备上下载:
方式 B — 在本地下载后复制到设备:
后续步骤使用 docker-compose-qcs9100.yml。如果您使用的是 IQ-8275 EVK,请在每条命令中替换为 docker-compose-qcs8300.yml
5

配置容器

打开 Docker Compose 文件,并根据需要调整以下环境变量:
  • MODELS_DIR:容器内所有模型的基础路径(默认:/mnt/work/models
  • SESSION_TIMEOUT_S:ASR 流式会话自动关闭前的不活动秒数(默认:30
  • LOG_LEVEL10=DEBUG、20=INFO、30=WARNING、40=ERROR(默认:20
volumes: 下:
  • 模型路径:默认将主机上的 ~/models/audio 映射到容器中的 /mnt/work/models。如果您将模型放在其他位置,请更新卷挂载的左侧:
确保卷挂载指向您的模型目录,并且该目录可被容器读取。如果模型加载失败,请使用 ls -la ~/models/audio 检查目录权限。
6

启动容器

如果容器镜像尚未存在,Docker Compose 文件会自动拉取。
验证容器正在运行:
7

验证服务正在运行

就绪后,检查健康检查端点:
预期响应:
您还可以确认加载了哪些模型:
8

测试各项服务

为三种服务分别运行一次快速冒烟测试。ASR — 转录音频:
预期响应:
翻译 — 翻译文本:
预期响应:
TTS — 合成语音:
9

停止容器

完成后:

查看日志

所有容器输出均可通过 docker logs 查看。没有单独的日志文件。
要调整日志详细程度,请在 Docker Compose 文件中设置 LOG_LEVEL 并重启容器:

后续步骤

语音识别

基于文件和实时流式的转录

文本转语音

以多种语言合成自然语音

语言翻译

在设备端进行跨语言文本翻译