基于 Whisper 模型实现语音识别
1. 语音识别简介
语音识别技术,也称为自动语音识别(ASR),旨在将人类言语中的词汇内容转换为计算机可读的输入形式,例如按键操作、二进制编码或字符序列。与说话人识别和说话人验证(后者试图识别或验证说话者本身,而非其言语所包含的词汇内容)不同,语音识别专注于言语的语言内容。
我们的语音算法基于由 OpenAI 设计的 Whisper 模型。作为一款通用语音识别模型,Whisper 通过大量多语言、多任务的监督数据进行训练,从而在英语语音识别方面实现了与人类相当的鲁棒性和准确性。Whisper 还可执行多语言语音识别、语音翻译和语言识别等任务。其架构采用简单的端到端方式,使用编码器-解码器 Transformer 模型,将输入音频转换为对应的文本序列,并通过特殊标记来指定不同的任务。
基于EASY-EAI-Nano-TB(RV1126B)硬件主板的运行效率:
2. 快速入门
2.1 开发环境准备
如果您是首次阅读本文,请参考《入门指南/开发环境准备/Easy-Eai 编译环境准备与更新》,并按照相关操作部署编译环境。
在PC端的Ubuntu系统中执行运行脚本,以进入EASY-EAI编译环境,具体操作如下:
2.2 源代码下载
在EASY-EAI编译环境中创建一个管理目录,用于存放源代码仓库:
使用 Git 工具在管理目录中克隆远程仓库:
备注:
由于网络问题,流程可能会卡住,请耐心等待。
如果需要从 GitHub 网页下载,请下载整个仓库,而不是仅下载与此示例对应的目录。
2.3 模型部署
要运行算法演示,您需要先下载语音算法模型。
同时,将下载的语音识别算法模型复制并粘贴到 Release/ 目录中。
2.4 常规编译
进入相应的脚本目录,然后按以下方式执行编译命令:
备注:
由于依赖库已部署在板上,因此在交叉编译过程中必须保持 /mnt 的挂载。
如果使用 cpres 参数运行 build.sh 脚本,Release/ 目录中的所有资源都将被复制到开发板上。
2.5 常规执行与效果
通过串口调试或SSH调试进入板子背景,并导航至常规部署位置:
使用以下命令运行该程序:
有关详细的API说明和API调用(本程序的源代码),请参见下方说明。
3. 语音识别API说明
3.1 参考方法
为了方便客户在本地项目中直接调用我们的EASY EAI API库,此处列出了需要在项目中链接的库、头文件等,供用户轻松添加。
3.2 语音识别初始化函数
语音识别初始化函数的原型如下:
详细描述:
3.3 语音识别运行功能
语音识别运行函数的原型如下:
详细描述:
3.4 语音识别释放功能
语音识别发布功能的原型如下:
详细描述:
4. 语音识别算法流程
常规目录为 Demos/algorithm-speech_recognition/test-speech_recognition.cpp,操作流程如下:
本文编译自hackster.io





