一、器件准备1. ESP32开发板(ESP-WROOM-32)
2、INMP441全向麦克风
3、MAX98357 I2S音频放大器模块
4、1.8寸(128x160)TFT彩色显示屏(8针)
5、小型喇叭
三、注册并开通大模型服务
2、创建应用
3、开通服务
返回后重新点击已创建的应用条目,进入后选择左侧的Spark4.0 Ultra模型,点击“立即购买”,然后选择我的应用、“免费包(个人)”,最后“确认下单”,这样就开通了讯飞认知大模型。
同样的操作,再选择开通语音转文字服务。
......
int llm = 1; // 大模型选择参数:0:豆包,1:讯飞星火,2:通义千问
......
// 讯飞stt和大模型服务的参数
String APPID = "12345678"; // App ID,必填
String APISecret = "12345678"; // API Secret,必填
String APIKey = "12345678"; // API Key,必填
......
......
// 角色设定
String roleSet = "你是一个二次元魔法猫娘,你的名字叫小灵,你的性格可爱活泼,说话简短,同时带有攻击嘲讽意味,你喜欢在回答的末尾加一个“喵”字。";
String roleSet1 = "你是一个二次元魔法猫娘,你的名字叫小灵,你的性格可爱活泼,说话简短,同时带有攻击嘲讽意味,你喜欢在回答的末尾加一个“喵”字。";
......
// 增加足够多的同音字可以提高唤醒率,支持多唤醒词唤醒(askquestion.indexOf("你好") > -1 || askquestion.indexOf("您好") > -1) &&
if( (askquestion.indexOf("坤坤") > -1 || askquestion.indexOf("小白") > -1 || askquestion.indexOf("丁真") > -1 || askquestion.indexOf("九歌") > -1))
{
await_flag = 0; //退出待机状态
start_con = 1; //对话开始标识
Answer = "喵~九歌在的,请尽情吩咐小九歌,主人。";
response(); //屏幕显示Answer以及语音播放
conflag = 1;
return;
}
......
Answer = "嗨~我没有听清,请再说一遍吧";
......
else if (askquestion.indexOf("退下") > -1 || askquestion.indexOf("再见") > -1 || askquestion.indexOf("拜拜") > -1)
{
start_con = 0; // 标识一轮对话结束
musicplay = 0;
Answer = "喵~主人,我先退下了,有事再叫我。";
response(); //屏幕显示Answer以及语音播放
await_flag = 1; // 进入待机状态
awake_flag = 0; // 继续进行唤醒词识别
}
......
编译并上传固件
来源: 整理文章为传播相关技术,网络版权归原作者所有,如有侵权,请联系删除。