Take the 2-minute tour ×
Music: Practice & Theory Stack Exchange is a question and answer site for musicians, students, and enthusiasts. It's 100% free, no registration required.

What is a reasonably good way to detect chords in solo piano music?
Not the MIDI ones, but music generated by real piano/electronic keyboard.

I am trying to play a piano piece and check out its chords by feeding the piano output sound through microphone to my computer.

share|improve this question
    
OP: It seems this question could be reworded easily to fit within the guidelines. Maybe tell us more about what you are trying to do? @mods: He isn't asking for opinions on the best transcribing software, he described the problem he is trying to solve and wants possible solutions. This is a pretty common question (for all instruments), but I don't think I've ever seen it properly answered. –  Charles Oct 11 at 1:50
1  
There is a program called Transcribe! which might aid you. You can slow down a track being played, let the program analyse which tone are played in a small section etc. It doesn't magically give you the chords and so one, there is some work involved... –  Meaningful Username Oct 14 at 18:13
    
Automated pitch detection from audio (much like artificial vision) is not a completely solved problem (at least last time I'd checked). It's hard enough for a single melody line, and adding polyphony (e.g. chords) makes it much more difficult. I believe e7mac's answer (Melodyne) is current state-of-the-art. –  Caleb Hines Oct 14 at 18:31
    
@CalebHines : How come understanding human speech (eg by Siri) is easier than understanding a piano melody which is much more standardized form of sound than human voice. –  iankit Oct 14 at 18:37

5 Answers 5

The best software that I've heard of is Melodyne. It's capabilities are truly amazing and I think it will do what you want very well. Take a look. It's not cheap though but I think it has a free trial!

http://www.celemony.com/en/melodyne/what-is-melodyne

share|improve this answer

This is called transcription software; did you mean an app as in a mobile device app? Or desktop? There are many libraries that you could use if you were willing to develop your own app for either, of course, but there are also many already in existence. I'm not sure how accurate they are, but you can always give a couple a shot (try searching Github or SourceForge)! (Or just wait for someone else's answer)

share|improve this answer
    
Anything is ok. Mobile or desktop app. I am ok in spending time in developing my own, I have experience in python programming. But before jumping onto that I was looking for what is already there. Specifically for piano, it is ok if this doesnt work when many other instruments are playing, but should have sufficient accuracy (>95%) when piano solo is played. –  iankit Feb 11 at 7:32

There is software for that. But it is not always very accurate. Especially with multiple voices (or instruments) starting at the same time.

Research on this started over 40 years ago: Rabiner, Lawrence, et al. "A comparative performance study of several pitch detection algorithms." Acoustics, Speech and Signal Processing, IEEE Transactions on 24.5 (1976): 399-418.

And has improved a lot during the last few years: De La Cuadra, Patricio, Aaron Master, and Craig Sapp. "Efficient pitch detection techniques for interactive music." Proceedings of the 2001 International Computer Music Conference. 2001.

I suggest you take a look at the pitch detection plugin of the (free software) Audacity here.

share|improve this answer
    
decreased accuracy with multiple voices is ok. Something that just works with piano solos is the first question. How much accuracy can be achieved with that using available tools, if not then I will look for developing some code of my own. Thanks for the audacity plugin, I will check it out. However this looks like a general plugin, some code which is optimized for piano might be a better choice. –  iankit Feb 11 at 7:34

Ableton Live has a feature built in called "Harmony-to-MIDI" where it analyzes an audio track (could be piano, guitar, whole song.. anything) and it outputs a MIDI sequence replicating the chords played in the piece. It even chooses the closest sounding synth patch to match the source. Also available is Melody-to-MIDI and Rhythm-to-MIDI. I'm not much of a keyboardist so I can't vouch for 100% accuracy, but it usually sounds pretty good to me.

It might not be worth buying the software for this alone, but if you are into recording and producing music Ableton is definitely worth a look. You can try to software free for 30 days I believe.

Edit: I just tried a program called Transcribe! and it is very useful for transcribing recorded material. You can load your mp3s and it will analyze the frequencies and tell you which notes are represented over time. Works for piano, guitar, voice.. anything with a pitch. It won't automatically transcribe all the notes, but it will plot out which notes are likely being played, then use your ears figure out which ones are correct.

share|improve this answer

A new app released today might be a sultion. http://audiokit.io/ I dont have iOS device to check the accuracy though. Will borrow one.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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