KeyFinder is an open source key detection tool, for DJs interested in harmonic and tonal mixing. Designed primarily for electronic and dance music, it is highly configurable and can be applied to many genres. It supports a huge range of codecs thanks to LibAV, and writes to metadata tags using TagLib.
It's intended to be very focused: no library management, no track suggestions, no media player. Just a fast, efficient workflow tool.
The accuracy of the algorithm is pretty good. Here's a comparison with some other packages. I don't claim that KeyFinder is better than other key estimation software, but it shows that the algorithm is in the same league as even the best paid alternatives.
I originally developed KeyFinder in 2011 as part of my MSc in Computer Science. The algorithms, design and implementation are described in some detail in my project report, which you can download, though it's a bit heavy going.
Please contact me if you have any questions, or if you want to get involved.
KeyFinder is licensed under the GPL version 3, and is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.