Raspberry Pi Pico Converts Guitar into Midi Controller

Raspberry Pi
(Image credit: Philip Gisslow)

Once a project idea gets in your head, you just have to play it out. No one knows that better than maker Philip Gisslow who used a Raspberry Pi Pico module to turn his electric guitar into a working Midi controller.

Midi controllers are used to create real-time music digitally, often with the help of a synthesizer. The controller determines when and what note you hear while the synth turns the information into sound using a pre-programmed instrument library. That means you can shred on your guitar to whip out an original drum solo, blaze through a saxophone serenade or even lay down some sick techno melodies

The main application behind this project is called MiGic. It's used to convert electric guitar output into Midi input. The system works like this: the user plays a guitar connected to an amplifier. The amp boosts the guitar signal up to 3.3V which is read by the Pico. The MiGic application receives the input from the Pico over USB on a PC.

Raspberry Pi

(Image credit: Philip Gisslow)

This enables Gisslow to play any instrument using an electric guitar. If you want to see more about how this project works, visit the official GitHub page shared by Gisslow. Be sure to explore our list of best Raspberry Pi projects for more cool creations from the Pi community.

Ash Hill
Contributing Writer

Ash Hill is a contributing writer for Tom's Hardware with a wealth of experience in the hobby electronics, 3D printing and PCs. She manages the Pi projects of the month and much of our daily Raspberry Pi reporting while also finding the best coupons and deals on all tech.

  • crunchradio
    Any ideas on how to actually compile this for a pico? Where do I get libmigic.h. I see no mentions to this anywhere online. Do I have to buy the MiGic application in order to obtain access to it. I have the circuit on a breadboard ready to test and cannot figure out how to compile it. I got a segmentation fault running "code" visual studio on a rasp pi zero, so I switched to a rasp pi 3. I went through setting up the build chain but see have issues. Visual studio with mingw32 and other configurations want to know where libmigic is. Also do you always program the pico over the swd headers with c programs or can you drop the binary on the file system like micropython?