Skip to content

3.13 节奏打鼓手

3.13.1 造型介绍

  这是一位会 “语音控节拍” 的节奏打鼓手,语音控制鼓点启停,搭配随机背景音乐自动敲击鼓面,随心切换演奏节奏。

3.13.2 学习目标

  1. 掌握 WonderLLM 语音指令识别与 360° 积木舵机动作联动的控制方法,理解节奏控制与机械动作的对应逻辑。

  2. 学会通过 ESP32 输出精准的 360° 积木舵机控制信号,模拟打鼓动作并同步控制音乐播放。

3.13.3 积木搭建

PDF 未正常显示? 在新窗口打开

3.13.4 模式切换

本造型需要用在线大模型,如果已经进入在线大模型模式即可跳过此步骤直接进入设备接线步骤,否则请参考"4.4.10 固件更新"的内容重新烧录对应固件。

3.13.5 设备接线

将 WonderLLM 模块接线插入 ESP32 主控器 接口;

将 360° 积木舵机接线插入 ESP32 主控器 接口,舵机 接线插入 S1 的 引脚处。

如图所示:

3.13.6 程序编写

(1) 程序原理图

(2) 添加扩展库

在 “扩展” 中选择 “传感器” 添加 “WonderLLM” 。

(3) 核心代码块解析

指令块所在类别功能说明
向WonderLLM大模型发送自定义文本信息。
配置MCP工具调用参数,自定义工具名称、描述、执行指令与返回参数,设置调用阻塞与数据返回规则。
开启或关闭MCP开关,控制WonderLLM是否启用自定义工具调用能力。
读取MCP工具执行完成后返回的结果数据。
控制对话消息输出模式,可发送动作结束标识、开启或关闭对话内容打印输出。
控制指定接口的360°舵机,按设定的自定义速度持续转动。
布尔逻辑判断,对输入条件进行真假判定或取反运算。
自定义录入或调用文本内容,生成可参与拼接、判断、显示的字符串数据。
判断数组、元组、字典内是否存在指定元素,返回布尔结果。
根据指定键名,提取字典中对应存储的数值或文本内容。

(4) MCP参数配置

工具名称:self.robot.setMusic

​ 1.工具描述: You can control the start and stop of the drumming. The parameters are as follows: 1 is returned when starting the drumming, and 0 is returned when stopping.

​ 简述:你可以控制鼓声的开始和停止。参数如下:开始打鼓时返回1,停止时返回0。

​ 2.指令名称:setMusic

​ 3.返回参数:[["music","int","0","0","1"]]

​ 4.是否阻塞直到调用完成:是

​ 5.是否返回数据:否

​ 6.功能:这段 MCP 配置是给 WonderLLM 模块定义鼓声控制工具:让 WonderLLM 能下发 0-1 开关指令控制鼓声启停,调用时程序会阻塞等待鼓乐动作执行完毕,且无需向 WonderLLM 回传运行数据。

(5) 完整程序展示

  1. 上电初始化 WonderLLM 模块的硬件接口为 1,并启用 MCP 工具,配置 setMusic 鼓乐启停参数;

  2. 程序循环等待语音下发 0/1 控制参数,持续接收模型反馈指令;

  3. 参数 1 时 360° 积木舵机循环敲击并播放背景音乐,参数 0 停止演奏;

  4. 整套动作执行阻塞结束,舵机复位后重新监听语音。

  • 程序源文件存放于「附录文件」目录内的「课程资料」,可前往该处下载压缩包获取。

3.13.7 程序下载

3.13.8 扩展提升

项目一:三档节奏语音切换

  语音下达慢速、中速、高速对应指令,打鼓手分别以对应快慢节奏循环敲击鼓面,运行过程中可随时语音切换档位,练习语音文本匹配、360°积木舵机速度参数切换编程。

项目二:节奏匹配差异化音效

  低速打鼓搭配低沉厚重蜂鸣节拍,中速搭配平稳中音鼓点,高速搭配急促清脆短音,停止演奏后蜂鸣播放收尾旋律,掌握机械动作与分段音效绑定输出逻辑。

3.13.9 技术支持与产品讨论

如果您在产品使用过程中遇到困难,欢迎您通过如下方式向我们反馈:

表单未正常显示? 在新窗口打开

如果您在产品体验后有更好的创意,欢迎您进入幻尔社区将您的创意分享: