开源ASR服务器vosk

简介: 概述近几年由于AI的迅速发展,语音相关的自然语言处理NLP项目也变多了,新的技术也越来越成熟,其中TTS(语音生成)和ASR(语音识别)是NLP中非常重要的环节。今天我们介绍一个开源的ASR项目vosk

概述


近几年由于AI的迅速发展,语音相关的自然语言处理NLP项目也变多了,新的技术也越来越成熟,其中TTS(语音生成)和ASR(语音识别)是NLP中非常重要的环节。

今天我们介绍一个开源的ASR项目vosk,以及vosk的博主weixin@yuyinjiqiren简单应用方法。

Vosk是开源的语音识别工具包。Vosk支持的事情包括:

  1. 支持十九种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷兰人,加泰罗尼亚语,阿拉伯, 希腊语, 波斯语, 菲律宾语,乌克兰语, 哈萨克语。
  2. 移动设备上脱机工作-Raspberry Pi,Android,iOS。
  3. 使用简单的 pip3 install vosk 安装。
  4. 每种语言的手提式模型只有是50Mb, 但还有更大的服务器模型可用。
  5. 提供流媒体API,以提供最佳用户体验(与流行的语音识别python包不同)。
  6. 还有用于不同编程语言的包装器-java / csharp / javascript等。
  7. 可以快速重新配置词汇以实现最佳准确性。
  8. 支持说话人识别。

\

环境


centos:CentOS release 7.0 (Final)或以上版本

\

VOSK服务器


vosk服务器的部署非常简单,有发布好的docker镜像可以直接使用。

使用docker启动VOSK服务器,选择中文模型kaldi-cn。

docker run -d -p 2700:2700 alphacep/kaldi-cn:latest

测试


客户端的连接支持多种方式,包括grpc、mqtt、webrtc、websocket等,我们可以通过git上的源代码查找到合适的样例。

下载vosk-server源代码

git clone github.com/alphacep/vo…
cd vosk-server/websocket
./test.py test1.wav

注意事项:语音文件test1.wav的格式必须8khz 16bit mono PCM(8000采样率,16位采样精度,单声道,pcm)。

可以在屏幕上看到服务器返回的识别结果,结果是json格式。


{
  "result" : [{
      "conf" : 0.993990,
      "end" : 0.510000,
      "start" : 0.090000,
      "word" : "语音"
    }, {
      "conf" : 0.936422,
      "end" : 1.080000,
      "start" : 0.510000,
      "word" : "测试"
    }, {
      "conf" : 0.821353,
      "end" : 1.950000,
      "start" : 1.350000,
      "word" : "天天"
    }, {
      "conf" : 0.866125,
      "end" : 2.190000,
      "start" : 1.950000,
      "word" : "是"
    }, {
      "conf" : 0.657369,
      "end" : 2.400000,
      "start" : 2.190000,
      "word" : "二"
    }, {
      "conf" : 0.657369,
      "end" : 2.610000,
      "start" : 2.400000,
      "word" : "零"
    }, {
      "conf" : 0.651791,
      "end" : 2.820000,
      "start" : 2.610000,
      "word" : "二"
    }, {
      "conf" : 0.994422,
      "end" : 3.180000,
      "start" : 2.820000,
      "word" : "一年"
    }, {
      "conf" : 1.000000,
      "end" : 3.600000,
      "start" : 3.180000,
      "word" : "八月"
    }, {
      "conf" : 0.985209,
      "end" : 3.930000,
      "start" : 3.600000,
      "word" : "二十"
    }, {
      "conf" : 0.985209,
      "end" : 4.410000,
      "start" : 3.930000,
      "word" : "五号"
    }],
  "text" : "语音 测试 天天 是 二 零 二 一年 八月 二十 五号"
}

总结


从vosk中文库的识别结果看,还有不少的问题存在,包括识别率,分词,分段等等,和目前市面上的商业ASR引擎还是有差距的。

当然,vosk的识别库模型也支持自定义和优化,有兴趣的同学可以去官网深入的了解一下。

vosk官网:alphacephei.com

OK,今天我们对vosk的介绍到此结束。

相关文章
|
19天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
161 2
|
30天前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
30天前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
3月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
|
6月前
|
存储 弹性计算 固态存储
*PolarDB-PG开源版本 基于ECS+ESSD云盘共享存储的部署测评**
PolarDB-PG在阿里云ECS与ESSD云盘的组合下展现优秀性能,简化部署流程,提供高并发写入时低延迟稳定性。ESSD的高性能IOPS和读取速度优化了数据库表现,只读节点实现近乎实时数据访问。分布式部署保证高可用性,即使面对故障也能快速切换。尽管ESSD初期成本较高,但长期看能降低总体拥有成本,尤其适合高并发、大数据量场景。此解决方案平衡了性能、可用性和成本,是企业级应用的理想选择。
|
5月前
|
缓存 负载均衡 应用服务中间件
Nginx 是一个高性能的开源反向代理服务器和 Web 服务器
Nginx 是一个高性能的开源反向代理服务器和 Web 服务器
74 0
|
6月前
|
测试技术 PyTorch 算法框架/工具
魔搭开源推理引擎 DashInfer,助力CPU服务器解锁大模型超强推理
ModelScope推出了预训练大语言模型(LLM)推理引擎DashInfer,采用C++ Runtime编写,提供C++和Python语言接口,具有生产级别的高性能表现,适用于多种CPU架构,包括x86和ARMv9。DashInfer支持连续批处理(Continuous Batching)和多NUMA推理(NUMA-Aware),能够充分利用服务器级CPU的算力,为推理14B及以下的LLM模型提供更多的硬件选择。该项工作已开源。
|
6月前
|
安全 算法 Linux
【专栏】Linux 服务器还有漏洞?OpenVAS 是一款开源的漏洞扫描工具,用于全面评估 Linux 服务器安全
【4月更文挑战第28天】OpenVAS 是一款开源的漏洞扫描工具,用于全面评估 Linux 服务器安全。它具有全面性、准确性和实时性的特点,能扫描各种设备并及时发现安全漏洞。使用 OpenVAS 包括安装、配置和执行扫描,以及分析结果并采取修复措施。在使用过程中应注意扫描时间、范围和策略的选择。通过定期检查和修复漏洞,结合其他安全措施,可以提升服务器安全性。OpenVAS 是保障 Linux 服务器安全的重要工具,但安全维护也需要持续学习和适应新挑战。
188 1
|
6月前
|
Go 开发工具 git
推荐一个开源流媒体服务器-livgo
推荐一个开源流媒体服务器-livgo
218 0
|
6月前
|
编解码 缓存 网络协议
EasyDarwin开源流媒体服务器
EasyDarwin开源流媒体服务器
245 0