(57)【要約】【課題】探索に用いられるメタデータのデータ量を低減させ、楽曲を素早く探索すること。【解決手段】第１および第２測定部１０２Ａ、１０２Ｂは、楽曲のオーディオデータＭ１、Ｍ２の基本周波数ｆ（ｐ）を予め指定された時間間隔ｔｎごとに測定する。第１および第２算出部１０３Ａ、１０３Ｂは、基本周波数ｆ（ｐ）を用いて、基準となる音の基準周波数に対する基本周波数の偏差ｑｎを基本周波数に対応した音として各々算出する。第１および第２メタデータ生成部１０４Ａ、１０４Ｂは、偏差を用いて、楽曲の特徴に関するメタデータＭＥＴ１（ｔｎ，ｑｎ）、ＭＥＴ２（ｔｎ，ｑｎ）を生成する。  を有する【選択図】図３
2012194653.tif 000002
【特許請求の範囲】
【請求項１】
楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定部と、
前記測定部の測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出部と、
前記算出部によって各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成部と、
を有するデータ処理装置。
【請求項２】
前記メタデータ生成部は、
各々の偏差を前記楽曲の開始からの経過時間に対応づけて、前記メタデータを生成する、
請求項１記載のデータ処理装置。
【請求項３】
前記算出部は、
前記基準周波数をｆ（Ａ）と表記し、前記基本周波数をｆ（ｐ）と表記し、前記基準周波数ｆ（Ａ）に対する前記基本周波数（ｐ）の偏差をｑと表記するとき、前記偏差ｑを下記式を用いて算出する、
請求項１または２記載のデータ処理装置。
【数１】
2012194653.tif 000012
【請求項４】
前記メタデータ生成部によって生成されたメタデータを、前記楽曲を含む複数の楽曲の属性が登録されたデータベースと照合する照合部を有し、
前記照合部は、
照合結果と共に前記楽曲の属性を出力する、
請求項１から３のいずれか一に記載のデータ処理装置。
【請求項５】
前記照合部は、
前記メタデータが前記データベース内のメタデータと一定の割合で一致した場合、前記メタデータが前記データベース内のメタデータと類似すると判断し、照合結果と共に前記楽曲の属性を出力する、
請求項４記載のデータ処理装置。
【請求項６】
請求項１から５のいずれか一に記載のデータ処理装置と、
前記データ処理装置にオーディオデータを送信する端末装置と、
を有するデータ処理システム。
【請求項７】
楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定ステップと、
前記測定ステップでの測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出ステップと、
前記算出ステップで各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成ステップと、
を有するデータ処理方法。
【請求項８】
楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定手順と、
前記測定手順での測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出手順と、
前記算出手順で各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理システム、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（以下「ＰＣ」という）や多機能携帯電話機などの普及により、楽曲の多くがデジタルデータ化されている。その際には、楽曲の探索や管理を容易にするため、楽曲名や作曲家名といったオーディオデータの属性が記述されたメタデータが生成されることが多い。
【０００３】
また、ネットワークを利用した電子商取引の普及により、膨大な数の楽曲がコンテンツ提供者によって提供されている。例えば、個人ユーザがその中から所望する楽曲をＰＣを用いて探索する場合、楽曲名や作曲家名など、何らかのキーワードが必要である。こうしたキーワードが分からない場合、所望する楽曲を見つけ出すことが困難となる。
【０００４】
この課題を解決すべく、特許文献１には、オーディオデータに高速フーリエ変換などの信号処理を所定時間ごとに施し、音程の特徴量をメタデータとして抽出することで、音（メロディ）をキーワードとして楽曲の探索を行うことができる技術が開示されている。この信号処理方法については、引用文献２に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１９２１０２号公報
【特許文献２】特開２００６−２０１６１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
音をキーワードに、数ある同一異録音の楽曲の中から所望する一曲を探索する場合、探索に用いられるメタデータのデータ量が増大する。必然的に、探索対象および被探索対象のメタデータ同士を照合する際の演算量が増え、楽曲の探索に要する時間も増大する。
【０００７】
本発明の目的は、探索に用いられるメタデータのデータ量を低減させ、楽曲を素早く探索することができる、データ処理装置、データ処理システム、データ処理方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明のデータ処理装置は、楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定部と、前記測定部の測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出部と、前記算出部によって各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成部と、を有する。
【０００９】
本発明のデータ処理方法は、楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定ステップと、前記測定ステップでの測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出ステップと、前記算出ステップで各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成ステップと、を有する。
【００１０】
本発明のプログラムは、楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定手順と、前記測定手順での測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出手順と、前記算出手順で各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成手順と、をコンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、探索に用いられるメタデータのデータ量を低減させ、楽曲を素早く探索することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係るデータ処理システムＡの構成例を示す概略ブロック図である。
【図２】図２は、本発明の実施の形態に係るサーバ装置１のハードウェアの構成例を示すブロック図である。
【図３】図３は、図２に示すサーバ装置１の持つ機能を表したブロック図である。
【図４】図４は、本発明の実施の形態に係る算出処理を説明するための図である。
【図５】図５は、本発明の実施の形態に係るメタデータ生成処理によって得られたメタデータの構成を説明するための図である。
【図６】図６は、本発明の実施の形態に係るデータ処理システムＡの動作例を示すシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を図面に関連づけて説明する。
【００１４】
［データ処理システムＡの構成例］
図１は、本発明の実施の形態に係るデータ処理システムＡの構成例を示す概略ブロック図である。図１に示すように、データ処理システムＡは、データ処理装置としてのサーバ装置１、楽曲サーバ装置２、クライアント端末装置３およびネットワーク４を有する。
【００１５】
データ処理システムＡは、サーバ装置１および楽曲サーバ装置２を所有するコンテンツ提供者が、ネットワーク４を介してクライアント端末装置３の所有者（以下「個人ユーザ」という）に対して個人ユーザが所望する楽曲を提供するシステムである。
【００１６】
楽曲の提供に際して、データ処理システムＡは、楽曲サーバ装置２に格納されている何千、何万という数の楽曲の中から個人ユーザが所望する楽曲（楽曲データＭ１）を探索する。その際に、楽曲名など、言葉のキーワードが分からなければ、探索が困難となる。そこで、データ処理システムＡは、クライアント端末装置３に格納されているオーディオデータＭ２をサーバ装置１にアップロードすることで、言葉だけはではなく、音をキーワードとして探索することができる。本実施の形態では、音をキーワードとして探索する場合を例に挙げる。
【００１７】
楽曲の探索の便宜を図るため、データ処理システムＡには、楽曲探索モードおよび類似探索モードがある。ここで、これら２つのモードについて説明する。
【００１８】
（楽曲探索モード）
楽曲探索モードは、個人ユーザのオーディオデータＭ２を用いて、楽曲サーバ装置２に格納されている数ある楽曲の中から個人ユーザが所望する楽曲を探索するためのモードである。
【００１９】
（類似探索モード）
類似探索モードは、オーディオデータＭ２のメロディに類似した楽曲を探索するためのモードである。
【００２０】
例えば、クラシック音楽は、世界各国の演奏者により演奏され、録音されている。クラシック音楽のように、楽曲名は同一であるが、演奏者や録音の環境が異なるという、同一異録音の楽曲は無数に存在する。類似探索モードは、このような同一異録音の楽曲を探索する場合に好適である。
【００２１】
サーバ装置１は、プログラムに従って演算処理を行うコンピュータを備えている。サーバ装置１は、ネットワーク４に接続され、楽曲サーバ装置２およびクライアント端末装置３と通信する。サーバ装置１は、クライアント端末装置３からの要求に従って、サーバ装置１の内部にて、以下の処理を行う。
【００２２】
（楽曲探索処理）
サーバ装置１は、楽曲探索モードの実行を促す要求がクライアント端末装置３からあった場合、楽曲データＭ１をネットワーク４上の楽曲サーバ装置２の中から探索し、探索結果をクライアント端末装置３に送信する。
【００２３】
（類似探索処理）
サーバ装置１は、類似探索モードの実行を促す要求がクライアント端末装置３からあった場合、オーディオデータＭ２に類似した楽曲データ（楽曲データＭ１とする）を探索し、探索結果をクライアント端末装置３に送信する。
【００２４】
楽曲サーバ装置２は、探索対象の楽曲データＭ１を始め、種々の属性の楽曲データを複数格納している。楽曲サーバ装置２は、ネットワーク４に接続され、サーバ装置１およびクライアント端末装置３と通信する。
【００２５】
クライアント端末装置３は、ＰＣ、デジタルオーディオ機器、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｃｅ）、多機能／高機能携帯電話機などの電子機器である。クライアント端末装置３は、基本的に、以下の機能を持つ。
【００２６】
第１に、クライアント端末装置３は、オーディオデータの取り扱いが可能である。第２に、クライアント端末装置３は、有線、無線を問わず、ネットワーク４に接続し、サーバ装置１および楽曲サーバ装置２と通信する。第３に、クライアント端末装置３は、表示画面に文字や画像を表示する。
【００２７】
本実施の形態では、特に断りがない限り、ＰＣをクライアント端末装置３の一例に挙げる。オーディオデータの取り扱い、ネットワーク４への接続、文字や画像の表示が可能な電子機器であれば、クライアント端末装置３の構成は、特に限定されるものではない。
【００２８】
以下、楽曲データＭ１およびオーディオデータＭ２は、デジタルオーディオデータであるとする。
【００２９】
ネットワーク４は、例えば、通信プロトコルとしてのＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を利用可能なインターネットである。
【００３０】
［サーバ装置１のハードウェアの構成例］
図２は、本発明の実施の形態に係るサーバ装置１のハードウェアの構成例を示すブロック図である。図２に示すように、サーバ装置１は、ＣＰＵ１０、第１ＨＤＤ１１、第２ＨＤＤ１２、ＲＯＭ１３、ＲＡＭ１４、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）ポート１５および内部バス１６を有する。サーバ装置１の各構成部は、内部バス１６に各々接続されている。
【００３１】
ＣＰＵ１０は、例えば、中央演算処理装置である。ＣＰＵ１０は、内部バス１６を介して、ＲＯＭ１３に格納されているプログラム１３１に従って、第１および第２ＨＤＤ１１、１２、ＲＡＭ１４との間でデータの授受を行いながら、楽曲探索処理および類似探索処理を行う。
【００３２】
第１ＨＤＤ１１は、記憶装置であって、例えば、ハードディスクである。第２ＨＤＤ１２も同様に、記憶装置であって、例えば、ハードディスクである。第１ＨＤＤ１１は、主に、楽曲探索処理および類似探索処理に用いられるメタデータを格納する。
【００３３】
第２ＨＤＤ１２は、主に、楽曲探索処理および類似探索処理に用いられるインデックスファイルを格納する。
【００３４】
ＲＯＭ１３は、不揮発性の記憶装置である。ＲＯＭ１３は、ＣＰＵ１０が楽曲探索処理および類似探索処理を実行するのに必要なプログラム１３１を格納している。
【００３５】
ＲＡＭ１４は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）ある。ＲＡＭ１４は、ＣＰＵ１０が演算処理のときに使用する一時的なデータを格納する。
【００３６】
Ｉ／Ｏポート１５は、外部機器を接続するためのポートであって、内部バス１６を介して外部機器とＣＰＵ１０との間のデータの授受を行う。Ｉ／Ｏポート１５に接続可能な外部機器には、例えば、ネットワークカードやキーボードがある。本実施の形態では、サーバ装置１は、ネットワークカードが接続されたＩ／Ｏポート１５を介して、ネットワーク４上の楽曲サーバ装置２およびクライアント端末装置３と通信する。
【００３７】
ＣＰＵ１０は、ＲＯＭ１３からプログラム１３１を読み出すと、第１ＨＤＤ１１、第２ＨＤＤ１２およびＲＡＭ１４にアクセスしながら、プログラム１３１の処理手順に従って処理を行う。これにより、サーバ装置１が持つ各機能が実現される（図３参照）。
【００３８】
なお、図２に示すハードウェアの構成は一例であって、種々の改変が可能である。例えば、プログラム１３１をＲＯＭ１３、第１ＨＤＤ１１または第２ＨＤＤ１２に格納することができる。この他、例えば、１個のハードディスクに、本実施の形態で用いられる各種データを格納することができる。
【００３９】
［サーバ装置１の機能ブロック図］
図３は、図２に示すサーバ装置１の機能を表したブロック図である。図３に示すように、サーバ装置１は、第１処理系１０Ａ、第２処理系１０Ｂおよび楽曲データベースＤＢを有する。第１および第２処理系１０Ａ、１０Ｂの各処理は、ＣＰＵ１０（図２参照）によってソフトウェア的に実行される。
【００４０】
先ず、第１および第２処理系１０Ａ、１０Ｂの概要について説明する。
【００４１】
（第１処理系１０Ａ）
第１処理系１０Ａは、第１ファイル形式変換部１０１Ａ、第１測定部１０２Ａ、第１算出部１０３Ａ、第１メタデータ生成部１０４Ａ、クエリ生成部１０５Ａ、クエリ実行部１０６および表示処理部１０７を有する。なお、クエリ生成部１０５Ａおよびクエリ実行部１０６は、照合部の一例である。
【００４２】
第１処理系１０Ａの目的は、楽曲探索処理および類似探索処理を行うため、個人ユーザのオーディオデータＭ２を、第２処理系１０Ｂによって作成された楽曲データベースＤＢと照合することである。第１処理系１０Ａの基本的な処理は、以下の通りである。
【００４３】
（測定処理）
第１に、第１処理系１０Ａは、オーディオデータＭ２をクライアント端末装置３から入力し、オーディオデータＭ２の基本周波数ｆ（ｐ）を予め指定された時間間隔ごとに測定する。ここでいう、基本周波数とは、ある音（例えば、音名（以下、米名表記）でいう「Ａ」）の音高（音の高さ）を決定づける物理量であって、その音が持つ周波数成分の内で最も低い周波数である。本実施の形態では、基本周波数ｆ（ｐ）を測定する時間間隔は、およそ１００ｍｓである。
【００４４】
（算出処理）
第２に、第１処理系１０Ａは、基準となる音（基準音）の基準周波数ｆ（Ａ）に対する基本周波数ｆ（ｐ）の偏差を半音階単位で算出し、この偏差に対応した音を算出する。換言すれば、第１処理系１０Ａは、基準周波数ｆ（Ａ）に対する基本周波数ｆ（ｐ）のズレに対応した音を算出する。ここでいう、基準音は、音名（以下、米名）で表すと、「Ａ」に対応する音である。その音の基準周波数ｆ（Ａ）は、望ましくは４４０Ｈｚである。
【００４５】
楽曲が基本周波数成分と種々の高調波成分で構成されていることは周知である。測定処理により基本周波数ｆ（ｐ）を測定し、算出処理により基本周波数ｆ（ｐ）が基準周波数ｆ（Ａ）からどの程度ズレているかを算出することで、基本周波数ｆ（ｐ）を測定した時点での音（例えば、音名でいう「Ｂ」）が分かる。その詳細については後述する。
【００４６】
（メタデータ生成処理）
第３に、第１処理系１０Ａは、算出処理によって得た音を基に、オーディオデータＭ２の特徴、具体的には、メロディを表すメタデータを生成する。
【００４７】
（楽曲探索処理／類似探索処理）
第４に、第１処理系１０Ａは、メタデータを用いて、楽曲データベースＤＢから楽曲データＭ１の検索または類似探索をクライアント端末装置３からの処理要求に従って行い、その結果をクライアント端末装置３に送信する。
【００４８】
（第２処理系１０Ｂ）
第２処理系１０Ｂは、第２ファイル形式変換部１０１Ｂ、第２測定部１０２Ｂ、第２算出部１０３Ｂ、第２メタデータ生成部１０４Ｂ、クローラ部１０８および楽曲データベース生成部１０９を有する。
【００４９】
第２処理系１０Ｂの目的は、楽曲データベースＤＢを作成することである。楽曲データベースＤＢは、楽曲探索処理および類似探索処理を行うため、楽曲データＭ１を始めとする、楽曲サーバ装置２内の楽曲データの情報を記録したものである。第２処理系１０Ｂの基本的な処理は、以下の通りである。
【００５０】
（収集処理）
第１に、第２処理系１０Ｂは、楽曲サーバ装置２のディレクトリを巡回し、楽曲サーバ装置２に格納されている種々の楽曲データを収集する。
【００５１】
（データベース作成処理）
第２に、第２処理系１０Ｂは、測定処理、算出処理およびメタデータ生成処理を行って、楽曲データベースＤＢを作成する。
【００５２】
以下、本実施の形態の特徴である、算出処理およびメタデータ生成処理について順を追って説明する。
【００５３】
［算出処理における音の算出方法］
図４は、本発明の実施の形態に係る算出処理を説明するための図である。本実施の形態では、音階の表現方法に半音階を用いる。十二平均律における半音は、１オクターブを１２等分したものである。１オクターブは、米名の表記を用いると、音高の低い方から順に、「Ｃ」、「Ｄ♭（フラット）」、「Ｄ」、「Ｅ♭（フラット）」、「Ｅ」、「Ｆ」、「Ｆ♯（シャープ）」、「Ｇ」、「Ａ♭（フラット）」、「Ａ」、「Ｂ♭（フラット）」、「Ｂ」の１２音からなる。
【００５４】
互いに隣接する２つの半音の周波数比は、（１）式で表される。
【００５５】
【数１】
2012194653.tif 000003
【００５６】
本実施の形態では、上述したように、「Ａ」を基準音とし、その基準周波数は、ｆ（Ａ）＝４４０Ｈｚである。例えば、音高が基準音「Ａ」より半音高い「Ｂ♭」音の基本周波数ｆ（Ｂ♭）は、（１）式の関係により、（２）式で表される。
【００５７】
【数２】
2012194653.tif 000004
【００５８】
（２）式より、周波数ｆ（Ｂ♭）は、（３）式で表される。
【数３】
2012194653.tif 000005
【００５９】
例えば、音高が「Ｂ♭」音より半音高い「Ｂ」音の基本周波数ｆ（Ｂ）は、基本周波数ｆ（Ｂ♭）の算出と同様の議論により、（４）式で表される。
【００６０】
【数４】
2012194653.tif 000006
【００６１】
すなわち、周波数ｆ（Ｂ♭）は、（３）式を用いると、（５）式で表される。
【００６２】
【数５】
2012194653.tif 000007
【００６３】
図４には、「Ｃ」音からそれよりも１オクターブ高い「Ｃ」音までの各音に対応した基本周波数ｆ（ｐ）が示されている。なお、変数ｐは、「Ｃ」から「Ｂ」のいずれかの音を表す。音が高くなるほど、基本周波数ｆ（ｐ）も高くなる。
【００６４】
基準音「Ａ」の基準周波数ｆ（Ａ）と、基準音「Ａ」より高く、かつ、これから２個の半音だけズレた「Ｂ」音の基本周波数ｆ（Ｂ）との比（周波数比）は、（６）式で表される。
【００６５】
【数６】
2012194653.tif 000008
【００６６】
図４には、基準音「Ａ」を１としたとき、基準周波数ｆ（Ａ）と各音の基本周波数ｆ（ｐ）との比が示されている。
【００６７】
（６）式を参照すると、基準音「Ａ」の基準周波数ｆ（Ａ）と、基準音「Ａ」からｑ個の半音だけズレたｐ音の基本周波数ｆ（ｐ）との比を、一般化された（７）式で表すことができる。
【００６８】
【数７】
2012194653.tif 000009
【００６９】
（７）式において、変数ｑは、整数をとる。以下、変数ｑを「ズレ個数」と呼ぶ。（７）式を変形すると、（８）式の関係式が得られる。
【００７０】
【数８】
2012194653.tif 000010
【００７１】
（８）式において、底を２１／１２とする対数をとると、ズレ個数ｑは、（９）式で表される。
【００７２】
【数９】
2012194653.tif 000011
【００７３】
ただし、ズレ個数ｑは、整数となるように、四捨五入された値である。（９）式において、基準音「Ａ」の基準周波数ｆ（Ａ）が既知であるので、基本周波数ｆ（ｐ）が分かれば、ズレ個数ｑが求まる。したがって、半音で基準音「Ａ」から何個ズレているかが分かる。
【００７４】
図４には、ズレ個数ｑと各音との対応関係が示されている。測定処理にて測定された基本周波数がｆ（ｐ）＝４６６．１６Ｈｚであった場合、ズレ個数はｑ＝１となる。この演算結果は、基準音「Ａ」から半音でズレ個数ｑ＝１だけズレた「Ｂ♭」を表している。なお、音名は、オクターブに左右されずに、一定の表記（「Ｃ」、「Ｄ♭」、…「Ｂ」）がなされるが、本実施の形態では、音高そのものを表すことができる。
【００７５】
このように、基本周波数ｆ（ｐ）が基準周波数ｆ（Ａ）からどの程度ズレているかを算出することで、測定された基本周波数ｆ（ｐ）がどの音に対応するかということが分かる。
【００７６】
［メタデータの構成例］
図５は、本発明の実施の形態に係るメタデータ生成処理によって得られたメタデータの構成を説明するための図である。第１処理系１０Ａによる測定処理では、楽曲の開始から、およそ１００ｍｓごとにオーディオデータＭ２の基本周波数ｆ（ｐ）が測定される。第２処理系１０Ｂによる測定処理は、第１処理系１０Ａのものと同様であるので、ここでは、第１処理系１０Ａの処理を例に挙げて説明する。
【００７７】
楽曲は和音で構成されることが多いため、一度に複数個の基本周波数ｆ（ｐ）が測定されることがある。図５に示す例では、楽曲の開始から１００ｍｓ経過した時間ｔ１において、２個の基本周波数ｆ（ｐ１）＝２９３．７Ｈｚ、ｆ（ｐ２）＝３４９．２Ｈｚが各々測定されている。
【００７８】
算出処理の結果、時間ｔ１において、基本周波数ｆ（ｐ１）におけるズレ個数がｑ１＝−７であったとすると、ズレ個数ｑ１に対応する音は「Ｄ」であることが分かる。同様に、基本周波数ｆ（ｐ２）におけるズレ個数ｑ２に対応する音が「Ｆ」であることが分かる。
【００７９】
メタデータ生成処理において、第１処理系１０Ａは、基本周波数ｆ（ｐ）の経過時間ｔｎと共に、ズレ個数ｑｎが時系列順に記述されたメタデータを生成する。メタデータは、経過時間ｔｎおよびズレ個数ｑｎをパラメータとし、下記に示す構文１で記述される。
【００８０】
（構文１）
（ｔｎ），ｑ１，ｑ２，・・・，ｑｎ，，
【００８１】
変数ｎは、正の整数（１，２，３，・・・）をとる。経過時間ｔｎは、楽曲開始からの経過時間であって、括弧「（  ）」内に記述される。経過時間ｔｎの記述の後には、「，（コンマ）」を於いてズレ個数ｑ１が記述される。ズレ個数ｑｎ−１の記述の後にズレ個数ｑｎを記述する場合、前者の記述の後に「，」を於いて後者のズレ個数ｑｎが記述される。最後のズレ個数ｑｎの記述の後には、メタデータの終了を表す「，（コンマ）」が記述される。
【００８２】
例えば、経過時間ｔ１＝１００ｍｓにおける測定では、ズレ個数ｑ１＝−７，ｑ２＝−４であるので、「（１００），−７，−４，，」というメタデータが生成される。予めズレ個数ｑｎを音名（具体的には音高）に対応づけておけば、メタデータを参照するだけで、経過時間ｔｎ＝１００ｍｓにおける楽曲データが「Ｄ」音および「Ｆ」音によって構成されていることが分かる。
【００８３】
１５分程度の楽曲では、経過時間ｔｎごとに得られるメタデータのバイト数は、数バイトから２０バイト程度であり、平均すると１５バイト程度である。１００ｍｓごとに１５バイトのメタデータが得られると仮定すると、この楽曲から得られるメタデータの総バイト数は、およそ１５バイト×（９０００００ｍｓ／１００ｍｓ）＝１３５ＫＢとなる。
【００８４】
上述したように、経過時間ｔｎおよびズレ個数ｑｎを用いてオーディオデータＭ２のメロディを表すので、１５分程度の楽曲であっても、メタデータのデータ量は、わずか１３５ＫＢ程度でしかない。サーバ装置１は、楽曲の特徴を的確に表しつつ、軽量なメタデータを生成することを可能にしている。
【００８５】
（第１処理系１０Ａの各構成部）
次に、図３を参照しながら、第１処理系１０Ａの各構成部について説明する。
【００８６】
第１ファイル形式変換部１０１Ａは、オーディオデータＭ２をネットワーク４（不図示）を介してクライアント端末装置３から時系列で入力し、これを所定のファイル形式に変換し、変換したオーディオデータＭ２ｃを第１測定部１０２Ａに出力する。これは、処理対象のファイル形式を統一するために行われる。本実施の形態では、例えば、オーディオデータＭ２がＭＰ３（ＭＰＥＧ  Ａｕｄｉｏ  Ｌａｙｅｒ３）のファイル形式で圧縮されている場合、第１ファイル形式変換部１０１Ａは、このオーディオデータＭ２をＭＰ４のファイル形式に変換する。
【００８７】
第１測定部１０２Ａは、オーディオデータＭ２ｃを第１ファイル形式変換部１０１Ａから時系列で取り込み、およそ１００ｍｓごとに測定処理を行い、得られた基本周波数ｆ（ｐ）を第１算出部１０３Ａに出力する。測定処理の際に、第１測定部１０２Ａは、例えば、高速フーリエ変換（ＦＦＴ）を用いて、オーディオデータＭ２ｃを周波数スペクトルデータに変換し、およそ１００ｍｓごとに基本周波数ｆ（ｐ）を算出する。更に、第１測定部１０２Ａは、基本周波数ｆ（ｐ）を測定したときの測定時間を楽曲開始からの経過時間ｔｎとして第１メタデータ生成部１０４Ａに出力する。なお、基本周波数ｆ（ｐ）の算出には、上述の他、ハーモニッククラスタリング法、くし形フィルタ法などを用いることができる。
【００８８】
第１算出部１０３Ａは、基本周波数ｆ（ｐ）を第１測定部１０２Ａから入力し、算出処理を行い、算出したズレ個数ｑｎを第１メタデータ生成部１０４Ａに出力する。算出処理の際に、第１算出部１０３Ａは、基準音「Ａ」の基準周波数ｆ（Ａ）と、第１測定部１０２Ａによって測定された基本周波数ｆ（ｐ）とを（９）式に代入し、整数でズレ個数ｑｎを算出する。
【００８９】
第１メタデータ生成部１０４Ａは、経過時間ｔｎを第１測定部１０２Ａから入力すると共に、ズレ個数ｑｎを第１算出部１０３Ａから入力し、およそ１００ｍｓごとにメタデータ生成処理を行い、生成したメタデータＭＥＴ２（ｔｎ，ｑｎ）をクエリ生成部１０５Ａに出力する。メタデータ生成処理の際に、第１メタデータ生成部１０４Ａは、構文１に示すように、「（ｔｎ），ｑ１，ｑ２，・・・，ｑｎ，，」という記述のメタデータを生成する。
【００９０】
本実施の形態では、データの流れを明確にするため、第１メタデータ生成部１０４Ａに第１測定部１０２Ａから経過時間ｔｎが入力されるものとしているが、第１メタデータ生成部１０４Ａが経過時間ｔｎを直接把握しても差し支えはない。このことは、第２処理系１０Ｂについても同様である。
【００９１】
クエリ生成部１０５Ａは、メタデータＭＥＴ２（ｔｎ，ｑｎ）を第１メタデータ生成部１０４Ａから入力し、メタデータＭＥＴ２（ｔｎ，ｑｎ）を用いてクエリを生成し、生成したクエリＱＵＥをクエリ実行部１０６に出力する。その際に、クエリ生成部１０５Ａは、メタデータＭＥＴ２（ｔｎ，ｑｎ）もクエリ実行部１０６に出力する。
【００９２】
クエリＱＵＥは、楽曲探索処理または類似探索処理を実行するために必要なデータであって、楽曲データベースＤＢに対する処理要求が記述されている。処理要求には、サーバ装置１がクライアント端末装置３から受けた、楽曲探索モードまたは類似探索モードの実行がある。
【００９３】
クエリ実行部１０６は、クエリＱＵＥをクエリ生成部１０５Ａから入力し、クエリＱＵＥに従って楽曲データベースＤＢにアクセスしながら、以下の処理を行う。
【００９４】
（楽曲探索モードの実行時）
楽曲探索モードの実行時には、クエリ実行部１０６は、メタデータＭＥＴ２（ｔｎ，ｑｎ）を第２ＨＤＤ１２に格納されているインデックスファイル１２１と照合し、照合結果を楽曲探索結果ＡＮＳとして表示処理部１０７に出力する。
【００９５】
インデックスファイル１２１は、例えば、図５に図示するように、第２処理系１０Ｂによって生成されたメタデータＭＥＴ１（ｔｎ，ｑｎ）を時系列順に記録したものである。なお、インデックスファイル１２１には、楽曲データＭ１以外のもののメタデータも記録されている。
【００９６】
照合の際に、クエリ実行部１０６は、オーディオデータＭ２のメタデータＭＥＴ２（ｔｎ，ｑｎ）をインデックスファイル１２１に記述されているメタデータＭＥＴ１（ｔｎ，ｑｎ）と比較する。
【００９７】
比較の結果、両者が一致する場合、クエリ実行部１０６は、楽曲データＭ１が楽曲サーバ装置２にあると判断し、楽曲データＭ１が見つかった旨を楽曲探索結果ＡＮＳとして、第１ＨＤＤ１１に格納されている属性データＤと共に表示処理部１０７に出力する。一方、両者が不一致する場合、クエリ実行部１０６は、楽曲データＭ１が楽曲サーバ装置２にないと判断し、楽曲データＭ１が見つからなかった旨を楽曲探索結果ＡＮＳとして表示処理部１０７に出力する。
【００９８】
（類似探索モードの実行時）
類似探索モードの実行時には、クエリ実行部１０６は、楽曲探索モードの場合と同様に、メタデータＭＥＴ２（ｔｎ，ｑｎ）をインデックスファイル１２１と照合し、照合結果を探索結果ＡＮＳとして表示処理部１０７に出力する。ただし、以下の点が楽曲探索モードの場合と異なる。
【００９９】
照合の際に、クエリ実行部１０６は、オーディオデータＭ２のメタデータＭＥＴ２（ｔｎ，ｑｎ）がインデックスファイル１２１に記述されているメタデータＭＥＴ１（ｔｎ，ｑｎ）と類似するか否かを判断する。本実施の形態では、前者のメタデータＭＥＴ２（ｔｎ，ｑｎ）が後者のメタデータＭＥＴ１（ｔｎ，ｑｎ）と一定の割合（例えば、８０パーセント）一致した場合、クエリ実行部１０６は、両者が類似すると判断する。この類似の度合を表す割合は、サーバ装置１の所有者または個人ユーザが好適に設定すればよい。
【０１００】
比較の結果、両者が類似する場合、クエリ実行部１０６は、オーディオデータＭ２が楽曲データＭ１に類似した楽曲であると推定し、その旨を類似探索結果ＡＮＳとして、属性データＤと共に表示処理部１０７に出力する。一方、両者が類似しない場合、クエリ実行部１０６は、オーディオデータＭ２に類似する楽曲が楽曲サーバ装置２にはないと判断し、その旨を類似探索結果ＡＮＳとして表示処理部１０７に出力する。
【０１０１】
表示処理部１０７は、楽曲探索結果ＡＮＳまたは類似探索結果ＡＮＳと共に、属性データＤをクエリ実行部１０６から入力し、両者をクライアント端末装置３に表示するための表示処理を行い、その処理結果Ｒをクライアント端末装置３にネットワーク４を介して送信する。表示処理は、例えば、表示画面のレイアウトなどを決める処理である。
【０１０２】
いずれのモードにおいても、探索対象が見つかった場合、クライアント端末装置３は、その旨と共に楽曲データＭ１の属性データＤを表示画面に表示する。
【０１０３】
（第２処理系１０Ｂの各構成部）
図３を参照しながら、第２処理系１０Ｂの各構成部について説明する。
【０１０４】
クローラ部１０８は、収集処理として、ネットワーク４上にある楽曲サーバ装置２のディレクトリを巡回し、楽曲サーバ装置２に格納されているコンテンツデータのキャッシュデータを収集する。キャッシュデータには、楽曲データＭ１を始めとする種々の楽曲データやその属性データがある。属性データは、上述したように、楽曲名などのデータである。クローラ部１０８は、キャッシュデータの内、楽曲データＭ１を第２ファイル形式変換部１０１Ｂに出力し、属性データＤを第１ＨＤＤ１１に出力する。
【０１０５】
第２ファイル形式変換部１０１Ｂは、楽曲データＭ１をクローラ部１０８から入力し、第１ファイル形式変換部１０１Ａと同様の処理を行い、所定のファイル形式に変換した楽曲データＭ１ｃを第２測定部１０２Ｂに出力する。
【０１０６】
第２測定部１０２Ｂは、楽曲データＭ１ｃを第２ファイル形式変換部１０１Ｂから時系列で取り込み、第１測定部１０２Ａと同様の測定処理を行い、この処理によって得られた基本周波数ｆ（ｐ）を第２算出部１０３Ｂに出力し、経過時間ｔｎを第２メタデータ生成部１０４Ｂに出力する。
【０１０７】
第２算出部１０３Ｂは、基本周波数ｆ（ｐ）を第２測定部１０２Ｂから入力し、第１算出部１０３Ａと同様の算出処理を行い、算出したズレ個数ｑｎを第２メタデータ生成部１０４Ｂに出力する。
【０１０８】
第２メタデータ生成部１０４Ｂは、経過時間ｔｎを第２測定部１０２Ｂから入力すると共に、ズレ個数ｑｎを第２算出部１０３Ｂから入力し、第１メタデータ生成部１０４Ａと同様のメタデータ生成処理を行い、生成したメタデータＭＥＴ１（ｔｎ，ｑｎ）を第１ＨＤＤ１１に出力する。
【０１０９】
楽曲データベース生成部１０９は、楽曲データベースＤＢにアクセスし、第１ＨＤＤ１１に格納されたメタデータＭＥＴ１（ｔｎ，ｑｎ）を用いて、インデックスファイル１２１を作成する。
【０１１０】
（楽曲データベースＤＢ）
楽曲データベースＤＢについて説明する。楽曲データベースＤＢは、楽曲サーバ装置２にある種々の楽曲データと、これらの楽曲データのメタデータを基に作成されたインデックスファイル１２１とによって構成されている。
【０１１１】
第１ＨＤＤ１１は、第２メタデータ生成部１０４Ｂから入力されたメタデータＭＥＴ１（ｔｎ，ｑｎ）と、クローラ部１０８から入力された属性データＤとを格納している。第２ＨＤＤ１２は、インデックスファイル１２１を格納している。
【０１１２】
クローラ部１０８が収集処理に失敗した場合など、何らかの理由により、第１ＨＤＤ１１にクローラ部１０８から属性データＤが入力されなかった場合、例えば、サーバ装置１の所有者による手動操作で、属性データＤを第１ＨＤＤ１１に直接入力することができる。更に、手動操作で、属性データＤを変更することができる。
【０１１３】
［データ処理システムＡの動作例］
図６は、本発明の実施の形態に係るデータ処理システムＡの動作例を示すシーケンス図である。
【０１１４】
ここでは、クライアント端末装置３の所有者である個人ユーザがネットワーク４上の楽曲サーバ装置２の中からオーディオデータＭ２と同じ楽曲を探索する場合を例に挙げる。なお、類似探索処理であっても、データ処理システムＡの動作は同じである。
【０１１５】
サーバ装置１は、楽曲探索モードの実行を促す要求がクライアント端末装置３からあった場合、その要求を許可すると、以下の処理を行う。先ず、ステップＳ１からＳ５に示す、第１処理系１０Ａによる処理の流れについて説明する。
【０１１６】
第１ファイル形式変換部１０１Ａは、オーディオデータＭ２をクライアント端末装置３から時系列で入力すると、これを所定のファイル形式に変換する（ステップＳ１）。
【０１１７】
ファイル形式の変換後、第１測定部１０２Ａは、オーディオデータＭ２ｃにおける楽曲の開始部分を検知する。そして、第１測定部１０２Ａは、およそ１００ｍｓごとに測定処理を行い、基本周波数ｆ（ｐ）を得る（ステップＳ２）。
【０１１８】
測定処理後、第１算出部１０３Ａは、基本周波数ｆ（ｐ）を用いて算出処理を行い、ズレ個数ｑｎを得る（ステップＳ３）。
【０１１９】
算出処理後、第１メタデータ生成部１０４Ａは、楽曲開始からの経過時間ｔｎと、ズレ個数ｑｎとを用いて、およそ１００ｍｓごとにメタデータ生成処理を行い、メタデータＭＥＴ２（ｔｎ，ｑｎ）を得る（ステップＳ４）。
【０１２０】
メタデータ生成処理、クエリ生成部１０５Ａは、メタデータＭＥＴ２（ｔｎ，ｑｎ）を用いてクエリを生成し、クエリＱＵＥを得る（ステップＳ５）。
【０１２１】
次に、ステップＳ６からＳ１１に示す、第２処理系１０Ｂの処理の流れについて説明する。
【０１２２】
クローラ部１０８は、楽曲サーバ装置２に格納されているコンテンツデータのキャッシュデータを収集し、楽曲データＭ１および属性データＤを得る（ステップＳ６）。
【０１２３】
収集処理後、第２ファイル形式変換部１０１Ｂは、クローラ部１０８から時系列で入力した楽曲データＭ１を所定のファイル形式に変換する（ステップＳ７）。
【０１２４】
ファイル形式の変換後、第２測定部１０２Ｂは、測定処理を行い、基本周波数ｆ（ｐ）を得る（ステップＳ８）。
【０１２５】
測定処理後、第２算出部１０３Ｂは、基本周波数ｆ（ｐ）を用いて算出処理を行い、ズレ個数ｑｎを得る（ステップＳ９）。
【０１２６】
算出処理後、第２メタデータ生成部１０４Ｂは、楽曲開始からの経過時間ｔｎと、ズレ個数ｑｎとを用いて、およそ１００ｍｓごとにメタデータ生成処理を行い、メタデータＭＥＴ１（ｔｎ，ｑｎ）を得る（ステップＳ１０）。
【０１２７】
メタデータＭＥＴ１（ｔｎ，ｑｎ）が生成された後、楽曲データベース生成部１０９は、メタデータＭＥＴ１（ｔｎ，ｑｎ）を用いて、インデックスファイル１２１を作成する（ステップＳ１１）。
【０１２８】
上述したステップＳ６からＳ１１の処理によって、楽曲データベースＤＢが作成される。この一連の処理は、ステップＳ１２の処理が開始される前に完了していることが望ましい。また、この一連の処理は、定期的（例えば、２４時間ごと）に実行されればよい。
【０１２９】
次に、ステップＳ１２およびＳ１３に示す、第１処理系１０Ａによる処理の流れについて説明する。
【０１３０】
クエリ実行部１０６は、オーディオデータＭ２のメタデータＭＥＴ２（ｔｎ，ｑｎ）をインデックスファイル１２１と照合する（ステップＳ１２）。
【０１３１】
表示処理部１０７は、探索結果を得ると、これを基に表示処理を行い、その処理結果Ｒをクライアント端末装置３に送信する（ステップＳ１３）。
【０１３２】
クライアント端末装置３は、処理結果Ｒをサーバ装置１から受けると、楽曲データＭ１が見つかったか否かを表す探索結果を表示画面に表示する。
【０１３３】
なお、ステップＳ１からＳ１３の処理は、プログラム１３１（図２参照）に処理手順として記述されている。
【０１３４】
以上述べたように、本実施の形態によれば、サーバ装置１は、経過時間ｔｎおよびズレ個数ｑｎを用いてメタデータを生成するので、以下の顕著な効果を得ることができる。
【０１３５】
メタデータは、上述したように、１５分程度の楽曲であっても、１３５ＫＢ程度であり、非常に軽量である。したがって、クエリ実行部１０６がメタデータ同士を照合する際の演算量を著しく低減させることができる。このことは、データベースの使用容量の削減や、楽曲探索処理および類似探索処理に要する時間の短縮につながる。
【０１３６】
更に、本実施の形態によれば、以下の顕著な効果を得ることができる。
【０１３７】
言語（日本語、英語など）に左右されず、的確に探索することができる。クラシック音楽のように、同一異録音の楽曲は、楽曲名などの属性が楽曲間で同じになることが多い上、多種多様な言語で記述される。そもそも、楽曲名などの属性の記述方式が統一されているわけではなく、第三者の手によって属性を変更することもできる。したがって、楽曲名などの言葉のキーワードを用いて、同一異録音の楽曲の中から一曲を探索することが難しい。しかしながら、本実施の形態では、メタデータに言葉のキーワードを記述しないので、メロディだけで探索を行うことができる。
【０１３８】
探索対象が見つかった場合、探索結果と共に探索対象の属性がクライアント端末装置３に送信される。したがって、個人ユーザは、探索対象の楽曲名などが分からなくても、探索対象が見つかれば、その楽曲名などを直ちに知ることができる。
【０１３９】
算出処理において、基本周波数ｆ（ｐ）に着目し、これが基準周波数ｆ（Ａ）からのズレを算出するため、楽曲の演奏時における楽器の構成や、楽曲の音質に左右されにくく、楽曲の特徴を的確に表したメタデータを生成することができる。
【０１４０】
この他、データ処理システムＡを用いれば、属性データが第三者の手によって故意に書き換えられ、他のサーバ等にアップロードされたような違法な楽曲の探索も可能となる。
【０１４１】
（実施の形態の変形例）
実施の形態の変形例について説明する。本変形例は、音程を「Ｃ」音から「Ｅ」音に一定にずらすなど、キー変更がある楽曲の探索に関する。以下、実施の形態と異なる点について説明する。
【０１４２】
類似探索モードにおいて、クエリ実行部１０６は、メタデータＭＥＴ２（ｔｎ，ｑｎ）がメタデータＭＥＴ１（ｔｎ，ｑｎ）に類似するか否かを判断する際に、以下のキー変更楽曲探索処理を行う。
【０１４３】
具体的には、クエリ実行部１０６は、すべての経過時間ｔｎにおいて、両者のズレ個数ｑｎ同士が一定個数ｑｗずれている場合に、オーディオデータＭ２と楽曲データＭ１間でキー変更があると判断する。一定個数ｑｗは、例えば、ｑｗ＝３など、好適に設定することができる。クエリ実行部１０６は、キー変更がある旨を類似探索結果ＡＮＳとして、属性データＤと共に表示処理部１０７に出力する。なお、両者のズレ個数ｑｎ同士が一定個数ｑｗずれていない場合の処理は、実施の形態と同様である。
【０１４４】
以上述べたキー変更楽曲探索処理をキー変更楽曲探索モードとして、楽曲探索モードおよび類似探索モードに加えることができる。
【０１４５】
本変形例により、楽器を変えて演奏した楽曲や原曲の探索を容易に行うことができる。無論、実施の形態における効果を得ることができる。
【０１４６】
本発明は、その要旨を逸脱しない範囲内で種々の改変が可能である。例えば、サーバ装置１および楽曲サーバ装置２を家庭内ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続し、クライアント端末装置３を用いて、家庭内で楽曲探索モード、類似探索モードおよびキー変更楽曲探索モードを実行することができる。
【０１４７】
例えば、楽曲サーバ装置２が持つ機能をサーバ装置１に組み込み、両者を１つのサーバ装置とすることができる。
【符号の説明】
【０１４８】
１…サーバ装置
２…楽曲サーバ装置
３…クライアント端末装置
４…ネットワーク
１０…ＣＰＵ
１０Ａ…第１処理系
１０Ｂ…第２処理系
１１…第１ＨＤＤ
１２…第２ＨＤＤ
１３…ＲＯＭ
１４…ＲＡＭ
１５…Ｉ／Ｏポート
１６…内部バス
１０１Ａ…第１ファイル形式変換部
１０１Ｂ…第２ファイル形式変換部
１０２Ａ…第１測定部
１０２Ｂ…第２測定部
１０３Ａ…第１算出部
１０３Ｂ…第２算出部
１０４Ａ…第１メタデータ生成部
１０４Ｂ…第２メタデータ生成部
１０５Ａ…クエリ生成部
１０６…クエリ実行部
１０７…表示処理部
１０８…クローラ部
１０９…楽曲データベース生成部
１２１…インデックスファイル
１３１…プログラム
【図１】
2012194653.tif 000013
【図２】
2012194653.tif 000014
【図３】
2012194653.tif 000015
【図４】
2012194653.tif 000016
【図５】
2012194653.tif 000017
【図６】
2012194653.tif 000018