(57)【要約】【課題】  本発明は、テンポに基づく検索に際して、所望しないテンポの楽曲データが検索された場合に、当該楽曲データのテンポを簡単な操作で正確なテンポに修正することができる楽曲検索装置および楽曲検索方法を提供することを課題とする。【解決手段】  楽曲検索部６は、操作部７からのテンポ修正指示入力に基づいて楽曲データベース５に記憶されているテンポを２倍もしくは１／２倍に修正する。また、楽曲検索部６は、修正前のテンポを履歴テンポとして楽曲データベース５に記憶させ、楽曲データベース５に記憶されているテンポを２倍もしくは１／２倍した値が履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で楽曲データベース５に記憶されているテンポを修正する。【選択図】        図１
2006195600.tif 000002
【特許請求の範囲】
【請求項１】
楽曲データから抽出したテンポを前記楽曲データと共に楽曲データベースに記憶させておき、前記テンポに基づく前記楽曲データの検索を行う楽曲検索装置であって、
前記楽曲データベースに記憶されている前記テンポの修正を指示するテンポ修正指示入力を受け付ける操作手段と、
前記テンポ修正指示入力に基づいて前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍に修正するテンポ修正手段とを具備することを特徴とする楽曲検索装置。
【請求項２】
前記テンポ修正手段は、前記楽曲データベースに記憶されている前記テンポを２倍にした値が予め定められたテンポ範囲外になる場合には、前記楽曲データベースに記憶されている前記テンポを１／２倍に修正すると共に、前記楽曲データベースに記憶されている前記テンポを１／２倍にした値が前記テンポ範囲外になる場合には、前記楽曲データベースに記憶されている前記テンポを２倍に修正することを特徴とする請求項１記載の楽曲検索装置。
【請求項３】
前記テンポ修正手段は、前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍した値が予め定められたテンポ範囲外になる場合には、前記テンポ範囲内に収まる倍率で前記楽曲データベースに記憶されている前記テンポを修正することを特徴とする請求項１又は２記載の楽曲検索装置。
【請求項４】
前記テンポ修正手段は、修正前の前記テンポを履歴テンポとして前記楽曲データベースに記憶させ、前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍した値が前記履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で前記楽曲データベースに記憶されている前記テンポを修正することを特徴とする請求項１乃至３記載の楽曲検索装置。
【請求項５】
楽曲データから抽出したテンポを前記楽曲データと共に楽曲データベースに記憶しておき、前記テンポに基づく前記楽曲データの検索を行う楽曲検索方法であって、
前記楽曲データベースに記憶されている前記テンポの修正を指示するテンポ修正指示入力を受け付け、
前記テンポ修正指示入力に基づいて前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍に修正することを特徴とする楽曲検索方法。
【請求項６】
前記楽曲データベースに記憶している前記テンポを２倍にした値が予め定められたテンポ範囲外になる場合には、前記楽曲データベースに記憶している前記テンポを１／２倍に修正すると共に、前記楽曲データベースに記憶している前記テンポを１／２倍にした値が前記テンポ範囲外になる場合には、前記楽曲データベースに記憶されている前記テンポを２倍に修正することを特徴とする請求項５記載の楽曲検索方法。
【請求項７】
前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍した値が予め定められたテンポ範囲外になる場合には、前記テンポ範囲内に収まる倍率で前記楽曲データベースに記憶している前記テンポを修正することを特徴とする請求項５又は６記載の楽曲検索方法。
【請求項８】
修正前の前記テンポを履歴テンポとして前記楽曲データベースに記憶し、前記楽曲データベースに記憶している前記テンポを２倍もしくは１／２倍した値が前記履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で前記楽曲データベースに記憶している前記テンポを修正することを特徴とする請求項５乃至７記載の楽曲検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＤＤ等の大容量の記憶手段に大量に記憶されている楽曲データの中から所望の楽曲を検索する楽曲検索装置および楽曲検索方法に関し、特に楽曲データから抽出したテンポに基づいて楽曲を検索する楽曲検索装置および楽曲検索方法に関する。
【背景技術】
【０００２】
近年、ＨＤＤ等の大容量の記憶手段が開発され、大容量の記憶手段に大量の楽曲データを記憶させることができるようになっている。大容量の記憶手段に記憶されている大量の楽曲データの検索は、アーティスト名や曲名、その他のキーワード等の書誌データを用いて行うのが一般的であるが、書誌データで検索した場合には、楽曲が持っている情感を考慮することができないため、楽曲データから特徴データを抽出し、特徴データに基づいた検索を行うことができるようにすることで、楽曲が持っている情感を考慮した検索を可能にすることが提案されている。
【０００３】
楽曲データから抽出する特徴データの１つとして、楽曲が有するテンポがあり、従来のテンポ抽出方法としては、Ａ／Ｄ変換装置によりディジタル化された音楽信号に対して、処理フレーム毎にパワーおよびその微分値を算出し、次に、その微分値の自己相関関数の極大値を求めることにより小節時間長を算出し、この小節時間長と拍子数とからテンポを求めるようにしていた（例えば、特許文献１参照）。
【０００４】
しかしながら、楽曲に楽器が多く含まれている場合や、リズムが複雑に刻まれている場合等には、必ずしも正確なテンポが楽曲データから抽出されるとは限らないため、テンポに基づいて検索した際に、所望しないテンポの楽曲データが検索されてしまうことがあるという問題点があった。
【特許文献１】特開平５−２７７５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は斯かる問題点に鑑みてなされたものであり、その目的とするところは、テンポに基づく検索に際して、所望しないテンポの楽曲データが検索された場合に、当該楽曲データのテンポを簡単な操作で正確なテンポに修正することができる楽曲検索装置および楽曲検索方法を提供する点にある。
【課題を解決するための手段】
【０００６】
本発明は上記課題を解決すべく、以下に掲げる構成とした。
本発明の楽曲検索装置は、楽曲データから抽出したテンポを前記楽曲データと共に楽曲データベースに記憶させておき、前記テンポに基づく前記楽曲データの検索を行う楽曲検索装置であって、前記楽曲データベースに記憶されている前記テンポの修正を指示するテンポ修正指示入力を受け付ける操作手段と、前記テンポ修正指示入力に基づいて前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍に修正するテンポ修正手段とを具備することを特徴とする。
【０００７】
さらに、本発明の楽曲検索装置は、前記テンポ修正手段は、前記楽曲データベースに記憶されている前記テンポを２倍にした値が予め定められたテンポ範囲外になる場合には、前記楽曲データベースに記憶されている前記テンポを１／２倍に修正すると共に、
前記楽曲データベースに記憶されている前記テンポを１／２倍にした値が前記テンポ範囲外になる場合には、前記楽曲データベースに記憶されている前記テンポを２倍に修正することを特徴とする
【０００８】
さらに、本発明の楽曲検索装置は、前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍した値が予め定められたテンポ範囲外になる場合には、前記テンポ範囲内に収まる倍率で前記楽曲データベースに記憶されている前記テンポを修正することを特徴とする。
【０００９】
さらに、本発明の楽曲検索装置は、修正前の前記テンポを履歴テンポとして前記データベースに記憶させ、前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍した値が前記履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で前記楽曲データベースに記憶されている前記テンポを修正することを特徴とする。
【００１０】
また、本発明の楽曲検索方法は、楽曲データから抽出したテンポを前記楽曲データと共に楽曲データベースに記憶しておき、前記テンポに基づく前記楽曲データの検索を行う楽曲検索方法であって、前記楽曲データベースに記憶されている前記テンポの修正を指示するテンポ修正指示入力を受け付け、前記テンポ修正指示入力に基づいて前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍に修正することを特徴とする。
【００１１】
さらに、本発明の楽曲検索方法は、前記楽曲データベースに記憶している前記テンポを２倍にした値が予め定められたテンポ範囲外になる場合には、前記楽曲データベースに記憶している前記テンポを１／２倍に修正すると共に、前記楽曲データベースに記憶している前記テンポを１／２倍にした値が前記テンポ範囲外になる場合には、前記楽曲データベースに記憶されている前記テンポを２倍に修正することを特徴とする。
【００１２】
さらに、本発明の楽曲検索方法は、前記楽曲データベースに記憶されている前記テンポを２倍もしくは１／２倍した値が予め定められたテンポ範囲外になる場合には、前記テンポ範囲内に収まる倍率で前記楽曲データベースに記憶している前記テンポを修正することを特徴とする。
【００１３】
さらに、本発明の楽曲検索方法は、修正前の前記テンポを履歴テンポとして前記楽曲データベースに記憶し、前記楽曲データベースに記憶している前記テンポを２倍もしくは１／２倍した値が前記履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で前記楽曲データベースに記憶している前記テンポを修正することを特徴とする請求項５乃至７記載の楽曲検索方法。
【発明の効果】
【００１４】
本発明の楽曲検索装置および楽曲検索方法は、テンポ修正指示入力に基づいて楽曲データベースに記憶されているテンポを２倍もしくは１／２倍に修正するように構成することにより、楽曲データからテンポを抽出する際に誤って抽出されやすい正しいテンポに対して２倍もしくは１／２倍のテンポを適切且つ簡単に修正することができるため、テンポに基づく検索に際して、所望しないテンポの楽曲データが検索された場合に、当該楽曲データのテンポを簡単な操作で正確なテンポに修正することができるという効果を奏する。
【００１５】
さらに、本発明の楽曲検索装置および楽曲検索方法は、修正前のテンポを履歴テンポとして楽曲データベースに記憶させ、楽曲データベースに記憶されているテンポを２倍もしくは１／２倍した値が履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で楽曲データベースに記憶されているテンポを修正するように構成することにより、テンポを修正する方向を指示することなく適切なテンポに修正することができ、テンポを簡単な操作で正確なテンポに修正することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１７】
図１は、本発明に係るテンポ抽出装置の実施の形態の構成を示すブロック図であり、図２は、図１に示すテンポ抽出部の構成を示すブロック図である。
【００１８】
本実施の形態の楽曲検索装置１は、プログラム制御によって動作する情報処理装置であり、図１を参照すると、楽曲データ入力部２と、圧縮処理部３と、テンポ抽出部４と、楽曲データベース５と、楽曲検索部６と、操作部７と、表示部８と、音声出力部９とからなる。
【００１９】
楽曲データ入力部２は、ＣＤ、ＤＶＤ等の楽曲データが記憶されている記憶媒体を読み取る機能を有し、ＣＤ、ＤＶＤ等の記憶媒体から楽曲データを入力し、圧縮処理部３およびテンポ抽出部４に出力する。ＣＤ、ＤＶＤ等の記憶媒体以外にインターネット等のネットワークを経由した楽曲データ（配信データ）を入力するように構成しても良い。なお、圧縮された楽曲データが入力される場合には、圧縮された楽曲データを伸長してテンポ抽出部４に出力する。
【００２０】
圧縮処理部３は、楽曲の登録時には、楽曲データ入力部２から入力された楽曲データをＭＰ３やＡＴＲＡＣ（Adaptive Transform Acoustic Coding ）等の圧縮形式で圧縮し、圧縮した楽曲データを、アーティスト名、曲名等の書誌データと共に楽曲データベース５に記憶させる。
【００２１】
テンポ抽出部４は、楽曲データからテンポを抽出するテンポ抽出手段であり、図２を参照すると、楽曲データ入力部２から入力された楽曲データをダウンサンプリングするダウンサンプリング部４１と、ＦＦＴ（高速フーリエ変換）処理によって、所定フレーム毎のパワースペクトルを算出すると共に、ゆらぎ情報を算出するＦＦＴ演算部４２と、ＦＦＴ演算部４２によって算出された所定フレーム毎のパワースペクトルの平均パワーを算出する平均パワー算出部４３と、平均パワー算出部４３によって算出された平均パワーを時系列データとして記憶する平均パワー記憶部４４と、ＦＦＴ演算部４２によって算出されたゆらぎ情報の近似直線を算出する近似直線算出部４５と、ＦＦＴ演算部４２によって算出されたゆらぎ情報と近似直線算出部４５によって算出された近似直線との差分を算出する差分算出部４６と、差分算出部４６によって算出された差分情報に基づいてテンポを決定するテンポ決定部４７と、テンポ決定部４７によって決定されたテンポを出力するテンポ出力部４８とからなる。
【００２２】
楽曲データベース５は、ＨＤＤ等の大容量の記憶手段であり、圧縮処理部３によって圧縮された楽曲データと、書誌データと、テンポ抽出部４によって抽出されたテンポとが関連づけられて記憶される。
【００２３】
楽曲検索部６は、操作部７から入力された検索条件に基づいて楽曲データベース５を検索し、当該検索結果を表示部８に表示させると共に、操作部７によって選択された楽曲データを楽曲データベース５から読み出して音声出力部９に出力する。
【００２４】
また、楽曲検索部６は、テンポの修正を指示する入力に基づいてテンポ抽出部４によって抽出されたテンポを修正すると共に、修正前のテンポを履歴テンポとして楽曲データベース５に記憶させる。
【００２５】
操作部７は、キーボードやマウス等の入力手段であり、楽曲データベース５に記憶されている楽曲データを検索する検索条件の入力、音声出力する楽曲データを選択する入力、テンポの修正を指示する入力が行われる。
【００２６】
表示部８は、例えば液晶ディスプレイ等の表示手段であり、楽曲データベース５に記憶されている楽曲データを検索する検索条件の表示、検索された楽曲データ（検索結果）の表示等が行われる。
【００２７】
音声出力部９は、楽曲検索部６から入力される楽曲データを伸長して再生するオーディオプレーヤである。
【００２８】
次に、楽曲検索装置１における楽曲登録動作について図３を参照して詳細に説明する。
図３は、図１に示す楽曲検索装置における楽曲登録動作を説明するためのフローチャートである。
【００２９】
楽曲データ入力部２にＣＤ、ＤＶＤ等の楽曲データおよびアーティスト名、曲名等の書誌データが記憶されている記憶媒体をセットし、楽曲データ入力部２から楽曲データを入力する（ステップＡ１）。
【００３０】
圧縮処理部１２は、楽曲データ入力部２から入力された楽曲データに含まれるアーティスト名、曲名等の書誌データを抽出すると共に、楽曲データ入力部２から入力された楽曲データを圧縮し（ステップＡ２）、抽出した書誌データと圧縮した楽曲データとを楽曲データベース５に記憶させる（ステップＡ３）。
【００３１】
また、テンポ抽出部４は、楽曲データ入力部２から入力された楽曲データから楽曲のテンポを抽出し（ステップＡ４）、抽出したテンポを楽曲データおよび書誌データと共に楽曲データベース５に記憶させる（ステップＡ５）。
【００３２】
次に、テンポ抽出部４におけるテンポ抽出動作について図４乃至図９を参照して詳細に説明する。
図４は、本発明に係るテンポ抽出装置の実施の形態におけるテンポ抽出動作を説明するためのフローチャートであり、図５は、図１に示す楽曲データ入力部に入力される楽曲データ例を示す図であり、図６は、図５に示す楽曲データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図であり、図７は、図２に示す平均パワー記憶部に記憶される平均パワーの時系列データ例を示す図であり、図８は、図７に示す平均パワーの時系列データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図であり、図９は、図２に示すテンポ決定部におけるテンポ決定動作を説明するためのフローチャートである。
【００３３】
楽曲データ入力部２には、ＣＤプレーヤ等の楽曲再生装置やインターネット等のネットワークから楽曲データが入力されると（ステップＢ１）、ダウンサンプリング部４１は、高速化を目的とし、楽曲データ入力部２に入力された楽曲データを４４．１ｋＨｚから２２．０５ｋＨｚにダウンサンプリングする（ステップＢ２）。
【００３４】
図４には、ダウンサンプリング部４１によってダウンサンプリングされた楽曲データが示されており、ＦＦＴ演算部４２は、楽曲データの予め定められたデータ解析開始点（楽曲の先頭から３０ｓ）から一定のフレーム長に対してのＦＦＴ処理を行い、パワースペクトルを算出する（ステップＢ３）。なお、本実施の形態では、楽曲のテンポとしてテンポの周期を抽出するものであり、テンポの周期が０．３〜１ｓの範囲にあることを想定し、サンプリング周期が２２．０５ｋＨｚである楽曲データに対して１０２４ポイントのＦＦＴ処理を行うように構成した。すなわち、ＦＦＴ処理を行うフレーム長を、１０２４／２２．０５ｋＨｚ≒４６ｍｓとし、想定した楽曲におけるテンポの周期の最小値よりも短い値としている。
【００３５】
図５には、ＦＦＴ演算部４２によって算出されたパワースペクトルが示されており、平均パワー算出部４３は、ＦＦＴ演算部４２によって算出されたパワースペクトルの内の０〜２００Ｈｚの周波数帯域を積分して平均パワーを算出し（ステップＢ４）、算出した平均パワーを平均パワー記憶部４４に記憶させる。
【００３６】
ＦＦＴ演算部４２および平均パワー算出部４３は、ステップＢ３〜ステップＢ４の処理動作を行ったフレーム個数が予め定められた設定値（２０４８）に達したか否かを判断し（ステップＢ５）、ステップＢ３〜ステップＢ４の処理動作を行ったフレーム個数が予め定められた設定値に達していない場合には、データ解析開始点をシフトしながら（ステップＢ６）、ステップＢ３〜ステップＢ４の処理動作を繰り返す。これにより、ステップＢ３〜ステップＢ４の処理動作は、予め定められたフレーム個数の設定値分行われることになり、平均パワー記憶部４４には、図６に示すような平均パワーの時系列データが記憶されることになる。なお、本実施の形態では、解析時間長を６０ｓとし、データ解析開始点を６０ｓ＊２２．０５ｋＨｚ／２０４８≒６４６ポイントずつシフトしながらＦＦＴ処理を行い、２０４８ポイント、６０ｓの平均パワーの時系列データを作成するように構成した。
【００３７】
ステップＢ３〜ステップＢ４の処理動作を行ったフレーム個数が予め定められた設定値に達した場合には、ＦＦＴ演算部４２は、平均パワー記憶部４４に記憶された平均パワーの時系列データに対してＦＦＴ処理を行い、図７に示すようなゆらぎ情報を算出する（ステップＢ７）。なお、本実施の形態では、平均パワー記憶部４４に記憶された平均パワーの時系列データに対して２０４８ポイントのＦＦＴ処理を行うように構成した。従って、ゆらぎ情報の周波数分解能は、（２０４８／６０ｓ）／２０４８≒０．０１６Ｈｚとなる。
【００３８】
近似直線算出部４５は、最小２乗法等によって、ＦＦＴ演算部４２によって算出されたゆらぎ情報の近似直線を算出し（ステップＢ８）、差分算出部４６は、ＦＦＴ演算部４２によって算出されたゆらぎ情報と近似直線算出部４５によって算出された近似直線との差分を差分情報として算出する（ステップＢ９）。
【００３９】
テンポ決定部４７は、予め定められたロジックに基づいて差分算出部４６によって算出された差分情報を解析することで、テンポの周期を決定し（ステップＢ１０）、テンポ決定部４７によって決定されたテンポは、テンポ出力部４８から出力される。
【００４０】
次に、テンポ決定部４７におけるテンポ決定動作は、図９を参照すると、差分算出部４６によって算出された差分情報を解析することで、まず、周期０．３〜２ｓにおいて近似直線と１．２５ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．３〜１／２Ｈｚの範囲内に近似直線と１．２５ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＣ１）、近似直線と１．２５ｄＢ以上離れている周波数成分がある場合には、近似直線と１．２５ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとする（ステップＣ２）。
【００４１】
次に、テンポ決定部４７は、候補Ａが１ｓ以上か否かを判断し（ステップＣ３）、候補Ａが１ｓ以上である場合には、候補Ａ／２をテンポの周期として決定すると共に（ステップＣ４）、候補Ａが１ｓ以上でない場合には、候補Ａをテンポの周期として決定する（ステップＣ５）。
【００４２】
ステップＣ１で近似直線と１．２５ｄＢ以上離れている周波数成分がない場合には、テンポ決定部４７は、周期０．３〜２ｓにおいて近似直線と０．７ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．３〜１／２Ｈｚの範囲内に近似直線と０．７ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＣ６）、近似直線と０．７ｄＢ以上離れている周波数成分がある場合には、近似直線と０．７ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとする（ステップＣ７）。
【００４３】
次に、テンポ決定部４７は、候補Ａが１ｓ以上か否かを判断し（ステップＣ８）、候補Ａが１ｓ以上である場合には、候補Ａ／２をテンポの周期として決定すると共に（ステップＣ９）、候補Ａが１ｓ以上でない場合には、候補Ａが０．６ｓ以上か否かを判断する（ステップＣ１０）。候補Ａが０．６ｓ以上である場合には、候補Ａ以外に近似直線と０．７Ｂ以上離れている周波数成分が２つ以上あるか否かを判断し（ステップＣ１１）、候補Ａ以外に近似直線と０．７Ｂ以上離れている周波数成分が２つ以上ある場合には、候補Ａ／２をテンポの周期として決定する（ステップＣ９）。ステップＣ１０で候補Ａが０．６ｓ以上でない場合と、ステップＣ１１で候補Ａ以外に近似直線と０．７ｄＢ以上離れている周波数成分が２つ以上ない場合には、候補Ａをテンポの周期として決定する（ステップＣ１２）。
【００４４】
ステップＣ１１で近似直線と０．７ｄＢ以上離れている周波数成分がない場合には、テンポ決定部４７は、周期０．３〜２ｓにおいて近似直線と０．６ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．３〜１／２Ｈｚの範囲内に近似直線と０．６ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＣ１３）、近似直線と０．６ｄＢ以上離れている周波数成分がある場合には、近似直線と０．６ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとする（ステップＣ７）。
【００４５】
次に、テンポ決定部４７は、候補Ａが１ｓ以上か否かを判断し（ステップＣ８）、候補Ａが１ｓ以上である場合には、候補Ａ／２をテンポの周期として決定すると共に（ステップＣ９）、候補Ａが１ｓ以上でない場合には、候補Ａが０．６ｓ以上か否かを判断する（ステップＣ１０）。候補Ａが０．６ｓ以上である場合には、候補Ａ以外に近似直線と０．６Ｂ以上離れている周波数成分が２つ以上あるか否かを判断し（ステップＣ１１）、候補Ａ以外に近似直線と０．６Ｂ以上離れている周波数成分が２つ以上ある場合には、候補Ａ／２をテンポの周期として決定し（ステップＣ９）、ステップＣ１０で候補Ａが０．６ｓ以上でない場合と、ステップＣ１１で候補Ａ以外に近似直線と０．６Ｂ以上離れている周波数成分が２つ以上ない場合には、候補Ａをテンポの周期として決定する（ステップＣ１２）。
【００４６】
ステップＣ１３で近似直線と０．６ｄＢ以上離れている周波数成分がない場合には、テンポ決定部４７は、周期３〜４ｓにおいて近似直線と０．６ｄＢ以上離れている成分があるか否か、すなわち周波数１／３〜１／４Ｈｚの範囲内に近似直線と０．６ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＣ１４）、近似直線と０．６ｄＢ以上離れている周波数成分がある場合には、近似直線と０．６ｄＢ以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Ａとし（ステップＣ１５）、候補Ａ／４をテンポの周期として決定する（ステップＣ１６）。
【００４７】
ステップＣ１４で近似直線と０．６ｄＢ以上離れている周波数成分がない場合には、テンポ決定部４７は、周期０．１〜０．３ｓにおいて近似直線と０．７ｄＢ以上離れている成分があるか否か、すなわち周波数１／０．１〜１／０．３Ｈｚの範囲内に近似直線と０．７ｄＢ以上離れている周波数成分があるか否かを判断し（ステップＣ１７）、近似直線と０．７ｄＢ以上離れている周波数成分がある場合には、１ｓをテンポの周期として決定すると共に（ステップＣ１８）、近似直線と０．７ｄＢ以上離れている周波数成分がない場合には、０．３ｓをテンポの周期として決定する（ステップＣ１９）。
【００４８】
なお、本実施の形態では、楽曲のテンポとしてテンポの周期を抽出するように構成したが、一般にテンポを表す単位として用いられているＢＰＭ（beat per minutes)に換算するようにしても良く、さらにテンポの周期を一定の加工方法で加工するようにしても良い。
【００４９】
次に、楽曲検索部６における楽曲検索動作について図１０および図１１を参照して詳細に説明する。
図１０は、図１に示す表示部に表示される検索条件入力画面の表示例を示す図であり、図１１は、図１に示す表示部に表示される検索結果表示画面の表示例を示す図である。
【００５０】
楽曲検索部６は、検索条件を入力する検索条件入力画面８１を表示部８に表示し、操作部７からのユーザ入力を受け付ける。検索条件入力画面８１は、図１０に示すように、検索条件とする書誌データを入力する書誌データ入力領域８２と、検索条件とするテンポ範囲を入力するテンポ範囲入力領域８３と、検索の実行を指示する検索実行ボタン８４とからなり、ユーザは、検索条件とする書誌データやテンポ範囲を操作部７から入力し、検索実行ボタン８４をクリックすることで、書誌データやテンポ範囲に基づく検索を楽曲検索部６に指示する。なお、テンポ範囲入力領域８３によって指定することができるテンポ範囲は、テンポ抽出部４によって抽出するテンポ範囲（０．３〜１．０ｓ：６０〜２００ＢＰＭ）内に限られており、アップテンポ（０．３〜０．５ｓ：１２０〜２００ＢＰＭ）、ミドルテンポ（０．５〜０．６ｓ：１００〜１２０ＢＰＭ）、スローテンポ（０．６〜１．０ｓ：６０〜１００ＢＰＭ）のいずれかを指定するか、テンポ範囲を直接入力する。
【００５１】
楽曲検索部６は、検索実行ボタン８４がクリックされると、操作部７から入力された印象度データおよび書誌データに基づいて楽曲データベース５を検索し、検索結果を表示する検索結果表示画面８５を表示部８に表示する。検索結果表示画面８５は、図１１に示すように、音声出力する楽曲データを選択する楽曲選択領域８６と、検索された楽曲データの試聴を指示する試聴ボタン８７と、遅いテンポへの修正を指示するテンポダウンボタン８８と、速いテンポへの修正を指示するテンポアップボタン８９と、楽曲選択領域８６で選択された楽曲データの出力を指示する出力ボタン９０とからなり、ユーザは、試聴ボタン８７をクリックすることで、検索された楽曲データ、すなわち検索結果表示領域８６に表示された楽曲の試聴を順次行うことができると共に、出力ボタン９０をクリックすることで、楽曲選択領域８６で選択した楽曲データを聴取することができるように構成されている。
【００５２】
次に、楽曲検索部６におけるテンポ修正動作について図１２および図１３を参照して詳細に説明する。
図１２は、図１に示す楽曲検索部におけるテンポ修正動作を説明するためのフローチャートであり、図１３は、図１に示す楽曲検索部におけるテンポ修正動作の他の実施の形態を説明するためのフローチャートである。
【００５３】
検索結果表示領域８６に表示された楽曲の試聴中にテンポダウンボタン８８もしくはテンポアップボタン８９をクリックすることで、試聴中の楽曲データのテンポＴ（以下、対象テンポＴと称す）が修正される。テンポダウンボタン８８もしくはテンポアップボタン８９をクリックされると、楽曲検索部６は、テンポダウンボタン８８がクリックされたか否かを判断し（ステップＤ１）、テンポダウンボタン８８がクリックされた場合には、対象テンポＴを２倍した値がテンポ抽出部４でのテンポ抽出範囲の上限である１Ｓを越えるか否かを判断する（ステップＤ２）。
【００５４】
対象テンポＴを２倍した値が１Ｓを越えない場合には、対象テンポＴを２倍した値が履歴テンポＴＲと同一が否かを判断し（ステップＤ３）、対象テンポＴを２倍した値が履歴テンポＴＲと同一でない場合には、対象テンポＴを２倍に修正すると共に（ステップＤ４）、対象テンポＴを履歴テンポＴＲとして楽曲データベース５に記憶させる。
【００５５】
対象テンポＴを２倍した値が１Ｓを越える場合と、対象テンポＴを２倍した値が履歴テンポＴＲと同一である場合とには、変数ｎを２に設定し（ステップＤ５）、対象テンポＴを（ｎ＋１）／ｎ倍した値が１Ｓを越えるか否かを判断するすると共に（ステップＤ６）、対象テンポＴを（ｎ＋１）／ｎ倍した値が履歴テンポＴＲと同一が否かを判断し（ステップＤ７）、対象テンポＴを（ｎ＋１）／ｎ倍した値が１ｓを越えず且つ履歴テンポＴＲと同一でない場合には、対象テンポＴを（ｎ＋１）／ｎ倍に修正すると共に（ステップＤ８）、対象テンポＴを履歴テンポＴＲとして楽曲データベース５に記憶させる。対象テンポＴを（ｎ＋１）／ｎ倍した値が１ｓを越えるか履歴テンポＴＲと同一である場合には、変数ｎを２倍にし（ステップＤ９）、ステップＤ６に戻る。
【００５６】
テンポダウンボタン８８ではなく、テンポアップボタン８９がクリックされた場合には、対象テンポＴを１／２倍した値がテンポ抽出部４でのテンポ抽出範囲の下限である０．３Ｓを下回るか否かを判断する（ステップＤ１０）。
【００５７】
対象テンポＴを１／２倍した値が０．３Ｓを下回らない場合には、対象テンポＴを１／２倍した値が履歴テンポＴＲと同一が否かを判断し（ステップＤ１１）、対象テンポＴを１／２倍した値が履歴テンポＴＲと同一でない場合には、対象テンポＴを１／２倍に修正すると共に（ステップＤ１２）、対象テンポＴを履歴テンポＴＲとして楽曲データベース５に記憶させる。
【００５８】
対象テンポＴを１／２倍した値が０．３Ｓを下回る場合と、対象テンポＴを１／２倍した値が履歴テンポＴＲと同一である場合とには、変数ｎを４に設定し（ステップＤ１３）、対象テンポＴを１／２倍した値が０．３Ｓを下回るか否かを判断すると共に（ステップＤ１４）、対象テンポＴを（ｎ−１）／ｎ倍した値が履歴テンポＴＲと同一が否かを判断し（ステップＤ１５）、対象テンポＴを１／２倍した値が０．３Ｓを下回らず且つ対象テンポＴを（ｎ−１）／ｎ倍した値が履歴テンポＴＲと同一でない場合には、対象テンポＴを（ｎ−１）／ｎ倍に修正すると共に（ステップＤ１６）、対象テンポＴを履歴テンポＴＲとして楽曲データベース５に記憶させる。対象テンポＴを（ｎ−１）／ｎ倍した値が下回るか履歴テンポＴＲと同一である場合には、変数ｎを２倍にし（ステップＤ１７）、ステップＤ１４に戻る。
【００５９】
なお、本実施の形態では、ユーザによるテンポダウンボタン８８もしくはテンポアップボタン８９のクリックによって、テンポを修正する方向がわかった状態でテンポを修正するように構成したが、試聴中の楽曲をスキップするスキップボタン等を設け、スキップボタンのクリックによるテンポの修正指示のみを受け付けてテンポを自動修正するようにしても良く、この場合には、楽曲検索部６は、図１３に示すテンポ修正動作によってテンポを修正する。
【００６０】
検索結果表示領域８６に表示された楽曲の試聴中にスキップボタンをクリックされると、楽曲検索部６は、変数ｎを１に設定し（ステップＥ１）、対象テンポＴを（ｎ＋１）／ｎ倍した値がテンポ抽出部４でのテンポ抽出範囲の上限である１Ｓを越えるか否かを判断し（ステップＥ２）、対象テンポＴを（ｎ＋１）／ｎ倍した値が１Ｓを越えない場合には、対象テンポＴを（ｎ＋１）／ｎ倍した値が履歴テンポＴＲと同一が否かを判断し（ステップＥ３）、対象テンポＴを（ｎ＋１）／ｎ倍した値が履歴テンポＴＲと同一でない場合には、対象テンポＴを２倍に修正すると共に（ステップＥ４）、対象テンポＴを履歴テンポＴＲとして楽曲データベース５に記憶させる。
【００６１】
対象テンポＴを（ｎ＋１）／ｎ倍した値が１Ｓを越える場合と、対象テンポＴを（ｎ＋１）／ｎ倍した値が履歴テンポＴＲと同一である場合とには、変数ｎを２倍にし（ステップＥ５）、対象テンポＴを（ｎ−１）／ｎ倍した値がテンポ抽出部４でのテンポ抽出範囲の下限である０．３Ｓを下回るか否かを判断する（ステップＥ６）。
【００６２】
対象テンポＴを（ｎ−１）／ｎ倍した値が０．３Ｓを下回らない場合には、対象テンポＴを（ｎ−１）／ｎ倍した値が履歴テンポＴＲと同一か否かを判断し（ステップＥ７）、対象テンポＴを（ｎ−１）／ｎ倍した値が履歴テンポＴＲと同一でない場合には、対象テンポＴを（ｎ−１）／ｎ倍に修正すると共に（ステップＥ８）、対象テンポＴを履歴テンポＴＲとして楽曲データベース５に記憶させる。
【００６３】
対象テンポＴを（ｎ−１）／ｎ倍した値が０．３Ｓを下回る場合と、対象テンポＴを（ｎ−１）／ｎ倍した値が履歴テンポＴＲと同一である場合とには、ステップＥ２に戻る。
【００６４】
以上説明したように、本実施の形態によれば、楽曲検索部６は、操作部７からのテンポ修正指示入力に基づいて楽曲データベース５に記憶されているテンポを２倍もしくは１／２倍に修正するように構成することにより、楽曲データからテンポを抽出する際に誤って抽出されやすい正しいテンポに対して２倍もしくは１／２倍のテンポを適切且つ簡単に修正することができるため、テンポに基づく検索に際して、所望しないテンポの楽曲データが検索された場合に、当該楽曲データのテンポを簡単な操作で正確なテンポに修正することができるという効果を奏する。
【００６５】
さらに、本発明の楽曲検索装置および楽曲検索方法は、楽曲検索部６は、修正前のテンポを履歴テンポとして楽曲データベース５に記憶させ、楽曲データベース５に記憶されているテンポを２倍もしくは１／２倍した値が履歴テンポと同一である場合には、２倍もしくは１／２倍とは異なる倍率で楽曲データベース５に記憶されているテンポを修正するように構成することにより、テンポを修正する方向を指示することなく適切なテンポに修正することができ、テンポを簡単な操作で正確なテンポに修正することができるという効果を奏する。
【００６６】
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。
【図面の簡単な説明】
【００６７】
【図１】本発明に係る楽曲検索装置の実施の形態の構成を示すブロック図である。
【図２】図１に示すテンポ抽出部の構成を示すブロック図である。
【図３】図１に示す楽曲検索装置における楽曲登録動作を説明するためのフローチャートである。
【図４】本発明に係るテンポ抽出装置の実施の形態におけるテンポ抽出動作を説明するためのフローチャートである。
【図５】図１に示す楽曲データ入力部に入力される楽曲データ例を示す図である。
【図６】図５に示す楽曲データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図である。
【図７】図２に示す平均パワー記憶部に記憶される平均パワーの時系列データ例を示す図である。
【図８】図７に示す平均パワーの時系列データに対してＦＦＴ処理を行って算出されたパワースペクトル例を示す図である。
【図９】図２に示すテンポ決定部におけるテンポ決定動作を説明するためのフローチャートである。
【図１０】図１に示す表示部に表示される検索条件入力画面の表示例を示す図である。
【図１１】図１に示す表示部に表示される検索結果表示画面の表示例を示す図である。
【図１２】図１に示す楽曲検索部におけるテンポ修正動作を説明するためのフローチャートである。
【図１３】図１に示す楽曲検索部におけるテンポ修正動作の他の実施の形態を説明するためのフローチャートである。
【符号の説明】
【００６８】
１  楽曲検索装置
２  楽曲データ入力部
３  圧縮処理部
４  テンポ抽出部
５  楽曲データベース
６  楽曲検索部（テンポ修正手段）
７  操作部
８  表示部
９  音声出力部
４１  ダウンサンプリング部
４２  ＦＦＴ演算部
４３  平均パワー算出部
４４  平均パワー記憶部
４５  近似直線算出部
４６  差分算出部
４７  テンポ決定部
４８  テンポ出力部
８１  検索条件入力画面
８２  書誌データ入力領域
８３  テンポ範囲入力領域
８４  検索実行ボタン
８５  検索結果表示画面
８６  楽曲選択領域
８７  試聴ボタン
８８  テンポダウンボタン
８９  テンポアップボタン
９０  出力ボタン
【図１】
2006195600.tif 000003
【図２】
2006195600.tif 000004
【図３】
2006195600.tif 000005
【図４】
2006195600.tif 000006
【図５】
2006195600.tif 000007
【図６】
2006195600.tif 000008
【図７】
2006195600.tif 000009
【図８】
2006195600.tif 000010
【図９】
2006195600.tif 000011
【図１０】
2006195600.tif 000012
【図１１】
2006195600.tif 000013
【図１２】
2006195600.tif 000014
【図１３】
2006195600.tif 000015