(57)【要約】【課題】楽曲が転調を含む場合であっても楽曲を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を正確に算出することが可能な楽曲処理装置を提供する。【解決手段】音階情報入力部１１は、楽曲の音階情報の入力を受け付ける。出現確率算出部１２は、音階情報入力部１１に入力された楽曲の音階情報に基づいて当該音階情報に含まれる各音名の出現確率をそれぞれ算出する。荷重度算出部１４は、算出された楽曲の出現確率分布とテンプレート記憶部１３に記憶された楽曲のタイプ毎に異なる各テンプレートとに基づいて、各テンプレートの荷重度を算出する。楽曲情報算出部１５は、算出された荷重度に基づいて、楽曲を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する。【選択図】図１
2007156187.tif 000002
【特許請求の範囲】
【請求項１】
所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置であって、
前記楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得部と、
楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示すテンプレートを複数のタイプについてそれぞれ記憶するテンプレート記憶部と、
前記テンプレート記憶部に記憶されている複数の各テンプレートについて、前記出現確率取得部によって取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であって前記タイプ毎の荷重度を算出する荷重度算出部と、
前記楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの前記荷重度の大きさとが各タイプについてそれぞれ一致するように、前記楽曲情報を算出する楽曲情報算出部とを備える、楽曲処理装置。
【請求項２】
前記楽曲情報算出部は、
前記楽曲部分を構成する各タイプについて、当該各タイプが存在する区間の長さを、当該各タイプの前記荷重度の大きさとそれぞれ一致する長さとした仮楽曲情報を設定する設定部と、
前記楽曲部分を構成するタイプと前記仮楽曲情報が表すタイプとが当該仮楽曲情報が表す各区間においてそれぞれ一致するように、前記楽曲部分の一部を当該楽曲部分内で入れ替える入替部と、
前記入替部で入れ替えた内容を示す入替情報を記憶する入替情報記憶部と、
前記入替情報記憶部に記憶された入替情報に基づいて、前記入替部で入れ替えた順番と逆の順番で前記仮楽曲情報の一部を入れ替える逆入替部とを含む、請求項１に記載の楽曲処理装置。
【請求項３】
前記入替部は、前記仮楽曲情報が表すタイプと前記楽曲部分を構成するタイプとが相違する度合いを当該仮楽曲情報が表す各区間においてそれぞれ算出し、当該相違する度合いが小さくなるように前記楽曲部分の一部を当該楽曲部分内で入れ替える処理を繰り返し、当該相違する度合いが所定値よりも小さくなるときに当該処理を終了し、
前記入替情報記憶部は、前記入替部が前記楽曲部分の一部を入れ替える処理を行うたびに、前記入替情報を記憶することを特徴とする、請求項２に記載の楽曲処理装置。
【請求項４】
前記出現確率取得部が前記出現確率の分布を取得する対象となる複数の楽曲のデータを記憶する楽曲データ記憶部と、
前記楽曲情報算出部において算出された楽曲情報を、前記楽曲データ記憶部にデータが記憶されている楽曲のうちの当該楽曲情報に対応する楽曲に関連付けて前記楽曲データ記憶部に記憶させる楽曲情報記憶部と、
前記楽曲データ記憶部にデータが記憶されている楽曲を、前記楽曲情報を用いて検索する検索部とをさらに備える、請求項１に記載の楽曲処理装置。
【請求項５】
ユーザが前記楽曲の一部を指定する入力を受け付ける指定一部入力部をさらに備え、
前記検索部は、前記楽曲データ記憶部に記憶されている楽曲情報のうち、前記指定一部入力部において指定された一部の楽曲情報を用いて検索することを特徴とする、請求項４に記載の楽曲処理装置。
【請求項６】
ユーザによって入力されるべき選曲情報と前記楽曲情報に関する条件とを関連付けた選曲ルールを記憶する選曲ルール記憶部をさらに備え、
前記検索部は、ユーザによって選曲情報が入力された場合、前記楽曲データ記憶部にデータが記憶されている楽曲と関連付けられた楽曲情報のうち、当該入力された選曲情報に関連付けられた前記楽曲情報に関する条件を満たす楽曲情報を検出し、検出した楽曲情報に関連付けられた前記楽曲を検索結果として出力する、請求項４に記載の楽曲処理装置。
【請求項７】
所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置において用いられる方法であって、
前記楽曲処理装置には、楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示すテンプレートが複数のタイプについてそれぞれ予め記憶されており、
前記楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得ステップと、
前記楽曲処理装置に記憶されている複数の各テンプレートについて、前記出現確率取得ステップにおいて取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であって前記タイプ毎の荷重度を算出する荷重度算出ステップと、
前記楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの前記荷重度の大きさとが各タイプについてそれぞれ一致するように、前記楽曲情報を算出する楽曲情報算出ステップとを含む、楽曲処理方法。
【請求項８】
前記楽曲処理装置には、前記出現確率取得ステップにおいて前記出現確率の分布が取得される対象となる複数の楽曲のデータがさらに予め記憶されており、
前記楽曲情報算出ステップにおいて算出された楽曲情報を、前記楽曲処理装置にデータが記憶されている楽曲のうちの当該楽曲情報に対応する楽曲に関連付けて前記楽曲処理装置に記憶させる楽曲情報記憶ステップと、
前記楽曲処理装置にデータが記憶されている楽曲を、前記楽曲情報を用いて検索する検索ステップとをさらに含む、請求項７に記載の楽曲処理方法。
【請求項９】
所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置のコンピュータに実行させるためのプログラムであって、
前記楽曲処理装置には、楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示すテンプレートが複数のタイプについてそれぞれ予め記憶されており、
前記楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得ステップと、
前記楽曲処理装置に記憶されている複数の各テンプレートについて、前記出現確率取得ステップにおいて取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であって前記タイプ毎の荷重度を算出する荷重度算出ステップと、
前記楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの前記荷重度の大きさとが各タイプについてそれぞれ一致するように、前記楽曲情報を算出する楽曲情報算出ステップとを、前記コンピュータに実行させるプログラム。
【請求項１０】
請求項９に記載のプログラムを記録した、コンピュータに読み取り可能な記録媒体。
【請求項１１】
所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する集積回路であって、
前記楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得部と、
楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示す複数の各テンプレートについて、前記出現確率取得部によって取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であって前記タイプ毎の荷重度を算出する荷重度算出部と、
前記楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの前記荷重度の大きさとが各タイプについてそれぞれ一致するように、前記楽曲情報を算出する楽曲情報算出部とを備える、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲処理装置に関し、より特定的には、楽曲の音階情報から当該楽曲を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置および、算出した楽曲情報を用いて楽曲の検索を行う楽曲処理装置に関する。
【背景技術】
【０００２】
従来から、楽曲のタイプを検出する方法が知られている。楽曲のタイプとは、楽曲のイメージを決める要素（例えば調など）を示すものである。例えば楽曲の調を検出する方法としては、楽曲の音階に関する情報（以下、音階情報という）に基づいて当該音階情報に含まれる各音名の出現確率を算出し、各音名に関する当該出現確率の分布（出現確率分布と呼ぶ。後述する図３参照。）を用いて楽曲の調を検出する方法が知られている。この方法では、複数種類の調それぞれについて、予め作成された理想的な出現確率分布をテンプレートとしてそれぞれ用意しておく。そして、調を検出する対象となる楽曲の出現確率分布を算出し、当該楽曲についての出現確率分布と当該各テンプレートとを１つずつ個別に照合する。その結果、出現確率分布が当該楽曲と最も近似するテンプレートにより示される調を楽曲の調として決定する。
【０００３】
ここで、実際の楽曲には、転調を含むような複数種類の調で構成される楽曲がある。このような転調を含む楽曲の出現確率分布は、複数種類の調の出現確率分布が合成された分布となる結果、楽曲に含まれる各調の出現確率分布のいずれとも異なる分布となる場合がある。上記従来の方法では、楽曲の出現確率分布とテンプレートの出現確率分布とを１対１で照合するので、楽曲の出現確率分布が複数の調の合成分布となる場合、合成分布に最も近似するテンプレートにより示される調が楽曲の調に決定される。つまり、この場合、楽曲に含まれる調のいずれとも異なる調が楽曲の調として決定されることになる。したがって、上記従来の方法では、転調を含むような複数種類の調で構成される楽曲については調を誤検出してしまう可能性がある。そして、上記従来の方法では、楽曲の出現確率分布とテンプレートの出現確率分布とを１対１で照合するので、当該楽曲全体の調しか検出することができず、楽曲を構成する各調と当該各調が存在する区間とを表した楽曲情報を算出することはできなかった。
【０００４】
そこで従来において、入力される音階情報を所定の区間に区切り、各区間の調を検出する方法が提案されている（例えば、特許文献１参照。）。この方法では、例えば楽曲の１小節目から４小節目までを１つの区間、２小節目から５小節目までを次の区間というように、楽曲の音階情報を複数の区間に区切る。そして、区間毎にその区間の調が検出される。つまり、楽曲を構成する各調と当該各調が存在する区間とを表した楽曲情報を算出している。さらに、検出された各区間の調の変化によって、転調する箇所が検出される。
【特許文献１】特許第２７１５８１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１に開示された方法では、調を検出する対象は入力された音階情報の全体ではなく、当該音階情報を短く区切った区間である。具体的には、特許文献１の方法では、転調を検出するためには、少なくとも数小節程度（例えば４小節程度）の単位に音階情報を区切らなければならない。しかしながら、音階情報を区間に区切ると、調を検出する対象に含まれる音の数が少なくなる。つまり、音階情報を区間に区切ることによって、調を検出する対象に含まれる情報数が少なくなるので、調を検出する精度が必然的に低下してしまうという問題があった。以上より、特許文献１の方法では、音階情報を区切らなければならないことが理由で、各区間の調を検出する精度が低下してしまい、楽曲の楽曲情報を正確に算出することはできなかった。
【０００６】
それ故、本発明は、楽曲が転調を含む場合であっても楽曲を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を正確に算出することが可能な楽曲処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置であって、楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得部と、楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示すテンプレートを複数のタイプについてそれぞれ記憶するテンプレート記憶部と、テンプレート記憶部に記憶されている複数の各テンプレートについて、出現確率取得部によって取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であってタイプ毎の荷重度を算出する荷重度算出部と、楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの荷重度の大きさとが各タイプについてそれぞれ一致するように、楽曲情報を算出する楽曲情報算出部とを備える。
【０００８】
第２の発明は、上記第１の発明において、楽曲情報算出部は、楽曲部分を構成する各タイプについて、当該各タイプが存在する区間の長さを、当該各タイプの荷重度の大きさとそれぞれ一致する長さとした仮楽曲情報を設定する設定部と、楽曲部分を構成するタイプと仮楽曲情報が表すタイプとが当該仮楽曲情報が表す各区間においてそれぞれ一致するように、楽曲部分の一部を当該楽曲部分内で入れ替える入替部と、入替部で入れ替えた内容を示す入替情報を記憶する入替情報記憶部と、入替情報記憶部に記憶された入替情報に基づいて、入替部で入れ替えた順番と逆の順番で仮楽曲情報の一部を入れ替える逆入替部とを含む。
【０００９】
第３の発明は、上記第２の発明において、入替部は、仮楽曲情報が表すタイプと楽曲部分を構成するタイプとが相違する度合いを当該仮楽曲情報が表す各区間においてそれぞれ算出し、当該相違する度合いが小さくなるように楽曲部分の一部を当該楽曲部分内で入れ替える処理を繰り返し、当該相違する度合いが所定値よりも小さくなるときに当該処理を終了し、入替情報記憶部は、入替部が楽曲部分の一部を入れ替える処理を行うたびに、入替情報を記憶することを特徴とする。
【００１０】
第４の発明は、上記第１の発明において、出現確率取得部が出現確率の分布を取得する対象となる複数の楽曲のデータを記憶する楽曲データ記憶部と、楽曲情報算出部において算出された楽曲情報を、楽曲データ記憶部にデータが記憶されている楽曲のうちの当該楽曲情報に対応する楽曲に関連付けて楽曲データ記憶部に記憶させる楽曲情報記憶部と、楽曲データ記憶部にデータが記憶されている楽曲を、楽曲情報を用いて検索する検索部とをさらに備える。
【００１１】
第５の発明は、上記第４の発明において、ユーザが楽曲の一部を指定する入力を受け付ける指定一部入力部をさらに備え、検索部は、楽曲データ記憶部に記憶されている楽曲情報のうち、指定一部入力部において指定された一部の楽曲情報を用いて検索することを特徴とする。
【００１２】
第６の発明は、上記第４の発明において、ユーザによって入力されるべき選曲情報と楽曲情報に関する条件とを関連付けた選曲ルールを記憶する選曲ルール記憶部をさらに備え、検索部は、ユーザによって選曲情報が入力された場合、楽曲データ記憶部にデータが記憶されている楽曲と関連付けられた楽曲情報のうち、当該入力された選曲情報に関連付けられた楽曲情報に関する条件を満たす楽曲情報を検出し、検出した楽曲情報に関連付けられた楽曲を検索結果として出力する。
【００１３】
第７の発明は、所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置において用いられる方法であって、楽曲処理装置には、楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示すテンプレートが複数のタイプについてそれぞれ予め記憶されており、楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得ステップと、楽曲処理装置に記憶されている複数の各テンプレートについて、出現確率取得ステップにおいて取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であってタイプ毎の荷重度を算出する荷重度算出ステップと、楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの荷重度の大きさとが各タイプについてそれぞれ一致するように、楽曲情報を算出する楽曲情報算出ステップとを含む。
【００１４】
第８の発明は、上記第７の発明において、楽曲処理装置には、出現確率取得ステップにおいて出現確率の分布が取得される対象となる複数の楽曲のデータがさらに予め記憶されており、楽曲情報算出ステップにおいて算出された楽曲情報を、楽曲処理装置にデータが記憶されている楽曲のうちの当該楽曲情報に対応する楽曲に関連付けて楽曲処理装置に記憶させる楽曲情報記憶ステップと、楽曲処理装置にデータが記憶されている楽曲を、楽曲情報を用いて検索する検索ステップとをさらに含む。
【００１５】
第９の発明は、所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する楽曲処理装置のコンピュータに実行させるためのプログラムであって、楽曲処理装置には、楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示すテンプレートが複数のタイプについてそれぞれ予め記憶されており、楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得ステップと、楽曲処理装置に記憶されている複数の各テンプレートについて、出現確率取得ステップにおいて取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であってタイプ毎の荷重度を算出する荷重度算出ステップと、楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの荷重度の大きさとが各タイプについてそれぞれ一致するように、楽曲情報を算出する楽曲情報算出ステップとを、コンピュータに実行させるプログラムである。
【００１６】
第１０の発明は、上記第９の発明における上記プログラムを記録した、コンピュータに読み取り可能な記録媒体である。
【００１７】
第１１の発明は、所定の楽曲の少なくとも一部である楽曲部分について、当該楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出する集積回路であって、楽曲部分について、音名毎の出現確率の分布を取得する出現確率取得部と、楽曲のタイプ毎に異なるテンプレートであって音名毎の出現確率の分布を示す複数の各テンプレートについて、出現確率取得部によって取得された各音名の出現確率の分布に占めるそのテンプレートの割合を示す荷重度であってタイプ毎の荷重度を算出する荷重度算出部と、楽曲部分を構成するタイプが存在する区間の合計の長さが当該楽曲部分の全体に占める割合と当該タイプの荷重度の大きさとが各タイプについてそれぞれ一致するように、楽曲情報を算出する楽曲情報算出部とを備える。
【発明の効果】
【００１８】
上記第１の発明によれば、複数のテンプレートの中から最も一致するテンプレートを１つ選択するのではなく、各テンプレートの荷重度を算出する。すなわち、所定の楽曲（楽曲情報を算出する対象となる楽曲）の少なくとも一部である楽曲部分について、テンプレートに対応する楽曲のタイプを１つ決定するのではなく、「楽曲部分に占める各タイプの割合」を算出する。したがって、例えば楽曲部分が２つの調で構成される場合には、その２つの調のテンプレートの荷重度が大きく算出される。つまり、楽曲が転調を含む場合であっても楽曲を構成する各タイプを、荷重度を用いて正確に算出することが可能となる。そして、楽曲部分を構成する各タイプを正確に算出した荷重度を用いて、楽曲部分を構成する各タイプと当該各タイプが存在する区間とを表した楽曲情報を算出することで、楽曲が転調を含む場合であっても当該楽曲の楽曲情報を正確に算出することが可能になる。また、楽曲情報を算出することで、ユーザに対して楽曲部分を構成する各タイプが存在する区間を提示することができ、ユーザは楽曲部分を構成する各タイプがどの区間に存在するかを正確に把握することができる。
【００１９】
上記第２の発明によれば、楽曲部分を構成するタイプと仮楽曲情報が表すタイプとが当該仮楽曲情報が表す各区間においてそれぞれ一致するように、楽曲部分の一部を当該楽曲部分内で入れ替え、その後、入れ替えた入替情報に基づいて、入れ替えた順番と逆の順番で仮楽曲情報の一部を入れ替えることで、楽曲部分の楽曲情報を正確に算出することができる。
【００２０】
上記第３の発明によれば、入替情報記憶部に記憶される入替情報は、相違する度合いが小さくなるように入れ替えた入替情報であり、当該入替情報を用いることで、楽曲情報を効率よく算出することができる。
【００２１】
上記第４の発明によれば、正確な楽曲情報を用いて楽曲の検索を行うことができ、精度の高い検索を実現することができる。
【００２２】
上記第５の発明によれば、指定された楽曲の一部についての検索を行うことができ、より柔軟な検索を実現することができる。
【００２３】
上記第６の発明によれば、ユーザは、入力した選曲条件に関連する楽曲を容易に検索することができる。
【発明を実施するための最良の形態】
【００２４】
以下に、本発明の実施形態について図面を参照しながら説明する。なお、以下の説明において、「楽曲情報」とは、楽曲を構成する各タイプと当該各タイプが存在する区間とを表した情報である。具体的には、楽曲情報は楽曲内の区間の情報と当該区間のタイプとの組み合わせで表された情報である。「タイプ」とは、楽曲のイメージを決める要素であり、例えば調性、スケール、調などを示すものである。ここで、「調性」とはメジャーおよびマイナーの２種類を意味する。「スケール」とは、調号が同一となるメジャーおよびマイナーの１２種類の組み合わせを意味する。「調」とは調性とスケールとで構成される２４種類（Ｃ；Ｃメジャー、Ａｍ；Ａマイナー、等）を意味する。また、本発明における楽曲処理装置の一例として、上記楽曲情報を算出する楽曲情報算出装置を第１の実施形態として説明する。また、本発明における楽曲処理装置の他の例として、上記楽曲情報を用いて楽曲を検索する楽曲検索装置２を第２の実施形態として説明する。
【００２５】
（第１の実施形態）
まず、本発明の第１の実施形態に係る楽曲情報算出装置１について、図１を用いて説明する。図１は、本発明の第１の実施形態に係る楽曲情報算出装置１を示すブロック図である。図１において、楽曲情報算出装置１は、音階情報入力部１１、出現確率算出部１２、テンプレート記憶部１３、荷重度算出部１４、楽曲情報算出部１５、および入替情報記憶部１６を備える。
【００２６】
音階情報入力部１１は、楽曲情報算出装置１の外部または内部から、楽曲の音階情報の入力を受け付ける。音階情報入力部１１に入力される楽曲の音階情報は、少なくとも音の高さ（ノートナンバー）および音の長さ（デュレーション）の情報を含むデータとする。図２は、音階情報入力部１１に入力される楽曲の音階情報の一例を示す図である。図２において、楽曲の音階情報は、「小節数／拍数／ティック数」で示された時間と、音の強さを表すベロシティと、ノートナンバーとで表現される。ここで、上記時間は、各ノートナンバーが発音または消音となる時間を示す。ベロシティは０〜１２７の範囲の整数で表現され、ベロシティの値が大きいほど音量が大きい。なお、ベロシティの値が「０」であることは消音を示す。ノートナンバーの値は、ピアノの鍵盤中央のＣの高さを示す値を「６０」として設定される。また図２においては、デュレーションは時間およびベロシティによって表される。例えば時間が「０００／０／０００」のとき、ノートナンバーが「６０」でベロシティは「９０（発音）」となる。また、時間が「０００／０／４３２」のとき、ノートナンバーが「６０」でベロシティは「０（消音）」となる。したがって、「０００／０／０００」から「０００／０／４３２」までの時間区間の音階情報は、ノートナンバーが「６０」、ベロシティが「９０」で、デュレーションが４３２ティックとなる。
【００２７】
なお、図２に示す楽曲の音階情報の一例では、時間は「小節数／拍数／ティック数」で示されたが、例えば「時間／分／秒／フレーム／サブフレーム」で示されてもよい。またベロシティは、０〜１２７の範囲の整数で表現したが、例えば、発音を表す「１」および消音を表す「０」の２値で表現されてもよい。
【００２８】
以上のように、図２に示す楽曲の音階情報には、音の高さ（ノートナンバー）および音の長さ（デュレーション）の情報が含まれる。なお、楽曲の音階情報は、単純にノートナンバーに対してデュレーションを１対１で持つ方法で表現されてもよい。また楽曲の音階情報は、ノートナンバーおよびデュレーションの他に、ノートナンバーの連続的な変化を表すピッチベンドの情報をさらに含む方法で表現されてもよい。このときノートナンバーはピッチベンドの値に応じて変動する。
【００２９】
出現確率算出部１２は、音階情報入力部１１に入力された楽曲の音階情報に含まれる各音名の出現確率をそれぞれ算出する。図３は、各音名に関する出現確率の分布（出現確率分布）を概念的に示す図である。図３においては、Ｃ；ｉ＝０、Ｃ♯；ｉ＝１、〜、Ｂ；ｉ＝１１のように、１２種類の音名には０から１１までの音名ナンバーｉがそれぞれ付されている。なお、以下の説明では、音名ナンバーがｉである音名のことを「音名ｉ」と記載することがある。
【００３０】
テンプレート記憶部１３は、２４種類の調に対応する２４種類のテンプレートを記憶する。２４種類のテンプレートは、楽曲の異なるタイプをそれぞれ表したものとなる。またテンプレートは、それに対応する調の理想的な出現確率分布を示す。これらの各テンプレートは、予め作成されてテンプレート記憶部１３に記憶される。図４は、２４種類のテンプレートと各テンプレートについての荷重度の算出結果との一例を示す図である。図４においては、各テンプレートにより示される２４種類の調には、メジャーの調をｊ＝０〜１１、マイナーの調をｊ＝１２〜２３とした調ナンバーｊが付されている。なお、以下の説明では、調ナンバーがｊである調のことを「調ｊ」と記載することがある。また、各テンプレートについての荷重度の算出結果については後述にて説明する。
【００３１】
荷重度算出部１４は、出現確率算出部１２で算出される楽曲の出現確率分布とテンプレート記憶部１３に記憶される各テンプレートとに基づいて、各テンプレートについての荷重度をそれぞれ算出する（図４参照。）。荷重度算出部１４は、２４種類のテンプレートに１つずつ対応するように２４個の荷重度を算出する。ここで、荷重度とは、楽曲の出現確率分布においてテンプレートの出現確率分布が占める割合（占有率）を示す。換言すれば、テンプレートの荷重度とは、２４種類のテンプレートを用いて楽曲の出現確率分布を表す場合に、そのテンプレートの出現確率分布が寄与する割合を示す値である。例えば、荷重度の値が大きいテンプレートは、楽曲の出現確率分布において占める割合が大きいテンプレートである。したがって、荷重度の値が大きいテンプレートに対応する調は、当該楽曲において占める割合が大きい調である。
【００３２】
楽曲情報算出部１５は、楽曲を構成する調が存在する区間の合計の長さが当該楽曲の全体に占める割合と、荷重度算出部１４で算出された当該調のテンプレートが占める割合を示す荷重度の大きさとが各調についてそれぞれ一致するように、楽曲の楽曲情報を算出する。楽曲情報を算出する詳細な処理については後述する。入替情報記憶部１６には、楽曲情報算出部１５の処理において発生する区間の入替情報が記憶される。
【００３３】
次に、第１の実施形態に係る楽曲情報算出装置１の処理の流れについて図５を用いて説明する。図５は、第１の実施形態に係る楽曲情報算出装置１の処理の流れを表すフローチャートを示す図である。
【００３４】
音階情報入力部１１は、楽曲情報算出装置１の外部または内部から、楽曲の音階情報の入力を受け付ける（ステップＳ１）。例えば、ＳＭＦ（スタンダードＭＩＤＩファイル）などの、音階情報を示す音階データが入力される。なお、入力される音階データは、ＰＣＭデータ等の音声データを変換したものであってもよい。ここでは、図２に示したような音階情報が入力されるものとする。なお、本発明では、入力された楽曲を小節等の区間に区切る必要がないので、本発明において用いる音階情報には、小節の位置を示す情報が含まれている必要はない。本発明では、転調を含む楽曲を小節等の区間に区切ることなく、楽曲に含まれている調を正確に検出することができる。
【００３５】
ステップＳ１の次に、出現確率算出部１２は、ステップＳ１で入力された楽曲全体の音階情報に含まれる各音名の出現確率をそれぞれ算出する（ステップＳ２）。ここで音名ｉの出現確率をＰ（ｉ）とする。出現確率Ｐ（ｉ）は、音階情報に含まれる音名ｉが持つデュレーションの総和を全ての音名（ｉ＝０〜１１）が持つデュレーションの総和で除算することにより算出される。なお、各音名の出現確率の総和ΣＰ（ｉ）は、以下の式（１）のように示される。
ΣＰ（ｉ）＝１  （ｉ＝０〜１１）…（１）
【００３６】
上記ステップＳ２において示したように、本実施形態では、楽曲の各音名の出現確率分布は出現確率算出部１２によって算出されるものとした。ここで、楽曲の各音名の出現確率分布が予め分かっている場合、すなわち、楽曲の各音名の出現確率分布を示すデータが得られている場合には、出現確率算出部１２は、ステップＳ２において当該データを取得するようにしてもよい。この場合、ステップＳ２で出現確率分布を算出する処理を省略することができる。
【００３７】
ステップＳ２の次に、荷重度算出部１４は、各テンプレートについての荷重度をそれぞれ算出する（ステップＳ３）。荷重度は、ステップＳ２で算出された各音名の出現確率（楽曲の実際の出現確率）と、テンプレート記憶部１３に記憶された２４種類のテンプレートにより示される出現確率とを用いて算出される。以下、荷重度を算出する方法を詳細に説明する。
【００３８】
まず、楽曲情報を算出する対象となる楽曲の出現確率分布を、２４種類の調（ｊ＝０〜２３）に対応する２４種類のテンプレートの出現確率分布を用いて表現することを考える。ここで、対象となる楽曲の出現確率分布において調ｊのテンプレートの出現確率分布が占める割合を示す荷重度をＷ（ｊ）とする。そして、調ｊのテンプレートに含まれる音名ｉの出現確率をＰｔ（ｊ，ｉ）とする。このとき、次の式（２）および式（３）の関係が成り立つ。
ΣＷ（ｊ）＝１  （ｊ＝０〜２３）…（２）
ΣＰｔ（ｊ，ｉ）＝１  （ｉ＝０〜１１）…（３）
ここで、各テンプレートを用いて（すなわち、Ｗ（ｊ）およびＰｔ（ｊ，ｉ）を用いて）、対象となる楽曲の音階情報に含まれる音名ｉの出現確率Ｐｆ（ｉ）を表現した場合、当該出現確率Ｐｆ（ｉ）は次の式（４）のように示される。
Ｐｆ（ｉ）＝Σ（Ｗ（ｊ）＊Ｐｔ（ｊ，ｉ））  （ｊ＝０〜２３）…（４）
したがって、ステップＳ２で算出された楽曲の実際の出現確率Ｐ（ｉ）とＰｆ（ｉ）とが全音名（ｉ＝０〜１１）について一致するように各テンプレートの荷重度Ｗ（ｊ）（ｊ＝０〜２３）を算出する。つまり、式（２）〜（４）の関係を満たし、ｉ＝０〜１１についてＰ（ｉ）＝Ｐｆ（ｉ）となるようなＷ（ｊ）を求めればよい。具体的には、ここでは、各音名の出現確率の誤差（Ｐ（ｉ）−Ｐｆ（ｉ））を２乗した和を最小化させることによって各テンプレートの荷重度Ｗ（ｊ）（ｊ＝０〜２３）を求める。より具体的には、音名ｉの出現確率の誤差をＥ（ｉ）とし、その誤差Ｅ（ｉ）を２乗した和を‘Ｅとすると、Ｅ（ｉ）および‘Ｅはそれぞれ式（５）および式（６）のように示される。
Ｅ（ｉ）＝Ｐ（ｉ）−Ｐｆ（ｉ）…（５）
‘Ｅ＝Σ（Ｅ（ｉ））2   （ｉ＝０〜１１）…（６）
この式（６）を用いて、‘Ｅが最小となる各テンプレートの荷重度Ｗ（ｊ）（ｊ＝０〜２３）を算出する。なお、各テンプレートの荷重度Ｗ（ｊ）（ｊ＝０〜２３）は、例えば進化戦略（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ｓｔｒａｔｅｇｙ）を用いて算出することができるが、Ｗ（ｊ）を算出するアルゴリズムはどのようなものであってもよい。以上のように、ステップＳ３では、各テンプレートの荷重度Ｗ（ｊ）（ｊ＝０〜２３）が算出される。各テンプレートの荷重度Ｗ（ｊ）（ｊ＝０〜２３）は、例えば図４に示すような算出結果となる。
【００３９】
ステップＳ３の次に、楽曲情報算出部１５は、楽曲を構成する調が存在する区間の合計の長さが当該楽曲の全体に占める割合と、ステップＳ３で算出された当該調のテンプレートが占める割合を示す荷重度の大きさとが各調についてそれぞれ一致するように、楽曲の楽曲情報を算出する（ステップＳ４）。楽曲情報は、上述したように、楽曲内の区間の情報と当該区間の調との組み合わせで表された情報であり、例えば［区間の開始位置−区間の終了位置：その区間の調ｊ］で表される情報である。例えば、算出対象となる楽曲全体を１００％（１．０）として、前半６０％（０．６）がＥメジャー、後半の４０％（０．４）がＦメジャーであるとする。このとき、楽曲が開始する位置０％（０．０）を開始位置とし、楽曲が開始する位置０％から６０％（０．６）の位置を終了位置とする前半区間がＥメジャー（ｊ＝４）となる。また、当該６０％の位置を開始位置とし、楽曲が終了する位置１００％（１．０）を終了位置とする後半区間がＦメジャー（ｊ＝５）となる。したがって、この楽曲の楽曲情報は（［０．０−０．６：４］、［０．６−１．０：５］）で表現される。
【００４０】
以下、図６を用いて、楽曲情報を算出する処理について詳細に説明する。図６は、楽曲情報を算出する処理の流れを示すフローチャートである。なお、楽曲情報を算出する処理を説明するための前提として、算出対象の楽曲が、楽曲の開始０％（０．０）の位置から２０％（０．２）の位置までの区間がＣｍ、当該２０％の位置から５０％（０．５）の位置までの区間がＤ、当該５０％の位置から６０％（０．６）の位置までの区間がＣｍ、当該６０％の位置から楽曲の終了１００％（１．０）の位置までの区間がＤである楽曲とする。つまり、図７の最上段に示すように、算出対象となる実際の楽曲が（［０．０−０．２：１５］、［０．２−０．５：２］、［０．５−０．６：１５］、［０．６−１．０：２］）である楽曲とする。ただし、Ｃｍの調ナンバーがｊ＝１５とし、Ｄの調ナンバーがｊ＝２とする。図７は、楽曲情報を算出する処理の一部における各楽曲のデータを模式的に示した図である。なおこの場合、ステップＳ３において算出される荷重度Ｗ（ｊ）は、式（７）に示す値となる。
Ｗ（２）＝０．７、Ｗ（１５）＝０．３…（７）
この荷重度の算出結果によれば、算出対象の楽曲を構成する調はＤおよびＣｍの調のみからなることが分かる。また、Ｄの調となる各区間の合計の長さが楽曲全体のうちの７０％に相当する長さとなることが分かる。また、Ｃｍの調となる各区間の合計の長さが楽曲全体のうちの３０％に相当する長さとなることが分かる。
【００４１】
楽曲情報算出部１５は、このような式（７）に示す荷重度の算出結果に基づいて、図７の最下段に示すように、算出対象となる楽曲の楽曲情報を例えば（［０．０−０．７：２］、［０．７−１．０：１５］）と仮定する（ステップＳ４０１）。以下、この仮定した楽曲情報を仮楽曲情報という。
【００４２】
ステップＳ４０１の次に、出現確率算出部１２は、音階情報入力部１１に入力された算出対象の楽曲について、仮楽曲情報が表す区間（以下、仮区間という）毎に各音名の出現確率を算出する（ステップＳ４０２）。つまり、出現確率算出部１２は、算出対象の楽曲について上記前半区間［０．０−０．７］の音階情報に含まれる音名ｉの出現確率Ｐａ（ｉ）と、上記後半区間［０．７−１．０］の音名ｉの出現確率Ｐｂ（ｉ）とをそれぞれ算出する。
【００４３】
ステップＳ４０２の次に、楽曲情報算出部１５は、算出対象となる楽曲の各仮区間ついての各音名の出現確率（Ｐａ（ｉ）およびＰｂ（ｉ））と、仮楽曲情報が表す各仮区間の調（ＤおよびＣｍ）のテンプレートに含まれる各音名の出現確率とを用いて、楽曲全体についての誤差関数を算出する（ステップＳ４０３）。ここで、算出対象の楽曲における前半区間の音名ｉの出現確率Ｐａ（ｉ）と、当該前半区間の調として仮定した調Ｄ（ｊ＝２）のテンプレートに含まれる音名ｉの出現確率Ｐｔ（２，ｉ）との誤差をＥａ（ｉ）とする。また、算出対象の楽曲における後半区間の音名ｉの出現確率Ｐｂ（ｉ）と、当該後半区間の調として仮定した調Ｃｍ（ｊ＝１５）のテンプレートに含まれる音名ｉの出現確率Ｐｔ（１５，ｉ）との誤差をＥｂ（ｉ）とする。また、Ｅａ（ｉ）の２乗した和を‘Ｅａとし、Ｅｂ（ｉ）の２乗した和を‘Ｅｂとする。このとき、Ｅａ（ｉ）、‘Ｅａ、Ｅｂ（ｉ）、および‘Ｅｂはそれぞれ式（８）〜式（１１）で表現される。
Ｅａ（ｉ）＝Ｐａ（ｉ）−Ｐｔ（２、ｉ）…（８）
‘Ｅａ＝Σ（Ｅａ（ｉ））2   （ｉ＝０〜１１）…（９）
Ｅｂ（ｉ）＝Ｐｂ（ｉ）−Ｐｔ（１５、ｉ）…（１０）
‘Ｅｂ＝Σ（Ｅｂ（ｉ））2   （ｉ＝０〜１１）…（１１）
式（９）および式（１１）より、楽曲全体についての誤差関数‘Ｅｗは式（１２）となる。
‘Ｅｗ＝０．７＊‘Ｅａ＋０．３＊‘Ｅｂ…（１２）
式（１２）において、誤差関数‘Ｅｗの値が０に限りなく近づくと、算出対象となる楽曲の各仮区間ついての各音名の出現確率と、仮楽曲情報が表す各仮区間の調のテンプレートに含まれる各音名の出現確率とが一致するようになる。つまり、誤差関数‘Ｅｗの値が０に限りなく近づけば、算出対象となる楽曲の各仮区間の調が仮楽曲情報が表す各仮区間の調と一致する。このように、誤差関数は、算出対象となる楽曲の各仮区間の調と、仮楽曲情報が表す各仮区間の調とが相違する度合いを示す指標である。
【００４４】
ステップＳ４０３の次に、楽曲情報算出部１５は、ステップＳ４０３で算出した誤差関数の値が所定値よりも小さいか否か判断する（ステップＳ４０４）。なお、所定値には、算出対象となる楽曲の各仮区間の調と、仮楽曲情報が表す各仮区間の調とが一致するとして許容される値が設定される。ステップＳ４０４において誤差関数の値が所定値よりも小さい値であれば、算出対象となる楽曲の各仮区間が示す調と、仮楽曲情報が表す各仮区間の調とが一致するので、処理はステップＳ４０５に進む。ステップＳ４０５において、楽曲情報算出部１５は、仮楽曲情報を算出対象の楽曲の楽曲情報として算出する。ステップＳ４０４において誤差関数の値が所定値以上大きい値であれば、処理はステップＳ４０６に進む。ステップＳ４０６において楽曲情報算出部１５は、ステップＳ４０３で算出した誤差関数の値を初期値‘Ｅｗ（０）に設定する。
【００４５】
ステップＳ４０６の次に、楽曲情報算出部１５は、算出対象となる楽曲において任意の区間を入れ替える（ステップＳ４０７）。つまり、楽曲情報算出部１５は、算出対象となる楽曲の一部を当該楽曲内で入れ替える。ここでは、ランダムに選ばれた任意の区間を入れ替えるとする。具体的には、例えば区間の開始位置と区間の長さとがそれぞれランダムに選ばれた区間を入れ替えることが考えられる。図７の例では、入替（１）として、０．０から０．２までのＤの区間と、０．７から０．９までのＣｍの区間を入れ替えている。入替（１）で入れ替えた後の楽曲は、入替（１）後に示される楽曲となる。ステップＳ４０７の次に、楽曲情報算出部１５は、区間を入れ替えた楽曲について、仮区間毎に各音名の出現確率を算出する（ステップＳ４０８）。ステップＳ４０８の次に、楽曲情報算出部１５は、区間を入れ替えた楽曲の各仮区間の各音名の出現確率と、仮楽曲情報が表す各仮区間の調のテンプレートに含まれる各音名の出現確率とを用いて、楽曲全体についての誤差関数を算出する（ステップＳ４０９）。誤差関数の算出方法については、ステップＳ４０３と同様の方法で算出する。
【００４６】
ステップＳ４０９の次に、楽曲情報算出部１５は、ステップＳ４０９で算出した誤差関数の値が、初期値よりも小さいか否かを判断する（ステップＳ４１０）。図７の例で示した入替（１）後では、０．０から０．７までの前半区間ではＤの全区間の長さとＣｍの区間の長さとの比がＤ：Ｃｍ＝６：１となっている。また、０．７から１．０までの後半区間では、Ｃｍの区間の長さとＤの全区間の長さとの比がＣｍ：Ｄ＝２：１となっている。つまり、入替（１）後の楽曲は、入替前に比べて、仮楽曲情報（［０．０−０．７：２］、［０．７−１．０：１５］）の楽曲により近づいている。このため、ステップＳ４０９で算出される誤差関数の値は、ステップＳ４０６で設定した初期値‘Ｅｗ（０）よりも小さくなることが分かる。つまり、入替（１）後の誤差関数を‘Ｅｗ（１）とすると、‘Ｅｗ（１）＜‘Ｅｗ（０）となる。この場合、誤差関数の値が初期値よりも小さくなるので、処理はステップＳ４１２に進む。なお、誤差関数の値が初期値‘Ｅｗ（０）以上大きい場合には、楽曲情報算出部１５はステップＳ４０７で入れ替えた区間を元に戻して（ステップＳ４１１）、ステップＳ４０７において再度別の区間を入れ替える。
【００４７】
ステップＳ４１０の次に、ステップＳ４０９で算出した誤差関数の値と、入れ替えた区間の情報とを入替情報記憶部１６に記憶する（ステップＳ４１２）。ここで、図８に入替情報記憶部１６に記憶される情報の一例を示す。図８に示すように、入替情報記憶部１６には、入替情報として、入れ替えした順番を示す入替番号ｎ（ｎは自然数）、入れ替えした区間の情報、および入替後の誤差関数の値が記憶されている。図７の入替（１）では０．０から０．２までのＤの区間と０．７から０．９までのＣｍの区間とを入れ替えるとした。したがって、ステップＳ４１２において入替情報記憶部１６には、入替番号（１）に対して［０．０−０．２］と［０．７−０．９］の区間の情報と、誤差関数‘Ｅｗ（１）が記憶される。
【００４８】
ステップＳ４１２の次に、楽曲情報算出部１５は、記憶された誤差関数の値が所定値よりも小さいか否か判断する（ステップＳ４１３）。この所定値とは、ステップＳ４０４の所定値と同じ値である。ステップＳ４１３において誤差関数の値が所定値以上大きい値であれば、処理はステップＳ４０７に戻り、さらに区間を入れ替える。ここでは、図７に示す入替１後の誤差関数の値が所定値以上大きいとして、ステップＳ４０７に戻るとする。そして、図７に示すようにステップＳ４０７で２回目の区間の入れ替え（入替（２））として、０．５から０．６までのＣｍの区間と、０．９から１．０までのＤの区間を入れ替えるとする。このとき、図７に示すように、入替（２）の入れ替え後を示す入替（２）後の楽曲は、仮楽曲情報の楽曲と一致していることが分かる。したがって、この場合、ステップＳ４１０では前回（入替１後の誤差関数の値‘Ｅｗ（１））よりも小さいと判断され、ステップＳ４１２において入替情報記憶部１６に入替（２）に関する入替情報が記憶される。
【００４９】
また、入替（２）後の誤差関数の値‘Ｅｗ（２）は０となり所定値よりも小さく、区間を入れ替えした楽曲の各区間が示す調と、仮楽曲情報が表す各仮区間の調とが一致するので、処理はステップＳ４１４に進む。このとき、入替（２）後の楽曲の楽曲情報は、仮楽曲情報と一致する。ステップＳ４１４において楽曲情報算出部１５は、ステップＳ４１２で記憶された入替情報に基づいて、算出対象となる楽曲の楽曲情報を算出する。具体的には、図９に示すように、入替情報記憶部１６に記憶された入替番号を逆順にたどって、仮楽曲情報、つまり入替（２）後の楽曲情報を入れ替える。図９は、ステップＳ４１４の処理を模式的に示した図である。図８では入替情報記憶部１６には、入替番号（１）および（２）と、その番号に対応する入れ替え区間の情報が記憶されている。したがって、ステップＳ４１４では、図９に示すように、まず入替（２）後の楽曲情報について入替番号（２）の入れ替え区間の情報に基づいて、区間［０．５−０．６］と区間［０．９−１．０］とを入れ替える（図９の入替（２）後）。その後に、入替番号１の入れ替え区間の情報に基づいて、区間［０．０−０．２］と区間［０．７−０．９］とを入れ替える（図９の入替（１）後）。そして図９に示すように、入替１後の楽曲情報が算出対象となる実際の楽曲の楽曲情報と一致することがわかる。つまり、楽曲情報算出部１５は、入替（１）後の楽曲情報を算出対象となる楽曲の楽曲情報として算出する。
【００５０】
このように、楽曲情報算出部１５は、算出対象となる楽曲の区間を入れ替える処理を繰り返し行い、誤差関数を小さくしていく。つまり楽曲情報算出部１５は、算出対象となる楽曲を仮楽曲情報の楽曲に近づける処理を行う。またこの処理において楽曲情報算出部１５は、入れ替えた２つの区間を入替情報記憶部１６に順番に記録しておく。そして楽曲情報算出部１５は、誤差関数が所定値よりも小さくなったら、処理を行った算出対象となる楽曲の楽曲情報が仮楽曲情報であると確定する。その後、楽曲情報算出部１５は、確定した楽曲情報に対してこれまで入れ替えてきた区間を逆の順番に入れ替えていく。最後まで入れ替えたところで、確定した楽曲情報が表す各区間の調が、算出対象となる実際の楽曲の各区間の調と一致し、楽曲情報算出部１５は算出対象となる実際の楽曲の楽曲情報を算出することができる。
【００５１】
なお、上述のステップＳ４０７からＳ４１３では、区間の入れ替え方法としてランダムに選ばれた任意の区間について入れ替えるとしたがこれに限定されない。例えば楽曲情報算出部１５は、誤差関数‘Ｅｗを適合度として遺伝的アルゴリズム等を利用して、入れ替える２つの区間を例えば「区間１」と「区間２」としたとき、［区間１の開始位置、区間２の開始位置、区間の長さ］を最適化する。つまり、楽曲情報算出部１５は、Ｎ（自然数）回の入れ替えを連続して行うことを、［区間１の開始位置、区間２の開始位置、区間の長さ］をＮ組作ることで表現し、Ｎ回の入れ替えを行った結果の誤差関数‘Ｅｗ（Ｎ）が所定値より小さくなるように各パラメータを最適化し、その結果を用いて区間を入れ替える。楽曲情報算出部１５は、このような入れ替え方法を採用してもよい。
【００５２】
また例えば、処理を行う算出対象となる楽曲について、ステップＳ４０１で仮定した仮楽曲情報で表される各仮区間のうち、異なる調の仮区間内からそれぞれ抽出した区間に対応する区間を入れ替えるようにしてもよい。図７の例でいえば、処理を行う楽曲について、仮楽曲情報の楽曲におけるＤの仮区間［０．０−０．７］内にある一部の区間に対応する区間と、０．７から１．０までのＣｍの仮区間［０．７−１．０］内にある一部の区間に対応する区間とを入れ替える。これは、誤差関数が、処理を行う楽曲と仮楽曲情報の楽曲とを各仮区間で比較することによって算出されるためである。例えば、処理を行う楽曲について、Ｄの仮区間［０．０−０．７］内にある一部の区間に対応する区間（例えば［０．０−０．２］と［０．５−０．７］）を入れ替えるとする。ここで、処理を行う楽曲の［０．０−０．７］の仮区間にＤの調が多く含まれていれば、誤差関数の値は小さくなる。しかしながら、処理を行う楽曲の［０．０−０．７］の仮区間内で一部の区間を入れ替えても、処理を行う楽曲の［０．０−０．７］に含まれるＤの調の割合は変化しない。つまり、処理を行う楽曲の［０．０−０．７］の仮区間内で一部の区間を入れ替えても、誤差関数の値は変わらない。したがって、処理を行う算出対象となる楽曲について、ステップＳ４０１で仮定した仮楽曲情報で表される各仮区間のうち、異なる調の仮区間内からそれぞれ抽出した一部の区間に対応する区間を入れ替えるようにすることで、効率良く誤差関数の値を小さくすることができる。
【００５３】
また、上述では、楽曲情報を［区間の開始位置−区間の終了位置：その区間の調ｊ］で表すとしたが、ユーザに対して楽曲情報を表示する場合には、図１０に示すように、調毎に異なる模様のラベルを用いて表示してもよい。図１０は、楽曲情報が調毎に異なる模様で表示されたラベルの例を示す図である。これにより、ユーザは楽曲の構造を容易に判断することができ、視認性が良くなる。
【００５４】
また、上述では、調に関する楽曲情報を算出するとしたが、当該調に関する楽曲情報を用いて、調性やスケールなどに関する楽曲情報をさらに算出してもよい。例えば、調性に関する楽曲情報を算出する場合には、上述した図４に示すように、２４種類の調はメジャーの調（ｊ＝０〜１１）かマイナーの調（ｊ＝１２〜２３）の２種類に種別されるので、当該種別に基づいて楽曲情報に含まれる調をそれぞれメジャーかマイナーかに種別すればよい。これにより、ユーザは、メジャーの調やマイナーの調が存在する区間を把握することができる。また、スケールに関する楽曲情報を算出する場合には、各区間の調をいずれかのスケールに種別すればよい。ここで、２４種類の調とスケールとの関係は、例えば図１１に示される関係となる。図１１は、２４種類の調とスケールとの関係の一例を示す図である。図１１では、各スケールについて、スケールナンバーｓ（ｓ＝０〜１１）が付されている。そして図１１に示すように、２４種類の調のうちそれぞれ２種類の調が同一スケールとなり、スケールは計１２種類存在することが分かる。例えば、Ｃ（ｊ＝０）およびＡｍ（ｊ＝１２）の２種類の調は同一のスケールとなり、当該スケールナンバーｓはｓ＝０である。このように、図１１に示すスケールと調との関係に基づいて、各区間の調をいずれかのスケール（ｓ＝０〜１１）に種別することで、ユーザは、メジャーの調やマイナーの調が存在する区間を把握することができる。
【００５５】
以上のように、本実施形態に係る楽曲情報算出装置１は、楽曲の出現確率分布とテンプレートの出現確率分布とを１対１で照合するのではなく、楽曲の出現確率分布において各調のテンプレートが占める割合（荷重度）を算出する。その結果、楽曲に含まれる複数の調を検出する楽曲が転調を含むような複数種類の調で構成される場合であっても、楽曲の調を正確に検出することが可能となる。そして、本実施形態に係る楽曲情報算出装置１は、正確に検出した楽曲を構成する各調と当該各調が存在する区間とを表した楽曲情報を算出することで、当該楽曲情報を正確に算出可能になることはもちろんのこと、ユーザに対して当該楽曲に含まれる複数の調やその他のタイプ（例えば調性など）が存在する区間を提示することができる。これにより、ユーザは楽曲に含まれる複数の調やその他のタイプ（例えば調性など）が存在する区間を正確に把握することができる。
【００５６】
なお、上述では、テンプレート記憶部１３には２４種類の調についてそれぞれ１つずつのテンプレートしか記憶されていない。しかし、１種類の調について複数のテンプレートが記憶されてもよい。１種類の調について、例えばポップス、ジャズ、クラシックなどのジャンル毎にテンプレートを用意して、テンプレート記憶部１３に記憶させる。そして、テンプレート記憶部１３に記憶される全てのテンプレートについての荷重度を算出することで、楽曲情報算出装置１は楽曲のジャンルに合わせた楽曲情報を正確に算出することができる。また、各テンプレートの荷重度には、それぞれジャンルの情報が含まれるので、楽曲のジャンルも算出することが可能となる。
【００５７】
また、１種類の調について、例えばメロディおよびベースなどの特定のパート専用毎にテンプレートが用意され、テンプレート記憶部１３に記憶されてもよい。そして、テンプレート記憶部１３に記憶されるテンプレートのうち、入力される楽曲のパートに合わせたテンプレートについての荷重度を算出することで、楽曲情報算出装置１は入力される楽曲のパートに合わせた楽曲情報を正確に算出することができる。
【００５８】
また、テンプレートとして、２４種類の調ではなく調性、スケール、またはコードなどに対応する出現確率分布を用いてもよい。そして、当該各テンプレートについての荷重度を算出することで、調性、スケール、またはコードに関する楽曲情報を直接算出することができる。
【００５９】
また、上述した音階情報入力部１１で入力を受け付ける音階情報は、メロディやベースなどの演奏のパートを少なくとも１つ含むものであれば良く、例えば複数のパートで構成される音階情報であってもよい。また、音階情報を構成する楽曲の演奏時間は、全演奏時間分であってもよいし、一部の演奏時間分であってもよい。ここで、一部の演奏時間分は、例えば前奏を除く楽曲の前半部分の演奏時間分としてもよい。当該演奏時間分は、主要な調で構成されることが一般的に多いからである。その結果、楽曲情報算出装置１は、より精度の高い楽曲情報を算出することができる。また、楽曲情報算出装置１の処理負担も軽減させることができる。
【００６０】
なお、図１２に示すように、本実施形態に係る曲調情報検出部１７をさらに設け、荷重度算出部１４で算出した荷重度や楽曲情報算出部１５で算出した楽曲情報を用いて楽曲の曲調情報を検出してもよい。図１２は、楽曲情報算出装置１に曲調情報検出部１７をさらに設けた構成を示すブロック図である。ここで、「曲調情報」とは、各区間ではなく、検出対象となる楽曲全体の曲調を示す指標を意味する情報である。また曲調情報には、２４個の荷重度を１つの組として示す情報（荷重度の組）または当該荷重度の組から算出される各種情報が含まれる。ここで各種情報とは、例えば、調、調性占有率、調性およびスケールなどを示す情報である。「調性占有率」とは楽曲内におけるメジャー（またはマイナー）の占有率を意味する。
【００６１】
まず、曲調情報検出部１７が荷重度算出部１４で算出した荷重度を用いて曲調情報を検出する方法について説明する。曲調情報検出部１７は、荷重度算出部１４で算出された２４個の荷重度に基づいて楽曲の曲調情報を検出する。具体的には、曲調情報検出部１７は、２４個の荷重度を１つの組として示す情報（荷重度の組）、当該荷重度の組から算出される調、調性占有率、調性およびスケールなどを曲調情報として検出する。以下に、調、調性占有率、調性およびスケールの検出方法について説明する。
【００６２】
まず調については、曲調情報検出部１７は、荷重度Ｗ（ｊ）の値が最大となるテンプレートに対応する調ナンバーｊの調を求め、当該調を最も優勢な調として検出する。次に調性占有率については、曲調情報検出部１７は、楽曲内におけるメジャーの占有率およびマイナーの占有率を調性占有率として次の方法で検出する。メジャーの占有率をＲｍａｊ、マイナーの占有率をＲｍｉｎとすると、図４において調ナンバーｊ＝０〜１１がメジャーの調、ｊ＝１２〜２３がマイナーの調としているので、ＲｍａｊおよびＲｍｉｎはそれぞれ以下の式で算出される。
Ｒｍａｊ＝ΣＷ（ｊ）  （ｊ＝０〜１１）…（１３）
Ｒｍｉｎ＝ΣＷ（ｊ）  （ｊ＝１２〜２３）…（１４）
したがって、曲調情報検出部１７は、式（１３）および式（１４）で算出したＲｍａｊとＲｍｉｎを調性占有率として検出する。
【００６３】
次に調性については、曲調情報検出部１７は、メジャーまたはマイナーの調性のうち優勢な方の調性を曲調情報として検出する。すなわち、曲調情報検出部１７は、上記式（１３）および式（１４）で算出されたＲｍａｊの値とＲｍｉｎの値とを比較してＲｍａｊの値が大きければメジャーの調性を、Ｒｍｉｎの値が大きければマイナーの調性を曲調情報として検出する。
【００６４】
次にスケールの検出方法について上述した図１１を用いて説明する。図１１において、２４種類の調のうちそれぞれ２種類の調が同一スケールとなるので、スケールは計１２種類存在する。また、各スケールについて、図１１に示すようにスケールナンバーｓ（ｓ＝０〜１１）が付される。ここで、楽曲内における各スケールの占有率をスケール占有率Ｒｓ（ｓ）（ｓ＝０〜１１）とすると、Ｒｓ（ｓ）は以下のようにそれぞれ算出される。
Ｒｓ（０）＝Ｗ（０）＋Ｗ（１２）
Ｒｓ（１）＝Ｗ（１）＋Ｗ（１３）
Ｒｓ（２）＝Ｗ（２）＋Ｗ（１４）
・
・
・
Ｒｓ（１１）＝Ｗ（１１）＋Ｗ（２３）
したがって、曲調情報検出部１７は、スケール占有率Ｒｓ（ｓ）の値が最大となるスケールナンバーｓのスケールを求め、当該スケールを最も優勢なスケールとして検出する。
【００６５】
次に、曲調情報検出部１７が楽曲情報算出部１５で算出した楽曲情報を用いて曲調情報を検出する方法について説明する。楽曲情報算出部１５で算出された楽曲情報は、図９の最下段に示されるように、楽曲を構成する各調と当該各調が存在する区間とを表した情報である。曲調情報検出部１７は、楽曲情報算出部１５で算出された楽曲情報から、同じ調を示す区間の長さをそれぞれ合計して区間の長さが最大となる調を求め、当該調を最も優勢な調として検出する。また、曲調情報検出部１７は、楽曲情報算出部１５で算出された楽曲情報に表される各区間の調から、上述した図４に示す調と調性との関係に基づいて、同じ調性を示す区間の長さをそれぞれ合計して区間の長さが長い方の調性を曲調情報として検出する。また、曲調情報検出部１７は、楽曲情報算出部１５で算出された楽曲情報に表される各区間の調から、上述した図４に示す調と調性との関係に基づいて、同じ調性を示す区間の長さをそれぞれ合計して、楽曲内におけてメジャーおよびマイナーの調性が占める割合を算出して調性占有率を検出する。また、曲調情報検出部１７は、楽曲情報算出部１５で算出された楽曲情報に表される各区間の調から、上述した図１１に示す調とスケールとの関係に基づいて、同じスケールを示す区間の長さをそれぞれ合計して区間の長さが最大となるスケールを求め、当該スケールを最も優勢なスケールとして検出する。
【００６６】
図１２に示したように、曲調情報検出部１７をさらに設けることによって、ユーザは実際に楽曲を聞かなくても当該楽曲全体のイメージを把握することができる。具体的には、曲調情報検出部１７が検出する荷重度の組によって、ユーザは、当該楽曲全体に含まれる複数の調の割合を把握することができる。すなわち、１つの調の荷重度の値が大きく、それ以外の調の荷重度の値が小さい場合には、ユーザは当該楽曲全体が単調の曲であることを把握できる。また、多数の調で荷重度の値が近似する場合には、ユーザは当該楽曲全体が多数の調で構成されている楽曲であることを把握できる。また、検出された調、調性占有率、調性およびスケールなどの曲調情報によっても、ユーザは実際に楽曲を聞かなくても当該楽曲全体のイメージを把握することができる。
【００６７】
なお、本実施形態に係る楽曲情報算出装置１は、一般的なコンピュータシステム１００に楽曲情報算出プログラムを実行させることによって実現されてもよい。図１３は、楽曲情報算出装置１がコンピュータシステム１００によって実現される構成例を示すブロック図である。なお、図１３において、音階情報入力部１１、出現確率算出部１２、テンプレート記憶部１３、荷重度算出部１４、楽曲情報算出部１５、および入替情報記憶部１６は、図１に示される各構成部とそれぞれ同一の符号を付し、かつ同一の機能とし、説明を省略する。
【００６８】
図１３において、コンピュータシステム１００は、演算処理部１１０、記憶部１２０およびディスクドライブ装置１３０を備える。演算処理部１１０は、ＣＰＵまたはメモリなどで構成され、楽曲情報算出プログラムを実行させることによって、音階情報入力部１１、出現確率算出部１２、荷重度算出部１４、および楽曲情報算出部１５と同一の機能を実現する。また記憶部１２０は、ハードディスクなどの記録媒体で構成され、楽曲情報算出プログラムを実行させることによって、テンプレート記憶部１３および入替情報記憶部１６と同一の機能を実現する。ディスクドライブ装置１３０は、コンピュータシステム１００を楽曲情報算出装置１として機能させるための楽曲情報算出プログラムが記憶された記録媒体１４０から、当該楽曲情報算出プログラムを読み出す。当該楽曲情報算出プログラムが任意のコンピュータシステム１００にインストールされることにより、当該コンピュータシステム１００を上述した楽曲情報算出装置１として機能させることができる。なお、記録媒体１４０は、例えばフレキシブルディスクや光ディスクなどのディスクドライブ装置１３０によって読み取り可能な形式の記録媒体である。また、楽曲情報算出プログラムは、予めコンピュータシステム１００にインストールされていてもかまわない。
【００６９】
なお、以上の説明では、上記楽曲情報算出プログラムは記録媒体１４０によって提供されるとしたが、インターネットなどの電気通信回線によって提供されてもよい。また、楽曲情報算出における処理は、全部または一部をハードウェアによって処理される形態であってもよい。
【００７０】
（第２の実施形態）
次に、本発明の第２の実施形態に係る楽曲検索装置２について、図１４および図１５を用いて説明する。図１４は、本発明の第２の実施形態に係る楽曲検索装置２を示すブロック図である。図１４において、楽曲検索装置２は、楽曲入力部２１、音階データ変換部２２、出現確率算出部１２、楽曲データ記憶部２３、テンプレート記憶部１３、荷重度算出部１４、楽曲情報算出部１５、入替情報記憶部１６、曲調情報検出部１７、選曲ルール記憶部２４、選曲情報入力部２５、および検索部２６を備える。なお、図１４において、出現確率算出部１２、テンプレート記憶部１３、荷重度算出部１４、楽曲情報算出部１５、入替情報記憶部１６、および曲調情報検出部１７は、第１の実施形態で説明した楽曲情報算出装置１の各構成部とそれぞれ同一の符号を付し、かつ同一の機能とし、説明を省略する。
【００７１】
図１５は、第２の実施形態に係る楽曲検索装置２の処理の流れを表すフローチャートを示す図である。なお、図１５において、ステップＳ１〜Ｓ４は、第１の実施形態で説明した楽曲情報算出装置１の処理（図５参照。）のステップＳ１〜Ｓ４とそれぞれ同一の符号を付し、かつ同一の処理とし、説明を省略する。以下に、図１５を用いて楽曲検索装置２の処理の流れについて説明する。
【００７２】
楽曲入力部２１は、楽曲検索装置２の外部または内部から、楽曲データの入力が受け付けられたか否かを判定する（ステップＳ１１）。ステップＳ１１の判定の結果、楽曲データが入力されていないと判定された場合、ステップＳ１６の処理が行われる。一方、ステップＳ１１の判定の結果、楽曲データが入力されたと判定された場合、ステップＳ１２の処理が行われる。すなわち、楽曲入力部２１は、入力された楽曲データを楽曲データ記憶部２３に記憶する（ステップＳ１２）。
【００７３】
ここで楽曲データは、音声データであってもよいし、音階データであってもよい。音階データとは、例えばＰＣＭ形式の音声データ、ＭＰ３およびＡＡＣなどの圧縮形式の音声データなどである。音階データとは、ＳＭＦ（スタンダードＭＩＤＩファイル）などの音階情報を示す音階データなどである。なお、入力される楽曲データは、例えばメロディまたはベースなどの演奏のパートを少なくとも１つ含むものであればよく、例えば複数のパートで構成されるデータであってもよい。また、楽曲データの演奏時間は、全演奏時間分であってもよいし、一部の演奏時間分であってもよい。
【００７４】
ステップＳ１２の次に、音階データ変換部２２は、ステップＳ１２で記憶された楽曲データが音声データ（例えばＰＣＭ形式の音声データ）である場合には、当該音声データを音階情報を示す音階データに変換する（ステップＳ１３）。音階データ変換部２２は、例えば特開昭５８−１８１０９０号公報に開示された方法で音声データを音階データに変換する。また、音階データ変換部２２は、音声データがＭＰ３およびＡＡＣなどの圧縮形式の音声データである場合には、一旦ＰＣＭ形式の音声データに変換した後、音階データに変換する。なお、音階データに変換する方法は上記方法に限らず、他の方法を用いてもよい。また、ステップＳ１２で記憶された楽曲データがＳＭＦなどの音階データである場合には、上記ステップＳ１３の処理は行わずにステップＳ１〜Ｓ４の処理が行われる。
【００７５】
ステップＳ１３の次に、ステップＳ１〜Ｓ４（図５参照。）において、ステップＳ１２で記憶された音階データまたはステップＳ１３で変換された音階データに基づいて楽曲情報が算出される。ステップＳ１〜Ｓ４の次に、曲調情報検出部１７は、上述した第１の実施形態と同様の方法で楽曲全体の曲調情報を検出する（ステップＳ１４）。そして、ステップＳ１５において、楽曲データ記憶部２３には、算出された楽曲情報および楽曲全体の曲調情報が記憶される。ここで楽曲データ記憶部２３には、ステップＳ１２で記憶された楽曲データと、図５に示すステップＳ４で算出された楽曲データの楽曲情報と、ステップＳ１４で検出された楽曲全体の曲調情報とがそれぞれ関連づけられて記憶される。図１６は、楽曲データ記憶部２３に記憶されるデータの一例を示す図である。図１６では、楽曲データ記憶部２３には、楽曲データ以外に楽曲情報、楽曲全体の曲調情報として最も優勢な調（Ｋ）、調性（Ｔ）、最も優勢なスケール（Ｓ）、およびメジャーの占有率（Ｒｍａｊ）が記憶される。また、図１６において、楽曲データのスケール（Ｓ）はスケールナンバーｓで示される。また、楽曲データ記憶部２３に記憶される楽曲データは、楽曲番号で管理されており、楽曲データとそれに関連づけられた楽曲情報および楽曲全体の曲調情報は、適宜削除または追加されることが可能である。
【００７６】
ステップＳ１５の次に、検索部２６は、選曲情報入力部２５から選曲情報が入力されたか否かを判定する（ステップＳ１６）。ユーザは、選曲情報入力部２５を用いて所望する楽曲の選曲情報を入力する。図１７は、楽曲検索装置２がもつ入力画面の一例を示す図である。図１７において、入力画面には、選曲情報リスト２５１、指定区間入力部２５２、および検索ボタン２５３が表示される。そして、ユーザは、選曲情報入力部２５を用いて選曲情報リスト２５１にある選曲情報の中から所望する選曲情報を選択する。また、ユーザは、選曲情報入力部２５を用いて指定区間入力部２５２で選曲したい曲の区間を指定する。その後、ユーザは検索ボタン２５３を押すことによって選曲情報を決定する。
【００７７】
ステップＳ１６の判定の結果、選曲情報が入力されていない場合、ステップＳ１１の処理に戻る。一方、ステップＳ１６の判定の結果、選曲情報が入力された場合、ステップＳ１７の処理が行われる。
【００７８】
ステップＳ１６の次に、検索部２６は、入力された選曲情報に対応する検索条件を特定する（ステップＳ１７）。ここで、入力された選曲情報に対応する検索条件を特定する方法としては、選曲ルール記憶部２４に記憶される選曲ルールに基づいて特定する方法がある。図１８は、選曲ルールの一例を示す図である。選曲ルール記憶部２４には、楽曲の検索を行うための選曲ルールが記憶される。図１８では、選曲ルールとして、選曲情報リスト２５１に表示された選曲情報と当該選曲情報に対応した検索条件とが予め設定される。すなわち図１８において、例えば「明るい」という選曲情報に対して検索条件は曲調情報としての調性がメジャーである楽曲データ、「やや楽しい」という選曲情報に対して検索条件は曲調情報としてのメジャーの占有率Ｒｍａｊが０．６〜０．８である楽曲データなどと設定されている。つまり、図１８に示す検索条件の例では、検索条件として曲調情報に基づいた条件を採用している。
【００７９】
なお、選曲ルール記憶部２４に記憶される選曲情報は、例えば「楽しい」「やや楽しい」「普通」「やや悲しい」「悲しい」を５段階に分類せずに「楽しい⇔悲しい」の度合いとしてもよい。このとき、選曲情報は、例えば「楽しい（１．０）⇔悲しい（０．０）」の度合いｓｘと設定される。また、検索条件は、例えばメジャー占有率Ｒｍａｊが度合いｓｘと誤差０．１以内である楽曲データと設定される。そして、ユーザは選曲情報入力部２５としてスライダーなどのバーを用いて選曲情報を入力する。
【００８０】
ステップＳ１７の次に、検索部２６は、ステップＳ１２で楽曲データ記憶部２３に記憶された楽曲データの中から、ステップＳ１７で特定された検索条件に基づいて楽曲の検索を行い、その条件に合致する楽曲の曲名を表示する（ステップＳ１８）。具体的には、検索部２６は、まず楽曲データ記憶部２３に記憶されている各楽曲の楽曲情報を参照し、ステップＳ１６で入力された指定区間に対応する区間についてのステップＳ１７で特定された検索条件が示す曲調情報を検出する。この指定区間内の楽曲情報から曲調情報を検出する方法は、第１の実施形態において曲調情報検出部１７が楽曲情報算出部１５で算出した楽曲情報を用いて曲調情報を検出する方法と同様の方法である。つまり、例えばステップＳ１６において、ユーザが「明るい」を選択し、［０．０−０．３］の区間を指定したとする。このとき検索条件は図１８に示すように、曲調情報としての調性［Ｔ＝＝Ｍａｊ］となる。したがって、検索部２６は、楽曲データ記憶部２３に記憶されている各楽曲の楽曲情報を参照し、指定区間［０．０−０．３］内の各楽曲情報に表される各区間の調から、上述した図４に示す調と調性との関係に基づいて、同じ調性を示す区間の長さをそれぞれ合計して区間の長さが長い方の調性をそれぞれ検出する。このようにして、検索部２６は、指定区間内において検索条件と合致する楽曲情報を検索する。つまり、上記の例で言えば、指定区間［０．０−０．３］内でメジャー［Ｍａｊ］となる調性の区間がマイナー［Ｍｉｎ］となる調性の区間よりも長い楽曲情報が検索条件と合致することとなる。ここで、楽曲データ記憶部２３において楽曲情報と楽曲データとが関連づけて記憶されている。したがって、検索部２６が検索条件と合致する楽曲情報を検索することで、検索条件と合致する楽曲が検索される。
【００８１】
また、ステップＳ１８において、表示された楽曲の曲名を再生する処理をさらに行ってもよい。また、ステップＳ１８において、検索条件に合致した指定区間に対応する区間のみを再生するようにしてもよい。
【００８２】
なお、上述のステップＳ１６では、ユーザは、選曲情報リスト２５１にある選曲情報を選択し、指定区間入力部２５２で選曲したい曲の区間を指定するとしたが、例えば選曲情報リスト２５１にある選曲情報のみを選択して楽曲を検索してもよい。この場合、検索部２６は、楽曲データ記憶部２３に記憶された楽曲全体の曲調情報に基づいて、特定された検索条件と合致する楽曲を検索する。このとき、楽曲データ記憶部２３に記憶された各楽曲の楽曲情報は検索部２６の検索には用いられないが、このような場合でも楽曲情報を有効活用することができる。つまり、各楽曲の楽曲情報を利用して、ステップＳ１８で検索された楽曲のうち、検索条件と合致した区間を区別して表示するようにする。例えば、選曲情報「明るい」が選択されたとき、検索条件は［Ｔ＝＝Ｍａｊ］となる。このとき、図１６の楽曲番号１のようにＲｍａｊ＝０．９３の曲、つまり全体の７％は暗い感じの曲が検索されることもある。仮にこの曲の最初の７％がマイナー［Ｍｉｎ］で、後半の９３％がメジャー［Ｍａｊ］であった場合、曲の頭から再生するとマイナー［Ｍｉｎ］の暗い感じ部分が再生されてしまう。これにより、ユーザには選曲情報「明るい」に合致しないように聴こえてしまうこともある。そこで、楽曲情報を用いて選曲条件［Ｔ＝＝Ｍａｊ］に一致する区間を区別できるようにユーザに対して表示する。これにより、その楽曲中の「明るい」区間をユーザに把握させることができ、ユーザに対して選曲情報「明るい」に合致しないように聴こえてしまうという違和感を軽減させることができる。
【００８３】
また、以上の説明では、ユーザは、選曲情報を入力することによって、検索に用いる検索条件を特定した。ここで、他の実施形態においては、ユーザは、検索条件を直接入力することによって特定してもよい。例えば、選曲情報入力部２５においてユーザは、「調がＣ」や「メジャー」という条件や指定区間、またはこれらの条件を複数組み合わせた条件を入力する。このとき、検索部２６は、楽曲データ記憶部２３に記憶された楽曲情報および楽曲全体の曲調情報を用いて、ユーザが入力した検索条件に合致する楽曲の検索を行い、検索条件に合致する楽曲の曲名や検索条件に合致する区間を表示する。その結果、ユーザは予め設定された選曲ルールによる検索条件ではなく、検索条件を自由に入力して楽曲の検索を行うことができる。
【００８４】
ステップＳ１８の次に、ユーザが楽曲検索装置２の処理を終了するか否かを選択する（ステップＳ１９）。当該処理を終了しない場合は、ステップＳ１１に戻る。以上の処理を入力される楽曲データ毎に行う。
【００８５】
以上のように、本実施形態に係る楽曲検索装置２によって、ユーザは楽曲の楽曲情報や楽曲全体の曲調情報に基づいて楽曲を検索し、検索条件に合致した楽曲や、その楽曲中において検索条件に合致した区間を見つけることが可能となる。
【００８６】
なお、上述のステップＳ１５において楽曲データ記憶部２３には、楽曲情報と、荷重度の組、調、調性占有率、調性およびスケールなどの楽曲全体の曲調情報とが記憶されるとしたが、全ての情報が記憶される必要はない。選曲情報や検索条件に合わせて必要な情報のみ記憶されればよい。
【００８７】
なお、第１および第２の実施形態で説明した楽曲処理装置（楽曲情報算出装置１および楽曲検索装置２）は集積回路で構成されてもよい。例えば、第１の実施形態においては、出現確率算出部１２、荷重度算出部１４、および楽曲情報算出部１５が集積回路で構成されてもよい。このとき集積回路は、楽曲、テンプレート記憶部１３に記憶されているテンプレート、および入替情報記憶部１６に記憶されている入替情報を入力する入力端子と、楽曲情報算出部１５で算出した楽曲情報、および楽曲情報算出部１５の算出処理において発生する区間の入替情報を出力する出力端子とを備える。また、第２の実施形態においては、出現確率算出部１２、荷重度算出部１４、楽曲情報算出部１５、曲調情報検出部１７、音階データ変換部２２、および検索部２６が集積回路で構成されてもよい。このとき集積回路は、楽曲、テンプレート記憶部１３に記憶されているテンプレート、選曲ルール、選曲情報、楽曲データ記憶部２３に記憶された楽曲データ、楽曲データ記憶部２３に記憶された楽曲情報および曲調情報、および入替情報記憶部１６に記憶されている入替情報を入力する入力端子を備える。また、集積回路は、楽曲情報算出部１５で算出した楽曲情報、楽曲情報算出部１５の算出処理において発生する区間の入替情報、曲調情報検出部１７で検出された曲調情報、および検索部２６で検索した結果を出力する出力端子とを備える。なお、データなどを記憶する構成部（例えばテンプレート記憶部１３や入替情報記憶部１６など）については、記憶部を備える集積回路であれば、当該記憶部に適宜記憶させ、集積回路の一部として構成するようにしてもよい。
【産業上の利用可能性】
【００８８】
本発明に係る楽曲情報算出装置は、算出した楽曲情報を用いて楽曲の検索を行う楽曲検索装置、ジュークボックスおよびオーディオプレーヤーなどの用途にも適用できる。
【図面の簡単な説明】
【００８９】
【図１】本発明の第１の実施形態に係る楽曲情報算出装置１を示すブロック図
【図２】音階情報入力部１１に入力される楽曲の音階情報の一例を示す図
【図３】各音名に関する出現確率の分布を概念的に示す図
【図４】２４種類のテンプレートと当該各テンプレートについての荷重度の算出結果の一例を示す図
【図５】第１の実施形態に係る楽曲情報算出装置１の処理の流れを表すフローチャートを示す図
【図６】楽曲情報を算出する処理の流れを示すフローチャート
【図７】楽曲情報を算出する処理の一部における各楽曲のデータを模式的に示した図
【図８】入替情報記憶部１６に記憶される情報の一例を示す図
【図９】ステップＳ５１４の処理を模式的に示した図
【図１０】楽曲情報が調毎に異なる模様で表示されたラベルの例を示す図
【図１１】２４種類の調とスケールとの関係の一例を示す図
【図１２】楽曲情報算出装置１に曲調情報検出部１７をさらに設けた構成を示すブロック図
【図１３】楽曲情報算出装置１がコンピュータシステム１００によって実現される構成例を示すブロック図
【図１４】本発明の第２の実施形態に係る楽曲検索装置２を示すブロック図
【図１５】第２の実施形態に係る楽曲検索装置２の処理の流れを表すフローチャートを示す図
【図１６】楽曲データ記憶部２３に記憶されるデータの一例を示す図
【図１７】選曲情報入力部２５の入力画面の一例を示す図
【図１８】選曲ルールの一例を示す図
【符号の説明】
【００９０】
１  楽曲情報算出装置
１１  音階情報入力部
１２  出現確率算出部
１３  テンプレート記憶部
１４  荷重度算出部
１５  楽曲情報算出部
１６  入替情報記憶部
１７  曲調情報検出部
１００  コンピュータシステム
１１０  演算処理部
１２０  記憶部
１３０  ディスクドライブ装置
１４０  記録媒体
２  楽曲検索装置
２１  楽曲入力部
２２  音階データ変換部
２３  楽曲データ記憶部
２４  選曲ルール記憶部
２５  選曲情報入力部
２６  検索部
【図１】
2007156187.tif 000003
【図２】
2007156187.tif 000004
【図３】
2007156187.tif 000005
【図４】
2007156187.tif 000006
【図５】
2007156187.tif 000007
【図６】
2007156187.tif 000008
【図７】
2007156187.tif 000009
【図８】
2007156187.tif 000010
【図９】
2007156187.tif 000011
【図１０】
2007156187.tif 000012
【図１１】
2007156187.tif 000013
【図１２】
2007156187.tif 000014
【図１３】
2007156187.tif 000015
【図１４】
2007156187.tif 000016
【図１５】
2007156187.tif 000017
【図１６】
2007156187.tif 000018
【図１７】
2007156187.tif 000019
【図１８】
2007156187.tif 000020