您的位置:首页 > 游戏 > 游戏 > 网络营销策划书ppt_今日头条石家庄最新消息_百度一下1688_汽车网站建设

网络营销策划书ppt_今日头条石家庄最新消息_百度一下1688_汽车网站建设

2024/12/23 16:39:28 来源:https://blog.csdn.net/qq_42956179/article/details/143023627  浏览:    关键词:网络营销策划书ppt_今日头条石家庄最新消息_百度一下1688_汽车网站建设
网络营销策划书ppt_今日头条石家庄最新消息_百度一下1688_汽车网站建设

文章目录

  • 前言
  • 一、开源框架的选取
  • 二、kaldi编译
  • 三、编译vosk
    • 方案一
    • 方案二


前言

由于工作需要语音识别的功能,环境是在linux arm版上,所以想先在ubuntu上跑起来看一看,就找了一下语音识别的开源框架,选中了vosk这个开源库,但是依赖kaldi,网上对于kaldi介绍的很多,但是没有结合vosk的,这里记录一下。

|版本声明:山河君,未经博主允许,禁止转载

一、开源框架的选取

  1. Kaldi
    简介: Kaldi 是一个广泛使用的开源语音识别库,支持深度学习,性能非常强大。适用于研究和工业应用。
    特点:
    提供丰富的语音识别工具集。
    支持多种模型格式,包括基于时间延迟神经网络(TDNN)和 LSTM 的模型。
    支持多平台,兼容 ARM64,但需要编译和调整。
    链接: Kaldi

  2. Vosk
    简介: Vosk 是基于 Kaldi 的语音识别引擎,提供了更简单的 API,并且支持多种语言。Vosk 还适用于资源有限的设备。
    特点:
    提供流式语音识别。
    占用内存较小,适合在 ARM64 平台上使用。
    支持多语言模型。
    链接: Vosk

  3. PocketSphinx
    简介: 这是 CMU Sphinx 项目的轻量级版本,针对嵌入式系统和移动设备进行了优化。
    特点:
    适合资源受限的环境,如 ARM64。
    提供了基础语音识别功能,支持自定义语言模型。
    占用资源少,安装简单。
    链接: PocketSphinx

  4. DeepSpeech
    简介: Mozilla 的 DeepSpeech 是一个基于深度学习的语音识别引擎,使用卷积神经网络来提供语音识别能力。
    特点:
    开源的 STT(语音转文本)引擎,基于百度的 DeepSpeech 研究。
    性能较好,但资源消耗相对较高,需要较强的硬件资源。
    可以在 ARM64 上编译和运行,但要确保计算能力足够。
    链接: DeepSpeech

  5. Julius
    简介: Julius 是一个开源的大词汇量语音识别引擎,主要面向研究用途,但也支持嵌入式设备。
    特点:
    支持连续语音识别。
    占用资源少,适合 ARM64 平台。
    提供 C++ 接口,支持定制模型。
    链接: Julius

二、kaldi编译

  1. 安装依赖
sudo apt-get update
sudo apt-get install git make automake autoconf sox libatlas-base-dev gfortran subversion python3
  1. 下载
git clone https://github.com/kaldi-asr/kaldi.git
cd kaldi
  1. 编译工具
cd tools
make
  1. 编译源码
cd ../src
./configure
make

到这里就该注意了,如果是在ubuntu上编译,会出现找不到算法库的情况

Configuring KALDI to use MKL.
Backing up kaldi.mk to kaldi.mk.bak ...
Checking compiler c++ ...
Checking OpenFst library in /home/aaron/workplace/audioread/kaldi/tools/openfst-1.8.3 ...
Performing OS specific configuration ...
On Linux: Checking for linear algebra header files ...
Configuring MKL library directory: ***configure failed: Could not find the MKL library directory.
Please use the switch --mkl-root and/or --mkl-libdir if you have MKL installed,
or try another math library, e.g. --mathlib=OPENBLAS (Kaldi may be slower). ***

这里有两种解决方案,一种使用intel的算法库,另外一种是使用OpenBLAS库作为替代,但是后者如果是在虚拟机中编译,会需要提供cpu型号,这个地方比较麻烦,所以笔者采用的是前者来编译的

  1. 下载intel算法库
sudo apt-get install intel-mkl

这里需要注意默认安装路径一般是/opt/intel/,但是笔者的是在/usr/lib下,貌似是这个

  1. 设置intel-mkl环境
export MKLROOT=/opt/intel/oneapi/mkl/latest
export LD_LIBRARY_PATH=$MKLROOT/lib/intel64:$LD_LIBRARY_PATH

这里填刚刚下载安装的路径

  1. 开始编译
    时间会比较长
./configure --shared --use-cuda=no --mathlib=MKL --mkl-libdir=/opt/intel/mkl/lib/intel64
make -j8

在这里插入图片描述

如果是只使用kaldi到这里就结束了,但是如果要使用vosk还需要指定kaldi某些库的的步骤

三、编译vosk

如果想编译vosk,个人建议使用官方推荐的kaldi,因为kaldi更新后的版本vosk有些时候还没有满足,所以想要快速编译就按照方案一。如果希望使用kaldi特定版本可以参考方案二,但是截至当前版本,是存在一些比较大的坑的,方案二中会介绍,但是如果后面更新版本后,可能会存在其他坑

方案一

cd <KALDI_ROOT>
git clone -b vosk --single-branch --depth=1 https://github.com/alphacep/kaldi /opt/kaldi
cd kaldi/tools
make openfst cub
./extras/install_openblas_clapack.sh
cd ../src
./configure --mathlib=OPENBLAS_CLAPACK --shared
make -j 10 online2 lm rnnlm
cd ../..
git clone https://github.com/alphacep/vosk-api --depth=1
cd vosk-api/src
KALDI_ROOT=<KALDI_ROOT> make

在这里插入图片描述

方案二

  1. 安装依赖
sudo apt update
sudo apt install cmake build-essential libffmpeg libasound2-dev libportaudio2
  1. 下载源码
git clone https://github.com/alphacep/vosk-api.git
cd vosk-api
  1. 修改脚本
    因为vosk依赖kaldi,所以需要吧kaldi指定一下
vi ./CMakeLists.txt

找到这一行直接注释掉,为了避免找不到kaldi模块,直接指定

#find_package(kaldi REQUIRED)

添加

set(KALDI_INCLUDE_DIR "/home/aaron/workplace/audioread/kaldi/src")
set(KALDI_LIB_DIR "/home/aaron/workplace/audioread/kaldi/src/lib")include_directories(${KALDI_INCLUDE_DIR})
link_directories(${KALDI_LIB_DIR})# 添加 Kaldi 库
find_library(KALDI_LIB kaldi PATHS ${KALDI_LIB_DIR})
set(KALDI_INCLUDE_DIR "/home/aaron/workplace/audioread/kaldi/src")
set(KALDI_LIB_DIR "/home/aaron/workplace/audioread/kaldi/src/lib")include_directories(${KALDI_INCLUDE_DIR})
link_directories(${KALDI_LIB_DIR})# 添加 Kaldi 库
find_library(KALDI_LIB kaldi PATHS ${KALDI_LIB_DIR})
  1. 编译
cd src/
mkdir build
cd build
cmake ..
make
  1. 出现错误
    在编译的时候会出现错误
home/aaron/workplace/audioread/kaldi/tools/openfst-1.8.3/include/fst 没有types.h文件

这是因为kaldi最新使用的openfst版本是1.8.3,是最新的,这边需要改为openfst-18.0之前的

  1. 回到Kaldi的tools目录,下载1.6.7版本的OpenFst
cd /home/aaron/workplace/audioread/kaldi/tools
wget http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.8.0.tar.gz
  1. 解压编译安装
    记得一定要指定生成路径在本路径下,否则make install没有权限,而且后面kaldi寻找路径是在tools目录下寻找版本
tar -xzf openfst-1.8.0.tar.gz
cd openfst-1.8.0
--prefix=/home/aaron/workplace/audioread/kaldi/tools/openfst-1.8.0 --enable-shared --enable-static --enable-far --enable-ngram-fsts
make -j $(nproc)
make install
  1. 指定kaldi的OpenFst版本
cd /home/aaron/workplace/audioread/kaldi/src
./configure --fst-root=/home/aaron/workplace/audioread/kaldi/tools/openfst-1.8.0 --fst-version=1.8.0
  1. 重新编译
make -j clean depend
make -j8

如果对您有所帮助,请帮忙点个赞吧!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com