Files
CustomPlugin/Libs/iflyMSC.framework/Headers/IFlyVoiceWakeuper.h
2023-04-10 18:48:16 +08:00

180 lines
4.6 KiB
Objective-C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// IFlyVoiceWakeuper.h
// wakeup
//
// Created by admin on 14-3-18.
// Copyright (c) 2014年 iflytek. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "IFlyVoiceWakeuperDelegate.h"
/*!
版本描述唤醒1.0.0.1
语音唤醒资源占用iPhone5s实测<br>
内存占用3M<br>
CPU占用< 12%
唤醒服务接口时序描述
sharedInstance 创建唤醒实例<br>
setParameter 设置服务参数
例:[_voiceWakeuper setParameter:@"wake" forKey:@"sst"];
sst 表示服务类型wake是唤醒enroll是注册
例:[_voiceWakeuper setParameter:@"m_wakeupResPath" forKey:@"ivw_wake_list"];
ivw_wake_list 表示唤醒资源的路径
例:[_voiceWakeuper setParameter:@"holdValue" forKey:@"ivw_threshold"];
ivw_threshold 表示唤醒资源的阀值holdValue形式
ID201530
每个数字代表对应资源的阀值15表示资源1阀值20表示资源2阀值30表示资源3阀值
本demo只有一个资源设置为ID20 则可
startListening启动服务<br>
stopListening 取消服务,但是不释放内部资源<br>
cancel 终止服务,并释放内部资源
*参数定义
* 服务设置参数<br>
sst=wake表示唤醒<br>
sst=enroll表示注册<br>
SESSION_TYPE @"sst" //服务类型<br>
WAKEUP @"wake" //唤醒<br>
ENROLL @"enroll" //注册
* 唤醒时表示资源对应的阀值为输入值参数类型为ID:20;20;3<br>
以ID为起始中间用“;”隔开表示公三个资源各自阀值对应为2020和3<br>
IVW_THRESHOLD @"ivw_threshold" //唤醒词对应的门限
* 传入参数<br>
主要是没有定义的参数依赖params传入<br>
PARAM @"params"
* 训练,合并生成的资源路径
ivw_word_path=/abc/123/newpath.irf<br>
IVW_WORD_PATH @"ivw_word_path"
* 业务成功后的会话持续状态<br>
keep_alive 0:唤醒一次就结束1唤醒后继续<br>
KEEP_ALIVE @"keep_alive"
* focus_type注册和唤醒的返回参数<br>
wake 唤醒<br>
enroll 注册<br>
FOCUS_TYPE @"focus_type" //服务类型
* 服务状态<br>
status=success 服务正常<br>
status=failed 服务失败<br>
status=done 注册完成<br>
STATUS @"status" //服务状态<br>
SUCESS @"success" //服务成功<br>
FAILED @"failed" //服务失败<br>
DONE @"done" //训练完成<br>
* 唤醒结果的位置<br>
ID @"id" //唤醒结果的id
* 唤醒资源的阀值<br>
注册时返回,表示注册资源对应的阀值,为输出值<br>
THRESHOLD @"threshold" //训练资源的阀值
* 服务结果的可信度<br>
SCORE @"score" //服务结果可信度
* 为注册时返回,表示已经注册成功的次数<br>
NUM @"num" //已训练成功次数
* 表示服务传入音频对应的起始点和结束点<br>
BOS @"bos" //前端点<br>
EOS @"eos" //后端点
* 录音方式,如果是外部数据,设置为-1通过WriteAudio送入音频<br>
注意:目前紧紧支持唤醒服务,注册业务尚不支持<br>
AUDIO_SOURCE @"audio_source"
* 表示资源合并操作<br>
MERGE_RES_ACTION @"merge"
*/
@interface IFlyVoiceWakeuper : NSObject
{
}
/*!
* 代理
*/
@property(assign) id<IFlyVoiceWakeuperDelegate> delegate;
/*!
* 创建唤醒实例,采用单例模式
*/
+ (instancetype) sharedInstance;
/*!
* 启动唤醒
* 返回值:YES 成功NO失败
*/
-(BOOL) startListening;
/*!
* 取消唤醒会话<br>
* 注意与cancel的区别紧紧停止服务并不释放资源
*/
-(BOOL) stopListening;
/*!
* 获取工作参数
*/
-(NSString*) getParameter:(NSString *)key;
/*!
* 设置工作参数<br>
* 注意服务正在运行中,不能设置参数
*/
-(BOOL) setParameter:(NSString *) value forKey:(NSString*)key;
/*!
* 取消唤醒会话,并释放内部资源
*/
-(BOOL) cancel;
/*!
* 唤醒业务更新,目前支持合并资源操作
*/
//+(int) updateWords:(NSString *)action params:(NSString*) params;
/*!
* 写入录音数据<br>
* 暂时紧紧支持唤醒的写入,注册服务尚不支持
*/
//-(int) writeAudio:(const void*)buffer offset:(int)offset length:(int)length;
@property (readonly) BOOL isListening;
@end