Wondering how to get frequency directly from guitar pickups

Thread Starter

hiptip

Joined Jan 7, 2021
13
I'm trying to convert the signal directly from the pickups into a digital signal where i can then do some processing in order to find the frequency in real time. Right now I have an Arduino UNO. My initial though was to convert the AC to DC and then build some sort of pre-amp and then stream the digistal signal from the UNO to my PC but I'm beginning to think there must be a much much better way to do this.

I'm very new to this so any help would be much appreciated. Thanks.
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
I'm not sure, it was something suggested to me in another forum. What do you think is the best way to do this? Someone also mentioned something about using a sound card too but i think they were under teh assumption that i was talking about using a quarter inch cable.
 

Papabravo

Joined Feb 24, 2006
16,195
Perhaps you were thinking of sampling the analog signal from the pickup and converting it into a stream of digital words. Would this be a single channel process? How fast would you want to do the sampling?
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
I'd like it to be almost instant, but it's okay if there's some buffer time. I just want to get the frequency from the signal from the wire straight from the pickup.
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
There are many free smartphone apps for tuning guitars that can report the frequency of any string. Why reinvent the wheel?
Because I'm not making a guitar tuner, I'm doing something else wokring with a hexaphonic pickup
 

AnalogKid

Joined Aug 1, 2013
9,262
The signal from a guitar pickup is not very large, so you probably will need a preamp of some kind. After that, here are two common paths -

1. a frequency-to-voltage converter that converts the input signal frequency to a proportional output voltage, followed by an A/D converter.

2. digitize the signal into a stream of digital data with a high-speed A/D, and then analyze the data in software to extract the fundamental frequency information.

Neither of these is a beginner's project.

ak
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
The signal from a guitar pickup is not very large, so you probably will need a preamp of some kind. After that, here are two common paths -

1. a frequency-to-voltage converter that converts the input signal frequency to a proportional output voltage, followed by an A/D converter.

2. digitize the signal into a stream of digital data with a high-speed A/D, and then analyze the data in software to extract the fundamental frequency information.

Neither of these is a beginner's project.

ak
Okay that's good advice thank you. Any fortunately I do have more experience on the software side. It's just the hardware side that I'm not terribly experienced with. What's the best way to digitize the signal? Is there a specific board that would be best suited for this?
 

MrChips

Joined Oct 2, 2009
23,576
I don't know what is a hexaphonic pickup.

I know off the top of my head that two techniques for measuring frequency is zero-crossing and fourier analysis. I used both techniques in my MSc thesis on EEG alpha waves.

There are guitar tuners that can readout the frequency. In most cases the analysis can produce results in milliseconds.
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
I don't know what is a hexaphonic pickup.

I know off the top of my head that two techniques for measuring frequency is zero-crossing and fourier analysis. I used both techniques in my MSc thesis on EEG alpha waves.

There are guitar tuners that can readout the frequency. In most cases the analysis can produce results in milliseconds.
I'm really just mostly curious about the hardware specs for something like this. I have an arduino and a guitar pickup but I'm not sure where to go from here
 

Wolframore

Joined Jan 21, 2019
2,283
First picking up the sound from a guitar pick would have handling noises, then a large transient from the picking itself, after that you will most likely get nothing, so are you interested in the loud tapping sort of noise that a pick makes which it hits a string?
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
First picking up the sound from a guitar pick would have handling noises, then a large transient from the picking itself, after that you will most likely get nothing, so are you interested in the loud tapping sort of noise that a pick makes which it hits a string?
Yes I'm okay with this, I'm asking a question on the hardware needed to do this
 

Wolframore

Joined Jan 21, 2019
2,283
Most likely a piezo type of transducer, it should go on one end of the plectrum and it will pick up vibrations from the pick directly. Depending on placement your fingers will likely dampen it while adding noise, I’m sure you’ll need a severe high pass. It’s done quite easily using small diameter condensers pointed directly at the picking area in a studio.
 

MrChips

Joined Oct 2, 2009
23,576
I can show you how to do this but before we go down this rabbit hole it would be helpful if you tell us exactly what you are trying to achieve.
 

Papabravo

Joined Feb 24, 2006
16,195
I'd like it to be almost instant, but it's okay if there's some buffer time. I just want to get the frequency from the signal from the wire straight from the pickup.
That is not what I was asking. I was asking how often you want to sample the analog signal so that you have a sequence of digital words that represent the signal. Do you want 3 samples per second or 3,000 samples per second, or some other number? Once we have that answer we then want to know how many samples you intend to take and where you want to put them.
 

andrewmm

Joined Feb 25, 2011
1,498
On assumption , you might liek some thing that worked that you could then modify
Have you seen these sort of projects

https://maker.pro/arduino/projects/arduino-diy-guitar-pedal

Not directly what you want,
but it interfaces a guitar to an arduino,
so all that hard work is done for you

You could just make it as it stands, and prove that you get the sound through it.

Then its "just" software.
the advantage of having a working system is that you can modify it in small steps,
and if a step fails and you can not debug it, just tkae step back to the last lot of code that worked.

You know the hardware works,
 

wayneh

Joined Sep 9, 2010
17,152
Any fortunately I do have more experience on the software side
I suspect you're underestimating how difficult it is. I've followed several apps through the years and today they're excellent at isolating and quantitating the main frequency of a plucked string. This was not always the case. Early versions had to be told which frequency (string being tuned) was expected and often struggled to latch onto it. A real instrument produces a range of tones and it's far from a pure signal.

By now there are probably open-source libraries to help with a lot of this but it's still a big hurdle to merely get up to what is already available.
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
I suspect you're underestimating how difficult it is. I've followed several apps through the years and today they're excellent at isolating and quantitating the main frequency of a plucked string. This was not always the case. Early versions had to be told which frequency (string being tuned) was expected and often struggled to latch onto it. A real instrument produces a range of tones and it's far from a pure signal.

By now there are probably open-source libraries to help with a lot of this but it's still a big hurdle to merely get up to what is already available.
Are you familiar with hexaphonic pickups?
 

Thread Starter

hiptip

Joined Jan 7, 2021
13
That is not what I was asking. I was asking how often you want to sample the analog signal so that you have a sequence of digital words that represent the signal. Do you want 3 samples per second or 3,000 samples per second, or some other number? Once we have that answer we then want to know how many samples you intend to take and where you want to put them.
I'd say 6,000 would be sufficient
 
Top