java 离线版语音转文字
使用vosk开源项目,基于java实现离线语音转文字
文章目录
- 前言
- 一、VOSK是什么?
- 二、使用步骤
- 1.环境准备
- 2.maven依赖
- 如果导入失败可以下载jar,build path一下;
- 3.语言模型
- 4.运行代码
- 总结
前言
当前主流的语音识别大厂有科大讯飞、百度、谷歌等,但在他们官网中发现,支持java离线版的并不多,科大讯飞离线包仅基于安卓,而百度官方并没有离线版的,所以在资源查找中筛选出VOSK、CMU Sphinx,并且两者都是开源的,但CMU Sphinx官网中并没有中文模型,所以在选用上选择了VOSK.
一、VOSK是什么?
Vosk是言语识别工具包。Vosk最好的事情是:
1.支持二十+种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷兰人,加泰罗尼亚语,阿拉伯, 希腊语, 波斯语, 菲律宾语,乌克兰语, 哈萨克语, 瑞典语, 日语, 世界语
2.移动设备上脱机工作-Raspberry Pi,Android,iOS
3.使用简单的 pip3 install vosk 安装
4.每种语言的手提式模型只有是50Mb, 但还有更大的服务器模型可用
提供流媒体API,以提供最佳用户体验(与流行的语音识别python包不同)
5.还有用于不同编程语言的包装器-java / csharp / javascript等
6.可以快速重新配置词汇以实现最佳准确性
7.支持说话人识别
二、使用步骤
1.环境准备
因为该资源底层是c开发的,所以需要下载vcredist;
2.maven依赖
代码如下(示例):
<dependency><groupId>net.java.dev.jna</groupId><artifactId>jna</artifactId><version>5.7.0</version></dependency><dependency><groupId>com.alphacephei</groupId><artifactId>vosk</artifactId><version>0.3.32</version></dependency>
如果导入失败可以下载jar,build path一下;
3.语言模型
从官网地址https://alphacephei.com/vosk/models中下载想用的语言模型,如果是中文的话推荐:vosk-model-small-cn-0.3
4.运行代码
将官方给出的demo添加到项目中,其中需要更改的是给的DecoderDemo,这个是调用方法,
public static void main(String[] argv) throws IOException, UnsupportedAudioFileException {LibVosk.setLogLevel(LogLevel.DEBUG);try (Model model = new Model("model");//该段是模型地址InputStream ais = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream("cn.wav")));//该段是要转的语言文件,仅支持wavRecognizer recognizer = new Recognizer(model, 12000)) {//该段中12000是语言频率,需要大于8000,可以自行调整int nbytes;byte[] b = new byte[4096];while ((nbytes = ais.read(b)) >= 0) {if (recognizer.acceptWaveForm(b, nbytes)) {System.out.println(recognizer.getResult());} else {System.out.println(recognizer.getPartialResult());}}System.out.println(recognizer.getFinalResult());}}
总结
这个开源最大的不足是有点慢,如果你们有合适的开源资源记得推荐一下。
java 离线版语音转文字相关推荐
- 纯java离线版语音转文字
前言 当前主流的语音识别大厂有科大讯飞.百度.谷歌等,但在他们官网中发现,支持java离线版的并不多,科大讯飞离线包仅基于安卓,而百度官方并没有离线版的,所以在资源查找中筛选出VOSK.CMU Sph ...
- 【项目管理】Java离线版语音识别-语音转文字
Java离线版语音识别-语音转文字 1.项目前言 2.Vosk介绍 3.项目开发 3.1 项目准备 3.2 model 准备 3.3 测试音频准备 3.4 代码实现 4.效果演示 4.1 界面效果 4 ...
- react-native 使用百度语音识别极速版语音转文字
项目有需求,需要集成语音转文字,于是开始研究,一步一个坑 1.集成录音 react-native-audio 2.集成文件操作 react-native-fs 3.集成音频格式转换 react-nat ...
- 一个语音转文字的工具 java 编写
一.这是啥? 一个 PC 版语音转文字的工具 二.能做什么? 把对着话筒说的话转换成文字,并且粘贴在当前窗口可以输入文字并且光标聚焦的地方 看看效果 三.怎么用? 首先参考上一篇博客到讯飞开放平台创建 ...
- 尝试搭建本地语音转文字系统[1]
安装百度飞桨PaddleSpeech 前言 安装平台 平台简单介绍 开始安装 安装Paddlepaddle(GPU版本) 安装PaddleSpeech 测试样例 ASR (Automatic Spee ...
- 【Buzz】离线语音转文字、实时语音识别
Buzz是基于 OpenAI Whisper的离线语音转文字(字幕),实时语音识别工具. 功能 实时语音转文字.实时翻译(需麦克风权限) 导入音频.视频文件(mp3.wav.m4a.ogg.mp4.w ...
- java文字转语音支持ubuntu系统_9个(实时)语音转文字APP分享(推荐收藏)
" 做会议记录.看无字幕网课再也不用担心,解放双手,提高效率." 随着语音转文字技术的发展,我们记录会议.上课内容等有了更好的方式. 实时语音转文字实现边听边看,并且还可回看转译记 ...
- 讯飞语音识别之语音转文字------java
最近项目要用到语音识别的功能,网上找别人写的都不行,二话不说直接去讯飞官网注册下载了一个sdk,但是个人觉得sdk中并不是很明确的能运行实现功能,于是自己参考下载的sdk中的代码做了一个改动和封装.添 ...
- java利用科大讯飞SDK实现语音转文字的功能
一,下载SDK,获取.pcm格式的语音文件 利用科大讯飞的SDK实现语音转文字的功能,首先可以登录科大讯飞的官网查看"语音听写Java SDK文档"语音听写 Java SDK 文档 ...
- 语音转文字转换器、绿色免安装版【推荐!推荐!推荐!】
零.下载地址:http://download.csdn.net/download/qin066/10003507 一.c# 对音频文件的处理 //用新线程去开启 pa=[wav文件的指定路径[全路径] ...
最新文章
- PHP中的静态属性、静态方法、常量属性
- http request header 中的host行的作用
- 互联网产品设计的“马化腾法则”
- 艾特某人代码实现_Vue@某人,At某人,仿新浪微博@某人,@user,艾特,艾特某人...
- 作者:曾嘉(1980-),男,博士,华为诺亚方舟实验室高级研究员和项目经理。...
- java布尔方法_Java布尔方法返回
- Kafka常见面试问题
- java类转换异常,java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
- qi无线充电协议_无线充电Qi专利池正式上线!
- 气压、温度、湿度传感器BME280的使用方法
- 淘宝直通车怎样设置定向推广出价问题总结
- 巧用Excel按照某一列进行整体排序
- fat32源码c语言,FAT32文件系统基本原理与数据恢复编程
- React Native常用三方组件库大全
- anywhere无法获取服务器响应,使用Chat Anywhere可能出现的问题与解决方法
- .fai 文件格式解读
- 展望:2021年程序员业界趋势与生存指南
- Topic 14. 临床预测模型之校准曲线 (Calibration curve)
- 中国各个省份的id代号是多少?各省简称是什么?
- jz2440---使用uboot烧录程序