码迷,mamicode.com
首页 > 编程语言 > 详细

TTS开发技术--Java

时间:2019-03-10 23:33:43      阅读:390      评论:0      收藏:0      [点我收藏+]

标签:tde   重点   ack   ati   component   读速度   system   Speak   comm   

   使用jacob库进行开发,链接:

链接:https://pan.baidu.com/s/15yh1fbDYdoLi1spghmCN3Q 

提取码:ul2d 

    导入Jacob库,需要注意几点:

    1、推荐使用32位java的jdk(好像使用64位jdk是失败的,记不太清了。)

    2、将jacob-1.17-M2-x86.dll文件复制至jdk --> bin文件中以及C盘Windows --> System32文件中。

 在使用微软的语音引擎时,会出现如下错误,网上大部分都是没有给出解决方法,那么就需要分析问题的原因所在,最后得知由于大部分微软ghost系统属于阉割版,语音引擎这个模块被删除,知道问题所在那么就好解决了,修复微软引擎就可以了。

技术图片

    解决办法:下载链接中的文件,依次运行安装就可以了。

链接:https://pan.baidu.com/s/13jeAp8PAmm8WDyqHw1NCAQ 

提取码:ip64 

    测试代码:

    ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");    Dispatch sapo = sap.getObject();    try {?      // 音量 0-100      sap.setProperty("Volume", new Variant(100));      // 语音朗读速度 -10 到 +10      sap.setProperty("Rate", new Variant(-2));?      Variant defalutVoice = sap.getProperty("Voice");?      Dispatch dispdefaultVoice = defalutVoice.toDispatch();      Variant allVoices = Dispatch.call(sapo, "GetVoices");      Dispatch dispVoices = allVoices.toDispatch();?      Dispatch setvoice = Dispatch.call(dispVoices, "Item",          new Variant(1)).toDispatch();      ActiveXComponent voiceActivex = new ActiveXComponent(          dispdefaultVoice);      ActiveXComponent setvoiceActivex = new ActiveXComponent(setvoice);?      Variant item = Dispatch.call(setvoiceActivex, "GetDescription");      // 执行朗读      Dispatch.call(sapo, "Speak", new Variant("波比贼帅的帅"));?    } catch (Exception e) {      e.printStackTrace();    } finally {      sapo.safeRelease();      sap.safeRelease();    }  }

     ?重点的问题是微软引擎的合成语音听起来比较生硬,怎么改变微软语音库使用其他真人语音库?这是一个问题!

    ?

TTS开发技术--Java

标签:tde   重点   ack   ati   component   读速度   system   Speak   comm   

原文地址:https://www.cnblogs.com/ZNwithLC/p/10507998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!