変更内容
今回の更新で公開した内容
- ハーモニー分析で長調と短調のキープロファイルを比較するようになりました。
- 分析結果に短調を直接表示できます。
- 上位候補にモード、スコア、信頼度が加わり、僅差の結果を調べやすくなりました。
- 今後のキー検出変更を公開する前に、既知のキーのファイルをベンチマークスクリプトで検証できます。
修正につながる具体的なフィードバック
あるユーザーは分析ツールを気に入っていましたが、2曲のキーが誤っていたと具体的な問題を指摘しました。こうした指摘は修正につなげるべきです。ハーモニーのセクションでキーを間違えると、ほかの音楽的なアドバイスも不確かな土台から始まります。
従来の方法は大ざっぱでした。chromaで最も強いピッチクラスをキーの主音として扱っていたためです。単純な素材では機能しても、CメジャーとAマイナーは同じピッチクラスを使いながら異なる調性として感じられる、という明らかな違いを捉えられません。
分析ツールの変更内容
現在のハーモニー分析は、chromaの結果を長調・短調のプロファイルと比較します。曲の音声の根拠は引き続き使いながら、ピッチクラス全体のパターンを最もよく説明するキーとモードは何か、という問いに変わりました。
- 長調と短調のプロファイルを別々に評価します。
- 主音と第5音の裏付けが、僅差の候補を区別する助けになります。
- 次のような短調を結果として返せるようになりました: Am.
- 上位候補は単なる文字列一覧ではなく、キー、モード、スコア、信頼度を含みます。
キー検出が完璧な音楽学者になるわけではありません。曲には転調、借用和音、モーダルな和声、明確な主音を避ける構成があります。今回の変更で標準の推定が過度に単純化されにくくなり、検証しやすくなりました。
公開前の検証方法
キー検出器とハーモニー分析の出力に対する、対象を絞った単体テストを追加しました。既知のキーの音声ファイル用に小さなベンチマークスクリプトも追加し、今後の調整を1件ずつ手動アップロードせず、フォルダーやCSVで確認できるようにしました。
最初の基本テストでは、12の主音すべてに対して明確な長調と短調のコード進行を生成しました。内部検出器は24件中24件の制御されたケースで期待したキーを返しました。これは基本的な長調・短調の区別を確認するものです。実際のあらゆる曲を正しく判定できる証明ではありません。
なぜ今すぐ高負荷の外部エンジンへ全面移行しないのか?
オープンソースのキー検出ツールを調べました。Essentiaには優れたキー抽出器があり、制御されたテスト向けの任意のバックエンドとして接続しています。ただし、本番のライセンス、パッケージング、実行コストを慎重に判断する必要があるため、標準のWeb依存関係にはまだ含めていません。
標準の処理は小さく検証可能なままにします。明確な種類の不具合を直し、出力を検証しやすく保ち、より強力なエンジンを実際の曲で比較してから運用できるようにする、という今回のリリースに適した判断です。
結果に期待できること
ハーモニーのセクションは、平行調の長調と短調をよりよく区別できるはずです。明らかにAマイナーの曲を、ピッチクラスが重なるという理由だけでCにまとめる必要がなくなりました。
まだ結果が違うと思う場合は、対象の曲またはレポートと期待するキーを添えた報告が最も役立ちます。検出したキー、上位候補、chromaの根拠、音楽的な例外を比較でき、記憶に頼って推測する必要がなくなります。
よくある質問
どの曲でも正しいキーを保証しますか?
いいえ。特に長調と短調が曖昧なケースで標準の推定を改善しますが、実際の曲は転調したり、安定した主音を避けたりすることがあります。
報告された2曲は検証しましたか?
いいえ。修正時に該当ファイルを入手できませんでした。既知のキーを持つ制御された音声で検出器を検証し、キーが付与された実際の曲向けのベンチマーク手段を追加しました。
Mix Analyzerはキー検出にEssentiaを使いますか?
可能性はあります。任意のバックエンドはテストできる状態ですが、ライセンス、パッケージング、実際の曲のベンチマーク結果が移行を支持するまで、標準リリースは内部検出器を使います。