I'm new to this forum as of today, so please excuse me if I fail to follow any guidelines properly.
I have limited knowledge as I've received a highschool education on electronics and circuitry thus far as I'm still in high school.
In essence, I am trying to "capture" the sound from an electric guitar string via an Arduino. I did a bit of googling about projects like this, and it seems like people have tried to do something like this before, but I can't make any sense of it, so I was hoping somebody could help me understand all this.
It seems as though from my research that a device like an Arduino isn't the right thing to use for such a project.
I also heard of a "hexaphonic pickup", which can be defined by the following:
A hexaphonic guitar pickup (sometimes called a divided pickup) is a pickup with six outputs (one for each string on the guitar)
It seems that this is exactly the type of pickup I would need to get the correct output from every string.
So how would I connect said pickup to an Arduino in such a way that it can read the correct "frequency" (not sure if I'm using the right word) that the string is making? And maybe after I do that, I can apply effects to individual strings, and then output that new sound to an amplifier?
I currently own an Arduino Uno, a breadboard, and a few hundred wires to complete this atm. I bought an electric guitar as part of a plan to take it apart and understand how it works, but I decided against it as the guitar was beautiful and I've always wanted to learn to play one.
Yes indeed it is totally inadequate.
While you might just get away with sampling one string six is right out you don't have the speed nor memory to do that.
What exactly do you want the finished project to do? Is it just a frequency analysis? Or do you want it to do more?
Hi!
I have a lot of fun using UNOs, but for reading low frequency happenings.
To sample sound each reading must be at the minimum of twice the sampled frequency. What's the frequency of the highest tone on a guitar? To catch the over tones, the character of the instrument, You need an ever higher sampling rate. CD discs uses some 44 kHz if I'm correct.
You want to sample 6 strings....
You need a powerful board. Reading forum I see Raspberry Pie suggested due to its high system clock rate. How fast is its analog sampling? I can't tell.
Hopefully more helpers step in.
The Pi is not very suitable for sampling due to the nature of Linux not being a real time system.
Perhaps a Raspberry Pi Pico with an external A/D interface would be better, but that is not a system for beginners.
The problem with sampling strings is that the harmonic content of the wave changes constantly changes throughout the duration of the note. The fundamental harmonic is not even always the highest of the harmonics.
You better study the proper theories. Making a recorded voice talk faster without the Donald Duck effect calls for a lot of knowledge. The same for Your project. Sounds like not doable.
I think we who have responded here all get what you are trying to do.
We have variously said it is not an easy thing; you have said you know very little about electronics and programming.
You would not understand the answers that might come from this forum.
Keep imagining the things you would like to accomplish. Keep learning the things that seem like they might go into making the devices you imagine possible.
You must walk before you run. No one is born knowing any of this. To get to where you might have to be to plausibly tackle even doing the research for a project like this is some good time, and a fair amount of work, off.
There is a well documented implementation of a "pitch shifter" using an Arduino Uno at the link below. The project is broken down into subsystems that hit on a number of circuit concepts useful for audio signal processing.
As others have said, yes this is known as a pitch shifter, and can be done on an Arduino. However to understand what is happening you have to understand what a sound is.
A guitar pickup takes the vibration of the metal strings and creates a changing voltage, the amplitude, that is amount it changes, represents the loudness of the sound. The speed that this voltage changes is the frequency or pitch of the note. The shape of the voltage, a combination of the amplitude and frequency, defines how a note sounds. The word for that is "timbre" (pronounced tamber, because it's French).
Take a look at this pdf Book on the basics of Audio
It is a bit mathematical, but read the opening chapters for an idea of what I am talking about.
I did write a book about a lot of things you can do with an Arduino, including a pitch shifter and a basic look at sound processing in general.
About a year ago I published a project with ten different audio effects that could be applied to a voice, but you could equally well have a real guitar input. This was done with the Pico chip, and is quite complex to program, but easy enough to make. This is a video of the effects.
I think you misunderstood here. At the time you were talking about measuring the frequency of each different string, that is the thing that you can't do with an Arduino. Changing the pitch is something different. If you down load the free pdf of the issue of the MagPi magazine that this video is from each effect is explained in words and diagrams.