All I wanted was to learn how to play guitar, but ended up building a DIY kit for it. TL;DR: VIDEO https://github.com/orhun/tuitar In the beginning of 2025, I picked up playing guitar again after a long break, thanks to the encouragement of a friend. It was fun at first but my engineer mind wanted to optimize the learning process somehow. I'm sure it would be better if I took my time, but it wasn't for me to wait until I could play properly. I needed practical knowledge right away, so that I could include simple chords and solos in my music. I needed a shortcut to unblock myself, otherwise I felt like my creativity was stifled. That's when I decided to build a tool to practice electric guitar, without even an idea of what that would look like. As if that wasn't enough craziness, I also submitted this project idea to the Rust Forge conference so that I could speedrun the development if the talk got accepted. (i.e. talk-driven development: set a deadline and become responsible to deliver something) Coincidentally, the Ratatui project had a new backend called Mousefood at the time. This allowed running terminal UIs on embedded devices (e.g. ESP32). This seemed like a perfect opportunity to hack with terminal UIs, embedded and guitar tooling. However, since I still wasn't confident about what to build, I took a trip to Berlin in May to visit Superbooth (a huge synthesizer fair). In the end, I had more inspiration than I needed. Ok, it seems like you are getting a bit sidetracked. I mean, getting excited about synthesizers is cool and all, but what about the guitar tool? Oh yeah, that. My talk got accepted. So it was time to roll up my sleeves. I realized if I overthink this, I would never get started. So I decided to make a very simple guitar tuner first. (Of course, not embedded yet, just a terminal app.) 1. Get audio input from the microphone (using cpal) 2. Perform FFT on the audio input (using rustfft) 3. Find the fundamental frequency and map it to a musical note (...
First seen: 2026-03-28 09:37
Last seen: 2026-03-29 13:53