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

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

简介

偶然在 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 或者直接物理解决:换个高版本的服务器系统。

结语

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

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

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

希望能对大家有所帮助。



相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
监控
基于videoPlayer实现视频播放联动文字播报功能
基于videoPlayer实现视频播放联动文字播报功能
208 0
|
机器学习/深度学习
基于PaddleGAN精准唇形合成模型实现美女表白视频
基于PaddleGAN精准唇形合成模型实现美女表白视频
720 0
基于PaddleGAN精准唇形合成模型实现美女表白视频
|
30天前
|
人工智能
EDTalk:只需上传图片、音频和视频,就能使图片中的人物说话,情感表情与音频情绪高度统一
EDTalk 是上海交通大学与网易联合研发的高效解耦情感说话头像合成模型,能够独立控制嘴型、头部姿态和情感表情,适用于多种应用场景。
95 26
EDTalk:只需上传图片、音频和视频,就能使图片中的人物说话,情感表情与音频情绪高度统一
|
30天前
|
人工智能 搜索推荐 前端开发
打造个性化跨年时钟:整点报时与祝福语、背景音乐播放的完美结合
这款跨年时钟应用程序为2025新年特别设计,基于Python和Tkinter库开发。它不仅实时显示当前时间,还根据时间段自动调整背景颜色(白天白色、夜晚紫色),并在特定时间播放报时和祝福语音。指针颜色每隔6到15秒随机变化,增加趣味性。元旦前三秒显示“元旦快乐”并播放AI生成的祝福语音。窗口始终置顶,方便查看。此外,整点和半点时播放报时声音,背景音乐在指定时间启动,带来个性化体验。 代码实现包括环境准备、时区设置、动态背景和指针绘制、声音播放及主窗口创建等功能模块。通过多线程技术确保流畅运行。希望这款时钟能为新年增添温馨与惊喜。 欢迎点赞、关注、转发、收藏!
92 44
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
|
8月前
|
算法
VASA-1:实时音频驱动的数字人说话面部视频生成技术
【6月更文挑战第8天】VASA-1是实时音频驱动的数字人面部视频生成技术,能根据输入音频精准生成匹配的面部表情。具备实时性、高准确性和适应性,适用于虚拟主播、在线教育和影视娱乐等领域。简单示例代码展示了其工作原理。尽管面临情感理解和硬件优化等挑战,但随着技术发展,VASA-1有望在更多领域广泛应用,开启生动数字世界的新篇章。
359 5
|
机器人 语音技术
神器 | 文本转语音,直接可以合成多人多风格音频了!
为了适应更多的音频使用场景和需求,近期我们将文本转语音服务进行了升级,全新的功能将成为你配音工具的不二之选。
499 1
|
内存技术
在线版!音乐伴奏提取、变调、调速、查调性……太强大了!
由于Spleeter是要下载到电脑上运行的,由于电脑系统版本、电脑上的运行库等多方面原因,很多用户私信我说软件运行不了。
788 0
|
API 语音技术 Python
轻声低语,藏在光芒下的语音转文字模型Whisper
轻声低语,藏在光芒下的语音转文字模型Whisper
1331 0
|
自动驾驶 API 语音技术
无人驾驶之交通识别项目--用Python实现语音播放“提示”
无人驾驶之交通识别项目--用Python实现语音播放“提示”
178 0