JP5093806B2 - 類似音楽検索システム - Google Patents

類似音楽検索システム Download PDF

Info

Publication number
JP5093806B2
JP5093806B2 JP2008029846A JP2008029846A JP5093806B2 JP 5093806 B2 JP5093806 B2 JP 5093806B2 JP 2008029846 A JP2008029846 A JP 2008029846A JP 2008029846 A JP2008029846 A JP 2008029846A JP 5093806 B2 JP5093806 B2 JP 5093806B2
Authority
JP
Japan
Prior art keywords
music
word
data
words
melody
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.)
Expired - Fee Related
Application number
JP2008029846A
Other languages
English (en)
Other versions
JP2009186944A (ja
JP2009186944A5 (ja
Inventor
黒川誠司
Original Assignee
株式会社イクシコム
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 株式会社イクシコム filed Critical 株式会社イクシコム
Priority to JP2008029846A priority Critical patent/JP5093806B2/ja
Publication of JP2009186944A publication Critical patent/JP2009186944A/ja
Publication of JP2009186944A5 publication Critical patent/JP2009186944A5/ja
Application granted granted Critical
Publication of JP5093806B2 publication Critical patent/JP5093806B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、入力された音楽と類似する音楽を検索できるようにしたシステムに関するものであり、より具体的には、入力された音楽全体の音楽的特徴とあらかじめデータベースに登録されている音楽全体の音楽的特徴とを比較して類似音楽を検索できるようにしたシステムに関するものである。
従来より、類似音楽を検索できるようにした手法がいくつか提案されている。
まず、第一の手法は、主旋律などのメロディから類似する音楽を検索できるようにした手法である(非特許文献1、特許文献1〜3)。
また、第二の手法は、人間の感性を取り入れて類似音楽を検索できるようにした手法であり、例えば、下記の特許文献4に示されるように、音楽の印象を指定して以前聴いたことのない音楽を検索できるようにしたものである。具体的には、特許文献4に示すように、音楽や曲名などの書誌的項目に基づく第一インデックスと、リズム情報や和音情報などから抽出された第二インデックスと、音楽のイメージやその音楽がふさわしい状況(主観的・感性的な特徴)を示す第三インデックスとを作成し、これらのインデックスをもとにして音楽的特徴や曲のイメージに対応した音楽の検索できるようにしたものである。また、下記の特許文献5には、テンポやビートなどの音楽的特徴と、ユーザが受けた印象などに基づいて類似する音楽を検索できるようにした手法も提案されている。そして、これらの手法によれば、人間の有する抽象的な感覚に基づいて類似した音楽を検索することができる。
また、第三の手法は、音楽を構成する音楽断片どうしの類似度を考慮して検索できるようにした手法である。この手法は、例えば、下記の特許文献6に示されるように、ベクトル系列のバイナリ特徴系列による音楽断片どうしの類似度を検索する手法である。
特開平02−54300号公報 特開2007−193222号公報 特開2002−215632号公報 特開平06−290574号公報 特開2001−265349号公報 特開2003−044082号公報 「NTT横須賀研究開発センタの歩み」平成12年10月「ハミングによる音楽検索システム(SoundCompass)を開発」 [H20年1月22日検索] http://www.ntt.co.jp/cclab/30th/30th_pdf/11.pdf
しかしながら、これらの検索手法では、次のような問題を有する。
すなわち、第一の手法では、メロディから類似した音楽を検索するようにしているが、この方法では、メロディのみ類似している音楽を検索することができるものの、テンポやリズム、ハーモニーまでも類似している音楽を検索することができない。また、このような検索のプログラム開発する場合、一般的に、周波数同士の比較など、独自の検索プログラムを開発しなければならず、時間やコストがかかってしまう。
また、第二の手法のように、インデックス化された情報をもとに検索する手法や、ユーザが受けた印象をもとに類似する音楽を検索する手法では、音楽全体の音楽的特徴とインデックスや印象との間には個人差があるため、正確に類似した音楽を抽出することが難しくなる。特に、大量の音楽をデータベースに登録する際には、ユーザにすべての音楽を聴いてもらい、受けた印象を入力してもらわなければならないため、時間や手間がかかってしまう。さらには、第一の手法と同様に、独自の検索プログラムを開発しなければならず、時間やコストがかかってしまう。
さらに、第三の手法のように、音楽片どうしの類似度を検索する手法では、音楽全体における音楽的特徴を考慮することができないため、音楽全体のリズムやテンポ、ハーモニーにも類似する音楽を検索することが難しくなる。また、第一の手法などと同様に、周波数同士の比較などのように、独自の検索プログラムを開発しなければならず、時間やコストがかかってしまう。
ところで、類似音楽を出力するようなケースとしては、例えば、インターネットで購入された音楽に「関連する音楽」としてウェブサイト上に表示させるような方法が考えられるが、このような関連する音楽を表示させる場合、瞬時にしてそのウェブサイト上に表示させなければならない。しかるに、通常、音楽を検索する場合は、テキスト検索と異なってデータ量が膨大になり、通信のための時間や、検索のために時間がかかってしまう。このため、類似音楽を検索するためには、正確性のみならず検索の高速性も要求される場合が多い。
そこで、本発明は、上記課題に着目してなされたもので、音楽全体に類似した音楽を、正確かつ高速に検索できるようにしたシステムを提供することを目的とする。
すなわち、本発明は上記課題を解決するために、類似音楽を検索する類似音楽検索システムにおいて、検索対象となる音楽データの入力を受け付ける受付手段と、当該受け付けた音楽データから音楽全体のリズムデータとメロディデータとハーモニーデータをそれぞれ抽出する抽出手段と、当該抽出されたリズムデータ、メロディデータ、ハーモニーデータのそれぞれから最小時間単位毎にビット列を生成するビット列生成手段と、当該生成されたリズムビット列、メロディビット列、ハーモニービット列をそれぞれ一定ビット長単位で区切って単語を生成する単語化手段と、当該単語化手段によって生成された単語のうち、重複した単語をまとめるまとめ処理を行い、当該まとめ処理によって生成されたリズム単語、メロディ単語、ハーモニー単語を検索キーとして、あらかじめデータベースに登録されたリズム単語、メロディ単語、ハーモニー単語の列から類似する音楽を検索する検索手段とを備えるようにしたものである。
このようにすれば、音楽の3要素であるリズム、メロディ、ハーモニーを音楽全体にわたって検索することができるため、より類似した音楽を検索することができるようになる。しかも、音楽全体をデータ化する際、各リズムやメロディ、ハーモニーを単語化して検索するので、データ量を小さくすることができ、既存の全文テキスト検索の技術を利用して類似音楽を高速に検索することができるようになる。また、まとめ処理をすることによって、繰り返し出現するリズムやメロディ、ハーモニーを纏めて検索することができるため、繰り返し同じ表現が出現する音楽を早く検索することができる。また、その際、その単語の出現頻度をあらかじめ登録しておけば、インデックスとして登録された頻出単語を検索して、その出現頻度を調べるだけで類似度の高い音楽を抽出することができるようになる。
また、前記検索手段として、当該単語化手段によって生成された単語のうち、重複した単語をまとめるまとめ処理を行い、当該まとめ処理によって生成されたリズム単語、メロディ単語、ハーモニー単語を検索キーとして、検索キーである単語の出現頻度を考慮してあらかじめデータベースに登録されたリズム単語、メロディ単語、ハーモニー単語の列から類似する音楽を検索するようにする。
このように、本発明によれば、音楽の3要素であるリズム、メロディ、ハーモニーを音楽全体にわたって検索することができるため、より類似した音楽を検索することができるようになる。しかも、音楽全体をデータ化する際、各リズムやメロディ、ハーモニーを単語化して検索するので、データ量を小さくすることができ、既存の全文テキスト検索の技術を利用して類似音楽を高速に検索することができるようになる。また、まとめ処理をすることによって、繰り返し出現するリズムやメロディ、ハーモニーを纏めて検索することができるため、繰り返し同じ表現が出現する音楽を早く検索することができる。また、その際、その単語の出現頻度をあらかじめ登録しておけば、インデックスとして登録された頻出単語を検索して、その出現頻度を調べるだけで類似度の高い音楽を抽出することができるようになる。
以下、本発明の一実施の形態について図面を参照しながら説明する。図1は、本実施の形態における類似音楽検索システム1を構成するシステム外観図であり、図2は、そのシステムの機能ブロック図である。
本実施の形態における類似音楽検索システム1は、サーバーコンピューター2と、インターネットを介して接続されるクライアントコンピューター3とを備えて構成されるるもので、クライアントコンピューター3で入力された音楽の音楽的特徴をサーバーコンピューター2に送信し、サーバーコンピューター2でデータベース10に登録されている音楽の中から類似する音楽を検索してクライアントコンピューター3に表示させるようにしたものである。
これらのサーバーコンピューター2やクライアントコンピューター3は、市販されているパーソナルコンピューターなどと同様に、キーボードなどの入力手段や、CPUや記憶装置などの情報処理手段、ディスプレイなどの表示手段を備えて構成される。なお、このクライアントコンピューター3は、市販されているパーソナルコンピューターのみならず、インターネットに接続可能な携帯電話、PDA、テレビなどによって構成することもできる。また、本実施の形態では、インターネットなどのネットワークを介して接続されたシステムを例に挙げて説明するが、LANなどの専用ネットワークで接続される場合についても適用することができ、もしくは、サーバーコンピューター2とクライアントコンピューター3の両方の機能を兼ね備えた一台のコンピューターで構成することもできる。このとき、このように一台のコンピューターで構成する場合、類似音楽検索システム1は一台の装置によって構成されることになる。
このような類似音楽検索システム1は、図2に示すように、それぞれサーバーコンピューター2とクライアントコンピューター3に、受付手段4(第一受付手段41や第二受付手段42)や抽出手段5、ビット列生成手段6、単語化手段7、検索手段8、出力手段9、データベース10などを備える。このうち、クライアントコンピューター3には、第一受付手段41や抽出手段5、ビット列生成手段6を設けるとともに、サーバーコンピューター2には、第二受付手段42の他、クライアントコンピューター3と同じ抽出手段5、ビット列生成手段6、単語化手段7を設けている。さらにサーバーコンピューター2には、検索手段8や出力手段9、データベース10などを設けている。
クライアントコンピューター3に設けられる第一受付手段41は、ユーザから検索対象となる音楽データの入力を受け付ける。この音楽データは、所定のファイル形式(例えば、WAVEファイルなどの形式)としてユーザからの入力を受け付け、もしくは、インターネット上で購入された音楽と類似する音楽を検索する場合は、購入された音楽をそのウェブサイトから受け付けて入力できるようにする。
一方、サーバーコンピューター2に設けられる第二受付手段42は、クライアントコンピューター3から送信されてきた音楽の特徴データの入力を受け付けるとともに、事前の音楽データをデータベース10に登録する際に、その音楽データの入力を受け付ける。
このように第一受付手段41や第二受付手段42によって受け付けられた音楽は、それぞれのコンピューター2、3の抽出手段5によってリズムデータやメロディデータ、ハーモニーデータに分離される。ここで、「リズム」とは、規則的な繰り返し音を意味し、例えば、打楽器の刻む音の拍子を意味する。また、「メロディ」とは、単音を構成する基本周波数のつながりを意味し、また、「ハーモニー」とは、音の調和を意味するものであって、例えば、メロディに付されるコードなどを意味する。この抽出手段5では、受け付けた音楽ファイルの中の渾然一体となった音から、リズムデータやメロディデータ、ハーモニーデータを分離して抽出する。
この抽出手段5によってリズムデータやメロディデータ、ハーモニーデータを抽出する場合、まず、入力された音楽ファイルを構成する音楽データをFFT(高速フーリエ変換)などの周波数解析を行う。そして、この周波数解析によって得られた信号をスペクトル解析することによって、最小時間単位(例えば、16分音符に相当する時間単位)での打楽器の発音タイミングを特定する。リズム抽出手段51は、このリズムデータの抽出を行い、例えば、バスドラムの発音タイミングを特定する場合は、バスドラムの周波数帯域内で一定音圧レベル以上の信号が存在する箇所を発音タイミングとして特定し、また、スネアドラムの発音タイミングを特定する場合は、その対応する周波数帯域内の一定音圧レベル以上の信号が存在する箇所を発音タイミングとして特定する。一方、ハーモニー抽出手段52は、FFTなどの周波数解析によって得られた信号をスペクトル解析し、1ビート(ここでは4分音符分とする)単位でのコードネームの特定を行う。このコードネームの特定に際しては、中音周波数帯域内でのスペクトル信号を抽出し、そのうち音圧の高い周波数を複数特定して最もその周波数にマッチングしたコードを割り当てる。また、メロディ抽出手段53は、同様にFFTによって得られた信号をスペクトル解析し、先の最小時間単位での音高の特定を行う。メロディの特定を行う場合は、キーの音に基づいて一番パワーの強いダイアトニックノートをメロディと判定し、また、ダイアトニックノートでない場合は、前後の音との連続性などを考慮して経過音であるかどうかを判定していく。
そして、このように抽出されたリズムデータ、ハーモニーデータ、メロディデータは、ビット列生成手段6を構成するリズムビット列生成手段61や、ハーモニービット列生成手段62、メロディビット列生成手段63に出力される。
リズムビット列生成手段61は、図3に示すように、抽出されたリズムデータのうち、最小時間単位で発音された位置を「1」とし、それ以外を「0」としたビット列データを生成する。なお、図3において、上段はバスドラムの発音タイミングを示し、下段はスネアドラムの発音タイミングを示している。また、図3において×印を付した部分は発音されたタイミングを示しており、この×印の部分に対応した所に「1」が付される。このリズムビット列を生成する場合、同じ最小時間単位毎にスネアドラムとバスドラムでそれぞれ1ブロックずつのビット列を生成し、これら2つのビット列を連結されて1バイトのビット列を生成する。このとき、1バイトのビット列は、16分音符が4個分の4分音符1個分の時間長に対応することになる。これにより、最初の1ビート分ではバスドラム「1000」とスネアドラム「0000」の連結となり、また、次の1ビート分では、バスドラム「0000」とスネアドラム「1000」の連結となる
一方、ハーモニービット列生成手段62は、図4に示すように、コードのルート音を示すルートビット列と、メジャーやマイナーなどのコードタイプを示す付加ビット列を生成する。ここでルートビット列を生成する場合、キーの音により相対化されたルート音を示すものとし、例えば、ハ長調(すなわち、「ド」をキーとした調)の「ド」をルート音とするコードに対しては「I」のコードである「0001」(10進数表記で「1」)を生成し、また、ハ長調の「ミ」をルート音とするコードに対しては、「III」のコードである「0101」(半音階で5番目の音であることを示す10進数表記で「5」)を生成する。また、コードが割り当てられない場合「0000」のビット列とする。一方、付加ビット列を生成する場合、このルートビット列がメジャー、マイナー、メジャー7th、マイナー7th、メジャー7th#5、マイナー6th、マイナー7th♭5、マイナーメジャー7th、ドミナント7th、ディミニッシュ7thのいずれかであるかを表現できるようなビット列を生成する。そして、例えば、コードがメジャーである場合は「0001」、マイナーである場合は「0010」、マイナー7thである場合は「0111」などといったビット列を生成する。これによって、例えば、ハ長調の「ド、ミ、ソ」のコードが割り当てられたときは、ルートビット列として「I」の「0001」を生成し、また、メジャーコードであることを示す「0001」を付加ビット列として付加する。また、ハ長調の「ミ、ソ、シ」のコードが割り当てられるときは、ルートビット列として「III」のコードである「0101」を生成し、また、付加ビット列として、これがマイナーコードであることを示す「0010」を付加する。そして、このようにキーの音により相対化されたコードのルート音とそのコードタイプの組み合わせによってハーモニービット列を生成する。このとき、ルートビット列の4ビットと付加ビット列の4ビットを連結させた1バイトのデータは、16分音符が4個並んだ4分音符1個分の時間長に対応することになる。
メロディビット列生成手段63は、キーの音により相対化された1オクターブ内の音高でビット列を生成する。具体的には、図5に示すように、最小時間単位である16分音符単位で音高を表現するものとし、半音階の音である「1〜12」の符号を割り当てるとともに、休符に対しては「0」を割り当てる。これらの符号は4ビットで表現することができ、ハ長調の「ド」の音に対しては、仮に1オクターブ異なっている場合であっても、キーと同じ音であることを示す「1」、すなわち2進数表記である「0001」を割り当てる。また、ハ長調の「ミ」の音に対しては、キーから5半音階離れていることを示す「5」、すなわち2進数表記の「0101」を割り当て、また、ハ長調の「ファ」の音に対しては、キーから6半音階離れていることを示す「6」、すなわち2進数表記の「0110」を割り当てる。なお、このメロディビット列では、16分音符1個分を4ビットで表現するため、16分音符4個分すなわち、16ビットである2バイトで4分音符1個分のメロディを表現する。
次に、単語化手段7は、このようにして生成されたビット列を所定のビット長単位で区切って単語化する。ここで、「単語化」とは、並べられたビット列を所定バイト数単位で区切って一つのテキストとすることをいう。
リズムビット列から単語を生成する場合、図3〜図6に示すように、一定のビット長単位として、例えば、4/4拍子の1小節分(=4ビート分)を1単語として生成する。リズムビット列では、1ビートで1バイトを構成しているため、4ビートである4バイトのデータで1単語が生成される。図3の例においては、最初の1ビートに対応する1バイト分で、バスドラム「1000」およびスネアドラム「0000」のビット列を構成しているため、これを連結させて「10000000」すなわち、10進数表記で「128」を単語要素とし、次の1ビートで、バスドラム「0000」スネアドラム「1000」すなわち、10進数表記の「8」を単語要素として登録する。このようにして、残りの2ビート分についても同様の処理を行うことにより、図6に示すように、1小節分の「128,8,160,8」の1単語を生成する。
ハーモニービット列についても、リズムビット列の場合と同様に、4ビートで1単語を生成する。このとき、図4に示すように、最初の1ビートは「00010001」で構成しているため、10進数表記で「17」を登録し、同様にして残りの3ビート分について1バイト毎に登録し、1小節分の単語として、図6に示すような「17,17,17,17」の1単語を生成する。
メロディビット列から単語を生成する場合についても、同様に、4ビートで1単語を生成する。但し、メロディデータについては、2バイトで1ビートを形成しているため、4ビート分のデータである8バイトで1単語を生成する。これを図5および図6に基づいて説明すると、最初の1ビートの先頭1バイトである「00010001」のデータから10進数表記の「17」の単語要素を生成し、次の1バイトである「01010101」のデータから10進数表記の「85」の単語要素を生成する。同様にして、2ビート目の先頭1バイトである「01100110」と次の図示しない1バイトである「10001000」から10進数表記の「102」「136」の単語要素を生成し、以下、同様に3ビート目、4ビート目の単語要素を生成して、図6に示すような1小節分の「0,0,17,85,102,136,170,160」(10進数表記)の単語を1単語として登録する。そして、これらの各リズム、ハーモニー、メロディについて同じ区切り単位で単語化し、これを1ビートずつずらしながら単語を生成していく。すなわち、図6に示すように、リズムの最初の単語である「128,8,160,8」の単語の次は、最初の1ビート分の単語要素である「128」から次の4ビート分の「8、160,8,128」を1単語として登録していく。そして、このような単語化処理をすべての小節にわたって行っていく。
ところで、全小節にわたって単語化処理をしていくと、意味のない単語(例えば、無音)や特徴のない単語(例えば、キーの音に対してルート音のみで構成される単語)、あるいは、繰り返し出現する単語がある場合がある。このような場合、これらの単語をすべて登録すると、データ量が膨大になって、検索に時間がかかってしまう。そこで、同じリズム内、ハーモニー内、メロディ内において、意味のない単語や特徴のない単語が発生した場合は、ストップワード処理として、それらの単語の登録を除外し、また、重複した単語が発生している場合は、一つにまとめるための処理(以下、「まとめ処理」という)を行い、その単語の曲全体に占める割合を記録する。これにより、例えば1分間に100ビートの曲を5分再生するような音楽が存在した場合、すなわち、500ビート分の音楽が存在した場合であっても、最終的には多くても100単語ずつ登録されることが予想される。そして、このように生成された単語列をその音楽の構成要素としてデータベース10に登録していく。
次に、検索手段8は、検索対象として入力された音楽の単語とこのデータベース10に登録されている単語の列(以下、「単語列」という)との検索を行う。この検索に際しては、検索対象として入力された音楽を同様の処理でリズム単語列、ハーモニー単語列、メロディ単語列を生成し、これらの各単語とデータベース10に登録されている音楽のリズム単語列、ハーモニー単語列、メロディ単語列とそれぞれ比較する。この検索には全文テキスト検索によう技術を用い、検索キーとなる単語がデータベース10にどれだけ登録されているかによって検索結果を出力する。このとき、1つの音楽内における各単語の出現頻度を計算し、例えば、出現頻度の高い単語には高い得点を付けて最終的に一番得点の高い音楽を抽出する。この際、検索キーとなるリズム、ハーモニー、メロディのそれぞれについて重み付けなどを付けておき、例えば、メロディについては、高い重み付けを設定しておく。
出力手段9は、このような検索によって得られた音楽を出力するもので、クライアントコンピューター3のディスプレイなどに検索結果を表示する。この表示出力を行う場合、最も得点の高い音楽を先頭に表示させ、順次得点の低い音楽を表示させていく。
次に、このように構成されたシステムにおける登録と検索の処理手順について、図7および図8のフローチャートを用いて説明する。
まず、あらかじめ音楽データをデータベース10に登録する際の処理手順について説明する。音楽データをデータベース10に登録する場合、サーバーコンピューター2の第二受付手段42を介して音楽を取り込み(ステップS1)、抽出手段5を介してその音楽データからリズムデータ、ハーモニーデータ、メロディデータを抽出する(ステップS2)。このとき、取り込まれた音楽データをFFT処理して周波数解析してリズムデータ、ハーモニーデータ、メロディデータを分離し、また、リズムデータについてはバスドラムとスネアドラムのデータを抽出する。そして、リズムデータについては、16分音符に相当する最小時間単位で発音タイミングを検出し、発音されたタイミング毎に「1」を付けた1ビート分のビット列をバスドラムとスネアドラム毎に生成していく。そして、これらのバスドラムのビット列(4ビット)とスネアドラムのビット列を連結し、同様にして、1バイトずつのリズムビット列を生成していく(ステップS3)。また、ハーモニーデータについては、キーの音(ハ長調であれば「ド」)によって相対化されたルート音のビット列(ルートビット列)と、そのコードの種類を示すビット列(付加ビット列)を生成して1ビート毎に1バイトのハーモニービット列を生成する(ステップS4)。さらに、メロディデータについても、同様に、キーの音により相対化された1オクターブ内の音高でビット列を生成し、最小時間単位毎に半音階の音である「1〜12」の符号を生成して、1ビート毎に2バイトのメロディビット列を生成していく(ステップS5)。
そして、このように音楽全体にわたってビット列を生成した後、これらのビット列を1小節単位である4ビート毎に区切って単語を生成していくとともに、1ビート分ずつのずらし処理を行って単語化していく(ステップS6〜S8)そして、その後、ストップワード処理を行って意味のない単語や特徴のない単語を除外するとともに、同じ単語が出現する場合は、まとめ処理を行ってその単語の出現頻度を記憶させ(ステップS9〜S11)、各単語をインデックス化して、それぞれをデータベース10に登録していく(ステップS12)。
次に、複数の音楽データがデータベース10に登録されている状態で、ユーザが検索対象となる音楽データを入力して検索を行う場合の処理について図8のフローチャートを用いて説明する。
まず、ユーザが検索対象となる音楽データを入力すると、クライアントコンピューター3の第一受付手段41を介してこの音楽を取り込み(ステップT1)、同様にして、抽出手段5を介してその音楽データからリズムデータ、ハーモニーデータ、メロディデータを抽出するとともに(ステップT2)、この抽出されたデータから図7のステップS3〜S5と同様にしてビット列を生成し(ステップT3〜T5)、これらのビット列をサーバーコンピューター2に送信する(ステップT6)。なお、ここで単語化処理を行わずにビット列データを送信するのは、単語化処理を行うと、ずらし処理などによってデータ量が多くなってしまうからである。
このように生成されたビット列データをサーバーコンピューター2が受信すると、サーバーコンピューター2は、送信されてきた各ビット列の区切り処理や単語化処理を進め(ステップT7)、ストップワード処理を行って意味のない単語や特徴のない単語を除外するとともに、同じ単語が出現した場合は、まとめ処理を行ってその単語の出現頻度を記憶させる(ステップT8)。そして、この各単語を検索キーとして、データベース10内にインデックスとして登録されている音楽を複数ピックアップする(ステップT9)。そして、検索キーである単語の出現頻度を考慮して得点付けを行い、最終的に得点の高い音楽から順に出力して(ステップT10)、クライアントコンピューター3のディスプレイに表示させる(ステップT11)。
このように上記実施の形態によれば、検索対象となる音楽データの入力を受け付ける受付手段4と、当該受け付けた音楽データから音楽全体のリズムデータとメロディデータとハーモニーデータをそれぞれ抽出する抽出手段5と、当該抽出されたリズムデータ、メロディデータ、ハーモニーデータのそれぞれから最小時間単位毎にビット列を生成するビット列生成手段6と、当該生成されたリズムビット列、メロディビット列、ハーモニービット列をそれぞれ一定ビット長単位で区切って単語を生成する単語化手段7と、当該単語化手段7によって生成された単語のうち、重複した単語をまとめるまとめ処理を行い、当該まとめ処理によって生成されたリズム単語、メロディ単語、ハーモニー単語を検索キーとして、あらかじめデータベースに登録されたリズム単語、メロディ単語、ハーモニー単語の列から類似する音楽を検索する検索手段8とを備えるようにしたので、音楽の3要素であるリズム、メロディ、ハーモニーを音楽全体にわたって検索することができるため、より類似した音楽を検索することができるようになる。しかも、音楽全体をデータ化する際、各リズムやメロディ、ハーモニーを単語化して検索するので、データ量を小さくすることができ、既存の全文テキスト検索の技術を利用して類似音楽を高速に検索することができるようになる。また、まとめ処理をすることによって、繰り返し出現するリズムやメロディ、ハーモニーを纏めて検索することができるため、繰り返し同じ表現が出現する音楽を早く検索することができる。また、その際、その単語の出現頻度をあらかじめ登録しておけば、インデックスとして登録された頻出単語を検索して、その出現頻度を調べるだけで類似度の高い音楽を抽出することができるようになる。
なお、本発明は上記実施の形態に限定されることなく種々の態様で実施することができる。
例えば、上記実施の形態では、ビット列を生成するための最小時間単位として16分音符相当にしているが、この長さについてはこれに限定されるものではない。また、この最小時間単位については、リズム、ハーモニー、メロディのそれぞれについて共通して使用するようにしているが、例えば、ハーモニーについては、8分音符相当の最小時間単位などでビット列を生成するようにしてもよい。すなわち、リズム、ハーモニー、メロディのそれぞれ毎に最小時間単位を変えるようにしてもよい。
また、単語化処理を行う場合についても、すべて1小節単位(4ビート単位)で単語化を行うようにしているが、これを異なる単位で単語化するようにしてもよく、例えば、ハーモニーについては6ビート単位で単語化するようにしてもよい。
さらに、上記実施の形態では、テキスト検索を行う場合、検索対象となる単語の出現頻度によって得点を変えるようにしているが、さらに、登録単語全体を鑑みてレアな単語、すなわち、曲全体にわたって一定数以下で登録されている単語については大きな重み付けを行い、得点付けを行うようにしてもよい。また、出現単語の並びも考慮し、並びが同じものについてはより高い得点を付けるようにしてもよい。
加えて、上記実施の形態では、リズム、ハーモニー、メロディの3要素で類似検索するようにしているが、周波数解析によって楽曲構成による類似検索を付け加えるようにしてもよい。
本発明の一実施の形態を示す類似音楽検索システムの概要図 同形態におけるシステムの機能ブロック図 同形態におけるリズムからビット列を生成する方法を示す図 同形態におけるハーモニーからビット列を生成する方法を示す図 同形態におけるメロディからビット列を生成する方法を示す図 同形態における各ビット列から単語を生成する方法を示す図 同形態における音楽の登録処理を示すフローチャート 同形態における音楽の検索処理を示すフローチャート
1・・・類似音楽検索システム
2・・・サーバーコンピューター
3・・・クライアントコンピューター
4・・・受付手段
41・・・第一受付手段
42・・・二受付手段
5・・・抽出手段
51・・・リズム抽出手段
52・・・メロディ抽出手段
53・・・ハーモニー抽出手段
6・・・ビット列生成手段
61・・・リズムビット列生成手段
62・・・メロディビット列生成手段
63・・ハーモニービット列生成手段
7・・・単語化手段
8・・・検索手段
9・・・出力手段
10・・・データベース

Claims (2)

  1. 類似音楽を検索する類似音楽検索システムにおいて、
    検索対象となる音楽データの入力を受け付ける受付手段と、
    当該受け付けた音楽データから音楽全体のリズムデータとメロディデータとハーモニーデータをそれぞれ抽出する抽出手段と、
    当該抽出されたリズムデータ、メロディデータ、ハーモニーデータのそれぞれから最小時間単位毎にビット列を生成するビット列生成手段と、
    当該生成されたリズムビット列、メロディビット列、ハーモニービット列をそれぞれ一定ビット長単位で区切って単語を生成する単語化手段と、
    当該単語化手段によって生成された単語のうち、重複した単語をまとめるまとめ処理を行い、当該まとめ処理によって生成されたリズム単語、メロディ単語、ハーモニー単語を検索キーとして、あらかじめデータベースに登録されたリズム単語、メロディ単語、ハーモニー単語の列から類似する音楽を検索する検索手段とを備えたことを特徴とする類似音楽検索システム。
  2. 前記検索手段が、当該単語化手段によって生成された単語のうち、重複した単語をまとめるまとめ処理を行い、当該まとめ処理によって生成されたリズム単語、メロディ単語、ハーモニー単語を検索キーとして、検索キーである単語の出現頻度を考慮してあらかじめデータベースに登録されたリズム単語、メロディ単語、ハーモニー単語の列から類似する音楽を検索するようにしたものである請求項1に記載の類似音楽検索システム。
JP2008029846A 2008-02-11 2008-02-11 類似音楽検索システム Expired - Fee Related JP5093806B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008029846A JP5093806B2 (ja) 2008-02-11 2008-02-11 類似音楽検索システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008029846A JP5093806B2 (ja) 2008-02-11 2008-02-11 類似音楽検索システム

Publications (3)

Publication Number Publication Date
JP2009186944A JP2009186944A (ja) 2009-08-20
JP2009186944A5 JP2009186944A5 (ja) 2012-10-11
JP5093806B2 true JP5093806B2 (ja) 2012-12-12

Family

ID=41070215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008029846A Expired - Fee Related JP5093806B2 (ja) 2008-02-11 2008-02-11 類似音楽検索システム

Country Status (1)

Country Link
JP (1) JP5093806B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011128981A (ja) 2009-12-18 2011-06-30 Toshiba Corp 検索装置及び検索方法
JP2011141406A (ja) * 2010-01-06 2011-07-21 Ixicom Ltd 類似楽曲表示システム
JP5296813B2 (ja) * 2011-01-19 2013-09-25 ヤフー株式会社 楽曲レコメンド装置、方法及びプログラム
JP5678686B2 (ja) * 2011-01-25 2015-03-04 ヤマハ株式会社 端末装置、プログラムおよび楽曲検索方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2535920B2 (ja) * 1987-06-18 1996-09-18 カシオ計算機株式会社 自動コ−ド付加装置
JPH10134549A (ja) * 1996-10-30 1998-05-22 Nippon Columbia Co Ltd 楽曲検索装置
JP2002315632A (ja) * 2001-04-20 2002-10-29 Fujimiya Seisakusho:Kk ページめくり機能付読書機
JP4244537B2 (ja) * 2001-06-13 2009-03-25 日本ビクター株式会社 音楽情報登録システム及び音楽情報検索システム
JP3730144B2 (ja) * 2001-08-03 2005-12-21 日本電信電話株式会社 類似音楽検索装置ならびにその方法、および類似音楽検索プログラムならびにその記録媒体
JP4313563B2 (ja) * 2002-12-04 2009-08-12 パイオニア株式会社 楽曲検索装置及び方法
JP5082257B2 (ja) * 2006-02-27 2012-11-28 大日本印刷株式会社 音響信号検索装置

Also Published As

Publication number Publication date
JP2009186944A (ja) 2009-08-20

Similar Documents

Publication Publication Date Title
CN100527222C (zh) 利用乐器的声音分析音乐的设备
US7875787B2 (en) Apparatus and method for visualization of music using note extraction
US6225546B1 (en) Method and apparatus for music summarization and creation of audio summaries
US7838755B2 (en) Music-based search engine
Davy et al. Bayesian analysis of polyphonic western tonal music
JPH09293083A (ja) 楽曲検索装置および検索方法
Zheng et al. Music genre classification: A n-gram based musicological approach
JP5093806B2 (ja) 類似音楽検索システム
KR100512143B1 (ko) 멜로디 기반 음악 검색방법과 장치
JP2009186944A5 (ja)
Heydarian Automatic recognition of Persian musical modes in audio musical signals
JP2000347659A (ja) 音楽検索装置,音楽検索方法および音楽検索プログラムを記録した記録媒体
CN113763913A (zh) 一种曲谱生成方法、电子设备及可读存储介质
Sertan et al. Modeling melodic improvisation in Turkish folk music using variable-length Markov models
Sutcliffe et al. The C@ merata Task at MediaEval 2015: Natural language queries on classical music scores
WO2007119221A2 (en) Method and apparatus for extracting musical score from a musical signal
JP2005227850A (ja) 情報処理装置、情報処理方法及びプログラム
KR100702059B1 (ko) 고객 특성이 피드백 반영되는 질의 풀 기반의 유비쿼터스음악 정보 검색 시스템 및 방법
Sutcliffe et al. Searching for musical features using natural language queries: the C@ merata evaluations at MediaEval
Xi et al. The design and construction based on the ASEAN piano music library and display platform
Wongsaroj et al. A music similarity measure based on chord progression and song segmentation analysis
Panteli Computational analysis of world music corpora
Shen et al. Whistle for music: using melody transcription and approximate string matching for content-based query over a MIDI database
Sanyal Modulo7: A Full Stack Music Information Retrieval and Structured Querying Engine
Li et al. A survey of audio MIR systems, symbolic MIR systems and a music definition language demo-system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120912

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120912

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

LAPS Cancellation because of no payment of annual fees