determining the notes in a chord from an incoming audio source

scottish's icon

hi everyone

long time lurker, and now i've got a problem that i don't know how to start on

i know what notes make up the chords i play on guitar but i want my computer to know them too. so my question is how can i extract incoming notes from chords as i play?

Anthony Palomba's icon

Ahhh this is a hard problem to solve. Polyphonic pitch detection in Max
has always been the holy grail. I have been researching how one might
do that. You might want to look into Pitch Class Profile Computation.
Not sure if there are any existing externals that do it.

Alternately you can invest in some of the new software tool like
Melodyne (DNA). Which seems to magically do polyphonic pitch detection.

Samuel Freeman's icon

wanting to know what each string of you gtr is doing?

look this up:

Patch for guitar
Puckette, M.
On-line proceedings, Pd-convention (http://pure-data.ca/en/)
2007

scottish's icon

thank you anthony and samuel
samuel: i think the site moved because that link is for a sex toy

Tim Lloyd's icon

Here is a link to a paper explaining the patch:

It would be great if someone had a link to the PD patch for us to check out as well.

Tim Lloyd's icon

Just to clarify, Puckette isn't analyzing an audio signal from a standard guitar pickup and detecting events on separate strings, he is using a custom multi-output pickup which makes the rest of the patch possible.

To my knowledge, digital polyphonic pitch-tracking currently isn't possible in real-time. Melodyne etc..... is for editing not live processing.

Andreas Breitscheid's icon

Have a look at Arshia Conts object "Transcribe~"

hope this helps...
_Andreas

Tim Lloyd's icon

I stand corrected, this is very interesting! Cheers for the link.

oli larkin's icon

miller puckettes guitar patch is here: http://crca.ucsd.edu/~msp/smeck/latest/

PhiDjee's icon

"Just to clarify, Puckette isn't analyzing an audio signal from a standard guitar pickup and detecting events on separate strings, he is using a custom multi-output pickup which makes the rest of the patch possible."

The StringPort by Keith McMillen should work fine:

Best,
Philippe

Chris Muir's icon

The string port still wants to see a pickup. hexaphonic

PhiDjee's icon

Hi Chris,

"The string port still wants to see a pickup. hexaphonic"

Does it work fine with a piezzo setup (such Graph Tech, RMC Pickup) on a guitar?

Best,
Philippe

PhiDjee's icon

"The string port still wants to see a pickup. hexaphonic"

In its current state (beta testing), the StringPort works marvelously!
(yes, I got one ;-)

Cheers,
PG