Releases: wangzongming/esp-ai
Releases · wangzongming/esp-ai
Server@2.86.53 - Client@2.95.56
Server - Nodejs
- ✨ 新增
ASR插件新增getClientAudioConfig用于获取客户端传入的音频配置,详情见文档。 - ✨ 新增 支持传入文本来进行对话,详情见:传入文本对话
- ✨ 新增
music_gen_ing的指令回调,用于标识开始创作音乐 - ✨ 新增 服务请求中可以增加
AUDIO_BUFFER_SIZE、LITTLE_ROM用于告诉服务端设备的能力 - ✨ 新增 服务请求中可以增加
spk_sample_rate、spk_channels、spk_format、spk_bitrate用于控制服务器返回的音频采样率 、声道数量 、 音频格式 、 音频比特率 - 💄 优化 LLM 提示词
- 💄 优化 流量控制逻辑优化,并且支持客户端传入缓冲区大小。
- 💄 优化 VAD 机制优化
- 💄 优化 鉴权失败机制
- 💄 优化 文本间隔的流畅性
- 💄 优化 TTS 插件可以返回任意格式或者采样率的音频流, 框架内部增加
codec - 🐞 修复 文字和表情下发不同步的问题
- 🐞 修复 部分其他问题
Install
npm i esp-ai@2.86.53docker Install
docker exec -it esp-ai-server npm i esp-ai@2.86.53Client - Arduino
- ✨ 新增
esp32c3开发板兼容 - ✨ 新增 灯珠数量设置
- ✨ 新增 会话监听
onSessionStatus形参增加session_end状态。 - ✨ 新增
onVolumeCb回调函数用于监听音量变化。 - 💄 优化 内部音频文件全部改为
16khz的。 - 💄 优化 配网方式默认使用蓝牙配网。
- 💄 优化 动态内存占用情况进行深度优化
- 💄 优化 小程序配网时的提示语修改为
“打开微信小程序配网” - 💄 优化 音量变化时发出提示音
- 🤔 调整 蓝牙配网只使用
ble配网。 - 🤔 调整 打断会话时不回复问候语,这样响应会快一些。
- 🤔
⚠️ 调整 全局变量esp_ai_pixels改为指针,使用时请使用esp_ai_pixels->xxx。 - 🤔
⚠️ 调整ESP_AI_wifi_config.html_str改为const char*类型,避免大量内存被占用。
// 旧版
char html_str[] = "<html><body>配网页面</body></html>";
// 新版
const char html_str[] PROGMEM = R"rawliteral(
xxx
)rawliteral";- 🤔
⚠️ 调整 所有回调函数的形参改为const String&类型,在提高数据安全性的同时避免大量内存被占用。
// 旧版
void on_command( String command_id, String data)
{
// ...
}
// 新版
void on_command(const String &command_id, const String &data)
{
// ...
}
- 🐞 修复 聆听指示灯有时候过快亮起来
- 🐞 修复 网络连接成功回调执行延迟比较大
Install
esp-ai-2.95.56.zip
Server@2.75.51 - Client@2.86.49
Server@2.75.51 - Client@2.86.49
Server - Nodejs
💄 优化 VAD 结束时间优化
🐞 修复 有些情况下 .stop() 方法会导致设备会一直处于唤醒中,并且增加 stop_all 参数 用于打断所有播放。
Install
npm i esp-ai@2.75.51
docker Install
docker exec -it esp-ai-server npm i esp-ai@2.75.51
Client - Arduino
💄 优化 对部分服务指令增加响应帧。
💄 优化 蓝牙配网数据采用分段传输。
Install
Server@2.74.50 - Client@2.84.49
2025/6/4 Server@2.74.50 - Client@2.84.49
Server - Nodejs
- 💄 优化
LLM提示词,避免有些时候让他讲故事等场景它不会真的去讲。
Install
npm i esp-ai@2.74.50
docker Install
docker exec -it esp-ai-server npm i esp-ai@2.74.50
Client - Arduino
- 🐞 修复 蓝牙配网硬件传入的数据不能被正常解析。
- 🐞 修复 多个网络记忆逻辑存在些许问题。
- 🐞 修复 修复非常见位数的麦克风无法收音。
- 🐞 修复
.setLocalData方法设置的数据,如果存在相同子串会导致冲突。 - 🐞 修复
.clearData不会清除自定义数据的问题。 - 🐞 修复 连接自定义服务器失败的问题。
Install
esp-ai.zip
Server@2.74.49 - Client@2.84.43
2025/6/1 Server@2.74.49 - Client@2.84.43
Server - Nodejs
- ✨ 新增
await awaitPlayerDone(...)方法用于等待音频播放完毕。 - ✨ 新增
isSpeaking(...)方法用于获取某个设备是否正在播放音频。 - ✨ 新增
api_key、gen_client_config(...).api_key配置,用于配置全局/用户的ESP-AI的秘钥,在一些需要进行AI服务时使用。 - ✨ 新增
vad_first(首次等待用户说话时间)、vad_course(对话过程中等待用户说话时间) 用于全局配置静默时间。 - ✨ 新增
LLM插件的形参中增加text_is_over用于标识大语言模式是否已经推理完毕。 - ✨ 新增
LEDC控制指令配置,用于配置舵机等传感器的控制。 - ✨
⚠️ 新增music_server形参中增加signal信号,用于判断用户是否已经打断了对话,详情见文档。 - ✨
⚠️ 新增IAT插件的形参中增加onIATText用于告诉框架当前ASR识别的内容。(破坏性更新,需要所有IAT插件跟随更改,必须增加调用这个钩子。) - 🤔
⚠️ 调整 删除.isPlaying()使用.isSpeaking()替换。 - 💄 优化 通信协议增加
流量控制机制,防止硬件能力不足。 - 💄 优化 用户指令执行于回复更自然流畅。
- 💄 优化 用户指令在不设置
message将由LLM进行推理回答。 - 💄 优化 重构音频数据帧组成。
- 🐞 修复 命令执行后就退下了,正常应该继续聆听用户说话。
- 🐞 修复 歌曲创作的问题。
- 🐞 修复 有时候错误提示
设备未连接, 将忽略本次唤醒。 - 🐞 修复 部分其他问题。
- 🐞 修复
LLM句子最后面如果是一个括号,可能会被错误的单独拆分。 - 🐞 修复 修复
~、...和一些特殊的结束符号结束的句子没有被正确结束。 - 🐞 修复 休息提示语有时候不对。
Client - Arduino
- ✨ 新增
.playBuiltinAudio(...)方法用于播放MP3音频文件。 - ✨ 新增
.awaitPlayerDone()方法用于等待音频播放完毕。 - ✨ 新增
.isSpeaking()方法用于获取是否正在播放音频。 - ✨ 新增
ESP_AI_i2s_config_mic.bits_per_sample、.channel_format用于匹配各种不同型号的I2S麦克风和开发板。 - ✨ 新增 情绪监听中增加
肯定、否定情绪。 - ✨ 新增
.delAllTask()删除所有任务、.suspendAllTask()挂起所有任务、.resumeAllTask()恢复所有任务。 - ✨ 新增 支持记忆5个
WIFI。 - ✨ 新增
LEDC控制方法,用于配置舵机等传感器的控制。 - ✨ 新增 蓝牙配网实现,在
wifi_config中配置way即可,详情见客户端配置文档。 - 🤔 调整 唤醒状态下不可重复唤醒,避免一些的奇怪的问题。
- 🤔 调整
arduino-audio-tools依赖降级到版本v1.0.2。 - 🤔
⚠️ 调整 硬件端删除所有VAD判断,迁移到服务端处理。删除wakeup_conifg.vad_first、wakeup_conifg.vad_course配置。 - 🤔
⚠️ 调整 删除edge_impulse唤醒方案(原因:精度难以达到理想效果) - 🤔
⚠️ 调整 上报的音频流采用PCM格式,避免编码导致的延时(VAD放置到服务端需要实时性优先)。 - 💄 优化 聆听状态不应该被打断,否则会出现一些不可控的问题。
- 💄 优化 打断会话流畅度优化。
- 💄 优化 对话流畅度优化。
- 💄 优化 音频编解码代码大量优化。
- 💄 优化 内置的所有
mp3提示语进行压缩。 - 🐞 修复 设备未初始化完毕和热点启动状态下指示灯没有颜色,以及部分情况下AI说话中的指示灯会提前结束的问题。
注意
请自行下 \client\libraries\libraries.zip 放置到依赖目录
Install
esp-ai-2.84.43.zip
Server@2.61.42 - Client@2.65.42
2025/3/30 Server@2.61.42 - Client@2.65.42
Server
- 🆕 新增
.onEmotion()方法,用于在硬件监听AI的情绪 - 🤔 调整 使用开放平台服务的地方改用备用域名
- 🤔 调整 文件注释信息改为
MIT
Client
- 🆕 新增
.onEmotion()方法,用于在硬件监听AI的情绪 - 🤔 调整 使用开放平台服务的地方改用备用域名
- 🤔 调整 文件注释信息改为
MIT
Server@2.58.42 - Client@2.62.41
2025/3/14 Server@2.58.42 - Client@2.62.41
Server
- 🐞 修复 官方 ASR 无法使用的问题
Client
未做升级
Server@2.58.41 - Client@2.62.41
2025/3/12 Server@2.58.41 - Client@2.62.41
Server
- 🆕 新增
.reCache方法,用于在服务端清除客户端音频缓存,功能同客户端的.reCache。 - 🤔 调整
.updateClientConfig方法将不在清楚客户段音频缓存,需要手动调用.reCache方法。 - 💄 优化 语句拆分优化
Client
未做升级
Server@2.58.38 - Client@2.62.40
2025/3/10 Server@2.58.38 - Client@2.62.40
Server
- 🐞 修复 小数点语句拆分错误
Client
- 🆕 新增
onBeginCb用打断程序执行,如电量不足时,应该提示用户充电,而不是继续去连接wifi。 - 🤔 调整 用户未说话时将默认等待
5s改为默认等待10s - 💄 优化
arduino-audio-tools依赖升级到最新版本 - 🐞 修复 有时会话打断会重启
- 🐞 修复 有时会一直处于ai说话中
Install
esp-ai-2.62.40.zip
Server@2.58.35 - Client@2.59.37
2025/2/24 Server@2.58.35 - Client@2.59.37
Server
Client
- 🤔 调整 不管是何种情况下的语音,只要播放完毕都会执行
onSessionStatus回调 - 🐞 修复 网络出问题时语音识别不会主动结束
Install
Server@2.58.37 - Client@2.58.36
2025/2/20 Server@2.58.35 - Client@2.58.36
Server
- 🆕 新增 插件形参中增加
session_id会话ID - 🤔
⚠️ 调整 指令依然可以设置message,会优先使用message进行回复 - 🐞 修复 长时间不说话设备自动休息时没有说休息提示
Client
- 🆕 新增 指示灯引脚改为配置方式
- 🆕 新增 插件形参中增加
session_id会话ID
Install
esp-ai-2.58.36.zip