このツールについて
セットを組む DJ は全トラックのテンポと Camelot コードを知りたい。歌い手やカバーバンドは、どこに移調するか決める前に原曲のキーを知りたい。ランニング用プレイリストを作る人は、170 BPM を保つ曲を集めたい。このページはそうした問いに、たくさんのファイルについて一度に答えます。MP3、M4A、WAV、OGG、FLAC を放り込むと——何曲まとめてでも構いません——ファイル名、長さ、0.1 刻みの BPM、確信度、キー(たとえば A minor)、その Camelot コード(8A)と Open Key コード(1m)、そして次点のキーが表に埋まっていきます。ファイルはブラウザの中の Web Worker で一つずつ解析され、どれもアップロードされません。だから最初の結果は、転送を待たずに最初のファイルがデコードされた時点で現れます。
テンポの求め方
初期設定では各トラックの真ん中の 60 秒を解析します。ビートがなかったり曖昧だったりしがちなイントロとアウトロを飛ばすためで、トラック全体に切り替えることもできます。音声はまずスペクトラルフラックスのオンセット包絡線——音に何か新しいことが起きるたびに山ができる曲線——に変換され、その自己相関から、オンセットの間隔のうちどれが最も強く繰り返しているかが分かります。候補が複数あるときは 120 BPM 付近を好む事前分布で決着をつけ、最後に細かい探索で 60〜200 BPM の範囲内で 0.1 BPM まで値を詰めます。倍テンポと半テンポは本質的に曖昧です。174 BPM のドラムンベースには 87 の脈も確かに存在します。そのため両方の読みが強いときは、答えが一つであるふりをせず、表に両方の数字(87 / 174)を出します。
キーの求め方
解析区間は 12 ビンのクロマ——12 の音名それぞれにどれだけエネルギーが乗っているかを時間平均したもの——に縮約されます。このプロファイルを Krumhansl–Kessler(1982)の 24 のキープロファイル(長調・短調それぞれ 12 ずつ)と相関させ、最もよく一致したものが表示されるキーです。二番目の候補も表示するのは、いちばん多い取り違えが平行調どうしだからです。C major と A minor は同じ七つの音を共有していて、クロマの平均だけでは区別がつかないことがよくあります。次点が平行調で、スコアも一位に近いなら、曲がどの音に落ち着くかを聞いてからどちらかを信じてください。Camelot コードは Mixed In Key で使われている慣例に従います。番号が隣り合うトラック、または同じ番号の A と B は和声的に混ざります。Open Key は他のソフトで使われる同等の表記です。
テンポを手で直す
検出が外れたときは、タップボタンかスペースキーを音楽に合わせて 4 回以上叩いてください。直近 8 回のタップの平均が、その行の BPM を置き換えます。倍テンポ・半テンポの読みを解決したり、ビートがとても弱い曲のテンポを決めたりする、いちばん手早い方法です。表が整ったら、表計算向けに CSV で書き出すか JSON としてコピーできます。どちらにもファイル名、長さ、BPM、確信度、キー、Camelot と Open Key のコード、次点のキーが含まれます。
数字が当てにならなくなるところ
検出器は、1 トラックにテンポが一つ、キーが一つあると仮定しています。途中でテンポが変わる曲、だんだん速くなるライブ録音、ルバートで演奏されるクラシックは、一つの平均値と低い確信度になります。その低い確信度こそが「自分の耳で聞いて」という合図です。モーダルな曲、無調の曲、転調の多い曲は 24 の長調・短調プロファイルにうまく当てはまらず、途中で転調するトラックには全体で一つのキーが付きます。転調の追跡は試みていません。確信度の列は正直に受け取ってください。高ければビートと調中心がはっきりしていたということで、低ければその曲には一つのはっきりした答えがなかったということです。