腾讯云智聆口语评测录音评测说明-教育服务解决方案

提供录音功能,对音频数据进行格式转换,base64 转换,进行评测,并输出音频。

声明并定义对象

@property (strong, nonatomic) TAIOralEvaluation *oralEvaluation;self.oralEvaluation = [[TAIOralEvaluation alloc] init];self.oralEvaluation.delegate = self;

数据回调

-(void)oralEvaluation:(TAIOralEvaluation *)oralEvaluation onEvaluateData:(TAIOralEvaluationData *)data result:(TAIOralEvaluationRet *)result error:(TAIError *)error
{
  //数据和结果回调(只有data.bEnd为YES,result有效)
}

注意 请在开始录制音频前设置回调函数,您将通过回调函数获取语音评测结果和错误信息。

初始化并设置相应参数

初始化 TAIOraEvaluation 对象,并通过实例化对象 param 设置评测文本、客户 ID、密码等信息,详细参数信息请查看下文参数说明。注意建议用户使用子账号密钥 + 环境变量的方式调用 SDK,提高 SDK 使用的安全性。为子账号授权时,请遵循 最小权限指引原则,防止泄漏其他资源。如果您一定要使用永久密钥,建议遵循 最小权限指引原则 对永久密钥的权限范围进行限制。

//三、初始化参数TAIOralEvaluationParam *param = [[TAIOralEvaluationParam alloc] init];param.sessionId = [[NSUUID UUID] UUIDString];param.appId = @"";param.workMode = TAIOralEvaluationWorkMode_Once;param.evalMode = TAIOralEvaluationEvalMode_Sentence;param.storageMode = TAIOralEvaluationStorageMode_Disable;param.serverType = TAIOralEvaluationServerType_English;param.scoreCoeff = 1.0;param.fileType = TAIOralEvaluationFileType_Mp3;param.refText = @"";param.secretId = @""; // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140param.secretKey = @""; // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参考https://cloud.tencent.com/document/product/598/37140param.refText = @"";param.keyword = @"";param.timeout = 30;parma.retryTimes = 0;

设置分片和静音检测

初始化 TAIRecorderParam 对象,并设置相应参数。
请在开始调用 startRecordAndEvaluation() 函数前设置 TAIRecorderParam 参数,静音检测您可以通过 vadEnable 参数打开,并通过 vadInterval 参数设置静音检测时间间隔。

TAIRecorderParam *recordParam = [[TAIRecorderParam alloc] init]; recordParam.fragEnable = YES; recordParam.fragSize = 1024; recordParam.vadEnable = YES; recordParam.vadInterval = 5000; [self.oralEvaluation setRecorderParam:recordParam];

上层通知当检测到静⾳或者录⾳分⻉变化时,通过 TAIOralEvaluationListener 通知上层。

//检测到静音- (void)oralEvaluation:(TAIOralEvaluation *)oralEvaluation  onEndOfSpeechInOralEvaluation:(BOOL)isSpeak;{    // isSpeak ,true:录音开始到现在检测到声音,false:一直未检测到声音。}
//音量发生变化- (void)oralEvaluation:(TAIOralEvaluation *)oralEvaluation onVolumeChanged:(NSInteger)volume{ //回调录音分贝大小[0-120] ,默认20}

开始录制

调用 startRecordAndEvaluation() 方法传入 TAIOralEvaluationParam 的 param 参数,并设置回调函数,即可开始录制。

[self.oralEvaluation startRecordAndEvaluation:param callback:^(TAIError *error) {//结果返回}];

结束录制

[self.oralEvaluation stopRecordAndEvaluation:^(TAIError *error) {    //结果返回 }];

获取本地音频文件

通过设置 audioPath 参数,根据设置路径获取音频文件。Demo 默认为当前路径

param.audioPath = [NSString stringWithFormat:@"%@/%@.mp3",

参数说明

请求参数说明

TAIOralEvaluationParam 参数说明

相应参数详细说明见 发音数据传输接口附带初始化过程(常用实践) 文档。

参数 类型 必填 说明
fileType TAIOralEvaluationFileType 语音文件类型。TAIOralEvaluationFileType_Mp3:mp3(录音评测采用 mp3 格式)
sessionId NSString 语音段唯一标识
refText NSString 被评估语音对应的文本。参考评估文本介绍
workMode TAIOralEvaluationWorkMode 语音输入模式
TAIOralEvaluationWorkMode_Stream:流式分片
TAIOralEvaluationWorkMode_Once:非流式一次性评估
参考语音输入模式介绍
evalMode TAIOralEvaluationEvalMode 评测模式。
TAIOralEvaluationEvalMode_Word :单词模式
TAIOralEvaluationEvalMode_Sentence:句子模式
TAIOralEvaluationEvalMode_Paragraph:段落模式
TAIOralEvaluationEvalMode_Free:自由说模式
TAIOralEvaluationEvalMode_Word_Fix:单词音素纠错模式
TAIOralEvaluationEvalMode_Scene:情景评测模式
TAIOralEvaluationEvalMode_Multi_Branch:句子多分支评测模式
TAIOralEvaluationEvalMode_Word_RealTime:单词实时评测模式
TAIOralEvaluationEvalMode_Spelling:拼音评测模式参考评测模式介绍
scoreCoeff Float 评价苛刻指数,取值为[1.0 – 4.0]范围内的浮点数,用于平滑不同年龄段的分数。参考苛刻指数介绍
soeAppId NSString 业务应用 ID,与账号应用 AppID 无关,是用来方便客户管理服务的参数。具体参考业务应用 ID 介绍
serverType TAIOralEvaluationServerType 评估语言
TAIOralEvaluationServerType_English:英文(默认)
TAIOralEvaluationServerType_Chinese:中文
参考评测模式介绍
sentenceInfoEnable Bool 输出断句中间结果标识。
Keyword NSString 参考主题词和关键词
textMode NSInteger 输入文本模式。TAIOralEvaluationTextMode_Noraml: 普通文本,TAIOralEvaluationTextMode_Phoneme:音素结构文本,参考音素标注
isFixOn Bool 用于设置是否开启单词映射
audioPath NSString iOS 本地音频保存路径
isQuery BOOL 查询标识。true:查询请求
isAsync BOOL 异步模式标识。false:同步模式;true:异步模式
serviceTimeoutTryTimes NSInteger 重试次数。使用查询标识的查询次数
serviceTimeoutWaitInterval NSInteger 重试时间间隔。使用查询标识的重试时间间隔
cosBuketUrl NSString 音频存储路径,将音频存储到cos桶中(1.2.3.112及以上版本支持)。使用参考音频存储路径

TAICommonParam(TAIOralEvaluationParam)参数说明

参数 类型 必填 说明
appid NSString 账号应用 ID,参考账号信息
timeout NSInteger 超时时间,默认30秒
retryTimes NSInteger 超时重试次数
secretId NSString 您在控制台获取的密钥 ID,临时授权凭证的 TmpSecretId
secretKey NSString 您在控制台获取的密钥 Key,临时授权凭证的 TmpSecretKey
token NSString 临时授权凭证的 Token,仅在使用临时授权凭证时需要设置此参数

TAIRecorderParam 参数说明

参数 类型 必填 说明
fragEnable Bool 是否开启分片,默认 YES
fragSize NSString 语音分片大小,默认1024,建议为1024的整数倍,范围[1k,10k]
vadEnable Bool 是否开启静音检测,默认 NO
vadInterval NSString 静音检测时间间隔,单位为ms
db NSInterger 静音检测分贝阈值,默认为20dB

返回结果参数

TAIOralEvaluationRet 参数说明

参数 类型 说明
sessionId NSString 语音段唯一标识
requestId NSString 唯一请求 ID,每次请求都会返回
pronAccuracy Float 发音精准度,取值范围[-1, 100],当取-1时指完全不匹配
pronFluency Float 发音流利度,取值范围[0, 1],当为词模式时,取值无意义
pronCompletion Float 发音完整度,取值范围[0, 1],当为词模式时,取值无意义
words NSArray 单词详细发音评估结果
SuggestedScore Float 建议评分,取值范围[0,100]
sentenceInfoSet NSArray 断句中间结果,待用户发音完全结束后,系统会给出一个综合所有句子的整体结果
refTextId NSInteger 匹配候选文本的序号,在句子多分支、情景对 话、段落模式下表示匹配到的文本序号注意:此字段可能返回 null,表示取不到有效值。
KeyWordHits NSArray 主题词命中标志,0表示没命中,1表示命中注意:此字段可能返回 null,表示取不到有效值。
UnKeyWordHits NSArray 负向主题词命中标志,0表示没命中,1表示命中注意:此字段可能返回 null,表示取不到有效值。

TAIOralEvaluationWord 参数说明

参数 类型 说明
beginTime Int 当前单词语音起始时间点,单位为ms
endTime Int 当前单词语音终止时间点,单位为ms
pronAccuracy Float 单词发音精准度,取值范围[-1, 100],当取-1时指完全不匹配
pronFluency Float 单词发音流利度,取值范围[0, 1]
word NSString 当前词
matchTag Int 当前词与输入语句的匹配情况,0:匹配单词、1:新增单词、2:缺少单词、3:错读的词、4:未录入单词。
phoneInfos NSArray 音节评估详情注意:在 EvalMode 为2、3、5时此参数为空。
referenceWord NSString 读音评估对应的单词
KeywordTag NSInteger 主题词命中标志,0表示没命中,1表示命中注意:此字段可能返回 null,表示取不到有效值。

SentenceInfoSet 参数说明

参数 类型 说明
sentenceId Int 句子序号
words NSArray 单词粒度详细发音评估结果
pronAccuracy Float 音素发音精准度,取值范围[-1, 100],当取-1时指完全不匹配
pronFluency Float 单词发音流利度,取值范围[0, 1]
pronCompletion BOOL 发音完整度,取值范围[0, 1],当为词模式时,取值无意义
suggestScore Float 建议评分,取值范围[0,100]
refTextId NSInteger 匹配候选文本的序号,在句子多分支、情景对 话、段落模式下表示匹配到的文本序号注意:此字段可能返回 null,表示取不到有效值。
KeyWordHits NSArray 主题词命中标志,0表示没命中,1表示命中注意:此字段可能返回 null,表示取不到有效值。
UnKeyWordHits NSArray 负向主题词命中标志,0表示没命中,1表示命中注意:此字段可能返回 null,表示取不到有效值。

TAIOralEvaluationPhoneInfo 参数说明

参数 类型 说明
beginTime Int 当前音素语音起始时间点,单位为ms
endTime Int 当前音素语音终止时间点,单位为ms
pronAccuracy Float 音素发音精准度,取值范围[-1, 100],当取-1时指完全不匹配
detectedStress BOOL 当前音素是否检测为重音
phone NSString 用户实际发音音素
stress BOOL 用户实际发音音素是否应为重音
rLetter NSString 音素对应的字母
referencePhone NSString 参考音素,在单词诊断模式下,代表标准音素

TAIError 参数说明

参数 类型 说明
Code TAIErrCode 返回错误码0:成功1:参数错误2:json 解析错误3:http 请求错误4:服务器错误详细错误信息请查看 desc 参数
desc NSString 详细错误描述
requestId NSString 请求 ID,用于订单唯一标识



腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

发表评论