pyAIUIConstant.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. #!/usr/bin python3
  2. # coding=utf-8
  3. from enum import IntEnum
  4. class AIUIConstant(IntEnum):
  5. """aiui事件和消息相关常量"""
  6. EVENT_RESULT = 1
  7. """结果事件
  8. data 字段携带结果数据,info 字段为描述数据的 JSON 字符串
  9. """
  10. EVENT_ERROR = 2
  11. """出错事件
  12. arg1 字段为错误码,info字段为错误描述信息
  13. """
  14. EVENT_STATE = 3
  15. """服务状态事件
  16. arg1 为服务状态,取值:STATE_IDLE、STATE_READY、STATE_WORKING
  17. """
  18. EVENT_WAKEUP = 4
  19. """唤醒事件
  20. arg1 字段取值:
  21. 0 => 内部语音唤醒
  22. 1 => 外部手动唤醒
  23. info 字段为唤醒结果 JSON 字符串
  24. """
  25. EVENT_SLEEP = 5
  26. """休眠事件
  27. 出现交互超,服务会进入休眠状态(待唤醒),或者发送了 CMD_RESET_WAKEUP 时,抛出该事件
  28. arg1 字段取值:
  29. 0 => TYPE_AUTO(自动休眠,即交互超时)
  30. 1 => TYPE_COMPEL(外部强制休眠,即发送 CMD_RESET_WAKEUP)
  31. """
  32. EVENT_VAD = 6
  33. """ VAD 事件
  34. 当检测到输入音频的前端点后,会抛出该事件,用 arg1 标识前后端点或音量信息:
  35. 0 => 前端点
  36. 1 => 音量
  37. 2 => 后端点
  38. 3 => 前端点超时
  39. 当 arg1 取值为 1 时,arg2 为音量大小,取值范围:[0-30]
  40. """
  41. EVENT_CMD_RETURN = 8
  42. """某条 CMD 命令对应的返回事件
  43. 对于除 CMD_GET_STATE 外的有返回的命令,会返回该事件
  44. 用 arg1 标识对应的CMD命令,arg2 为返回值,0 表示成功,info 字段为描述信息
  45. """
  46. EVENT_AUDIO = 9
  47. """音频事件"""
  48. EVENT_PRE_SLEEP = 10
  49. """准备休眠事件
  50. 当出现交互超时,服务会先抛出准备休眠事件,用户可在收到该事件后 10s 内继续交互,10s 后进入休眠状态
  51. """
  52. EVENT_START_RECORD = 11
  53. """抛出该事件通知外部录音开始,用户可以开始说话"""
  54. EVENT_STOP_RECORD = 12
  55. """通知外部录音停止"""
  56. EVENT_CONNECTED_TO_SERVER = 13
  57. """与服务端建立起连接事件
  58. 连接建立后,才能进行数据同步等操作
  59. """
  60. EVENT_SERVER_DISCONNECTED = 14
  61. """与服务端断开连接事件
  62. 连接断开后,将不能进行数据同步等操作
  63. """
  64. EVENT_TTS = 15
  65. """语音合成事件"""
  66. STATE_IDLE = 1
  67. """空闲状态,AIUI服务未开启"""
  68. STATE_READY = 2
  69. """就绪状态,等待唤醒"""
  70. STATE_WORKING = 3
  71. """工作状态,已经唤醒,可以开始人机交互"""
  72. CMD_GET_STATE = 1
  73. """获取交互状态
  74. AIUI 会回应 EVENT_STATE 事件
  75. """
  76. CMD_WRITE = 2
  77. """写入数据"""
  78. CMD_STOP_WRITE = 3
  79. """停止写入数据"""
  80. CMD_RESET = 4
  81. """重置 AIUI 服务的状态
  82. 服务会立即停止并重新启动,进入到待唤醒状态
  83. """
  84. CMD_START = 5
  85. """启动 AIUI 服务"""
  86. CMD_STOP = 6
  87. """停止 AIUI 服务"""
  88. CMD_WAKEUP = 7
  89. """手动唤醒"""
  90. CMD_RESET_WAKEUP = 8
  91. """休眠消息
  92. 服务重置为待唤醒状态,若当前为唤醒状态,发送该消息重置后会抛出 EVENT_SLEEP 事件
  93. """
  94. CMD_SET_PARAMS = 10
  95. """设置参数配置
  96. 用 params 携带参数设置 JSON 字符串,具体格式参照 aiui.cfg 文件
  97. """
  98. CMD_SYNC = 13
  99. """同步个性化数据
  100. arg1 表示同步的数据类型
  101. data 表示同步的数据内容
  102. """
  103. CMD_RESULT_VALIDATION_ACK = 20
  104. """
  105. 结果确认
  106. 在接收到语义、听写、后处理的结果后 5s 内发送该指令对结果进行确认,AIUI会认为该条结果有效,并重新开始 AIUI 交互超时的计时
  107. """
  108. CMD_CLEAN_DIALOG_HISTORY = 21
  109. """清除云端语义对话历史"""
  110. CMD_QUERY_SYNC_STATUS = 24
  111. """查询数据同步状态
  112. arg1 表示状态查询的类型
  113. params 包含查询条件,需要在 params 中通过 sid 字段指定 CMD_SYNC 返回的 sid
  114. """
  115. CMD_TTS = 27
  116. """语音合成命令"""
  117. # VAD相关常量
  118. VAD_BOS = 0
  119. """VAD前端点"""
  120. VAD_VOLUME = 1
  121. """VAD音量"""
  122. VAD_EOS = 2
  123. """VAD后端点"""
  124. VAD_TIMEOUT = 3
  125. """VAD前端点超时"""
  126. # 自动休眠类型
  127. TYPE_AUTO = 0
  128. """自动休眠"""
  129. TYPE_COMPEL = 1
  130. """强制休眠"""
  131. SUCCESS = 0
  132. """成功"""
  133. FAIL = -1
  134. """失败"""