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

主要特性

  • 一个容器提供三项服务:ASR、文本到文本翻译和 TTS 通过单一 API 对外提供
  • 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 EVK 或 IQ-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_LEVEL:10=DEBUG,20=INFO,30=WARNING,40=ERROR(默认:20)
在 volumes: 下:
  • 模型路径:默认将主机上的 ~/models/audio 映射到容器中的 /mnt/work/models。 如果您将模型放在其他位置,请更新卷挂载的左侧:
请确认卷挂载指向您的模型目录,并且该目录可被容器读取。如果模型加载失败,请通过 ls -la ~/models/audio 检查目录权限。
6

启动容器

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

验证服务是否正常运行

容器就绪后,检查 health 端点:
预期响应:
您也可以确认加载了哪些模型:
8

测试每项服务

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

停止容器

完成后:

查看日志

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

下一步

语音识别

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

文本到语音

以多种语言合成自然语音

语言翻译

在设备端在不同语言之间进行文本翻译