解説

音声フィンガープリンティングとは?楽曲認識の仕組みとカバー曲で失敗する理由

2026年10月24日 8分で読める
「この曲は何?」というアプリはすべて音声フィンガープリンティングに支えられています。雑音まじりの数秒の音声が、どうやって1億曲の中から一致を見つけるのか、同じ手法がなぜハミングやカバー曲を扱えないのか、そしてその隙間をどの技術が埋めるのかを解説します。

音声フィンガープリンティング(audio fingerprinting)は、「この曲は何?」というアプリすべての背後にある技術です。録音を小さく特徴的な署名(フィンガープリント)に縮約し、数百万曲分の署名を保存しておき、あとから数秒間の収音をその索引と照合します。雑然としたカフェの中で、Shazam や AHA Music の拡張機能、放送モニタリングが1秒未満で曲名を特定できるのは、この技術のおかげです。

本記事では、実際に使われている形でのこの手法を説明し、何に強く、どこで破綻するのか、そしてそれが苦手なケースを補う他の技術(旋律マッチング、カバー曲識別、ニューラル埋め込み表現)について見ていきます。

定義

音声フィンガープリントとは、音声信号のコンパクトで内容ベースの要約であり、同じ曲の2つの録音が、たとえ片方が歪んでいたり、圧縮されていたり、スピーカーから再生されて再度録音されたり、短く切り取られていたりしても同じフィンガープリントを生成するように設計されています。フィンガープリンティングシステムは、フィンガープリント抽出器と、クエリのフィンガープリントを数百万の参照フィンガープリントの中から高速に検索できる索引のペアです。

「フィンガープリント」という言葉は意図的です。人間の指紋と同じように、それは楽曲を作曲としてではなく、特定の録音を識別します。この区別が、この手法の限界のほとんどを説明します。

音声フィンガープリンティングの仕組み:ステップごとの解説

ほとんどのアプリが使っている設計は、2003年に Avery Wang が Shazam のために発表したアルゴリズム(「An Industrial-Strength Audio Search Algorithm」、ISMIR 2003)に由来します。手順は次のとおりです。

1. スペクトログラム

音声は短い重なりのある窓に分割され、各窓がスペクトルに変換されます。これにより、エネルギーの分布を示す時間-周波数のマップが得られます。テンポ、ピッチ、音色がパターンとして見えてくるのはここです。

2. ピーク抽出

スペクトログラム全体を保持する代わりに、抽出器は局所的なエネルギー峰だけを残します。時間方向と周波数方向の両方で周囲より強い点です。ピークは、周囲がぼやけてもピークのままであるため、背景雑音、低品質のマイク、MP3 圧縮に対して、信号全体よりもはるかに強く残ります。Wang はこの疎な点集合を「コンステレーションマップ(constellation map)」と呼びました。

3. ピークのペアのハッシュ化

各ピークは、その直後に続くいくつかのピークとペアにされます。ペアは(ピークAの周波数、ピークBの周波数、両者の時間差)のハッシュに変換されます。ペアは単一のピークよりはるかに特異的なので、1つのハッシュだけでカタログ上のほとんどすべての曲を除外できます。各ハッシュは、参照曲内でそれが出現する時刻とともに保存されます。

4. 時間オフセットによる照合

クエリ時には、収音したクリップから同じハッシュを計算し、索引を引きます。ヒットごとに「このハッシュは曲Xの時刻tに出現する」という情報が得られます。正しい曲では、参照時刻とクエリ時刻の差が1つの値に集中します。クリップが曲内のどこに位置するかを示すオフセットです。誤った曲では差がばらばらになります。強いクラスタが一致であり、そのオフセットはクリップが曲のどこから来たかも正確に示します。AHA Music が動画リンク内で見つけた曲すべてにタイムスタンプを付けられるのはこのためです。

音声フィンガープリンティング:波形からスペクトログラムのピーク、そして一致判定まで

雑音のあるカフェで機能する理由

  • 疎性。 保持されるのはピークだけであり、ピークこそが雑音、残響、圧縮を生き延びるものです。
  • 特異性。 時間差を持つピークのペアは十分に珍しいため、数十個の一致するハッシュで1億曲の中から1曲を特定できます。
  • 短いクエリ。 照合は一貫したハッシュの数え上げに基づくため、約5秒のクリップでも通常は十分な数のハッシュが含まれます。非常に雑音の多い条件では音声が多いほど助けになりますが、必要になることはほとんどありません。
  • 速度。 ハッシュ検索は索引検索なので、数千万曲のカタログを検索しても音声を走査するのではなくミリ秒単位で済みます。

フィンガープリンティングが失敗する場面

フィンガープリントは特定の録音を記述するため、同じ曲だが別の録音であるものは別のコンステレーションマップを生み、一致しません。

  • ハミング、口笛、歌唱。 あなたの声にはスタジオ音源のピークが1つもありません。フィンガープリントシステムは何も返しません。だからこそ Shazam はハミング検索を提供したことがないのです。
  • カバー曲、ライブ演奏、カラオケ。 楽器、テンポ、キーが異なればピークも異なります。作曲は同じですが、録音は違うからです。
  • リミックスや大きく改変された編集。 ピッチシフトやタイムストレッチされたバージョンはピークを移動させ、ほとんどのハッシュを壊します。ただし一部のシステムは小さな速度変化への許容を加えています。
  • 索引にない曲。 フィンガープリンティングは誰かがフィンガープリントした録音しか見つけられません。カタログ規模が重要です。AHA Music の背後にあるエンジンである ACRCloud は1億曲以上を索引化しています。

隙間を埋めるもの:旋律マッチング、カバー曲識別、埋め込み表現

技術比較するもの対応できるもの採用例
音声フィンガープリンティング録音のスペクトルピークパターン同じ録音の雑音まじりまたは短い抜粋Shazam、AHA Music の録音モード、放送モニタリング、YouTube Content ID 形式の照合
鼻歌検索(旋律マッチング)歌う・ハミングした旋律の音高曲線を、保存済みの旋律と比較ハミング、口笛、歌唱、音程の外れた入力SoundHound、Google 「ハミングで検索」、AHA Music のハミングモード
カバー曲識別録音のキーやテンポに依存しない和声特徴(クロマ)を、参照作曲と比較カバー、ライブ版、カラオケ、異なる編曲AHA Music のハミング/カバーモード(ACRCloud のカバー曲エンジン)
ニューラル音声埋め込み表現似た音の音声を近くに配置する学習済みベクトルモデルが学習した対象全般(ハミングした旋律を含む)。AI 楽曲検出にも利用Google 「ハミングで検索」、AI 楽曲検出ツール

実際には、現代の楽曲検索はこれらのうち複数を同時に動かしています。たとえば AHA Music は、マイク・ファイル・リンクの認識に ACRCloud のフィンガープリンティングを、旋律にはハミングエンジンを、カバー曲の背後にある作曲を認識してオリジナルを返すカバー曲エンジンを使用しており、ブラウザ拡張機能はフィンガープリントからカバー識別へ自動的にフォールバックします。AI Music Detector はさらに別の問題で、参照検索ではなく学習した音声特徴量に対する分類器です。

音声フィンガープリンティングの用途

  • 一般ユーザー向けの楽曲特定: Shazam、SoundHound、Google、AHA Music とそれらのブラウザ拡張機能。
  • 権利と著作権: プラットフォームがアップロードを参照カタログと照合し、著作権で保護された楽曲を検出します(最もよく知られた例が YouTube の Content ID です)。
  • 放送・ラジオのモニタリング: どの曲がどの局でいつ放送されたかを記録します。AHA Music のラジオチャートのようなエアプレイチャートの背景にあるデータです。
  • セカンドスクリーンと広告: テレビ番組や広告をその音声から認識し、コンテンツを同期させます。
  • 重複排除とカタログ整理: 異なるメタデータの下にある同一の録音を見つけます。

Q&A

音声フィンガープリントはファイルのハッシュと同じですか?
いいえ。ファイルハッシュ(MD5、SHA-256)は1ビットでも変われば変化するため、再エンコードされた MP3 は一致しません。音声フィンガープリントは音そのものから計算され、圧縮、リサンプリング、マイクを通した再録音をまたいでも同じままであるように設計されています。

認識には何秒の音声が必要ですか?
クリーンな条件でフィンガープリント索引と一致させるには、通常約5秒あれば十分です。雑音の多い部屋では10〜15秒あると助けになります。ハミング認識は通常10〜15秒の旋律を必要とします。

フィンガープリンティングでハミングから曲を特定できますか?
いいえ。ハミングは録音のスペクトルピークを再現しません。代わりに旋律マッチングツールを使ってください。SoundHound、Google 「ハミングで検索」、またはAHA Music のハミング楽曲検索です。

Shazam が知っている曲のライブ版で失敗するのはなぜですか?
ライブ演奏はピークの異なる別の録音だからです。フィンガープリンティングは録音を識別し、作曲を識別しません。AHA Music のハミング/カバーモードのようなカバー曲エンジンは作曲に一致させ、オリジナルを返します。

認識サービスは私の録音を保持しますか?
サービス次第です。AHA Music は認識のために録音を処理・アップロードし、恒久的には保存しません。プライバシーポリシーをご覧ください。

自分のアプリで音声フィンガープリンティングを使えますか?
はい、API 経由で可能です。AHA Music 自身は API を提供していませんが、AHA Music が使用しているエンジンは ACRCloud から利用できます。AHA Music の開発者ページで始め方が説明されています。

この記事をシェア

X でシェア Facebook