起飞,纯本地实时语音转文字!

简介: 起飞,纯本地实时语音转文字!

简介

偶然在 github 上翻到了这个项目 https://github.com/k2-fsa/sherpa-ncnn

在没有互联网连接的情况下使用带有 ncnn 的下一代 Kaldi 进行实时语音识别。支持 iOSAndroidRaspberry PiVisionFive2LicheePi4A等。

也就是说语音转文字可以不再借助网络服务的接口,这在很多本地化场景中简直是起飞,甚至还支持实时语音识别,赶紧来试试吧!

官方文档:https://k2-fsa.github.io/sherpa/ncnn/install/

安装

本地测试环境为 macOS M3 air

克隆仓库已经本地编译


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

得到了如下结果

image.png

下载预训练模型

image.png


cd /path/to/sherpa-ncnn
wget https://github.com/k2-fsa/sherpa-ncnn/releases/download/models/sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23.tar.bz2
tar xvf sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23.tar.bz2

使用

接下来就可以使用语音转文本啦,在预训练模型中还提供了一些录音的案例

语音识别


cd /path/to/sherpa-ncnn
for method in greedy_search modified_beam_search; do
  ./build/bin/sherpa-ncnn \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/tokens.txt \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/encoder_jit_trace-pnnx.ncnn.param \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/encoder_jit_trace-pnnx.ncnn.bin \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/decoder_jit_trace-pnnx.ncnn.param \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/decoder_jit_trace-pnnx.ncnn.bin \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/joiner_jit_trace-pnnx.ncnn.param \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/joiner_jit_trace-pnnx.ncnn.bin \
    ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/test_wavs/0.wav \
    2 \
    $method
done

得到了如下结果:

image.png

可以看到,速度还是挺快的

实时语音识别


cd /path/to/sherpa-ncnn
./build/bin/sherpa-ncnn-microphone \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/tokens.txt \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/encoder_jit_trace-pnnx.ncnn.param \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/encoder_jit_trace-pnnx.ncnn.bin \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/decoder_jit_trace-pnnx.ncnn.param \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/decoder_jit_trace-pnnx.ncnn.bin \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/joiner_jit_trace-pnnx.ncnn.param \
  ./sherpa-ncnn-streaming-zipformer-zh-14M-2023-02-23/joiner_jit_trace-pnnx.ncnn.bin \
  2 \
  greedy_search

image.png

效果非常好

其他使用方式

按官方文档介绍,该项目在各个平台都能直接运行

按本文所示的案例,直接部署到服务端也能够使用,于是就有了一个私有的语音识别接口。

踩坑

服务端编译时一些比较老的系统版本可能会遇到 cmake 版本过低无法进行编译的问题。

升级 cmake至3.5 或者直接物理解决:换个高版本的服务器系统。

结语

以前的语音识别方案一般都是各云服务平台直接买接口。

没想到现在已经直接能在本地使用,甚至还有实时语音识别,功能十分强大。

当然,本文只是跟着官方文档走了一次示例,尚未进行具体的使用和深入的研究。

希望能对大家有所帮助。



相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
人工智能 达摩院 并行计算
中文语音识别转文字的王者,阿里达摩院FunAsr足可与Whisper相颉顽
君不言语音识别技术则已,言则必称Whisper,没错,OpenAi开源的Whisper确实是世界主流语音识别技术的魁首,但在中文领域,有一个足以和Whisper相颉顽的项目,那就是阿里达摩院自研的FunAsr。 FunAsr主要依托达摩院发布的Paraformer非自回归端到端语音识别模型,它具有高精度、高效率、便捷部署的优点,支持快速构建语音识别服务,最重要的是,FunASR支持标点符号识别、低语音识别、音频-视觉语音识别等功能,也就是说,它不仅可以实现语音转写,还能在转写后进行标注,一石二鸟。
中文语音识别转文字的王者,阿里达摩院FunAsr足可与Whisper相颉顽
|
语音技术 异构计算
FunASR项目支持实时语音识别
FunASR项目支持实时语音识别【1月更文挑战第7篇】
4631 1
|
6月前
|
前端开发 API 开发者
一键抠图有多强?19Kstar 的 Rembg 开源神器,5 大实用场景颠覆想象!
Rembg是一款基于Python的开源抠图工具,利用深度学习模型(U-Net/U-2-Net)实现高质量背景移除。它支持命令行、Python API、服务端API及插件等多种形式,适用于电商商品图、社交头像优化、设计项目图像等场景。凭借高精准度、即插即用特性和全面生态,Rembg在GitHub上已获19.1K星,成为开发者社区中的热门工具。其本地部署特性确保数据隐私,适合专业与商业环境使用。项目地址:https://github.com/danielgatis/rembg。
1656 24
|
Docker 容器 数据格式
Docker 修改镜像源地址
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/80417198 我的Docker 版本为 1.
42694 0
|
8月前
|
人工智能 自然语言处理 测试技术
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
Codex CLI是OpenAI推出的轻量级AI编程智能体,基于自然语言指令帮助开发者高效生成代码、执行文件操作和进行版本控制,支持代码生成、重构、测试及数据库迁移等功能。
1648 0
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
|
11月前
|
人工智能 自然语言处理 并行计算
Kokoro-TTS:超轻量级文本转语音模型,支持生成多种语言和多种语音风格
Kokoro-TTS 是一款轻量级文本转语音模型,支持多语言和多语音风格生成,具备实时处理能力和低资源占用,适用于多种应用场景。
1760 5
Kokoro-TTS:超轻量级文本转语音模型,支持生成多种语言和多种语音风格
|
Linux 数据安全/隐私保护 Windows
更换(Pypi)pip源到国内镜像
pip国内的一些镜像 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.
247788 2
|
移动开发 前端开发 JavaScript
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
前端开发实战:利用Web Speech API之speechSynthesis实现文字转语音功能
1799 1
|
API Docker 容器
SenseVoice实现语音转文字
这篇文章介绍了如何使用SenseVoice实现语音转文字的功能,包括通过Docker部署服务、使用网页界面或API进行语音文件的转换,并提供了详细的部署与使用步骤。
2444 1
SenseVoice实现语音转文字
|
缓存 Kubernetes Shell
CI/CD:安装配置Gitlab Runner
CI/CD:安装配置Gitlab Runner
1274 0