【小沐学Python】Python实现语音识别(vosk)

文章目录

  • 1、简介
    • 1.1 vosk简介
    • 1.2 vosk模型
    • 1.3 vosk服务
  • 2、安装
  • 3、测试
    • 3.1 命令行测试
    • 3.2 代码测试
  • 结语

1、简介

https://alphacephei.com/vosk/index.zh.html

Vosk 是一个语音识别工具包。

在这里插入图片描述

1.1 vosk简介

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

1.2 vosk模型

https://alphacephei.com/vosk/models
有两种类型的模型 - 大模型和小模型,非常适合 移动应用程序上的一些有限任务。它们可以在智能手机上运行, 树莓派的。还建议将它们用于桌面应用程序。小 模型的大小通常约为 50Mb,需要大约 300Mb 的内存 在运行时。大模型用于 服务器。大型型号需要高达 16Gb 的内存,因为它们应用了先进的 人工智能算法。

在这里插入图片描述

# 下载模型文件:
wget -c https://alphacephei.com/vosk/models/vosk-model-small-cn-0.22.zip
wget -c https://alphacephei.com/vosk/models/vosk-model-cn-0.15.zip
wget -c https://alphacephei.com/vosk/models/vosk-model-cn-kaldi-multicn-0.15.zip

1.3 vosk服务

一个基于Vosk-API的非常简单的服务器。
不同的协议有四种实现 - websocket、grpc、mqtt、webrtc。
启动服务器:

#获取docker镜像:
docker pull alphacep/kaldi-cn:latest
#启动服务:
docker run -d -p 2700:2700 alphacep/kaldi-cn:latest

若要测试服务器,请运行示例脚本:

git clone https://github.com/alphacep/vosk-server
cd vosk-server/websocket
./test.py test.wav

使用麦克风进行测试,您需要安装 sounddevice pip 包:

pip3 install sounddevice

要使用麦克风进行测试,请运行:

./test_microphone.py -u ws://localhost:2700

使用docker方式启动服务,比较简单,但下载docker包比较耗时,如果已经下载好vosk-server代码及对应的模型文件,可以直接通过python代码启动vosk-server提供asr服务。

#1、下载vosk-server代码
git clone https://github.com/alphacep/vosk-server
#2、下载模型文件
wget -c https://alphacephei.com/vosk/models/vosk-model-cn-0.15.zip
#3、启动vosk服务
python asr_server.py vosk-model-cn-0.15

2、安装

确保您拥有最新的 pip 和 python3 版本:

Python版本:3.5-3.9
pip 版本:20.3 及更高版本。

pip3 install vosk
# pip3 install vosk -i https://pypi.doubanio.com/simple
# pip3 install https://github.com/alphacep/vosk-api/releases/download/v0.3.42/vosk-0.3.42-py3-none-linux_riscv64.whl

在这里插入图片描述

python3 --version
pip3 --version
pip3 -v install vosk

# 验证ffmpeg是否已安装,调用命令行(windows+R输入cmd)/ Ubuntu终端
$ ffmpeg –version

在这里插入图片描述

3、测试

3.1 命令行测试

vosk-transcriber -i test.mp4 -o test.txt
vosk-transcriber -i test.mp4 -t srt -o test.srt
vosk-transcriber -l fr -i test.m4a -t srt -o test.srt
vosk-transcriber --list-languages

# windows 
$ cd xxx/xxx
 
# 查看help命令
$ vosk-transcriber -h
 
# 列举当前的语言
$ vosk-transcriber --list-languages
 
# 方式一 :中文语音转汉字
$ vosk-transcriber -i xxx.mp3 -o xxx.txt -l cn  
 
# 方式二 :中文语音转汉字, 也可以去网站下载模型后直接指定模型路径
$ vosk-transcriber -i xxx.mp3 -o xxx.txt -m 解压后的文件夹路径

在这里插入图片描述
在这里插入图片描述

3.2 代码测试

若要运行 python 示例,请克隆 vosk-api 并运行以下命令:

git clone https://github.com/alphacep/vosk-api
cd vosk-api/python/example
python3 ./test_simple.py test.wav

在这里插入图片描述
在这里插入图片描述
使用您自己的音频文件时,请确保其格式正确 - PCM 16kHz 16bit 单声道。否则,如果您安装了 ffmpeg,则可以使用 ,它为您进行转换。

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/233098.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mac虚拟机CrossOver23破解版下载和许可证下载

CrossOver Mac Mac 和 Windows 系统之间的兼容工具。使 Mac 操作系统的用户可以运行 Windows 系统的应用,从办公软件、实用工具、游戏到设计软件, 您都可以在 Mac 程序和 Windows 程序之间随意切换。 系统要求 运行macOS的基于Intel或Apple Silicon 的…

【原创】【一类问题的通法】【真题+李6卷6+李4卷4(+李6卷5)分析】合同矩阵A B有PTAP=B,求可逆阵P的策略

【铺垫】二次型做的变换与相应二次型矩阵的对应:二次型f(x1,x2,x3)xTAx,g(y1,y2,y3)yTBy ①若f在可逆变换xPy下化为g,即P为可逆阵,有P…

【SpringBoot篇】5种类型参数传递json数据传参的操作

🎊专栏【SpringBoot】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题🥰 文章目录 🌺普通参数🌺POJO参数🌺嵌套…

Java面试遇到的一些常见题

目录 1. Java语言有几种基本类型,分别是什么? 整数类型(Integer Types): 浮点类型(Floating-Point Types): 字符类型(Character Type): 布尔类…

Unity中Batching优化的GPU实例化(4)

文章目录 前言一、构建需要实例化的额外数据二、在顶点着色器,将实例化 ID 从 appdata 存入 v2f 传给片元着色器三、在片断着色器中访问具体的实例化变量三、使用代码修改Shader材质属性,实现GPU实例化后不同对象颜色不同的效果1、在C#测试脚本生成小板凳…

Redis 环境搭建2

文章目录 第2关:使用 Redis 第2关:使用 Redis 本文是接着上篇文章写的第二关代码,部分人再进入第二关时不会保留第一关的配置的环境,可以通过下面一句代码进行检验。 redis-cli -p 7001 -c如果进入到了redis界面就是有环境&…

Android 分享小结

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、微信 分享 三、 QQ 、QQ空间(Qz…

2024 年顶级的 Android 系统修复软件与方法

您是否正在寻找可以修复 PC 上 Android 操作系统的工具?这是我们精选的最好的 Android 系统修复软件! Android 是世界著名的智能手机操作系统。全世界有数百万人使用这个操作系统,这使得它安全可靠。然而,这仍然不能使它完美无缺…

STM32之SPI总线

一、SPI总线概述 1、SPI总线介绍 SPI是一种通信协议,它是摩托罗拉公司研发出来的一种通信协议,就有自己的特点(串行,并行,单工,半双工,全双工,同步异步)。它主要应用于音…

Kotlin Flow 操作符

前言 Kotlin 拥有函数式编程的能力,使用Kotlin开发,可以简化开发代码,层次清晰,利于阅读。 然而Kotlin拥有操作符很多,其中就包括了flow。Kotlin Flow 如此受欢迎大部分归功于其丰富、简洁的操作符,巧妙使…

【头歌系统数据库实验】实验8 SQL的复杂多表查询-2

目录 第1关:基于派生表查询每个队员解答中超过他平均memory的user_id及题目编号problem_id 第2关:用ANY/ALL实现查询2019级选手(user_id前4位为2019)满足比2020级其中一个选手注册时间早即可的选手 第3关:用聚集查询…

【MySQL】MySQL 在 Centos 7环境安装教程

文章目录 1.卸载不要的环境2.检查系统安装包3.获取mysql官方yum源4.安装mysql yum 源,对比前后yum源5.安装mysql服务6.查看配置文件和数据存储位置7.启动服务和查看启动服务8.登录9.配置my.cnf 1.卸载不要的环境 先检查是否有mariadb存在 ps ajx |grep mariadb如果…

【Linux】系统初识之冯诺依曼体系结构与操作系统

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.冯诺依曼体系结构 2.操作…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑电力-交通交互的配电网故障下电动汽车充电演化特性》

这个标题涉及到电力系统、交通系统和电动汽车充电的复杂主题。让我们逐步解读: 考虑电力-交通交互的配电网故障: 电力-交通交互: 指的是电力系统和交通系统之间相互影响、相互关联的关系。这可能涉及到电力需求对交通流量的影响,反…

爬虫解析-jsonpath (六)

jsonpath只能解析本地文件 jsonpath的使用: obj json.load(open(.json文件,r,encodingutf-8))place_name jsonpath.jsonpath(obj, json语法) 目录 1.安装jsonpath 2.Xpath和jsonpath的语法对比 练习:使用jsonpath解析JSON文件 3.使用jsonpath抓取…

C语言实现快速排序

完整代码&#xff1a; #include<stdio.h>//用第一个元素将待排序序列划分成左右两个部分&#xff0c;返回排序后low的位置&#xff0c;即枢轴的位置 int partition(int arr[],int low,int high){//让待排序序列中的第一个元素成为基准int pivotarr[low];//lowhigh代表一…

计算机科学与技术认识实习【报告】

一、实习目的 此次认识实习主要面对计算机科学与技术专业的同学&#xff0c;了解专业在未来的发展趋势&#xff0c;通过观看公司的介绍视频和技术发展情况招聘信息后的感想和学习体会等多种方式&#xff0c;使我们了解本专业相关领域的发展现状&#xff0c;让我们在校园内课堂上…

【动态规划】【广度优先】LeetCode2258:逃离火灾

作者推荐 本文涉及的基础知识点 二分查找算法合集 动态规划 二分查找 题目 给你一个下标从 0 开始大小为 m x n 的二维整数数组 grid &#xff0c;它表示一个网格图。每个格子为下面 3 个值之一&#xff1a; 0 表示草地。 1 表示着火的格子。 2 表示一座墙&#xff0c;你跟…

极智一周 | AI 算力国产化、通义开源、Gemini、鸿蒙、蔚来 And so on

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多技术分享 大家好&#xff0c;我是极智视界&#xff0c;带来本周的 [极智一周]&#xff0c;关键词&#xff1a;AI 算力国产化、通义开源、Gemini、鸿蒙、蔚来 And so on。 邀您加入我的知识星球「极智视界」&#xff0c;…

【Linux】make/Makefile --- 自动化构建项目的工具

目录 一、make/Makefile的简单使用 二、Makefile 的语法规则 三、实现的原理 3.1 make/Makefile识别文件新旧 3.2 .PHONY修饰的伪目标总是被执行 3.3 make/Makefile是具有依赖性的推导能力的 四、语法技巧 五、注意事项 Linux中自动化构建项目最简单的方式&#xff1a;…