使用科大讯飞语音SDK实现文字在线合成语音

最近需要使用到语音播报的功能,在百度七武器百度语音和科大讯飞的语音当中考虑到准确性和专业性,选择了科大讯飞。科大讯飞所提供的android开发sdk有两种一种是集成了自身产品语音+的sdk,功能比较强大但是会初始化语音服务模块;另一种是纯开发sdk不集成产品只需要导入相应jar包就可以使用。考虑到只用到了语音合成的技术所以选择了第二种sdk。

具体代码如下所示:

private SpeechSynthesizer mTts; private int isSpeaking = 0; mTts= SpeechSynthesizer.createSynthesizer(this, null); /*
   * 开始合成
   *
   * @param view
   */
  public void start() {
    mTts.setParameter(SpeechConstant.VOICE_NAME, "xiaoyan");
    mTts.setParameter(SpeechConstant.SPEED, "50");//设置语速
    mTts.setParameter(SpeechConstant.VOLUME, "80");//设置音量,范围 0~100
    mTts.setParameter(SpeechConstant.ENGINE_TYPE, SpeechConstant.TYPE_CLOUD); //设置云端
    mTts.startSpeaking(search_word_content.getText().toString().trim(), mSynListener);
  }
//合成监听器
  private SynthesizerListener mSynListener = new SynthesizerListener(){
    //缓冲进度回调
    //percent为缓冲进度0~100,beginPos为缓冲音频在文本中开始位置,endPos表示缓冲音频在
    //文本中结束位置,info为附加信息。
    @Override
    public void onBufferProgress(int arg0, int arg1, int arg2, String arg3) {
      // TODO Auto-generated method stub
    }
    //会话结束回调接口,没有错误时,error为null
    @Override
    public void onCompleted(SpeechError arg0) {
      // TODO Auto-generated method stub
    }
    //会话事件回调接口
    @Override
    public void onEvent(int arg0, int arg1, int arg2, Bundle arg3) {
      // TODO Auto-generated method stub
    }
    //开始播放
    @Override
    public void onSpeakBegin() {
      // TODO Auto-generated method stub
    }
    //暂停播放
    @Override
    public void onSpeakPaused() {
      // TODO Auto-generated method stub
    }
    //播放进度回调
    //percent为播放进度0~100,beginPos为播放音频在文本中开始位置,endPos表示播放音频在文
    //本中结束位置.
    @Override
    public void onSpeakProgress(int arg0, int arg1, int arg2) {
      // TODO Auto-generated method stub
    }
    //恢复播放回调接口
    @Override
    public void onSpeakResumed() {
      // TODO Auto-generated method stub
    }
  };
if (isSpeaking == 0) {
        start();
        gif_no.setVisibility(View.INVISIBLE);
        gif.setVisibility(View.VISIBLE);
        isSpeaking = 1;
      } else if (isSpeaking == 1) {
        // 暂停播放
        mTts.pauseSpeaking();
        gif_no.setVisibility(View.VISIBLE);
        gif.setVisibility(View.INVISIBLE);
        isSpeaking = 2;
      } else if (isSpeaking == 2) {
        // 继续播放
        //System.out.println("..........");
        mTts.resumeSpeaking();
        isSpeaking = 1;
        gif_no.setVisibility(View.INVISIBLE);
        gif.setVisibility(View.VISIBLE);
      }
// 取消合成
    mTts.stopSpeaking();
    isSpeaking = 0; 

总结, 开始初始化,start方法里面设置参数,再根据需要调用停止和继续方法,假如换了文本调用取消合成方法,重新start方法

以上内容是小编给大家分享的使用科大讯飞语音SDK实现文字在线合成语音的全部叙述,希望大家喜欢。

(0)

相关推荐

  • Python如何实现文本转语音

    准备 我测试使用的Python版本为2.7.10,如果你的版本是Python3.5的话,这里就不太适合了. 使用Speech API 原理 我们的想法是借助微软的语音接口,所以我们肯定是要进行调用 相关的接口.所以我们需要安装pywin32来帮助我们完成这一个底层的交互. 示例代码 import win32com.client speaker = win32com.client.Dispatch("SAPI.SpVoice") speaker.Speak("Hello, it

  • 用Python编程实现语音控制电脑

    电脑面前的你,是否也希望能让电脑听命于你?   当你累的时候,只需说一声"我累了",电脑就会放着优雅的轻音乐来让你放松. 或许你希望你在百忙之中,能让电脑郎读最新的NBA比分赛况-.一切都是那么惬意. 在此告诉你,不要灰心,我们真的可以做一个.做一个语音识别? 我相信很多人到这里会有两个心态,一是好奇,二是避之千里. 其实不然,你可以不用懂太多的编程技能,你甚至也可以不用懂自然语言处理技术,这篇文章虽然实现了语音操控但是绝没有你们想象的那么复杂. 如果仅仅把语音识别作为一个实现了的接口

  • python 中文乱码问题深入分析

    在本文中,以'哈'来解释作示例解释所有的问题,"哈"的各种编码如下: 1. UNICODE (UTF8-16),C854: 2. UTF-8,E59388: 3. GBK,B9FE. 一.python中的str和unicode 一直以来,python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢? 在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为 u'\u54c8

  • python中的字典详细介绍

    一.什么是字典? 字典是Python语言中唯一的映射类型. 映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表. 字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型. 字典类型与序列类型的区别: 1.存取和访问数据的方式不同. 2.序列类型只用数字类型的键(从序列的开始按数值顺序索引): 3.映射类型可以用其他对象类型作键(如:数字.字符串.元祖,一般用字符串作键),和序列类型的键不同,映射类型的

  • python在命令行下使用google翻译(带语音)

    说明 1. 使用google翻译服务获得翻译和语音;2. 使用mplayer播放获得的声音文件,因此,如果要播放语音,请确保PATH中能够找到mplayer程序,如果没有mplayer,请将use_tts设置为False运行.即:main(use_tts=False)3. 退出程序,输入"x",回车. 复制代码 代码如下: #! /usr/bin/env python#coding=utf-8 import requests def translate(words):    impor

  • python实现将文本转换成语音的方法

    本文实例讲述了python将文本转换成语音的方法.分享给大家供大家参考.具体实现方法如下: # Text To Speech using SAPI (Windows) and Python module pyTTS by Peter Parente # download installer file pyTTS-3.0.win32-py2.4.exe # from: http://sourceforge.net/projects/uncassist # also needs: http://ww

  • Python 字符串操作方法大全

    1.去空格及特殊符号 复制代码 代码如下: s.strip().lstrip().rstrip(',') 2.复制字符串 复制代码 代码如下: #strcpy(sStr1,sStr2)sStr1 = 'strcpy'sStr2 = sStr1sStr1 = 'strcpy2'print sStr2 3.连接字符串 复制代码 代码如下: #strcat(sStr1,sStr2)sStr1 = 'strcat'sStr2 = 'append'sStr1 += sStr2print sStr1 4.查

  • Python入门教程 超详细1小时学会Python

    为什么使用Python    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用ping ip 的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Reply from ... " 而不通的时候文本是"time out ... " ,所以,在结果中进行

  • 使用科大讯飞语音SDK实现文字在线合成语音

    最近需要使用到语音播报的功能,在百度七武器百度语音和科大讯飞的语音当中考虑到准确性和专业性,选择了科大讯飞.科大讯飞所提供的android开发sdk有两种一种是集成了自身产品语音+的sdk,功能比较强大但是会初始化语音服务模块:另一种是纯开发sdk不集成产品只需要导入相应jar包就可以使用.考虑到只用到了语音合成的技术所以选择了第二种sdk. 具体代码如下所示: private SpeechSynthesizer mTts; private int isSpeaking = 0; mTts= S

  • Python将文字转成语音并读出来的实例详解

    前言 本篇文章主要介绍,如何利用Python来实现将文字转成语音.将文字转成语音主要有两种不同的实现方法:先将文字转成语音,然后再通过读取语音实现发音.直接调用系统内置的语音引擎实现发音,后一种方法的实现主要利用第三方库. 环境 Python版本:Anaconda 4.4.10 操作系统:win10 注意:在使用第三方库的时候,不同的操作系统和Python版本代码可能有所差别. 调用api 可以调用第三方的语音合成api生成音频文件,然后再播放音频文件即可,这里我使用的是百度语音合成api. 1

  • Android基于讯飞语音SDK实现语音识别

    一.准备工作 1.你需要android手机应用开发基础 2.科大讯飞语音识别SDK android版 3.科大讯飞语音识别开发API文档 4.android手机 关于科大讯飞SDK及API文档,请到科大语音官网下载:http://www.xfyun.cn/ 当然SDK和API有多个版本可选,按照你的需要下载,其次,下载需要填写资料申请注册,申请通过或可获得Appid 如下图,申请一个APPID,就可以了. 二.语音识别流程 1.创建识别控件 函数原型 Public RecognizerDialo

  • 易语言调用百度语音平台实现文字转换语音功能的代码

    调用百度语音平台实现文字转换语音功能 此功能需要加载精易模块5.6 .版本 2 .支持库 wmp9 .程序集 窗口程序集1 .子程序 _试听按钮_被单击 播放器1.地址 = "http://tts.baidu.com/text2audio?lan=zh&pid=101&ie=UTF-8&text=" + 编码_URL编码 (内容编辑框.内容, , 真) + "&spd=5&per=4" ' 参数 可需 描述 ' tex 必填

  • vue项目或网页上实现文字转换成语音播放功能

    一.在网页上实现文字转换成语音 方式一: 摘要:语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 1. 使用百度的接口: http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字 2.参数说明: lan=zh:语言是中文,如果改为lan=en,则语言是英文. ie=UTF-8:文字格式. spd=2:语速,可以是1-9的数字,数

  • iOS自带文本转语音技术(TTS)的实现即语音播报的实践

    文本转语音技术, 也叫TTS, 是Text To Speech的缩写. iOS如果想做有声书等功能的时候, 会用到这门技术. 一,使用iOS自带TTS需要注意的几点: 1.iOS7之后才有该功能 2.需要 AVFoundation 库 3.AVSpeechSynthesizer: 语音合成器, 可以假想成一个可以说话的人, 是最主要的接口 4.AVSpeechSynthesisVoice: 可以假想成人的声音 5.AVSpeechUtterance: 可以假想成要说的一段话 二,代码示例, 播放

  • Android实现录音方法(仿微信语音、麦克风录音、发送语音、解决5.0以上BUG)

    先给大家展示下效果图,如果大家感觉不错,请参考使用方法, 效果图如下所示: 使用方法: 录音工具类:AudioRecoderUtils.java,代码如下: public class AudioRecoderUtils { //文件路径 private String filePath; //文件夹路径 private String FolderPath; private MediaRecorder mMediaRecorder; private final String TAG = "fan&q

  • Python 实现简单智能聊天机器人

    简要说明: 最近两天需要做一个python的小程序, 就是实现人与智能机器人(智能对话接口)的对话功能,目前刚刚测试了一下可以实现, 就是能够实现个人与机器的智能对话(语音交流). 总体的思路: 大家可以设想一下, 如果要实现人与机器的智能对话, 肯定要有以下几个步骤: 计算机接收用户的语音输入 将用户输入的语音输入转化为文本信息 调用智能对话接口, 发送请求文本信息, 获取接口返回的智能回答文本信息 将回答文本信息转化为语音格式输出 这里可以安装很多现成的库函数, 辅助我们系统的实现. 需要准

  • 基于Python实现语音识别和语音转文字

    目录 前言 直接使用 获取权限 1.环境准备 2.获取权限 代码实现 1.获取access_token 2.获取转换后音频 3.配置接口参数 4.完整demo 5.执行 前言 嗨嗨,大家好呀 ~ 今天给你们分享一个有趣的东西 ~ 是一个语音识别跟语音转文字的小工具 感兴趣的朋友可以继续往下滑咯 直接使用 在1.2官网注册后拿到APISecret和APIKey, 直接复制文章2.4demo代码, 保存为online_tts.py, 在命令行执行 python online_tts.py -clie

  • VUE 文字转语音播放的实现示例

    目录 一.技术:Web Speech API 二.语音合成及发音接口 三.vue项目案例 一.技术:Web Speech API Web Speech API​​使您能够将语音数据合并到 Web 应用程序中. Web Speech API 有两个部分:SpeechSynthesis 语音合成 (文本到语音 TTS)和 SpeechRecognition  语音识别(异步语音识别). 二.语音合成及发音接口 ​ ​SpeechSynthesis​​:语音合成服务的控制器接口,可用于获取设备上可用的

随机推荐