feat: 自定义的插件

This commit is contained in:
zoujing
2023-04-10 18:48:16 +08:00
commit e1795f2de2
621 changed files with 18614 additions and 0 deletions

View File

@@ -0,0 +1,179 @@
//
// 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