211 lines
6.0 KiB
Objective-C
211 lines
6.0 KiB
Objective-C
#ifndef NeoNui_h
|
|
#define NeoNui_h
|
|
|
|
#ifdef DEBUG_MODE
|
|
#define TLog( s, ... ) NSLog( s, ##__VA_ARGS__ )
|
|
#else
|
|
#define TLog( s, ... )
|
|
#endif
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "NeoNuiCode.h"
|
|
|
|
typedef int NuiResultCode;
|
|
|
|
enum NuiAudioState {
|
|
STATE_OPEN,
|
|
STATE_PAUSE,
|
|
STATE_CLOSE,
|
|
};
|
|
|
|
enum NuiFunMode {
|
|
kFuncModeAsp = 0x00000001,
|
|
kFuncModeVad = 0x00000010,
|
|
kFuncModeKws = 0x00000100,
|
|
kFuncModeAsr = 0x00001000,
|
|
kFuncModeEnc = 0x00010000,
|
|
kFuncModeOu = 0x00100000,
|
|
kFuncModeFull = 0x11111111,
|
|
};
|
|
|
|
enum NuiAudioExtraEvent {
|
|
AudioRmsChanged,
|
|
};
|
|
|
|
enum NuiCallbackEvent {
|
|
EVENT_VAD_START,
|
|
EVENT_VAD_TIMEOUT,
|
|
EVENT_VAD_END,
|
|
EVENT_WUW,
|
|
EVENT_WUW_TRUSTED,
|
|
EVENT_WUW_CONFIRMED,
|
|
EVENT_WUW_REJECTED,
|
|
EVENT_WUW_END,
|
|
EVENT_ASR_PARTIAL_RESULT,
|
|
EVENT_ASR_RESULT,
|
|
EVENT_ASR_ERROR, // 10
|
|
EVENT_DIALOG_ERROR,
|
|
EVENT_ONESHOT_TIMEOUT,
|
|
EVENT_DIALOG_RESULT,
|
|
EVENT_WUW_HINT,
|
|
EVENT_VPR_RESULT,
|
|
EVENT_TEXT2ACTION_DIALOG_RESULT,
|
|
EVENT_TEXT2ACTION_ERROR,
|
|
EVENT_ATTR_RESULT,
|
|
EVENT_MIC_ERROR,
|
|
EVENT_DIALOG_EX, // 20
|
|
EVENT_WUW_ERROR,
|
|
EVENT_BEFORE_CONNECTION,
|
|
EVENT_SENTENCE_START,
|
|
EVENT_SENTENCE_END,
|
|
EVENT_SENTENCE_SEMANTICS,
|
|
EVENT_RESULT_TRANSLATED,
|
|
EVENT_TRANSCRIBER_COMPLETE,
|
|
EVENT_FILE_TRANS_CONNECTED,
|
|
EVENT_FILE_TRANS_UPLOADED,
|
|
EVENT_FILE_TRANS_RESULT, // 30
|
|
EVENT_FILE_TRANS_UPLOAD_PROGRESS,
|
|
EVENT_TRANSCRIBER_STARTED,
|
|
EVENT_ASR_STARTED,
|
|
EVENT_FILE_TRANS_QUERY_RESULT,
|
|
EVENT_WUW_START,
|
|
EVENT_WUW_DATA,
|
|
EVENT_ASR_TTS_DATA,
|
|
EVENT_ASR_TTS_START,
|
|
EVENT_ASR_TTS_COMPLETE,
|
|
EVENT_RESULT_TRANSLATED_END,
|
|
EVENT_ASR_WARN, // 41
|
|
};
|
|
|
|
enum NuiVadMode {
|
|
MODE_VAD,
|
|
MODE_P2T,
|
|
MODE_KWS,
|
|
MODE_PARALLEL,
|
|
MODE_KWS2PARALLEL,
|
|
MODE_AUTO_CONTINUAL,
|
|
MODE_KWS_CONTINUAL,
|
|
MODE_KWS2TALK,
|
|
MODE_ONLY_KWS
|
|
};
|
|
|
|
enum ServiceType {
|
|
SERVICE_TYPE_NONE = -1,
|
|
SERVICE_TYPE_ASR = 0, // SpeechRecognizer
|
|
SERVICE_TYPE_TIANGONG_ASSISTANT = 1,
|
|
SERVICE_TYPE_DIALOG_ASSISTANT = 2, //DialogAssistant
|
|
SERVICE_TYPE_VIRTUAL_ASSISTANT = 3, //TiangongV4
|
|
SERVICE_TYPE_SPEECH_TRANSCRIBER = 4 //SpeechTranscriber
|
|
};
|
|
|
|
enum NuiSdkVprEvent {
|
|
EVENT_VPR_NONE,
|
|
EVENT_VPR_REGISTER_START,
|
|
EVENT_VPR_REGISTER_DONE,
|
|
EVENT_VPR_REGISTER_FAILED,
|
|
EVENT_VPR_UPDATE_START,
|
|
EVENT_VPR_UPDATE_DONE,
|
|
EVENT_VPR_UPDATE_FAIL,
|
|
EVENT_VPR_DELETE_DONE,
|
|
EVENT_VPR_DELETE_FAIL
|
|
};
|
|
|
|
typedef enum NuiSdkVprEvent NuiSdkVprEvent;
|
|
typedef enum NuiAudioState NuiAudioState;
|
|
typedef enum NuiCallbackEvent NuiCallbackEvent;
|
|
typedef enum NuiCallbackEvent NuiCallbackEvent;
|
|
typedef enum NuiVadMode NuiVadMode;
|
|
|
|
@protocol NeoNuiSdkDelegate <NSObject>
|
|
@optional
|
|
-(int) onNuiNeedAudioData:(char *)audioData length:(int)len;
|
|
-(void) onNuiAudioStateChanged:(NuiAudioState)state;
|
|
-(void) onNuiEventCallback:(NuiCallbackEvent)nuiEvent
|
|
dialog:(long)dialog
|
|
kwsResult:(const char *)wuw
|
|
asrResult:(const char *)asr_result
|
|
ifFinish:(BOOL)finish
|
|
retCode:(int)code;
|
|
-(void) onNuiRmsChanged:(float) rms;
|
|
-(void) onNuiAssistEventCallback:(NuiCallbackEvent)nuiEvent
|
|
info:(char*)info
|
|
infoLen:(int)info_len
|
|
buffer:(char*)buffer
|
|
len:(int)len;
|
|
-(void) onNuiLogTrackCallback:(NuiSdkLogLevel)level
|
|
logMessage:(const char *)log;
|
|
|
|
-(void) onFileTransEventCallback:(NuiCallbackEvent)nuiEvent
|
|
asrResult:(const char *)asr_result
|
|
taskId:(const char *)task_id
|
|
ifFinish:(BOOL)finish
|
|
retCode:(int)code;
|
|
-(void) onFileTransLogTrackCallback:(NuiSdkLogLevel)level
|
|
logMessage:(const char *)log;
|
|
@end
|
|
|
|
@interface NeoNui : NSObject
|
|
|
|
@property (readonly) void* nui_sdk;
|
|
@property (nonatomic,weak) id<NeoNuiSdkDelegate> delegate;
|
|
|
|
+ (instancetype)get_instance;
|
|
|
|
//Initialize API
|
|
-(NuiResultCode) nui_initialize:(const char *)parameters
|
|
logLevel:(NuiSdkLogLevel)level
|
|
saveLog:(BOOL)save_log;
|
|
//Release API
|
|
-(NuiResultCode) nui_release;
|
|
|
|
//Dialog API
|
|
-(NuiResultCode) nui_dialog_start:(NuiVadMode)vad_mode
|
|
dialogParam:(const char *)dialog_params;
|
|
-(NuiResultCode) nui_dialog_cancel:(BOOL)force;
|
|
-(NuiResultCode) nui_dialog_resume;
|
|
|
|
//Text to Action API
|
|
-(NuiResultCode) nui_dialog_text2action:(const char *)text
|
|
Context:(const char *)context
|
|
isNewDialog:(BOOL)is_new_dialog
|
|
dialogParams:(const char *)dialog_params;
|
|
-(NuiResultCode) nui_dialog_text2action_cancel;
|
|
|
|
//File Transcriber API
|
|
-(NuiResultCode) nui_file_trans_start:(const char *)params
|
|
taskId:(char*)task_id;
|
|
-(NuiResultCode) nui_file_trans_cancel:(const char*)task_id;
|
|
-(NuiResultCode) nui_file_trans_query:(const char*)task_id;
|
|
|
|
//Set parameter API
|
|
-(NuiResultCode) nui_set_param:(const char *)para
|
|
Value:(const char *)value;
|
|
-(NuiResultCode) nui_set_params:(const char *)params;
|
|
|
|
-(const char *) nui_get_param:(const char *)param;
|
|
|
|
-(NuiResultCode) nui_update_audio_data:(const char *)data
|
|
Len:(int)length
|
|
FirstPack:(BOOL)first_pack;
|
|
-(const char*) nui_get_version;
|
|
-(const char*) nui_get_all_response;
|
|
|
|
#ifdef NUI_VPR
|
|
//Voice Print Recognition API
|
|
-(NuiResultCode) nui_vpr_register_user:(const char*)service_id
|
|
groupId:(const char * )group_id
|
|
userId:(const char * )user_id;
|
|
-(NuiResultCode) nui_vpr_update_user:(const char* )service_id
|
|
groupId:(const char * )group_id
|
|
userId:(const char * )user_id;
|
|
-(NuiResultCode) nui_vpr_delete_user:(const char* )service_id
|
|
groupId:(const char * )group_id
|
|
userId:(const char * )user_id;
|
|
-(NuiResultCode) nui_vpr_enable;
|
|
-(NuiResultCode) nui_vpr_disable;
|
|
-(NuiResultCode) nui_vpr_register_cancel;
|
|
#endif
|
|
@end
|
|
|
|
#endif
|