Skip to main content

Topic: Key checker (Read 6087 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • markj
  • [*]
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

  • odyssey
  • [*][*][*][*][*]
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

  • markj
  • [*]
Key checker
Reply #2
Its definitely a start - Thank you

  • ExUser
  • [*][*][*][*][*]
  • Read-only
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.

  • markj
  • [*]
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.

  • ojdo
  • [*][*][*][*][*]
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";
}

  • odyssey
  • [*][*][*][*][*]
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.
  • Last Edit: 16 March, 2009, 07:40:24 PM by odyssey
Can't wait for a HD-AAC encoder :P

  • ExUser
  • [*][*][*][*][*]
  • Read-only
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.

  • odyssey
  • [*][*][*][*][*]
Key checker
Reply #8
Rapid Evolution is free to use, but it doesn't seem to use libraries, just a closed source algorithm. However the dev, shares a few interesting documents that you could probably use
Can't wait for a HD-AAC encoder :P

  • Chad P
  • [*]
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

  • odyssey
  • [*][*][*][*][*]
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

  • odyssey
  • [*][*][*][*][*]
Key checker
Reply #11
Any news on this, Canar?
Can't wait for a HD-AAC encoder :P

  • ExUser
  • [*][*][*][*][*]
  • Read-only
Key checker
Reply #12
Any news on this, Canar?
Been busy and stressed trying to find a job... I hate this economy. In short, no.