Team: Hi, we're the Barbershop Trio, also known as Team 15! We're Max [@2mon], Sidd [@firestorm108], and Udo [@newtontriumphant]!
Summary: Automatic violin playing robot made for Hackclub Prototype 2025, using an SO101 robotic arm for bowing, MG996R servos for fingering, and 12 AAA batteries for power, and AMD-Powered AI. CircuitPython and TKinter provide a GUI that allows one of four preset songs to be chosen to be played on four servos.
- This robot can be used as a replacement for a human musician in an orchestra, bar, elderly home, or other settings. It can fill a gap in an ensamble and help the group have a complete sound.
- It also helps train AI models in replicating human movement and technique, a difficult task for most AIs.
- Additionally, it can be used to preserve musical genres and styles that would previously be lost.
- For this project we developed a new way to finger the strings of the violin. We use four servos that have custom PLA horns and TPU pads to allow us to play 20 unique pitches on the fingerboard. This allows us to play basic songs, like Twinkle Twinkle, Row Row Row Your Boat, and the ABCs.
- We use a custom TPU gripper for the bow to adapt the awkward curvature to an easy to grab block, allowing us to easily move the bow back and forth across the string using the SO101.
IMG_6344.1.mov
- The model is trained on 10000 steps using AMD GPUs in a cloud enviornment, providing a good balance between speed and smoothness.
- This model is then inferenced locally to autonomously power the SO101 robot arm which serves as the bow for the violin.
video.720.mp4
- Our system can be adapted to be used on a variety of instruments, including but not limited to Viola, Cello, and Double Bass.
- Our solition is easily adaptable to other similar projects that require linear back and forth motion over a period of time.
- To control FiddleStein a shell script is ran that powers the robot's movement through a pretrained AMD AI model. A push button is attatched to an Adafruit Feather RP2040 Pink to control which song is playing and when to start the song. Vibrato is controlled using a seperate PWM controller with an adjustable strength and frequency. The LEDs automatically flicker and fade with the servo movement as the song plays.
- Final Dataset: [https://huggingface.co/datasets/zsharpminor/violin-final]
- Final Model: [https://huggingface.co/zsharpminor/violin_sof101_cube_10ksteps/]
- Final WAndB:
See below for our submission tree.
AMD_Robotics_Hackathon_2025_ProjectTemplate-main/
├── README.md - this file :)
└── mission
├── code
│ └── Contains the Python, CircuitPython, and Arduino files powering the project.
└── wandb
└── Contains the latest run directory from our AI training.
└── hardware
└── Contains all CAD files for our project.
roject.
roject.