java自制语音识别,JAVA作的语音识别
JAVA做的语音识别
我想用java实现一个 语音识别的软件。比如我说一句‘hello’,软件就会采集我说话的特征值,并记录下来,并输出相应值。当别人说‘hello’的时候,采集其特征值,并与我的比较,相同就通过,不同就继续输入。声音的采集主要通过麦克风实现。
分享到:
------解决方案--------------------
声音识别是一个专门的技术,其实就是对声音波形的判断。如果你想用Java实现的话,那你必须先对Java的声音输入输出的操作有基本的了解。下面是一个简单的录音并输出的程序。录音的时候,每次读取数据是存放在buffer这个字节数组之中的,再把它输出。而你,是要识别的话,就是从这个数组中提取信息。那么这个数组的结构是什么样的呢。对这个程序而言,采用16位双声道录音,那么这个数组,每2位拼起来,是一个采样值,这个值即是声音的响度。将2个字节视为一个单位的话,由于是双声道,就是说,两个单位一组,一个是左声道,一个是右声道,交替录入的。
import java.io.*;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.TargetDataLine;
public class RecordAndPlay {
volatile int divider;
public RecordAndPlay(){
Play();
}
public static void main(String[] args) {
new RecordAndPlay();
}
//播放音频文件
public void Play() {
try {
AudioFormat audioFormat =
// new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, 44100F,
// 8, 1, 1, 44100F, false);
new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,44100F, 16, 2, 4,
44100F, true);
DataLine.Info info = new DataLine.Info(TargetDataLine.class,
audioFormat);
TargetDataLine targetDataLine = (TargetDataLine) AudioSystem.getLine(info);
java自制语音识别,JAVA作的语音识别相关推荐
- 语音识别java版demo
一.前言 国内做语音识别的公司有很多,大家所熟知的几家公司主要有科大讯飞.阿里云.百度.腾讯等,由于各家的API或者SDK对接方式都差不多,本文采用百度的API进行演示. 二.对接流程 第一步:成为开 ...
- 百度语音识别JAVA代码_【百度语音识别】JavaAPI方式语音识别示例MP3转PCM
[百度语音识别]JavaAPI方式语音识别示例MP3转PCM Java-API合成语音示例:http://ai.baidu.com/forum/topic/show/496727 REST-API文档 ...
- 长语音识别_长文本语音识别_语音 识别 - 云+社区 - 腾讯云
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 录音文件识别请求,数据结构,android sdk,ios sdk,自学习模型,使 ...
- Android导航语音识别——读后听写语音识别(嵌入式)
嵌入式项目之Android语音识别--读后听写语音识别(语音识别功能主函数调用) 文章目录 前言 一.代码示例 二.代码分析 1.创建 SpeechSynthesizer 对象 2.设置合成参数 3. ...
- 深入理解Java类加载器:Java类加载原理解析
http://blog.csdn.net/zhoudaxia/article/details/35824249 1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpi ...
- java it_关于 Java Iterator(迭代器)学习笔记
相信 "迭代" 对于Java程序员来说并不陌生(当然,其他语言的程序员也是如此),在处理数据时,不可避免地会存在对数据的大量遍历操作.对于我自己而言,学习使用Java语言两年时间, ...
- 轻松的java,轻松进行Java Portlets
轻松进行Java Portlets Portlet是生成片段(遵守特定规范的标记语言(如HTML.XML)的片段)的Web组件.片段再合成一个完整的文档.本文介绍了关于Java Portlet的Jav ...
- 我的第一个Java程序和Java简介
public calss HelloWorld{public static void main(String[] args){System.out.println("Hello World! ...
- java lang arithmetic,java.lang.ArithmeticException
ext,分页时firefox通常 ie 报java.lang.ArithmeticException: / by zero ext,分页时firefox正常ie报java.lang.Arithmeti ...
- java毕业设计——基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码)——医学图像处理系统
基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+图像处理技术的医学图像处理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...
最新文章
- Python面向对象之接口类(抽象类)
- MySQL常用存储引擎之CSV
- 【渝粤题库】陕西师范大学163204 旅游规划学
- linux空间满了有什么问题,Linux 空间满问题分析 [ Keep Coding ]
- Moq -.NET的Mocking库
- TinyML与Tensor Flow Lite的关系
- linux执行hadoop程序,gcc编译和运行hadoop c api程序
- 【Deep learning】NLP
- js 表格动态增加行通用函数
- pe修改rpc服务器不可用,电脑rpc服务器不可用,教你电脑rpc服务器不可用怎么解决...
- WPF中监听剪贴板存在的Bug:OpenClipboard HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN))错误
- plupload文件上传插件
- 看中国魅力女强人 访格力电器总裁董明珠
- python把int转为str_python中int与str互转方法
- 一个二线城市程序员的昨天、今天和明天【坐标:河北石家庄】
- linux 天文软件,Stellarium 0.18.0虚拟天文馆软件发布,支持HiPS
- SpringBoot启动报错:Parameter 0 of method hmset in com.qcby.rbac.util.RedisUtils required a bean of type
- 虚拟机扩展C盘容量方法
- 第1篇:Python 环境搭建
- 计算机打印时颜色怎么加深,喷墨打印机部分颜色加深怎么办