700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 科大讯飞语音合成

科大讯飞语音合成

时间:2021-08-16 07:30:30

相关推荐

科大讯飞语音合成

一、写在前面的话

讯飞为我们提供了一个很好地平台,语音的相关技术是人工智能的一项重要组成部分。了解与掌握语音的合成技术更是掌握了一项技能,当然本文就是从浅层入手,了解使用讯飞语音平台提供的API的使用;能够通过一些简单的配置来使用该项技术。不管怎样多学点儿总归是好的。

如果你还不会在讯飞语音平台创建应用,请先了解讯飞语音的详细配置使用

二、功能描述

讯飞语音最简单的也是最基础的一个功能——语音合成;语音合成就是将文本转化为语音的技术。

比如现在有个文本:

请保持喧哗,不要停!

实现:就是把这句话通过代码转化实现让手机说出来。

三、配置文件

<1.1>有几点需要注意的地方,在讯飞语音的详细配置使用中也说过了,就是配置文件要求,SDK与 申请的key值Appid一一对应。不然会有初始化错误。

<1.2>实例工程图如下:

<2.1>.新建AndroidApplication Project工程,命名为TestSpeakerDemo

将创建应用时下载SDK中的配置文件复制到当前工程下

配置文件:

assets和libs下的包

以下新建文件命名自定义。

四、实例代码

创建应用所申请的key值Appid在初始化SDK时用到

<1.1>MainActivity.Java代码如下

注意Appid要与SDK对应,避免初始化错误

[java]view plaincopypackagepers.rfeng.demo; importcom.iflytek.cloud.SpeechConstant; importcom.iflytek.cloud.SpeechSynthesizer; importcom.iflytek.cloud.SpeechUtility; importandroid.app.Activity; importandroid.os.Bundle; publicclassMainActivityextendsActivity{ @Override protectedvoidonCreate(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub SpeechUtility.createUtility(MainActivity.this,"appid="+getString(R.string.app_id)); //初始化SDK SpeechSynthesizerspeaker=SpeechSynthesizer.createSynthesizer(MainActivity.this,null);//创建语音合成对象 speaker.setParameter(SpeechConstant.VOICE_NAME,"xiaoyan"); //初始化语音合成相关设置 speaker.setParameter(SpeechConstant.SPEED,"50"); speaker.setParameter(SpeechConstant.PITCH,"50"); speaker.setParameter(SpeechConstant.VOLUME,"50"); speaker.setParameter(SpeechConstant.STREAM_TYPE,"3"); speaker.setParameter(SpeechConstant.KEY_REQUEST_FOCUS,"true"); speaker.startSpeaking("请保持喧哗,不要停!",null); super.onCreate(savedInstanceState); } }

<1.2>AndroidManifest.xml代码如下

注意有关语音权限的配置

[java]view plaincopy<?xmlversion="1.0"encoding="utf-8"?> <manifestxmlns:android="/apk/res/android" package="pers.rfeng.demo" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="19"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name="pers.rfeng.demo.MainActivity" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> <!--语音所需必要的权限--> <uses-permissionandroid:name="android.permission.RECORD_AUDIO"/> <uses-permissionandroid:name="android.permission.INTERNET"/> <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permissionandroid:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/> <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permissionandroid:name="android.permission.READ_CONTACTS"/> <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permissionandroid:name="android.permission.WRITE_SETTINGS"/> <uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/> </manifest>

<1.3>运行工程,文本就以语音的方式说出来了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。