解析器はまずクロマベクトルを作ります。五オクターブにわたる十二の音階クラスごとにエネルギー量を測り、すべてのドをひとつの箱に、すべてのド♯を次の箱にまとめていきます。得られるのは、どのオクターブで弾かれたかに関係なく、その曲が実際にどの音に寄りかかっているかの分布です。
キーとBPM判定:音声ファイルから調と速さを読む
音声ファイルを選ぶだけでキーとテンポが読めます。解析はブラウザ内で完結するためアップロードは不要で、クレジットも消費しません。判定の確度も表示します。
曲を選ぶと、キー、長短、テンポを一度に受け取れます。計算はすべて自分の端末で行われるので、ファイルは外に出ず、アップロードを待つ必要もありません。
MP3・WAV・M4A・OGG 対応 · 10 分まで · ファイルは端末から出ません
01
キーの求め方
次にこの分布を二十四のクラムハンスル=シュマックラー型と相関させます。十二の主音それぞれに長調と短調の重みが一つずつある形です。これらの型は聴取実験から得られたもので、ある調の中で各音度がどれだけ強く感じられるかを符号化しています。最も相関の高い型が勝ち、その相関係数が答えの隣に出る確度になります。
これは「最も大きい音を主音と呼ぶ」という素朴なやり方を意図的に避けた設計です。ミックスで最も大きい音高はたいてい強拍のベース音で、それは根音ではなく五度や三度であることが多いのです。分布全体を既知の形と相関させるほうが、はるかに頑健です。
02
テンポの求め方
テンポは別の信号から出します。解析器は音声を短いフレームに切り、各フレームのエネルギーを測り、上昇分だけを残します。エネルギーが跳ね上がる瞬間、つまり音やドラムの打点が始まる場所です。持続音は何も寄与しません。伸ばしたパッドはリズムを運ばないので、それが望ましい挙動です。
得られた立ち上がりの強さの曲線を自己相関にかけます。曲線を自分自身の遅延コピーと突き合わせ、最も強く一致する遅延が拍の周期です。探索範囲を 60 から 200 BPM に限ることで、音楽的にあり得る領域に結果をとどめます。
自己相関にはよく知られた癖があります。実際のテンポの半分や倍にも同じように喜んで食いつくのです。毎拍くり返す模様は二拍ごとにもくり返すからです。結果は 70 から 180 の範囲に折り返されます。録音物の圧倒的多数には正しい処理ですが、ごく速いドラムンベースではまれに半分の値を返します。
03
確度の読み方
確度は、その曲の音高分布と勝った型との相関です。おおむね 70 パーセントを超えていればキーはほぼ確実に正しいです。50 から 70 の間ならおそらく正しいものの、耳で取れる和音と照らす価値があります。50 パーセントを下回るなら推測として扱ってください。
確度が低いのは失敗ではなく情報です。そもそも単一のキーを持たない音楽もあります。無調の書法、半音階の濃いジャズ、長調とその平行短調の間に座る旋法的な作品、途中で転調する曲。いずれも平坦な分布になり、どの型とも強く一致しません。打楽器だけの素材には解析できる音高成分がほとんどありません。
ある調の平行長調と短調は七音すべてを共有するため、分布が非常によく似ます。確度が中くらいのとき最も多い誤りは、ハ長調の曲をイ短調と報告する、あるいはその逆です。曲がどの音に落ち着くかを聴けば数秒で決着します。
04
解析が難しくなる条件
和声楽器のきれいな録音が最もよく解析できます。ピアノ独奏、ギター主導の曲、弦楽の編曲、多くのポップス制作。いずれも明瞭な音高分布と安定した立ち上がり曲線を与えます。
結果を悪くするものが四つあります。強い歪みはエネルギーをスペクトル全体に広げ、音階クラスを互いににじませます。きわめて密なミックスは同時に鳴る音を積み重ねすぎ、どの主音も際立ちません。転速やルバートの演奏は、拍の周期が一定という前提を壊します。そしてサイドチェインやゲートを強くかけた制作は、音のないところに立ち上がりを作り出し、テンポ推定を引っ張ります。
解析器は曲全体ではなくファイル中央の三十秒を読みます。イントロはしばしば薄いパッドか無音で、その曲についてほとんど教えてくれないからです。セクションごとにキーやテンポが変わる曲は、先にファイルを切り分けて別々に解析してください。
05
キーとテンポの使いどころ
DJ は両方を使って繋ぎを設計します。テンポが合うことがビートマッチを成立させ、キーが同じか関係調であることが重なりの濁りを防ぎます。五度離れた曲や、平行長調と短調は、たいていよく馴染みます。
素材をサンプリングする制作者は、自分の作品に移すためにキーが必要で、グリッドに合わせて伸縮するためにテンポが必要です。どちらかが半音やわずか数 BPM ずれるだけで、伸びたサンプルでは即座に聞き分けられます。
歌う人はキーで、その曲が自分の音域に収まるかを判断し、収まらなければ何度動かすかを決めます。ギタリストはカポの位置選びに使います。セットリストを組む人はテンポで一晩の流れを設計し、キーで同じ調の曲が二曲続くのを避けます。
テンポだけ欲しいのに解析できるファイルがない場合、たとえば部屋の向こうで鳴っている曲や生の演奏なら、BPM タップが自分のタップから測ってくれます。
06
キーとBPMのよくある質問
ファイルはアップロードされますか?
されません。解析はブラウザ内で動き、ファイルは端末から直接読み込まれます。サーバーへは何も送らないため、アップロード表示もクレジットの消費もありません。
長調ではなく平行短調が出るのはなぜですか?
長調とその平行短調は七音すべてが同じなので、音高分布がほとんど同一に見えます。確度が中くらいのときに最も起きやすい誤りです。音楽がどの音に落ち着くかを聴いてください。
テンポが予想のちょうど半分なのはなぜですか?
自己相関はくり返しの模様に食いつき、毎拍くり返す模様は二拍ごとにもくり返します。結果は一般的な範囲に折り返されるため、本当に速い素材ではまれに半分になります。
ドラムループは解析できますか?
テンポはたいてい正しく出ます。キーは正しく出ません。打楽器には安定した音高成分がほとんどないためで、確度が低く出るのはツールがそれを伝えている状態です。
途中で転調する曲に対応しますか?
一度の解析では対応しません。解析した区間全体について一つのキーを報告します。ファイルを区間ごとに切り、別々に解析してください。
ファイルのどの部分を解析しますか?
中央の三十秒です。イントロは薄いか無音のことが多く分布を歪めるため、一般的な編曲で最も音数が多く代表的な部分を使います。
どの形式に対応していますか?
MP3、WAV、M4A、OGG で十分以内です。ブラウザがデコードできるものなら扱えます。それより長いファイルは先に切ってください。