Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Key checker (Read 9320 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Key checker

Hi all,

I've searched through a few of the main foo plugin sites but can't find what I'm after.

I'm looking for a plugin that will query the track for the key it was produced in. Quite like what mixmeister does when you load tracks into that.

Thanks

Mark

Key checker

Reply #1
A plugin for this would be nice, but since the technology behind are quite complicated, 3rd party apps would probably yield better results.

Mixed In Key is considered one of the most accurate for this task. However, it only supports mp3 and wav - No lossless support!
Can't wait for a HD-AAC encoder :P

Key checker

Reply #2
Its definitely a start - Thank you

Key checker

Reply #3
After I get foo_vorbisstream tweaked to be just how I want it, I intend to try my hand at BPM/key analysis.

Key checker

Reply #4
Don't suppose there are any freeware apps like this around?

I don't really want to pay $58 for just analysing the harmonic signal.

Key checker

Reply #5
Don't suppose there are any freeware apps like this around?

The CLAM Annotator (CLAM = C++ Library for Audio and Music) is capable of extracting the sequence of chords. In the linked download a commandline "ChordExtractor.exe" is included. However, it is probably a bit of overkill for you. A self-written Perl function can be found below for extracting a sequence of chord keys (A, A#, B, C, C#, ...) and modes (Major, Minor, ...) from the program's output.

Code: [Select]
use XML::Simple;
[...]
sub extract_chords {
my $filename = shift;
my $chordPath = '"C:/Program Files/CLAM/Annotator/bin/ChordExtractor.exe"';

system($chordPath." \"".$filename."\" > clam.log 2>&1"); # run CLAM ChordExtractor
my $ci = XMLin($filename.".pool") or die "Error reading result file for $filename!\n";
unlink $filename.".pool";

my @choords = @{$ci->{ScopePool}->{ExtractedChord}->{AttributePool}->{Root}->{Enumerated}};
my @mode = @{$ci->{ScopePool}->{ExtractedChord}->{AttributePool}->{Mode}->{Enumerated}};


print FO "\"@choords\",\"@mode\"\n";
}

Key checker

Reply #6
After I get foo_vorbisstream tweaked to be just how I want it, I intend to try my hand at BPM/key analysis.

That would be AWESOME!!! Which library would you rely on? I know that "Mixed in Key" are using zplane tONaRT and aufTAKT.
Can't wait for a HD-AAC encoder :P

Key checker

Reply #7
I've got a couple ideas for my own algorithms which I will probably try. If I fail as miserably as I do sometimes, I might just try those libraries you mentioned. CLAM looks good, but it's pure GPL, so no foobar2000.


Key checker

Reply #9
After I get foo_vorbisstream tweaked to be just how I want it, I intend to try my hand at BPM/key analysis.

That would be AWESOME!!! Which library would you rely on? I know that "Mixed in Key" are using zplane tONaRT and aufTAKT.


FYI - Mixed In Key hasn't used tONaRT for about two years now, they've got their own patent pending system.


Cheers,
Chad P

Key checker

Reply #10
After I get foo_vorbisstream tweaked to be just how I want it, I intend to try my hand at BPM/key analysis.

That would be AWESOME!!! Which library would you rely on? I know that "Mixed in Key" are using zplane tONaRT and aufTAKT.


FYI - Mixed In Key hasn't used tONaRT for about two years now, they've got their own patent pending system.

My bad, I didn't really follow development after FLAC/lossless support was promised a long time ago, but never implemented...
Can't wait for a HD-AAC encoder :P

Key checker

Reply #11
Any news on this, Canar?
Can't wait for a HD-AAC encoder :P