部署在树莓派上Kalid离线语音识别框架

本文详细介绍了如何在树莓派上部署Kaldi离线语音识别框架,包括Kaldi的编译安装步骤,从下载源码到安装依赖,再到测试识别效果。此外,还讲解了两种模式的语音识别,即音频文件识别和麦克风实时识别的实现方法,以及解决识别过程中可能遇到的问题。最后提到了与Arduino的串口通讯,提供了一段Python示例代码和C++调用命令行的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kaldi 语音识别总结

一、编译安装

1、下载:

建议使用kaldi-trunk 版本,来进行语音识别,下载代码:

git clonehttps://github.com/kaldi-asr/kaldi.git kaldi-trunk --origin golden

若没有安装git 请先安装,代码:

sudo apt-get install git

2、各目录功能:

./tools 目录下为kaldi的依赖包。

./src 目录下为kaldi 的源代码。

./egs 目录下为 kaldi 的一些例子。

3、kaldi 的编译安装:

安装前需要确保安装一下软件:

sudo apt-get install autoconf automakegcc libtool subversion libatlas-dev libatlas-base-dev gfortran g++ zlib1g-dev

进入./tool目录,输入make 也可make -j X (X为你电脑的核心数,可加大编译速度)之后切换到./src目录下,输入./configure进行配置,然后输入make depend,完成之后输入make进行编译。

至此,kaldi 基本包安装完成。

4、测试:

进入./egs/yesno/s5 目录下运行 sudo./run.sh 这是kaldi自带的一个识别yesno的一个例子。

训练完成的结果:WER为0.00 (注:WER(Word Error Rate)是字错误率,是一个衡量语音识别系统的准确程度的度量。其计算公式是WER=(I+D+S)/N,其中I代表被插入的单词个数,D代表被删除的单词个数,S代表被替换的单词个数。也就是说把识别出来的结果中,多认的,少认的,认错的全都加起来,除以总单词数。这个数字当然是越低越好。)

5、特别注意:

(1)Kaldi 中实例众多,但由于都不自带数据集的原因,绝大部分是不能直接运行的,有的下载数据集的方式集成在 run.sh 代码中,不自带的需要自行从网上下载。(每个脚本文件中的注释语句均为这个脚本的使用说明,请注意查看)

 

(2)有的示例在训练的过程中会提示缺少irstlm。是因为在新版的kaldi中irstlm不是默认编译的,需要自行编译,安装目录在tools/extras下。直接运行install_irstlm.sh脚本即可。并将安装完成的irstlm 复制一份放在tools目录下。

 

(3)在进行训练之前:需要更改一些环境变量。通常要更改的设置如下

     ①将cmd.sh中所有的queue.pl更改为 run.pl。(具体修改方式均在cmd.sh的注释语句中)

        ②确认数据集的位置:在run.sh中找到放置数据集的默认路径,将其改为你的数据集路径

二、进行语音识别

语音识别有两种模式,一为录制好的音频文件进行识别(注:音频文件格式必须为单声道,16000Hz,16bit模式,否者程序报错)。二为通过麦克风进行的实时识别。

1、音频文件识别:

(注:建议先安装如下软件后再执行以下步骤:

sudo apt-get install pulseaudio

sudo apt-get install libportaudio-dev

sudo apt-get install libportaudio0

sudo apt-get install libportaudio2

sudo apt-get install libportaudiocpp0

sudo a

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值