Skip to main content
Whisper 是 OpenAI 推出的通用自动语音识别 (ASR) 模型。您可以将其用于音频转写、翻译和 语种识别。您可以借助 Qualcomm 的 VoiceAI ASR 在 Dragonwing 开发板的 NPU 上运行 Whisper,也可以借助 whisper.cpp 在 CPU 上运行 Whisper。
通过 AIHUB 对 NPU 上 Whisper 模型的支持正在推进中,不久将更新。

使用 VoiceAI ASR 在 NPU 上运行 Whisper

1. 安装 SDK

1

准备基础环境

在开发板上打开终端,并为本示例准备基础依赖:
2

安装 VoiceAI ASR - Community Edition

安装 VoiceAI ASR - Community Edition:

2. 从 AI Hub 下载模型

安装好 SDK 后,您可以从 AI Hub 下载已编译的 Whisper 模型。下载模型时,请选择以下设备: 下载后,将 encoder 模型重命名为 encoder_model_htp.bin,将 decoder 模型重命名为 decoder_model_htp.bin。 要直接在开发板上下载 Whisper-Small-Quantized 模型:

3. 编译并运行示例

1

构建 npu_rpc_linux_sample/voice-ai-ref 示例

2

转写 .WAV 文件

您现在可以转写 .WAV 文件:
3

或者进行实时转写

1

将麦克风连接到开发板

将麦克风连接到开发板。
2

查找您的麦克风名称

3

运行实时转写

在 VAD 判定当前无语音后,实时转写会立即报错退出,希望在未来更新中得到修复。
🚀 您现在已经可以在开发板上完全离线地进行音频转写了!VoiceAI ASR 没有面向更高级 语言(如 Python)的绑定,因此如果您希望在应用中使用 Whisper,最简单的方法就是启动 voice-ai-ref 二进制文件,并从其 stdout 中读取数据。

使用 whisper.cpp 在 CPU 上运行 Whisper

或者,您也可以借助 whisper.cpp(或其他流行的 Whisper 库)在 CPU 上运行 Whisper(性能 稍差)。 下面是 whisper.cpp 的使用说明。在开发板上 打开终端,或通过 ssh 连接到开发板,然后运行:
1

安装构建依赖

2

构建 whisper.cpp

3

将 whisper.cpp 路径添加到 PATH

4

使用 whisper.cpp 转写一段音频

5

实时转写音频

1

将麦克风连接到开发板

将麦克风连接到开发板。
2

查找您的麦克风 ID

3

开始实时转写

通过 OpenCL 在 GPU 上运行

您也可以构建在 GPU 上运行的二进制文件:
1

安装 OpenCL 头文件和 ICD 加载库

首先按 llama.cpp 中”安装 OpenCL 头文件和 ICD 加载库”的步骤操作。
2

构建带 OpenCL 的二进制文件