Token导航 LogoToken导航TokenDH.com
xiaozhi MCP play music logo
音视频未说明官方级别未说明来源级核验

xiaozhi MCP play music

MCP Server

通过小智AI语音控制ESP32S3硬件播放音乐的服务,支持在线音乐查询与播放。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
C++物联网智能家居

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lixy123

提供方

lixy123

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

ESP32S3运行MCP, 小智AI用语音让其播放音乐。

必备条件

1.有一台小智AI硬件,安装有小智固件并能进行语音对话。

2.有一台搭建了 https://github.com/OmniX-Space/MeowMusicServer 的音乐服务器URL地址,供该硬件使用,运行在公网或内网均可。

如果没有该地址,就没必要继续看本项目了,这是本项目的运行基础.

3.满足本项目的ESP32S3硬件,见下文。

注:MeowMusicServer 项目代码有bug, 搭建完MeowMusicServer后,必须把本项目的 \lib\MeowMusicServer.rar解压替换掉MeowMusicServer文件才可运行本项目

提醒: MeowMusicServer底层用的是 api-v2.yuafeng.cn,api.yaohud.cn网站查歌,用的是免费接口,很容易后期变更协议,如果查不出歌,查看音乐服务器的日志中yuafengfreeapi.go源码关于 YuafengAPIResponseHandler 函数日志。必要时调试修改下查询音乐接口,一般就能解决!

一.硬件:

1.ESP32S3

Flash大小>=4MB , 必须带PSRAM

因为播放mp3用的ESP32-audioI2S库必须用到PSRAM,同时这个语音库不支持 ESP32-S2、ESP32-C3 等单核芯片。

如果想在不带PSRAM的更多ESP32系列芯片上运行,可以把ESP32-audioI2S这个音乐播放库换成这个库: https://github.com/earlephilhower/ESP8266Audio,该库不要求使用PSRAM, 源码进行少量调整即可。我项目中没用这个库的原因是因为想用PSRAM, 在播放网络音乐能对音乐数据进行缓存,减少声音卡顿机率。

2.MAX98357A

MAX98357A ==>ESP32S3引脚

I2S_OUT_BCLK 15

I2S_OUT_LRC 16

I2S_OUT_DOUT 7

3.喇叭

连接到MAX98357A

我用的是淘宝上给小智设计的开发板,用 "小智AI语音对话机器人 MINI ESP32-S3-N16R8开发板" 可查到.

该板有几个功能按钮,还带MAX98357A,省去了单独外接。

小智AI所用硬件一般是ESP32S3,ESP32C3等芯片。本程序是烧录在另一个ESP32S3芯片上运行的,不是烧录在小智所用硬件上的,不要弄混淆了。

二.软件:

1. IDE:

arduino: 2.3.5

2. 库版本:

WebSocketMCP 1.0.0 https://github.com/toddpan/xiaozhi-esp32-mcp 注:不要用0.0.10版本,无法用

如果下载不到最新的,用这个地址的库:https://github.com/lixy123/xiaozhi_mcp_play_music/blob/main/lib/xiaozhi-mcp.rar

ESPAsyncWebServer 3.10.0 https://github.com/ESP32Async/ESPAsyncWebServer

AsyncTCP 3.4.10 https://github.com/dvarrel/AsyncTCP 注:被ESPAsyncWebServer调用,版本不能过低

ArduinoJson 7.4.2 https://github.com/bblanchon/ArduinoJson.git

arduinoWebSockets 2.7.2 https://github.com/Links2004/arduinoWebSockets

ESP32-audioI2S 3.4.4 https://github.com/schreibfaul1/ESP32-audioI2S

2.编译设置:

开发板: esp32s3

USB cdc on boot: enabled

psram选择: OPI PSRAM

flash size: 16MB

partiation scheme: huge app(3MB NO OTA/1MB SPIFFS)

4.烧录

方式1: 源码烧录

A.打开arduino, 打开源码,导入上面的lib库,如果版本不一致,有一定机率编译有问题,

B.arduino进行编译设置,试编译.

C.插入ESP32S3等

D.arduino选择端口

E.arduino点击烧录按钮。 (注:有些ESP32S3板需要先按boot+reset两键进入烧录模式,有些可不用)

F.烧录完后重新上电 (注:有些板烧录完毕能自动重启,不必重新上电)

方式2: 固件烧录 (无需准备源码环境,最省事的方法)

A.下载 flash_download_tool软件

B.下载编译好的固件: (已上传至:Releases)

注:编译了esp32,esp32s3, esp32c5 三种固件,找到你芯片对应的固件进行下载,我只测试了esp32s3的固件

C. 固件烧录地址: 0x0

注: flash_download_tool 使用技巧参考:

https://my.feishu.cn/wiki/Zpz4wXBtdimBrLk25WdcXzxcnNS

编译好的固件烧录界面:

三. 配置

上电后有两种需要配置相关参数:

>>>小智 后台配置:

1.登陆小智 网站https://xiaozhi.me/

2.配置角色介绍

进入 >控制台>对应的智能体>配置角色>

在角色介绍中加入如下文字

所有用户播放音乐的请求,我会调用play_online_music的MCP服务,并提醒用户请稍等,马上为你播放!

当用户要求音乐停止时,我会调用stop_online_music的MCP服务,并提醒用户音乐已停止!

所有用户调整音乐音量请求,我会调用set_online_music_volume的MCP服务,并提醒用户音乐音量已设置!

所有用户查询音乐音量请求,我会调用get_online_music_volume的MCP服务!

注:配置完需要重启小智生效。以后不要重新查看MCP地址,再次进入页面查看MCP地址时,地址会变化,会需要重新配置ESP32S3参数

3.拷出MCP地址

进入>控制台>对应的智能体>配置角色>MCP设置>获取MCP接入点

拷出MCP接入点URL地址,下一步要用.

>>>ESP32S3配置:

1.首次运行,ESP32S3会创建一个AP.

2.用手机或电脑连接此AP

3.浏览器输入网址 http://192.168.4.1

4.填入配置参数

参数说明:

WIFI_SSID 所连接的路由器 AP账号

WIFI_PASS 所连接的路由器 AP密码

mcpEndpoint 上一步得到的小智MCP地址

Music Server Address 搭建了 https://github.com/OmniX-Space/MeowMusicServer 的音乐服务器URL地址

i2s_out_bclk ESP32开发板连接数字功放(MAX98357A)的3个引脚, 配置错误则无法发出语音

i2s_out_lrc

i2s_out_dout

led_pin ESP32 LED灯引脚,AP配置模式会亮灯 (-1表示不使用)

reset_pin ESP32 重置参数引脚,按住超5秒,下次上电后进入AP设置模式,默认0, 也就是boot按钮

volume up_pin 增加音量引脚 (-1表示不使用)

volume down_pin 减少音量引脚 (-1表示不使用)

注:所有参数必须填上,否则不让保存。

四.使用

语音指令:

1.唤醒小智后,对着小智说:"我要听张惠妹的听海"。 小智会提示“马上为您播放”,几秒钟后,音乐会从烧录有本项目固件的ESP32S3上播放出来

2.对着小智说:"停止音乐"。停止音乐播放

3.对着小智说:"调整音乐音量到50"。调整音乐播放音量

硬件按钮:

1.按下39, 40 引脚增加,减少音乐播放音量。

2.长按0 引脚5秒以后,本设备重启并进入配置参数模式。

五.问题

试听了几天,大部分音乐都能正常播放,偶有音乐卡顿,但基本上均能正常播放完。

1.偶有音乐播放卡顿,原因是音乐服务器传输问题,毕竟是网上的免费音乐,稳定性不容易保证。

2.偶有音乐播放不出。

3.极少数机率播放中途重启。

六.后续改进计划

1.增加听歌稳定性。

2.提升播放音质。

目录标签

目录标签

C++物联网智能家居本地部署语音控制音乐播放ESP32

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP