(57)【要約】メロディデータベース（１１４）中のオーディオフラグメントを表すクエリストリングを検索するシステムであって、ユーザからクエリストリングを受信する入力（１２２、１３２）を含む。メロディデータベース（１１４）は、複数のオーディオフラグメントの表示を格納している。プロセッサ（１１６）を用いて、前記クエリストリングを複数のクエリサブストリングのシーケンスに分解する（１１７）。各サブストリングは、データベースを独立に検索して（１１８）、少なくとも１つのそれぞれ前記サブストリングと最も一致するものを見つける。それぞれのサブストリングの検索結果に応じて、前記クエリストリングと最も近い少なくとも１つの一致を決定する（１１９）。
2007519092.tif 000002
【特許請求の範囲】
【請求項１】
メロディデータベースにおいてオーディオフラグメントを表すクエリストリングとの一致を検索する方法であって、
前記クエリストリングを複数のクエリサブストリングのシーケンスに分解する段階と、
各サブストリングについて、独立に前記データベースを検索して、少なくともそれぞれ前記サブストリングと最もよい一致を見つける段階と、
それぞれのサブストリングの検索結果に応じて、前記クエリストリングと最も近い少なくとも１つの一致を決定する段階と、を有することを特徴とする方法。
【請求項２】
請求項１に記載のクエリストリング検索方法であって、
前記クエリストリングを分解する段階は、前記クエリストリングをそれぞれが実質的にフレーズに対応するサブストリングに分解する段階を含むことを特徴とする方法。
【請求項３】
請求項１に記載のクエリストリング検索方法であって、
ユーザに複数のクエリ入力モダリティを合わせて前記クエリストリングを入力できるようにする段階を含むことを特徴とする方法。
【請求項４】
請求項3に記載のクエリストリング検索方法であって、
少なくとも１つの前記クエリ入力モダリティは、ハミング、歌、口笛、タッピング、手拍子、パーカッシブボーカルサウンドの１つであることを特徴とする方法。
【請求項５】
請求項3に記載のクエリストリング検索方法であって、
クエリ入力モダリティの変化は実質的にサブストリング境界と同時であることを特徴とする方法。
【請求項６】
請求項１に記載のクエリストリング検索方法であって、
前記クエリストリングを分解する段階は、
前記クエリストリング中にいくつのサブストリングがあるか推定する段階と、
前記クエリストリングをＮ個のシーケンシャルなサブストリングであって、各サブストリングが前記サブストリングを表す重心に関連づけられたサブストリングに分割する段階と、
所定の収束基準が満たされるまで反復的に：
各重心について、前記対応するサブストリングに応じてそれぞれの重心値を決定する段階と、
前記サブストリングの各々について、前記重心の各々とその対応するサブストリング間のトータル距離尺度を最小化することにより、対応するサブストリング境界を決定する段階と、を有することを特徴とする方法。
【請求項７】
請求項2または６に記載のクエリストリング検索方法であって、
前記クエリストリング中にいくつの（Ｎｓ）サブストリングがあるか評価する段階は、フレーズの平均長さにより前記オーディオフラグメントの長さを割ることを含むことを特徴とする方法。
【請求項８】
請求項5に記載のクエリストリング検索方法であって、
前記クエリストリングを分解する段階は、前記入力モダリティの各々についてそれぞれの分類基準を検索する段階と、前記分類基準に基づいてクエリ入力モダリティの変化を検出するために分類アルゴリズムを使用する段階とを含むことを特徴とする方法。
【請求項９】
請求項3または8に記載のクエリストリング検索方法であって、
サブストリングをクエリ入力モダリティの２つの連続した変化内に入るように制限する段階を含むことを特徴とする方法。
【請求項１０】
請求項１に記載のクエリストリング検索方法であって、
前記データベース中を各サブストリングを検索する段階は、
前記サブストリングについて、前記データベース中のＮ個の最も近い対応する部分のベストＮリスト（Ｎ≧２）を対応する類似度の尺度と共に生成する段階と、
前記サブストリングの前記ベストＮリストの前記類似度の尺度に基づいて、前記クエリストリングの少なくとも最も近い一致の決定を実行する段階と、を有することを特徴とする方法。
【請求項１１】
コンピュータプログラムであって、プロセッサに請求項１に記載の方法の段階を実行させるコンピュータプログラム。
【請求項１２】
メロディデータベースにおいてオーディオフラグメントを表すクエリストリングを検索するシステムであって、
ユーザから前記クエリストリングを受け取る入力と、
複数のオーディオフラグメントのそれぞれの表示を格納するメロディデータベースと、
少なくとも１つのプロセッサであって、プログラムの制御下において、
前記クエリストリングを複数のクエリサブストリングのシーケンスに分解し、
各サブストリングについて、独立に前記データベースを検索して、少なくともそれぞれ前記サブストリングと最もよい一致を見つけ、
それぞれのサブストリングの検索結果に応じて、前記クエリストリングと最も近い少なくとも１つの一致を決定するするプロセッサと、を有することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メロディデータベースにおいてオーディオの一部を表すクエリストリングの検索方法に関する。本発明は、さらに、メロディデータベースにおいてオーディオの一部を表すクエリストリングを検索するシステムと、そのようなシステムで使用するサーバに関する。
【背景技術】
【０００２】
インターネットを介したオーディオ配信が増加するにつれ、オーディオトラック／タイトルの検索もより重要になりつつある。従来、ユーザは、アーティスト名、作曲家、レコード会社等のメタデータでオーディオタイトル／トラックを検索することはできた。データベースを検索してマッチするオーディオトラックを探した。ユーザは検索結果（hit）の１つ（または幾つか）を選択して、再生／ダウンロードすることができる。ユーザは好適なメタデータを常に特定できるわけではないので、他の形式で特定するクエリストリングも利用することができる。米国特許公報第５，９６３，９５７号には、いわゆる「ハミングによるクエリ」が開示されている。ユーザは単にオーディオトラックの一部をハミングする。ユーザがハミングしたオーディオ部分は、（例えば、ハミングした部分を音程または音程差のシーケンスに変換することにより）クエリストリングに変換される。そして、データベースを検索してマッチするトラック（または、より一般的には、ハミングされた部分を含むより長いオーディオ部分）を探す。マッチングは距離測定による。統計的基準を使用することもある。歌、口笛、タッピング等の他のオーディオ入力のやり方も知られている。
【発明の開示】
【課題を解決するための手段】
【０００３】
本発明の目的の１つは、データベース中のオーディオフラグメントを探す正確性を高める、上述の方法、システム、及びサーバを提供することである。
【０００４】
本発明の目的を満たすため、メロディデータベースにおいてオーディオフラグメントを表すクエリストリングとの一致を検索する方法は、次の段階を含む：前記クエリストリングを複数のクエリサブストリングのシーケンスに分解する段階と、各サブストリングについて、独立に前記データベースを検索して、少なくともそれぞれ前記サブストリングと最もよい一致を見つける段階と、それぞれのサブストリングの検索結果に応じて、前記クエリストリングと最も近い少なくとも１つの一致を決定する段階。
【０００５】
本願発明者は、ユーザによるオーディオ入力を表すクエリストリングは、現実的には、データベース中の表されたより大きなオーディオフラグメントのコヒーレントなシーケンシャルな部分ではないことに気がついた。例えば、ユーザは、２つのフレーズを有するオーディオフラグメントを表すクエリストリングを提供し：そのユーザは、最初にメインの歌詞のフレーズを歌い、次にコーラスのフレーズを歌い、最初のフレーズとコーラスのフレーズの間にあるフレーズはスキップした。ユーザはフレーズの１つを入力しただけなので、データベース中に「完全な」一致が見つかるかも知れない。従来の検索方法は、データベースに対して、両方のフレーズのシーケンス全体とマッチするように試みる。多くの場合、これにより非常に近い一致が与えられ（信頼できるものが検出できた場合）、システムの正確性を少なくとも低下させる。
【０００６】
本発明によると、前記クエリストリングを複数のクエリサブストリングのシーケンスに分解する。サブストリングは、データベース中に格納されたオーディオ表示に対して独立にマッチングされる。個別のマッチング動作の結果を用いて、クエリストリング全体の一致を決定する。ユーザが２つのシーケンシャルでないフレーズをクエリストリングとして提供した例の場合、両方のフレーズをより信頼性高く見つけることができる。同じオーディオトラックについて両方がよい一致を示した場合、そのトラックをクエリ全体と一致するものとして非常に高い信頼性で特定することができる。
【０００７】
最近、大容量オーディオを格納できるローカルシステムが人気を集めている。このようなシステムは、オーディオジュークボックスを有するＰＣ、チューナとハードディスクを組み込んだセットトップボックス、ハードディスクレコーダ等のいかなる形体を取ることもできる。また、携帯の大容量オーディオ記憶システムが、アップル者のｉＰｏｄやフィリップス者のＨＤＤ１００として入手可能である。これらのローカル記憶システムは、容易に何千というオーディオトラックを格納することができる。従来、このようなシステムは、ユーザに、アーティスト、タイトル、アルバム等の１つ以上のメタデータアイテムを指定することにより、トラックを検索可能としている。本発明による方法は、特にユーザが関連するメタデータを忘れた場合に、このようなシステムにおいてオーディオトラックを素早く選択するために使用することもできる。
【０００８】
従属請求項２に記載の手段によると、分解により、クエリはそれぞれフレーズに対応するサブストリングに分割される。フレーズ境界は、好適な方法で検出できる。例えば、フレーズは中心の音程の周囲にある通常８から２０の音符を持つ。フレーズ間に息継ぎのポーズがあり、中心音程が変化する。フレーズは、ハミングを遅くすることにより終了することも多い。または、フレーズは、音程の大きな違いや長い音程により区別してもよい。クエリストリング中に現れるシーケンシャルなフレーズを分けて認識することにより、正確性が高まる。
【０００９】
従属請求項３の手段によると、ユーザは、異なる入力モダリティを用いて入力された複数のオーディオ部分のミックスであるオーディオフラグメントを表すクエリストリングを提供するかも知れない。従来のメロディデータベースは、１タイプの入力モダリティしかサポートしていない。そこで、ユーザはそのデータベースの入力タイプを使用しなければならない。本発明によると、データベースは、複数のモダリティを用いて入力されたオーディオフラグメントを検索することができる。
【００１０】
従属請求項４の手段による、少なくとも１つの前記クエリ入力モダリティは、ハミング、歌、口笛、タッピング、手拍子、パーカッシブボーカルサウンドの１つである。原理的には、データベースがサポートしている限り、いかなる好適な入力モダリティを用いてもよい。
【００１１】
従属項５の手段によると、入力モダリティの変化を検出するといつも新しいサブストリングが始まる。上記の通り、従来のメロディデータベースは、クエリストリング全体の検索しかできない。本願発明者は、ユーザが、クエリストリングにより表されるオーディオフラグメントの入力中に、入力モダリティを変更するかも知れないことに気がついた。例えば、ユーザはコーラスのフレーズを使うかも知れないし、主旋律のフレーズをハミングするかも知れない。クエリストリングを分割することにより、異なる入力モダリティに対応する部分を分けて検索することができる。例えば、それぞれの入力モダリティに最適化されたデータベースを用い、または各モダリティについてデータベース中の同じフレーズを表すことによる。
【００１２】
従属項６の手段によると、サブストリングの位置と大きさを最適化する繰り返しの自動プロセスを用いる。この方法により、自動的に分解を見つけることができる。サブストリング数を初期評価する。各サブストリングは、（サブストリングのオーディオ的特徴を有する）それぞれの重心で表される。このように、初期評価により重心の初期数を決定する。重心の初期位置をオーディオフラグメントに沿って等距離に分布しているように選択してもよい。サブストリングは最初同じ大きさであってもよい。本方法により、サブストリングとその重心の間の距離を最小化する。１つの入力モダリティから他の入力モダリティへのジャンプは、通常、距離を減らす方向に影響する。そこで、サブストリングがオーディオフラグメントの２つの連続する入力モダリティが最初にオーバーラップする場合、最小化をすると、サブストリングの境界をその重心と同じ入力モダリティ内に入るまで、シフトする傾向がある。同様に、次のサブストリングの境界はシフトする。
【００１３】
従属項７の手段によると、サブストリングの数の初期評価（及び重心数）は、フレーズの平均長さと比較したオーディオフラグメントの長さに基づく。例えば、４０音程のオーディオフラグメントは、（最小フレーズ長さを８音程として）最大で５つのフレーズを含むと仮定する。そこで、繰り返しをオーディオフラグメントに沿って等距離に分布した、５つの重心から始める。好ましくは、この重心数を重心の最大数として用いる。重心がより少ない場合にも同じ最適化を実行して、フラグメントが非常にコヒーレントな状況をカバーする（例えば、ユーザが正しいフレーズのシーケンスを歌った場合）。
【００１４】
従属項８の手段により、クエリストリングを（距離尺度が暗黙の分類基準として機能する）より多くの一貫性のあるサブストリングに暗に分割する自動最小化手続を用いる替わりに、またはそれに加えて、明示的分類基準をセグメンテーションに用いることもできる。同じサブストリングに割り当てられたクエリストリングの各部分が同じ所定の分類基準を満足し、各２つのシーケンシャルなサブストリングが異なる所定分類基準を満足する。異なる分類基準は、それぞれの入力モダリティのオーディオ的特徴を表す。例えば、一部の入力モダリティは、歌及びハミングと同様に、明確なピッチを有し、一方、その他の入力モダリティは、パーカッションのように、明確なピッチは持たない（すなわち、ノイズ的である）。言うまでもなく、一部の特徴はすべてのユーザに適用できるという意味で絶対的であり、一方、一部の特徴は相対的であり（例えば、口笛のピッチレベルは歌／ハミングのピッチと相対的である）、オーディオフラグメント全体を分析した後、またはユーザによる初期トレーニングの後にのみ設定される。
【００１５】
従属項９の手段によると、分類により、入力モダリティの変化を示す入力クエリストリング内の境界を検出する。検出された境界は、サブストリングが２つの連続する境界の間に入らなければならないという自動セグメンテーションの制約として使用される（すなわち、サブストリングは境界と重なってはならない）。言うまでもなく、１つ以上のサブストリング（例えば、２つの歌われたフレーズ）は２つの境界間にあってもよい。この場合、オーディオフラグメントの初めと終わりは境界として数えられる。
【００１６】
従属項１０の手段によると、各サブストリングについて一致をデータベースで検索することにより、各サブストリングについて、データベース中で対応する類似度尺度を有するＮ個の最も近い対応する部分のベストＮリスト（Ｎ≧２）が与えられる。求めたベストＮリストに基づいて、クエリストリング全体の最適な一致を決定する（または、ベストＮリストはクエリストリング全体について作成される）。
【００１７】
本発明の目的を満たすため、メロディデータベースにおいてオーディオフラグメントを表すクエリストリングとの一致を検索するシステムは、次のものを含む：ユーザから前記クエリストリングを受け取る入力と、複数のオーディオフラグメントのそれぞれの表示を格納するメロディデータベースと、少なくとも１つのプロセッサであって、プログラムの制御下において、前記クエリストリングを複数のクエリサブストリングのシーケンスに分解する段階と、各サブストリングについて、独立に前記データベースを検索して、少なくともそれぞれ前記サブストリングと最もよい一致を見つける段階と、それぞれのサブストリングの検索結果に応じて、前記クエリストリングと最も近い少なくとも１つの一致を決定する段階。
【００１８】
本発明の上記その他の態様は、以下に説明する実施形態を参照して説明し、明らかとなるであろう。
【発明を実施するための最良の形態】
【００１９】
本発明によると、クエリストリングはサブストリングに分割され、個別にデータベース中を検索され、その結果に基づきマッチングしているか判断される。再分割（sub-division）は入力モダリティの変化を反映することが好ましい。このような再分割は幾つかの方法で達成できる。以下に、ダイナミックプログラミングを用いた最小化アルゴリズムを説明し、分類アプローチを説明する。また、アプローチを組み合わせて使用することもある。例えば、分類を最小化の事前分析として使用する。入力モダリティを変化させて再分割を実行する替わりに、フレーズの変化に基づいて再分割してもよい。好適なフレーズ検出アルゴリズムであればどんなものを用いてもよい。好ましくは、入力モダリティの変化による再分割とフレーズの変化による再分割を組み合わせる。例えば、まず、入力モダリティが変化するたびにサブストリングを生成するために再分割を行う。フレーズの変化を検出した時はいつも、これらのサブストリングをさらに再分割する。
【００２０】
図１は、本発明による方法を使用することができる、システム例１００のブロック図を示す。このシステム１００において、機能はサーバ１１０とクライアント（２つのクライアント１２０と１３０を示す）に分散されている。サーバ１１０とクライアント１２０と１３０はネットワーク１４０を介して通信可能である。このネットワークは、イーサネット（登録商標）等のローカルエリアネットワーク、ＷｉＦｉ、ブルーツゥース、ＩＥＥＥ１３９４等である。好ましくは、ネットワーク１４０はインターネットのようなワイドエリアネットワークである。装置にはネットワーク１４０を介して通信するための好適なハードウェア／ソフトウェア（サーバ１１０のアイテム１１２及びクライアントの対応する対テム１２６と１３６）が含まれている。このような通信ハードウェア／ソフトウェアは知られているので、これ以上は説明しない。
【００２１】
本発明によるシステムにおいて、ユーザはオーディオフラグメントを表すクエリストリングを直接的または間接的に特定する。図１の機能の再分割を用いて、ユーザは、ユーザインターフェイス１２２、１３２を介してそれぞれクライアント１２０または１３０の一方を用いてクエリストリングを指定する。クライアントは、ＰＣ等の従来のコンピュータや、ＰＤＡ等のコンピュータのような装置に実装されてもよい。具体的には、クライアントは音楽ライブラリ（リアルワン、ウィンドウズ（登録商標）メディアプレーヤ、アップルｉチューンズ等）を含む装置に実装され、ライブラリから再生すべきオーディオトラックまたはライブラリにダウンロードすべきオーディオトラックをユーザが指定可能とする。マウス、キーボード、マイクロホン等、いかなる好適なユーザインターフェイスを用いてもよい。特に、ボーカル入力等のオーディオまたはオーディオのような入力を用いて、オーディオフラグメントを指定することもできる。例えば、ユーザは、オーディオフラグメントを歌ったり、ハミングしたり、口笛を吹いたり、タッピングしたりする。クライアントは、マイクロホンを通してオーディオフラグメントを受け取ってもよい。そのマイクロホンは、従来のアナログマイクロホンでもよく、その場合、クライアントはＰＣのオーディオカードに通常あるようなＡ／Ｄコンバータを含む。マイクロホンは、すでにＡ／Ｄコンバータを含んでいるデジタルマイクロホンであってもよい。このようなデジタルマイクロホンは、例えば、ＵＳＢ、ブルーツゥース等を用いて、好適な形式でクライアント１２０と１３０に接続される。オーディオフラグメントは他の形式で入力されてもよい。例えば、従来の入力装置（例えば、マウスや標準ＰＣテキストキーボード、またはＰＣに接続された音楽キーボード）を用いて音符を指定してもよい。
【００２２】
好ましくは、クライアントは、オーディオフラグメントをクエリストリングに変換する何らかの処理を実行する。このような処理は、プロセッサ１２４と１３４により好適なプログラムの制御下で実行される。プログラムは、ハードディスク、ＲＯＭ、またはフラッシュメモリ等の不揮発メモリからプロセッサ１２４と１３４に読み込まれる。前処理は、例えばＭＰ３圧縮を用いたオーディオフラグメントの圧縮に限定されていてもよい。オーディオフラグメントがＭｉｄｉフォーマット等の好適な圧縮形式にすでにあれば、クライアント１２０と１３０ではそれ以上の前処理は必要ないかも知れない。前処理には、メロディデータベース１１４にわたる検索に好適なフォーマットへの変換が含まれてもよい。原理的には、データベースにおいてオーディオフラグメントの実際のオーディオコンテントを表すために、いかなる好適な方法を用いてもよい。そうするいろいろな方法が知られている。例えば、そのフラグメントを音程のシーケンスとして記述する（音符の長さは任意的）方法などである。絶対的な音程のシーケンスではなく、音程の変化（音程の上昇、一致、下降）だけを与える形式も知られている。そう望むならば、メロディデータベースはオーディオフラグメントのスペクトル情報を含んでもよい。方法は、オーディオ処理の技術分野において周知であり、特に、オーディオ及び／またはボーカル入力を分析に好適かつデータベースにわたる一致検索に好適な形式で表すスピーチ処理の技術分野で周知である。例えば、ピッチ検出方法は周知であり、音程値と音程長さの確定に使用することができる。このような方法は、本発明の一部ではない。
【００２３】
本発明によるシステムについて、データベース１１４へのアクセスのためにクエリストリングを指定するいかなる好適な形式も、データベース１１４がそのクエリストリングフォーマットをサポートしている限り使用することができる。データベースは、データベースのレコードを検索してクエリとの一致を探すように動作する。このようなクエリをサポートするメロディデータベースは知られている。好ましくは、一致（match）は「完全」一致である必要はなく、「統計的」一致でよい。すなわち、クエリに似たフィールドを有するデータベース中の１つ以上のレコードが特定される。類似度は統計的な尤度である。例えば、クエリアイテムとデータベースの対応するフィールドとの間の距離尺度に基づく。好ましくは、データベースはより速く一致を検索できるようにインデックスがつけられている。未公開の特許出願（代理人ドケット番号ＰＨＮＬ０３０１８２）には、厳密でない一致をサポートするデータベースのインデックス付け方法が記載されている。いうまでもなく、特定されたレコードのデータベースは、システムの使用に有用な情報を格納している。そのような情報は、作曲家、演奏アーティスト、レコード会社、録音年、スタジオ等の、特定されたフラグメントに関する書誌的情報を含む。データベースを検索すると、１つ以上の「一致する」レコードが（好ましくは、データベース中の例えば１０個の最も確からしいヒットを伴う、ベストＮ曲リストの形式で）特定され、格納された書誌的データの一部または全部とともにそのレコードが提示される。図１の構成において、情報は、サーバからネットワークを介してクエリを指定したクライアントに送られる。クライアントのユーザインターフェイスを用いて、ユーザに対してその情報を提示し（例えば、ディスプレイまたは音声合成を用いる）、またはインターネットサーバから特定されたオーディオトラックまたは全アルバムのダウンロード等の自動動作を実行する。データベースでは、フレーズまたはそれよりも小さいフラグメント（半フレーズ等）を検索でき、検索のロバスト性を向上することが好ましい。
【００２４】
本発明によると、前記クエリストリングを複数のクエリサブストリングのシーケンスに分解する。各サブストリングについて、データベースを独立に検索して、少なくとも１つのそれぞれ前記サブストリングと最も一致するものを見つける。上述のように、これにより、データベース中のＮ個の最も近い対応する部分のベストＮリスト（Ｎ≧２）が対応する類似度の尺度と共に得られる。類似度の尺度は距離または尤度である。好適な距離尺度／尤度は、当業者に知られており、これ以上説明はしない。それぞれのサブストリングの検索結果に応じて、システムは、クエリストリング全体と最も近い少なくとも１つの一致を決定する。好ましくは、システムは、ストリング全体についてベストＮリスト（Ｎ≧２）を作成し、ユーザが有望な候補の限定されたリストから最終的に選択できるようにする。データベースがサブストリングについてベストＮリストを提供できるシステムの場合、クエリストリング全体の一致は、そのサブストリングのベストＮリストの類似度尺度に基づくことが好ましい。下位の一致（sub-matches）の結果から、サブストリングのベストＮリストを１つのベストＮリストにマージして、全体一致の結果を決める方法は周知である。これは、サブストリングとの規格化された距離に関するリストで全アイテムを順序付けることにより行われる。あるいは、ベストＮリストの等価なアイテムの平均規格化距離を計算することができる。サブストリングの長さは異なるので、規格化が必要である。後の方はすべてのメロディの順序付けを表すので、各ベストＮリストにアイテムがある。この手段はアイテムを順序付けるのに使用することができる。両方の場合において、一番上のアイテムは、与えられた分解について最もよい候補を表す。
【００２５】
図１は、サーバ１１０のプロセッサ１１６を用いて、本発明による方法を実行することを示している。すなわち、クエリストリングを分解し（ステップ１１７）、データベースを検索して各サブストリングとの一致を探し（ステップ１１８）、サブストリングとの一致に基づいて結果を決定する（ステップ１１９）。サーバは、インターネットサーバとして知られたような好適なサーバプラットフォーム上で実施されてもよい。プロセッサは、例えばインテル社のサーバプロセッサなどの、いかなる好適なプロセッサであってもよい。プログラムは、ハードディスク（図示せず）等のバックグラウンド記憶装置からロードされる。データベースは、オラクル、ＳＱＬサーバ等のいかなる好適なデータベース管理システムを用いて実施してもよい。
【００２６】
図２は、本発明がスタンドアロン装置２００で利用される、別の構成を示している。このような装置は、例えば、ＰＣやアップルのｉＰｏｄのような携帯オーディオプレーヤである。図２において、図１ですでに説明した機能は、同じ参照番号をつけた。有利にも、データベースは、格納されたオーディオフラグメント表示について、そのフラグメントが組み込まれているオーディオタイトルへのリンクも含んでいる。実際のオーディオタイトルは、データベースに格納されていてもよいが、必ずしもその必要はない。好ましくは、タイトルは装置自体に格納される。あるいは、タイトルは、ネットワークを介してアクセス可能である。そのような場合、リンクはＵＲＬであってもよい。オーディオトラックまたはオーディオアルバム等の実際のタイトルに一致（match）をリンクすることにより、タイトルの素早い選択が可能となる。オーディオトラックの一部をハミングすることにより、その部分を有するトラックが特定され、完全に自動的に再生が開始する。
【００２７】
図３は、クエリストリングを分解する好ましい方法を示す。分解は、ステップ３１０において、クエリストリング中にいくつ（Ｎ個）のサブストリングがあるか評価することで始まる。好ましい実施形態において、これは、システムに１フレーズあたり１サブストリングとバイアスをかけることにより行う。これは、クエリストリングに表された、音符の数Ｎを計算することにより達成できる。１フレーズは一般的に８から２０の音符からなるので、フレーズ数はNnotes/8とNnotes/20の間にある。最初の分解は、NsとしてNnotes/8を（好適な丸めの後に）使用することに基づく。ステップ３２０において、クエリストリングをＮｓ個のシーケンシャルなサブストリングに分割する。好適な最初の分割は、等距離分布を用いて求められる。これは図４Ａに示されている。図４Ａにおいて、クエリストリング４１０は、３つのサブストリング（４２０、４３０、４４０で示す）に最初分割される。最初、これらのサブストリングは同サイズである。すなわち、クエリストリング４１０が表すオーディオフラグメントと同じ長さを表す。サブストリングはシーケンシャルであり、一緒になってクエリストリング４１０全体をカバーする。各サブストリング４２０、４３０、４４０は、それぞれの重心４２５、４３５、４４５により表される。重心はＸで示され、対応するサブストリングの中心にあるものとして図４Ａと図４Ｂに示した。このようなサブストリングを表す重心をどう計算するかは周知である。例えば、ユーザによるオーディオフラグメント入力は、短い（例えば、２０ｍｓ）同サイズフレームを用いて分析する。従来の信号処理は、特に、異なる入力モダリティ（すなわち、歌唱スタイル）間を区別するのに好適な、低レベルスペクトル特徴ベクトルをこれらのフレームから抽出するために使用される。このような特徴ベクトルは周知である。セプストラル（cepstral）係数を用いて、重心はオーディオサブストリング内のベクトルの算術平均である。このように、重心の初期値を求める。実際には、すべてのサブストリングが同じサイズではない（１つのモダリティで入力されたフレーズとセグメントは、一般には同じ長さではない）。これは、サブストリングの最適な位置とサイズを見つけることが望ましいことを示唆している。好ましくは、ダイナミックプログラミング（他の文献ではレベル構築としても知られている）を用いて、最適点を見つける。ダイナミックプログラミングはオーディオ処理の分野では周知であり、特に、スピーチ処理の分野では周知である。重心が与えられると、ダイナミックプログラミングは、ステップ３３０において、重心の値を固定しておいて、サブストリングの長さと位置を変化させる。このように、サブストリングの境界を最初に評価する。これは、各重心とそれに対応するサブストリング間のトータルの距離尺度を最小化することにより行う。当業者は、好適な距離尺度を選択することができるであろう。例えば、セプストラル係数を用いた、（重みづけ）ユークリッド距離は適当な距離尺度である。重みづけを用いて一定の係数を強調したり弱くしたり（de-emphasize）してもよい。図４Ａの例において、２つの後続部分間の主な破れ（break）が位置４５０に示されている（例えば、入力モダ��ティの変化）。図４Ｂは、サブストリングの境界が第１の最小化ラウンドのどのくらい後ろにあるかを示す。この例において、サブストリング４２０は縮まっている。サブストリング４２０の左境界は、クエリストリング４１０の始めで固定されている。サブストリング４３０は少し大きくなり、左境界が左にシフトしている。言うまでもなく、重心値はもはや対応するサブストリングを適格に表していない。ステップ３４０において、重心の新しい値は、現在のサブストリング境界に基づき計算される。所定の収束基準を満たすまで、上記プロセスを繰り返す。収束基準は、重心間の距離とそれぞれのサブストリングの合計がもはや減少しないということである。この基準をステップ３５０でテストする。任意的に、頭の音符（note  onsets）はクエリストリングにおいて検出される（例えば、エネルギーレベルに基づく）。頭の音符は、フレーズ境界の識別子として使用することができる（音符の途中で切らないことが好ましい）。このように、実際のサブストリング境界は、音符の間にあるように調節される。
【００２８】
一実施形態において、ユーザは、ハミング、歌、口笛、タップ、手拍子、またはパーカッシブボーカルサウンド等の複数のクエリ入力モダリティをミックすることによりクエリストリングを入力する。図３の方法は、通常、入力モダリティ間の変化を正確に決定することができる。その理由は、異なる入力モダリティに対するオーディオの違いを示す好適な重心パラメータを選択した場合、そのような変化は、距離尺度に影響するからである。異なる入力モダリティのオーディオ的特徴は次のようにまとめることができる：
歌が明確なピッチを有する。つまり、歌の波形のスペクトル表示中でハーモニー成分が容易に検出できることである。言い換えると、スペクトルのピークは、単一のスペクトルピーク、すなわち第一高調波または基本周波数（歌のピッチと呼ばれることが多い）の倍数である。異なる声域（「チェスト」、「中音」、「ヘッド」、「ファルセット」歌唱）は、異なる周波数範囲を有する。
【００２９】
パーカッシブサウンド（手拍子、表面のタッピング）は、よくても不明確なピッチを有する。すなわち、第１高調波として解釈できる複数のピークがある。さらに、パーカッシブサウンドは過渡的すなわちクリック（click）である。パワーと振幅が急速に変化し、すべての周波数にわたってしまう。これは容易に識別できる。
【００３０】
ハミングは顕著なスペクトルのピークが無い、中程度の周波数の低周波帯域を含む。
【００３１】
口笛は７００Ｈｚから２８００Ｈｚまでのピッチ（第一高調波）範囲を有する。弱い高調波を有するほぼ純粋な音程である。人の最も低い口笛の音程は、その人が歌える最も高い音符とほぼ近い（それで、口笛は歌よりも１．５から２オクターブ高いことがある）。
【００３２】
雑音は本来的に確率的である。このため、１つの周波数帯域（ピンクノイズ）または完全な周波数範囲（ホワイトノイズ）にわたってフラットなスペクトルを有する。
【００３３】
当業者は望めばより多くの入力モダリティの相違点を挙げることができる。
【００３４】
上記の自動的最小化方法を用いる再分割に替えて、クエリストリングをサブストリングのシーケンスに分解して、シーケンスの各サブストリングが所定の分類基準を満たし、２つのシーケンシャルなサブストリングの各々が異なる所定分類基準を満たすようにすることにより、クエリストリングをサブストリングに再分割してもよい。そこで、オーディオフラグメントの一部が画成された一貫性（例えば、歌に使用される画成波に内の明確に区別可能な音符（ピッチ））を示し、次の部分が他の一貫性（例えば、音符は明確に区別可能であるが、平均的に１．５オクターブ高い、一般的には口笛で使用するピッチ）を示す場合、これにより、その部分を異なる分類とし、分類の変化を新しいサブストリングの始まりであると解釈する。言うまでもなく、ある分類基準は、フラグメント全体の事前分析やユーザによるトレーニングの後でなければ完全に決めることはできない。このような事前分析は、例えば、ユーザが男性か女性かを明らかにし、歌、口笛等で使用される平均ピッチについての情報を提供する。他の基準は各人について同じであり、例えば、ボーカルパーカッションは主に音程がない（例えば、雑音的であり、明確に識別可能なピッチがない）。確立されたデフォルト及び／または人による基準を設けて、クエリストリング（クエリストリングにより表されるオーディオフラグメント）をさらに分析する。分類に使用するオーディオ的特徴は、ストリング／フラグメントの一部について決定され、異なる分類基準に対して比較される。このように、システムは、分類基準の異なる組を含み、各組が入力モダリティの１つを表すことが好ましい。分析されるフラグメントのオーディオ的特徴は、基準の各組と比較される。特徴がその組の１つと（完全に、またはほぼ）一致する場合、オーディオ部分がその組と対応する入力モダリティを介して指定される。分類方法は周知である。いかなる好適な方法を用いてもよい。分類方法の一例は以下の通りである。フラグメントの比較的小さな部分をそれぞれ時間分析する（例えば、フレーズの１／３または１／２）。分析中、その幅を有する分析ウィンドウをオーディオフラグメント全体にわたってスライドする。ウィンドウがオーディオフラグメント全体の部分（consistent  part）内にある限り、対応する分類規準の組と比較的よい一致が得られる。入力モダリティ間の変化がある境界を越えてウィンドウがシフトするとき、一致は弱く、ウィンドウがさらにシフトすればさらに弱くなる。ウィンドウが次の部分（consistent  part）に十分シフトされると、その入力モダリティについて分類規準の組とのより強い一致が見られる。一致はウィンドウがその部分にさらにシフトされるにつれ、よくなる。このように、比較的正確に境界を検出することができる。分析ウィンドウは、例えば、１０から３０ｍｓｅｃのフレームごとにシフトされる。オーディオフラグメント全体の分析が完了し、（オーディオフラグメント全体の初めと終わりの境界に加えて）少なくとも１つの境界が検出されると、サブストリングが協会内に形成される。
【００３５】
上述の分類方法は、上述のようにサブストリングへの再分割を実行するために使用することができる。好ましい実施形態において、サブストリングの位置を、分類を用いて検出された連続する境界内に制約することにより、分類を図３の自動的な手続に対する事前処理として使用する。制約されたダイナミックプログラミング法は周知であり、ここではこれ以上詳しく説明しない。
【００３６】
言うまでもなく、上記の分類情報はサブストリングの位置とサイズの最適点を見つけるために使用されるのみでなく、データベースを介した検出を向上するためにも用いられる。オーディオフラグメントの一部について最もよいマッチング一貫性基準を確立したので、ほとんどの場合にも、対応する入力モダリティが知られている。この情報を用いて、それが位置する部分に対応するサブストリングの検索を改善する。例えば、最適化されたデータベースは、各入力モダリティについて使用される。あるいは、データベースは、異なる入力モダリティを用いた同じフラグメントの検索をサポートする。入力モダリティは、１つの追加的クエリアイテムであり、データベースは、各オーディオフラグメント（例えば、フレーズ）について、そのフラグメントを指定するのに使用した入力モダリティを格納している。
【００３７】
図２に示した方法において、サブストリングの数の初期評価は、これ以上変更されない。初期評価は、好ましくは、フラグメント全体にあると予想されるサブストリングの最大数を求める。フラグメントは、この「ワーストケース」の仮定よりも一貫性があるので、好ましくは、同じプロセスをより少ないサブストリングに対して繰り返す。図２の例において、２つのサブストリングへの分解がなされ、データベースが検索される。データベースは、ストリング全体について検索されてもよい。このように、３つのサブストリング、２つのサブストリング、及び１つのサブストリング（すなわち、ストリング全体）について、ストリング全体の一致を求める。３通りの結果を比較し、最もよいものをクライアントに提示する。このように、原理的には、クエリストリングは多数の方法で分解することができ、各分解によりデータベース中で独立に検索できる幾つかのサブストリングが生じる。そこで、クエリストリングを全体として検索でき、その検索は、そのクエリストリングを２つに分解したサブストリングとは独立であり、かつ、そのクエリストリングを３つに分解したサブストリングとは独立であり、以下同様である。サブストリングの各検索により、確からしい候補のベストＮリストが得られる。このベストＮリストは、サブストリングとの距離に基づき順序付けられたデータベース中のすべてのメロディのリストである。トータルの結果は、例えば、すべての可能な分解のリストをユーザに提示する１つのリストに結合することにより、作ることができる。その結合は、すべてのリストをマージし、サブストリングからの規格化された距離に基づきソーティングすることによりなされる。
【００３８】
上述のように、クエリストリングを分解する段階は、そのクエリストリングをそれぞれが実質的にフレーズに対応するサブストリングに分解することを含む。これが唯一の分解ステップであってもよいし、例えば、入力モダリティの変化させるための再分割を目的とした分解をした後にさらに分解する、他の分解ステップ／基準と組み合わせて使用してもよい。フレーズはいかなる好適な方法を用いて検出してもよい。フレーズは、ハミングを遅くすることにより終了することも多い。または、フレーズは、音程の大きな違いや長い音程により区別してもよい。フレーズ検出アルゴリズムは、例えば、「Cambouropoulos,  E.  (2001)、ローカル境界検出モデル（ｉｂｄｍ）と表現タイミングの研究におけるその応用、In  Proc.  ICMC  2001」及び、「Ferrand,  M.,  Nelson,  P,  and  Wiggins,  G.  (2003)、メモリとメロディ密度：メロディセグメンテーションのモデル、In:  Proc.  of  the  XIV  Colloguiu  on  Musical  Informatics  (XIV  CIM  2003),  Firenze,  Italy,  May  8-9-10,2003」により知ることができる。
【００３９】
言うまでもなく、本発明はコンピュータプログラム、特に情報担体上またはその中のコンピュータプログラムにも適用できる。そのプログラムは、ソースコード、オブジェクトコード、ソースコードとオブジェクトコードの中間コード（部分的にコンパイルされた形体）、その他本発明による不法の実施に使用するのに好適な形体でもよい。記憶担体は、プログラムを実行することができる構成要素または装置である。例えば、記憶担体は、ＲＯＭ（例えば、ＣＤ−ＲＯＭまたは半導体ＲＯＭ）等、または磁気記録媒体（例えばフレキシブルディスクまたはハードディスク）等の記憶媒体を含む。さらに、記憶担体は、電気または光ケーブル、または無線その他の手段により搬送できる電気的または光学的信号等の伝送可能キャリアであってもよい。プログラムがそのような信号に化体しているとき、そのキャリアはそのようなケーブルまたはその他の装置または手段により構成される。あるいは、記憶担体は、関係する方法を実行またはその実行に使用するように適応している、プログラムが化体した集積回路であってもよい。
【００４０】
もちろん、上記の実施形態は、本発明を例示するものであり、限定するものではなく、当業者は、添付したクレームの範囲を逸脱することなく、別の実施形態を多数設計することができる。クレームにおいて、括弧の間に入れた参照符号はクレームを限定するものと解釈してはならない。「有する」という動詞及びその変化形を用いたが、請求項に記載された要素または段階以外の要素の存在を排除するものではない。構成要素に付された「１つの」、「一」という前置詞は、その構成要素が複数あることを排除するものではない。本発明は、複数の異なる構成要素を有するハードウェア手段によって、または好適にプログラムされたコンピュータによって実施してもよい。複数の手段を挙げる装置クレームにおいて、これらの手段は、１つの同じハードウェアにより実施してもよい。相異なる従属クレームに手段が記載されているからといって、その手段を組み合わせて有利に使用することができないということではない。
【図面の簡単な説明】
【００４１】
【図１】本発明による方法を実行する分散システムを示すブロック図である。
【図２】本発明による方法を実行するスタンドアロン装置を示す図である。
【図３】前記方法の一実施形態を示すフローチャートである。
【図４】図４Ａと４Ｂは、再分割例を示す図である。
【図１】
2007519092.tif 000003
【図２】
2007519092.tif 000004
【図３】
2007519092.tif 000005
【図４Ａ】
2007519092.tif 000006
【図４Ｂ】
2007519092.tif 000007
【国際調査報告】
2007519092.tif 000008
2007519092.tif 000009
2007519092.tif 000010