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作的语音识别相关推荐

  1. 语音识别java版demo

    一.前言 国内做语音识别的公司有很多,大家所熟知的几家公司主要有科大讯飞.阿里云.百度.腾讯等,由于各家的API或者SDK对接方式都差不多,本文采用百度的API进行演示. 二.对接流程 第一步:成为开 ...

  2. 百度语音识别JAVA代码_【百度语音识别】JavaAPI方式语音识别示例MP3转PCM

    [百度语音识别]JavaAPI方式语音识别示例MP3转PCM Java-API合成语音示例:http://ai.baidu.com/forum/topic/show/496727 REST-API文档 ...

  3. 长语音识别_长文本语音识别_语音 识别 - 云+社区 - 腾讯云

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 录音文件识别请求,数据结构,android sdk,ios sdk,自学习模型,使 ...

  4. Android导航语音识别——读后听写语音识别(嵌入式)

    嵌入式项目之Android语音识别--读后听写语音识别(语音识别功能主函数调用) 文章目录 前言 一.代码示例 二.代码分析 1.创建 SpeechSynthesizer 对象 2.设置合成参数 3. ...

  5. 深入理解Java类加载器:Java类加载原理解析

    http://blog.csdn.net/zhoudaxia/article/details/35824249 1 基本信息 每个开发人员对java.lang.ClassNotFoundExcetpi ...

  6. java it_关于 Java Iterator(迭代器)学习笔记

    相信 "迭代" 对于Java程序员来说并不陌生(当然,其他语言的程序员也是如此),在处理数据时,不可避免地会存在对数据的大量遍历操作.对于我自己而言,学习使用Java语言两年时间, ...

  7. 轻松的java,轻松进行Java Portlets

    轻松进行Java Portlets Portlet是生成片段(遵守特定规范的标记语言(如HTML.XML)的片段)的Web组件.片段再合成一个完整的文档.本文介绍了关于Java Portlet的Jav ...

  8. 我的第一个Java程序和Java简介

    public calss HelloWorld{public static void main(String[] args){System.out.println("Hello World! ...

  9. java lang arithmetic,java.lang.ArithmeticException

    ext,分页时firefox通常 ie 报java.lang.ArithmeticException: / by zero ext,分页时firefox正常ie报java.lang.Arithmeti ...

  10. java毕业设计——基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码)——医学图像处理系统

    基于java+图像处理技术的医学图像处理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+图像处理技术的医学图像处理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

最新文章

  1. Python面向对象之接口类(抽象类)
  2. MySQL常用存储引擎之CSV
  3. 【渝粤题库】陕西师范大学163204 旅游规划学
  4. linux空间满了有什么问题,Linux 空间满问题分析 [ Keep Coding ]
  5. Moq -.NET的Mocking库
  6. TinyML与Tensor Flow Lite的关系
  7. linux执行hadoop程序,gcc编译和运行hadoop c api程序
  8. 【Deep learning】NLP
  9. js 表格动态增加行通用函数
  10. pe修改rpc服务器不可用,电脑rpc服务器不可用,教你电脑rpc服务器不可用怎么解决...
  11. WPF中监听剪贴板存在的Bug:OpenClipboard HRESULT:0x800401D0 (CLIPBRD_E_CANT_OPEN))错误
  12. plupload文件上传插件
  13. 看中国魅力女强人 访格力电器总裁董明珠
  14. python把int转为str_python中int与str互转方法
  15. 一个二线城市程序员的昨天、今天和明天【坐标:河北石家庄】
  16. linux 天文软件,Stellarium 0.18.0虚拟天文馆软件发布,支持HiPS
  17. SpringBoot启动报错:Parameter 0 of method hmset in com.qcby.rbac.util.RedisUtils required a bean of type
  18. 虚拟机扩展C盘容量方法
  19. 第1篇:Python 环境搭建
  20. 计算机打印时颜色怎么加深,喷墨打印机部分颜色加深怎么办

热门文章

  1. NLPIR在线系统介绍
  2. 金融:收益利率计算器
  3. 《App后台开发运维和架构实践》前言
  4. 现行一级学科和二级学科目录(学位授予和人才培养学科目录)
  5. 史上最全的 Java 高质量博客与网站推荐(国内篇)
  6. vue移动端上拉加载,下拉刷新(mescroll)
  7. ns3学习之旅 ---NS3 开篇简介
  8. opendir php 中文,php的opendir是什么意思?
  9. Debug查看汉字机内码
  10. 数学建模——数据包络分析步骤及程序详解