JP2012194653A - データ処理装置、データ処理システム、データ処理方法およびプログラム - Google Patents

データ処理装置、データ処理システム、データ処理方法およびプログラム Download PDF

Info

Publication number
JP2012194653A
JP2012194653A JP2011056655A JP2011056655A JP2012194653A JP 2012194653 A JP2012194653 A JP 2012194653A JP 2011056655 A JP2011056655 A JP 2011056655A JP 2011056655 A JP2011056655 A JP 2011056655A JP 2012194653 A JP2012194653 A JP 2012194653A
Authority
JP
Japan
Prior art keywords
music
metadata
fundamental frequency
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011056655A
Other languages
English (en)
Inventor
Aiko Akutagawa
愛子 芥川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2011056655A priority Critical patent/JP2012194653A/ja
Publication of JP2012194653A publication Critical patent/JP2012194653A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】探索に用いられるメタデータのデータ量を低減させ、楽曲を素早く探索すること。
【解決手段】第1および第2測定部102A、102Bは、楽曲のオーディオデータM1、M2の基本周波数f(p)を予め指定された時間間隔tごとに測定する。第1および第2算出部103A、103Bは、基本周波数f(p)を用いて、基準となる音の基準周波数に対する基本周波数の偏差qを基本周波数に対応した音として各々算出する。第1および第2メタデータ生成部104A、104Bは、偏差を用いて、楽曲の特徴に関するメタデータMET1(t,q)、MET2(t,q)を生成する。
を有する
【選択図】図3

Description

本発明は、データ処理装置、データ処理システム、データ処理方法およびプログラムに関する。
近年、パーソナルコンピュータ(以下「PC」という)や多機能携帯電話機などの普及により、楽曲の多くがデジタルデータ化されている。その際には、楽曲の探索や管理を容易にするため、楽曲名や作曲家名といったオーディオデータの属性が記述されたメタデータが生成されることが多い。
また、ネットワークを利用した電子商取引の普及により、膨大な数の楽曲がコンテンツ提供者によって提供されている。例えば、個人ユーザがその中から所望する楽曲をPCを用いて探索する場合、楽曲名や作曲家名など、何らかのキーワードが必要である。こうしたキーワードが分からない場合、所望する楽曲を見つけ出すことが困難となる。
この課題を解決すべく、特許文献1には、オーディオデータに高速フーリエ変換などの信号処理を所定時間ごとに施し、音程の特徴量をメタデータとして抽出することで、音(メロディ)をキーワードとして楽曲の探索を行うことができる技術が開示されている。この信号処理方法については、引用文献2に開示されている。
特開2008−192102号公報 特開2006−201614号公報
音をキーワードに、数ある同一異録音の楽曲の中から所望する一曲を探索する場合、探索に用いられるメタデータのデータ量が増大する。必然的に、探索対象および被探索対象のメタデータ同士を照合する際の演算量が増え、楽曲の探索に要する時間も増大する。
本発明の目的は、探索に用いられるメタデータのデータ量を低減させ、楽曲を素早く探索することができる、データ処理装置、データ処理システム、データ処理方法およびプログラムを提供することである。
本発明のデータ処理装置は、楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定部と、前記測定部の測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出部と、前記算出部によって各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成部と、を有する。
本発明のデータ処理方法は、楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定ステップと、前記測定ステップでの測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出ステップと、前記算出ステップで各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成ステップと、を有する。
本発明のプログラムは、楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定手順と、前記測定手順での測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出手順と、前記算出手順で各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成手順と、をコンピュータに実行させる。
本発明によれば、探索に用いられるメタデータのデータ量を低減させ、楽曲を素早く探索することができる。
図1は、本発明の実施の形態に係るデータ処理システムAの構成例を示す概略ブロック図である。 図2は、本発明の実施の形態に係るサーバ装置1のハードウェアの構成例を示すブロック図である。 図3は、図2に示すサーバ装置1の持つ機能を表したブロック図である。 図4は、本発明の実施の形態に係る算出処理を説明するための図である。 図5は、本発明の実施の形態に係るメタデータ生成処理によって得られたメタデータの構成を説明するための図である。 図6は、本発明の実施の形態に係るデータ処理システムAの動作例を示すシーケンス図である。
以下、本発明の実施の形態を図面に関連づけて説明する。
[データ処理システムAの構成例]
図1は、本発明の実施の形態に係るデータ処理システムAの構成例を示す概略ブロック図である。図1に示すように、データ処理システムAは、データ処理装置としてのサーバ装置1、楽曲サーバ装置2、クライアント端末装置3およびネットワーク4を有する。
データ処理システムAは、サーバ装置1および楽曲サーバ装置2を所有するコンテンツ提供者が、ネットワーク4を介してクライアント端末装置3の所有者(以下「個人ユーザ」という)に対して個人ユーザが所望する楽曲を提供するシステムである。
楽曲の提供に際して、データ処理システムAは、楽曲サーバ装置2に格納されている何千、何万という数の楽曲の中から個人ユーザが所望する楽曲(楽曲データM1)を探索する。その際に、楽曲名など、言葉のキーワードが分からなければ、探索が困難となる。そこで、データ処理システムAは、クライアント端末装置3に格納されているオーディオデータM2をサーバ装置1にアップロードすることで、言葉だけはではなく、音をキーワードとして探索することができる。本実施の形態では、音をキーワードとして探索する場合を例に挙げる。
楽曲の探索の便宜を図るため、データ処理システムAには、楽曲探索モードおよび類似探索モードがある。ここで、これら2つのモードについて説明する。
(楽曲探索モード)
楽曲探索モードは、個人ユーザのオーディオデータM2を用いて、楽曲サーバ装置2に格納されている数ある楽曲の中から個人ユーザが所望する楽曲を探索するためのモードである。
(類似探索モード)
類似探索モードは、オーディオデータM2のメロディに類似した楽曲を探索するためのモードである。
例えば、クラシック音楽は、世界各国の演奏者により演奏され、録音されている。クラシック音楽のように、楽曲名は同一であるが、演奏者や録音の環境が異なるという、同一異録音の楽曲は無数に存在する。類似探索モードは、このような同一異録音の楽曲を探索する場合に好適である。
サーバ装置1は、プログラムに従って演算処理を行うコンピュータを備えている。サーバ装置1は、ネットワーク4に接続され、楽曲サーバ装置2およびクライアント端末装置3と通信する。サーバ装置1は、クライアント端末装置3からの要求に従って、サーバ装置1の内部にて、以下の処理を行う。
(楽曲探索処理)
サーバ装置1は、楽曲探索モードの実行を促す要求がクライアント端末装置3からあった場合、楽曲データM1をネットワーク4上の楽曲サーバ装置2の中から探索し、探索結果をクライアント端末装置3に送信する。
(類似探索処理)
サーバ装置1は、類似探索モードの実行を促す要求がクライアント端末装置3からあった場合、オーディオデータM2に類似した楽曲データ(楽曲データM1とする)を探索し、探索結果をクライアント端末装置3に送信する。
楽曲サーバ装置2は、探索対象の楽曲データM1を始め、種々の属性の楽曲データを複数格納している。楽曲サーバ装置2は、ネットワーク4に接続され、サーバ装置1およびクライアント端末装置3と通信する。
クライアント端末装置3は、PC、デジタルオーディオ機器、PDA(Personal Data Assistance)、多機能/高機能携帯電話機などの電子機器である。クライアント端末装置3は、基本的に、以下の機能を持つ。
第1に、クライアント端末装置3は、オーディオデータの取り扱いが可能である。第2に、クライアント端末装置3は、有線、無線を問わず、ネットワーク4に接続し、サーバ装置1および楽曲サーバ装置2と通信する。第3に、クライアント端末装置3は、表示画面に文字や画像を表示する。
本実施の形態では、特に断りがない限り、PCをクライアント端末装置3の一例に挙げる。オーディオデータの取り扱い、ネットワーク4への接続、文字や画像の表示が可能な電子機器であれば、クライアント端末装置3の構成は、特に限定されるものではない。
以下、楽曲データM1およびオーディオデータM2は、デジタルオーディオデータであるとする。
ネットワーク4は、例えば、通信プロトコルとしてのTCP/IP(Transmission Control Protocol/Internet Protocol)を利用可能なインターネットである。
[サーバ装置1のハードウェアの構成例]
図2は、本発明の実施の形態に係るサーバ装置1のハードウェアの構成例を示すブロック図である。図2に示すように、サーバ装置1は、CPU10、第1HDD11、第2HDD12、ROM13、RAM14、I/O(Input/Output)ポート15および内部バス16を有する。サーバ装置1の各構成部は、内部バス16に各々接続されている。
CPU10は、例えば、中央演算処理装置である。CPU10は、内部バス16を介して、ROM13に格納されているプログラム131に従って、第1および第2HDD11、12、RAM14との間でデータの授受を行いながら、楽曲探索処理および類似探索処理を行う。
第1HDD11は、記憶装置であって、例えば、ハードディスクである。第2HDD12も同様に、記憶装置であって、例えば、ハードディスクである。第1HDD11は、主に、楽曲探索処理および類似探索処理に用いられるメタデータを格納する。
第2HDD12は、主に、楽曲探索処理および類似探索処理に用いられるインデックスファイルを格納する。
ROM13は、不揮発性の記憶装置である。ROM13は、CPU10が楽曲探索処理および類似探索処理を実行するのに必要なプログラム131を格納している。
RAM14は、例えば、DRAM(Dynamic Random Access Memory)ある。RAM14は、CPU10が演算処理のときに使用する一時的なデータを格納する。
I/Oポート15は、外部機器を接続するためのポートであって、内部バス16を介して外部機器とCPU10との間のデータの授受を行う。I/Oポート15に接続可能な外部機器には、例えば、ネットワークカードやキーボードがある。本実施の形態では、サーバ装置1は、ネットワークカードが接続されたI/Oポート15を介して、ネットワーク4上の楽曲サーバ装置2およびクライアント端末装置3と通信する。
CPU10は、ROM13からプログラム131を読み出すと、第1HDD11、第2HDD12およびRAM14にアクセスしながら、プログラム131の処理手順に従って処理を行う。これにより、サーバ装置1が持つ各機能が実現される(図3参照)。
なお、図2に示すハードウェアの構成は一例であって、種々の改変が可能である。例えば、プログラム131をROM13、第1HDD11または第2HDD12に格納することができる。この他、例えば、1個のハードディスクに、本実施の形態で用いられる各種データを格納することができる。
[サーバ装置1の機能ブロック図]
図3は、図2に示すサーバ装置1の機能を表したブロック図である。図3に示すように、サーバ装置1は、第1処理系10A、第2処理系10Bおよび楽曲データベースDBを有する。第1および第2処理系10A、10Bの各処理は、CPU10(図2参照)によってソフトウェア的に実行される。
先ず、第1および第2処理系10A、10Bの概要について説明する。
(第1処理系10A)
第1処理系10Aは、第1ファイル形式変換部101A、第1測定部102A、第1算出部103A、第1メタデータ生成部104A、クエリ生成部105A、クエリ実行部106および表示処理部107を有する。なお、クエリ生成部105Aおよびクエリ実行部106は、照合部の一例である。
第1処理系10Aの目的は、楽曲探索処理および類似探索処理を行うため、個人ユーザのオーディオデータM2を、第2処理系10Bによって作成された楽曲データベースDBと照合することである。第1処理系10Aの基本的な処理は、以下の通りである。
(測定処理)
第1に、第1処理系10Aは、オーディオデータM2をクライアント端末装置3から入力し、オーディオデータM2の基本周波数f(p)を予め指定された時間間隔ごとに測定する。ここでいう、基本周波数とは、ある音(例えば、音名(以下、米名表記)でいう「A」)の音高(音の高さ)を決定づける物理量であって、その音が持つ周波数成分の内で最も低い周波数である。本実施の形態では、基本周波数f(p)を測定する時間間隔は、およそ100msである。
(算出処理)
第2に、第1処理系10Aは、基準となる音(基準音)の基準周波数f(A)に対する基本周波数f(p)の偏差を半音階単位で算出し、この偏差に対応した音を算出する。換言すれば、第1処理系10Aは、基準周波数f(A)に対する基本周波数f(p)のズレに対応した音を算出する。ここでいう、基準音は、音名(以下、米名)で表すと、「A」に対応する音である。その音の基準周波数f(A)は、望ましくは440Hzである。
楽曲が基本周波数成分と種々の高調波成分で構成されていることは周知である。測定処理により基本周波数f(p)を測定し、算出処理により基本周波数f(p)が基準周波数f(A)からどの程度ズレているかを算出することで、基本周波数f(p)を測定した時点での音(例えば、音名でいう「B」)が分かる。その詳細については後述する。
(メタデータ生成処理)
第3に、第1処理系10Aは、算出処理によって得た音を基に、オーディオデータM2の特徴、具体的には、メロディを表すメタデータを生成する。
(楽曲探索処理/類似探索処理)
第4に、第1処理系10Aは、メタデータを用いて、楽曲データベースDBから楽曲データM1の検索または類似探索をクライアント端末装置3からの処理要求に従って行い、その結果をクライアント端末装置3に送信する。
(第2処理系10B)
第2処理系10Bは、第2ファイル形式変換部101B、第2測定部102B、第2算出部103B、第2メタデータ生成部104B、クローラ部108および楽曲データベース生成部109を有する。
第2処理系10Bの目的は、楽曲データベースDBを作成することである。楽曲データベースDBは、楽曲探索処理および類似探索処理を行うため、楽曲データM1を始めとする、楽曲サーバ装置2内の楽曲データの情報を記録したものである。第2処理系10Bの基本的な処理は、以下の通りである。
(収集処理)
第1に、第2処理系10Bは、楽曲サーバ装置2のディレクトリを巡回し、楽曲サーバ装置2に格納されている種々の楽曲データを収集する。
(データベース作成処理)
第2に、第2処理系10Bは、測定処理、算出処理およびメタデータ生成処理を行って、楽曲データベースDBを作成する。
以下、本実施の形態の特徴である、算出処理およびメタデータ生成処理について順を追って説明する。
[算出処理における音の算出方法]
図4は、本発明の実施の形態に係る算出処理を説明するための図である。本実施の形態では、音階の表現方法に半音階を用いる。十二平均律における半音は、1オクターブを12等分したものである。1オクターブは、米名の表記を用いると、音高の低い方から順に、「C」、「D♭(フラット)」、「D」、「E♭(フラット)」、「E」、「F」、「F♯(シャープ)」、「G」、「A♭(フラット)」、「A」、「B♭(フラット)」、「B」の12音からなる。
互いに隣接する2つの半音の周波数比は、(1)式で表される。
Figure 2012194653
本実施の形態では、上述したように、「A」を基準音とし、その基準周波数は、f(A)=440Hzである。例えば、音高が基準音「A」より半音高い「B♭」音の基本周波数f(B♭)は、(1)式の関係により、(2)式で表される。
Figure 2012194653
(2)式より、周波数f(B♭)は、(3)式で表される。
Figure 2012194653
例えば、音高が「B♭」音より半音高い「B」音の基本周波数f(B)は、基本周波数f(B♭)の算出と同様の議論により、(4)式で表される。
Figure 2012194653
すなわち、周波数f(B♭)は、(3)式を用いると、(5)式で表される。
Figure 2012194653
図4には、「C」音からそれよりも1オクターブ高い「C」音までの各音に対応した基本周波数f(p)が示されている。なお、変数pは、「C」から「B」のいずれかの音を表す。音が高くなるほど、基本周波数f(p)も高くなる。
基準音「A」の基準周波数f(A)と、基準音「A」より高く、かつ、これから2個の半音だけズレた「B」音の基本周波数f(B)との比(周波数比)は、(6)式で表される。
Figure 2012194653
図4には、基準音「A」を1としたとき、基準周波数f(A)と各音の基本周波数f(p)との比が示されている。
(6)式を参照すると、基準音「A」の基準周波数f(A)と、基準音「A」からq個の半音だけズレたp音の基本周波数f(p)との比を、一般化された(7)式で表すことができる。
Figure 2012194653
(7)式において、変数qは、整数をとる。以下、変数qを「ズレ個数」と呼ぶ。(7)式を変形すると、(8)式の関係式が得られる。
Figure 2012194653
(8)式において、底を21/12とする対数をとると、ズレ個数qは、(9)式で表される。
Figure 2012194653
ただし、ズレ個数qは、整数となるように、四捨五入された値である。(9)式において、基準音「A」の基準周波数f(A)が既知であるので、基本周波数f(p)が分かれば、ズレ個数qが求まる。したがって、半音で基準音「A」から何個ズレているかが分かる。
図4には、ズレ個数qと各音との対応関係が示されている。測定処理にて測定された基本周波数がf(p)=466.16Hzであった場合、ズレ個数はq=1となる。この演算結果は、基準音「A」から半音でズレ個数q=1だけズレた「B♭」を表している。なお、音名は、オクターブに左右されずに、一定の表記(「C」、「D♭」、…「B」)がなされるが、本実施の形態では、音高そのものを表すことができる。
このように、基本周波数f(p)が基準周波数f(A)からどの程度ズレているかを算出することで、測定された基本周波数f(p)がどの音に対応するかということが分かる。
[メタデータの構成例]
図5は、本発明の実施の形態に係るメタデータ生成処理によって得られたメタデータの構成を説明するための図である。第1処理系10Aによる測定処理では、楽曲の開始から、およそ100msごとにオーディオデータM2の基本周波数f(p)が測定される。第2処理系10Bによる測定処理は、第1処理系10Aのものと同様であるので、ここでは、第1処理系10Aの処理を例に挙げて説明する。
楽曲は和音で構成されることが多いため、一度に複数個の基本周波数f(p)が測定されることがある。図5に示す例では、楽曲の開始から100ms経過した時間tにおいて、2個の基本周波数f(p)=293.7Hz、f(p)=349.2Hzが各々測定されている。
算出処理の結果、時間tにおいて、基本周波数f(p)におけるズレ個数がq=−7であったとすると、ズレ個数qに対応する音は「D」であることが分かる。同様に、基本周波数f(p)におけるズレ個数qに対応する音が「F」であることが分かる。
メタデータ生成処理において、第1処理系10Aは、基本周波数f(p)の経過時間tと共に、ズレ個数qが時系列順に記述されたメタデータを生成する。メタデータは、経過時間tおよびズレ個数qをパラメータとし、下記に示す構文1で記述される。
(構文1)
(t),q,q,・・・,q,,
変数nは、正の整数(1,2,3,・・・)をとる。経過時間tは、楽曲開始からの経過時間であって、括弧「( )」内に記述される。経過時間tの記述の後には、「,(コンマ)」を於いてズレ個数qが記述される。ズレ個数qn−1の記述の後にズレ個数qを記述する場合、前者の記述の後に「,」を於いて後者のズレ個数qが記述される。最後のズレ個数qの記述の後には、メタデータの終了を表す「,(コンマ)」が記述される。
例えば、経過時間t=100msにおける測定では、ズレ個数q=−7,q=−4であるので、「(100),−7,−4,,」というメタデータが生成される。予めズレ個数qを音名(具体的には音高)に対応づけておけば、メタデータを参照するだけで、経過時間t=100msにおける楽曲データが「D」音および「F」音によって構成されていることが分かる。
15分程度の楽曲では、経過時間tごとに得られるメタデータのバイト数は、数バイトから20バイト程度であり、平均すると15バイト程度である。100msごとに15バイトのメタデータが得られると仮定すると、この楽曲から得られるメタデータの総バイト数は、およそ15バイト×(900000ms/100ms)=135KBとなる。
上述したように、経過時間tおよびズレ個数qを用いてオーディオデータM2のメロディを表すので、15分程度の楽曲であっても、メタデータのデータ量は、わずか135KB程度でしかない。サーバ装置1は、楽曲の特徴を的確に表しつつ、軽量なメタデータを生成することを可能にしている。
(第1処理系10Aの各構成部)
次に、図3を参照しながら、第1処理系10Aの各構成部について説明する。
第1ファイル形式変換部101Aは、オーディオデータM2をネットワーク4(不図示)を介してクライアント端末装置3から時系列で入力し、これを所定のファイル形式に変換し、変換したオーディオデータM2cを第1測定部102Aに出力する。これは、処理対象のファイル形式を統一するために行われる。本実施の形態では、例えば、オーディオデータM2がMP3(MPEG Audio Layer3)のファイル形式で圧縮されている場合、第1ファイル形式変換部101Aは、このオーディオデータM2をMP4のファイル形式に変換する。
第1測定部102Aは、オーディオデータM2cを第1ファイル形式変換部101Aから時系列で取り込み、およそ100msごとに測定処理を行い、得られた基本周波数f(p)を第1算出部103Aに出力する。測定処理の際に、第1測定部102Aは、例えば、高速フーリエ変換(FFT)を用いて、オーディオデータM2cを周波数スペクトルデータに変換し、およそ100msごとに基本周波数f(p)を算出する。更に、第1測定部102Aは、基本周波数f(p)を測定したときの測定時間を楽曲開始からの経過時間tとして第1メタデータ生成部104Aに出力する。なお、基本周波数f(p)の算出には、上述の他、ハーモニッククラスタリング法、くし形フィルタ法などを用いることができる。
第1算出部103Aは、基本周波数f(p)を第1測定部102Aから入力し、算出処理を行い、算出したズレ個数qを第1メタデータ生成部104Aに出力する。算出処理の際に、第1算出部103Aは、基準音「A」の基準周波数f(A)と、第1測定部102Aによって測定された基本周波数f(p)とを(9)式に代入し、整数でズレ個数qを算出する。
第1メタデータ生成部104Aは、経過時間tを第1測定部102Aから入力すると共に、ズレ個数qを第1算出部103Aから入力し、およそ100msごとにメタデータ生成処理を行い、生成したメタデータMET2(t,q)をクエリ生成部105Aに出力する。メタデータ生成処理の際に、第1メタデータ生成部104Aは、構文1に示すように、「(t),q,q,・・・,q,,」という記述のメタデータを生成する。
本実施の形態では、データの流れを明確にするため、第1メタデータ生成部104Aに第1測定部102Aから経過時間tが入力されるものとしているが、第1メタデータ生成部104Aが経過時間tを直接把握しても差し支えはない。このことは、第2処理系10Bについても同様である。
クエリ生成部105Aは、メタデータMET2(t,q)を第1メタデータ生成部104Aから入力し、メタデータMET2(t,q)を用いてクエリを生成し、生成したクエリQUEをクエリ実行部106に出力する。その際に、クエリ生成部105Aは、メタデータMET2(t,q)もクエリ実行部106に出力する。
クエリQUEは、楽曲探索処理または類似探索処理を実行するために必要なデータであって、楽曲データベースDBに対する処理要求が記述されている。処理要求には、サーバ装置1がクライアント端末装置3から受けた、楽曲探索モードまたは類似探索モードの実行がある。
クエリ実行部106は、クエリQUEをクエリ生成部105Aから入力し、クエリQUEに従って楽曲データベースDBにアクセスしながら、以下の処理を行う。
(楽曲探索モードの実行時)
楽曲探索モードの実行時には、クエリ実行部106は、メタデータMET2(t,q)を第2HDD12に格納されているインデックスファイル121と照合し、照合結果を楽曲探索結果ANSとして表示処理部107に出力する。
インデックスファイル121は、例えば、図5に図示するように、第2処理系10Bによって生成されたメタデータMET1(t,q)を時系列順に記録したものである。なお、インデックスファイル121には、楽曲データM1以外のもののメタデータも記録されている。
照合の際に、クエリ実行部106は、オーディオデータM2のメタデータMET2(t,q)をインデックスファイル121に記述されているメタデータMET1(t,q)と比較する。
比較の結果、両者が一致する場合、クエリ実行部106は、楽曲データM1が楽曲サーバ装置2にあると判断し、楽曲データM1が見つかった旨を楽曲探索結果ANSとして、第1HDD11に格納されている属性データDと共に表示処理部107に出力する。一方、両者が不一致する場合、クエリ実行部106は、楽曲データM1が楽曲サーバ装置2にないと判断し、楽曲データM1が見つからなかった旨を楽曲探索結果ANSとして表示処理部107に出力する。
(類似探索モードの実行時)
類似探索モードの実行時には、クエリ実行部106は、楽曲探索モードの場合と同様に、メタデータMET2(t,q)をインデックスファイル121と照合し、照合結果を探索結果ANSとして表示処理部107に出力する。ただし、以下の点が楽曲探索モードの場合と異なる。
照合の際に、クエリ実行部106は、オーディオデータM2のメタデータMET2(t,q)がインデックスファイル121に記述されているメタデータMET1(t,q)と類似するか否かを判断する。本実施の形態では、前者のメタデータMET2(t,q)が後者のメタデータMET1(t,q)と一定の割合(例えば、80パーセント)一致した場合、クエリ実行部106は、両者が類似すると判断する。この類似の度合を表す割合は、サーバ装置1の所有者または個人ユーザが好適に設定すればよい。
比較の結果、両者が類似する場合、クエリ実行部106は、オーディオデータM2が楽曲データM1に類似した楽曲であると推定し、その旨を類似探索結果ANSとして、属性データDと共に表示処理部107に出力する。一方、両者が類似しない場合、クエリ実行部106は、オーディオデータM2に類似する楽曲が楽曲サーバ装置2にはないと判断し、その旨を類似探索結果ANSとして表示処理部107に出力する。
表示処理部107は、楽曲探索結果ANSまたは類似探索結果ANSと共に、属性データDをクエリ実行部106から入力し、両者をクライアント端末装置3に表示するための表示処理を行い、その処理結果Rをクライアント端末装置3にネットワーク4を介して送信する。表示処理は、例えば、表示画面のレイアウトなどを決める処理である。
いずれのモードにおいても、探索対象が見つかった場合、クライアント端末装置3は、その旨と共に楽曲データM1の属性データDを表示画面に表示する。
(第2処理系10Bの各構成部)
図3を参照しながら、第2処理系10Bの各構成部について説明する。
クローラ部108は、収集処理として、ネットワーク4上にある楽曲サーバ装置2のディレクトリを巡回し、楽曲サーバ装置2に格納されているコンテンツデータのキャッシュデータを収集する。キャッシュデータには、楽曲データM1を始めとする種々の楽曲データやその属性データがある。属性データは、上述したように、楽曲名などのデータである。クローラ部108は、キャッシュデータの内、楽曲データM1を第2ファイル形式変換部101Bに出力し、属性データDを第1HDD11に出力する。
第2ファイル形式変換部101Bは、楽曲データM1をクローラ部108から入力し、第1ファイル形式変換部101Aと同様の処理を行い、所定のファイル形式に変換した楽曲データM1cを第2測定部102Bに出力する。
第2測定部102Bは、楽曲データM1cを第2ファイル形式変換部101Bから時系列で取り込み、第1測定部102Aと同様の測定処理を行い、この処理によって得られた基本周波数f(p)を第2算出部103Bに出力し、経過時間tを第2メタデータ生成部104Bに出力する。
第2算出部103Bは、基本周波数f(p)を第2測定部102Bから入力し、第1算出部103Aと同様の算出処理を行い、算出したズレ個数qを第2メタデータ生成部104Bに出力する。
第2メタデータ生成部104Bは、経過時間tを第2測定部102Bから入力すると共に、ズレ個数qを第2算出部103Bから入力し、第1メタデータ生成部104Aと同様のメタデータ生成処理を行い、生成したメタデータMET1(t,q)を第1HDD11に出力する。
楽曲データベース生成部109は、楽曲データベースDBにアクセスし、第1HDD11に格納されたメタデータMET1(t,q)を用いて、インデックスファイル121を作成する。
(楽曲データベースDB)
楽曲データベースDBについて説明する。楽曲データベースDBは、楽曲サーバ装置2にある種々の楽曲データと、これらの楽曲データのメタデータを基に作成されたインデックスファイル121とによって構成されている。
第1HDD11は、第2メタデータ生成部104Bから入力されたメタデータMET1(t,q)と、クローラ部108から入力された属性データDとを格納している。第2HDD12は、インデックスファイル121を格納している。
クローラ部108が収集処理に失敗した場合など、何らかの理由により、第1HDD11にクローラ部108から属性データDが入力されなかった場合、例えば、サーバ装置1の所有者による手動操作で、属性データDを第1HDD11に直接入力することができる。更に、手動操作で、属性データDを変更することができる。
[データ処理システムAの動作例]
図6は、本発明の実施の形態に係るデータ処理システムAの動作例を示すシーケンス図である。
ここでは、クライアント端末装置3の所有者である個人ユーザがネットワーク4上の楽曲サーバ装置2の中からオーディオデータM2と同じ楽曲を探索する場合を例に挙げる。なお、類似探索処理であっても、データ処理システムAの動作は同じである。
サーバ装置1は、楽曲探索モードの実行を促す要求がクライアント端末装置3からあった場合、その要求を許可すると、以下の処理を行う。先ず、ステップS1からS5に示す、第1処理系10Aによる処理の流れについて説明する。
第1ファイル形式変換部101Aは、オーディオデータM2をクライアント端末装置3から時系列で入力すると、これを所定のファイル形式に変換する(ステップS1)。
ファイル形式の変換後、第1測定部102Aは、オーディオデータM2cにおける楽曲の開始部分を検知する。そして、第1測定部102Aは、およそ100msごとに測定処理を行い、基本周波数f(p)を得る(ステップS2)。
測定処理後、第1算出部103Aは、基本周波数f(p)を用いて算出処理を行い、ズレ個数qを得る(ステップS3)。
算出処理後、第1メタデータ生成部104Aは、楽曲開始からの経過時間tと、ズレ個数qとを用いて、およそ100msごとにメタデータ生成処理を行い、メタデータMET2(t,q)を得る(ステップS4)。
メタデータ生成処理、クエリ生成部105Aは、メタデータMET2(t,q)を用いてクエリを生成し、クエリQUEを得る(ステップS5)。
次に、ステップS6からS11に示す、第2処理系10Bの処理の流れについて説明する。
クローラ部108は、楽曲サーバ装置2に格納されているコンテンツデータのキャッシュデータを収集し、楽曲データM1および属性データDを得る(ステップS6)。
収集処理後、第2ファイル形式変換部101Bは、クローラ部108から時系列で入力した楽曲データM1を所定のファイル形式に変換する(ステップS7)。
ファイル形式の変換後、第2測定部102Bは、測定処理を行い、基本周波数f(p)を得る(ステップS8)。
測定処理後、第2算出部103Bは、基本周波数f(p)を用いて算出処理を行い、ズレ個数qを得る(ステップS9)。
算出処理後、第2メタデータ生成部104Bは、楽曲開始からの経過時間tと、ズレ個数qとを用いて、およそ100msごとにメタデータ生成処理を行い、メタデータMET1(t,q)を得る(ステップS10)。
メタデータMET1(t,q)が生成された後、楽曲データベース生成部109は、メタデータMET1(t,q)を用いて、インデックスファイル121を作成する(ステップS11)。
上述したステップS6からS11の処理によって、楽曲データベースDBが作成される。この一連の処理は、ステップS12の処理が開始される前に完了していることが望ましい。また、この一連の処理は、定期的(例えば、24時間ごと)に実行されればよい。
次に、ステップS12およびS13に示す、第1処理系10Aによる処理の流れについて説明する。
クエリ実行部106は、オーディオデータM2のメタデータMET2(t,q)をインデックスファイル121と照合する(ステップS12)。
表示処理部107は、探索結果を得ると、これを基に表示処理を行い、その処理結果Rをクライアント端末装置3に送信する(ステップS13)。
クライアント端末装置3は、処理結果Rをサーバ装置1から受けると、楽曲データM1が見つかったか否かを表す探索結果を表示画面に表示する。
なお、ステップS1からS13の処理は、プログラム131(図2参照)に処理手順として記述されている。
以上述べたように、本実施の形態によれば、サーバ装置1は、経過時間tおよびズレ個数qを用いてメタデータを生成するので、以下の顕著な効果を得ることができる。
メタデータは、上述したように、15分程度の楽曲であっても、135KB程度であり、非常に軽量である。したがって、クエリ実行部106がメタデータ同士を照合する際の演算量を著しく低減させることができる。このことは、データベースの使用容量の削減や、楽曲探索処理および類似探索処理に要する時間の短縮につながる。
更に、本実施の形態によれば、以下の顕著な効果を得ることができる。
言語(日本語、英語など)に左右されず、的確に探索することができる。クラシック音楽のように、同一異録音の楽曲は、楽曲名などの属性が楽曲間で同じになることが多い上、多種多様な言語で記述される。そもそも、楽曲名などの属性の記述方式が統一されているわけではなく、第三者の手によって属性を変更することもできる。したがって、楽曲名などの言葉のキーワードを用いて、同一異録音の楽曲の中から一曲を探索することが難しい。しかしながら、本実施の形態では、メタデータに言葉のキーワードを記述しないので、メロディだけで探索を行うことができる。
探索対象が見つかった場合、探索結果と共に探索対象の属性がクライアント端末装置3に送信される。したがって、個人ユーザは、探索対象の楽曲名などが分からなくても、探索対象が見つかれば、その楽曲名などを直ちに知ることができる。
算出処理において、基本周波数f(p)に着目し、これが基準周波数f(A)からのズレを算出するため、楽曲の演奏時における楽器の構成や、楽曲の音質に左右されにくく、楽曲の特徴を的確に表したメタデータを生成することができる。
この他、データ処理システムAを用いれば、属性データが第三者の手によって故意に書き換えられ、他のサーバ等にアップロードされたような違法な楽曲の探索も可能となる。
(実施の形態の変形例)
実施の形態の変形例について説明する。本変形例は、音程を「C」音から「E」音に一定にずらすなど、キー変更がある楽曲の探索に関する。以下、実施の形態と異なる点について説明する。
類似探索モードにおいて、クエリ実行部106は、メタデータMET2(t,q)がメタデータMET1(t,q)に類似するか否かを判断する際に、以下のキー変更楽曲探索処理を行う。
具体的には、クエリ実行部106は、すべての経過時間tにおいて、両者のズレ個数q同士が一定個数qずれている場合に、オーディオデータM2と楽曲データM1間でキー変更があると判断する。一定個数qは、例えば、q=3など、好適に設定することができる。クエリ実行部106は、キー変更がある旨を類似探索結果ANSとして、属性データDと共に表示処理部107に出力する。なお、両者のズレ個数q同士が一定個数qずれていない場合の処理は、実施の形態と同様である。
以上述べたキー変更楽曲探索処理をキー変更楽曲探索モードとして、楽曲探索モードおよび類似探索モードに加えることができる。
本変形例により、楽器を変えて演奏した楽曲や原曲の探索を容易に行うことができる。無論、実施の形態における効果を得ることができる。
本発明は、その要旨を逸脱しない範囲内で種々の改変が可能である。例えば、サーバ装置1および楽曲サーバ装置2を家庭内LAN(Local Area Network)に接続し、クライアント端末装置3を用いて、家庭内で楽曲探索モード、類似探索モードおよびキー変更楽曲探索モードを実行することができる。
例えば、楽曲サーバ装置2が持つ機能をサーバ装置1に組み込み、両者を1つのサーバ装置とすることができる。
1…サーバ装置
2…楽曲サーバ装置
3…クライアント端末装置
4…ネットワーク
10…CPU
10A…第1処理系
10B…第2処理系
11…第1HDD
12…第2HDD
13…ROM
14…RAM
15…I/Oポート
16…内部バス
101A…第1ファイル形式変換部
101B…第2ファイル形式変換部
102A…第1測定部
102B…第2測定部
103A…第1算出部
103B…第2算出部
104A…第1メタデータ生成部
104B…第2メタデータ生成部
105A…クエリ生成部
106…クエリ実行部
107…表示処理部
108…クローラ部
109…楽曲データベース生成部
121…インデックスファイル
131…プログラム

Claims (8)

  1. 楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定部と、
    前記測定部の測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出部と、
    前記算出部によって各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成部と、
    を有するデータ処理装置。
  2. 前記メタデータ生成部は、
    各々の偏差を前記楽曲の開始からの経過時間に対応づけて、前記メタデータを生成する、
    請求項1記載のデータ処理装置。
  3. 前記算出部は、
    前記基準周波数をf(A)と表記し、前記基本周波数をf(p)と表記し、前記基準周波数f(A)に対する前記基本周波数(p)の偏差をqと表記するとき、前記偏差qを下記式を用いて算出する、
    請求項1または2記載のデータ処理装置。
    Figure 2012194653
  4. 前記メタデータ生成部によって生成されたメタデータを、前記楽曲を含む複数の楽曲の属性が登録されたデータベースと照合する照合部を有し、
    前記照合部は、
    照合結果と共に前記楽曲の属性を出力する、
    請求項1から3のいずれか一に記載のデータ処理装置。
  5. 前記照合部は、
    前記メタデータが前記データベース内のメタデータと一定の割合で一致した場合、前記メタデータが前記データベース内のメタデータと類似すると判断し、照合結果と共に前記楽曲の属性を出力する、
    請求項4記載のデータ処理装置。
  6. 請求項1から5のいずれか一に記載のデータ処理装置と、
    前記データ処理装置にオーディオデータを送信する端末装置と、
    を有するデータ処理システム。
  7. 楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定ステップと、
    前記測定ステップでの測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出ステップと、
    前記算出ステップで各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成ステップと、
    を有するデータ処理方法。
  8. 楽曲のオーディオデータの基本周波数を予め指定された時間間隔ごとに測定する測定手順と、
    前記測定手順での測定ごとに得られた基本周波数を用いて、基準となる音の基準周波数に対する前記基本周波数の偏差を前記基本周波数に対応した音として各々算出する算出手順と、
    前記算出手順で各々算出された偏差を用いて、前記楽曲の特徴に関するメタデータを生成するメタデータ生成手順と、
    をコンピュータに実行させるプログラム。
JP2011056655A 2011-03-15 2011-03-15 データ処理装置、データ処理システム、データ処理方法およびプログラム Pending JP2012194653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011056655A JP2012194653A (ja) 2011-03-15 2011-03-15 データ処理装置、データ処理システム、データ処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011056655A JP2012194653A (ja) 2011-03-15 2011-03-15 データ処理装置、データ処理システム、データ処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2012194653A true JP2012194653A (ja) 2012-10-11

Family

ID=47086516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011056655A Pending JP2012194653A (ja) 2011-03-15 2011-03-15 データ処理装置、データ処理システム、データ処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2012194653A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015060177A (ja) * 2013-09-20 2015-03-30 カシオ計算機株式会社 演奏データファイル検索方法、システム、プログラム、端末装置、およびサーバ装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276197A (ja) * 1990-03-27 1991-12-06 Nitsuko Corp メロディ認識装置及びそれに使用されるメロディ情報抽出装置
JPH06274157A (ja) * 1993-03-19 1994-09-30 Nec Corp 音符列間類似度計算装置
JPH07121556A (ja) * 1993-10-21 1995-05-12 Nippon Telegr & Teleph Corp <Ntt> 音楽情報検索装置
JPH1115468A (ja) * 1997-05-01 1999-01-22 N T T Data:Kk 楽曲検索方法、楽曲検索装置、楽曲検索システム、及び記録媒体
JP2002091435A (ja) * 2000-09-18 2002-03-27 Dainippon Printing Co Ltd 音響信号の符号化方法
US20040144238A1 (en) * 2002-12-04 2004-07-29 Pioneer Corporation Music searching apparatus and method
JP2008192102A (ja) * 2007-02-08 2008-08-21 Sony Computer Entertainment Inc メタデータ生成装置およびメタデータ生成方法
JP2009276776A (ja) * 2009-08-17 2009-11-26 Sony Corp 楽曲同定装置及び方法、楽曲同定配信装置及び方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276197A (ja) * 1990-03-27 1991-12-06 Nitsuko Corp メロディ認識装置及びそれに使用されるメロディ情報抽出装置
JPH06274157A (ja) * 1993-03-19 1994-09-30 Nec Corp 音符列間類似度計算装置
JPH07121556A (ja) * 1993-10-21 1995-05-12 Nippon Telegr & Teleph Corp <Ntt> 音楽情報検索装置
JPH1115468A (ja) * 1997-05-01 1999-01-22 N T T Data:Kk 楽曲検索方法、楽曲検索装置、楽曲検索システム、及び記録媒体
JP2002091435A (ja) * 2000-09-18 2002-03-27 Dainippon Printing Co Ltd 音響信号の符号化方法
US20040144238A1 (en) * 2002-12-04 2004-07-29 Pioneer Corporation Music searching apparatus and method
JP2008192102A (ja) * 2007-02-08 2008-08-21 Sony Computer Entertainment Inc メタデータ生成装置およびメタデータ生成方法
JP2009276776A (ja) * 2009-08-17 2009-11-26 Sony Corp 楽曲同定装置及び方法、楽曲同定配信装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015060177A (ja) * 2013-09-20 2015-03-30 カシオ計算機株式会社 演奏データファイル検索方法、システム、プログラム、端末装置、およびサーバ装置

Similar Documents

Publication Publication Date Title
Salamon et al. Tonal representations for music retrieval: from version identification to query-by-humming
US6188010B1 (en) Music search by melody input
US8280889B2 (en) Automatically acquiring acoustic information about music
US20240394304A1 (en) Automated cover song identification
Dannenberg et al. A comparative evaluation of search techniques for query‐by‐humming using the MUSART testbed
CN101271457B (zh) 一种基于旋律的音乐检索方法及装置
JP5066963B2 (ja) データベース構築装置
US20100223223A1 (en) Method of analyzing audio, music or video data
JP2000513846A (ja) 規格化された音楽テーマによる著作目録音楽データベース
WO2017165823A1 (en) Media content items sequencing
JP2014503871A (ja) メロディ識別を使用するメディアの権利管理
WO2017056982A1 (ja) 楽曲検索方法および楽曲検索装置
CN110010159B (zh) 声音相似度确定方法及装置
Rho et al. FMF: Query adaptive melody retrieval system
Gurjar et al. Comparative Analysis of Music Similarity Measures in Music Information Retrieval Systems.
JP6366403B2 (ja) カラオケ装置
CN101048776B (zh) 内容数据检索装置
JP4806465B2 (ja) コンテンツ説明装置及び方法
CN106372257A (zh) 一种乐器检索方法和装置
KR102165940B1 (ko) Cbmr 기반 음을 이용한 음악 검색 서비스 제공 시스템 및 방법
US20030120679A1 (en) Method for creating a database index for a piece of music and for retrieval of piece of music
JP2005346347A (ja) 情報検索装置、情報検索方法、情報検索プログラムおよび記録媒体
Alfaro-Paredes et al. Query by humming for song identification using voice isolation
CN109710797B (zh) 音频文件的推送方法、装置、电子装置和存储介质
Liu Effective results ranking for mobile query by singing/humming using a hybrid recommendation mechanism

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150106