1. 登录百度AI开发平台

  2. 申请自己的ak

  3. 开放平台上有各种语言支持的开发文档,自学能力差得人,不用担心,我为你们封装了语音合成与识别的utils,复制粘贴即可使用

    package com.lz.TestSample;import com.baidu.aip.speech.AipSpeech;
    import com.baidu.aip.speech.TtsResponse;
    import com.baidu.aip.util.Util;
    import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader;
    import org.json.JSONObject;import javax.sound.sampled.AudioFileFormat;
    import javax.sound.sampled.AudioFormat;
    import javax.sound.sampled.AudioInputStream;
    import javax.sound.sampled.AudioSystem;
    import java.io.File;
    import java.io.IOException;/*** 百度语音工具类*/
    public class SpeechUtils {public static final String APP_ID = "14456779";public static final String API_KEY = "swit9DZ57kxo4rFjz8sauyuR";public static final String SECRET_KEY = "CDlpqaGRLoXGHGsedE21ufI3EBU8DCct";/*** 语音合成* @param text 文字内容* @param Path 合成语音生成路径* @return*/public static void SpeechSynthesis(String text, String Path) {/*最长的长度*/int maxLength = 1024;if (text.getBytes().length >= maxLength) {return ;}// 初始化一个AipSpeechAipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);// 可选:设置代理服务器地址, http和socket二选一,或者均不设置
    //        client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
    //        client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理// 调用接口TtsResponse res = client.synthesis(text, "zh", 1, null);byte[] data = res.getData();//定义变量调用转换格式boolean a = true;if (data != null) {try {Util.writeBytesToFileSystem(data, "D:\\rap\\output.mp3");a=false;} catch (IOException e) {e.printStackTrace();}}if (!a) {convertMP3ToPcm(Path,"D:\\temp\\output.pcm");}}/*** 语音识别* @param Path 路径* @param Path 语音类型* @return*/public static String SpeechRecognition(String Path) throws IOException {// 初始化一个AipSpeechAipSpeech client = new AipSpeech(APP_ID, API_KEY, SECRET_KEY);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);// 调用接口byte[] data = Util.readFileByBytes(Path);     //readFileByBytes仅为获取二进制数据示例JSONObject asrRes2 = client.asr(data, "pcm", 16000, null);return asrRes2.toString(2);}/***  mp3转pcm* @param mp3path MP3文件存放路径* @param pcmpath pcm文件保存路径* @return*/public static boolean convertMP3ToPcm(String mp3path, String pcmpath){try {//获取文件的音频流,pcm的格式AudioInputStream audioInputStream = getPcmAudioInputStream(mp3path);//将音频转化为  pcm的格式保存下来AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, new File(pcmpath));return true;} catch (IOException e) {e.printStackTrace();return false;}}/*** 获得pcm文件的音频流* @param mp3filepath* @return*/private static AudioInputStream getPcmAudioInputStream(String mp3filepath) {File mp3 = new File(mp3filepath);AudioInputStream audioInputStream = null;AudioFormat targetFormat = null;try {AudioInputStream in = null;MpegAudioFileReader mp = new MpegAudioFileReader();in = mp.getAudioInputStream(mp3);AudioFormat baseFormat = in.getFormat();targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16,baseFormat.getChannels(), baseFormat.getChannels()*2, baseFormat.getSampleRate(), false);audioInputStream = AudioSystem.getAudioInputStream(targetFormat, in);} catch (Exception e) {e.printStackTrace();}return audioInputStream;}}

4 简单使用

    public static void main(String[] args) throws IOException {//第一个参数是你输入的文字,第二个参数是你保存到本地的路径SpeechSynthesis("你好,我是dog", "D:\\rap\\output.mp3");//这个参数是刚合成的本地路径String s = SpeechRecognition("D:\\temp\\output.pcm");System.out.println(s);}

百度语音识别 +百度文字转语音相关推荐

  1. html5d调用百度语音,调用百度API,文字转语音

    前言 文字转语音,运用在什么场景了?一般后台管理系统会用到,提示管理员有"新的订单"."新的任务"等等,管理员可以马上收到,并及时处理.就好比,在餐厅,经常会听 ...

  2. 百度语音识别+百度ERNIE-Gram+pyaudio麦克风录音(NLP自然语言处理)

    1.pyaudio安装及通过pyaudio实现录音 pip install pyaudio 在conda环境中安装没有报错 实现录音的代码如下: # -*- coding: utf-8 -*- fro ...

  3. python 实现语音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)...

    话不多说,直接上代码运行截图 1.语音合成 -------> 执行: 结果: 输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格 ...

  4. python离线录音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)...

    话不多说,直接上代码运行截图 1.语音合成 -------> 执行: 结果: 输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格 ...

  5. uniapp配置百度语音识别转文字(含demo)

    前言 在dcloud社区已经给出了语音识别插件配置的步骤,点击前往:语音识别插件配置, 但是还是不够详细,有可能会遇到问题,所以我结合实例配置实现一下. 概述 HBuilderX已支持讯飞语音识别和百 ...

  6. javascript调用百度API,文字转语音播放

    前言 文字转语音,运用在什么场景了?一般后台管理系统会用到,提示管理员有"新的订单"."新的任务"等等,管理员可以马上收到,并及时处理.就好比,在餐厅,经常会听 ...

  7. uni-app使用百度语音识别转文字

    1. 准备 注册登录百度AI开放平台(http://ai.baidu.com/) 找到语音技术 - 应用列表,创建应用,填写相应信息,语音包名选择不需要 创建完成后,可以看到AppID.API Key ...

  8. 基于J2EE的JSH框架和百度语音识别接口实现的语音记账APP

    1 项目介绍 1.1 项目背景 现在财务管理是每位社会人士所需,人们需要方便快捷地记账,这也产生了记账软件的需求.记账软件能方便大家记账,而且能显示以往的历史记录,能反馈用户近期的消费情况,例如收支的 ...

  9. [源码和文档分享]基于J2EE的JSH框架和百度语音识别接口实现的语音记账APP

    1 项目介绍 1.1 项目背景 现在财务管理是每位社会人士所需,人们需要方便快捷地记账,这也产生了记账软件的需求.记账软件能方便大家记账,而且能显示以往的历史记录,能反馈用户近期的消费情况,例如收支的 ...

  10. h5语音识别和文字转语音

    一.关于HTML5语音Web Speech API HTML5中和Web Speech相关的API实际上有两类,一类是"语音识别(Speech Recognition)",另外一个 ...

最新文章

  1. XML解析简介及Xerces-C++简单使用举例
  2. python培训就业班口碑排行榜-Python培训课程哪家更合适?老男孩教育python就业班...
  3. 生活中的一些感悟与记录
  4. final、finally、finalize的区别
  5. Python:给定一个不超过5位的正整数,判断有几位
  6. python or妙用
  7. 分享我对领域驱动设计(DDD)的学习成果
  8. 封装直传阿里云存储文件上传控件
  9. VMware中的三种网络模式-----NAT模式
  10. Python基础教程笔记——列表和元组
  11. (笔记)Linux内核学习(三)之进程调度
  12. Android进阶:Binder那么弱怎么面大厂?
  13. 印尼玩lol注册哪个服务器,LOL手游印尼服怎么注册 云顶之弈印尼服账号注册方法[多图]...
  14. matlab中ifelse能嵌套吗,MATLAB嵌套if-else语句
  15. JS打开新页面的两种方式:当前页面打开和新页面打开
  16. C语言二进制与十进制之间的转换
  17. flutter中Image.network()网络图片加载失败使用默认图片显示
  18. 学临床专业和计算机哪个好,大学里“炙手可热”的专业,未来10年也不会被淘汰,发展前景更好...
  19. 基于微信小程序的ARPainting项目简述
  20. 一、熟悉新闻推荐系统基本流程

热门文章

  1. JVM-构造方法的原理
  2. 请将磁盘插入“U盘(H)“的情况无法访问 磁盘结构损坏且无法读取
  3. 网络图片访问不到,403的解决办法(详解)
  4. 系统的基本组成;中文Windows操作系统;字处理软件Word;电子表格软
  5. 【论文解读|AAAI2021】HGSL - Heterogeneous Graph Structure Learning for Graph Neural Networks 图神经网络的异构图结构学习
  6. vue中导入excel文件
  7. docker安装harbor
  8. maya动画镜像_《Maya角色动画规律及设定Alpha MEDIA》随书光盘(MAYA Animation Ring)3[光盘镜像]...
  9. nginx rewrite不生效_Nginx的rewrite规则问题,设置了不生效
  10. java 波峰检测_轻量算法根据核密度估计检测波峰算法 ---基于有限状态自动机和递归实现...