0

I use a tuner app on iphone called "Cleartune" where you just strum a note and it tells you what note it is, based on frequency. It's useful for tuning.

An interesting thing I stumbled on is if I play a chord, it's pretty good at telling me what the chord is too. I think it's because a chord just harmonizes the root of the chord, but that root is the most prevalent. So that's the main frequency.

Now one weird thing is, If I play a A-major chord, or an A-minor chord, it still comes up as "A".

But I'm wondering if there's some kind of way for an app or some way to tell me what Chord I'm playing. So an app that would know the difference between a minor sounding to a major sounding. Or is that impossible to infer that electronically?

2

It is possible, but not with 100% accuracy. For example, Transcribe claims to be able to do this (at some level).

It works in broadly the same way as a tuner app. Each note has a frequency, and you can use some signal processing maths to turn a recording into a list of frequencies. Associate these frequencies with the notes, and you can electronically determine the chord.

If that sounds too easy, that's because it is. When you play a note, it produces not only the main frequency, but a collection of other ones (called harmonics). Each instrument does that differently, which is why a piano playing an A sounds different to a flute playing exactly the same note. That's often referred to as timbre.

So, yes, it's possible, but it's not perfect. It gets harder as you add more instruments to the recording, because you have to distinguish the actual notes from the harmonics that are produced. Add some non-pitched instruments, and it gets harder still. So your ears are still much better than a piece of software.

1

Any physical sound that has a sense of pitch(a "frequency") is composed of a root/base/fundamental frequency that we feel as the foundational pitch.

Now, it is proven that these physical sounds all have a special mathematical relationship between the root and the other "frequencies" that are heard.

The relationship is very easy: it is always an integral multiple of the fundamental. This special series is called the overtone series.

e.g., suppose you "hear" a sound that you estimate to be 500hz(say you record and then slow down and count the oscillations). Then, that tone will have, generally, other frequencies with it but, if it be a musical pitch, they will be the frequencies 1000, 1500, 2000, 2500, 3000, etc...

"Real world" pitches generally are not perfectly mathematical and other non-musical sounds could be mixed in. Regardless, the mathematical theory is highly accurate for most musical sounds. The strength of these overtones give the character to the sound we hear. A volin playing C and a guitar playing C both have a fundamental pitch of C and all the overtones are in both sounds... only the relative strengths of those pitches are different.

Now a chord is multiple pitches together. Each pitch has its own "overtone series".

For a tuner to recognize chords, it must resolve each fundamental of the chord. To do this, all frequencies must be found(through Fourier Analysis, say), then those frequencies must be tied to some overtone series.

This is not difficult to do mathematically but difficult in practice. The more notes or the more layers of instruments, the harder it is because the complexity goes exponentially.

So, yes, it could theoretically be done but no one has yet created a real device to do so. Some are working them. Some tuners now exist for guitars(polytuner, etc). At this point they generally are easily confused but anomalous inputs and definitely do not work in general.

The reason why your simple tuner does not recognize differences between major and minor is probably that it looks for the lowest note(that is easy to do) and just assumes that is the root. Since it excepts you not to play more than one note, and you do, you can't expect it to make sense. e.g., play a first inversion A chord and it should give you C, etc.

Since general music is much more complex you won't find any general analysis device or app(not yet, anyways). E.g., Say you play A5, is it a major or minor chord? it depends on the music that came before and what comes after. if you play C A5 Dm then it is an implied Am and will sound minor. If you play F#m A5 D then it is an implied A and will sound major. The tuners would have to listen to the music to figure this out. Currently only the human mind does this well and it involves training ones ear to know what it is hearing. Eventually someone will develop a device that is capable but I haven't seen anything that even comes close yet.

  • So, if that A or Am was played as a second inversion (with E at the bottom), would the tuner think it was still an A chord, due to the harmonics involved, or err more on the E side, since that would be the lowest note? Probably depends on the parameters of the individual tuner... – Tim Oct 30 '16 at 8:26
  • @tim no, again, most tuners only recgonize the lowest pitch and report that. That is, they report the bass note, not the root. In fact, they simply report the lowest note that they can detect. This is why sometimes they report the wrong note completely. As I mentioned, and AFAIK, there is no true mathematically correct chord detection algorithm. It requires a lot of work. You have to extract all the potential frequencies, fit them to the overtone series, and then deal with ambiguities. – user2691 Oct 30 '16 at 19:54
  • For example, suppose you have your A/E chord. Say is the notes E2 A2 C3. The overtone series is essentially E2: E3 B3 E4 G4 B4 D5 + A2: A3 E4 A4 C5 E5 G5 + C3: C4 G4 C5 E5 G5 Bb5. Notice that we have 3 E4's. So each note in the chord produces overtones that could be part of another overtone series. The software would have to figure out which overtones go with which note(actually how much of each). In the case of simple chords it is not that difficult but in the general case it is because the methods to extract the pitch content from the audio is not perfect itself. – user2691 Oct 30 '16 at 19:58
  • e.g., suppose the algorithms say that E4 has a relative strength of 9 out of 10. There is no way to know how to split that up in to now how much to give each fundamental for it's E4. E.g., does the E2 pitch get 3, the A2 pitch get 3 and the C3 pitch get 3? or E2 pitch get 7 and the A2 pitch get 1 and the C3 pitch get 1? The only way to know this is to be able to know the timbre of the instrument(which tells us, in general, the amplitude profile of the overtones). It starts getting really complex really quick(Neural networks probably can handle it with enough training but no one has done it) – user2691 Oct 30 '16 at 20:01
  • I should also mention that real pitched sounds tend to deviate slightly from the overtone series. This further complicates exacting the details. – user2691 Oct 30 '16 at 21:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.