站内搜索
更多
自动吉他手《拨云》
专业版

自动吉他手《拨云》

简介

自动吉他智能弹奏装置,语音助手,接入Deepseek,自动将图片曲谱转为数字谱演奏,可以AI编曲,web网页控制,18个舵机组成,泰山派开发板为主控,分高配和低配板。

简介:自动吉他智能弹奏装置,语音助手,接入Deepseek,自动将图片曲谱转为数字谱演奏,可以AI编曲,web网页控制,18个舵机组成,泰山派开发板为主控,分高配和低配板。
星火计划2026
复刻成本:600

开源协议

CC BY-NC-SA 4.0

创建时间:2026-06-08 11:15:21更新时间:2026-07-23 16:02:22

描述

🎸 自动吉他 — 吉他自动弹奏机器人

基于 RK3566 泰山派 · 语音控制 · AI 曲谱识别 · 全自动弹奏

📖 项目简介

年初收拾东西时翻出一把落灰多年的旧吉他,断了几根弦,修好擦干净后跟着教程学了段时间,结果脑子会了手始终学不会——于是我就想,吉他不一定非得要人弹吧?这个项目就这么开始了。

其实这个想法并不是我先想到的,市面上已经有一些类似的尝试,但它们大多结构复杂、没有开源资料,或者只能弹奏一两首预设的歌曲。于是我用 RK3566 泰山派 高性能开发板作为主控,从头打造了一套端到端的全自动方案。

整个流程全自动完成:对语音助手说出歌名,系统自动上网搜索爬取曲谱,通过 PP-OCR V4 + YOLOv8 进行 AI 识别,再交给 DeepSeek 纠错校对(准确率 95%),利用 RK3566 的 NPU 推理加速(45 分钟 → 3 分钟),最后驱动 18 个舵机在真实吉他上弹奏出来。日常还能通过 Web 网页管理歌曲库、校准舵机、配置 AI,脱离网络时也可用 OLED 屏幕独立操作。

项目分为高配版(泰山派,语音+AI+Web 全功能,复刻成本约 ¥1000)和低配版(ESP32,基础弹奏,复刻成本约 ¥600),低配版现已开发完成。整个项目代码超过 5 万行,95% 由 AI 编写,历时 4 个月,累计消耗约 35 亿 tokens

🔧 硬件整体结构

整体结构分为3段,分别是和弦、主控、拨弦,使用螺丝夹住胶块进行固定。

整体动画演示

🎼 和弦内部结构

按照6弦4品设计共24个点需要按压,每个舵机正向反向各按压一个点,一共12个舵机,通过齿轮齿条传动。

和弦结构图

🎵 拨弦结构

6个舵机,每个舵机对应1个弦,具有拨片调节结构,可以前后调节拨片,使用螺丝固定。

拨弦结构图

🖥️ 主控板结构

电路3层结构,分别是泰山派主控板在最底下,中间电路是按钮、舵机驱动和充电相关电路,最顶上是电源分配板,侧面是2节18650电池并联的电池仓,顶上是OLED屏幕加上一个音频小板。

主控透视图

⚡ 电路设计

实际的电路只有2块板,主控扩展板和电源板,泰山派和音频板都是直接在立创商城购买即可。

🏗️ 泰山派开发板 (最低需要 2+16)

泰山派开发板

🔌 主控板拓展板

负责 PWM 通道拓展,充电放电 5V3A,USB 接口充电转接串口或程序下载等操作,根据功能可以选择性焊接。使用红色框选出来的部分电路只有在使用 ESP32 时需要焊接,使用泰山派开发板作为主控时不需要焊接这部分电路。

主控板

🔋 电源板

带锂电池保护,电池 DCDC 升压到 5V,一共两路,一路 5A 给舵机,一路 2A 给主控和外设,带电压检测、温度检测,和弦与拨弦都对应一路电流检测。

电源板

💡 电源板 DCDC 芯片 COMP 补偿和电容选择都可以使用 AI 辅助,提示词如下:

请完整仔细的阅读这个文档,我稍后会提问
TPS61088升压芯片
MODE=接地,电感=2.2uH,ILIM=100kΩ,FSW=240kΩ,FB分压48.7k/15k,
补偿网络初始值(R5=56kΩ, C5=10NF, C8=220PF),BOOT:100nf,VCC:2.2uf,SS引脚:47NF,
输入电容22uf陶瓷电容/3个,100NF/一个,输出电容1uf/一个,22uf/3个,470uf固态电容/3个,
输入3.7V - 4.2V,输出5.1V,持续输出电流4A,短暂输出电流7A(我在输出添加的大电容就是为了应对这个短暂的大电流),会加散热片在芯片上,请你仔细检查这个参数有没有问题?
comp需要你根据实际电感电容实际情况进行计算,
芯片型号TPS61088升压芯片,电感型号:FXL1040-2R2-M,电容型号:MA10V470M6X8

🔄 舵机选用

和弦舵机 — MG996R

转动速度慢,转动力矩较大

MG996R

拨弦舵机 — MG90S

转动速度快,转动力矩较低

MG90S

🔋 电池电压采样 — 实时检测显示电池电量
🌡️ 温度检测 — 输出电流较大,用来做温度保护限制,避免壳内温度过热
⚡ 电流采样 — 实现自动化校准。正常舵机没有力矩与位置反馈,使用电流采样后,和弦舵机按压到琴弦电流会增大,通过电流变化实时检测舵机按压力度,来实时调整舵机行程

📷 主控模块三视图

左面

左面

顶面

顶面

底面

底面

🧠 程序原理解析

常见曲谱识别准确率:无 DeepSeek 纠错约 85%,有 DeepSeek 纠错可达 95%。如果曲谱不清晰或者有生僻和弦准确率会下降更多,可以在 Web 网页端手动修正或下载 CSV 表格手动修改。识别一首 3 分钟歌曲(大约 350 个音符)耗时 5 分钟左右。建议先在 Web 端进行识别确认,再使用语音控制弹奏。

爬取吉他谱 六线谱定位

第一步:爬取吉他谱

从免费曲谱网站自动搜索并下载吉他谱图片(网站收录曲谱并不全面),如果找不到想要的曲谱可以手动上传自己搜索的曲谱

第二步:定位六线谱

根据六根平行长横线定位图片中的六线谱区域

和弦图定位 和弦文字识别

第三步:定位和弦图

根据六线谱上方的小方格定位和弦指法图(注意:部分不标准的曲谱会删减和弦指法图,这会导致和弦无法自动识别)

第四步:OCR 识别和弦

OCR 识别和弦文字,查表确定品位,错误则发 DeepSeek 纠错(常用的52种基本都能稳定识别,部分曲谱不规范使用#或其他生僻符号会导致识别出现一些误差)

音符定位 符尾识别

第五步:定位音符

根据六线谱下方的竖线定位每个音符的位置

第六步:符尾识别

根据音符附近的横线数量确定该音符是几分音符(只能识别横线符尾,不能识别钩子符尾,钩子符尾只是少数,横线符尾才是多数)

符头YOLO识别 最后输出文件

第七步:YOLO 符头识别

根据音符上方区域的 YOLO 识别结果判断拨弦方式(YOLOV8 训练集一共有 1500+,并且还在不断新增,如果出现大量误识别或无法识别,请把曲谱发给作者,作者会将曲谱添加进训练集更新模型。YOLO 训练项目也已经开源,更新到 Gitee 上了)

第八步:汇总输出

将以上所有识别结果汇总到总表中,生成可弹奏文件

Deepseek纠错

第九步:DeepSeek AI 纠错

将曲谱通过 API 发给 DeepSeek,让 AI 寻找规律进行最终校正(可选)

最后就是按谱来弹奏 🎶

📋 操作说明书

🖥️ 使用 OLED 屏幕进行控制

开机自动进入主画面。长按 ESC 按钮在主画面和设置画面之间来回切换。按 SET 确认或进入下一个页面,按 ESC 否或退出上一个页面,UP 和 DOWN 是上下移动。

OLED屏幕
OLED画面展示图

OLED 实际显示效果

🌐 使用 Web 网页进行控制

将电脑或手机连接到自动吉他同一个 WiFi 下,通过吉他的 OLED 屏幕进入「设置界面 → WiFi连接 → 已连接WiFi」查看 IP 地址。然后打开浏览器访问 IP地址:5000(例如 192.168.31.74:5000)即可进入管理页面。

系统页面

系统页面 — 信息总览、固件更新等操作

Web 界面还提供了可视化的舵机校准功能,方便调试和弦按压和拨弦行程:

和弦可视化校准

和弦可视化校准

拨弦可视化校准

拨弦可视化校准

自动校准

自动校准

⚠ 语音设置界面的 API 密钥需要填写 DeepSeek 的密钥(需自行前往官网注册),如不填写则无法使用 AI 相关功能。

🎵 歌曲识别

输入歌曲名字即可自动搜索曲谱:

选择图片源

选择图片后系统会自动识别曲谱:

识别中

如果自动搜索找不到目标曲谱,也可以手动上传图片,识别流程相同:

手动上传图片

还可以通过对话让 AI 进行编曲(目前 AI 对复杂编曲要求的理解还不够完善):

AI编曲

📝 歌曲管理与纠正

识别完成的歌曲可以进行统一管理和手动纠正:

歌曲管理1

一首歌曲最多可拥有 8 个图片源:

歌曲源管理

图片识别结果支持可视化管理,可对个别音符进行人工纠正。

歌曲源管理

🚀 程序部署教程

1. 泰山派镜像安装

根据官方教程安装 Ubuntu 20.04 系统:

📎 立创官方教程链接

📎 立创官方教程 - 镜像烧录

2. 泰山派串口修改配置

使用 TYPE-C 线连接主控板和电脑,串口切换开关切换到泰山派(靠近按钮),下载打开 MobaXterm,使用串口创建 SSH 终端,填写端口号,波特率 1500000

串口SSH链接

📶 连接 WiFi

1. 临时关闭有线网口,避免一直报错刷屏

sudo ip link set eth0 down
sudo nmcli dev set eth0 managed no

2. 扫描附近 WiFi

nmcli dev wifi list

3. 连接 WiFi(替换 SSID 和密码)

sudo nmcli dev wifi connect "你的WiFi名称" password "你的WiFi密码"

4. 查看 IP 地址

ip addr show wlan0

因为立创泰山派没有安装拓展板,有线网口会一直报错(此步骤为可选,不操作也不影响正常使用),如需禁用可创建开机自动禁用有线网口的脚本:

5. 创建 /etc/rc.local

sudo tee /etc/rc.local << 'EOF'
#!/bin/sh -e
/sbin/ip link set eth0 down
/usr/bin/nmcli dev set eth0 managed no
exit 0
EOF

6. 赋予执行权限

sudo chmod +x /etc/rc.local

7. 确保 rc-local 服务启用

sudo systemctl enable rc-local
sudo systemctl start rc-local

8. 停止显示模块节省内存

sudo systemctl set-default multi-user.target
sudo systemctl disable lightdm

9. 重启系统

sudo reboot

10. 查看网络设备状态(wifi 应为绿色,eth0 应为灰色)

nmcli dev status

🔐 安装 SSH

1. 更新 APT 后修复破损的包

sudo apt update
sudo apt --fix-broken install

2. 安装 openssh

sudo apt install openssh-client=1:8.2p1-4ubuntu0.13
sudo apt install openssh-server openssh-sftp-server

3. 启动 SSH 服务

sudo systemctl enable ssh
sudo systemctl start ssh

4. 检查 SSH 服务状态

sudo systemctl status ssh

5. 记住返回 WiFi 的 IP 地址,使用网络创建 SSH 终端。

IP地址SSH链接

密码和账号都是:lckfb

密码输入

3. 泰山派分区扩容

泰山派官方镜像将大部分存储空间分到了一个无用的分区,需扩展分区。

1. 安装 parted 分区工具

sudo apt update && sudo apt install parted -y

2. 查看当前分区(root 只有 6G,mmcblk0p7/p8 占用了大量空间)

df -h

3. 卸除当前挂载

sudo umount /dev/mmcblk0p7
sudo umount /dev/mmcblk0p8

4. 删除分区

sudo parted /dev/mmcblk0 --script rm 7
sudo parted /dev/mmcblk0 --script rm 8

5. 使用 parted 扩展分区 6

sudo parted /dev/mmcblk0
print
resizepart 6
100%
quit

6. 扩展文件系统

sudo resize2fs /dev/mmcblk0p6

7. 合并成功,/dev/root 变为 15G

df -h

8. 编辑 /etc/fstab,移除无效的挂载项

sudo vim /etc/fstab

9. 找到下面两行,在行首加上 # 注释掉(或者直接删除这两行):

#PARTLABEL=oem   /oem    ext2    defaults        0 2
#PARTLABEL=userdata      /userdata       ext2    defaults        0 2

4. 泰山派代码部署

前期工作准备完成就可以进行代码部署了。代码存放在 Gitee 代码仓库,可以去下载或使用 git 工具拉取。目标平台:RK3566 泰山派 — Ubuntu 20.04.6 LTS (aarch64)

1. 克隆项目

sudo apt install git
git clone https://gitee.com/Liguanxi00/liguanxi_Automatic_guitar.git
cd liguanxi_Automatic_guitar

2. 一键部署(安装所有依赖 + 自动下载模型)

bash install_deps.sh

泰山派的 GPIO 还不兼容主要的驱动库,可以根据 4.6 驱动移植与适配教程 进行移植适配 GPIO 库。一键部署脚本中已集成了这一步,你也可以自行检查部署。

🔌 ESP32版本代码部署

🏆 高配版 ESP32 程序部署

高配版使用泰山派作为主控 + ESP32 作为舵机控制协处理器。代码在 Gitee 仓库的 esp32_platformio 目录下:

📎 https://gitee.com/Liguanxi00/liguanxi_Automatic_guitar/tree/master/esp32_platformio

使用 VS Code + PlatformIO 插件 打开项目,编译后通过串口下载到 ESP32 即可。

📱 低配版 ESP32 程序部署

低配版使用 ESP32 作为独立主控(无需泰山派)。独立代码仓库:

📎 https://gitee.com/Liguanxi00/liguanxi_automatic_guitar_esp32

同样使用 VS Code + PlatformIO 插件 进行编译和下载。注意低配版需要焊接 IIC 电阻,否则 OLED 屏幕无法正常使用。

📅 项目进度

以下进度均为 2026 年

1
1月2日 - 1月10日 【模型】
SolidWorks 建模设计扫弦与拨弦结构,并打印组装,使用 MG90S 舵机

1月10日 - 1月12日 【程序】
使用电路模块搭建临时电路,写入 ESP32 程序成功弹奏曲子测试整体可行

1月12日 - 2月5日 【程序】
通过 AI 获取 Python 程序,从曲谱爬取到乐谱转 CSV 文件输出全过程,OCR 文字识别与 YOLO 符头识别存在识别精度问题
2
2月6日 - 2月12日 【文档】
搭建整体程序框架,整理参考资料

2月12日 - 2月25日 【休息】
春节

2月25日 - 3月8日 【电路】
绘制第一版电路,转接泰山派和舵机
3
3月9日 - 3月15日 【程序】
整体组装,迁移程序到泰山派

3月15日 - 4月1日 【电路】
绘制第二版电路,整体架构修改,第一版预设电流过小
4
4月1日 - 4月15日 【程序】
Windows 电脑运行的 Python 程序迁移到泰山派中,有兼容性问题,进行程序优化结构重组

4月15日 - 4月20日 【程序】
学习 RK3566 NPU,使用 NPU 对程序进行加速,运行时间从 45 分钟降低到 3 分钟

4月20日 - 4月25日 【程序】
修改基础 OCR 识别算法改为 PPOCR-V4,YOLO 训练集从 100+ 手动标记扩展到 1500+ 自动标记,识别率 100%,正确率不低于 97%
5
4月25日 - 5月10日 【模型】
发现 MG90S 舵机力度不够,更换舵机为 MG996R,修改模型适配新舵机,效果很好

5月10日 - 5月17日 【电路】
绘制第三版电路,控制板和电源板分开,分别给泰山派配置 2A DCDC 升压,给舵机配置 5A DCDC 升压,加电流电压温度检测

5月17日 - 5月20日 【程序】
最后结果输入 DeepSeek 中再次进行校正,准确率高达 95%

5月21日 - 5月25日 【程序】
编写自动化调试校准程序,使用电流传感器检测舵机行程,自动回中,自动判断下降行程

5月25日 - 6月2日 【程序】
最后进行程序优化,排查BUG,上传Gitee
6
6月2日 - 6月22日 【文档】
文档撰写,开源资料整理,视频拍摄与剪辑

6月22日 - 7月1日 【程序】
新增OTA功能,完整功能测试,删减出独立ESP32版本
7
7月1日 - 7月17日 【文档】
视频节奏优化,文档细节补充,制作封标,展示图

🤖 AI 编程方法

这个项目涉及代码量大于 5 万行,修改舍弃的代码也有 1 万行,从代码量来说是我目前开发过代码量最大的项目了。主要难点在于曲谱的识别这一块。

95%

代码由AI编写

30%

硬件由AI帮助

60%

文档由AI帮助

目前 AI 对于代码编写远没有那么成熟,对于陌生的需求或大段代码,编写会出现各种错误。第一步得先拆解需求,我把需求拆解为 8 步,每步提示词加上 3 至 6 次反馈调整就能得到不错的结果。

📝 定位六线谱程序的 AI 提示词示例:

问题1:使用 python 读取一张图片,检测图片中6根横线上下并列的元素位置

问题2:增加条件,6根横线之间距离相等,一张图片中有多个元素

问题3:无法识别到元素,请提供改进后的完整代码

问题6:这个程序已经实现了识别框选功能,精简程序,每组目标做一个大方框

问题7:每行代码都要写注释,仔细解释程序

前期使用的是元宝的 DeepSeek 模型(大概是 V3 版本的阉割版),后面使用了新出的 DeepSeek-V4 Pro,效率上升了一个档次,基本只需要一到两次高质量提问就能得到可以运行的代码。最后把已经实现功能的程序丢给 Claude Opus 4.7 重构一遍,排除 bug,精简程序结构。

现在是2026年7月17日,上面的话已经不适用了,AI发展得太快了。不要再用那种复制粘贴单独编写函数的 AI 了,项目后期已经是使用 Claude Code 接入 DeepSeek 来进行整个项目的架构调整和代码修改。整体可以分为:提出需求 → 让 AI 理解需求出方案 → 开发者审查方案 → 不满意就提出修改意见,满意就让 AI 按方案执行。整体架构也能交给 AI 了,大部分问题 AI 也能自己排查了。

如果把这个项目编写使用的 tokens 量化,大概使用了 35 亿 左右的 tokens,大部分是 DeepSeek-V4 Pro,基本都是廉价或免费的 tokens。

📊 大模型使用量(万 tokens)

模型 用量
DeepSeek-V4 Pro 300,000
DeepSeek-V4 Flash 30,000
元宝 DeepSeek-V3 15,000
Claude-Opus 4.7 5,000

📦 电路器件 BOM 表

电路器件 66 项,总价合计:130 元。可以直接在立创 PCB 界面导出,立创商城购买价格会贵很多,如果在淘宝优信购买可以便宜三分之一的价格。

🛒 机械结构和成品电子器件

全部器件 12 项,总价合计:941.62 元

序号 器件 数量 单价 总价 备注
1 MG996R舵机 12 14.5 174
2 MG90S 6 9.5 57
3 PETG打印件 1400 0.15 210 可自行选择打印店参考价格0.15元1g
4 泰山派开发板 1 428 428 可以选择小黄鱼购买扩容板(但是有风险)
5 泰山派音频小板 1 9.9 9.9
6 六角铜柱3x21/3x12/3x5 1 8 8 三种规格各买一份
7 圆头六角螺丝3x16/3x10/3x5 1 10 10 三种规格各买一份
8 热熔螺母3x3.5x4 1 1.87 1.87
9 18650电池平头 2 12.4 24.8
10 18650电池座2节 1 2 2
11 OLED屏幕0.96寸 1 10 10
12 GH1.25-4P线 1 6.05 6.05

🔰 版本对比

高配版是泰山派开发板主控 + ESP32协处理器,成本大约1000元(主要是内存涨价导致泰山派疯涨)。低配版是ESP32作为主处理器,砍掉泰山派,成本大约600元,现已开发完成。

对比项目 高配版 低配版
吉他弹奏
和弦自动校准
拨弦校准自动校准手动调整
歌曲管理网页管理SD卡拷贝
语音控制
Deepseek纠错
AI编曲
曲谱转换网页一键转换手动转换
价格¥1000¥600

💬 项目交流

QQ群:943152897

欢迎加入交流群,一起讨论自动吉他项目

⭐ 这个项目完全开源免费,如果你觉得对你有帮助
欢迎点赞、收藏、Star支持一下,每一个支持都是我持续更新的动力 💪
有问题可以在评论区交流,看到会回复 ✍️

🎸 自动吉他 — 开源项目 · 遵循 PolyForm Noncommercial 协议 · Gitee: Liguanxi00/liguanxi_Automatic_guitar

© 2026 Automatic Guitar Project. All Rights Reserved.

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
展示视频.mp4
2
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

底部导航