(57)【要約】【課題】精度良くメロディーライン（又はベースライン）を抽出することが可能な情報処理装置、及びメロディーライン抽出方法（又はベースライン抽出方法）を提供すること。【解決手段】音声信号を音程毎の信号強度を表す音程信号に変換する信号変換部と、前記音程信号の各音程がメロディー音である確率を推定するメロディー確率推定部と、前記メロディー確率推定部でフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定部と、を備える、情報処理装置が提供される。【選択図】図２
2010134290.tif 000002
【特許請求の範囲】
【請求項１】
音声信号を音程毎の信号強度を表す音程信号に変換する信号変換部と、
前記音程信号から各音程がメロディー音である確率をフレーム毎に推定するメロディー確率推定部と、
前記メロディー確率推定部でフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定部と、
を備える、情報処理装置。
【請求項２】
前記音声信号がステレオ信号である場合に当該ステレオ信号からセンター信号を抽出するセンター抽出部をさらに備え、
前記信号変換部は、前記センター抽出部で抽出されたセンター信号を前記音程信号に変換する、請求項１に記載の情報処理装置。
【請求項３】
前記音声信号を所定の分類項目に分類する信号分類部をさらに備え、
前記メロディー確率推定部は、前記信号分類部の分類結果に基づいて前記各音程がメロディー音である確率を推定し、
前記メロディーライン決定部は、前記信号分類部の分類結果に基づいて前記最尤経路を検出する、請求項１に記載の情報処理装置。
【請求項４】
前記音程信号について、一定間隔毎にメロディー音である音程の分布を推定する音程分布推定部をさらに備え、
前記メロディーライン決定部は、前記音程分布推定部の推定結果に基づいて前記最尤経路を検出する、請求項３に記載の情報処理装置。
【請求項５】
前記メロディーライン決定部で決定されたメロディーラインの音程をビート区間毎に平滑化する平滑化部をさらに備える、請求項４に記載の情報処理装置。
【請求項６】
前記メロディー確率推定部は、任意の音声信号が持つ特徴量を抽出する計算式を複数の音声信号及び当該各音声信号の前記特徴量を用いて自動生成することが可能な計算式生成装置に対してメロディーラインが既知の音声信号と当該メロディーラインとを複数与えて前記メロディー音である確率を抽出するための計算式を生成し、当該計算式を用いて前記各音程がメロディー音である確率をフレーム毎に推定する、請求項１に記載の情報処理装置。
【請求項７】
前記音声信号の各ビート区間を検出するビート検出部と、
前記ビート検出部で検出されたビート区間毎に各コードが演奏されている確率を検出するコード確率検出部と、
前記コード確率検出部でビート区間毎に検出された前記各コードが演奏されている確率を用いて前記音声信号のキーを検出するキー検出部と、
をさらに備え、
前記メロディーライン決定部は、前記キー検出部で検出されたキーに基づいて前記最尤経路を検出する、請求項５に記載の情報処理装置。
【請求項８】
音声信号を音程毎の信号強度を表す音程信号に変換する信号変換部と、
前記音程信号から各音程がベース音である確率をフレーム毎に推定するベース確率推定部と、
前記ベース確率推定部でフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定部と、
を備える、情報処理装置。
【請求項９】
情報処理装置が、
音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、
前記音程信号から各音程がメロディー音である確率をフレーム毎に推定するメロディー確率推定ステップと、
前記メロディー確率推定ステップでフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定ステップと、
を含む、メロディーライン抽出方法。
【請求項１０】
情報処理装置が、
音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、
前記音程信号から各音程がベース音である確率をフレーム毎に推定するベース確率推定ステップと、
前記ベース確率推定ステップでフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定ステップと、
を含む、ベースライン抽出方法。
【請求項１１】
音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、
前記音程信号から各音程がメロディー音である確率をフレーム毎に推定するメロディー確率推定ステップと、
前記メロディー確率推定ステップでフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定ステップと、
をコンピュータに実行させるためのプログラム。
【請求項１２】
音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、
前記音程信号から各音程がベース音である確率をフレーム毎に推定するベース確率推定ステップと、
前記ベース確率推定ステップでフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、メロディーライン抽出方法、ベースライン抽出方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、任意の楽曲データから、その楽曲データに固有の特徴量を抽出する技術に注目が集まっている。ここで対象とする固有の特徴量には、例えば、その楽曲の明るさ、ビート、メロディー音、ベース音、コード進行等が含まれる。しかしながら、これらの特徴量を楽曲データから直接的に抽出するのは非常に難しい。楽曲データからメロディー音及びベース音を抽出する技術に関し、例えば、下記の特許文献１及び２には、音声や複数種類の楽器音を同時に含む音響信号から、メロディー音やベース音の音高を推定する技術が開示されている。特に、同文献に記載された技術は、ＥＭ（Ｅｘｐｅｃｔａｔｉｏｎ−Ｍａｘｉｍｉｚａｔｉｏｎ）アルゴリズムを利用してメロディー音やベース音の音高を推定するというものである。
【０００３】
【特許文献１】特開２００８−２０９５７９号公報
【特許文献２】特開２００８−  ５８７５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の各文献に記載の技術を用いたとしても、楽曲データからメロディーラインやベースラインを精度良く抽出するのは非常に困難であった。そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、楽曲データからメロディーライン又はベースラインを精度良く抽出することが可能な、新規かつ改良された情報処理装置、メロディーライン／ベースライン抽出方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある観点によれば、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換部と、前記音程信号から各音程がメロディー音である確率をフレーム毎に推定するメロディー確率推定部と、前記メロディー確率推定部でフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定部と、を備える、情報処理装置が提供される。
【０００６】
また、上記の情報処理装置は、前記音声信号がステレオ信号である場合に当該ステレオ信号からセンター信号を抽出するセンター抽出部をさらに備えていてもよい。この場合、前記信号変換部は、前記センター抽出部で抽出されたセンター信号を前記音程信号に変換する。
【０００７】
また、上記の情報処理装置は、前記音声信号を所定の分類項目に分類する信号分類部をさらに備えていてもよい。この場合、前記メロディー確率推定部は、前記信号分類部の分類結果に基づいて前記各音程がメロディー音である確率を推定する。そして、前記メロディーライン決定部は、前記信号分類部の分類結果に基づいて前記最尤経路を検出する。
【０００８】
また、上記の情報処理装置は、前記音程信号について、メロディー音である音程の期待値をフレーム毎に推定すると共に、メロディー音である音程の標準偏差を推定する音程分布推定部をさらに備えていてもよい。この場合、前記メロディーライン決定部は、前記音程分布推定部の推定結果に基づいて前記最尤経路を検出する。
【０００９】
また、上記の情報処理装置は、前記メロディーライン決定部で決定されたメロディーラインの音程をビート区間毎に平滑化する平滑化部をさらに備えていてもよい。
【００１０】
また、前記メロディー確率推定部は、任意の音声信号が持つ特徴量を抽出する計算式を複数の音声信号及び当該各音声信号の前記特徴量を用いて生成する計算式生成装置に対してメロディーラインが既知の音声信号と当該メロディーラインとを与えて前記メロディー音である確率を抽出するための計算式を生成し、当該計算式を用いて前記各音程がメロディー音である確率をフレーム毎に推定するように構成されていてもよい。
【００１１】
また、上記の情報処理装置は、前記音声信号の各ビート区間を検出するビート検出部と、前記ビート検出部で検出されたビート区間毎に各コードが演奏されている確率を検出するコード確率検出部と、前記コード確率検出部でビート区間毎に検出された前記各コードが演奏されている確率を用いて前記音声信号のキーを検出するキー検出部と、をさらに備えていてもよい。この場合、前記メロディーライン決定部は、前記キー検出部で検出されたキーに基づいて前記最尤経路を検出する。
【００１２】
また、上記課題を解決するために、本発明の別の観点によれば、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換部と、前記音程信号から各音程がベース音である確率をフレーム毎に推定するベース確率推定部と、前記ベース確率推定部でフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定部と、を備える、情報処理装置が提供される。
【００１３】
また、上記課題を解決するために、本発明の別の観点によれば、情報処理装置が、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、前記音程信号から各音程がメロディー音である確率をフレーム毎に推定するメロディー確率推定ステップと、前記メロディー確率推定ステップでフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定ステップと、を含む、メロディーライン抽出方法が提供される。
【００１４】
また、上記課題を解決するために、本発明の別の観点によれば、情報処理装置が、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、前記音程信号から各音程がベース音である確率を推定するベース確率推定ステップと、前記ベース確率推定ステップでフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定ステップと、を含む、ベースライン抽出方法が提供される。
【００１５】
また、上記課題を解決するために、本発明の別の観点によれば、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、前記音程信号から各音程がメロディー音である確率をフレーム毎に推定するメロディー確率推定ステップと、前記メロディー確率推定ステップでフレーム毎に推定された前記各音程がメロディー音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するメロディーライン決定ステップと、をコンピュータに実行させるためのプログラムが提供される。
【００１６】
また、上記課題を解決するために、本発明の別の観点によれば、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換ステップと、前記音程信号から各音程がベース音である確率をフレーム毎に推定するベース確率推定ステップと、前記ベース確率推定ステップでフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定ステップと、をコンピュータに実行させるためのプログラムが提供される。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、上記のプログラムが記録されたコンピュータにより読み取り可能な記録媒体が提供されうる。
【発明の効果】
【００１８】
以上説明したように本発明によれば、楽曲データからメロディーライン又はベースラインを精度良く抽出することが可能になる。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２０】
本稿には、以下の順序で説明が記載されている。
【００２１】
（説明項目）
１．基盤技術
１−１．特徴量計算式生成装置１０の構成例
２．実施形態
２−１．情報処理装置１００の全体構成
２−２．センター抽出部１０２の構成
２−３．ログスペクトル解析部１０４の構成
２−４．分類推定部１０６の構成
２−５．音程分布推定部１０８の構成
２−６．メロディー確率推定部１１０の構成
２−７．メロディーライン決定部１１２の構成
２−８．平滑化部１１４の構成
２−９．ビート検出部１１６、キー検出部１１８の構成
２−９−１．ビート検出部１１６の構成
２−９−２．コード確率検出部１２０の構成
２−９−３．キー検出部１１８の構成
２−１０．ハードウェア構成例
２−１１．まとめ
【００２２】
＜１．基盤技術＞
まず、本発明の一実施形態に係る技術について詳細な説明をするに先立ち、同実施形態の技術的構成を実現するために用いる基盤技術について簡単に説明する。ここで説明する基盤技術は、任意の入力データが持つ特徴を特徴量という形で定量化するアルゴリズムの自動生成方法に関する。入力データとしては、例えば、音声データの信号波形や画像に含まれる色毎の輝度データ等、種々のデータが用いられる。また、楽曲を例に挙げると、当該基盤技術を適用することにより、例えば、楽曲データの波形から、その楽曲の明るさやテンポの速さ等を表す特徴量を算出するためのアルゴリズムが自動生成される。なお、以下で述べる特徴量計算式生成装置１０の構成例に代えて、例えば、特開２００８−１２３０１１号公報に記載された学習アルゴリズムを代わりに利用することも可能である。
【００２３】
［１−１．特徴量計算式生成装置１０の構成例］
まず、図１を参照しながら、上記の基盤技術に係る特徴量計算式生成装置１０の機能構成について説明する。図１は、上記の基盤技術に係る特徴量計算式生成装置１０の一構成例を示す説明図である。ここで説明する特徴量計算式生成装置１０は、任意の入力データを用いて、その入力データに含まれる特徴を特徴量として定量化するアルゴリズム（以下、計算式）を自動生成する手段（学習アルゴリズム）の一例である。
【００２４】
図１に示すように、特徴量計算式生成装置１０は、主に、オペレータ記憶部１２と、抽出式生成部１４と、抽出式リスト生成部２０と、抽出式選択部２２と、計算式設定部２４とを有する。さらに、特徴量計算式生成装置１０は、計算式生成部２６と、特徴量選択部３２と、評価データ取得部３４と、教師データ取得部３６と、式評価部３８とを有する。なお、上記の抽出式生成部１４は、オペレータ選択部１６を含む。また、上記の計算式生成部２６は、抽出式計算部２８、及び係数算出部３０を含む。さらに、式評価部３８は、計算式評価部４０、及び抽出式評価部４２を含む。
【００２５】
まず、抽出式生成部１４は、オペレータ記憶部１２に記録されている複数のオペレータを組み合わせて計算式の元となる特徴量抽出式（以下、抽出式）を生成する。なお、ここで言うオペレータとは、入力データのデータ値に対して所定の演算処理を実行するために用いる演算子である。オペレータで実行される演算の種類には、例えば、微分値算出、最大値抽出、ローパスフィルタリング、普遍分散値算出、高速フーリエ変換、標準偏差値算出、平均値算出等が含まれる。もちろん、これら例示した種類の演算に限定されず、入力データのデータ値に対して実行可能な任意の種類の演算が含まれる。
【００２６】
また、各オペレータには、演算の種類、演算対象軸、及び演算に用いるパラメータが設定されている。演算対象軸とは、入力データの各データ値を定義する軸の中で、演算処理の対象とする軸を意味する。例えば、楽曲データを例に挙げると、楽曲データは、時間軸及び音程軸（周波数軸）で形成される空間内において音量の信号波形として与えられる。この楽曲データに対して微分演算を行う場合、時間軸方向に微分演算を行うのか、又は周波数軸方向に微分演算を行うのかを決定する必要がある。そこで、各パラメータには、入力データが定義される空間を形成する軸の中で演算処理の対象とする軸の情報が含まれる。
【００２７】
また、演算の種類によっては、パラメータが必要になる。例えば、ローパスフィルタリングの場合、透過させるデータ値の範囲を規定するための閾値がパラメータとして定められている必要がある。こうした理由から、各オペレータには、演算の種類の他に、演算対称軸、及び必要なパラメータが含まれている。例えば、あるオペレータは、Ｆ＃Ｄｉｆｆｅｒｅｎｔｉａｌ、Ｆ＃ＭａｘＩｎｄｅｘ、Ｔ＃ＬＰＦ＿１；０．８６１、Ｔ＃ＵＶａｒｉａｎｃｅ、…のように表現される。オペレータの先頭に付されるＦ等は、演算対象軸を表す。例えば、Ｆは周波数軸を意味し、Ｔは時間軸を意味する。
【００２８】
演算対称軸の次に＃で区切られて付されるＤｉｆｆｅｒｅｎｔｉａｌ等は、演算の種類を表す。例えば、Ｄｉｆｆｅｒｅｎｔｉａｌは微分値算出演算、ＭａｘＩｎｄｅｘは最大値抽出演算、ＬＰＦはローパスフィルタリング、ＵＶａｒｉａｎｃｅは普遍分散値算出演算を意味する。そして、演算の種類に続く数字はパラメータを表す。例えば、ＬＰＦ＿１；０．８６１は、１〜０．８６１の範囲を通過帯域とするローパスフィルタを表す。これらの多種多様なオペレータは、オペレータ記憶部１２に記録されており、抽出式生成部１４により読み出されて利用される。抽出式生成部１４は、まず、オペレータ選択部１６により任意のオペレータを選択し、選択したオペレータを組み合わせて抽出式を生成する。
【００２９】
例えば、オペレータ選択部１６によりＦ＃Ｄｉｆｆｅｒｅｎｔｉａｌ、Ｆ＃ＭａｘＩｎｄｅｘ、Ｔ＃ＬＰＦ＿１；０．８６１、Ｔ＃ＵＶａｒｉａｎｃｅが選択され、抽出式生成部１４により下記の式（１）で表現される抽出式ｆが生成される。但し、先頭に付された１２Ｔｏｎｅｓは、処理対象とする入力データの種類を示すものである。例えば、１２Ｔｏｎｅｓと表記されている場合、入力データの波形を解析して得られる時間−音程空間上の信号データ（後述するログスペクトル）が演算処理の対象とされる。つまり、下記の式（１）で表現される抽出式は、後述するログスペクトルを処理対象とし、入力データに対して、周波数軸方向（音程軸方向）に微分演算及び最大値抽出、時間軸方向にローパスフィルタリング及び普遍分散値演算を順次実行することを表している。
【００３０】
【数１】
2010134290.tif 000003
…（１）
【００３１】
上記の通り、抽出式生成部１４は、上記の式（１）に示したような抽出式を様々なオペレータの組み合わせについて生成する。この生成方法について、より詳細に説明する。まず、抽出式生成部１４は、オペレータ選択部１６を用いてオペレータを選択する。このとき、オペレータ選択部１６は、選択したオペレータの組み合わせ（抽出式）で入力データに演算を施した結果がスカラ又は所定サイズ以下のベクトルになるか否か（収束するか否か）を判定する。
【００３２】
なお、上記の判定処理は、各オペレータに含まれる演算対象軸の種類及び演算の種類に基づいて行われる。この判定処理は、オペレータ選択部１６によりオペレータの組み合わせが選択された際、各組み合わせについて実行される。そして、オペレータ選択部１６により演算結果が収束すると判定された場合、抽出式生成部１４は、オペレータ選択部１６で選択されたオペレータの組み合わせを用いて抽出式を生成する。抽出式生成部１４による抽出式の生成処理は、所定数（以下、選択抽出式数）の抽出式が生成されるまで実行される。抽出式生成部１４で生成された抽出式は、抽出式リスト生成部２０に入力される。
【００３３】
抽出式生成部１４から抽出式リスト生成部２０に抽出式が入力されると、入力された抽出式から所定数（以下、リスト内抽出式数≦選択抽出式数）の抽出式が選択されて抽出式リストが生成される。このとき、抽出式リスト生成部２０による生成処理は、所定数（以下、リスト数）の抽出式リストが生成されるまで実行される。そして、抽出式リスト生成部２０で生成された抽出式リストは、抽出式選択部２２に入力される。
【００３４】
ここで、抽出式生成部１４、及び抽出式リスト生成部２０の処理に関して具体的な例を示す。まず、抽出式生成部１４により入力データの種類が、例えば、楽曲データに決定される。次いで、オペレータ選択部１６によりオペレータＯＰ１、ＯＰ２、ＯＰ３、ＯＰ４がランダムに選択される。そして、選択されたオペレータの組み合わせで楽曲データの演算結果が収束するか否かの判定処理が実行される。楽曲データの演算結果が収束すると判定された場合、ＯＰ１〜ＯＰ４の組み合わせで抽出式ｆ１が生成される。抽出式生成部１４で生成された抽出式ｆ１は、抽出式リスト生成部２０に入力される。
【００３５】
さらに、抽出式生成部１４は、抽出式ｆ１の生成処理と同様の処理を繰り返し、例えば、抽出式ｆ２、ｆ３、ｆ４を生成する。このようにして生成された抽出式ｆ２、ｆ３、ｆ４は、抽出式リスト生成部２０に入力される。抽出式ｆ１、ｆ２、ｆ３、ｆ４が入力されると、抽出式リスト生成部２０は、例えば、抽出式リストＬ１＝｛ｆ１，ｆ２、ｆ４｝、Ｌ２＝｛ｆ１、ｆ３，ｆ４｝を生成する。抽出式リスト生成部２０で生成された抽出式リストＬ１、Ｌ２は、抽出式選択部２２に入力される。以上、具体例を挙げて説明したように、抽出式生成部１４により抽出式が生成され、抽出式リスト生成部２０により抽出式リストが生成されて、抽出式選択部２２に入力される。但し、上記の例では、選択抽出式数＝４、リスト内抽出式数＝３、リスト数＝２の場合を示したが、実際には非常に多数の抽出式、及び抽出式リストが生成される点に注意されたい。
【００３６】
さて、抽出式リスト生成部２０から抽出式リストが入力されると、抽出式選択部２２は、入力された抽出式リストの中で、後述する計算式に組み込むべき抽出式を選択する。例えば、上記の抽出式リストＬ１の中で抽出式ｆ１、ｆ４を計算式に組み込む場合、抽出式選択部２２は、抽出式リストＬ１について抽出式ｆ１、ｆ４を選択する。抽出式選択部２２は、各抽出式リストについて上記の選択処理を実行する。そして、選択処理が完了すると、抽出式選択部２２による選択処理の結果、及び各抽出式リストは、計算式設定部２４に入力される。
【００３７】
抽出式選択部２２から選択結果及び各抽出式リストが入力されると、計算式設定部２４は、抽出式選択部２２の選択結果を考慮して各抽出式リストに対応する計算式を設定する。例えば、計算式設定部２４は、下記の式（２）に示すように、各抽出式リストＬｍ＝｛ｆ１，…，ｆＫ｝に含まれる抽出式ｆｋを線形結合して計算式Ｆｍを設定する。但し、ｍ＝１、…、Ｍ（Ｍはリスト数）、ｋ＝１、…、Ｋ（Ｋはリスト内抽出式数）、Ｂ０、…、ＢＫは結合係数である。
【００３８】
【数２】
2010134290.tif 000004
…（２）
【００３９】
なお、計算式Ｆｍを抽出式ｆｋ（ｋ＝１〜Ｋ）の非線形関数に設定することも可能である。但し、計算式設定部２４で設定される計算式Ｆｍの関数形は、後述する計算式生成部２６で用いられる結合係数の推定アルゴリズムに依存する。従って、計算式設定部２４は、計算式生成部２６で利用可能な推定アルゴリズムに応じて計算式Ｆｍの関数形を設定するように構成される。例えば、計算式設定部２４は、入力データの種類に応じて関数形を変えるように構成されていてもよい。但し、本稿においては、説明の都合上、上記の式（２）で表現される線形結合を用いることにする。さて、計算式設定部２４により設定された計算式の情報は、計算式生成部２６に入力される。
【００４０】
また、計算式生成部２６には、計算式で算出したい特徴量の種類が特徴量選択部３２から入力される。なお、特徴量選択部３２は、計算式で算出したい特徴量の種類を選択するための手段である。さらに、計算式生成部２６には、評価データ取得部３４から入力データの種類に対応する評価データが入力される。例えば、入力データの種類が楽曲である場合、複数の楽曲データが評価データとして入力される。また、計算式生成部２６には、教師データ取得部３６から各評価データに対応する教師データが入力される。ここで言う教師データとは、各評価データの特徴量である。特に、特徴量選択部３２が選択した種類の教師データが計算式生成部２６に入力される。例えば、入力データが楽曲データであり、特徴量の種類がテンポである場合、各評価データの正解テンポ値が教師データとして計算式生成部２６に入力される。
【００４１】
評価データ、教師データ、特徴量の種類、計算式等が入力されると、計算式生成部２６は、まず、抽出式計算部２８によって計算式Ｆｍに含まれる抽出式ｆ１、…、ｆＫに各評価データを入力して各抽出式による計算結果（以下、抽出式計算結果）を求める。抽出式計算部２８により各評価データに関する各抽出式の抽出式計算結果が算出されると、抽出式計算部２８から係数算出部３０に各抽出式計算結果が入力される。係数算出部３０は、各評価データに対応する教師データ、及び入力された抽出式計算結果を利用し、上記の式（２）においてＢ０、…、ＢＫで表現された結合係数を算出する。例えば、最小二乗法等を用いて係数Ｂ０、…、ＢＫを決定することができる。このとき、係数算出部３０は、平均二乗誤差等の評価値を共に算出する。
【００４２】
なお、抽出式計算結果、結合係数、及び平均二乗誤差等は特徴量の種類毎にリスト数分だけ算出される。そして、抽出式計算部２８で算出された抽出式計算結果、係数算出部３０で算出された結合係数、及び平均二乗誤差等の評価値は、式評価部３８に入力される。これらの算出結果が入力されると、式評価部３８は、入力された算出結果を用いて各計算式の良否を判定するための評価値を算出する。上記の通り、各計算式を構成する抽出式及び抽出式を構成するオペレータを決定する処理においてランダムな選択処理が含まれている。つまり、これらの決定処理において最適な抽出式及び最適なオペレータが選択されたか否かについて不確定要素が含まれている。そこで、算出結果を評価し、必要に応じて再計算又は計算結果の修正をするために、式評価部３８により評価が行われる。
【００４３】
図１に示す式評価部３８には、各計算式の評価値を算出する計算式評価部４０と、各抽出式の寄与度を算出する抽出式評価部４２とが設けられている。計算式評価部４０は、各計算式を評価するために、例えば、ＡＩＣ又はＢＩＣと呼ばれる評価方法を用いる。ここで言うＡＩＣとは、Ａｋａｉｋｅ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎの略である。一方、ＢＩＣとは、Ｂａｙｅｓｉａｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｃｒｉｔｅｒｉｏｎの略である。ＡＩＣを用いる場合、各計算式の評価値は、各計算式に対する平均二乗誤差及び教師データの数（以下、教師数）を用いて算出される。例えば、この評価値は、下記の式（３）で表現される値（ＡＩＣ）に基づいて算出される。
【００４４】
【数３】
2010134290.tif 000005
…（３）
【００４５】
上記の式（３）では、ＡＩＣが小さいほど計算式の精度が高いことを意味する。従って、ＡＩＣを用いる場合の評価値は、ＡＩＣが小さいほど大きくなるように設定される。例えば、その評価値は、上記の式（３）で表現されるＡＩＣの逆数で算出される。なお、計算式評価部４０においては、特徴量の種類数分だけ評価値が算出される。そこで、計算式評価部４０は、各計算式について特徴量の種類に関する平均演算を行い、平均評価値を算出する。つまり、この段階で各計算式の平均評価値が算出される。計算式評価部４０で算出された平均評価値は、計算式の評価結果として抽出式リスト生成部２０に入力される。
【００４６】
一方、抽出式評価部４２は、抽出式計算結果、及び結合係数に基づいて各計算式における各抽出式の寄与率を評価値として算出する。例えば、抽出式評価部４２は、下記の式（４）に従って寄与率を算出する。なお、抽出式ｆｋの抽出式計算結果に対する標準偏差は、各評価データについて算出された抽出式計算結果から得られるものである。下記の式（４）に従って抽出式評価部４２により計算式毎に算出された各抽出式の寄与率は、抽出式の評価結果として抽出式リスト生成部２０に入力される。
【００４７】
【数４】
2010134290.tif 000006
…（４）
【００４８】
但し、ＳｔＤｅｖ（…）は標準偏差を表す。また、推定対象の特徴量とは、楽曲のテンポ等である。例えば、１００曲のログスペクトルが評価データとして、各曲のテンポが教師データとして与えられる場合、ＳｔＤｅｖ（推定対象の特徴量）は、１００曲のテンポの標準偏差を表す。また、上記の式（４）に含まれるＰｅａｒｓｏｎ（…）は相関関数を表す。例えば、Ｐｅａｒｓｏｎ（ｆｋの計算結果，推定対象の特徴量）は、ｆｋの計算結果と推定対象の特徴量との間の相関係数を算出するための相関関数を表す。なお、ここでは特徴量として楽曲のテンポを例示したが、推定対象となる特徴量はこれに限定されない。
【００４９】
このようにして式評価部３８から抽出式リスト生成部２０に評価結果が入力されると、新たな計算式の構築に用いる抽出式リストが生成される。まず、抽出式リスト生成部２０は、計算式評価部４０で算出された平均評価値が高い順に所定数の計算式を選択し、選択した計算式に対応する抽出式リストを新たな抽出式リストに設定する（選択）。また、抽出式リスト生成部２０は、計算式評価部４０で算出された平均評価値が高い順に重み付けしながら２つの計算式を選択し、当該計算式に対応する抽出式リストの抽出式を組み合わせて新たな抽出式リストを生成する（交差）。また、抽出式リスト生成部２０は、計算式評価部４０で算出された平均評価値が高い順に重み付けしながら１つの計算式を選択し、その計算式に対応する抽出式リストの抽出式を一部変更して新たな抽出式リストを生成する（突然変異）。また、抽出式リスト生成部２０は、ランダムに抽出式を選択して新たな抽出式リストを生成する。
【００５０】
なお、上記の交差においては、寄与率の低い抽出式ほど選択されにくく設定される方が好ましい。また、上記の突然変異においては、寄与率の低い抽出式ほど変更されやすく設定される方が好ましい。このようにして新たに生成又は設定された抽出式リストを用いて、抽出式選択部２２、計算式設定部２４、計算式生成部２６、及び式評価部３８による処理が再び実行される。これら一連の処理は、式評価部３８による評価結果の向上度合いがある程度収束するまで繰り返し実行される。そして、式評価部３８による評価結果の向上度合いがある程度収束すると、その時点の計算式が算出結果として出力される。ここで出力された計算式を用いることで、上記の評価データとは異なる任意の入力データから、その入力データが持つ所望の特徴を表す特徴量が精度良く算出される。
【００５１】
上記のように、特徴量計算式生成装置１０の処理は、交差や突然変異等の要素を考慮して世代交代を進めながら繰り返し処理を実行する遺伝的アルゴリズムに基づいている。この遺伝的アルゴリズムを用いることで、精度良く特徴量を推定することが可能な算出式が得られる。但し、後述する実施形態においては、例えば、遺伝的アルゴリズムよりも簡略化された方法で計算式を算出する学習アルゴリズムを用いることができる。例えば、抽出式リスト生成部２０において上記の選択、交差、突然変異等の処理を行う代わりに、抽出式選択部２２において抽出式の使用／未使用の組み合わせを変えつつ、計算式評価部４０の評価値が最も高い組み合わせを選択する方法が考えられる。この場合には、抽出式評価部４２の構成を省略することができる。また、演算負荷及び所望する推定精度に応じて適宜構成を変更することが可能である。
【００５２】
＜２．実施形態＞
以下、本発明の一実施形態について説明する。本実施形態は、Ｗａｖデータ等で提供される楽曲データから、その楽曲のメロディーラインを自動抽出する技術に関する。特に、本実施形態においては、メロディーラインの抽出精度を向上させる技術が提案される。例えば、同技術によると、メロディー以外の他の楽器の音程を間違ってメロディーと検出する誤検出の頻度を低減させることができる。また、ビブラート等の影響により本来のメロディーから半音ずれた音程をメロディーであると誤検出する頻度を低減させることができる。さらに、異なるオクターブの音程をメロディーであると誤検出する頻度を低減させることができる。なお、同技術は、楽曲データからベースラインを高精度に抽出する技術にも応用することができる。
【００５３】
［２−１．情報処理装置１００の全体構成］
まず、図２を参照しながら、本実施形態に係る情報処理装置１００の機能構成について説明する。図２は、本実施形態に係る情報処理装置１００の機能構成例を示す説明図である。なお、ここで説明する情報処理装置１００は、楽曲データからメロディーラインを抽出することが可能なメロディーライン抽出装置として機能するものである。以下、情報処理装置１００の全体構成について説明した後、各構成要素の詳細な構成について個々に説明する。
【００５４】
図２に示すように、情報処理装置１００は、センター抽出部１０２と、ログスペクトル解析部１０４と、分類推定部１０６と、音程分布推定部１０８と、メロディー確率推定部１１０とを有する。さらに、情報処理装置１００は、メロディーライン決定部１１２と、平滑化部１１４と、ビート検出部１１６と、キー検出部１１８と、コード確率検出部１２０とを有する。
【００５５】
また、図２に例示した情報処理装置１００には、特徴量計算式生成装置１０が含まれている。但し、特徴量計算式生成装置１０は、情報処理装置１００の内部に設けられていてもよいし、外部装置として情報処理装置１００に接続されていてもよい。以下の説明においては、説明の都合上、情報処理装置１００に特徴量計算式生成装置１０が内蔵されているものとする。また、情報処理装置１００は、特徴量計算式生成装置１０を設ける代わりに、特徴量の計算式を生成することが可能な各種の学習アルゴリズムを用いることも可能である。
【００５６】
全体的な処理の流れは次の通りである。まず、センター抽出部１０２に楽曲データが入力される。センター抽出部１０２では、楽曲データに含まれるステレオ成分のうち、センター成分だけが抽出される。そして、楽曲データのセンター成分は、ログスペクトル解析部１０４に入力される。ログスペクトル解析部１０４では、楽曲データのセンター成分が後述するログスペクトルに変換される。ログスペクトル解析部１０４から出力されるログスペクトルは、特徴量計算式生成装置１０、及びメロディー確率推定部１１０等に入力される。なお、ログスペクトルは、特徴量計算式生成装置１０、メロディー確率推定部１１０以外の構成要素においても利用されることがある。その場合、適宜、ログスペクトル解析部１０４から直接的又は間接的に各構成要素に対して所要のログスペクトルが提供される。
【００５７】
例えば、分類推定部１０６にログスペクトルが入力され、特徴量計算式生成装置１０を用いて当該ログスペクトルに対応する楽曲が所定の分類項目に分類される。また、音程分布推定部１０８にログスペクトルが入力され、特徴量計算式生成装置１０を用いて当該ログスペクトルからメロディーラインの分布確率が大まかに推定される。なお、メロディー確率推定部１１０では、入力されたログスペクトルから、当該ログスペクトルの各音程がメロディーラインである確率が推定される。このとき、分類推定部１０６で推定された楽曲の分類が考慮される。メロディー確率推定部１１０で推定されたメロディーラインの確率は、メロディーライン決定部１１２に入力される。そして、メロディーライン決定部１１２によりメロディーラインが決定される。決定されたメロディーラインは、平滑化部１１４でビート毎に平滑化されてから外部に出力される。
【００５８】
メロディーラインの抽出処理に関する大まかな流れは上記の通りである。但し、各構成要素における処理には、例えば、楽曲のビートやキー進行等が用いられる。そのため、ビート検出部１１６でビートが検出され、キー検出部１１８でキー進行が検出される。また、キー検出処理に用いられるコード確率（後述）は、コード確率検出部１２０で検出される。以下では、まず、ビート検出部１１６、キー検出部１１８、及びコード確率検出部１２０を除く各構成要素について詳細に説明し、楽曲データからメロディーラインを抽出するために中心的に用いられる機能について詳述する。その後、ビート検出部１１６、キー検出部１１８、及びコード確率検出部１２０の機能構成について詳細に説明する。
【００５９】
［２−２．センター抽出部１０２の構成例］
まず、センター抽出部１０２について説明する。センター抽出部１０２は、入力されたステレオ信号から、中央付近に定位する音源信号（以下、センター信号）を抽出する手段である。例えば、センター抽出部１０２は、センター信号と非中央付近に定位する音源信号（以下、非センター信号）との間の音量差を算出し、その算出結果に応じて非センター信号を抑圧する。但し、ここで言うセンター信号とは、チャネル間でレベル差及び位相差が小さい信号のことを意味する。
【００６０】
ここで、センター抽出部１０２の構成について、図３を参照しながら、より詳細に説明する。図３に示すように、センター抽出部１０２は、左チャネル帯域分割部１２２、右チャネル帯域分割部１２４、帯域通過フィルタ１２６、左チャネル帯域合成部１２８、及び右チャネル帯域合成部１３０で構成することができる。
【００６１】
まず、左チャネル帯域分割部１２２には、センター抽出部１０２に入力されるステレオ信号のうち、左チャネルの信号ｓＬが入力される。左チャネルの信号ｓＬには、左チャネルの非センター信号Ｌとセンター信号Ｃとが混在している。また、左チャネルの信号ｓＬは、時間の進行に伴って変化する音量レベルの信号である。そこで、左チャネル帯域分割部１２２は、入力された左チャネルの信号ｓＬにＤＦＴ処理を施し、時間領域の信号から周波数領域の信号（以下、マルチバンド信号ｆＬ（０），…，ｆＬ（Ｎ−１））へと変換する。但し、ｆＬ（ｋ）は、ｋ番目（ｋ＝０，…，Ｎ−１）の周波数帯に対応するサブバンド信号である。なお、上記のＤＦＴは、Ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍの略である。左チャネル帯域分割部１２２から出力された左チャネルのマルチバンド信号は、帯域通過フィルタ１２６に入力される。
【００６２】
同様に、右チャネル帯域分割部１２４には、センター抽出部１０２に入力されるステレオ信号のうち、右チャネルの信号ｓＲが入力される。右チャネルの信号ｓＲには、右チャネルの非センター信号Ｒとセンター信号Ｃとが混在している。また、右チャネルの信号ｓＲは、時間の進行に伴って変化する音量レベルの信号である。そこで、右チャネル帯域分割部１２４は、入力された右チャネルの信号ｓＲにＤＦＴ処理を施し、時間領域の信号から周波数領域の信号（以下、マルチバンド信号ｆＲ（０），…，ｆＲ（Ｎ−１））へと変換する。但し、ｆＲ（ｋ’）は、ｋ’番目（ｋ’＝０，…，Ｎ−１）の周波数帯に対応するサブバンド信号である。右チャネル帯域分割部１２４から出力された右チャネルのマルチバンド信号は、帯域通過フィルタ１２６に入力される。但し、各チャネルに対するマルチバンド信号の帯域分割数をＮ（例えば、Ｎ＝８１９２）とした。
【００６３】
上記の通り、帯域通過フィルタ１２６には、各チャネルのマルチバンド信号ｆＬ（ｋ）（ｋ＝０，…，Ｎ−１）、ｆＲ（ｋ’）（ｋ’＝０，…，Ｎ−１）が入力される。なお、以下の説明において、周波数が低い順にｋ＝０，…，Ｎ−１、又はｋ’＝０，…，Ｎ−１とラベル付けする。また、各信号成分ｆＬ（ｋ）及びｆＲ（ｋ’）のことをサブチャネル信号と呼ぶことにする。まず、帯域通過フィルタ１２６においては、両チャネルのマルチバンド信号から同じ周波数帯のサブチャネル信号ｆＬ（ｋ）、ｆＲ（ｋ’）（ｋ’＝ｋ）が選択され、両サブチャネル信号の類似度ａ（ｋ）が算出される。類似度ａ（ｋ）は、例えば、下記の式（５）及び式（６）に従って算出される。但し、サブチャネル信号には、振幅成分と位相成分とが含まれる。そのため、振幅成分の類似度をａｐ（ｋ）、位相成分の類似度をａｉ（ｋ）と表現している。
【００６４】
【数５】
2010134290.tif 000007
…（５）
2010134290.tif 000008
…（６）
【００６５】
但し、｜…｜は…の大きさを表す。θはｆＬ（ｋ）とｆＲ（ｋ）との間の位相差（０≦｜θ｜≦π）を表す。上付き＊は複素共役を表す。Ｒｅ［…］は…の実部を表す。上記の式（６）から明らかなように、振幅成分の類似度ａｐ（ｋ）は、サブチャネル信号ｆＬ（ｋ）、ｆＲ（ｋ）の大きさが一致する場合に１となる。逆に、サブチャネル信号ｆＬ（ｋ）、ｆＲ（ｋ）の大きさが一致しない場合、類似度ａｐ（ｋ）は１よりも小さな値となる。一方、位相成分の類似度ａｉ（ｋ）に関しては、位相差θが０のときに類似度ａｉ（ｋ）が１、位相差θがπ／２のときに類似度ａｉ（ｋ）が０、位相差θがπのときに類似度ａｉ（ｋ）が−１となる。つまり、位相成分の類似度ａｉ（ｋ）は、サブチャネル信号ｆＬ（ｋ）、ｆＲ（ｋ）の位相が一致した場合に１となり、サブチャネル信号ｆＬ（ｋ）、ｆＲ（ｋ）の位相が一致しない場合に１より小さな値となる。
【００６６】
上記の方法により各周波数帯ｋ（ｋ＝０，…，Ｎ−１）の類似度ａ（ｋ）が算出されると、帯域通過フィルタ１２６により、所定の閾値よりも小さい類似度ａｐ（ｑ）、ａｉ（ｑ）（０≦ｑ≦Ｎ−１）に対応する周波数帯ｑが抽出される。そして、帯域通過フィルタ１２６により抽出された周波数帯ｑのサブチャネル信号のみが左チャネル帯域合成部１２８又は右チャネル帯域合成部１３０に入力される。例えば、左チャネル帯域合成部１２８には、サブチャネル信号ｆＬ（ｑ）（ｑ＝ｑ０，…，ｑｎ−１）が入力される。そこで、左チャネル帯域合成部１２８は、帯域通過フィルタ１２６から入力されたサブチャネル信号ｆＬ（ｑ）（ｑ＝ｑ０，…，ｑｎ−１）に対してＩＤＦＴ処理を施し、周波数領域から時間領域へと変換する。但し、上記のＩＤＦＴは、Ｉｎｖｅｒｓｅ  ｄｉｓｃｒｅｔｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍの略である。
【００６７】
同様に、右チャネル帯域合成部１３０には、サブチャネル信号ｆＲ（ｑ）（ｑ＝ｑ０，…，ｑｎ−１）が入力される。そこで、右チャネル帯域合成部１３０は、帯域通過フィルタ１２６から入力されたサブチャネル信号ｆＲ（ｑ）（ｑ＝ｑ０，…，ｑｎ−１）に対してＩＤＦＴ処理を施し、周波数領域から時間領域へと変換する。左チャネル帯域合成部１２８からは、左チャネルの信号ｓＬに含まれていたセンター信号成分ｓＬ’が出力される。一方、右チャネル帯域合成部１３０からは、右チャネルの信号ｓＲに含まれていたセンター信号成分ｓＲ’が出力される。以上説明した方法により、センター抽出部１０２は、ステレオ信号からセンター信号を抽出する。そして、センター抽出部１０２で抽出されたセンター信号は、ログスペクトル解析部１０４に入力される（図２を参照）。
【００６８】
［２−３．ログスペクトル解析部１０４の構成例］
次に、ログスペクトル解析部１０４について説明する。ログスペクトル解析部１０４は、入力された音声信号を各音程の強度分布に変換する手段である。音声信号には、オクターブ毎に１２の音程（Ｃ、Ｃ＃、Ｄ、Ｄ＃、Ｅ、Ｆ、Ｆ＃、Ｇ、Ｇ＃、Ａ、Ａ＃、Ｂ）が含まれる。また、各音程の中心周波数は対数で分布する。例えば、音程Ａ３の中心周波数ｆＡ３を基準にすると、Ａ＃３の中心周波数はｆＡ＃３＝ｆＡ３＊２１／１２と表現される。同様に、音程Ｂ３の中心周波数ｆＢ３は、ｆＢ３＝ｆＡ＃３＊２１／１２と表現される。このように、隣り合う音程間で中心周波数の比は、１：２１／１２である。しかし、音声信号を扱う上で、音声信号を時間−周波数空間における信号強度分布として捉えると、周波数軸が対数軸となってしまい、音声信号に対する処理が複雑化してしまう。そこで、ログスペクトル解析部１０４は、音声信号を解析し、時間−周波数空間の信号から時間−音程空間の信号（以下、ログスペクトル）に変換する。
【００６９】
ここで、ログスペクトル解析部１０４の構成について、図４を参照しながら、より詳細に説明する。図４に示すように、ログスペクトル解析部１０４は、再標本化部１３２、オクターブ分割部１３４、及び複数のバンドパスフィルタバンク１３６（ＢＰＦＢ）で構成することができる。
【００７０】
まず、再標本化部１３２に音声信号が入力される。すると、再標本化部１３２は、入力される音声信号のサンプリング周波数（例えば、４４．１ｋＨｚ）を所定のサンプリング周波数に変換する。所定のサンプリング周波数としては、例えば、オクターブの境界に対応する周波数（以下、境界周波数）を基準とし、境界周波数を２のべき乗倍した周波数が用いられる。例えば、音声信号のサンプリング周波数は、オクターブ４とオクターブ５との間の境界周波数１０１６．７Ｈｚを基準とし、基準の２５倍のサンプリング周波数（３２５３４．７Ｈｚ）に変換される。このようにサンプリング周波数を変換することで、再標本化部１３２の後段で実施される帯域分割処理及びダウンサンプリング処理の結果として得られる最高及び最低周波数が、あるオクターブの最高及び最低周波数に一致する。その結果、音声信号から各音程の信号を抽出する処理を簡単化することができる。
【００７１】
さて、再標本化部１３２によりサンプリング周波数が変換された音声信号は、オクターブ分割部１３４に入力される。すると、オクターブ分割部１３４は、帯域分割処理とダウンサンプリング処理とを繰り返し実行することで、入力された音声信号をオクターブ毎に分割する。オクターブ分割部１３４で分割された各オクターブの信号は、オクターブ毎（Ｏ１、…、Ｏ８）に設けられたバンドパスフィルタバンク１３６（ＢＰＦＢ（Ｏ１）、…、ＢＰＦＢ（Ｏ８））に入力される。各バンドパスフィルタバンク１３６は、入力された各オクターブの音声信号から各音程の信号を抽出するために、１２の音程に対応する通過帯域を持つ１２の帯域通過フィルタで構成されている。例えば、オクターブ８のバンドパスフィルタバンク１３６（ＢＰＦＢ（Ｏ８））を通過することで、オクターブ８の音声信号から１２音程（Ｃ８、Ｃ＃８、Ｄ８、Ｄ＃８、Ｅ８、Ｆ８、Ｆ＃８、Ｇ８、Ｇ＃８、Ａ８、Ａ＃８、Ｂ８）の信号が抽出される。
【００７２】
各バンドパスフィルタバンク１３６から出力される信号により、各オクターブにおける１２音程の信号強度（以下、エネルギー）を表すログスペクトルが得られる。図５は、ログスペクトル解析部１０４から出力されるログスペクトルの一例を示す説明図である。
【００７３】
図５の縦軸（音程）を参照すると、入力された音声信号は７つのオクターブに分割され、さらに各オクターブは、“Ｃ”、“Ｃ＃”、“Ｄ”、“Ｄ＃”、“Ｅ”、“Ｆ”、“Ｆ＃”、“Ｇ”、“Ｇ＃”、“Ａ”、“Ａ＃”、“Ｂ”の１２の音程に分割されている。一方、図５の横軸（時間）は、音声信号が時間軸に沿ってサンプリングされた際のフレーム番号を表している。例えば、再標本化部１３２において音声信号がサンプリング周波数１２７．０８８８［Ｈｚ］で再サンプリングされた場合、１フレームは、１［ｓｅｃ］／１２７．０８８８＝７．８６８６［ｍｓｅｃ］に相当する時間間隔となる。また、図５に示したログスペクトルの色の濃淡は、各フレームにおける各音程のエネルギーの大きさを表す。例えば、位置Ｓ１が濃い色を示しており、位置Ｓ１に対応する時間に、位置Ｓ１に対応する音程（音程Ｆ）の音が強く発せられていることが分かる。なお、図５は、ある音声信号を入力信号としたときに得られるログスペクトルの一例である。従って、入力信号が異なれば、異なるログスペクトルが得られる。このようにして得られたログスペクトルは、分類推定部１０６に入力される（図２を参照）。
【００７４】
［２−４．分類推定部１０６の構成例］
次に、分類推定部１０６について説明する。分類推定部１０６は、楽曲の信号が入力された際に、その入力信号が属する楽曲の分類を推定する手段である。後述するように、各入力信号が属する楽曲の分類を考慮することで、後段で実施されるメロディーラインの検出処理において検出精度を高めることが可能になる。楽曲は、例えば、図６に示すように、「古い曲」「男性ボーカル、バックグラウンド（ＢＧ）大」「男性ボーカル、バックグラウンド（ＢＧ）小」「女性ボーカル、バックグラウンド（ＢＧ）大」等に分類される。例えば、「古い曲」は、録音時点における録音機器や音響設備の技術レベルが現在とは異なるため、音質が悪かったり、バックグラウンドの音量割合が小さいという特徴を持つ。その他の分類についても、分類毎に図６に示すような特徴が存在する。そこで、こうした楽曲の特徴毎に入力信号の分類が行われる。なお、楽曲の分類は、図６に例示したものに限定されない。例えば、声質等に基づいて、より細分化された分類を用いることも可能である。
【００７５】
さて、分類推定部１０６は、楽曲の分類を推定するために、図７に示すような処理を実行する。まず、分類推定部１０６は、評価データとして用いる複数の音声信号（曲１、…、曲４）をログスペクトル解析部１０４でログスペクトルに変換させる。そして、分類推定部１０６は、複数の音声信号（曲１、…、曲４）のログスペクトルを評価データとして特徴量計算式生成装置１０に入力する。また、評価データとして用いる各音声信号（曲１、…、曲４）の分類は、図７に示すように分類値（０又は１）として与えられている。但し、分類値０は非該当、分類値１は該当を表す。例えば、音声信号（曲１）は、分類「古い曲」「男性ボーカル、ＢＧ小」には該当せず、「男性ボーカル、ＢＧ大」に該当する。分類推定部１０６は、特徴量計算式生成装置１０を用いて、このような分類値を算出する推定アルゴリズム（計算式）を生成するのである。
【００７６】
そのため、分類推定部１０６は、特徴量計算式生成装置１０に対し、複数の音声信号（曲１、…、曲４）のログスペクトルを評価データとして入力すると共に、教師データとして各分類の分類値を入力する。従って、特徴量計算式生成装置１０には、評価データとして音声信号（曲１、…、曲４）のログスペクトル、及び教師データとして各音声信号に対する各分類の分類値が入力される。なお、各音声信号に対応する評価データには、１曲分のログスペクトルが用いられる。このような評価データ及び教師データが入力されると、特徴量計算式生成装置１０は、任意の音声信号のログスペクトルから各分類の分類値を算出する計算式ＧＡを分類毎に生成する。このとき、特徴量計算式生成装置１０は、最終的に出力された各計算式ＧＡの評価値（確率）を同時に出力する。
【００７７】
特徴量計算式生成装置１０で分類毎の計算式ＧＡが生成されると、分類推定部１０６は、実際に分類したい曲（以下、実施曲）の音声信号をログスペクトル解析部１０４でログスペクトルに変換させる。そして、分類推定部１０６は、特徴量計算式生成装置１０で生成された分類毎の計算式ＧＡに実施曲のログスペクトルを入力し、実施曲に対する各分類の分類値を算出する。各分類の分類値が算出されると、分類推定部１０６は、分類値が最も高い分類に実施曲を分類する。但し、分類推定部１０６は、分類の際に各計算式の確率を考慮するように構成されていてもよい。この場合、分類推定部１０６は、各分類に対応する計算式で算出された分類値と当該計算式の確率とを用いて、分類毎に実施曲が該当する確率（以下、該当確率）を算出する。そして、分類推定部１０６は、該当確率が最も高い分類に実施曲を割り振る。その結果、図７に例示するような分類結果が得られる。このようにして得られた分類結果は、音程分布推定部１０８、メロディー確率推定部１１０、及びメロディーライン決定部１１２に入力される（図２を参照）。
【００７８】
［２−５．音程分布推定部１０８の構成例］
次に、図８及び図９を参照しながら、音程分布推定部１０８の構成について説明する。音程分布推定部１０８は、メロディーラインの分布を自動推定する手段である。メロディーラインの分布は、経時変動するメロディーラインの各区間で算出される期待値及び曲全体で算出される標準偏差により表現される。このようなメロディーラインの分布をログスペクトルから推定するために、音程分布推定部１０８は、特徴量計算式生成装置１０を用いて各区間におけるメロディーラインの期待値を算出するための計算式を生成する。
【００７９】
まず、音程分布推定部１０８は、分類推定部１０６と同様に、複数の音声信号のログスペクトルを評価データとして特徴量計算式生成装置１０に入力する。さらに、音程分布推定部１０８は、教師データとして各音声信号の正解メロディーラインを区間毎に切り出し（図８を参照）、特徴量計算式生成装置１０に入力する。このようにして評価データ及び教師データが入力されると、特徴量計算式生成装置１０から各区間におけるメロディーラインの期待値を算出するための計算式が出力される。また、分類推定部１０６は、評価データとして用いた各音声信号のログスペクトルについて、計算式で算出される出力値と、教師データとして用いた正解メロディーラインとの間の誤差を算出する。さらに、分類推定部１０６は、取得した誤差を正規分布で近似してメロディーラインの標準偏差を算出する。音程分布推定部１０８で算出されたメロディーラインの期待値及び標準偏差で規定される範囲は、例えば、図９に示すグラフのように表現される。
【００８０】
このように、音程分布推定部１０８は、ログスペクトルの区間（時間断片）から当該区間のメロディーラインを推定する計算式を特徴量計算式生成装置１０により生成し、その計算式を用いてメロディーラインの分布を推定する。このとき、音程分布推定部１０８は、分類推定部１０６で推定された楽曲の分類毎に計算式を生成する。そして、音程分布推定部１０８は、時間を少しずつシフトさせながらログスペクトルの時間断片を切り出し、切り出したログスペクトルを計算式に入力してメロディーラインの期待値及び標準偏差を算出する。その結果、メロディーラインの区間毎にメロディーラインの推定値が算出される。このようにして音程分布推定部１０８で算出されたメロディーラインの推定値は、メロディーライン決定部１１２に入力される（図２を参照）。
【００８１】
［２−６．メロディー確率推定部１１０の構成例］
次に、図１０〜図１２を参照しながら、メロディー確率推定部１１０の構成について説明する。メロディー確率推定部１１０は、ログスペクトル解析部１０４から出力されるログスペクトルをメロディー確率に変換する手段である。例えば、メロディー確率推定部１１０は、図１０の（Ａ）に示すログスペクトルを同図（Ｂ）に示すメロディー確率分布に変換する。つまり、メロディー確率推定部１１０は、ログスペクトルに基づき、時間−音程空間の各座標位置におけるメロディー確率を算出する。なお、ここで言うメロディー確率は、各座標位置におけるログスペクトルの値がメロディーラインのものである確率を表している。まず、メロディー確率推定部１１０は、各座標位置のメロディー確率を推定するため、事前に正解メロディーラインが分かっている楽曲データのログスペクトルを用いてロジスティック回帰を行う。このロジスティック回帰により、ログスペクトルからメロディー確率を算出するための関数ｆが得られる。そして、メロディー確率推定部１１０は、求めた関数を用いて図１０（Ｂ）のようなメロディー確率分布を算出する。
【００８２】
ここで、図１１及び図１２を参照しながら、メロディー確率推定部１１０による上記の関数ｆの生成方法、及び関数ｆを用いたメロディー確率の算出方法について、より詳細に説明する。まず、図１１に示すように、メロディー確率推定部１１０は、ログスペクトルの値が定義される時間−音程空間上で、メロディー確率を推定しようとする座標位置（以下、推定位置）を基準として所定サイズの範囲（以下、参照範囲）を選択する。例えば、メロディー確率推定部１１０は、各推定位置を基準に、音程軸方向に−１２〜＋３６セミトーン分、時間軸方向に−２〜＋２フレーム分の参照範囲を選択する。図１１には、メロディー確率推定部１１０により選択された参照範囲の一例が模式的に示されている。この例においては、黒で塗り潰された座標位置が推定位置であり、その周囲のハッチング処理が施された部分が参照範囲である。
【００８３】
このようにして座標位置毎に参照範囲を選択すると、メロディー確率推定部１１０は、選択した参照範囲の各座標位置に対応するログスペクトル値（エネルギー）の対数値を算出する。さらに、メロディー確率推定部１１０は、算出した各座標位置に対応する対数値の参照範囲内における平均値が０になるように、各座標位置の対数値を正規化する。正規化後の対数値ｘ（図１１の例では、ｘ＝（ｘ１，…，ｘ２４５）；４９音程×５フレーム分）は、メロディー確率を推定する関数ｆ（ｘ）の生成処理に用いられる。関数ｆ（ｘ）の生成処理は、正解メロディーラインが事前に与えられている複数の楽曲データ（以下、学習用楽曲データ）を用いて実行される。まず、メロディー確率推定部１１０は、学習用楽曲データのログスペクトルを利用し、各推定位置について正規化後の対数値ｘ（以下、正規化対数値ｘ）を算出する。さらに、メロディー確率推定部１１０は、各参照範囲に正解メロディーラインが含まれるか否かを判定する。以下、参照範囲に正解メロディーラインが含まれる場合の判定結果をＴｒｕｅと表現し、含まれない場合の判定結果をＦａｌｓｅと表現することにする。
【００８４】
正規化対数値ｘ及び判定結果が得られると、メロディー確率推定部１１０は、これらの結果を利用し、「正規化対数値ｘが入力された場合に当該正規化対数値ｘに対応する参照範囲の判定結果がＴｒｕｅである確率を出力する関数ｆ（ｘ）」を生成する。メロディー確率推定部１１０は、例えば、ロジスティック回帰を用いることで関数ｆ（ｘ）を生成することができる。ロジスティック回帰とは、判定結果がＴｒｕｅ又はＦａｌｓｅになる確率のロジットが入力変数の線形結合で表現できるものと仮定して結合係数を回帰分析により算出する方法である。例えば、入力変数をｘ＝（ｘ１，…，ｘｎ）、判定結果がＴｒｕｅとなる確率をＰ（Ｔｒｕｅ）、結合係数をβ０，…，βｎと表現すると、ロジスティック回帰モデルは、下記の式（７）のように表現される。下記の式（７）を変形すると下記の式（８）のようになり、入力変数ｘから判定結果Ｔｒｕｅの確率Ｐ（Ｔｒｕｅ）を算出するための関数ｆ（ｘ）が求められる。
【００８５】
【数６】
2010134290.tif 000009
…（７）
2010134290.tif 000010
…（８）
【００８６】
そこで、メロディー確率推定部１１０は、学習用楽曲データから各参照範囲について得られた正規化対数値ｘ＝（ｘ１，…，ｘ２４５）、及び判定結果を上記の式（７）に入力し、結合係数β０，…，β２４５を算出する。このようにして結合係数β０，…，β２４５が決定されることで、正規化対数値ｘから判定結果がＴｒｕｅとなる確率Ｐ（Ｔｒｕｅ）を算出するための関数ｆ（ｘ）が得られる。但し、関数ｆ（ｘ）が０．０〜１．０の範囲で定義される確率であり、かつ、同じ時間で正解メロディーラインの音程が１つであるから、関数ｆ（ｘ）は、同じ時間で合計した値が１になるように正規化される。また、関数ｆ（ｘ）は、楽曲の分類毎に生成される方が好ましい。そこで、メロディー確率推定部１１０は、分類毎に与えられた学習用楽曲データを用いて各分類の関数ｆ（ｘ）を算出する。
【００８７】
このような方法で分類毎に関数ｆ（ｘ）を生成しておき、メロディー確率推定部１１０は、実施曲データのログスペクトルが入力された場合に、分類推定部１０６から入力された実施曲データの分類を考慮して関数ｆ（ｘ）を選択する。例えば、実施曲が「古い曲」に分類された場合、「古い曲」の学習用楽曲データから得られた関数ｆ（ｘ）が選択される。そして、メロディー確率推定部１１０は、実施曲データのログスペクトル値を正規化対数値ｘに変換した上で、選択した関数ｆ（ｘ）によりメロディー確率を算出する。時間−音程空間内の各座標位置についてメロディー確率推定部１１０によりメロディー確率が算出されると、図１０の（Ｂ）に示すようなメロディー確率分布が得られる。このようにして得られたメロディー確率分布は、メロディーライン決定部１１２に入力される（図２を参照）。
【００８８】
（関数ｆ（ｘ）生成処理の流れについて）
ここで、図１２を参照しながら、メロディー確率推定部１１０による関数ｆ（ｘ）の生成方法について、その処理の流れを簡単に纏めておくことにする。
【００８９】
図１２に示すように、まず、メロディー確率推定部１１０は、時間軸方向にループ処理を開始する（Ｓ１０２）。このとき、時間軸方向の推定位置を表す時間ｔ（フレーム番号ｔ）が設定される。次いで、メロディー確率推定部１１０は、音程軸方向にループ処理を開始する（Ｓ１０４）。このとき、音程軸方向の推定位置を表す音程ｏが設定される。次いで、メロディー確率推定部１１０は、ステップＳ１０２、Ｓ１０４において設定した時間ｔ、音程ｏで表される推定位置の参照範囲について、正規化対数値ｘを求める（Ｓ１０６）。例えば、推定位置（ｔ，ｏ）の周辺（ｔ−２〜ｔ＋２，ｏ−１２〜ｏ＋３６）が参照範囲に設定され、正規化対数値ｘ＝｛ｘ（ｔ＋Δｔ，ｏ＋Δｏ）；−２≦Δｔ≦２，−１２≦ｏ≦３６｝が算出される。次いで、メロディー確率推定部１１０は、事前に学習用楽曲データを用いて学習処理により求めた関するｆ（ｘ）を用いて時間ｔ、音程ｏのメロディー確率を算出する（Ｓ１０８）。
【００９０】
ステップＳ１０６、Ｓ１０８の処理により、時間ｔ、音程ｏで表される推定位置のメロディー確率が推定された。そこで、メロディー確率推定部１１０は、再びステップＳ１０４の処理に戻り（Ｓ１１０）、推定位置の音程ｏを１セミトーンだけインクリメントしてステップＳ１０６、Ｓ１０８の処理を繰り返す。メロディー確率推定部１１０は、推定位置の音程ｏを１セミトーンずつインクリメントしながら、所定の音程範囲（例えば、ｏ＝１２〜７２）についてステップＳ１０６、Ｓ１０８の処理を実行する。所定の音程範囲についてステップＳ１０６、Ｓ１０８の処理が実行された後、メロディー確率推定部１１０は、ステップＳ１１２の処理に進行する。
【００９１】
ステップＳ１１２において、メロディー確率推定部１１０は、時間ｔのメロディー確率の和が１になるように正規化する（Ｓ１１２）。つまり、ステップＳ１０２で設定された推定位置の時間ｔについて、所定の音程範囲について算出されたメロディー確率の和が１になるように、ステップＳ１１２で各音程ｏのメロディー確率が正規化される。次いで、メロディー確率推定部１１０は、再びステップＳ１０２の処理に戻り（Ｓ１１４）、推定位置の時間ｔを１フレームだけインクリメントしてステップＳ１０４〜Ｓ１１２の処理を繰り返す。メロディー確率推定部１１０は、推定位置の時間ｔを１フレームずつインクリメントしながら、所定の時間範囲（例えば、ｔ＝１〜Ｔ）についてステップＳ１０４〜Ｓ１１２の処理を実行する。所定の時間範囲についてステップＳ１０４〜Ｓ１１２の処理が実行された後、メロディー確率推定部１１０は、メロディー確率の推定処理を終了する。
【００９２】
［２−７．メロディーライン決定部１１２の構成例］
次に、図１３〜図１５を参照しながら、メロディーライン決定部１１２の構成について説明する。メロディーライン決定部１１２は、メロディー確率推定部１１０で推定されたメロディー確率、及び音程分布推定部１０８で推定されたメロディーラインの期待値や標準偏差等に基づいて尤もらしいメロディーラインを決定する手段である。尤もらしいメロディーラインを決定するために、メロディーライン決定部１１２は、時間−音程空間内でメロディー確率が高い経路の探索処理を実行する。ここで実行する経路探索には、音程分布推定部１０８で算出されたＰ（ｏ｜Ｗｔ）、及び、以下に示すような確率ｐ（Δｏ）、ｐ（ｎｔ｜ｎｔ−１）が用いられる。既に述べた通り、確率Ｐ（ｏ｜Ｗｔ）は、ある時刻ｔでメロディーが音程ｏをとる確率を表す。
【００９３】
まず、メロディーライン決定部１１２は、各楽曲データの正解メロディーラインにおいて変化量Δｏの音程遷移が出現する割合を算出する。多数の楽曲データで各音程遷移Δｏの出現割合を算出すると、メロディーライン決定部１１２は、各音程遷移Δｏについて、これら全ての楽曲データにおける出現割合の平均値及び標準偏差を算出する。そして、メロディーライン決定部１１２は、上記のようにして算出した各音程遷移Δｏに関する出現割合の平均値及び標準偏差を利用し、当該平均値及び標準偏差を持つガウス分布で確率ｐ（Δｏ）を近似する。
【００９４】
次に、確率ｐ（ｎｔ｜ｎｔ−１）について説明する。確率ｐ（ｎｔ｜ｎｔ−１）は、音程ｎｔ−１から音程ｎｔに遷移する際の遷移方向を考慮した確率を表す。なお、音程ｎｔは、Ｃｄｏｗｎ、Ｃ＃ｄｏｗｎ、…、Ｂｄｏｗｎ、Ｃｕｐ、Ｃ＃ｕｐ、…、Ｂｕｐのいずれかの値をとる。ここで、ｄｏｗｎは音程が下がることを示し、ｕｐは音程が上がることを示す。一方、ｎｔ−１は、音程の上がり下がりを考慮せず、Ｃ、Ｃ＃、…、Ｂの値をとる。例えば、確率ｐ（Ｄｕｐ｜Ｃ）は、音程Ｃから音程Ｄに上がる確率を示す。但し、確率（ｎｔ｜ｎｔ−１）は、実際のキー（例えば、Ｄ）を所定のキー（例えば、Ｃ）にシフトさせて利用される。例えば、現在のキーがＤで所定のキーがＣの場合、Ｆ＃→Ａｄｏｗｎの遷移確率としては、キーをシフトすることでＦ＃がＥに変更され、ＡがＧに変更されるため、確率ｐ（Ｇｄｏｗｎ｜Ｅ）が参照される。
【００９５】
さて、確率ｐ（ｎｔ｜ｎｔ−１）についても確率ｐ（Δｏ）の場合と同様にして、メロディーライン決定部１１２は、各楽曲データの正解メロディーラインにおいて各音程遷移ｎｔ−１→ｎｔが出現する割合を算出する。多数の楽曲データで各音程遷移ｎｔ−１→ｎｔの出現割合を算出すると、メロディーライン決定部１１２は、各音程遷移ｎｔ−１→ｎｔについて、これら全ての楽曲データにおける出現割合の平均値及び標準偏差を算出する。そして、メロディーライン決定部１１２は、上記のようにして算出した各音程遷移ｎｔ−１→ｎｔに関する出現割合の平均値及び標準偏差を利用し、当該平均値及び標準偏差持つガウス分布で確率ｐ（ｎｔ｜ｎｔ−１）を近似する。
【００９６】
これらの確率を概念的に示したものが図１４である。図１４の例では、メロディーラインの現在の音程がＣ４である。時間ｔ１においてメロディーラインの音程が遷移する場合、遷移確率としては、確率ｐ（Δｏ）、ｐ（ｎｔ｜ｎｔ−１）が参照される。例えば、音程Ｃ４から音程Ｄ４に遷移する場合、音程間の差は＋２セミトーンである。また、図１４の例では、同じオクターブ間で音程が上がる方向に遷移している。従って、確率ｐ（Δｏ＝＋２）、確率ｐ（Ｄｕｐ｜Ｃ）が参照される。一方、音程Ｃ４から音程Ｇ３に遷移する場合、音程間の差は−５セミトーンである。また、図１４の例では、オクターブを跨いで音程が下がる方向に遷移している。従って、確率ｐ（Δｏ＝−２）、確率ｐ（Ｇｄｏｗｎ｜Ｃ）が参照される。同様に、時間ｔ１においてメロディーが音程Ｄ４に遷移し、時間ｔ２においてメロディーが音程Ｇ３に遷移する場合を考えると、確率ｐ（Δｏ＝−７）、確率ｐ（Ｇｄｏｗｎ｜Ｄ）が参照される。また、各音程Ｃ４、Ｄ４、Ｇ３における確率としては、確率Ｐ（ｏ｜Ｗｔ）が参照される。
【００９７】
さて、上記のようにして得られた確率Ｐ（ｏ｜Ｗｔ）、ｐ（Δｏ）、ｐ（ｎｔ｜ｎｔ−１）を用いてメロディーラインが決定される。但し、確率ｐ（ｎｔ｜ｎｔ−１）を利用するには、メロディーラインを推定しようとする楽曲データのキーが必要になる。そこで、メロディーライン決定部１１２は、キー検出部１１８を用いて楽曲データのキーを検出する。なお、キー検出部１１８の構成については後段において詳述する。ここでは、楽曲データのキーが与えられているものとしてメロディーラインの決定方法について説明する。
【００９８】
メロディーライン決定部１１２は、ビタビ（Ｖｉｔｅｒｂｉ）探索を用いてメロディーラインを決定する。ビタビ探索自体は、隠れマルコフモデル（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）に基づく良く知られた経路探索手法である。メロディーライン決定部１１２によるビタビ探索には、確率Ｐ（ｏ｜Ｗｔ）、ｐ（Δｏ）、ｐ（ｎｔ｜ｎｔ−１）の他に、メロディー確率推定部１１０で推定された各推定位置におけるメロディー確率が用いられる。以下の説明においては、時間ｔ、音程ｏにおける上記のメロディー確率をｐ（Ｍｔ｜ｏ，ｔ）と表すことにする。これらの確率を用いると、ある時点ｔで音程ｏがメロディーである確率Ｐ（ｏ，ｔ）は、下記の式（９）のように表現される。そして、音程ｏから同じ音程ｏに遷移する確率Ｐ（ｔ＋Δｔ，ｏ｜ｔ，ｏ）は、下記の式（１０）のように表現される。さらに、音程ｏから異なる音程ｏ＋Δｏに遷移する確率Ｐ（ｔ＋Δｔ，ｏ＋Δｏ｜ｔ，ｏ）は、下記の式（１１）のように表現される。
【００９９】
【数７】
2010134290.tif 000011
…（９）
2010134290.tif 000012
…（１０）
2010134290.tif 000013
…（１１）
【０１００】
このような表現を用いると、ノードｑ１（時刻ｔ１、音程ｏ２７）→ｑ２（時刻ｔ２、音程ｏ２６）と辿った場合の確率Ｐ（ｑ１，ｑ２）は、Ｐ（ｑ１，ｑ２）＝ｐ（ｎｔ２｜ｎｔ１）ｐ（Δｏ＝−１）ｐ（Ｍ１｜ｏ２７，ｔ１）ｐ（ｏ２７｜Ｗｔ１）と表される。そして、楽曲の最初から最後までの時間に関し、上記のように表現される確率が最大となるような経路が尤もらしいメロディーラインとして抽出される。但し、各ビタビ経路に関する確率の対数値を経路探索の基準とする。例えば、ｌｏｇ（Ｐ（ｑ１，ｑ２））は、ｌｏｇ（ｐ（ｎｔ２｜ｎｔ１））＋ｌｏｇ（ｐ（Δｏ＝−１））＋ｌｏｇ（ｐ（Ｍ１｜ｏ２７，ｔ１））＋ｌｏｇ（ｐ（ｏ２７｜Ｗｔ１））のような各対数値の和が用いられる。
【０１０１】
また、メロディーライン決定部１１２は、ビタビ探索の基準として単純に対数値の和を用いるのではなく、確率の種類に応じて重み付けし、重み付け加算された対数値を基準に利用するように構成されていてもよい。例えば、メロディーライン決定部１１２は、通過したノードのｌｏｇ（ｐ（Ｍｔ｜ｏ，ｔ））、ｂ１＊ｌｏｇ（ｐ（ｏ｜Ｗｔ））、通過したノード間遷移のｂ２＊ｌｏｇ（ｐ（ｎｔ｜ｎｔ−１））、ｂ３＊ｌｏｇ（ｐ（Δｏ））を加算してビタビ探索の基準とする。但し、ｂ１、ｂ２、ｂ３は確率の種類毎に与えられる重みパラメータである。つまり、メロディーライン決定部１１２は、楽曲の最初から最後までの時間について、上記の重み付き対数加算値を計算し、その対数加算値が最大の経路を抽出する。メロディーライン決定部１１２で抽出された経路がメロディーラインに決定される。
【０１０２】
なお、ビタビ探索に用いる確率及び重みパラメータは、分類推定部１０６で推定された楽曲の分類に応じて異なるものが用いられる方が好ましい。例えば、「古い曲」と分類された楽曲のメロディーラインに対するビタビ探索には、予め正解メロディーラインの与えられた大量の「古い曲」から求められた確率、及び「古い曲」用にチューニングされたパラメータが用いられる方が好ましい。このようにしてメロディーライン決定部１１２で決定されたメロディーラインは、平滑化部１１４に入力される（図２を参照）。
【０１０３】
［２−８．平滑化部１１４の構成例］
次に、平滑化部１１４の構成について説明する。平滑化部１１４は、メロディーライン決定部１１２で決定されたメロディーラインを楽曲のビートで定められる区間毎に平滑化する手段である。楽曲データのビートは、ビート検出部１１６により検出される。なお、ビート検出部１１６の構成については後段において詳述する。ビート検出部１１６でビートが検出されると、平滑化部１１４は、例えば、８部音符毎にメロディーラインの投票を行い、最も頻度の高い音程をメロディーラインとする。各ビート区間には、メロディーラインとして複数の音程が含まれていることがある。そこで、平滑化部１１４は、メロディーラインに決定された音程の出現頻度をビート区間毎に検出し、最も出現頻度が多い音程で各ビート区間の音程を平滑化するのである。このようにしてビート区間毎に平滑化された音程がメロディーラインとして外部に出力される。
【０１０４】
［２−９．ビート検出部１１６、キー検出部１１８の構成例］
ここで、説明を保留にしておいたビート検出部１１６、及びキー検出部１１８の構成について説明する。この中で、キー検出部１１８によるキー検出処理に用いるコード確率を算出するためのコード確率検出部１２０の構成例についても説明する。後述するように、キー検出部１１８の処理には、コード確率検出部１２０の処理結果が必要となる。また、コード確率検出部１２０の処理には、ビート検出部１１６の処理結果が必要となる。そこで、ビート検出部１１６、コード確率検出部１２０、キー検出部１１８の順に説明する。
【０１０５】
（２−９−１．ビート検出部１１６の構成例）
まず、ビート検出部１１６の構成について説明する。上記の通り、ビート検出部１１６の処理結果は、コード確率検出部１２０の処理、及び平滑化部１１４で用いる楽曲のビートを検出するための処理に用いられる。ビート検出部１１６は、図１６に示すように、ビート確率算出部１４２、及びビート解析部１４４により構成される。ビート確率算出部１４２は、楽曲データのログスペクトルに基づき、各フレームがビート位置である確率を算出する手段である。また、ビート解析部１４４は、ビート確率算出部１４２で算出された各フレームのビート確率に基づいてビート位置を検出する手段である。以下、これらの構成要素が持つ機能について、より詳細に説明する。
【０１０６】
まず、ビート確率算出部１４２について説明する。ビート確率算出部１４２は、ログスペクトル解析部１０４から入力されたログスペクトルの所定の時間単位（例えば、１フレーム）毎に、その時間単位にビートが含まれる確率（以下、ビート確率という）を算出する。なお、所定の時間単位を１フレームとした場合、ビート確率は、各フレームがビート位置（ビートの時間軸上の位置）に一致している確率とみなすことができる。ビート確率算出部１４２で用いるビート確率を算出するための計算式は、例えば、特徴量計算式生成装置１０による学習アルゴリズムを用いて生成される。また、特徴量計算式生成装置１０に与えられる学習用の教師データ及び評価データとしては、図１７に示すようなものが用いられる。図１７では、ビート確率を算出する時間単位を１フレームとしている。
【０１０７】
図１７に示すように、特徴量計算式生成装置１０には、ビート位置が既知である楽曲の音声信号から変換されたログスペクトルの断片（以下、部分ログスペクトルという）、及び各部分ログスペクトルに関するビート確率が供給される。つまり、部分ログスペクトルが評価データとして、ビート確率が教師データとして特徴量計算式生成装置１０に供給される。但し、部分ログスペクトルのウィンドウ幅は、ビート確率の算出の精度と処理コストのトレードオフを考慮して定められる。例えば、部分ログスペクトルのウィンドウ幅は、ビート確率を計算するフレームの前後７フレーム（計１５フレーム）程度に設定される。
【０１０８】
また、教師データとして供給されるビート確率は、例えば、各部分ログスペクトルの中央のフレームにビートが含まれるか否かを既知のビート位置に基づいて真値（１）又は偽値（０）で表したものである。但し、ここでは小節の位置は考慮されず、中央のフレームがビート位置に該当すればビート確率は１、該当しなければビート確率は０となる。図１７の例では、部分ログスペクトルＷａ、Ｗｂ、Ｗｃ…Ｗｎに対応するビート確率は、それぞれ１、０、１、…、０として与えられている。このような複数組の評価データ及び教師データに基づき、特徴量計算式生成装置１０により、部分ログスペクトルからビート確率を算出するためのビート確率算出式Ｐ（Ｗ）が生成される。このようにしてビート確率算出式Ｐ（Ｗ）を生成すると、ビート確率算出部１４２は、実施曲データのログスペクトルから、１フレーム毎に部分ログスペクトルを切り出し、各部分ログスペクトルに当該ビート確率算出式を適用してビート確率を順次算出する。
【０１０９】
図１８は、ビート確率算出部１４２により算出されたビート確率の一例を示す説明図である。図１８の（Ａ）は、ログスペクトル解析部１０４からビート確率算出部１４２へと入力されるログスペクトルの一例である。一方、図１８の（Ｂ）は、ログスペクトル（Ａ）に基づいてビート確率算出部１４２で算出されるビート確率を時間軸に沿って折れ線状に示したものである。例えば、フレーム位置Ｆ１を参照すると、フレーム位置Ｆ１には、部分ログスペクトルＷ１が対応することが分かる。つまり、フレームＦ１のビート確率Ｐ（Ｗ１）＝０．９５は、部分ログスペクトルＷ１から算出されたものである。同様に、フレーム位置Ｆ２のビート確率Ｐ（Ｗ２）は、ログスペクトルから切り出された部分ログスペクトルＷ２に基づいてビート確率Ｐ（Ｗ２）＝０．１と計算されたものである。フレーム位置Ｆ１のビート確率Ｐ（Ｗ１）は大きく、フレーム位置Ｆ２のビート確率Ｐ（Ｗ２）は小さいことから、フレーム位置Ｆ１はビート位置に該当している可能性が高く、フレーム位置Ｆ２はビート位置に該当している可能性が低いと言える。
【０１１０】
なお、ビート確率算出部１４２により使用されるビート確率算出式は、他の学習アルゴリズムにより生成されてもよい。但し、ログスペクトルには、一般的に、例えば打楽器によるスペクトル、発音によるスペクトルの発生、コード変化によるスペクトルの変化など、多様なパラメータが含まれる。打楽器によるスペクトルであれば、打楽器が鳴らされた時点がビート位置である確率が高い。一方、発声によるスペクトルであれば、発声が開始され時点がビート位置である確率が高い。そうした多様なパラメータを総合的に用いてビート確率を高い精度で算出するためには、特徴量計算式生成装置１０又は特開２００８−１２３０１１に記載された学習アルゴリズムを用いるのが好適である。上記のようにしてビート確率算出部１４２で算出されたビート確率は、ビート解析部１４４に入力される。
【０１１１】
ビート解析部１４４は、ビート確率算出部１４２から入力された各フレームのビート確率に基づいてビート位置を決定する。図１６に示すように、ビート解析部１４４は、オンセット検出部１５２、ビートスコア計算部１５４、ビート探索部１５６、一定テンポ判定部１５８、一定テンポ用ビート再探索部１６０、ビート決定部１６２、及びテンポ補正部１６４を含む。なお、オンセット検出部１５２、ビートスコア計算部１５４、及びテンポ補正部１６４には、ビート確率算出部１４２から各フレームのビート確率が入力される。
【０１１２】
まず、オンセット検出部１５２は、ビート確率算出部１４２から入力されたビート確率に基づいて音声信号に含まれるオンセットを検出する。但し、ここで言うオンセットとは、音声信号の中で音が発せられた時点を指す。より具体的には、ビート確率が所定の閾値以上であって極大値をとる点のことをオンセットと呼ぶ。例えば、図１９には、ある音声信号について算出されたビート確率に基づいて検出されるオンセットの例が示されている。但し、図１９は、図１８の（Ｂ）と同様に、ビート確率算出部１４２により算出されたビート確率を時間軸に沿って折れ線状に示したものである。図１９に例示したビート確率のグラフの場合、極大値をとる点はフレームＦ３、Ｆ４、Ｆ５の３点である。このうち、フレームＦ３及びＦ５については、その時点におけるビート確率が、予め与えられる所定の閾値Ｔｈ１よりも大きい。一方、フレームＦ４の時点におけるビート確率は、当該閾値Ｔｈ１よりも小さい。従って、フレームＦ３及びＦ５の２点がオンセットとして検出される。
【０１１３】
ここで、図２０を参照しながら、オンセット検出部１５２によるオンセット検出処理の流れについて簡単に説明する。図２０に示すように、まず、オンセット検出部１５２は、フレームごとに算出されたビート確率について１番目のフレームから順次ループさせる（Ｓ１３２２）。そして、オンセット検出部１５２は、各フレームについて、ビート確率が所定の閾値よりも大きいか否か（Ｓ１３２４）、及びビート確率が極大を示しているか否か（Ｓ１３２６）を判定する。ここでビート確率が所定の閾値よりも大きく、かつ、ビート確率が極大である場合、オンセット検出部１５２は、ステップＳ１３２８の処理へ進行する。一方、ビート確率が所定の閾値よりも小さいか、又はビート確率が極大でない場合、ステップＳ１３２８の処理はスキップされる。ステップＳ１３２８では、オンセット位置のリストに現在時刻（又は、フレーム番号）が追加される（Ｓ１３２８）。その後、全てのフレームについての処理が終了した時点で、オンセット検出処理のループは終了する（Ｓ１３３０）。
【０１１４】
以上説明したオンセット検出部１５２によるオンセット検出処理により、音声信号に含まれるオンセット位置のリスト（各オンセットに対応する時刻又はフレーム番号のリスト）が生成される。また、上記のオンセット検出処理により、例えば、図２１に示すようなオンセットの位置が検出される。図２１は、オンセット検出部１５２により検出されたオンセットの位置をビート確率に対応付けて示したものである。図２１では、ビート確率の折れ線の上部に、オンセット検出部１５２で検出されたオンセットの位置が丸印で示されている。図２１の例では、閾値Ｔｈ１よりも大きいビート確率の極大値が１５個のオンセットとして検出されている。このようにしてオンセット検出部１５２で検出されたオンセット位置のリストは、ビートスコア計算部１５４に入力される（図１６を参照）。
【０１１５】
ビートスコア計算部１５４は、オンセット検出部１５２により検出された各オンセットについて、それぞれ一定のテンポ（又は一定のビート間隔）を有する何らかのビートに一致している度合いを表すビートスコアを計算する。
【０１１６】
まず、ビートスコア計算部１５４は、図２２に示すような注目オンセットを設定する。図２２の例では、オンセット検出部１５２により検出されたオンセットのうち、フレーム位置Ｆｋ（フレーム番号ｋ）に対応するオンセットが注目オンセットとして設定されている。また、フレーム位置Ｆｋから所定の間隔ｄの整数倍だけ離れた一連のフレーム位置Ｆｋ−３、Ｆｋ−２、Ｆｋ−１、Ｆｋ、Ｆｋ＋１、Ｆｋ＋２、Ｆｋ＋３が参照される。以下の説明においては、所定の間隔ｄをシフト量、シフト量ｄの整数倍離れたフレーム位置をシフト位置と呼ぶことにする。ビートスコア計算部１５４は、ビート確率が計算されたフレームの集合Ｆに含まれる全てのシフト位置（…Ｆｋ−３、Ｆｋ−２、Ｆｋ−１、Ｆｋ、Ｆｋ＋１、Ｆｋ＋２、Ｆｋ＋３、…）におけるビート確率の和を注目オンセットのビートスコアとする。例えば、フレーム位置Ｆｉにおけるビート確率をＰ（Ｆｉ）とすると、注目オンセットのフレーム番号ｋ及びシフト量ｄに対するビートスコアＢＳ（ｋ，ｄ）は、下記の式（１２）で表現される。なお、下記の式（１２）で表現されるビートスコアＢＳ（ｋ，ｄ）は、音声信号のｋ番目のフレームに位置するオンセットがシフト量ｄをビート間隔とする一定のテンポに乗っている可能性の高さを表すスコアであると言える。
【０１１７】
【数８】
2010134290.tif 000014
…（１２）
【０１１８】
ここで、図２３を参照しながら、ビートスコア計算部１５４によるビートスコア計算処理の流れについて簡単に説明する。
【０１１９】
図２３に示すように、まず、ビートスコア計算部１５４は、オンセット検出部１５２により検出されたオンセットについて、１番目のオンセットから順にループさせる（Ｓ１３２２）。さらに、ビートスコア計算部１５４は、注目オンセットに関し、全てのシフト量ｄについてループさせる（Ｓ１３４４）。ここでループの対象となるシフト量ｄは、演奏に使用され得る範囲の全てのビートの間隔の値である。そして、ビートスコア計算部１５４は、ビートスコアＢＳ（ｋ，ｄ）を初期化する（例えば、ビートスコアＢＳ（ｋ，ｄ）にゼロを代入する）（Ｓ１３４６）。次に、ビートスコア計算部１５４は、注目オンセットのフレーム位置Ｆｄをシフトさせるシフト係数ｎについてループさせる（Ｓ１３４８）。そして、ビートスコア計算部１５４は、各シフト位置におけるビート確率Ｐ（Ｆｋ＋ｎｄ）を、ビートスコアＢＳ（ｋ，ｄ）に順次加算する（Ｓ１３５０）。その後、全てのシフト係数ｎについてループが終了すると（Ｓ１３５２）、ビートスコア計算部１５４は、注目オンセットのフレーム位置（フレーム番号ｋ）、シフト量ｄ、及びビートスコアＢＳ（ｋ，ｄ）を記録する（Ｓ１３５４）。ビートスコア計算部１５４は、このようなビートスコアＢＳ（ｋ，ｄ）の計算を、全てのオンセットの全てのシフト量について繰り返す（Ｓ１３５６、Ｓ１３５８）。
【０１２０】
以上説明したビートスコア計算部１５４によるビートスコア計算処理により、オンセット検出部１５２で検出された全てのオンセットについて、複数のシフト量ｄにわたるビートスコアＢＳ（ｋ，ｄ）が算出される。なお、上記のビートスコア計算処理により、図２４に示すようなビートスコア分布図が得られる。このビートスコア分布図は、ビートスコア計算部１５４により出力されるビートスコアを可視化したものである。図２４において、横軸には、オンセット検出部１５２で検出されたオンセットが時系列で順に並べられている。図２４の縦軸は、各オンセットについてビートスコアを算出したシフト量を表す。また、各点の色の濃淡は、各オンセットについてシフト量毎に算出されたビートスコアの大きさを表す。図２４の例では、シフト量ｄ１の近辺において、全てのオンセットにわたってビートスコアが高くなっている。仮にシフト量ｄ１に相当するテンポで楽曲が演奏されたと仮定すれば、検出されたオンセットの多くがビートに一致する可能性が高い。そのため、このようなビートスコア分布図になるのである。ビートスコア計算部１５４で計算されたビートスコアは、ビート探索部１５６に入力される。
【０１２１】
ビート探索部１５６は、ビートスコア計算部１５４で算出されたビートスコアに基づいて、尤もらしいテンポ変動を示すオンセット位置の経路を探索する。ビート探索部１５６による経路探索の手法としては、例えば、隠れマルコフモデルに基づくビタビ探索アルゴリズムが用いられる。また、ビート探索部１５６によるビタビ探索には、例えば、図２５に模式的に示したように、時間軸（横軸）の単位にオンセット番号を設定し、観測系列（縦軸）にビートスコア算出時に用いたシフト量を設定する。そして、ビート探索部１５６は、時間軸及び観測系列の各値で定義される各ノードを結ぶビタビ経路を探索する。言い換えると、ビート探索部１５６は、ビートスコア計算部１５４においてビートスコアを計算する際に用いたオンセットとシフト量の全ての組合せの１つ１つを経路探索の対象ノードとする。なお、各ノードのシフト量は、各ノードについて想定されるビート間隔に等しい。そこで、以下の説明では、各ノードのシフト量をビート間隔と呼ぶことがある。
【０１２２】
このようなノードに対し、ビート探索部１５６は、時間軸に沿っていずれかのノードを順に選択していき、選択された一連のノードで形成されるビタビ経路を評価する。このとき、ビート探索部１５６は、ノードの選択においてオンセットのスキップが許可される。例えば、図２５の例では、ｋ−１番目のオンセットの次に、ｋ番目のオンセットがスキップされ、ｋ＋１番目のオンセットが選択されている。これは、オンセットの中にビートであるオンセットとビートでないオンセットが通常混在しており、ビートでないオンセットを経由しない経路も含めて、尤もらしい経路を探索しようとするためである。
【０１２３】
経路の評価には、例えば、（１）ビートスコア、（２）テンポ変化スコア、（３）オンセット移動スコア、及び（４）スキップペナルティの４つの評価値を用いることができる。このうち、（１）ビートスコアは、各ノードについてビートスコア計算部１５４により計算されたビートスコアである。一方、（２）テンポ変化スコア、（３）オンセット移動スコア、及び（４）スキップペナルティは、ノード間の遷移に対して与えられる。ノード間の遷移に対して与えられる評価値のうち、（２）テンポ変化スコアは、楽曲の中でテンポが通常緩やかに変動するものであるという経験的な知識に基づいて与えられる評価値である。そのため、遷移前のノードのビート間隔と遷移後のノードのビート間隔との差が小さい程、テンポ変化スコアには高い評価値が与えられる。
【０１２４】
ここで、図２６を参照しながら、（２）テンポ変化スコアについて、より詳細に説明する。図２６の例では、現在のノードとしてノードＮ１が選択されている。このとき、ビート探索部１５６は、次のノードとしてノードＮ２〜Ｎ５のいずれかを選択する可能性がある。なお、Ｎ２〜Ｎ５以外のノードを選択する可能性もあるが、説明の都合上、ここではノードＮ２〜Ｎ５の４つのノードについて述べる。ここでビート探索部１５６がノードＮ４を選択した場合、ノードＮ１とノードＮ４の間にはビート間隔の差は無いため、テンポ変化スコアとしては最も高い値が与えられる。一方、ビート探索部１５６がノードＮ３又はＮ５を選択した場合、ノードＮ１と、ノードＮ３又はＮ５との間にはビート間隔に差があり、ノードＮ４を選択した場合に比べて低いテンポ変化スコアが与えられる。また、ビート探索部１５６がノードＮ２を選択した場合、ノードＮ１とノードＮ２との間のビート間隔の差はノードＮ３又はＮ５を選択した場合よりも大きい。そのため、さらに低いテンポ変化スコアが与えられる。
【０１２５】
次に、図２７を参照しながら、（３）オンセット移動スコアについて、より詳細に説明する。このオンセット移動スコアは、遷移の前後のノードのオンセット位置の間隔が遷移元のノードのビート間隔と整合しているかに応じて与えられる評価値である。図２７の（Ａ）では、現在のノードとして、ｋ番目のオンセットのビート間隔ｄ２のノードＮ６が選択されている。また、ビート探索部１５６が次に選択し得るノードとして、２つのノードＮ７及びＮ８が示されている。このうち、ノードＮ７はｋ＋１番目のオンセットのノードであり、ｋ番目のオンセットとｋ＋１番目のオンセットの間隔（例えば、フレーム番号の差）はＤ７である。一方、ノードＮ８はｋ＋２番目のオンセットのノードであり、ｋ番目のオンセットとｋ＋２番目のオンセットの間隔はＤ８である。
【０１２６】
ここで、経路上の全てのノードが一定のテンポにおけるビート位置に必ず一致している理想的な経路を仮定すると、隣り合うノード間のオンセット位置の間隔は、各ノードのビート間隔の整数倍（休符が無ければ等倍）となるはずである。そこで、図２７の（Ｂ）に示すように、現在のノードＮ６との間でオンセット位置の間隔がノードＮ６のビート間隔ｄ２の整数倍に近いほど高いオンセット移動スコアを与える。図２７の（Ｂ）の例では、ノードＮ６とノードＮ７との間の間隔Ｄ７よりも、ノードＮ６とノードＮ８との間の間隔Ｄ８の方がノードＮ６のビート間隔ｄ２の整数倍に近いため、ノードＮ６からノードＮ８への遷移に対し、より高いオンセット移動スコアが与えられる。
【０１２７】
次に、図２８を参照しながら、（４）スキップペナルティについて、より詳細に説明する。このスキップペナルティは、ノードの遷移におけるオンセットの過剰なスキップを抑制するための評価値である。従って、１度の遷移でオンセットを多くスキップするほど低いスコアが、スキップしないほど高いスコアが与えられる。なお、ここではスコアが低いほどペナルティが大きいものとする。図２８の例では、現在のノードとして、ｋ番目のオンセットのノートＮ９が選択されている。また、図２８の例には、ビート探索部１５６が次に選択し得るノードとして、３つのノードＮ１０、Ｎ１１及びＮ１２が示されている。ノードＮ１０はｋ＋１番目、ノードＮ１１はｋ＋２番目、ノードＮ１２はｋ＋３番目のオンセットのノードである。
【０１２８】
従って、ノードＮ９からノードＮ１０へ遷移する場合、オンセットのスキップは発生しない。一方、ノードＮ９からノードＮ１１へ遷移する場合、ｋ＋１番目のオンセットがスキップされる。また、ノードＮ９からノードＮ１２へ遷移する場合、ｋ＋１番目及びｋ＋２番目のオンセットがスキップされる。そこで、スキップペナルティの値は、ノードＮ９からノードＮ１０へ遷移する場合に相対的に高い値が、ノードＮ９からノードＮ１１へ遷移する場合に中程度の値が、ノードＮ９からノードＮ１２へ遷移する場合により低い値が与えられる。その結果、経路選択に際して、ノード間の間隔を一定とするためにより多くのオンセットがスキップされてしまう現象を防ぐことができる。
【０１２９】
以上、ビート探索部１５６における探索経路の評価に用いられる４つの評価値について説明した。図２５を用いて説明した経路の評価は、選択された経路について、その経路に含まれる各ノード又はノード間の遷移に対して与えられる上記（１）〜（４）の評価値を順次乗算することにより行われる。そして、ビート探索部１５６は、想定し得る全ての経路の中で、各経路内での評価値の積が最も高い経路を最適な経路として決定する。このようにして決定された経路は、例えば、図２９のようになる。図２９は、ビート探索部１５６により最適な経路として決定されたビタビ経路の一例を示すものである。図２９の例では、図２４に示したビートスコア分布図の上に、ビート探索部１５６により決定された最適経路が点線枠で示されている。図２９の例においてビート探索部１５６により探索された楽曲のテンポは、ビート間隔ｄ３を中心に変動していることが分かる。ビート探索部１５６により決定された最適経路（最適経路に含まれるノードのリスト）は、一定テンポ判定部１５８、一定テンポ用ビート再探索部１６０、及びビート決定部１６２に入力される。
【０１３０】
一定テンポ判定部１５８は、ビート探索部１５６により決定された最適経路が、各ノードについて想定されるビート間隔の分散の小さい一定テンポを示しているか否かを判定する。まず、一定テンポ判定部１５８は、ビート探索部１５６から入力された最適経路に含まれるノードのビート間隔の集合について分散を計算する。そして、一定テンポ判定部１５８は、算出した分散が予め与えられる所定の閾値よりも小さい場合にテンポが一定であると判定し、所定の閾値よりも大きい場合にテンポが一定でないと判定する。例えば、図３０に示すように、一定テンポ判定部１５８によりテンポが判定される。
【０１３１】
例えば、図３０の（Ａ）に示した例においては、点線枠で囲まれたオンセット位置の最適経路のビート間隔は時間に応じて変動している。このような経路については、一定テンポ判定部１５８による閾値判定の結果、テンポが一定でないと判定される。一方、図３０の（Ｂ）に示した例においては、点線枠で囲まれたオンセット位置の最適経路のビート間隔は楽曲全体にわたってほぼ一定である。このような経路については、一定テンポ判定部１５８による閾値判定の結果、テンポが一定であると判定される。このようにして得られた一定テンポ判定部１５８による閾値判定の結果は、一定テンポ用ビート再探索部１６０に入力される。
【０１３２】
一定テンポ用ビート再探索部１６０は、ビート探索部１５６で抽出された最適経路が一定テンポ判定部１５８で一定のテンポを示していると判定された場合に、最も頻度の高いビート間隔の周辺のみに探索の対象ノードを限定して経路探索を再実行する。例えば、一定テンポ用ビート再探索部１６０は、図３１に例示するような方法で経路の再探索処理を実行する。なお、一定テンポ用ビート再探索部１６０は、図２５と同様に、ビート間隔を観測系列とする時間軸（オンセット番号）に沿ったノードの集合について経路の再探索処理を実行する。
【０１３３】
例えば、ビート探索部１５６で最適経路と決定された経路に含まれるノードのビート間隔の最頻値がｄ４であり、その経路に対応するテンポが一定テンポ判定部１５８で一定であると判定されたものと仮定する。この場合、一定テンポ用ビート再探索部１６０は、ビート間隔ｄがｄ４−Ｔｈ２≦ｄ≦ｄ４＋Ｔｈ２（Ｔｈ２は所定の閾値）を満たすノードのみを探索の対象として経路を再度探索する。図３１の例では、ｋ番目のオンセットについてノードＮ１２〜Ｎ１６の５つのノードが示されている。このうち、一定テンポ用ビート再探索部１６０においては、ノードＮ１３〜Ｎ１５のビート間隔は探索範囲（ｄ４−Ｔｈ２≦ｄ≦ｄ４＋Ｔｈ２）に含まれる。これに対し、ノードＮ１２及びＮ１６のビート間隔は上記探索範囲に含まれない。そのため、ｋ番目のオンセットについては、ノードＮ１３〜Ｎ１５のみが一定テンポ用ビート再探索部１６０による経路探索処理の対象となる。
【０１３４】
なお、一定テンポ用ビート再探索部１６０による経路の再探索処理の内容は、探索の対象とするノードの範囲を除き、ビート探索部１５６による経路探索処理と同様である。このような一定テンポ用ビート再探索部１６０による経路の再探索処理により、テンポが一定の楽曲について、経路探索の結果部分的に発生する可能性のあるビート位置の誤りを減少させることができる。一定テンポ用ビート再探索部１６０により再決定された最適経路は、ビート決定部１６２に入力される。
【０１３５】
ビート決定部１６２は、ビート探索部１５６により決定された最適経路、又は一定テンポ用ビート再探索部１６０により再決定された最適経路と、それら経路に含まれる各ノードのビート間隔とに基づいて音声信号に含まれるビート位置を決定する。例えば、ビート決定部１６２は、図３２に示すような方法でビート位置を決定する。図３２の（Ａ）には、オンセット検出部１５２で得られたオンセット検出結果の一例が示されている。この例には、オンセット検出部１５２で検出されたｋ番目のオンセットの周囲１４個のオンセットが示されている。一方、図３２の（Ｂ）は、ビート探索部１５６又は一定テンポ用ビート再探索部１６０で決定される最適経路のオンセットが示されている。（Ｂ）の例では、（Ａ）に示された１４個のオンセットのうち、ｋ−７番目、ｋ番目、ｋ＋６番目のオンセット（フレーム番号Ｆｋ−７、Ｆｋ、Ｆｋ＋６）が最適経路に含まれている。また、ｋ−７番目のオンセットのビート間隔（対応するノードのビート間隔に相当）はｄｋ−７、ｋ番目のオンセットのビート間隔はｄｋである。
【０１３６】
このようなオンセットについて、まず、ビート決定部１６２は、最適経路に含まれるオンセットの位置をその楽曲のビート位置であるとみなす。そして、ビート決定部１６２は、最適経路に含まれる隣り合うオンセット間のビートを各オンセットのビート間隔に応じて補完する。このとき、ビート決定部１６２は、最適経路上で隣り合うオンセットの間のビートを補完するために、まず補完するビートの数を決定する。例えば、ビート決定部１６２は、図３３に示すように、隣り合う２つのオンセットの位置をＦｈ及びＦｈ＋１、オンセット位置Ｆｈにおけるビート間隔をｄｈとする。この場合、Ｆｈ及びＦｈ＋１の間に補完されるビート数Ｂｆｉｌｌは次式で与えられる。
【０１３７】
【数９】
2010134290.tif 000015
…（１３）
【０１３８】
但し、Ｒｏｕｎｄ（…）は、…の小数桁を四捨五入して整数に丸めることを示す。上記の式（１３）によると、ビート決定部１６２により補完されるビート数は、隣り合うオンセットの間隔をビート間隔で割った値が整数に丸められた後、植木算の考え方に基づいて１を引いた数となる。
【０１３９】
次に、ビート決定部１６２は、最適経路上で隣り合うオンセットの間にビートが等間隔に配置されるように、決定したビートの数だけビートを補完する。図３２の（Ｃ）は、ビート補間後のオンセットが示されている。（Ｃ）の例では、ｋ−７番目のオンセットとｋ番目のオンセットとの間に２つのビートが、ｋ番目のオンセットとｋ＋６番目のオンセットとの間に２つのビートが補完されている。但し、ビート決定部１６２により補完されるビートの位置は、必ずしもオンセット検出部１５２により検出されたオンセットの位置に一致しない。このような構成にすることで、局所的にビート位置から外れて発せられた音に影響されずにビートの位置が決定される。また、ビート位置において休符が存在し、その位置で音が発せられなかった場合でも適切にビート位置を認識することができる。このようにしてビート決定部１６２により決定されたビート位置のリスト（最適経路上のオンセットとビート決定部１６２により補完されたビートを含む）は、テンポ補正部１６４に入力される。
【０１４０】
テンポ補正部１６４は、ビート決定部１６２により決定されたビート位置で表されるテンポを補正する。補正前のテンポは、楽曲本来のテンポの２倍、１／２倍、３／２倍、２／３倍などの定数倍（図３４を参照）になっている可能性がある。そのため、テンポ補正部１６４では、誤って定数倍に認識しているテンポを補正して楽曲本来のテンポを再現する。ここで、ビート決定部１６２で決定されるビート位置のパターンを示した図３４の例を参照する。図３４の例においては、図示された時間の範囲内でパターン（Ａ）には６つのビートが含まれている。これに対し、パターン（Ｂ）には、同じ時間の範囲内に１２のビートが含まれている。つまり、パターン（Ｂ）のビート位置は、パターン（Ａ）のビート位置を基準として２倍のテンポを示している。
【０１４１】
一方、パターン（Ｃ−１）には、同じ時間の範囲内に３つのビートが含まれている。つまり、パターン（Ｃ−１）のビート位置は、パターン（Ａ）のビート位置を基準として１／２倍のテンポを示している。また、パターン（Ｃ−２）には、パターン（Ｃ−１）と同様に、同じ時間の範囲内に３つのビートを含み、パターン（Ａ）のビート位置を基準として１／２倍のテンポを示している。但し、パターン（Ｃ−１）とパターン（Ｃ−２）とは、基準のテンポからテンポを変更する際に残されるビート位置が異なる。テンポ補正部１６４によるテンポの補正は、例えば、次の（Ｓ１）〜（Ｓ３）の手順により行われる。
【０１４２】
（Ｓ１）波形に基づいて推定される推定テンポの決定
（Ｓ２）複数の基本倍率のうち最適な基本倍率の決定
（Ｓ３）基本倍率が１倍となるまで（Ｓ２）を繰返し
【０１４３】
まず、（Ｓ１）波形に基づいて推定される推定テンポの決定について説明する。テンポ補正部１６４は、音声信号の波形に現れる音質的特徴から妥当であると推定される推定テンポを決定する。推定テンポの決定には、例えば、特徴量計算式生成装置１０又は特開２００８−１２３０１１に記載された学習アルゴリズムで生成される推定テンポ判別用の計算式（推定テンポ判別式）が用いられる。例えば、図３５に示すように、特徴量計算式生成装置１０には、評価データとして複数の楽曲のログスペクトルが供給される。図３５の例では、ログスペクトルＬＳ１〜ＬＳｎが供給されている。さらに、教師データとして、各楽曲を人間が聴いて判定した正解テンポが供給される。図３５の例では、各ログスペクトルについての正解テンポ（ＬＳ１：１００、…、ＬＳｎ：６０）が供給されている。このような複数組の評価データと教師データとに基づいて推定テンポ判別式が生成される。そして、テンポ補正部１６４は、生成した推定テンポ判別式を用いて実施曲の推定テンポを算出する。
【０１４４】
次に、（Ｓ２）複数の基本倍率のうち最適な基本倍率の決定について説明する。テンポ補正部１６４は、複数の基本倍率のうち、補正後のテンポが楽曲の本来のテンポに最も近い基本倍率を決定する。ここで、基本倍率とは、テンポの補正に用いる定数比の基本単位となる倍率である。基本倍率としては、例えば、１／３倍、１／２倍、２／３倍、１倍、３／２倍、２倍、３倍の７種類の倍率が用いられる。但し、本実施形態の適用範囲はこれらの例に限定されず、例えば、１／３倍、１／２倍、１倍、２倍、３倍の５種類の倍率で基本倍率が構成されていてもよい。テンポ補正部１６４は、最適な基本倍率を決定するために、まず、各基本倍率でビート位置を補正した後の平均ビート確率をそれぞれ計算する。但し、基本倍率１倍については、ビート位置を補正しない場合の平均ビート確率を計算する。例えば、テンポ補正部１６４により、図３６に示すような方法で基本倍率毎に平均ビート確率が算出される。
【０１４５】
図３６には、ビート確率算出部１４２で算出されたビート確率が時間軸に沿って折れ線状に示されている。なお、横軸には、いずれかの基本倍率に応じて補正された３つのビートのフレーム番号Ｆｈ−１、Ｆｈ、及びＦｈ＋１が示されている。ここで、フレーム番号Ｆｈにおけるビート確率をＢＰ（ｈ）とすると、基本倍率ｒに応じて補正されたビート位置の集合Ｆ（ｒ）の平均ビート確率ＢＰＡＶＧ（ｒ）は、下記の式（１４）により与えられる。但し、ｍ（ｒ）は、集合Ｆ（ｒ）に含まれるフレーム番号の個数を示す。
【０１４６】
【数１０】
2010134290.tif 000016
…（１４）
【０１４７】
図３４のパターン（Ｃ−１）及びパターン（Ｃ−２）を用いて説明したように、基本倍率ｒ＝１／２の場合、ビート位置の候補は２通り存在する。そのため、テンポ補正部１６４は、２通りのビート位置の候補についてそれぞれ平均ビート確率ＢＰＡＶＧ（ｒ）を計算し、平均ビート確率ＢＰＡＶＧ（ｒ）の高い方のビート位置を基本倍率ｒ＝１／２に応じた補正後のビート位置として採用する。同様に、基本倍率ｒ＝１／３の場合、ビート位置の候補は３通り存在する。そこで、テンポ補正部１６４は、３通りのビート位置の候補について、それぞれ平均ビート確率ＢＰＡＶＧ（ｒ）を計算し、平均ビート確率ＢＰＡＶＧ（ｒ）の最も高いビート位置を基本倍率ｒ＝１／３に応じた補正後のビート位置として採用する。
【０１４８】
このようにして基本倍率ごとの平均ビート確率を計算すると、テンポ補正部１６４は、推定テンポと平均ビート確率に基づいて、基本倍率ごとに補正後のテンポの尤もらしさ（以下、テンポ尤度）を算出する。テンポ尤度は、例えば、推定テンポを中心とするガウス分布で表されるテンポ確率と平均ビート確率との積で表すことができる。例えば、テンポ補正部１６４により、図３７に示すようなテンポ尤度が算出される。
【０１４９】
図３７の（Ａ）は、各基本倍率についてテンポ補正部１６４で算出された補正後の平均ビート確率を示している。また、図３７の（Ｂ）は、テンポ補正部１６４により音声信号の波形に基づいて推定された推定テンポを中心とし、所定の分散σ１を持つガウス分布で表現されるテンポ確率を示している。なお、図３７の（Ａ）及び（Ｂ）の横軸は、各基本倍率に応じてビート位置を補正した後のテンポの対数を表す。テンポ補正部１６４は、基本倍率毎に平均ビート確率とテンポ確率とを乗算して（Ｃ）に示すようなテンポ尤度を算出する。図３７の例では、基本倍率が１倍の場合と１／２倍の場合とで平均ビート確率がほぼ同じとなるが、１／２倍に補正したテンポの方がより推定テンポに近い（テンポ確率が高い）。そのため、算出されたテンポ尤度は１／２倍に補正したテンポの方が高くなる。テンポ補正部１６４は、このようにしてテンポ尤度を算出し、最もテンポ尤度の高い基本倍率を補正後のテンポが楽曲本来のテンポに最も近くなる基本倍率に決定する。
【０１５０】
このようにして尤もらしいテンポの決定に推定テンポから得られるテンポ確率が加味されることで、局所的な音声の波形からは判別することが困難な定数倍の関係にあるテンポの候補から、適切なテンポを精度よく決定することができる。このようにしてテンポが補正されると、テンポ補正部１６４は、（Ｓ３）基本倍率が１倍となるまで（Ｓ２）の処理を繰返す。具体的には、テンポ補正部１６４により、最もテンポ尤度の高い基本倍率が１倍となるまで、基本倍率ごとの平均ビート確率の計算とテンポ尤度の算出とが繰り返される。その結果、テンポ補正部１６４による補正前のテンポが楽曲の本来のテンポの１／４倍や１／６倍、４倍、６倍などであったとしても、基本倍率の組合せで得られる適切な補正倍率（例えば、１／２倍×１／２倍＝１／４倍）によりテンポが補正される。
【０１５１】
ここで、図３８を参照しながら、テンポ補正部１６４による補正処理の流れについて簡単に説明する。図３８に示すように、まず、テンポ補正部１６４は、特徴量計算式生成装置１０により予め生成された推定テンポ判別式を用いて、音声信号から推定テンポを決定する（Ｓ１４４２）。次いで、テンポ補正部１６４は、複数の基本倍率（１／３、１／２…など）について順次ループさせる（Ｓ１４４４）。そのループ内において、テンポ補正部１６４は、各基本倍率に応じてビート位置を変更し、テンポを補正する（Ｓ１４４６）。次いで、テンポ補正部１６４は、補正後のビート位置における平均ビート確率を計算する（Ｓ１４４８）。次いで、テンポ補正部１６４は、ステップＳ１４４８で計算した平均ビート確率とステップＳ１４４２で決定した推定テンポとに基づいて、基本倍率ごとのテンポ尤度を計算する（Ｓ１４５０）。
【０１５２】
次いで、テンポ補正部１６４は、全ての基本倍率のループが終了すると（Ｓ１４５２）、テンポ尤度が最も高い基本倍率を決定する（Ｓ１４５４）。次いで、テンポ補正部１６４は、テンポ尤度が最も高い基本倍率が１倍か否かを判定する（Ｓ１４５６）。ここで、テンポ尤度が最も高い基本倍率が１倍であれば、テンポ補正部１６４は、一連の補正処理を終了する。一方、テンポ尤度が最も高い基本倍率が１倍でなければ、テンポ補正部１６４は、ステップＳ１４４４の処理に戻る。このようにしてテンポ尤度が最も高い基本倍率に応じて補正されたテンポ（ビート位置）に基づき、再度いずれかの基本倍率によるテンポの補正が行われる。
【０１５３】
以上、ビート検出部１１６の構成について説明した。平滑化部１１４は、上記のようにして検出されたビート位置の情報に基づいてメロディーラインをビート区間毎に平滑化し、メロディーラインの検出結果として出力する。また、ビート検出部１１６による検出結果は、コード確率検出部１２０に入力される（図２を参照）。
【０１５４】
（２−９−２．コード確率検出部１２０の構成例）
コード確率検出部１２０は、ビート解析部１４４で検出された各ビートのビート区間内で各コードが演奏されている確率（以下、コード確率）を算出する。上記の通り、コード確率検出部１２０で算出されるコード確率は、キー検出部１１８によるキー検出処理に用いられる。図３９に示すように、コード確率検出部１２０は、ビート区間特徴量計算部１７２、ルート別特徴量準備部１７４、及びコード確率計算部１７６を含む。
【０１５５】
上記の通り、コード確率検出部１２０には、ビート検出部１１６で検出されたビート位置の情報とログスペクトルとが入力される。そこで、ビート区間特徴量計算部１７２は、ビート解析部１４４で検出された各ビートについてビート区間内の音声信号の特徴を表すビート区間特徴量として１２音別エネルギーを計算する。そして、ビート区間特徴量計算部１７２は、ビート区間特徴量としての１２音別エネルギーを計算し、ルート別特徴量準備部１７４に入力する。ルート別特徴量準備部１７４は、ビート区間特徴量計算部１７２から入力される１２音別エネルギーに基づいてビート区間ごとのコード確率の算出に用いられるルート別特徴量を生成する。例えば、ルート別特徴量準備部１７４は、図４０及び図４１に示す方法でルート別特徴量を生成する。
【０１５６】
まず、ルート別特徴量準備部１７４は、注目するビート区間ＢＤｉについて、前後Ｎ区間分の１２音別エネルギーを抽出する（図４０を参照）。ここで抽出された前後Ｎ区間分の１２音別エネルギーは、Ｃ音をコードのルート（根音）とする特徴量とみなすことができる。図４０の例においては、Ｎ＝２であるため、Ｃ音をルートとする５区間分のルート別特徴量（１２×５次元）が抽出されている。次いで、ルート別特徴量準備部１７４は、Ｃ音をルートとする５区間分のルート別特徴量の１２音の要素位置を所定数だけシフトさせて、Ｃ＃音からＢ音までをそれぞれルートとする１１通りの５区間分のルート別特徴量を生成する（図４１を参照）。なお、要素位置をシフトさせるシフト数は、Ｃ＃音をルートとする場合は１、Ｄ音をルートとする場合は２、…、Ｂ音をルートとする場合は１１などとなる。その結果、ルート別特徴量準備部１７４により、Ｃ音からＢ音までの１２音をそれぞれルートとするルート別特徴量（それぞれ１２×５次元）が１２音分生成される。
【０１５７】
ルート別特徴量準備部１７４は、このようなルート別特徴量生成処理を全てのビート区間について実行し、各区間についてコード確率の算出に用いるルート別特徴量を準備する。なお、図４０及び図４１の例では、１つのビート区間について準備される特徴量は、１２×５×１２次元のベクトルとなる。ルート別特徴量準備部１７４により生成されたルート別特徴量は、コード確率計算部１７６に入力される。コード確率計算部１７６は、ルート別特徴量準備部１７４から入力されたルート別特徴量を用いて、各コードが演奏されている確率（コード確率）をビート区間ごとに算出する。ここで、各コードとは、例えば、ルート（Ｃ、Ｃ＃、Ｄ…）や構成音の数（三和音、四和音（７ｔｈ）、五和音（９ｔｈ））、及び長短（メジャー／マイナー）などにより区別される個々のコードのことを言う。コード確率の算出には、例えば、ロジスティック回帰分析によって予め学習されたコード確率算出式を用いる。
【０１５８】
例えば、コード確率計算部１７６は、図４２に示す方法でコード確率の計算に用いるコード確率算出式を生成する。なお、コード確率算出式の学習は、学習したいコードの種類ごとに行われる。例えば、メジャーコード用のコード確率算出式、マイナーコード用のコード確率算出式、７ｔｈコード用のコード確率算出式、９ｔｈコード用のコード確率算出式などについて、それぞれ以下で説明する学習処理が行われる。
【０１５９】
まず、ロジスティック回帰分析における独立変数として、正解のコードが既知であるビート区間ごとのルート別特徴量（例えば、図４１で説明した１２×５×１２次元のベクトル）を複数用意する。また、ビート区間ごとのルート別特徴量のそれぞれについて、ロジスティック回帰分析により生起確率を予測するためのダミーデータを用意する。例えば、メジャーコード用のコード確率算出式を学習する場合、ダミーデータの値は、既知のコードがメジャーコードであれば真値（１）、それ以外なら偽値（０）となる。一方、マイナーコード用のコード確率算出式を学習する場合、ダミーデータの値は、既知のコードがマイナーコードであれば真値（１）、それ以外なら偽値（０）となる。７ｔｈコード、９ｔｈコード等についても同様である。
【０１６０】
このような独立変数とダミーデータを利用し、十分な数のビート区間ごとのルート別特徴量についてロジスティック回帰分析を行うことで、ビート区間ごとのルート別特徴量から、コード確率を算出するためのコード確率算出式が生成される。そして、コード確率計算部１７６は、生成したコード確率算出式にルート別特徴量準備部１７４から入力されたルート別特徴量を適用し、各種類のコードについてビート区間ごとにコード確率を順次算出する。コード確率計算部１７６によるコード確率の計算処理は、例えば、図４３に示すような方法で行われる。図４３の（Ａ）には、ビート区間ごとのルート別特徴量のうち、Ｃ音をルートとするルート別特徴量が示されている。
【０１６１】
例えば、コード確率計算部１７６は、Ｃ音をルートとするルート別特徴量にメジャーコード用のコード確率算出式を適用し、各ビート区間についてコードが“Ｃ”であるコード確率ＣＰＣを計算する。また、コード確率計算部１７６は、Ｃ音をルートとするルート別特徴量にマイナーコード用のコード確率算出式を適用し、当該ビート区間についてコードが“Ｃｍ”であるコード確率ＣＰＣｍを計算する。同様に、コード確率計算部１７６は、Ｃ＃音をルートとするルート別特徴量にメジャーコード用及びマイナーコード用のコード確率算出式を適用し、コード“Ｃ＃”のコード確率ＣＰＣ＃及びコード“Ｃ＃ｍ”のコード確率ＣＰＣ＃ｍを計算する（Ｂ）。コード“Ｂ”のコード確率ＣＰＢ及びコード“Ｂｍ”のコード確率ＣＰＢｍについても同様に計算される（Ｃ）。
【０１６２】
このような方法でコード確率計算部１７６により図４４に示すようなコード確率が算出される。図４４を参照すると、ある１つのビート区間について、Ｃ音からＢ音までの１２音ごとに“Ｍａｊ（メジャー）”、“ｍ（マイナー）”、“７（７ｔｈ／セブンス）”、“ｍ７（マイナーセブンス）”などについてコード確率が計算されている。図４４の例では、コード確率ＣＰＣ＝０．８８、コード確率ＣＰＣｍ＝０．０８、コード確率ＣＰＣ７＝０．０１、コード確率ＣＰＣｍ７＝０．０２、コード確率ＣＰＣＢ＝０．０１である。また、これらの種類以外のコード確率はいずれもゼロである。なお、コード確率計算部１７６は、上記のようにして複数種類のコードについてコード確率を計算した後、算出した確率値の合計が１つのビート区間内で１となるように確率値を正規化する。コード確率計算部１７６によるコード確率の計算及び正規化処理は、音声信号に含まれる全てのビート区間について繰り返される。
【０１６３】
以上説明したビート区間特徴量計算部１７２、ルート別特徴量準備部１７４、コード確率計算部１７６の処理により、コード確率検出部１２０においてコード確率が算出される。そして、コード確率検出部１２０で算出されたコード確率は、キー検出部１１８に入力される（図２を参照）。
【０１６４】
（２−９−３．キー検出部１１８の構成例）
次に、キー検出部１１８の構成について説明する。上記の通り、キー検出部１１８には、コード確率検出部１２０で算出されたコード確率が入力される。キー検出部１１８は、コード確率検出部１２０で算出されたビート区間ごとのコード確率を用いて、ビート区間ごとのキー（調／基本音階）を検出する手段である。図４５に示すように、キー検出部１１８は、相対コード確率生成部１８２、特徴量準備部１８４、キー確率計算部１８６、及びキー決定部１８８を含む。
【０１６５】
まず、相対コード確率生成部１８２には、コード確率検出部１２０からコード確率が入力される。そして、相対コード確率生成部１８２は、コード確率検出部１２０から入力されたビート区間ごとのコード確率から、ビート区間ごとのキー確率の算出に用いられる相対コード確率を生成する。例えば、相対コード確率生成部１８２は、図４６に示すような方法で相対コード確率を生成する。まず、相対コード確率生成部１８２は、ある注目ビート区間のコード確率から、メジャーコード及びマイナーコードに関するコード確率を抽出する。ここで抽出されたコード確率は、メジャーコード１２音とマイナーコード１２音の合計２４次元のベクトルで表現される。以下の説明では、Ｃ音をキーと仮定した相対コード確率として、ここで抽出されたコード確率を含む２４次元のベクトルを扱うことにする。
【０１６６】
次に、相対コード確率生成部１８２は、抽出したメジャーコード及びマイナーコードのコード確率について１２音の要素位置を所定数だけシフトさせる。このようにシフトさせることで、１１通りの相対コード確率が生成される。なお、要素位置をシフトさせるシフト数は、図４１で説明したルート別特徴量の生成時と同じシフト数とする。このようにして相対コード確率生成部１８２によりＣ音からＢ音までの１２音をそれぞれキーと仮定した相対コード確率が１２通り生成される。相対コード確率生成部１８２は、このような相対コード確率生成処理を全てのビート区間について行い、生成した相対コード確率を特徴量準備部１８４に入力する。
【０１６７】
特徴量準備部１８４は、ビート区間ごとのキー確率の算出に用いる特徴量を生成する。特徴量準備部１８４で生成される特徴量としては、相対コード確率生成部１８２から特徴量準備部１８４に入力される相対コード確率から生成されるビート区間ごとのコード出現スコア及びコード遷移出現スコアが用いられる。
【０１６８】
まず、特徴量準備部１８４は、図４７に示すような方法でビート区間ごとのコード出現スコアを生成する。まず、特徴量準備部１８４は、注目ビート区間の前後Ｍビート区間分のＣ音をキーと仮定した相対コード確率ＣＰを用意する。そして、特徴量準備部１８４は、前後Ｍビート分の区間にわたって、Ｃ音をキーと仮定した相対コード確率に含まれる同じ位置の要素の確率値を通算する。その結果、注目ビート区間の周囲に位置する複数のビート区間にわたるＣ音をキーと仮定した場合の各コードの出現確率に応じたコード出現スコア（ＣＥＣ、ＣＥＣ＃、…、ＣＥＢｍ）（２４次元ベクトル）が求められる。特徴量準備部１８４は、Ｃ音からＢ音までの１２音のそれぞれをキーと仮定した場合について、このようなコード出現スコアの計算を行う。この計算により、１つの注目ビート区間について、１２通りのコード出現スコアが求められる。
【０１６９】
次に、特徴量準備部１８４は、図４８に示すような方法でビート区間ごとのコード遷移出現スコアを生成する。まず、特徴量準備部１８４は、ビート区間ＢＤｉ及び隣り合うビート区間ＢＤｉ＋１の間の全てのコードの組合せ（全てのコード遷移）について、コード遷移の前後のＣ音をキーと仮定した相対コード確率を互いに乗算する。全てのコードの組合せとは、“Ｃ”→“Ｃ”、“Ｃ”→“Ｃ＃”、“Ｃ”→“Ｄ”、…“Ｂ”→“Ｂ”の２４×２４通りの組合せを言う。次いで、特徴量準備部１８４は、注目ビート区間の前後Ｍビート分の区間にわたり、コード遷移の前後の相対コード確率の乗算結果を通算する。その結果、注目ビート区間の周囲に位置する複数のビート区間にわたるＣ音をキーと仮定した場合の各コード遷移の出現確率に応じた２４×２４次元のコード遷移出現スコア（２４×２４次元ベクトル）が求められる。例えば、注目ビート区間ＢＤｉにおける“Ｃ”→“Ｃ＃”のコード遷移についてのコード遷移出現スコアＣＴＣ→Ｃ＃（ｉ）は、下記の式（１５）により与えられる。
【０１７０】
【数１１】
2010134290.tif 000017
…（１５）
【０１７１】
このように、特徴量準備部１８４は、Ｃ音からＢ音までの１２音のそれぞれをキーと仮定した場合について、２４×２４通りのコード遷移出現スコアＣＴの計算を行う。この計算により、１つの注目ビート区間について、１２通りのコード遷移出現スコアが求められる。なお、楽曲のキーは、小節ごとに変化することが多いコードとは異なり、より長い区間にわたって変化しないことが多い。そのため、コード出現スコアやコード遷移出現スコアの算出に用いる相対コード確率の範囲を定義するＭの値は、例えば、数十ビートなど、多数の小節を含む値とするのが好適である。特徴量準備部１８４は、キー確率を計算するための特徴量として、ビート区間ごとに計算した２４次元のコード出現スコアＣＥ及び２４×２４次元のコード遷移出現スコアをキー確率計算部１８６に入力する。
【０１７２】
キー確率計算部１８６は、特徴量準備部１８４から入力されたコード出現スコア及びコード遷移出現スコアを用いて、ビート区間ごとに各キーが演奏されている確率（キー確率）を算出する。各キーとは、例えば、１２音（Ｃ、Ｃ＃、Ｄ…）及び長短（メジャー／マイナー）により区別されるキーを言う。キー確率の算出には、例えば、ロジスティック回帰分析によって予め学習されたキー確率算出式を用いる。例えば、キー確率計算部１８６は、図４９に示すような方法でキー確率の計算に用いられるキー確率算出式を生成する。なお、キー確率算出式の学習は、メジャーキーとマイナーキーとに分けて行われる。その結果、メジャーキー確率算出式及びマイナーキー確率算出式が生成される。
【０１７３】
図４９に示すように、ロジスティック回帰分析における独立変数として、正解のキーが既知であるビート区間ごとのコード出現スコア及びコード出現進行スコアが複数用意される。次に、用意されたコード出現スコア及びコード出現進行スコアの組のそれぞれについて、ロジスティック回帰分析により生起確率を予測するダミーデータが用意される。例えば、メジャーキー確率算出式を学習する場合、ダミーデータの値は、既知のキーがメジャーキーであれば真値（１）、それ以外なら偽値（０）となるものである。また、マイナーキー確率算出式を学習する場合、ダミーデータの値は、既知のキーがマイナーキーであれば真値（１）、それ以外なら偽値（０）となるものである。
【０１７４】
このような独立変数とダミーデータの十分な数の組を用いてロジスティック回帰分析を行うことで、ビート区間ごとのコード出現スコア及びコード出現進行スコアからメジャーキー又はマイナーキーの確率を算出するためのキー確率算出式が生成される。キー確率計算部１８６は、各キー確率算出式に対して特徴量準備部１８４から入力されたコード出現スコア及びコード出現進行スコアを適用し、各キーについてビート区間ごとにキー確率を順次算出する。例えば、図５０に示すような方法でキー確率が計算される。
【０１７５】
例えば、図５０の（Ａ）で、キー確率計算部１８６は、予め学習により取得したメジャーキー確率算出式に対してＣ音をキーと仮定したコード出現スコア及びコード出現進行スコアを適用し、各ビート区間についてキーが“Ｃ”であるキー確率ＫＰＣを計算する。また、キー確率計算部１８６は、マイナーキー確率算出式にＣ音をキーと仮定したコード出現スコア及びコード出現進行スコアを適用し、当該ビート区間についてキーが“Ｃｍ”であるキー確率ＫＰＣｍを計算する。同様に、キー確率計算部１８６は、メジャーキー確率算出式及びマイナーキー確率算出式に対してＣ＃音をキーと仮定したコード出現スコア及びコード出現進行スコアを適用し、キー確率ＫＰＣ＃及びＫＰＣ＃ｍを計算する（Ｂ）。キー確率ＫＰＢ及びＫＰＢｍについても同様に計算される（Ｃ）。
【０１７６】
このような計算により、例えば、図５１に示すようなキー確率が算出される。図５１を参照すると、ある１つのビート区間について、Ｃ音からＢ音までの１２音ごとに“Ｍａｊ（メジャー）”及び“ｍ（マイナー）”の２種類のキー確率が計算されている。図５１の例では、キー確率ＫＰＣ＝０．９０、キー確率ＫＰＣｍ＝０．０３である。また、これらキー確率以外の確率値はいずれもゼロである。キー確率計算部１８６は、全てのキーの種類についてキー確率を算出した後、算出した確率値の合計が１つのビート区間内で１となるように確率値を正規化する。そして、キー確率計算部１８６による計算及び正規化処理は、音声信号に含まれる全てのビート区間について繰り返される。このようにしてビート区間ごとに算出された各キーのキー確率は、キー決定部１８８に入力される。
【０１７７】
キー決定部１８８は、キー確率計算部１８６でビート区間ごとに算出された各キーのキー確率に基づいて、尤もらしいキーの進行を経路探索により決定する。キー決定部１８８による経路探索の手法としては、例えば、上述したビタビ探索アルゴリズムが用いられる。例えば、図５２に示す方法でビタビ経路の経路探索が行われる。このとき、時間軸（横軸）としてビートが順に配置され、観測系列（縦軸）としてキーの種類が配置される。そのため、キー決定部１８８は、キー確率計算部１８６においてキー確率を算出したビートとキーの種類の全ての組合せの１つ１つを経路探索の対象ノードとする。
【０１７８】
このようなノードに対し、キー決定部１８８は、時間軸に沿っていずれかのノードを順に選択していき、選択された一連のノードで形成される経路を（１）キー確率、及び（２）キー遷移確率の２つの評価値を用いて評価する。なお、キー決定部１８８によるノードの選択に際しては、ビートをスキップすることは許可されないものとする。但し、評価に用いる（１）キー確率は、キー確率計算部１８６で算出されたキー確率である。そのため、キー確率は、図５２の各ノードに与えられる。一方、（２）キー遷移確率は、ノード間の遷移に対して与えられる評価値である。キー遷移確率は、キーが既知である楽曲における転調の発生確率に基づいて転調のパターンごとに予め定義される。
【０１７９】
キー遷移確率としては、遷移の前後のキーの種類のパターン、即ちメジャーからメジャー、メジャーからマイナー、マイナーからメジャー、マイナーからマイナーの４つのパターンごとに、遷移に伴う転調量に応じた１２通りの値が定義される。図５３には、メジャーからメジャーへのキーの遷移における転調量に応じた１２通りの確率値が一例として示されている。転調量Δｋに対応するキー遷移確率をＰｒ（Δｋ）とすると、図５３の例では、キー遷移確率Ｐｒ（０）は、Ｐｒ（０）＝０．９９８７である。この値は、楽曲内でキーが変わる確率が非常に低いことを表している。一方、キー遷移確率Ｐｒ（１）は、Ｐｒ（１）＝０．０００２である。これは、キーが１音程上がる（又は１１音程下がる）確率が０．０２％であることを表している。同様に、図５３の例では、Ｐｒ（２）＝Ｐｒ（３）＝Ｐｒ（４）＝Ｐｒ（５）＝Ｐｒ（７）＝Ｐｒ（８）＝Ｐｒ（９）＝Ｐｒ（１０）＝０．０００１である。また、Ｐｒ（６）＝Ｐｒ（１１）＝０．００００である。この他、メジャーからマイナー、マイナーからメジャー、マイナーからマイナーの各遷移パターンについても、同様に転調量に応じた１２通りの確率値がそれぞれ予め定義される。
【０１８０】
キー決定部１８８は、キー進行を表す各経路について、その経路に含まれる各ノードの（１）キー確率と、各ノード間の遷移に対して与えられる（２）キー遷移確率とを順次乗算する。そして、キー決定部１８８は、経路の評価値としての乗算結果が最大となる経路を尤もらしいキー進行を表す最適な経路に決定する。例えば、図５４に示すようなキー進行がキー決定部１８８により決定される。図５４には、楽曲の先頭から終端までの時間のスケールの下に、キー決定部１８８により決定された楽曲のキー進行の一例が示されている。この例では、楽曲の先頭から３分経過時点まで楽曲のキーが“Ｃｍ”である。その後、楽曲のキーは“Ｃ＃ｍ”に変化し、楽曲の終端までそのキーが続いている。このように、相対コード確率生成部１８２、特徴量準備部１８４、キー確率計算部１８６、キー決定部１８８の処理により決定されたキー進行は、メロディーライン決定部１１２に入力される（図２を参照）。
【０１８１】
以上、ビート検出部１１６、コード確率検出部１２０、及びキー検出部１１８の構成について詳細に説明した。上記の通り、ビート検出部１１６で検出された楽曲のビートは、コード確率検出部１２０、及び平滑化部１１４で利用される。また、コード確率検出部１２０で算出されたコード確率は、キー検出部１１８で利用される。さらに、キー検出部１１８で検出されたキー進行は、メロディーライン決定部１１２で利用される。このような構成にすることで、情報処理装置１００において、楽曲データから精度良くメロディーラインを抽出することができるようになる。
【０１８２】
［２−１０．ハードウェア構成（情報処理装置１００）］
上記装置が有する各構成要素の機能は、例えば、図５５に示すハードウェア構成により、上記の機能を実現するためのコンピュータプログラムを用いて実現することが可能である。図５５は、上記装置の各構成要素が有する機能を実現することが可能な情報処理装置のハードウェア構成を示す説明図である。この情報処理装置の形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は各種の情報家電等の形態がこれに含まれる。なお、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１８３】
図５５に示すように、情報処理装置１００は、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、外部バス９１２と、インターフェース９１４とを有する。さらに、情報処理装置１００は、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。なお、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。さらに、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１８４】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、例えば、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する。ＲＡＭ９０６は、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等を一時的又は永続的に格納する。これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８によって相互に接続されている。また、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続されている。
【０１８５】
入力部９１６は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等の操作手段である。また、入力部９１６は、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントロール手段（所謂、リモコン）であってもよい。なお、入力部９１６は、上記の操作手段を用いて入力された情報を入力信号としてＣＰＵ９０２に伝送するための入力制御回路等により構成されている。
【０１８６】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置が用いられる。また、出力部９１８としては、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置が用いられる。記憶部９２０は、各種のデータを格納するための装置であり、例えば、ＨＤＤ等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等により構成される。なお、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。さらに、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。そして、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。また、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１８７】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディアが用いられる。さらに、リムーバブル記録媒体９２８としては、コンパクトフラッシュ（登録商標）（ＣＦ；ＣｏｍｐａｃｔＦｌａｓｈ）、メモリースティック、又はＳＤメモリカード等が用いられる。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード等であってもよい。なお、上記のＳＤは、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌの略である。また、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１８８】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。なお、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１８９】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等が用いられる。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成される。ネットワーク９３２は、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。なお、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。さらに、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１９０】
［２−１１．まとめ］
最後に、本実施形態の情報処理装置が有する機能構成と、当該機能構成により得られる作用効果について簡単に纏める。
【０１９１】
まず、本実施形態に係る情報処理装置の機能構成は次のように表現することができる。当該情報処理装置は、次のような信号変換部、メロディー確率推定部、及びメロディーライン決定部を有する。上記の信号変換部は、音声信号を音程毎の信号強度を表す音程信号に変換するものである。音声信号は、通常、時間−周波数空間の信号強度分布として与えられる。しかし、各音程の中心周波数は、対数で分布するため、信号処理が複雑化してしまう。そこで、上記の信号変換部により音程信号に変換するのである。音声信号を時間−音程空間の音程信号に変換することで後段において実施される処理の効率を高めることができる。
【０１９２】
また、上記のメロディー確率推定部は、前記音程信号の各音程がメロディー音である確率（メロディー確率）を推定するものである。このとき、メロディー確率推定部は、音程信号のフレーム（時間単位）毎にメロディー確率を推定する。メロディー確率の推定には、例えば、既に述べた学習アルゴリズムが用いられる。そして、フレーム毎に推定されたメロディー確率は、メロディーライン決定部で利用される。上記のメロディーライン決定部は、メロディー確率推定部でフレーム毎に推定された前記各音程がメロディー音である確率に基づき、音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してメロディーラインに決定するものである。このように、メロディーライン全体が学習アルゴリズムを用いて推定されるのではなく、フレーム毎に学習アルゴリズムを用いて推定されたメロディー確率に基づき、経路探索によりメロディーラインが推定される。その結果、メロディーラインの推定精度を向上させることが可能になる。
【０１９３】
また、上記の情報処理装置は、前記音声信号がステレオ信号である場合に当該ステレオ信号からセンター信号を抽出するセンター抽出部をさらに備えていてもよい。センター抽出部を備えることで、ステレオ信号からメロディーラインを推定する際に、その推定精度を向上させることが可能になる。なお、センター抽出部を設ける場合、前記信号変換部は、前記センター抽出部で抽出されたセンター信号を前記音程信号に変換する。そして、センター信号から変換された音程信号に基づいて後段の処理が実行される。
【０１９４】
また、上記の情報処理装置は、前記音声信号を所定の分類項目に分類する信号分類部をさらに備えていてもよい。この場合、前記メロディー確率推定部は、前記信号分類部の分類結果に基づいて前記各音程がメロディー音である確率を推定する。さらに、前記メロディーライン決定部は、前記信号分類部の分類結果に基づいて前記最尤経路を検出する。上記の通り、メロディー確率の推定は、学習アルゴリズムを用いて実現される。そのため、学習アルゴリズムに与えられる音声信号（及び特徴量）を分類で絞り込むことで、より尤もらしいメロディー確率が推定できる。さらに、経路探索する際、各ノード（フレーム毎の音程）の確率及びノード間遷移の確率に分類毎の重み付けを行うことで、最尤経路（メロディーライン）の推定精度を高めることができる。
【０１９５】
また、上記の情報処理装置は、前記音程信号について、メロディー音である音程の期待値をフレーム毎に推定すると共に、メロディー音である音程の標準偏差を推定する音程分布推定部をさらに備えていてもよい。音程分布推定部により推定された期待値、及び標準偏差から大まかなメロディー確率分布が得られる。そこで、前記メロディーライン決定部は、前記音程分布推定部の推定結果に基づいて前記最尤経路を検出する。このように、大まかなメロディー確率分布を考慮することで、オクターブの検出間違いを低減させることが可能になる。
【０１９６】
また、前記メロディーライン決定部で決定されたメロディーラインの音程をビート区間毎に平滑化する平滑化部をさらに備えていてもよい。上記の通り、メロディーライン決定部で決定されるメロディーラインは、メロディー確率の推定処理、及び経路探索処理により推定されてものである。そのため、フレーム単位の細かな音程のぶれが含まれている。そこで、平滑化部は、ビート区間単位で音程を平滑化してメロディーラインを整形する。このような整形処理が行われることで、実際のメロディーラインに近い綺麗なメロディーラインが出力される。
【０１９７】
また、前記メロディー確率推定部は、任意の音声信号が持つ特徴量を抽出する計算式を複数の音声信号及び当該各音声信号の前記特徴量を用いて生成する計算式生成装置に対してメロディーラインが既知の音声信号と当該メロディーラインとを与えて前記メロディー音である確率を抽出するための計算式を生成し、当該計算式を用いて前記各音程がメロディー音である確率をフレーム毎に推定するように構成されていてもよい。このように、メロディー確率の推定処理には、例えば、特徴量が既知の音声信号を用いた学習処理で生成される計算式が用いられる。十分な数の音声信号を用いて学習処理が行われることで、精度良くメロディー確率が推定される。
【０１９８】
また、上記の情報処理装置は、前記音声信号の各ビート区間を検出するビート検出部と、前記ビート検出部で検出されたビート区間毎に各コードが演奏されている確率を検出するコード確率検出部と、前記コード確率検出部でビート区間毎に検出された前記各コードが演奏されている確率を用いて前記音声信号のキーを検出するキー検出部と、をさらに備えていてもよい。この場合、前記メロディーライン決定部は、前記キー検出部で検出されたキーに基づいて前記最尤経路を検出する。このように、音声信号のキーを考慮して経路探索を行うことで、メロディーラインの推定精度を高めることができる。特に、ビブラート等の影響で半音単位の検出間違いが発生する頻度を低減させることが可能になる。
【０１９９】
また、上記の情報処理装置は、音声信号を音程毎の信号強度を表す音程信号に変換する信号変換部と、前記音程信号の各音程がベース音である確率を推定するベース確率推定部と、前記ベース確率推定部でフレーム毎に推定された前記各音程がベース音である確率に基づき、前記音声信号の開始フレームから終了フレームまでを結ぶ音程の経路から最尤経路を検出してベースラインに決定するベースライン決定部と、を備えるものであってもよい。このように、上記の情報処理装置は、メロディーラインの推定処理と同様にしてベースラインの推定を行うこともできる。
【０２００】
（備考）
上記のログスペクトルは、音程信号の一例である。上記のログスペクトル解析部１０４は、信号変換部の一例である。上記のビタビ探索は、最尤経路の検出方法の一例である。上記の特徴量計算式生成装置１０は、計算式生成装置の一例である。
【０２０１】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０２０２】
上記実施形態の説明では、楽曲のメロディーラインを抽出する方法について説明した。しかしながら、本実施形態の技術は、ベースラインを抽出する方法にも応用することが可能である。例えば、学習データとして与えられるメロディーラインに関する情報をベースラインのものに変更することで、実質的に同じ構成により、楽曲データから精度良くベースラインを抽出することが可能になる。
【図面の簡単な説明】
【０２０３】
【図１】特徴量を計算するためのアルゴリズムを自動生成する特徴量計算式生成装置の一構成例を示す説明図である。
【図２】本発明の一実施形態に係る情報処理装置（メロディーライン抽出装置）の機能構成例を示す説明図である。
【図３】同実施形態に係るセンター抽出方法の一例を示す説明図である。
【図４】同実施形態に係るログスペクトル生成方法の一例を示す説明図である。
【図５】同実施形態に係るログスペクトル生成方法で生成されるログスペクトルの一例を示す説明図である。
【図６】同実施形態に係る楽曲の分類例を示す説明図である。
【図７】同実施形態に係る分類推定方法の一例を示す説明図である。
【図８】同実施形態に係るログスペクトルの切り出し方法の一例を示す説明図である。
【図９】同実施形態に係るメロディーラインの分布推定方法により推定されるメロディーラインの期待値及び標準偏差の一例を示す説明図である。
【図１０】同実施形態に係るメロディー確率の推定方法の一例を示す説明図である。
【図１１】同実施形態に係るメロディー確率の推定方法の一例を示す説明図である。
【図１２】同実施形態に係るメロディー確率の推定方法の一例を示す説明図である。
【図１３】同実施形態に係るメロディーライン決定方法の一例を示す説明図である。
【図１４】同実施形態に係るメロディーライン決定方法の一例を示す説明図である。
【図１５】同実施形態に係るメロディーライン決定方法の一例を示す説明図である。
【図１６】同実施形態に係るメロディーライン決定方法に用いるビートを検出するためのビート検出部のより詳細な機能構成例を示す説明図である。
【図１７】同実施形態に係るビート検出方法の一例を示す説明図である。
【図１８】同実施形態に係るビート検出方法の一例を示す説明図である。
【図１９】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２０】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２１】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２２】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２３】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２４】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２５】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２６】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２７】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２８】同実施形態に係るビート検出方法の一例を示す説明図である。
【図２９】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３０】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３１】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３２】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３３】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３４】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３５】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３６】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３７】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３８】同実施形態に係るビート検出方法の一例を示す説明図である。
【図３９】同実施形態に係るコード確率算出部のより詳細な機能構成例を示す説明図である。
【図４０】同実施形態に係るコード確率算出方法の一例を示す説明図である。
【図４１】同実施形態に係るコード確率算出方法の一例を示す説明図である。
【図４２】同実施形態に係るコード確率算出方法の一例を示す説明図である。
【図４３】同実施形態に係るコード確率算出方法の一例を示す説明図である。
【図４４】同実施形態に係るコード確率算出方法の一例を示す説明図である。
【図４５】同実施形態に係るキー検出部のより詳細な機能構成例を示す説明図である。
【図４６】同実施形態に係るキー検出方法の一例を示す説明図である。
【図４７】同実施形態に係るキー検出方法の一例を示す説明図である。
【図４８】同実施形態に係るキー検出方法の一例を示す説明図である。
【図４９】同実施形態に係るキー検出方法の一例を示す説明図である。
【図５０】同実施形態に係るキー検出方法の一例を示す説明図である。
【図５１】同実施形態に係るキー検出方法の一例を示す説明図である。
【図５２】同実施形態に係るキー検出方法の一例を示す説明図である。
【図５３】同実施形態に係るキー検出方法の一例を示す説明図である。
【図５４】同実施形態に係るキー検出方法の一例を示す説明図である。
【図５５】同実施形態に係る情報処理装置のハードウェア構成例を示す説明図である。
【符号の説明】
【０２０４】
１０    特徴量計算式生成装置
１２    オペレータ記憶部
１４    抽出式生成部
１６    オペレータ選択部
２０    抽出式リスト生成部
２２    抽出式選択部
２４    計算式設定部
２６    計算式生成部
２８    抽出式計算部
３０    係数算出部
３２    特徴量選択部
３４    評価データ取得部
３６    教師データ取得部
３８    式評価部
４０    計算式評価部
４２    抽出式評価部
１００    情報処理装置
１０２    センター抽出部
１０４    ログスペクトル解析部
１０６    分類推定部
１０８    音程分布推定部
１１０    メロディー確率推定部
１１２    メロディーライン決定部
１１４    平滑化部
１１６    ビート検出部
１１８    キー検出部
１２０    コード確率検出部
１２２    左チャネル帯域分割部
１２４    右チャネル帯域分割部
１２６    帯域通過フィルタ
１２８    左チャネル帯域合成部
１３０    右チャネル帯域合成部
１３２    再標本化部
１３４    オクターブ分割部
１３６    バンドパスフィルタバンク
１４２    ビート確率算出部
１４４    ビート解析部
１５２    オンセット検出部
１５４    ビートスコア計算部
１５６    ビート探索部
１５８    一定テンポ判定部
１６０    一定テンポ用ビート再探索部
１６２    ビート決定部
１６４    テンポ補正部
１７２    ビート区間特徴量計算部
１７４    ルート別特徴量準備部
１７６    コード確率計算部
１８２    相対コード確率生成部
１８４    特徴量準備部
１８６    キー確率計算部
１８８    キー決定部
【図１】
2010134290.tif 000018
【図２】
2010134290.tif 000019
【図３】
2010134290.tif 000020
【図４】
2010134290.tif 000021
【図６】
2010134290.tif 000022
【図７】
2010134290.tif 000023
【図１２】
2010134290.tif 000024
【図１４】
2010134290.tif 000025
【図１５】
2010134290.tif 000026
【図１６】
2010134290.tif 000027
【図１７】
2010134290.tif 000028
【図１８】
2010134290.tif 000029
【図１９】
2010134290.tif 000030
【図２０】
2010134290.tif 000031
【図２１】
2010134290.tif 000032
【図２２】
2010134290.tif 000033
【図２３】
2010134290.tif 000034
【図２４】
2010134290.tif 000035
【図２５】
2010134290.tif 000036
【図２６】
2010134290.tif 000037
【図２７】
2010134290.tif 000038
【図２８】
2010134290.tif 000039
【図２９】
2010134290.tif 000040
【図３０】
2010134290.tif 000041
【図３１】
2010134290.tif 000042
【図３２】
2010134290.tif 000043
【図３３】
2010134290.tif 000044
【図３４】
2010134290.tif 000045
【図３５】
2010134290.tif 000046
【図３６】
2010134290.tif 000047
【図３７】
2010134290.tif 000048
【図３８】
2010134290.tif 000049
【図３９】
2010134290.tif 000050
【図４０】
2010134290.tif 000051
【図４１】
2010134290.tif 000052
【図４２】
2010134290.tif 000053
【図４３】
2010134290.tif 000054
【図４４】
2010134290.tif 000055
【図４５】
2010134290.tif 000056
【図４６】
2010134290.tif 000057
【図４７】
2010134290.tif 000058
【図４８】
2010134290.tif 000059
【図４９】
2010134290.tif 000060
【図５０】
2010134290.tif 000061
【図５１】
2010134290.tif 000062
【図５２】
2010134290.tif 000063
【図５３】
2010134290.tif 000064
【図５４】
2010134290.tif 000065
【図５５】
2010134290.tif 000066
【図５】
2010134290.tif 000067
【図８】
2010134290.tif 000068
【図９】
2010134290.tif 000069
【図１０】
2010134290.tif 000070
【図１１】
2010134290.tif 000071
【図１３】
2010134290.tif 000072