跳转至

asr_engine

ASR引擎模块提供语音识别(ASR)功能的初始化、启停控制及拾音流管理接口,支持固定命令词与NPU模糊命令词两种识别模式。

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

接口清单

接口名称 功能简述
IntellVoiceAsrEngineInit 初始化ASR引擎,配置引擎参数并注册事件回调
IntellVoiceAsrEngineStartRecognition 启动ASR语音识别
IntellVoiceAsrEngineStopRecognition 停止ASR语音识别
IntellVoiceAsrEngineDeInit 反初始化ASR引擎,释放资源
IntellVoiceAsrPickUpStreamStart 启动拾音流
IntellVoiceAsrPickUpStreamStop 停止拾音流

Functions

IntellVoiceAsrEngineInit

int32_t IntellVoiceAsrEngineInit(AsrEngineInitParams *initParams)

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

功能说明

  • 初始化ASR引擎上下文,分配引擎运行所需的内部资源
  • 根据initParams配置引擎工作模式、语言类型、NPU使能状态及事件回调
  • 创建音频会话并激活音频中断

前置条件

  • 调用时序约束:ASR引擎未初始化时方可调用,若引擎已存在则返回失败
  • 依赖关系:依赖AudioManager模块已就绪

入参

名称 参数类型 详细说明 约束取值范围
initParams AsrEngineInitParams* ASR引擎初始化参数结构体指针 非NULL

返回值

返回值 文字含义 触发场景
MEDIA_OK(0) 初始化成功 引擎上下文初始化、会话创建、音频中断激活均成功
MEDIA_ERR 初始化失败 引擎已存在、上下文分配失败、会话初始化失败

IntellVoiceAsrEngineStartRecognition

int32_t IntellVoiceAsrEngineStartRecognition(void)

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

功能说明

  • 启动ASR语音识别流程
  • 根据NPU使能状态选择识别模式:使能NPU时创建生产线程与NPU推理线程进行模糊命令词识别;未使能NPU时使用固定命令词识别
  • 将引擎状态置为START

前置条件

  • 调用时序约束:必须在IntellVoiceAsrEngineInit成功返回后调用
  • 依赖关系:依赖ASR引擎已完成初始化且处于INIT状态

IntellVoiceAsrEngineStopRecognition

int32_t IntellVoiceAsrEngineStopRecognition(void)

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

功能说明

  • 停止ASR语音识别流程
  • 根据NPU使能状态销毁生产线程和NPU推理线程,或停止固定命令词识别的音频流
  • 将引擎状态置为STOP

前置条件

  • 调用时序约束:必须在IntellVoiceAsrEngineStartRecognition成功返回后调用,引擎处于START状态
  • 依赖关系:依赖ASR引擎识别流程已启动

IntellVoiceAsrEngineDeInit

int32_t IntellVoiceAsrEngineDeInit(void)

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

功能说明

  • 反初始化ASR引擎,释放所有运行资源
  • 若引擎处于START状态,自动先停止识别再执行反初始化
  • 释放NPU上下文、生产上下文、音频处理上下文,并去激活音频中断

前置条件

  • 调用时序约束:必须在IntellVoiceAsrEngineInit成功返回后调用
  • 依赖关系:依赖ASR引擎已初始化,g_asrCtx非空

IntellVoiceAsrPickUpStreamStart

int32_t IntellVoiceAsrPickUpStreamStart(void)

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

功能说明

  • 启动拾音流,创建音频输出流和音频输入流
  • 激活拾音流音频中断,初始化并启动音频输出与输入通道
  • 将拾音流状态置为已启动

前置条件

  • 调用时序约束:拾音流未启动时方可调用,若已启动则返回失败
  • 依赖关系:依赖AudioManager模块已就绪

IntellVoiceAsrPickUpStreamStop

int32_t IntellVoiceAsrPickUpStreamStop(void)

头文件清单

#include "include/middleware/services/media/foundation/service/intelligent_voice_service/asr_engine/include/intelligent_voice_asr_engine.h"

功能说明

  • 停止拾音流,停止并释放音频输出流和音频输入流
  • 去激活拾音流音频中断
  • 将拾音流状态置为未启动

前置条件

  • 调用时序约束:必须在IntellVoiceAsrPickUpStreamStart成功返回后调用,拾音流处于已启动状态
  • 依赖关系:依赖拾音流已启动

Enumerations

AsrEngineEvent

typedef enum {
    ASR_ENGINE_EVENT_STOP,          /* 引擎停止 */
    ASR_ENGINE_EVENT_VOICE_BEGIN,   /* 语音开始 */
    ASR_ENGINE_EVENT_VOICE_END,     /* 语音结束 */
    ASR_ENGINE_EVENT_VOICE_COMMAND, /* 语音命令 */
    ASR_ENGINE_EVENT_VOICE_ERROR,   /* 语音错误 */
    ASR_ENGINE_EVENT_MAX
} AsrEngineEvent;
枚举成员 取值 描述
ASR_ENGINE_EVENT_STOP 0 引擎停止
ASR_ENGINE_EVENT_VOICE_BEGIN 1 语音开始
ASR_ENGINE_EVENT_VOICE_END 2 语音结束
ASR_ENGINE_EVENT_VOICE_COMMAND 3 语音命令识别结果
ASR_ENGINE_EVENT_VOICE_ERROR 4 语音错误
ASR_ENGINE_EVENT_MAX 5 枚举边界值

AsrEngineCmdId

typedef enum {
    ASR_ENGINE_CMD_APP_CONTROL         = 1, /* APP控制 */
    ASR_ENGINE_CMD_MUSIC_CONTROL,           /* 音乐控制 */
    ASR_ENGINE_CMD_ALARM_CONTROL,           /* 闹钟控制 */
    ASR_ENGINE_CMD_MOTION_CONTROL,          /* 运动控制 */
    ASR_ENGINE_CMD_TELEPHONE_CONTROL,       /* 电话控制 */
    ASR_ENGINE_CMD_TIMER_CONTROL,           /* 计数器控制 */
    ASR_ENGINE_CMD_DEVICE_CONTROL,          /* 设备控制 */
    ASR_ENGINE_CMD_WAKEUP_KEYWORD,          /* 唤醒词 */
    ASR_ENGINE_CMD_MAX,
} AsrEngineCmdId;
枚举成员 取值 描述
ASR_ENGINE_CMD_APP_CONTROL 1 APP控制
ASR_ENGINE_CMD_MUSIC_CONTROL 2 音乐控制
ASR_ENGINE_CMD_ALARM_CONTROL 3 闹钟控制
ASR_ENGINE_CMD_MOTION_CONTROL 4 运动控制
ASR_ENGINE_CMD_TELEPHONE_CONTROL 5 电话控制
ASR_ENGINE_CMD_TIMER_CONTROL 6 计数器控制
ASR_ENGINE_CMD_DEVICE_CONTROL 7 设备控制
ASR_ENGINE_CMD_WAKEUP_KEYWORD 8 唤醒词
ASR_ENGINE_CMD_MAX 9 枚举边界值

AsrEngineAppControl

typedef enum {
    ASR_ENGINE_APP_CTRL_OPEN                = 1,
    ASR_ENGINE_APP_CTRL_CLOSE               = 2,
    ASR_ENGINE_APP_CTRL_MAX,
} AsrEngineAppControl;
枚举成员 取值 描述
ASR_ENGINE_APP_CTRL_OPEN 1 打开应用
ASR_ENGINE_APP_CTRL_CLOSE 2 关闭应用
ASR_ENGINE_APP_CTRL_MAX 3 枚举边界值

AsrEngineAppId

typedef enum {
    ASR_ENGINE_APP_SETTING                = 1,  /* 打开设置 */
    ASR_ENGINE_APP_HEART_RATE,                  /* 打开心率 */
    ASR_ENGINE_APP_SPORT,                       /* 打开运动 */
    ASR_ENGINE_APP_SPORT_RECORD,                /* 打开运动记录 */
    ASR_ENGINE_APP_ACTIVATY_RECORD,             /* 打开活动记录 */
    ASR_ENGINE_APP_TRANING_STATUS,              /* 打开训练状态 */
    ASR_ENGINE_APP_SPO2,                        /* 打开血氧饱和度 */
    ASR_ENGINE_APP_SLEEP,                       /* 打开睡眠 */
    ASR_ENGINE_APP_PRESSURE,                    /* 打开压力 */
    ASR_ENGINE_APP_BREATH_TRAIN,                /* 打开呼吸训练 */
    ASR_ENGINE_APP_ELECTROCARDIO,               /* 打开心电 */
    ASR_ENGINE_APP_PAI,                         /* 打开PAI */
    ASR_ENGINE_APP_CALL_RECORDS,                /* 打开通话记录 */
    ASR_ENGINE_APP_FAVOURITES,                  /* 打开常用联系人 */
    ASR_ENGINE_APP_WEATHER,                     /* 打开天气 */
    ASR_ENGINE_APP_MUSIC_APP,                   /* 打开音乐 */
    ASR_ENGINE_APP_REMOTE_PHOTO,                /* 打开遥控拍照 */
    ASR_ENGINE_APP_NOTIFICATION,                /* 打开通知 */
    ASR_ENGINE_APP_ALARM_APP,                   /* 打开闹钟 */
    ASR_ENGINE_APP_CALENDAR,                    /* 打开日程 */
    ASR_ENGINE_APP_WALLET,                      /* 打开卡包 */
    ASR_ENGINE_APP_COMPASS,                     /* 打开指南针 */
    ASR_ENGINE_APP_STOPWATCH,                   /* 打开秒表 */
    ASR_ENGINE_APP_TIMER,                       /* 打开倒计时 */
    ASR_ENGINE_APP_WECHAT_PAY,                  /* 打开微信支付 */
    ASR_ENGINE_APP_ALI_PAY,                     /* 打开支付宝 */
    ASR_ENGINE_APP_ALI_PAY_SCAN,                /* 打开支付宝扫一扫 */
    ASR_ENGINE_APP_BAROMETER,                   /* 打开海拔气压计 */
    ASR_ENGINE_APP_ALTIMETER,                   /* 打开气压高度计 */
    ASR_ENGINE_APP_NETEASY_MUSIC,               /* 打开网易音乐 */
    ASR_ENGINE_APP_TELEPHONE,                   /* 打开电话 */
    ASR_ENGINE_APP_MESSAGE,                     /* 打开短信 */
    ASR_ENGINE_APP_WATCH_FACE,                  /* 打开表盘 */
    ASR_ENGINE_APP_BUS_CARD,                    /* 打开公交卡 */
    ASR_ENGINE_APP_ACCESS_CARD,                 /* 打开门禁卡 */
    ASR_ENGINE_APP_MAX,
} AsrEngineAppId;
枚举成员 取值 描述
ASR_ENGINE_APP_SETTING 1 打开设置
ASR_ENGINE_APP_HEART_RATE 2 打开心率
ASR_ENGINE_APP_SPORT 3 打开运动
ASR_ENGINE_APP_SPORT_RECORD 4 打开运动记录
ASR_ENGINE_APP_ACTIVATY_RECORD 5 打开活动记录
ASR_ENGINE_APP_TRANING_STATUS 6 打开训练状态
ASR_ENGINE_APP_SPO2 7 打开血氧饱和度
ASR_ENGINE_APP_SLEEP 8 打开睡眠
ASR_ENGINE_APP_PRESSURE 9 打开压力
ASR_ENGINE_APP_BREATH_TRAIN 10 打开呼吸训练
ASR_ENGINE_APP_ELECTROCARDIO 11 打开心电
ASR_ENGINE_APP_PAI 12 打开PAI
ASR_ENGINE_APP_CALL_RECORDS 13 打开通话记录
ASR_ENGINE_APP_FAVOURITES 14 打开常用联系人
ASR_ENGINE_APP_WEATHER 15 打开天气
ASR_ENGINE_APP_MUSIC_APP 16 打开音乐
ASR_ENGINE_APP_REMOTE_PHOTO 17 打开遥控拍照
ASR_ENGINE_APP_NOTIFICATION 18 打开通知
ASR_ENGINE_APP_ALARM_APP 19 打开闹钟
ASR_ENGINE_APP_CALENDAR 20 打开日程
ASR_ENGINE_APP_WALLET 21 打开卡包
ASR_ENGINE_APP_COMPASS 22 打开指南针
ASR_ENGINE_APP_STOPWATCH 23 打开秒表
ASR_ENGINE_APP_TIMER 24 打开倒计时
ASR_ENGINE_APP_WECHAT_PAY 25 打开微信支付
ASR_ENGINE_APP_ALI_PAY 26 打开支付宝
ASR_ENGINE_APP_ALI_PAY_SCAN 27 打开支付宝扫一扫
ASR_ENGINE_APP_BAROMETER 28 打开海拔气压计
ASR_ENGINE_APP_ALTIMETER 29 打开气压高度计
ASR_ENGINE_APP_NETEASY_MUSIC 30 打开网易音乐
ASR_ENGINE_APP_TELEPHONE 31 打开电话
ASR_ENGINE_APP_MESSAGE 32 打开短信
ASR_ENGINE_APP_WATCH_FACE 33 打开表盘
ASR_ENGINE_APP_BUS_CARD 34 打开公交卡
ASR_ENGINE_APP_ACCESS_CARD 35 打开门禁卡
ASR_ENGINE_APP_MAX 36 枚举边界值

AsrEngineMusicControl

typedef enum {
    ASR_ENGINE_MUSIC_CTRL_PLAY,                 /* 播放音乐 */
    ASR_ENGINE_MUSIC_CTRL_PAUSE,                /* 暂停音乐 */
    ASR_ENGINE_MUSIC_CTRL_RESUME,               /* 恢复音乐 */
    ASR_ENGINE_MUSIC_CTRL_STOP,                 /* 停止音乐 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_PRE,             /* 播放上一首 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_NEXT,            /* 播放下一首 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_LOOP,            /* 单曲循环 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_SHUFFLE,         /* 随机播放 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_REPEAT_LIST,     /* 列表循环 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_MY_COLLECTION,   /* 播放我的收藏 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_RUNNING_MUSIC,   /* 播放跑步音乐 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_ALL_MUSIC,       /* 播放全部歌曲 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_PHONE_MUSIC,     /* 播放手机音乐 */
    ASR_ENGINE_MUSIC_CTRL_PLAY_WATCH_MUSIC,     /* 播放手表音乐 */
    ASR_ENGINE_MUSIC_CTRL_MAX,
} AsrEngineMusicControl;
枚举成员 取值 描述
ASR_ENGINE_MUSIC_CTRL_PLAY 0 播放音乐
ASR_ENGINE_MUSIC_CTRL_PAUSE 1 暂停音乐
ASR_ENGINE_MUSIC_CTRL_RESUME 2 恢复音乐
ASR_ENGINE_MUSIC_CTRL_STOP 3 停止音乐
ASR_ENGINE_MUSIC_CTRL_PLAY_PRE 4 播放上一首
ASR_ENGINE_MUSIC_CTRL_PLAY_NEXT 5 播放下一首
ASR_ENGINE_MUSIC_CTRL_PLAY_LOOP 6 单曲循环
ASR_ENGINE_MUSIC_CTRL_PLAY_SHUFFLE 7 随机播放
ASR_ENGINE_MUSIC_CTRL_PLAY_REPEAT_LIST 8 列表循环
ASR_ENGINE_MUSIC_CTRL_PLAY_MY_COLLECTION 9 播放我的收藏
ASR_ENGINE_MUSIC_CTRL_PLAY_RUNNING_MUSIC 10 播放跑步音乐
ASR_ENGINE_MUSIC_CTRL_PLAY_ALL_MUSIC 11 播放全部歌曲
ASR_ENGINE_MUSIC_CTRL_PLAY_PHONE_MUSIC 12 播放手机音乐
ASR_ENGINE_MUSIC_CTRL_PLAY_WATCH_MUSIC 13 播放手表音乐
ASR_ENGINE_MUSIC_CTRL_MAX 14 枚举边界值

AsrEngineTimeDay

typedef enum {
    ASR_ENGINE_TIME_INVALID,                                /* 无效值 */
    ASR_ENGINE_TIME_TODAY,                                  /* 今天 */
    ASR_ENGINE_TIME_TOMORROW,                               /* 明天 */
    ASR_ENGINE_TIME_THE_DAY_AFTER_TOMORROW,                 /* 后天 */
    ASR_ENGINE_TIME_THE_DAY_AFTER_THE_DAY_AFTER_TOMORROW,   /* 大后天 */
    ASR_ENGINE_TIME_MAX,
} AsrEngineTimeDay;
枚举成员 取值 描述
ASR_ENGINE_TIME_INVALID 0 无效值
ASR_ENGINE_TIME_TODAY 1 今天
ASR_ENGINE_TIME_TOMORROW 2 明天
ASR_ENGINE_TIME_THE_DAY_AFTER_TOMORROW 3 后天
ASR_ENGINE_TIME_THE_DAY_AFTER_THE_DAY_AFTER_TOMORROW 4 大后天
ASR_ENGINE_TIME_MAX 5 枚举边界值

AsrEngineTimePeriod

typedef enum {
    ASR_ENGINE_TIME_PERIOD_INVALID,            /* 无效值 */
    ASR_ENGINE_TIME_PERIOD_AM,                 /* 上午 */
    ASR_ENGINE_TIME_PERIOD_PM,                 /* 下午 */
    ASR_ENGINE_TIME_PERIOD_MAX,
} AsrEngineTimePeriod;
枚举成员 取值 描述
ASR_ENGINE_TIME_PERIOD_INVALID 0 无效值
ASR_ENGINE_TIME_PERIOD_AM 1 上午
ASR_ENGINE_TIME_PERIOD_PM 2 下午
ASR_ENGINE_TIME_PERIOD_MAX 3 枚举边界值

AsrEngineAlarmControl

typedef enum {
    ASR_ENGINE_ALARM_CTRL_SET,                 /* 设置闹钟 */
    ASR_ENGINE_ALARM_CTRL_MAX,
} AsrEngineAlarmControl;
枚举成员 取值 描述
ASR_ENGINE_ALARM_CTRL_SET 0 设置闹钟
ASR_ENGINE_ALARM_CTRL_MAX 1 枚举边界值

AsrEngineMotionControl

typedef enum {
    ASR_ENGINE_MOTION_CTRL_START_SPORT,                 /* 开始运动 */
    ASR_ENGINE_MOTION_CTRL_START_INDOOR_RUNNING,        /* 开始室内跑 */
    ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_RUNNING,       /* 开始户外跑 */
    ASR_ENGINE_MOTION_CTRL_START_RUNNING_COURSE,        /* 开始跑步课程 */
    ASR_ENGINE_MOTION_CTRL_START_INDOOR_WALKING,        /* 开始室内健走 */
    ASR_ENGINE_MOTION_CTRL_START_WALKING,               /* 开始健走 */
    ASR_ENGINE_MOTION_CTRL_START_INDOOR_CYCLING,        /* 开始室内骑行 */
    ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_CYCLING,       /* 开始户外骑行 */
    ASR_ENGINE_MOTION_CTRL_START_TREADMILL,             /* 开始跑步机 */
    ASR_ENGINE_MOTION_CTRL_START_OPENWATER_SWIMMING,    /* 开始公开水域游泳 */
    ASR_ENGINE_MOTION_CTRL_START_POOL_SWIMMING,         /* 开始泳池游泳 */
    ASR_ENGINE_MOTION_CTRL_START_ELLIPTICAL,            /* 开始椭圆机 */
    ASR_ENGINE_MOTION_CTRL_START_CLIMBING,              /* 开始登山 */
    ASR_ENGINE_MOTION_CTRL_START_TRAIL_RUNNING,         /* 开始越野跑 */
    ASR_ENGINE_MOTION_CTRL_START_SKIING,                /* 开始滑雪 */
    ASR_ENGINE_MOTION_CTRL_START_ROWING,                /* 开始划船机 */
    ASR_ENGINE_MOTION_CTRL_START_TRIATHLON,             /* 开始铁人三项 */
    ASR_ENGINE_MOTION_CTRL_START_GOLF,                  /* 开始高尔夫 */
    ASR_ENGINE_MOTION_CTRL_START_FREE_TRAINING,         /* 开始自由训练 */
    ASR_ENGINE_MOTION_CTRL_ADD_SPORT,                   /* 开始添加运动 */
    ASR_ENGINE_MOTION_CTRL_PAUSE_SPORT,                 /* 暂停运动 */
    ASR_ENGINE_MOTION_CTRL_RESUME_SPORT,                /* 继续运动 */
    ASR_ENGINE_MOTION_CTRL_STOP_SPORT,                  /* 停止运动 */
    ASR_ENGINE_MOTION_CTRL_START_LAST_SPORT,            /* 开始上次运动 */
    ASR_ENGINE_MOTION_CTRL_MAX,
} AsrEngineMotionControl;
枚举成员 取值 描述
ASR_ENGINE_MOTION_CTRL_START_SPORT 0 开始运动
ASR_ENGINE_MOTION_CTRL_START_INDOOR_RUNNING 1 开始室内跑
ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_RUNNING 2 开始户外跑
ASR_ENGINE_MOTION_CTRL_START_RUNNING_COURSE 3 开始跑步课程
ASR_ENGINE_MOTION_CTRL_START_INDOOR_WALKING 4 开始室内健走
ASR_ENGINE_MOTION_CTRL_START_WALKING 5 开始健走
ASR_ENGINE_MOTION_CTRL_START_INDOOR_CYCLING 6 开始室内骑行
ASR_ENGINE_MOTION_CTRL_START_OUTDOOR_CYCLING 7 开始户外骑行
ASR_ENGINE_MOTION_CTRL_START_TREADMILL 8 开始跑步机
ASR_ENGINE_MOTION_CTRL_START_OPENWATER_SWIMMING 9 开始公开水域游泳
ASR_ENGINE_MOTION_CTRL_START_POOL_SWIMMING 10 开始泳池游泳
ASR_ENGINE_MOTION_CTRL_START_ELLIPTICAL 11 开始椭圆机
ASR_ENGINE_MOTION_CTRL_START_CLIMBING 12 开始登山
ASR_ENGINE_MOTION_CTRL_START_TRAIL_RUNNING 13 开始越野跑
ASR_ENGINE_MOTION_CTRL_START_SKIING 14 开始滑雪
ASR_ENGINE_MOTION_CTRL_START_ROWING 15 开始划船机
ASR_ENGINE_MOTION_CTRL_START_TRIATHLON 16 开始铁人三项
ASR_ENGINE_MOTION_CTRL_START_GOLF 17 开始高尔夫
ASR_ENGINE_MOTION_CTRL_START_FREE_TRAINING 18 开始自由训练
ASR_ENGINE_MOTION_CTRL_ADD_SPORT 19 开始添加运动
ASR_ENGINE_MOTION_CTRL_PAUSE_SPORT 20 暂停运动
ASR_ENGINE_MOTION_CTRL_RESUME_SPORT 21 继续运动
ASR_ENGINE_MOTION_CTRL_STOP_SPORT 22 停止运动
ASR_ENGINE_MOTION_CTRL_START_LAST_SPORT 23 开始上次运动
ASR_ENGINE_MOTION_CTRL_MAX 24 枚举边界值

AsrEngineMotionTarget

typedef enum {
    ASR_ENGINE_MOTION_TARGET_NONE = 0x00,   /* 无目标 */
    ASR_ENGINE_MOTION_TARGET_DISTANCE_KM,   /* 距离目标:千米 */
    ASR_ENGINE_MOTION_TARGET_STEPS,         /* 步数目标 */
    ASR_ENGINE_MOTION_TARGET_TRIPS,         /* 趟数/圈数目标 */
    ASR_ENGINE_MOTION_TARGET_DISTANCE_M,    /* 距离目标:米 */
    ASR_ENGINE_MOTION_TARGET_CALORIE,       /* 卡路里目标 */
    ASR_ENGINE_MOTION_TARGET_MAX,
} AsrEngineMotionTarget;
枚举成员 取值 描述
ASR_ENGINE_MOTION_TARGET_NONE 0 无目标
ASR_ENGINE_MOTION_TARGET_DISTANCE_KM 1 距离目标:千米
ASR_ENGINE_MOTION_TARGET_STEPS 2 步数目标
ASR_ENGINE_MOTION_TARGET_TRIPS 3 趟数/圈数目标
ASR_ENGINE_MOTION_TARGET_DISTANCE_M 4 距离目标:米
ASR_ENGINE_MOTION_TARGET_CALORIE 5 卡路里目标
ASR_ENGINE_MOTION_TARGET_MAX 6 枚举边界值

AsrEngineTelephoneControl

typedef enum {
    ASR_ENGINE_TELEPHONE_CTRL_DIAL_NUMBER,  /* 拨打电话 */
    ASR_ENGINE_TELEPHONE_CTRL_ANSWER_CALL,  /* 接听电话 */
    ASR_ENGINE_TELEPHONE_CTRL_REFUSE_CALL,  /* 拒绝电话 */
    ASR_ENGINE_TELEPHONE_CTRL_MAX,
} AsrEngineTelephoneControl;
枚举成员 取值 描述
ASR_ENGINE_TELEPHONE_CTRL_DIAL_NUMBER 0 拨打电话
ASR_ENGINE_TELEPHONE_CTRL_ANSWER_CALL 1 接听电话
ASR_ENGINE_TELEPHONE_CTRL_REFUSE_CALL 2 拒绝电话
ASR_ENGINE_TELEPHONE_CTRL_MAX 3 枚举边界值

AsrEngineTimerControl

typedef enum {
    ASR_ENGINE_TIMER_CTRL_SET = 0x01,       /* 设置计时器 */
    ASR_ENGINE_TIMER_CTRL_START = 0x02,     /* 启动计时器 */
    ASR_ENGINE_TIMER_CTRL_PAUSE = 0x03,     /* 暂停计时器 */
    ASR_ENGINE_TIMER_CTRL_RESUME = 0x04,    /* 恢复计时器 */
    ASR_ENGINE_TIMER_CTRL_RESET = 0x05,     /* 复位计时器 */
    ASR_ENGINE_TIMER_CTRL_RESTART = 0x06,   /* 重启计时器 */
    ASR_ENGINE_TIMER_CTRL_MAX,              /* 枚举边界值 */
} AsrEngineTimerControl;
枚举成员 取值 描述
ASR_ENGINE_TIMER_CTRL_SET 1 设置计时器
ASR_ENGINE_TIMER_CTRL_START 2 启动计时器
ASR_ENGINE_TIMER_CTRL_PAUSE 3 暂停计时器
ASR_ENGINE_TIMER_CTRL_RESUME 4 恢复计时器
ASR_ENGINE_TIMER_CTRL_RESET 5 复位计时器
ASR_ENGINE_TIMER_CTRL_RESTART 6 重启计时器
ASR_ENGINE_TIMER_CTRL_MAX 7 枚举边界值

AsrEngineDeviceControl

typedef enum {
    ASR_ENGINE_DEVICE_CTRL_SET_BRIGHTNESS,       /* 设置亮度 */
    ASR_ENGINE_DEVICE_CTRL_INCREASE_BRIGHTNESS,  /* 增大亮度 */
    ASR_ENGINE_DEVICE_CTRL_DECREASE_BRIGHTNESS,  /* 减小亮度 */
    ASR_ENGINE_DEVICE_CTRL_OPEN_MUTE,            /* 打开静音 */
    ASR_ENGINE_DEVICE_CTRL_INCREASE_VOLUME,      /* 增大音量 */
    ASR_ENGINE_DEVICE_CTRL_DECREASE_VOLUME,      /* 减小音量 */
    ASR_ENGINE_DEVICE_CTRL_OPEN_STEADY_SCREEN,   /* 打开持续亮屏 */
    ASR_ENGINE_DEVICE_CTRL_CLOSE_STEADY_SCREEN,  /* 关闭持续亮屏 */
    ASR_ENGINE_DEVICE_CTRL_SET_RING,             /* 设置铃声 */
    ASR_ENGINE_DEVICE_CTRL_LOCK_SCREEN,          /* 锁定屏幕 */
    ASR_ENGINE_DEVICE_CTRL_RETURN_HOME,          /* 回到表盘 */
    ASR_ENGINE_DEVICE_CTRL_SET_NODISTURB,        /* 设置勿扰 */
    ASR_ENGINE_DEVICE_CTRL_OPEN_NODISTURB,       /* 打开勿扰 */
    ASR_ENGINE_DEVICE_CTRL_CLOSE_NODISTURB,      /* 关闭勿扰 */
    ASR_ENGINE_DEVICE_CTRL_TIMING_NODISTURB,     /* 定时勿扰 */
    ASR_ENGINE_DEVICE_CTRL_SMART_NODISTURB,      /* 智能勿扰 */
    ASR_ENGINE_DEVICE_CTRL_OPEN_POWER_SAVE,      /* 打开省电 */
    ASR_ENGINE_DEVICE_CTRL_CLOSE_POWER_SAVE,     /* 关闭省电 */
    ASR_ENGINE_DEVICE_CTRL_OPEN_THEATER,         /* 打开剧院 */
    ASR_ENGINE_DEVICE_CTRL_CLOSE_THEATER,        /* 关闭剧院 */
    ASR_ENGINE_DEVICE_CTRL_CONNECT_PHONE,        /* 连接手机 */
    ASR_ENGINE_DEVICE_CTRL_FIND_PHONE,           /* 查找手机 */
    ASR_ENGINE_DEVICE_CTRL_OPEN_FLASHLIGHT,      /* 打开手电筒 */
    ASR_ENGINE_DEVICE_CTRL_CLOSE_FLASHLIGHT,     /* 关闭手电筒 */
    ASR_ENGINE_DEVICE_CTRL_MAX,
} AsrEngineDeviceControl;
枚举成员 取值 描述
ASR_ENGINE_DEVICE_CTRL_SET_BRIGHTNESS 0 设置亮度
ASR_ENGINE_DEVICE_CTRL_INCREASE_BRIGHTNESS 1 增大亮度
ASR_ENGINE_DEVICE_CTRL_DECREASE_BRIGHTNESS 2 减小亮度
ASR_ENGINE_DEVICE_CTRL_OPEN_MUTE 3 打开静音
ASR_ENGINE_DEVICE_CTRL_INCREASE_VOLUME 4 增大音量
ASR_ENGINE_DEVICE_CTRL_DECREASE_VOLUME 5 减小音量
ASR_ENGINE_DEVICE_CTRL_OPEN_STEADY_SCREEN 6 打开持续亮屏
ASR_ENGINE_DEVICE_CTRL_CLOSE_STEADY_SCREEN 7 关闭持续亮屏
ASR_ENGINE_DEVICE_CTRL_SET_RING 8 设置铃声
ASR_ENGINE_DEVICE_CTRL_LOCK_SCREEN 9 锁定屏幕
ASR_ENGINE_DEVICE_CTRL_RETURN_HOME 10 回到表盘
ASR_ENGINE_DEVICE_CTRL_SET_NODISTURB 11 设置勿扰
ASR_ENGINE_DEVICE_CTRL_OPEN_NODISTURB 12 打开勿扰
ASR_ENGINE_DEVICE_CTRL_CLOSE_NODISTURB 13 关闭勿扰
ASR_ENGINE_DEVICE_CTRL_TIMING_NODISTURB 14 定时勿扰
ASR_ENGINE_DEVICE_CTRL_SMART_NODISTURB 15 智能勿扰
ASR_ENGINE_DEVICE_CTRL_OPEN_POWER_SAVE 16 打开省电
ASR_ENGINE_DEVICE_CTRL_CLOSE_POWER_SAVE 17 关闭省电
ASR_ENGINE_DEVICE_CTRL_OPEN_THEATER 18 打开剧院
ASR_ENGINE_DEVICE_CTRL_CLOSE_THEATER 19 关闭剧院
ASR_ENGINE_DEVICE_CTRL_CONNECT_PHONE 20 连接手机
ASR_ENGINE_DEVICE_CTRL_FIND_PHONE 21 查找手机
ASR_ENGINE_DEVICE_CTRL_OPEN_FLASHLIGHT 22 打开手电筒
ASR_ENGINE_DEVICE_CTRL_CLOSE_FLASHLIGHT 23 关闭手电筒
ASR_ENGINE_DEVICE_CTRL_MAX 24 枚举边界值

AsrEngineWakeupKeyword

typedef enum {
    ASR_ENGINE_WAKEUP_KEYWORD_XIAO_YI = 0x01,        /* 小艺,小艺 */
    ASR_ENGINE_WAKEUP_KEYWORD_XIAO_WEI = 0x02,       /* 小薇,小薇 */
    ASR_ENGINE_WAKEUP_KEYWORD_HELLO_YOYO = 0x03,     /* 你好悠悠 */
    ASR_ENGINE_WAKEUP_KEYWORD_XIAO_AI = 0x04,        /* 小爱 */
    ASR_ENGINE_WAKEUP_KEYWORD_HI_CELIA = 0x05,       /* 嗨,塞莉亚 */
    ASR_ENGINE_WAKEUP_KEYWORD_MAX,
} AsrEngineWakeupKeyword;
枚举成员 取值 描述
ASR_ENGINE_WAKEUP_KEYWORD_XIAO_YI 1 小艺,小艺
ASR_ENGINE_WAKEUP_KEYWORD_XIAO_WEI 2 小薇,小薇
ASR_ENGINE_WAKEUP_KEYWORD_HELLO_YOYO 3 你好悠悠
ASR_ENGINE_WAKEUP_KEYWORD_XIAO_AI 4 小爱
ASR_ENGINE_WAKEUP_KEYWORD_HI_CELIA 5 嗨,塞莉亚
ASR_ENGINE_WAKEUP_KEYWORD_MAX 6 枚举边界值

AsrEngineWorkMode

typedef enum {
    ASR_ENGINE_WAKEUP_ON_VAD,        /* VAD唤醒模式,检测到人声时唤醒 */
    ASR_ENGINE_ALWAYS_WAKE,          /* 始终唤醒模式,保持引擎持续唤醒 */
} AsrEngineWorkMode;
枚举成员 取值 描述
ASR_ENGINE_WAKEUP_ON_VAD 0 VAD唤醒模式,检测到人声时唤醒
ASR_ENGINE_ALWAYS_WAKE 1 始终唤醒模式,保持引擎持续唤醒

AsrEngineLanguage

typedef enum {
    ASR_ENGINE_CHINESE,     /* 中文 */
    ASR_ENGINE_ENGLISH,     /* 英文(暂不支持) */
} AsrEngineLanguage;
枚举成员 取值 描述
ASR_ENGINE_CHINESE 0 中文
ASR_ENGINE_ENGLISH 1 英文(暂不支持)

Structures

AsrEngineAppControlInfo

typedef struct {
    AsrEngineAppId appId;
    AsrEngineAppControl appControlType;
} AsrEngineAppControlInfo;

成员说明

成员名称 数据类型 描述
appId AsrEngineAppId 应用标识
appControlType AsrEngineAppControl 应用控制类型

AsrEngineMusicControlInfo

typedef struct {
    AsrEngineMusicControl musicControlType;
} AsrEngineMusicControlInfo;

成员说明

成员名称 数据类型 描述
musicControlType AsrEngineMusicControl 音乐控制类型

AsrEngineDateTime

typedef struct {
    AsrEngineTimeDay day;
    AsrEngineTimePeriod timePeriod;
    int32_t hour;
    int32_t minute;
} AsrEngineDateTime;

成员说明

成员名称 数据类型 描述
day AsrEngineTimeDay 日期
timePeriod AsrEngineTimePeriod 时间段
hour int32_t 小时
minute int32_t 分钟

AsrEngineAlarmControlInfo

typedef struct {
    AsrEngineAlarmControl alarmControlType;
    AsrEngineDateTime alarmDateTime;
} AsrEngineAlarmControlInfo;

成员说明

成员名称 数据类型 描述
alarmControlType AsrEngineAlarmControl 闹钟控制类型
alarmDateTime AsrEngineDateTime 闹钟时间

AsrEngineMotionControlInfo

typedef struct {
    AsrEngineMotionControl motionControlType;
    AsrEngineMotionTarget motionTarget;
    float value;
} AsrEngineMotionControlInfo;

成员说明

成员名称 数据类型 描述
motionControlType AsrEngineMotionControl 运动控制类型
motionTarget AsrEngineMotionTarget 运动目标类型
value float 运动目标值

AsrEngineTelephoneControlInfo

typedef struct {
    AsrEngineTelephoneControl telephoneControlType;
    uint32_t telnum;
} AsrEngineTelephoneControlInfo;

成员说明

成员名称 数据类型 描述
telephoneControlType AsrEngineTelephoneControl 电话控制类型
telnum uint32_t 电话号码

AsrEngineTimerControlInfo

typedef struct {
    AsrEngineTimerControl timerControlType;
    int32_t hour; /* 单位:小时 */
    int32_t minute; /* 单位:分钟 */
    int32_t second; /* 单位:秒 */
} AsrEngineTimerControlInfo;

成员说明

成员名称 数据类型 描述
timerControlType AsrEngineTimerControl 计时器控制类型
hour int32_t 小时
minute int32_t 分钟
second int32_t

AsrEngineDeviceControlInfo

typedef struct {
    AsrEngineDeviceControl deviceControlType;
} AsrEngineDeviceControlInfo;

成员说明

成员名称 数据类型 描述
deviceControlType AsrEngineDeviceControl 设备控制类型

AsrEngineWakeupKeywordInfo

typedef struct {
    AsrEngineWakeupKeyword wakeupKeyword;
} AsrEngineWakeupKeywordInfo;

成员说明

成员名称 数据类型 描述
wakeupKeyword AsrEngineWakeupKeyword 唤醒词类型

AsrEngineCmdInfo

typedef struct {
    int32_t index;
    AsrEngineCmdId cmdId;
    union {
        AsrEngineAppControlInfo appControlInfo;
        AsrEngineMusicControlInfo musicControlInfo;
        AsrEngineAlarmControlInfo alarmControlInfo;
        AsrEngineMotionControlInfo motionControlInfo;
        AsrEngineTelephoneControlInfo telephoneControlInfo;
        AsrEngineTimerControlInfo timerControlInfo;
        AsrEngineDeviceControlInfo deviceControlInfo;
        AsrEngineWakeupKeywordInfo wakeupKeywordInfo;
    };
} AsrEngineCmdInfo;

成员说明

成员名称 数据类型 描述
index int32_t 命令索引
cmdId AsrEngineCmdId 命令标识
appControlInfo AsrEngineAppControlInfo APP控制信息(联合体成员)
musicControlInfo AsrEngineMusicControlInfo 音乐控制信息(联合体成员)
alarmControlInfo AsrEngineAlarmControlInfo 闹钟控制信息(联合体成员)
motionControlInfo AsrEngineMotionControlInfo 运动控制信息(联合体成员)
telephoneControlInfo AsrEngineTelephoneControlInfo 电话控制信息(联合体成员)
timerControlInfo AsrEngineTimerControlInfo 计时器控制信息(联合体成员)
deviceControlInfo AsrEngineDeviceControlInfo 设备控制信息(联合体成员)
wakeupKeywordInfo AsrEngineWakeupKeywordInfo 唤醒词信息(联合体成员)

AsrEngineInitParams

typedef struct {
    bool  enableNpu; /* false: 固定命令词 true:模糊命令词 */
    AsrEngineLanguage language;
    AsrEngineWorkMode workMode;
    AsrEngineListener listener;
} AsrEngineInitParams;

成员说明

成员名称 数据类型 描述
enableNpu bool NPU使能标志,false为固定命令词,true为模糊命令词
language AsrEngineLanguage 识别语言
workMode AsrEngineWorkMode 引擎工作模式
listener AsrEngineListener 事件回调函数

Associations

AsrEngineCmdInfo匿名联合体

union {
    AsrEngineAppControlInfo appControlInfo;
    AsrEngineMusicControlInfo musicControlInfo;
    AsrEngineAlarmControlInfo alarmControlInfo;
    AsrEngineMotionControlInfo motionControlInfo;
    AsrEngineTelephoneControlInfo telephoneControlInfo;
    AsrEngineTimerControlInfo timerControlInfo;
    AsrEngineDeviceControlInfo deviceControlInfo;
    AsrEngineWakeupKeywordInfo wakeupKeywordInfo;
};
成员名称 类型 描述
appControlInfo AsrEngineAppControlInfo APP控制信息
musicControlInfo AsrEngineMusicControlInfo 音乐控制信息
alarmControlInfo AsrEngineAlarmControlInfo 闹钟控制信息
motionControlInfo AsrEngineMotionControlInfo 运动控制信息
telephoneControlInfo AsrEngineTelephoneControlInfo 电话控制信息
timerControlInfo AsrEngineTimerControlInfo 计时器控制信息
deviceControlInfo AsrEngineDeviceControlInfo 设备控制信息
wakeupKeywordInfo AsrEngineWakeupKeywordInfo 唤醒词信息

Type definitions

AsrEngineListener

typedef void (*AsrEngineListener)(AsrEngineEvent event, void *data, uint32_t length);

使用说明

ASR引擎事件回调函数类型,用于IntellVoiceAsrEngineInit的initParams参数的listener成员