DEV Community

Rustam Apay
Rustam Apay

Posted on

Guitar Playing Analysis App (vibe coded in 1 day)

I really like Sting's music, and every time I came across a guitar in various random circumstances in my life, I always started learning his songs. First and foremost, it was Shape of My Heart, and then Fragile. I easily found full guitar lesson tutorials for them on YouTube.

But for my third favorite song, Desert Rose, I couldn't find a lesson for it anywhere, probably because it's not typically played on the guitar. I started searching YouTube simply for performances of the song on guitar, and I only liked one specific rendition. Naturally, it wasn't in a lesson format, but just a performance of the playing and the song.

I was so determined to learn it that I took screenshots of every finger position and marked the picking patterns on those screenshots. Then I started to doubt that I might have misheard or incorrectly marked something on the images. I also used a service to remove the girl's vocal track which was distracting from the guitar playing.

And then I remembered that vibe coding exists nowadays. Why not write an application for this kind of analysis of musical pieces? And today, I wrote it in a single day.

What does it do? We can conveniently rewind the video with tenth-of-a-second accuracy and catch the moments when the musician changes their finger positions. Then, on a guitar simulation, we mark the spots where the notes and strings are being fretted. We also mark the picking pattern in its chronological order.

If we need to use the same finger position and picking pattern, we can reference it linked to the video. That is, having created a position once, we can use it repeatedly later on. Afterwards, we see the complete list of played excerpts.

We can click on them and listen to them separately, refining and checking our notation. And also polishing our own playing by example.

You can try out this application by downloading it from GitHub. You only need to place your video in the public/video.mp4 folder.

Top comments (0)