sherpa + ncnn 离线语音识别

本文介绍了如何使用Sherpa-NCNN进行离线音视频语言识别,包括从其他格式转换为wav、在Linux和Windows上进行编译,以及解决编译中出现的nmake问题。还提供了模型下载和语言识别测试示例。

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

在这里插入图片描述

前言

小编需要实现离线音视频语言部分识别,将纯音频及视频中的音频中语言部分(中文)提取出来进行后续的逻辑处理,并且结合C语言去使用,调查发现sherpa + ncnn可以满足小编的需求,将整个可执行程序编译及使用整理如下:

Sherpa-NCNN 是一个基于 C++ 的轻量级神经网络推理框架,是 kaldi 下的一个子项目,它专门针对移动设备和嵌入式系统进行了优化。 Sherpa-NCNN 的目标是提供高性能、低延迟的推理能力,适用于移动设备和嵌入式系统,可以以满足实时应用需求。
主要功能:语音识别、流式语音识别。即边说话,边识别。不需要访问网络,不需要数据传输,完全本地识别。
识别效果:识别速度很快,效果比较好,但是只支持wav格式的音频,其他格式的需要转换后才能识别。
不足:目前只支持单通道、16 kHz 采样率、.wav 格式的音频文件。

音视频格式转为wav

关于音视频格式转换请移驾到 ffmpeg安装使用(详细)

sherpa-ncnn编译

更加详细的资料可参阅sherpa-ncnn,此环节需要下载sherpa-ncnn源码进行编译,以下命令中有下载源码的命令,但需要有Git环境才可使用,没有Git环境可在此下载sherpa-ncnn下载

Linux

git clone https://github.com/k2-fsa/sherpa-ncnn
cd sherpa-ncnn
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j6

编译脚本会自动下载编译需要的相关文件,编译完成后可执行文件在 build/bin 目录下。

-rwxr-xr-x 1 root root 6769904 416 17:36 decode-file-c-api
-rwxr-xr-x 1 root root 6692384 416 17:36 generate-int8-scale-table
-rwxr-xr-x 1 root root 6770152 416 17:36 sherpa-ncnn
-rwxr-xr-x 1 root root 6775088 416 17:36 sherpa-ncnn-alsa
-rwxr-xr-x 1 root root 6931624 416 17:36 sherpa-ncnn-microphone

Windows

git clone https://github.com/k2-fsa/sherpa-ncnn
cd sherpa-ncnn 
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build . --config Release -- -m:6

编译脚本会自动下载编译需要的相关文件,编译完成后可执行文件在 build/bin/Release 目录下。

total 18032
-rwxr-xr-x 1 Administrator 197121 4594176 Apr 18 14:16 decode-file-c-api.exe*
-rwxr-xr-x 1 Administrator 197121 4515328 Apr 18 14:16 generate-int8-scale-table.exe*
-rwxr-xr-x 1 Administrator 197121 4749824 Apr 18 14:16 sherpa-ncnn-microphone.exe*
-rwxr-xr-x 1 Administrator 197121 4596224 Apr 18 14:16 sherpa-ncnn.exe*

windows编译中遇到的问题

问题“‘nmake’ ‘-?’ failed with: no such file or directory”
$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- Building for: NMake Makefiles
CMake Error at CMakeLists.txt:2 (project):
  Running

   'nmake' '-?'

  failed with:

   no such file or directory


CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
编译失败原因

AI 分析如下,分析的很准确,小编是因为没有安装“Visual Studio”造成的,换了一台装有“Visual Studio”的电脑编译成功;

这个错误表明nmake命令无法找到指定的帮助

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值