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