const iflymsc = app.requireModule("iflyonlinemsc");
let iflymsc = requireModuleJs('iflyonlinemsc');
iflyTTS(text,params, exParams, callback)
在线语音合成(文字转语音)
入参text 格式:字符串,测试时不能传入空字符串
入参params 格式:字符串,包含:appid 、vid 、auf 、aue、svc 、type 、uid 、url 、time_out等
字段 | 值 | 描述 | 备注 |
---|---|---|---|
url | IP+端口 | 私有云后台服务接口地址,具体形式为:ip:port(https请求形式为 https://ip:port) | 必选 |
appid | 英文数字组合 | AI+管理平台创建应用时设置的应用ID | 必选 |
vid | 默认值:65040 | 表示选择的发音人id,根据合成服务授权选择:60020 xiaoyan 60030 xiaofeng 65040 xiaoxue | 必选(个性化模板音时注意,如果有pretts组件时不能传,没有pretts组件时传65900) |
auf | 默认值:4 | 4:表示16k16bit 3:表示8k16bit | 必选 |
aue | 默认值:raw | 支持如下格式:raw speex(8k音频使用speex)speex-wb(16k音频使用speex-wb | 必选 |
svc | 默认值:tts | 表示当前使用能力类型tts(语音合成) | 必选 |
time_out | 默认值:10 | 调用接口超时时间,单位:秒 超时时间实际的是设置的3倍 | 可选 |
uid | 预留 | 支持如下格式:32位字符串 | 可选 |
chpersize | 默认值:2250 | 文本每个字节所占的音频大小(一个中文占3个字节),主要用于中文文本估计音频总大小 | 可选 |
output | 表示是否保存音频,不传该字段时,不保存音频。传递output=pcm时,音频保存到应用沙盒中的Documents目录下,音频的格式是xxx.pcm | 可选 | |
extend_param | 扩展参数,默认可以不设置此参数 | 实例如下:extend_params={“params”:“token=D2572AD26,ability=ab_atsnlp,eos=2000”} | 可选 |
extend_params中参数说明:
字段 | 值 | 描述 | 备注 |
---|---|---|---|
token | 英文数字组合 | 授权码,由管理平台进行分配 | 如果使用鉴权,这个字段是必选的 |
ability | 默认值:ab_tts | 表示当前使用识别能力ab_tts | 如果使用鉴权,这个字段是必选的 |
入参exParams 格式:字符串,包含:spd 、vid、scene等
字段 | 值 | 描述 | 备注 |
---|---|---|---|
vid | 个性化模板音使用 | 60190 | 可选,个性化模板音时,如果有pretts组件时传60190 |
scene | 个性化模板音使用 | 4 | 可选,个性化模板音时,如果有pretts组件时传4 |
irf_path | 个性化模板音资源路径 | 文件存放路径 | 可选,个性化模板音,如果没有pretts组件时需要传 |
rdn | 数字读取方式 | 0-自动判断处理,不能确定的按照值发音;1-按数值发音;2-按数字发音;3-自动判断处理,不能确定的按数字发音 | 可选 |
tte | 文本编码类型 | 1 - GB-2312;2 - GBK;3 - BIG5;4 - Unicode;5 - GB18030;6 - UTF8; | 可选 |
ttp | 文本类型 | 0 - AUTO 缺省情况下按照普通文本阅读;1 - PLAINTEXT 普通文本;2 - CSSML TEXT ;3 - SSMLTEXT;4 - EMAILTEXT; | 可选 |
reg | 英文读取方式 | 0-自动判断处理,如果不确定将按照英文词语拼写处理;1-所有英文按字母发音;2-自动判断处理,如果不确定将按照字母朗读;无效值; | 可选 |
ram | 是否读出所有的标点符号 | 0代表不读出所有标点 1代表读出所有标点 | 可选 |
spd | 语速 | 取值范围-500~+500,0为原速,数值大则语速快,对应于0.5~1.5倍线性关系 | 可选 |
vol | 音量 | 有效范围-20~20,0为缺省音量 | 可选 |
pit | 音高 | 取值范围-500~+500,0为默认,数值大则音调越高 | 可选 |
ahf | 音频头格式 | 0 - DEFAULT 44字节音频数据头,只有在输出格式为Wave PCM时才有意义;1 - NONE 无数据头格式;2 - STAND 标准音频数据头格式,根据具体格式头长度可能为 44(标准PCM格式)、58(Alaw和Ulaw)或0字节(Vox格式); | 可选 |
ttsStop
ttsOnPause
ttsOnResume
iflyISR(parmas、callback) :
iflyJointISR(params,callback):
连续语音识别(语音转文字)。不带界面的语音听写
入参params 格式:字符串,包含:url 、time_out 、svc 、auf 、aue 、uid 等,参数说明如下:
字段 | 值 | 描述 | 备注 |
---|---|---|---|
url | Ip+端口 | 私有云后台服务接口地址,具体形式为:ip:port(https请求形式为 https://ip:port) | 必选 |
appid | 英文数字组合 | AI+管理平台创建应用时设置的应用ID | 必选 |
auf | 默认值:audio/L16;rate=16000 | 表示支持的音频格式支持如下格式:audio/L16;rate=8000 audio/L16;rate=16000 | 必选 |
svc | 默认值:iat | 必选 | |
aue | 默认值:raw | 表示当前使用能力类型,支持如下格式:iat(语音识别)iatnlp(识别+理解) | 必选 |
uid | 预留 | 支持如下格式:32位字符串 | 可选 |
res_id | 默认值:无 | 表示选择的资源(资源可以通过在引擎配置,也可以通过sdk热词上传接口上传) | 可选 |
handle_time | 默认值:5 | 调用stop后的处理时间(弱网环境下结束会比较慢)单位:秒 | 可选 |
time_out | 默认值:10 | 调用接口超时时间单位:秒 | 可选 |
pgs | key=value | dwa=wpgs开启会话pgs功能 | 可选(返回中间结果) |
hotword | 默认值:无 | 会话级热词,支持如下格式:张三;李四 | 可选 |
output | 表示是否保存音频,不传该字段时,不保存音频。传递output=pcm时,音频保存到应用沙盒中的Documents目录下,音频的格式是xxx.pcm | 可选 | |
hotword | 默认值:无 | 会话级热词,支持如下格式:张三;李四 | 可选 |
extend_params | 扩展参数,默认可以不设置此参数 | 扩展参数,扩展参数中的参数之间以逗号分隔,如下:{“params”:“eos=3500,bos=3000”} | 可选 |
extend_params中参数说明
字段 | 值 | 描述 | 备注 |
---|---|---|---|
eos | 默认值:无 | 表示引擎端点超时时间支持如下格式:数字,单位ms | 可选 |
bos | 默认值:无 | 表示引擎前端点超时时间 支持如下格式:数字,单位ms | 可选 |
token | 英文数字组合 | 授权码,由AI+管理平台分配 | 如果使用鉴权,这个字段是必选的 |
ability | 默认值:ab_tts | 表示当前使用识别能力ab_tts | 如果使用鉴权,这个字段是必选的 |
返回参数: 回调数据类型(Map类型,即字典对象,json对象)。注意,这里是长期活跃的回调,可多次回调。回调返回数据会有下边3种情况: 1、录音开始回调 {“func”:“begin”} 2、录音正在录制回调 {“func”:“record”,“result”:“录音生成的字符串”} 3、录音结束回调 {“func”:“end”}
isrStop
isrCancel
iflymsc.iflyISR(data => {
if (data.func == 'begin') {
this.alert = true
}
if (data.func == 'record') {
this.VoiceWord = data.result
}
if (data.func == 'end') {
this.alert = false
this.clickFlag = true
}
})
添加库:将AIPIFlyMsc下的libs文件以及插件模块添加到工程中,同时也要将依赖的其他系统库添加到工程中:系统库如下图所示:
库名称 | 类型 | 功能 |
---|---|---|
AIPIFlyIVW.framework | 讯飞库 | 提供讯飞语音唤醒服务 |
AIPIFlyMSC | 讯飞库 | 提供讯飞语音识别、语音合成等服务 |
QuartzCore.framework | 必要 | 用于界面显示。 |
AudioToolbox.framework | 系统库 | 用于系统录音和播放。 |
SystemConfiguration.framework | 系统库 | 用于系统设置。 |
CoreGraphics.framework | 系统库 | 用于界面显示。 |
AVFoundation.framework | 系统库 | 用于系统录音和播放 。 |
Foundation.framework | 系统库 | 基本库。 |
UIKit.framework | 系统库 | 用于界面显示。 |
libc++.tbd | 系统库 | 用于支持C++。 |
libz.tbd | 必要 | 用于压缩、加密算法。 |
注意:添加AIPIFlyMSC.framework时,请检查工程BuildSetting中的framwork path的设置,如果出现找不到framework的情况,可以将path清空,在Xcode中删除framework,然后重新添加
设置Bitcode:在Targets - Build Settings 中搜索Enable Bitcode 即可,找到相应选项,设置为NO。
用户隐私权限配置 :iOS 10发布以来,苹果为了用户信息安全,加入隐私权限设置机制,让用户来选择是否允许。 隐私权限配置可在info.plist 新增相关privacy字段,MSC SDK中需要用到的权限主要包括麦克风权限、联系人权限和地理位置权限
privacy字段 | 说明 |
---|---|
NSMicrophoneUsageDescription | 麦克风权限 |
NSLocationUsageDescription | 地理位置权限 |
NSLocationAlwaysUsageDescription | 地理位置权限 |
NSContactsUsageDescription | 联系人权限 |