(57)【要約】  複数の楽器演奏からなる音響信号から各楽器音ごとに音源を分離する。分離処理が行われるたびに、更新モデルパラメータ推定記憶部１１４が、更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、更新モデルパラメータにそれぞれ含まれるパラメータを推定する。そして更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部１１２に記憶された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトル分離記憶部１１２から更新分配関数計算記憶部１１８までの各部が処理動作を繰り返す。最終的な更新パワースペクトルは、調波モデルと非調波モデルとを含んで構成された、入力音響信号に含まれる一つの楽器の単音のパワースペクトルに近いものとなる。
2008133097.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した前記複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを記憶する楽譜情報データ記憶部と、
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、前記複数種類の楽譜に含まれる複数の単音をそれぞれ前記複数のモデルパラメータに置き換えて、前記複数種類の楽譜に対応した、複数の前記モデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成して記憶手段に記憶するモデルパラメータ集合データ作成記憶部と、
前記複数種類のモデルパラメータ集合データから、各時刻における前記モデルパラメータを読み出し、読み出した複数の前記モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した前記複数のモデルパラメータに対応した複数の初期パワースペクトルを生成して記憶手段に記憶する第１のパワースペクトル生成記憶部と、
各時刻において、前記第１のパワースペクトル生成記憶部に記憶された前記複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算して記憶手段に記憶する初期分配関数計算記憶部と、
第１回目の分離処理においては、各時刻の前記入力音響信号のパワースペクトルから、各時刻における前記複数の初期分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離して記憶手段に記憶し、第２回目以降の分離処理においては更新分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離して当該記憶手段に記憶するパワースペクトル分離記憶部と、
各時刻において分離された前記複数のパワースペクトルから、それぞれ前記調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の前記更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成して記憶手段に記憶する更新モデルパラメータ推定記憶部と、
前記更新モデルパラメータ推定記憶部に記憶されている前記複数種類の更新モデルパラメータ集合データから、各時刻における前記更新モデルパラメータを読み出して、読み出した複数の前記更新モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、読み出した前記複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成して記憶手段に記憶する第２のパワースペクトル生成記憶部と、
各時刻において、前記第２のパワースペクトル生成記憶部に記憶された前記複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の更新パワースペクトルの割合を示す複数の前記更新分配関数を計算して記憶手段に記憶する更新分配関数計算記憶部とを備え、
前記パワースペクトル分離記憶部が第２回目以降の前記分離処理を行うたびに、前記更新モデルパラメータ推定記憶部は、前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトル分離記憶部に記憶された最新の前記複数のパワースペクトルに近い状態に徐々に近付くように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定するように構成され、
前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトル分離記憶部に記憶された最新の前記複数のパワースペクトルに近い状態になるまで、前記パワースペクトル分離記憶部と、前記更新モデルパラメータ推定記憶部と、前記第２のパワースペクトル生成記憶部と、前記更新分配関数計算記憶部とが処理動作を繰り返すことを特徴とする音源分離システム。
【請求項２】
前記パワースペクトル分離記憶部が前記分離処理を行うたびに、前記パワースペクトル分離記憶部に記憶された各時刻における前記複数のパワースペクトルと前記第２のパワースペクトル生成記憶部に記憶された各時刻における前記複数の更新パワースペクトルとの間のＫＬダイバージェンスＪ１×α（前記αは０≦α≦１を満たす実数）と、前記第２のパワースペクトル生成記憶部に記憶された各時刻における前記複数の更新パワースペクトルと前記第１のパワースペクトル生成記憶部に記憶された各時刻における前記複数の初期パワースペクトルとの間のＫＬダイバージェンスＪ２×（１−α）のすべての総和Ｊ０に基づいてコスト関数Ｊを定め、該コスト関数を最小化するように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定するべく更新モデルパラメータ推定記憶部が構成され、前記αは前記分離処理が行われるたびに増加し、αが１になるまで、前記パワースペクトル分離記憶部と、前記更新モデルパラメータ推定記憶部と、第２のパワースペクトル生成記憶部と、前記更新分配関数計算記憶部とが処理動作を繰り返すことを特徴とする請求項１に記載の音源分離システム。
【請求項３】
前記第１及び第２のモデルパラメータ変換式では、それぞれ下記の調波・非調波混合モデルを用い、
ｈkl＝ｒklc（Ｈkl（ｔ，ｆ）＋Ｉkl（ｔ，ｆ））
前記ｈklは単音のパワースペクトルであり、
前記ｒklcは各チャンネルの相対的な強度を表すパラメータであり、
Ｈkl（ｔ，ｆ）は音量、基本周波数Ｆ０の時間変化、パワーエンベロープの概形を表現するｙ番目のガウシアンの重み係数、ｎ次倍音成分の相対強度、オンセット時刻、音長及び周波数方向の分散という特徴量を表す複数のパラメータにより構成される調波モデルであり、
前記Ｉkl（ｔ，ｆ）はノンパラメトリックな関数によって表される非調波モデルである請求項２に記載の音源分離システム。
【請求項４】
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記非調波モデルが調波構造を表現しないための制約条件を含んでいる請求項３に記載の音源分離システム。
【請求項５】
前記調波モデルは、音高の時間変化を扱うための関数μkl（ｔ）を含んでおり、
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記基本周波数Ｆ０が時間的に不連続値をとらないための制約条件を含んでいる請求項４に記載の音源分離システム。
【請求項６】
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記調波モデルについて同一楽器の単音に対して倍音成分の相対強度比を一定にするための制約条件を含んでいる請求項５に記載の音源分離システム。
【請求項７】
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記非調波モデルについて同一楽器の単音に対して非調波成分比を一定にするための制約条件を含んでいる請求項６に記載の音源分離システム。
【請求項８】
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音に対応した複数の標準的なパワースペクトルにより表現された複数のテンプレートに基づいて、前記複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成して記憶手段に予め記憶する音モデル構成用モデルパラメータ作成記憶部を更に備えており、
前記モデルパラメータ集合データ作成記憶部は、前記音モデル構成用モデルパラメータ作成記憶部に記憶された前記複数のモデルパラメータを用いて、前記モデルパラメータ集合データを作成する請求項１に記載の音源分離システム。
【請求項９】
前記楽譜情報データに含まれる前記複数の楽器ごとの複数の単音の情報を複数のパラメータ音に変換する音響変換手段と、前記複数のパラメータ音の複数のパワースペクトルを、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成する音モデル構成用モデルパラメータ作成部とを更に備えており、
前記モデルパラメータ集合データ作成記憶部は、前記音モデル構成用モデルパラメータ作成部が作成した前記複数のモデルパラメータを用いて、前記モデルパラメータ集合データを作成する請求項１に記載の音源分離システム。
【請求項１０】
複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した前記複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意するステップと、
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、前記調波・非調波混合モデルをそれぞれ構成するための、複数のパラメータを含む複数のモデルパラメータを用いて、前記複数種類の楽譜に含まれる複数の単音をそれぞれ前記複数のモデルパラメータに置き換えて、前記複数種類の楽譜に対応した、複数の前記モデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成するステップと、
前記複数種類のモデルパラメータ集合データから、各時刻における前記モデルパラメータを読み出し、読み出した複数の前記モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した前記複数のモデルパラメータに対応した複数の初期パワースペクトルを生成するステップと、
各時刻において、前記複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算するステップと、
第１回目の分離処理においては、各時刻の前記入力音響信号のパワースペクトルから、各時刻における前記複数の初期分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離し、第２回目以降の分離処理においては更新分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離するステップと、
各時刻において分離された前記複数のパワースペクトルから、それぞれ前記調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の前記更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成するステップと、
前記複数種類の更新モデルパラメータ集合データから、各時刻における前記更新モデルパラメータを読み出して、読み出した複数の前記更新モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、前記読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成するステップと、
各時刻において、前記複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の更新パワースペクトルの割合を示す複数の前記更新分配関数を計算するステップと、
第２回目以降の前記分離処理を行うたびに、前記更新モデルパラメータを推定するステップでは、前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態に徐々に近付くように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定し、
前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態になるまで、前記パワースペクトルを分離するステップと、更新モデルパラメータを推定するステップと、前記更新パワースペクトルを生成するステップと、前記更新分配関数を計算するステップとを繰り返すことをコンピュータが実施することを特徴とする音源分離方法。
【請求項１１】
前記パワースペクトルを分離するステップで、第２回目以降の前記分離処理を行うたびに、各時刻における前記複数のパワースペクトルと各時刻における前記複数の更新パワースペクトルとの間のＫＬダイバージェンスＪ１×α（前記αは０≦α≦１を満たす実数）と、各時刻における前記複数の更新パワースペクトルと各時刻における前記複数の初期パワースペクトルとの間のＫＬダイバージェンスＪ２×（１−α）のすべての総和Ｊ０に基づいてコスト関数Ｊを定め、該コスト関数を最小化するように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定し、前記αを前記分離処理が行われるたびに増加させて、前記αが１になると前記分離処理を停止する請求項１０に記載の音源分離方法。
【請求項１２】
コンピュータにインストールされて下記のステップを実行する音源分離用コンピュータプログラムであって、
複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した前記複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意するステップと、
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、前記複数種類の楽譜に含まれる複数の単音をそれぞれ前記複数のモデルパラメータに置き換えて、前記複数種類の楽譜に対応した、複数の前記モデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成するステップと、
前記複数種類のモデルパラメータ集合データから、各時刻における前記モデルパラメータを読み出し、読み出した複数の前記モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した前記複数のモデルパラメータに対応した複数の初期パワースペクトルを生成するステップと、
各時刻において、前記複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算するステップと、
第１回目の分離処理においては、各時刻の前記入力音響信号のパワースペクトルから、各時刻における前記複数の初期分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離し、第２回目以降の分離処理においては更新分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離するステップと、
各時刻において分離された前記複数のパワースペクトルから、それぞれ前記調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の前記更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成するステップと、
前記複数種類の更新モデルパラメータ集合データから、各時刻における前記更新モデルパラメータを読み出して、読み出した複数の前記更新モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成するステップと、
各時刻において、前記複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の更新パワースペクトルの割合を示す複数の前記更新分配関数を計算するステップと、
第２回目以降の前記分離処理を行うたびに、前記更新モデルパラメータを推定するステップでは、前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態に徐々に近付くように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定し、
前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態になるまで、前記パワースペクトルを分離するステップと、前記更新モデルパラメータを推定するステップと、前記更新パワースペクトルを生成するステップと、前記更新分配関数を計算するステップとを繰り返すことを特徴とする音源分離用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数種類の楽器音信号が含まれる入力音響信号から各楽器に対応する楽器音信号を分離することを可能にする音源分離システム、方法及びプログラムに関するものである。本発明は特に、調波構造と非調波構造の両方の信号成分を持った「複数の楽器演奏による混合音の音響信号」を各楽器パートごとの音源に分離する音源分離システム、方法、及びこれを実現するためのコンピュータプログラムに関するものである。
【背景技術】
【０００２】
スピーカから出力される音楽音響信号（以下、単に「音響信号」という。）に含まれるドラムなどの非調波構造の信号成分を分離して、他の信号成分に影響を与えることなく独立に音量を増減させることができる音響信号処理システムが知られている（例えば、特許文献１参照）。【０００３】
この従来のシステムは専ら音響信号に含まれる非調波構造の信号のみを対象とするものである。そのため、従来のシステムでは、「非調波構造と調波構造の両方の信号成分を含む混合音」を、それぞれの楽器音ごとに分離することはできなかった。【０００４】
調波構造を表すモデル（以下、本明細書では「調波モデル」という。）と非調波構造を表すモデル（以下、本明細書では「非調波モデル」という。）を同時に扱うモデル（以下、本明細書では「調波・非調波混合モデル」という。）を用いた音源分離技術については報告例が見当たらない。
【特許文献１】特開２００６−５８０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般に、調波構造の信号波形は、基本周波数（Ｆ０）とそのｎ次倍音からなる調波とが重ね合わされたものである。したがって調波構造の信号波形としては、直感的には、音の高さを持つ楽器（ピアノやフルート、ギターなど）が奏でる音の信号波形が該当する。調波構造を持つ信号波形のモデルは、その音響信号のパワースペクトルの特徴量（音高、強度、オンセット時刻、音長、音色など）を推定することで音源分離が可能となることが知られている。特徴量の抽出方法には種々の方法が提案されている。多くの方法では、パラメータを含む関数を定義してそのパラメータを適応学習により推定するというものである。【０００６】
これに対し、非調波構造の信号波形は、調波構造のような基本周波数も高調波もいずれも持たないものである。例えば、音の高さを持たない楽器（ドラムなど）が発する音の波形がこれに当たる。非調波構造を持つ信号波形のモデルは、パワースペクトルでしか表現することができない。【０００７】
両構造を同時に扱うことの難しさは、モデルパラメータに対する制約条件が殆どないために、あらゆるパラメータを同時に扱わなければならない点にある。あらゆるパラメータを同時に扱うと、適応学習を行った際にモデルパラメータを望ましい形で収束させることができない。【０００８】
しかし、多重奏中のあらゆる楽器のパートの音量を自由に調節するためには、調波構造と非調波構造の両方を同時に扱うことが不可欠である。また、一般には調波構造に区分される楽器音であっても、楽器の物理的な構造に由来して厳密には調波的でない信号波形を含む場合も多い。例えば、ピアノの発音機構は、ハンマーが発音時に弦を叩くことによって発生した音をピアノの本体部分で共鳴させることによる。そのため、ピアノの音は厳密には共鳴による調波構造とハンマーの打撃音による非調波構造の両方の音響信号を含むものである。【０００９】
すなわち、楽曲中に含まれる全ての音源を分離するためには、調波的な音響信号と非調波的な音響信号の両方を同時に扱いながらモデルパラメータを望ましい形で収束させることが重要となる。【００１０】
本発明は、調波的な音響信号と非調波的な音響信号の両方の成分を含む混合音の音源を分離するための音源分離システムとこれを実現するためのコンピュータプログラム及び音源分離方法を提供することを主たる目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る音源分離システムは、楽譜情報データ記憶部と、モデルパラメータ集合データ作成記憶部と、第１のパワースペクトル生成記憶部と、初期分配関数計算記憶部と、パワースペクトル分離記憶部と、更新モデルパラメータ推定記憶部と、第２のパワースペクトル生成記憶部と、更新分配関数計算記憶部とを少なくとも備えている。【００１２】
楽譜情報データ記憶部は、複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号（混合音信号）と時間的に同期し且つ複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを記憶する。楽譜情報データとしては、例えば標準ＭＩＤＩファイル（ＳＭＦ）を利用することができる。【００１３】
モデルパラメータ集合データ作成記憶部では、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いる。まずモデルパラメータ集合データ作成記憶部では、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータに置き換える。そして複数種類の楽譜に対応した、複数のモデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成して記憶手段に記憶する。【００１４】
調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータの作成方法は任意である。例えば、音モデル構成用モデルパラメータ作成記憶部を設けてもよい。この音モデル構成用モデルパラメータ作成記憶部は、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音に対応した複数の標準的なパワースペクトルにより表現された複数のテンプレートに基づいて、複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成して記憶手段に予め記憶する。このような音モデル構成用モデルパラメータ作成記憶部を設ける場合には、モデルパラメータ集合データ作成記憶部は、音モデル構成用モデルパラメータ作成記憶部に記憶された複数のモデルパラメータを用いて、モデルパラメータ集合データを作成する。【００１５】
ここでテンプレートとは、例えばＭＩＤＩファイルの楽譜に基づいてＭＩＤＩ音源で生成した各単音のサンプル音（テンプレート音）のパワースペクトルである。具体的には、テンプレートとは、ある種類の楽器が発することができる複数種類の単音（異なる音階の複数種類の単音）を、それぞれ標準的なパワースペクトルで表現したものである。すなわち標準的なギターの「ド」の音を標準的なパワースペクトルで表現したものが、テンプレートである。このギターの「ド」の単音のテンプレートのパワースペクトルは、入力音響信号中に含まれているギターの楽器音信号中の「ド」の単音のパワースペクトルとは、ある程度近似しているが、同じではない。調波・非調波混合モデルは、時刻ｔ、周波数ｆ、k番目の楽器、l番目の単音に対して、調波構造を表現する調波モデルＨkl（ｔ，ｆ）と非調波構造を表現する非調波モデルＩkl（ｔ，ｆ）の線形和として定義される。この調波・非調波混合モデルは、一つのモデルで調波構造の信号成分と非調波構造の信号成分とを含む単音のパワースペクトルを表現するモデルである。したがってk番目の楽器、l番目の単音に対するパワースペクトルをＪkl（ｔ，ｆ）としたした場合、この調波・非調波混合モデルは、概念的にはＪkl（ｔ，ｆ）＝Ｈkl（ｔ，ｆ）＋Ｉkl（ｔ，ｆ）と表すことができる。【００１６】
複数種類の単音に対応した複数のテンプレートも、この調波・非調波混合モデルを満たすものである。【００１７】
また調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成するために、楽譜情報データに含まれる複数の楽器ごとの複数単音の情報をパラメータ音に変換する音響変換手段と、複数のパラメータ音の複数のパワースペクトルを、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成する音モデル構成用モデルパラメータ作成部とを用いることもできる。【００１８】
また第１のパワースペクトル生成記憶部は、複数種類のモデルパラメータ集合データから、各時刻におけるモデルパラメータを読み出し、読み出した複数のモデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータに対応した複数の初期パワースペクトルを生成して記憶手段に記憶する。【００１９】
なお第１のモデルパラメータ変換式としては、下記の調波・非調波混合モデルを用いることができる。【００２０】
ｈkl＝ｒklc（Ｈkl（ｔ，ｆ）＋Ｉkl（ｔ，ｆ））
上記式において、ｈklは単音のパワースペクトルであり、ｒklcは各チャンネルの相対的な強度を表すパラメータである。そしてＨkl（ｔ，ｆ）は音量、基本周波数Ｆ０の時間変化、パワーエンベロープの概形を表現するｙ番目のガウシアンの重み係数、ｎ次倍音成分の相対強度、オンセット時刻、音長及び周波数方向の分散という特徴量を表す複数のパラメータにより構成される調波モデルである。またＩkl（ｔ，ｆ）はノンパラメトリックな関数によって表される非調波モデルである。【００２１】
初期分配関数計算記憶部は、まず各時刻（楽譜上において１つの単音が存在する時刻に相当する）において、第１のパワースペクトル生成記憶部に記憶された複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作る。次に、初期分配関数計算記憶部は、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の初期パワースペクトルの割合（比率）を示す複数の初期分配関数を計算して記憶手段に記憶する。この初期分配関数は、パワースペクトルに含まれる複数の周波数成分ごとの複数の前記割合を含むものである。初期分配関数は、パワースペクトルを構成する調波モデルと非調波モデルのそれぞれについても同様に分配することができる関数である。【００２２】
パワースペクトル分離記憶部は、第１回目の分離処理においては、各時刻の入力音響信号のパワースペクトルから、各時刻における複数の初期分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離して記憶手段に記憶する。そして第２回目以降の分離処理においては、更新分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離して当該記憶手段に記憶する。【００２３】
更新モデルパラメータ推定記憶部は、各時刻において分離された複数のパワースペクトルから、それぞれ調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定する。そして更新モデルパラメータ推定記憶部は、複数の更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成して記憶手段に記憶する。なお更新モデルパラメータ推定記憶部における推定処理については後に説明する。【００２４】
第２のパワースペクトル生成記憶部は、更新モデルパラメータ推定記憶部に記憶されている複数種類の更新モデルパラメータから、各時刻における更新モデルパラメータを読み出して、読み出した複数の更新モデルパラメータに含まれる複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成して記憶手段に記憶する。第２のモデルパラメータ変換式としては、第１のモデルパラメータ変換式と同様の変換式を用いることができる。【００２５】
また更新分配関数計算記憶部は、各時刻において、第２のパワースペクトル生成記憶部に記憶された複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作る。次に、更新分配関数計算記憶部は、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の更新パワースペクトルの割合を示す複数の更新分配関数を計算して記憶手段に記憶する。更新分配関数も、初期分配関数と同様に、パワースペクトルを構成する調波モデルと非調波モデルのそれぞれについても同様に分配することができる関数である。【００２６】
更新モデルパラメータ推定記憶部は、パワースペクトル分離記憶部が第２回目以降の分離処理を行うたびに、更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータを推定するべく構成されている。そして更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトル分離記憶部と、更新モデルパラメータ推定記憶部と、第２のパワースペクトル生成記憶部と、更新分配関数計算記憶部とが処理動作を繰り返す。したがって最終的な各単音の更新モデルパラメータに基づいて作成された更新パワースペクトルは、調波モデルと非調波モデルとを含んで構成された、入力音響信号に含まれる一つの楽器の単音のパワースペクトルに近いものとなる。よって本発明によれば、調波モデルと非調波モデルを含む形で楽器音のパワースペクトルを分離することができる。すなわち本発明によれば、入力音響信号中の楽器音に近い楽器音（音源）を分離することができる。【００２７】
更新モデルパラメータ推定記憶部におけるパラメータの推定は、コスト関数を用いて行うのが好ましい。コスト関数としては、例えば、パワースペクトル分離記憶部が分離処理を行うたびに、パワースペクトル分離記憶部に記憶された各時刻における複数のパワースペクトルと第２のパワースペクトル生成記憶部に記憶された各時刻における複数の更新パワースペクトルとの間のＫＬダイバージェンスＪ１×α（αは０≦α≦１を満たす実数）と、第２のパワースペクトル生成記憶部に記憶された各時刻における複数の更新パワースペクトルと第１のパワースペクトル生成記憶部に記憶された各時刻における複数の初期パワースペクトルとの間のＫＬダイバージェンスＪ２×（１−α）のすべての総和Ｊ０に基づくコスト関数Ｊを用いるのが好ましい。そしてコスト関数を最小化するように、複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータを推定する。なおこの場合、更新モデルパラメータ推定記憶部は、αを分離処理が行われるたびに増加させるように構成する。そしてαが１になるまで、パワースペクトル分離記憶部と、更新モデルパラメータ推定記憶部と、第２のパワースペクトル生成記憶部と、更新分配関数計算記憶部とが処理動作を繰り返すことにより、音源の分離を行うことができる。なおこの場合には、パワースペクトル分離記憶部が第１回目の分離処理を行う際には、αが０になる。特にこのようにして更新モデルパラメータに含まれるパラメータを推定すると、確実に且つ安定した状態で、更新モデルパラメータに含まれるパラメータを収束させることができる。【００２８】
このようなコスト関数を用いると、種々の制約を付けることができて、しかもパラメータの推定精度を高くすることができる。例えば、このコスト関数に、非調波モデルが調波構造を表現しないための制約条件を含めることができる。この制約条件を含めると、パラメータを推定する際に、非調波モデルが調波構造になって生じることがある誤推定の発生を確実に防止することができる。【００２９】
また調波モデルが、音高の時間変化を扱うための関数μkl（ｔ）を含んでいる場合には、コスト関数に、基本周波数Ｆ０が時間的に不連続値をとらないための制約条件を含めることができる。このようにすると分離音が瞬間的に大きな変化をすることがなくなる。【００３０】
さらにコスト関数には、調波モデルについて同一楽器の単音に対して倍音成分の相対強度比を一定にするための制約条件及びまたは非調波モデルについて同一楽器の単音に対して非調波成分比を一定にするための制約条件を含めることができる。これらの制約条件を含めると、同一楽器の単音間で音感が極端に異なるようになることがなくなる。【００３１】
本発明の音源分離方法は、コンピュータを用いて以下のステップを実施する。【００３２】
（Ｓ１）複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意するステップ。【００３３】
（Ｓ２）複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータに置き換えて、複数種類の楽譜に対応した、複数のモデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成するステップ。【００３４】
（Ｓ３）複数種類のモデルパラメータ集合データから、各時刻におけるモデルパラメータを読み出し、読み出した複数のモデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータに対応した複数の初期パワースペクトルを生成するステップ。【００３５】
（Ｓ４）各時刻において、複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算するステップ。【００３６】
（Ｓ５）第１回目の分離処理においては、各時刻の入力音響信号のパワースペクトルから、各時刻における複数の初期分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離し、第２回目以降の分離処理においては更新分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離するステップ。【００３７】
（Ｓ６）各時刻において分離された複数のパワースペクトルから、それぞれ調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成するステップ。【００３８】
（Ｓ７）複数種類の更新モデルパラメータ集合データから、各時刻における更新モデルパラメータを読み出して、読み出した複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成するステップ。【００３９】
（Ｓ８）各時刻において、複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の更新パワースペクトルの割合を示す複数の更新分配関数を計算するステップ。【００４０】
（Ｓ９）更新モデルパラメータ集合データを作成するステップにおいて、第２回目以降の分離処理を行うたびに、更新モデルパラメータを推定するステップでは、更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータを推定するステップ。【００４１】
（Ｓ１０）更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトルを分離するステップで分離された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトルを分離するステップと、更新モデルパラメータを推定するステップと、更新パワースペクトルを生成するステップと、更新分配関数を計算するステップとを繰り返すステップ。【００４２】
また本発明の音源分離用コンピュータプログラムは、上記方法の各ステップをコンピュータにおいて実行するように構成されている。
【図面の簡単な説明】
【００４３】
【図１】音源分離システムをコンピュータを用いて実現する場合の構成例を示すブロック図である。
【図２】図１のコンピュータ内に本発明の音源分離用プログラムをインストールして実現する複数の機能実現手段の関係を示すブロック図である。
【図３】音源分離用プログラムのアルゴリズムの一例を示すフローチャートである。
【図４】本実施形態に係る音源分離システムの流れを視覚的に説明するための概念図である。
【図５】本実施形態に係る音源分離システムの流れを視覚的に説明するための概念図である。
【図６】分配関数の求め方を概念的に説明するために用いる図である。
【図７】分離関数を用いた分離処理を概念的に説明するために用いる図である。
【図８】本発明で採用されるモデルパラメータ反復推定処理の一例の大まかな手順をフローチャートで表したものである。
【図９】各楽器パートのＳＮＲ（Signal to Noise Ratio）を楽曲ごとに平均したものと、全楽曲、全パートについてＳＮＲを平均した結果を示す一覧表である。
【発明を実施するための最良の形態】
【００４４】
以下、本発明を実施するための最良の形態（以下「実施形態」という。）を詳細に説明する。【００４５】
図１は、本発明の実施形態の音源分離システムをコンピュータ１０を用いて実現する場合の構成例を示すブロック図である。コンピュータ１０は、ＣＰＵ（Central Processing Unit）１１と、ＤＲＡＭ等のＲＡＭ（Random Access Memory）１２と、ハードディスクドライブ（以下、「ハードディスク」という。）その他の大容量記憶手段１３と、フレキシブルディスクドライブ又はＣＤ−ＲＯＭドライブ等の外部記憶部１４と、ＬＡＮ（Local Area Network）又はインターネットなどの通信ネットワーク２０との通信を行う通信部１８とを備える。また、コンピュータ１０は、キーボード又はマウス等の入力部１５と、液晶ディスプレイ等の表示部１６とを備えている。さらに、コンピュータ１０は、ＭＩＤＩ音源等の音源１７を搭載している。【００４６】
ＣＰＵ１１は、後述するパワースペクトルの分離処理と更新モデルパラメータのパラメータの推定（モデル適応）処理を行うための各ステップを実行する計算手段として動作する。【００４７】
音源１７は、後述する入力音響信号を備えている。また音源分離を行うための入力音響信号と時間的に同期した標準ＭＩＤＩファイル（Standard MIDI FIle、以下「ＳＭＦ」という。）を楽譜情報データとして備えている。ＳＭＦはＣＤ−ＲＯＭ等や、通信ネットワーク２０を介してハードディスク１３に記録される。なお、「時間的に同期した」とは、ＳＭＦ中の各楽器パートの単音（楽譜の音符に相当するもの）のオンセット時刻（発音時刻）と音長が実際の入力楽曲の音響信号における各楽器パートの単音と完全に同期しているということである。【００４８】
なお、ＭＩＤＩ信号の記録、編集、再生などは、シーケンサ、またはシーケンスソフトウェア（図示を省略する）で行われる。ここでＭＩＤＩ信号は、ＭＩＤＩファイルとして扱われる。ＳＭＦとは、ＭＩＤＩ音源の演奏データを記録するための基本ファイルフォーマットである。ＳＭＦは、異なるシーケンサ、あるいはシーケンスソフトウェア間でのＭＩＤＩファイルの互換性を保つ統一規格である"チャンク"と呼ばれるデータ単位によって構成されている。ＳＭＦフォーマット化されたＭＩＤＩファイルデータのイベントとしては、大きく分けて、ミディ・イベント（MIDI Event）、システム・エクスクルーシブ・イベント（SysEx Event）、そしてメタ・イベント（Meta Event）の３種類がある。ミディ・イベントには、演奏データそのものが示されている。システム・エクスクルーシブ・イベントには、主にＭＩＤＩのシステム・エクスクルーシブ・メッセージが示されている。システム・エクスクルーシブ・メッセージは、特定の楽器にしかない情報を交換したり、特別の非音楽情報、イベント情報などを伝達するために用いられる。メタ・イベントには、テンポや拍子などの演奏全体の情報や、シーケンサやシーケンスソフトが利用する歌詞や著作権情報などの付加的な情報が示されている。全てのメタ・イベントは0xFFで始まり、次にイベント・タイプを表すバイトが続き、更にデータ長及びデータ自体が続く。ＭＩＤＩ演奏プログラムは、自分が認識できないメタ・イベントを無視するように設計されている。また、各イベントには、そのイベントを実行する時間的タイミングに関するタイミンダ情報が付加されている。このタイミング情報は、直前のイベントの実行からの時間差で示されている。例えば、このタイミング情報が"0"のときは、直前のイベントと同時にこのタイミング情報が付加されたイベントが実行されることになる。【００４９】
一般に、ＭＩＤＩ規格を用いた音楽再生では、各種信号、楽器固有の音色をモデル化し、そのデータを格納した音源を各種パラメータで制御するシステムをとっている。そして、ＳＭＦの各トラックはそれぞれの楽器パートに対応しており、各楽器パートとごの分離信号が含まれている。また、ＳＭＦには、音高とオンセット時刻と音長又はオフセット時刻と楽器ラベルなどの情報が含まれている。【００５０】
したがって、ＳＭＦが与えられていれば、これをＭＩＤＩ音源で演奏することによって、入力される音響信号中の各単音にある程度近い音のサンプル（これを、「テンプレート音」という。）を生成することができる。テンプレート音から、ある楽器から生じる単音に対応した標準的なパワースペクトルにより表現されたデータのテンプレートを作成することができる。【００５１】
テンプレート音またはテンプレートは、実際の入力音響信号の単音または単音のパワースペクトルとは完全には同一でなく、必ず音響的な違いがある。そのためテンプレート音またはテンプレートをそのまま分離音または分離のためのパワースペクトルとして使用することはできない。しかし後に詳しく説明するように、単音の更新パワースペクトルが後述する初期パワースペクトルに近い状態から、入力音響信号から分離した単音の最新のパワースペクトルに近い状態に徐々に近付ける学習（これを「モデル適応」という。）を行うことにより、更新モデルパラメータに含まれる複数のパラメータを最終的に望ましい形で収束させることができれば、正解又はそれに近い分離音と推定されることになる。【００５２】
また、ＳＭＦのトラックを利用することで分離後の音響信号がどれだけ合成前の音響信号に近いかという定量的な評価が可能になる。【００５３】
図２は、図１のコンピュータ１０内に本発明の音源分離用プログラムをインストールして実現する複数の機能実現手段の関係を示すブロック図である。また図３は、音源分離用プログラムのアルゴリズムの一例を示すフローチャートである。さらに図４及び図５は、本実施形態に係る音源分離システムの流れを視覚的に説明するための概念図である。まず図１乃至図５を用いて、音源分離システムの基本的な構成について説明し、後に理論的な説明をする。【００５４】
本実施形態の音源分離システムは、入力音響信号記憶部１０１と、入力音響信号パワースペクトル作成記憶部１０２と、楽譜情報データ記憶部１０３と、モデルパラメータ作成記憶部１０４と、モデルパラメータ集合データ作成記憶部１０６と、第１のパワースペクトル生成記憶部１０８と、初期分配関数計算記憶部１１０と、パワースペクトル分離記憶部１１２と、更新モデルパラメータ推定記憶部１１４と、第２のパワースペクトル生成記憶部１１６と、更新分配関数計算記憶部１１８とを備えている。【００５５】
入力音響信号記憶部１０１は、複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号（混合音信号）を記憶する。入力音響信号は、音楽を再生する目的と、パワースペクトルを得る目的のために用意されている。また入力音響信号パワースペクトル作成記憶部１０２は、入力音響信号からパワースペクトルを作成して記憶する。図４及び図５には、入力音響信号から得たパワースペクトルＡの一例が示されている。このパワースペクトルは、横軸が時間で縦軸が周波数である。図４及び図５の例では、複数の時刻における複数のパワースペクトルが横に並ぶように表示されている。【００５６】
楽譜情報データ記憶部１０３は、入力音響信号と時間的に同期し且つ複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを記憶している。図４及び図５には、楽譜情報データＢを理解しやすいように実際の楽譜として図示してある。本実施形態では、楽譜情報データＢとしては、前述の標準ＭＩＤＩファイル（ＳＭＦ）を利用する。【００５７】
モデルパラメータ作成記憶部１０４は、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音それぞれについて、調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現する（構成する）ための複数のパラメータを含むモデルパラメータを作成して、記憶手段１０５に記憶する。これらモデルパラメータを作成するために、本実施形態では、楽譜情報データＢに含まれている楽器パートで使用される複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音（楽器から生じる全ての単音）に対応した複数の標準的なパワースペクトルにより表された複数のテンプレートを用いて、複数種類の単音についての複数のモデルパラメータを作成する。【００５８】
モデルパラメータ集合データ作成記憶部１０６では、モデルパラメータ作成記憶部１０４の記憶手段１０５に記憶された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含んで構成されたモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータに置き換える。そしてモデルパラメータ集合データ作成記憶部１０６は、複数種類の楽譜に対応した、複数のモデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成し、これを記憶手段１０７に記憶する。【００５９】
なお後に説明する他の実施の形態では、ＭＩＤＩファイルの楽譜情報データを音響変換手段で音に変換したテンプレート音に基づいて、モデルパラメータを作成する。前述のように、テンプレート音とは、楽譜に基づいてＭＩＤＩ音源で生成する各単音のサンプルである。そしてテンプレートとは、ある種類の楽器が発することができる複数種類の単音（異なる音階の複数種類の単音）を、それぞれ標準的なパワースペクトルで表現したものである。図５には、テンプレートは示されていないが、各単音についての各テンプレートは、図５の出力に示した「分離音」の文字の下に示した複数のパワースペクトルの図と同様に、時間軸と周波数軸とを有するパワースペクトルとして表される。具体的には、例えば、標準的なギターの「ド」の音を標準的なパワースペクトルで表現したものが、テンプレートである。このギターの「ド」の単音のテンプレートのパワースペクトルは、入力音響信号中に含まれているギターの楽器音信号中の「ド」の単音のパワースペクトルとは、ある程度近似しているが、同じではない。【００６０】
ここで調波・非調波混合モデルは、時刻ｔ、周波数ｆ、k番目の楽器、l番目の単音に対して、調波構造を表現する調波モデルＨkl（ｔ，ｆ）と非調波構造を表現する非調波モデルＩkl（ｔ，ｆ）の線形和として定義される。この調波・非調波混合モデルは、一つのモデルで調波構造の信号成分と非調波構造の信号成分とを含む単音のパワースペクトルを表現するモデルである。したがってk番目の楽器、l番目の単音に対するパワースペクトルをＪkl（ｔ，ｆ）としたした場合、この調波・非調波混合モデルは、Ｊkl（ｔ，ｆ）＝Ｈkl（ｔ，ｆ）＋Ｉkl（ｔ，ｆ）と表すことができる。本実施形態では、複数種類の単音に対応した複数のテンプレートは、この調波・非調波混合モデルを構成するための複数のパラメータによって構成されるモデルパラメータに変換される。このモデルパラメータは、単音の音モデルとも呼ばれる。モデルパラメータを音モデルとしてイメージ的に示すと、図５中の「中間表現」の文字の下に示した「音モデル」の文字の下に示した複数の図のようになる。前述のモデルパラメータ作成記憶部１０４の記憶手段１０５には、複数種類の楽器に関して、それぞれ複数種類の単音に対応する複数のモデルパラメータが記憶されている。【００６１】
前述のモデルパラメータ集合データ作成記憶部１０６の記憶手段１０７には、図４に示すように、複数種類の楽譜または楽器に対応して、複数のモデルパラメータ（ＭＰ11〜ＭＰ1l）〜（ＭＰk1〜ＭＰkl）がそれぞれ集まって構成されたモデルパラメータ集合データＭＰＤ１〜ＭＰＤｋが記憶されている。図４は、対応する楽譜の一つの単音が１つのモデルパラメータ（音モデル）で表現されていることを、一つのモデルパラメータを一枚のシートに模して表示している。【００６２】
第１のパワースペクトル生成記憶部１０８は、図４に示すように、複数種類のモデルパラメータ集合データＭＰＤ１〜ＭＰＤｋから、各時刻におけるモデルパラメータ（ＭＰ11〜ＭＰ1l）〜（ＭＰk1〜ＭＰkl）を読み出す。そして第１のパワースペクトル生成記憶部１０８は、読み出した複数のモデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータに対応した複数の初期パワースペクトル（ＰＳ11〜ＰＳ1l）〜（ＰＳk1〜ＰＳkl）を生成して記憶手段１０９に記憶する。【００６３】
なお第１のパワースペクトル生成記憶部１０８で使用する第１のモデルパラメータ変換式としては、下記の調波・非調波混合モデルを用いることができる。【００６４】
ｈkl＝ｒklc（Ｈkl（ｔ，ｆ）＋Ｉkl（ｔ，ｆ））
上記式において、ｈklはパワースペクトルであり、ｒklcは各チャンネルの相対的な強度を表すパラメータである。そしてＨkl（ｔ，ｆ）は音量、基本周波数Ｆ０の時間変化、パワーエンベロープの概形を表現するｙ番目のガウシアンの重み係数、ｎ次倍音成分の相対強度、オンセット時刻、音長及び周波数方向の分散という特徴量を表す複数のパラメータにより構成される調波モデルである。またＩkl（ｔ，ｆ）はノンパラメトリックな関数によって表される非調波モデルである。この調波モデルの複数のパラメータと非調波モデルの関数とが、モデルパラメータにそれぞれ含まれる複数のパラメータである。【００６５】
初期分配関数計算記憶部１１０は、図６に示すように、まず各時刻において、第１のパワースペクトル生成記憶部１０８の記憶手段１０９に記憶された複数の初期パワースペクトル（例えばＰＳ11，ＰＳ21，・・・ＰＳk1）を合成して各時刻毎の合成パワースペクトルＴＰＳ（例えばＰＳ11＋ＰＳ21＋・・・＋ＰＳk1）を作る。次に、初期分配関数計算記憶部１１０は、各時刻毎の合成パワースペクトルＴＰＳに対する各時刻毎の複数の初期パワースペクトルの割合（比率）｛例えば、［ＰＳ11／ＴＰＳ］｝を示す複数の初期分配関数（ＤＦ11〜ＤＦkl）を計算して記憶手段１１１に記憶する。図４には、初期パワースペクトルと初期分配関数とを、１つのシート図で兼用して示してある。記憶手段１１１に記憶されている複数の初期分配関数の数は、時刻の数（単音の数lの最大値）に楽器の数ｋまたは楽譜の種類の数を掛けた数に等しい。そして初期分配関数は、図６に示すように、パワースペクトルに含まれる複数の周波数成分ごとの複数の割合Ｒ１〜Ｒ９を含むものである。【００６６】
パワースペクトル分離記憶部１１２は、図７に示すように、第１回目の分離処理において、各時刻の入力音響信号のパワースペクトルＡ１から、各時刻における複数の初期分配関数（例えば、ＤＦ11〜ＤＦk1）を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルＰＳ11′〜ＰＳｋ1′を分離して記憶手段１１３に記憶する。すなわちパワースペクトル分離記憶部１１２は、第１回目の分離処理において、入力音響信号のパワースペクトルＡ１に初期分配関数（例えば、ＤＦ11〜ＤＦk1）を乗算することにより、各時刻における複数種類の楽器に対応する複数のパワースペクトル（一単音のパワースペクトル）ＰＳ11′〜ＰＳｋ1′をそれぞれ分離する。後に説明するように、パワースペクトル分離記憶部１１２は、２回目以降の分離処理では、更新分配関数を用いてパワースペクトルの分離処理を行う。【００６７】
更新モデルパラメータ推定記憶部１１４は、図４に示すように、各時刻において分離された複数種類の楽器に対応する複数のパワースペクトルＰＳ11′〜ＰＳｋ1′それぞれを調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）を推定する。図４においては、分離したパワースペクトルと更新モデルパラメータとを、１つのシート図で兼用して示してある。そして更新モデルパラメータ推定記憶部１１４は、複数の更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データＭＰＤ1′〜ＭＰＤk′を作成して記憶手段１１５に記憶する。なお更新モデルパラメータ推定記憶部１１４における推定処理については後で説明する。図５では、これら最初のモデルパラメータＭＰ11〜ＭＰk1または更新モデルパラメータＭＰ11′〜ＭＰkl′によって表現される音モデルを「中間表現」として示してある。そして図５では、各時刻において分離された複数種類の楽器に対応する複数のパワースペクトルデータＰＳ11′〜ＰＳk1′から複数のパラメータから構成される更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）を推定することを「パラメータの推定」と記載してある。【００６８】
図２に戻って、第２のパワースペクトル生成記憶部１１６は、更新モデルパラメータ推定記憶部１１４の記憶手段１１５に記憶されている複数種類の更新モデルパラメータ集合データから、各時刻における更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）を読み出して、読み出した複数の更新モデルパラメータに含まれる複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータ（ＭＰ11′〜ＭＰkl′）に対応した複数の更新パワースペクトル（ＰＳ11”〜ＰＳkl”：図示せず）を生成して記憶手段１１７に記憶する。第２のモデルパラメータ変換式としては、第１のモデルパラメータ変換式と同様の変換式を用いることができる。【００６９】
また更新分配関数計算記憶部１１８は、初期分配関数計算記憶部１１０における計算と同様にして更新分配関数を計算する。すなわち更新分配関数計算記憶部１１８は、各時刻において、第２のパワースペクトル生成記憶部１１６に記憶された複数の更新パワースペクトル（ＰＳ11”〜ＰＳk1”：図示せず）を合成して各時刻毎の合成パワースペクトルＴＰＳを作る。そして次に、更新分配関数計算記憶部１１８は、各時刻毎の合成パワースペクトルＴＰＳに対する各時刻毎の複数の更新パワースペクトルの割合（例えばＰＳ11”／ＴＰＳ）を示す複数の更新分配関数（ＤＦ11′〜ＤＦk1′：図示せず）を計算して記憶手段１１９に記憶する。更新分配関数（ＤＦ11′〜ＤＦk1′）も、初期分配関数（ＤＦ11〜ＤＦk1）と同様に、パワースペクトルを構成する調波モデルと非調波モデルのそれぞれについてもに同様に分配することができる関数である。【００７０】
次に、更新モデルパラメータ推定記憶部１１４における推定処理について説明する。更新モデルパラメータ推定記憶部１１４は、パワースペクトル分離記憶部１１２が第２回目以降の分離処理を行うたびに、更新パワースペクトル（ＰＳ11”〜ＰＳk1”：図示せず）が初期パワースペクトルに近い状態からパワースペクトル分離記憶部１１２の記憶手段１１３に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、複数の更新モデルパラメータ（ＭＰ11′〜ＭＰkl′）にそれぞれ含まれる複数のパラメータを推定するように構成されている。そして更新パワースペクトル（ＰＳ11”〜ＰＳk1”）が初期パワースペクトル（ＰＳ11〜ＰＳk1）に近い状態からパワースペクトル分離記憶部１１２の記憶手段１１３に記憶された最新の複数のパワースペクトル（ＰＳ11′〜ＰＳk1′）に近い状態になるまで、パワースペクトル分離記憶部１１２と、更新モデルパラメータ推定記憶部１１４と、第２のパワースペクトル生成記憶部１１６と、更新分配関数計算記憶部１１８とが処理動作を繰り返す。したがって最終的な各単音の更新モデルパラメータ（ＭＰ11′〜ＭＰkl′）に基づいて作成された更新パワースペクトル（ＰＳ11”〜ＰＳk1”）は、調波モデルと非調波モデルとを含んで構成された、入力音響信号に含まれる一つの楽器の単音のパワースペクトルに近いものとなる。【００７１】
なお後に詳しく説明するように、更新モデルパラメータ推定記憶部１１４における更新モデルパラメータのパラメータの推定は、コスト関数を用いて行うのが好ましい。コスト関数としては、例えば、パワースペクトル分離記憶部１１２が分離処理を行うたびに、パワースペクトル分離記憶部１１２の記憶手段１１３に記憶された各時刻における複数のパワースペクトル（ＰＳ11′〜ＰＳk1′）と第２のパワースペクトル生成記憶部１１６の記憶手段１１７に記憶された各時刻における複数の更新パワースペクトル（ＰＳ11”〜ＰＳk1”）との間のＫＬダイバージェンスＪ１×α（αは０≦α≦１を満たす実数）と、第２のパワースペクトル生成記憶部１１６の記憶手段１１７に記憶された各時刻における複数の更新パワースペクトル（ＰＳ11”〜ＰＳk1”）と第１のパワースペクトル生成記憶部１０８の記憶手段１１９に記憶された各時刻における複数の初期パワースペクトル（ＰＳ11〜ＰＳk1）との間のＫＬダイバージェンスＪ２×（１−α）のすべての総和Ｊ０に基づくコスト関数Ｊを用いるのが好ましい。そしてコスト関数Ｊを最小化するように、複数の更新モデルパラメータ（ＭＰ11′〜ＭＰkl′）にそれぞれ含まれる複数のパラメータを推定する。なおこの場合、更新モデルパラメータ推定記憶部１１４は、αを分離処理が行われるたびに増加させるように構成する。そしてαが１になるまで、パワースペクトル分離記憶部１１２と、更新モデルパラメータ推定記憶部１１４と、第２のパワースペクトル生成記憶部１１６と、更新分配関数計算記憶部１１８とが処理動作を繰り返すことにより、音源の分離を行うことができる。なおこの場合には、パワースペクトル分離記憶部１１２が第１回目の分離処理を行う際には、αが０になる。特にこのようにして更新モデルパラメータ（ＭＰ11′〜ＭＰkl′）に含まれるパラメータを推定すると、確実に且つ安定した状態で、更新モデルパラメータ（ＭＰ11′〜ＭＰkl′）に含まれるパラメータを収束させることができる。【００７２】
図３には、上記実施の形態及び本発明の方法をコンピュータを用いて実施する場合に用いるコンピュータプログラムのアルゴリズムの一例を示してある。このアルゴリズムでは、ステップＳ１で、複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号と、入力音響信号と時間的に同期し且つ複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意する。そしてステップＳ２では、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用意する。そしてこれらのモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータ（ＭＰ11〜ＭＰ1l）〜（ＭＰk1〜ＭＰkl）に置き換えて、複数種類の楽譜に対応した、複数のモデルパラメータ（ＭＰ11〜ＭＰ1l）〜（ＭＰk1〜ＭＰkl）が集まって構成される複数種類のモデルパラメータ集合データＭＰＤ１〜ＭＰＤｋを作成する。そしてステップＳ３では、複数種類のモデルパラメータ集合データＭＰＤ１〜ＭＰＤｋから、各時刻におけるモデルパラメータを読み出し、読み出した複数のモデルパラメータ（ＭＰ11〜ＭＰkl）にそれぞれ含まれる複数のパラメータと予め定めた第１のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータ（ＭＰ11〜ＭＰkl）に対応した複数の初期パワースペクトルＰＳ11〜ＰＳklを生成する。次にステップＳ４では、各時刻において、複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作る。そして各時刻毎の合成パワースペクトルに対する各時刻毎の複数の初期パワースペクトルの割合を示す複数の初期分配関数（ＤＦ11〜ＤＦkl）を計算する。次にステップＳ５では、第１回目の分離処理においては、各時刻の入力音響信号のパワースペクトルから、各時刻における複数の初期分配関数（ＤＦ11〜ＤＦk1）を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルＰＳ11′〜ＰＳｋ1′を分離する。そして第２回目以降の分離処理においては更新分配関数（ＤＦ11′〜ＤＦk1′）を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離する。次にステップＳ６では、各時刻において分離された複数のパワースペクトルＰＳ11′〜ＰＳｋ1′から、それぞれ調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）を推定するためのコスト関数Ｊを決定する。そしてステップＳ７では、コスト関数を最小化するように、複数のモデルパラメータ（ＭＰ11′〜ＭＰk1′）を推定する。次にステップＳ８では、複数の更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）が集まって構成される複数種類の更新モデルパラメータ集合データＭＰＤ1′〜ＭＰＤk′を作成する。第１回目の分離処理の推定では、αは０となる。２回目以降の分離処理からαが増分する。そしてステップＳ９では、αにΔαを加える。Δαの値は、分離処理回数を何回行うかによって定まる。���離精度上げるためには、Δαは小さいほうが好ましい。さらにステップＳ１０では、複数種類の更新モデルパラメータ集合データから、各時刻における更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）を読み出して、読み出した複数の更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）に含まれる複数のパラメータと予め定めた第２のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータ（ＭＰ11′〜ＭＰk1′）に対応した複数の更新パワースペクトル（ＰＳ11”〜ＰＳkl”）を生成する。次にステップＳ１１では、各時刻において、複数の更新パワースペクトル（ＰＳ11”〜ＰＳkl”）を合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の更新パワースペクトル（ＰＳ11”〜ＰＳkl”）の割合を示す複数の更新分配関数（ＤＦ11′〜ＤＦk1′）を計算する。ステップＳ１２でαが１であるか否かの判断が行われ、αが１で無ければ、ステップＳ５へとジャンプする。更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトルを分離するステップで分離された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトルを分離するステップＳ５と、更新モデルパラメータを推定するステップＳ６からステップＳ９と、更新パワースペクトルを生成するステップＳ１０と、更新分配関数を計算するステップＳ１１とが繰り返される。そしてαが１になると、終了する。【００７３】
以下に示す（１）〜（４）において、本実施の形態に係る音源分離システム及び方法を実現するために利用する事項について詳細に説明する。【００７４】
（１）楽譜情報の利用
音源分離とは広義には混合音中に含まれる音響信号がいかなる音源（楽器音信号）の組み合わせであるのかを推定した上で、これを分離することである。本来的には、混合音から各音源（楽器音信号）を分離して抽出するステップと、分離された音源（楽器音信号）がいかなる楽器による演奏かを推定する音源推定ステップとが含まれることになる。後者のステップは、楽器音認識技術と呼ばれる分野に属するものである。楽器音認識技術は、多重奏の音響信号を入力信号としたときであれば、例えば、ピアノとフルートとバイオリンの三重奏である、といった演奏楽曲中の音源を推定する技術によって実現される。【００７５】
しかしながら、現在の楽器音認識技術は未だあまり成熟していない。最新の研究でもせいぜい調波構造のみからなる４和音程度の混合音を認識対象としたものに留まっている。音源数が増えると楽器音の認識はさらに困難となる。【００７６】
そこで、本発明では、音源の分離精度を高めるため、事前に楽器ラベルと各楽器パートごとの音符情報を含んだ楽譜情報（これを、本明細書では「楽譜情報データ」という。）が与えられるとの前提条件を設けることとした。楽譜情報を事前知識として用いることで、後述するように様々な制約を考慮した音源分離が可能となる。【００７７】
（２）調波・非調波混合モデルの定式化
時刻ｔ、周波数ｆ、k番目の楽器、l番目の単音における調波モデルと非調波モデルを統合した「調波・非調波混合モデルｈkl」（パワースペクトル）を、調波構造を表現するモデルＨkl（ｔ，ｆ）と非調波構造を表現するモデルＩkl（ｔ，ｆ）との線形和で、次式（１）により定義する。
【数１】
2008133097.tif 000003
【００７８】
上記式（１）において、ｒklcは各チャンネルの相対的な強度を表すパラメータであり、以下の条件を満たす。
【数２】
2008133097.tif 000004
【００７９】
上記（１）式において、調波モデルＨkl（ｔ，ｆ）は、音高を持つ楽器音の調波構造を表現するパラメトリックモデル（パラメータによって表現されるモデル）に基づいて定義される。すなわち調波モデルＨkl（ｔ，ｆ）は、音量及び基本周波数（Ｆ０）の時間変化、オンセット時刻、音長、各倍音成分の相対強度、パワーエンベロープの時間変化等といった特徴量を表すパラメータにより表現される。【００８０】
本実施形態では、調波モデルとして調波時間構造化クラスタリング（Harmonic-Temporal-structured Clustering: ＨＴＣ）で用いられる音源モデル（以下、「ＨＴＣ音源モデル」という。）で用いる複数のパラメータをベースとして調波モデルを構成している。しかしこの音源モデルは、基本周波数Ｆ０の軌跡μkl（ｔ）が時刻ｔに関する多項式として定義されているために、柔軟な音高の時間変化を扱うことができない。そこで、本実施形態では、さらに柔軟に音高の時間変化を扱うために、ＨＴＣ音源モデルを修正して、以下の式（２）乃至（４）を満たすように、軌跡μkl（ｔ）をノンパラメトリック関数として定義して自由度を高めている。
【数３】
2008133097.tif 000005
【００８１】
上記式（２）において、ｗklは調波成分の重みを表すパラメータであり、ΣＥklyはパワーエンベロープの時間変化を、ΣＦklnは各時刻または各時刻の調波構造をそれぞれ表している。また、Ｅkly、Ｆklnは上記式（３）及び（４）のように表される。なおΣＥklyは、実際には、ΣＥkly（ｔ）と、ΣＦklnはΣＦkln（ｔ）と表示されるものでがあるが、ここでは（ｔ）を便宜上省略してある。【００８２】
また、上記調波モデルのパラメータを表１に示す。なお表１に示された、複数のパラメータは、後述するモデルパラメータ、更新モデルパラメータを構成する複数のパラメータの主たるものである。
【表１】
2008133097.tif 000006
【００８３】
一方、非調波モデルは、ノンパラメトリックな関数として定義される。そのため非調波モデルは、パワースペクトルで直接表現される。非調波モデルは、バスドラムやスネアドラムなどの非調波的な音（パワースペクトルにおいて個別の周波数成分を明確に特定できない音）を表現する。また、上述のとおりピアノやギターなどの調波構造を持つ楽器音であっても、発音時の音には弦をハンマーで叩く音や弦を引く音などのような非調波成分を含んでいる。そこで本実施形態では、このような非調波成分も非調波モデルによって表現する。【００８４】
そして、本実施形態では、以上のようにして定式化した調波・非調波混合モデルを構成する複数のパラメータを含むモデルパラメータを、望ましい形で収束させる必要がある。換言すると、各楽器パートの全ての単音に対して単音に対応する調波・非調波混合モデルを構成する複数のパラメータを含むモデルパラメータを推定するために、本実施の形態では、以下のようにモデルパラメータに含まれる複数のパラメータを推定するために用いる後述するコスト関数［後に説明する式（２１）に示される関数］に以下の制約条件を付加している。【００８５】
（３）調波・非調波混合モデルのモデルパラメータに対する種々の制約条件の設定
本実施形態におけるモデルパラメータに対する制約条件は、大きく分けて３つからなる。なお、以下に示す制約条件は、後述するコスト関数Ｊ［式（２１）］に加算されて全体のコストを増大させる要素となるものである。そしてこれらはコスト関数Ｊを最小化することに対する制約条件として作用するものである。【００８６】
［第１の条件］：基本周波数Ｆ０の連続性に関する条件
既に述べたように、上述した（２）の調波・非調波混合モデルに含まれる調波モデルは、柔軟に音高の時間変化を扱うために、ノンパラメトリック関数としてμkl（ｔ）を含むものとしてが定義される。その結果、基本周波数Ｆ０が時間的に不連続に変化することが可能となるという問題が生じる。【００８７】
この問題を解決するため、基本周波数Ｆ０の不連続な変化を一定条件の下で禁止する制約、具体的には、以下の式（５）で与えられる制約を後に説明するコスト関数Ｊ［式（２１）］に示すように付加するのが好ましい。
【数４】
2008133097.tif 000007
【００８８】
上記（５）式中のβμは係数である。また上記式中のμの上に−が付いた関数（以下μ−kl （ｔ）と言う）は、基本周波数Ｆ０を更新する際にμkl（ｔ）をガウシアンフィルタで時間方向に平滑化したもので、現在のＦ０を周波数方向に平滑化する作用を持つ。この制約は、μkl（ｔ）をμ−kl （ｔ）に近づける作用を持っている。基本周波数が不連続な変化するとは、基本周波Ｆ０が変わる際に、大きな変化をすることを意味する。【００８９】
［第２の条件］：非調波モデルに対する条件
上述した（２）の調波・非調波混合モデルに含まれる非調波モデルは入力パワースペクトルで直接表現されたものである。そのため非常に大きな自由度を持つ。その結果、調波・非調波混合モデルを用いた場合には、入力パワースペクトルから分離した複数のパワースペクトルの多くが非調波モデルだけで表現される可能性がある。すなわち、後述の（４）において説明する更新モデルパラメータの反復推定処理の結果、調波モデルを含む混合音に含まれる複数の楽器音を示す楽器音信号を非調波モデルで表現してしまうという問題が生じることがある。【００９０】
そこで、この問題を解決するため、以下の式（６）で与えられる制約を後に説明するコスト関数Ｊ［式（２１）］に示すように付加するのが好ましい。
【数５】
2008133097.tif 000008
【００９１】
上記式でβI2は、係数である。そして上記式において、Ｉの上に−を付けた関数を以下Ｉ−klと言う。このＩ−kl は、Ｉklをガウシアンフィルタで周波数方向に平滑化したものである。この制約は、Ｉkl を、Ｉ−klに近づける作用を持っている。このような制約を付けることにより、調波モデルが非調波モデルだけで表現される可能性がなくなる。【００９２】
［第３の条件］：調波・非調波混合モデルに関する一般的制約（同一楽器間での音色の一貫性に関する制約）
ある楽器が楽譜上では同じ基本周波数Ｆ０や音長で表現されていても、奏法やビブラートなどの違いにより、音響信号上には違いが生じる。そのため、単音ごとに調波・非調波混合モデルを用いてモデル化（複数のパラメータからなるモデルパラメータで表現）する必要がある。しかし、ある楽器のある音をその楽器の他の音（楽器音）と比べた場合、同じ楽器の複数の音には何らかの一貫性（すなわち、同じ楽器の複数の音は同じような性質を持っているということ）がある。しかし単音ごとのモデル化をすると、このような性質を表現できない。換言すると、分離処理を行って得たパワースペクトルから更新モデルパラメータを推定した際に、推定される更新モデルパラメータを構成する複数のパラメータは、同じの楽器の複数の音では類似しており、かつ各単音ごとに少しずつ異なっているという、同じ楽器の複数の音が有する一貫性を満たしている必要がある。【００９３】
そこで、同一の楽器による演奏においては複数の楽器音の一貫性を保持しつつ微小な違いを許容するための制約条件を調波モデルと非調波モデルの両方に対して加えるために、下記の式を後に説明するコスト関数Ｊ［式（２１）］に示すように付加するのが好ましい。【００９４】
（３−１：調波モデルに対する同一楽器における複数の音モデル間での条件）
同一楽器間における調波モデルに対する制約は、具体的には以下の式（７）で与えられる。
【数６】
2008133097.tif 000009
【００９５】
上記式でβvは係数である。またｖの上に−が付いた関数を以下ｖ−knと言う。ここで、ｖ−k,n は、ｎ次倍音成分の相対強度ｖklnを同一楽器の複数の音モデルに関して平均をとったものである。この制約は、一つの楽器の複数の単音に対して倍音成分の相対強度を類似させる作用を持っている。【００９６】
（３−２：非調波モデルに対する同一楽器における複数の音モデル間での条件）
同一楽器における複数の音モデルにおける非調波モデルに対する制約は、具体的には以下の式（８）で与えられる。
【数７】
2008133097.tif 000010
【００９７】
上記式βI1は、係数である。またＩの上に−が付いた関数を以下Ｉ−kと言う。ここで、Ｉ−kは、同一楽器の複数の音モデルのＩklの平均をとったものである。この制約は、同一楽器の複数の単音（または複数の単音についての複数の音モデル）に対して非調波成分を類似させる作用を持っている。【００９８】
（４）モデルパラメータの反復推定処理
以上の第１乃至第３の制約条件の下で、観測対象となるパワースペクトル（入力音響信号のパワースペクトル）ｇ（Ｏ）(ｃ，t，ｆ）を、（２）に示す調波・非調波混合モデルを構成するモデルパラメータに変換するために、観測対象となるパワースペクトル（入力音響信号のパワースペクトル）を複数の単音に対応する複数のパワースペクトルに分解する処理（これを、「分離処理」という。）を行う。この処理を行うために、パワースペクトルの分配関数ｍkl（ｃ，ｔ，ｆ）を導入する。なお、以下単に、パワースペクトルｇ（Ｏ）（ｃ，t，ｆ）をｇ（Ｏ）、分配関数ｍkl（ｃ，ｔ，ｆ）をｍkl と表記する場合がある。本発明では、第１回目に使用する分配関数を初期分配関数と呼び、第２回目以降の分離処理に用いる分配関数を更新分配関数と呼んでいる。【００９９】
なお、ｃは左右などのチャンネル、ｔは時刻、ｆは周波数である。また各記号の添字ｋはｋ番目の楽器（１≦ｋ≦Ｋ）、lはl番目の単音（１≦l≦Ｌ）を表すものとする。本実施形態においては入力信号のチャンネル数や同時刻に発音されている単音数に一切の制限を定めない。すなわち、観測対象となるパワースペクトルｇ（Ｏ）にはＫ個の楽器で演奏されたパワースペクトルの全てが包含されており、各楽器はＬk個の単音を持つとする。また、k番目の楽器、l番目の単音のテンプレート音のパワースペクトル（テンプレート）をｇkl（Ｔ）（ｔ，ｆ）と表し、対応する単音のパワースペクトルをｈkl(ｃ，ｔ，ｆ）とする［以下テンプレート音のパワースペクトルｇkl（Ｔ）をｇkl（Ｔ）、音モデルｈkl(ｃ，ｔ，ｆ）をｈklと書き表す］。事前の楽譜情報データの定位情報は必ずしも音響信号での定位とは一致しない場合があるのでｇkl（Ｔ）は１チャンネルとなっている。【０１００】
図８は、本発明で採用されるモデルパラメータ反復推定処理の一例の大まかな手順をフローチャートで表したものである。この例では、先の実施の形態と異なって、パワースペクトルによって表現される各楽器の複数の単音の複数のテンプレートを、複数のテンプレート音から作成している。【０１０１】
（Ｓ１′）初めに、事前の楽譜情報データから、少なくとも各単音の音高と、オンセット時刻と、音長又はオフセット時刻と、楽器ラベルとを含む情報を抽出し、音響信号変換手段によって事前の音楽情報を音響信号に変換して全ての単音をテンプレート音として記録する（すなわち「テンプレート音を録音」する）。【０１０２】
（Ｓ２′）次に、テンプレート音からパワースペクトルで表現した全ての単音についての複数のテンプレートを作成する。複数のテンプレートを調波・非調波混合モデルを構成するモデルパラメータに置き換えて複数のモデルパラメータが集合して構成されるモデルパラメータ集合データを作成する。このことを「モデルパラメータをテンプレート音で初期化する」と言う。なおこのモデルパラメータ集合データから読み出した各時刻における複数のモデルパラメータに基づいて、各時刻毎の複数の初期分配関数を計算する。【０１０３】
（Ｓ３′）次に、入力音響信号のパワースペクトルから各時刻における複数の単音に対応する複数のパワースペクトルを、各時刻毎の複数の初期分配関数を用いて分離する。分離処理は、入力音響信号のパワースペクトルに初期分配関数を乗算することにより実行される。そして、次に分離した各時刻における複数のパワースペクトルから更新モデルパラメータを推定する。そして分離音のパワースペクトルから生成した複数の更新モデルパラメータから作成した複数の更新パワースペクトルと入力音響信号のパワースペクトルから分離された複数のパワースペクトルとの近さ即ちＫＬダイバージェンスＪ１と、前記テンプレート音に基づいて最初に作成したモデルパラメータ集合データから作成した複数の初期パワースペクトルと更新パワースペクトルとの近さすなわちＫＬダイバージェンスＪ２とを、α：（１−α）（但しαは０≦α≦１を満たす実数である。）の比率で重み付けして、それらを足し合わせて現在のコスト関数と定める。そこで最初は、αの初期値を０に設定する。【０１０４】
（Ｓ４′）次に、更新パワースペクトルから各時刻における複数の更新分配関数を計算する。【０１０５】
（Ｓ５′）次に、更新分配関数を用いて分離処理を実行する。【０１０６】
（Ｓ６′）次に、α＝１か否かを判断し、α＝１のときは終了する。【０１０７】
（Ｓ７′）もし、Ｓ６′においてα≠１のときは分離したパワースペクトルからコスト関数を用いて更新モデルパラメータを推定する（モデルパラメータを更新する）と共にαをΔα増加させる。【０１０８】
（Ｓ８′）ステップＳ４′にジャンプする。【０１０９】
この例では、モデルパラメータの初期値として、テンプレート音を利用し、そこで得られたモデルパラメータから生成した初期パワースペクトルに基づいて初期分配関数を作成する。そして、この初期分配関数から最初の分離音を生成する。そして、さらに分離音を分離精度の高いものにするために（または分離音の良し悪しを評価するために）、分離音のパワースペクトルと分離音を更新モデルパラメータに変換した後に得た更新パワースペクトルとの近さＪ１と、初期モデルパラメータから得た初期パワースペクトルと更新パワースペクトルとの近さＪ２とを、αで重み付けしてαを初期値０から徐々に１に近づけていくことにより、最初は更新パワースペクトルをテンプレートに近くなるように推定し、分離処理とモデル適応とを繰り返しながら徐々に分離されたパワースペクトルに近づけることで、モデルパラメータの過学習を防止している。【０１１０】
本実施形態では、更新モデルパラメータが望ましい形で収束するように（３）に示すようなモデルパラメータへの適切な制約条件を設定し、かつその条件の下で（４）に示すようなモデル適応（モデルパラメータの反復推定処理）を行っている。【０１１１】
なお、上述した分離とモデル適応を繰り返すという一連のステップ（（Ｓ１′）〜（Ｓ８′）のステップ）は、分配関数ｍklと調波・非調波混合モデルで表されるパワースペクトルｈklのパラメータとを最適化することに他ならず、見方を変えると最大事後確率（Maximum A Posteriori）推定に基づくＥＭアルゴリズムとみなすこともできる。すなわち、分配関数ｍkl を導出することはＥＭアルゴリズム中のＥ（Expectation）ステップに相当し、調波・非調波混合モデルｈkl を構成する更新モデルパラメータを更新することはＭ（Maximization）ステップに相当する。【０１１２】
このことは、次式（９）で定義されるＱ関数を考えると明確になる。
【数８】
2008133097.tif 000011
【０１１３】
Ｑ関数がコスト関数ＪOに相当し、さらに確率密度関数は表２に示すように、それぞれが先に述べた関数ｇ（Ｏ）、ｇkl（Ｔ）、ｈkl、ｍklに対応する。
【表２】
2008133097.tif 000012
【０１１４】
但し、パワースペクトルに関しては、個々の関数を全ての変数に対して積分した結果が１になるように正規化する必要がある。【０１１５】
さらに、次式（１０）を考えると、後述する式（１７）での分配関数の導出は確率密度関数上においても妥当であることが分かる。この式（１０）からも分かるように、ｐ（k,l｜ｃ，ｔ，ｆ，θ）（すなわちｍkl）の導出は、完全データの尤度の条件付き期待値を計算していることに相当する。すなわちこの導出は、ＥＭアルゴリズムのＥ（Expectation）ステップに相当する。また、θ（すなわちｈkl）の更新は、Ｑ関数をθに関して最大化することに相当するので、Ｍ（Maximization）ステップに相当するのである。
【数９】
2008133097.tif 000013
【０１１６】
以下、モデルパラメータの推定処理における計算手法について数式を用いて具体的に説明する。【０１１７】
観測対象である入力音響信号のパワースペクトルｇ（Ｏ）から、各調波・非調波混合モデルhklをそれぞれ構成するモデルパラメータのパラメータを推定するために、それぞれのモデルパラメータが表す単音に相当するパワースペクトルを分離するために利用するパワースペクトルの分配関数ｍkl（ｃ，ｔ，ｆ）は、k番目の楽器、l番目の単音がｇ（Ｏ）のパワースペクトルうちどの程度の割合を占めるかを表している。従って、入力音響信号のパワースペクトルと分配関数との積ｇ（Ｏ）・ｍkl を計算すれば、k番目の楽器、l番目の単音の分離されたパワースペクトルが求められる。パワースペクトルの加算性が成り立つことを仮定すると、分配関数ｍkl は、下記の関係を満たせばよい。
【数１０】
2008133097.tif 000014
【０１１８】
を満たせばよい。【０１１９】
ここで、分配関数による分離の良し悪しを評価するために、積ｇ（Ｏ）・ｍkl により求めた全ての分離した単音のパワースペクトルと全ての更新パワースペクトルｈklとの間のＫＬダイバージェンス（相対エントロピー）Ｊ１（k, l）を用いる［式（１１）参照］。
【数１１】
2008133097.tif 000015
【０１２０】
また、推定された更新モデルパラメータの良し悪しを評価するために、テンプレート音ｇkl（Ｔ）から求めた初期モデルパラメータから作成した初期パワースペクトルと更新モデルパラメータから作成した更新パワースペクトル（ｈkl）との間のＫＬダイバージェンスＪ２（k, l）を用いる［式（１２）参照］。
【数１２】
2008133097.tif 000016
【０１２１】
さらに、全ての楽器、全ての単音についての分離とモデル推定を統合した全体での良し悪しを評価するため、これらのＫＬダイバージェンスをあらゆるk, lについて足し合わせたＫＬダイバージェンスの総和Ｊ０を用いる［式（１３）参照］。更新モデルパラメータを構成する複数のパラメータの推定には、この総和Ｊ０に基づくコスト関数Ｊ［式（２１）］を用いる。
【数１３】
2008133097.tif 000017
【０１２２】
ここで、α（０≦α≦１）は、分離とモデル推定のどちらを重視するかを表すパラメータである。αの値は、最初は０に設定し（すなわち、これはモデルパラメータから作成するパワースペクトルの初期値をテンプレート音に基づく初期パワースペクトルとすることを意味する）、徐々に１に近づける（すなわち、更新パワースペクトルを入力音響信号から分離したパワースペクトルに近づける）。【０１２３】
分離とモデル適応の繰り返しは、分配関数ｍklの推定とパワースペクトル（ｈkl）の更新を交互に一方を固定して他方を計算することでなされる。ここで，λをラグランジュの未定乗数項とし、最小化すべきコスト関数として改めてＪ０を定義すると、次式（１４）のように記述される。
【数１４】
2008133097.tif 000018
【０１２４】
まず、分離を行うために、パワースペクトル（ｈkl）を固定して総和Ｊ０が最小化されるような分配関数ｍklを求める。Ｊ０を偏微分すると、下記（１５）式のようになる。
【数１５】
2008133097.tif 000019
【０１２５】
これらを用いて連立方程式
【数１６】
2008133097.tif 000020
【０１２６】
を解くと、
【数１７】
2008133097.tif 000021
【０１２７】
を得る。【０１２８】
次に、モデル適応を行うために、分配関数ｍklを固定してコスト関数Ｊが最小化されるような調波・非調波混合モデル（ｈkl）を求めることで、コスト関数Ｊを最小化することができる。【０１２９】
ここで、コスト関数Ｊは全ての単音に対するコストとみなすことができるが、式（１）と前述の［数２］に示した条件とより明らかなように、観測対象の入力音響信号のパワースペクトル全体のモデルは各単音の線形和である。そして一つ一つの音モデルは調波モデルと非調波モデルの線形和である。また調波モデルは基底関数の線形和で表現されていることから、観測対象の入力音響信号のパワースペクトルの全体を、各単音の個々のガウス分布関数（調波モデルに相当）と非調波モデルとに分解することで、モデルパラメータを解析的に最適化することが可能である。【０１３０】
そこで、新たな二つのパワースペクトルの分配関数ｍklyn（Ｈ）（ｔ，ｆ）とｍkl（Ｉ）（ｔ，ｆ）とを導入する。それぞれの関数は、k番目の楽器、l番目の単音の分離パワースペクトルを｛y, n｝ラベル付のガウス分布関数（調波モデルに相当）及び非調波モデルに分配する関数である。
【数１８】
2008133097.tif 000022
【０１３１】
を満たす。【０１３２】
調波・非調波混合モデルのパワースペクトル（ｈkl）を固定した状態で、コスト関数Ｊを最小化するこれらの分配関数を導出すると、
【数１９】
2008133097.tif 000023
【０１３３】
となる。詳細は省略するが、前述の分配関数ｍklと同様の導出過程で示すことができる。【０１３４】
λｒ，λｕ，λｖをそれぞれｒklc，ｒkly，λklnに対するラグランジュの未定乗数項として、
【数２０】
2008133097.tif 000024
【０１３５】
とすると、各単音の調波・非調波混合モデル（ｈkl）の各パラメータに対する更新式は下記の式（２１）のコスト関数Ｊから求めることができる。
【数２１】
2008133097.tif 000025
【０１３６】
すなわちコスト関数Ｊを各パラメータで偏微分したものの零点を求めることで、コスト関数が極小となるように、更新モデルパラメータを構成するパラメータを更新する（推定する）式をそれぞれ導出することができる。なおこのような式を導出する手法は公知であるため詳しい説明は省略する。なお式（２１）のコスト関数Ｊにおいて、式中の最初の２つの式がα：（１−α）の重みを付けた前述の総和Ｊ０に相当するものであり、３番目から７番目まの式が前述の式（５）乃至（８）の制約条件である。なおこれらの制約条件は付加することが好ましいが、必要に応じて適宜に付加すればよいものである。しかし式（６）の制約条件は他の制約条件に優先する。また式（６）の制約条件の次には、式（５）の制約条件が残りの制約条件に優先する。【０１３７】
−評価結果−
本発明に係る上記音源分離方法の各ステップを実行するプログラムを作成し、公的な研究用音楽データベースの一つであるＲＷＣ研究用音楽データベースに登録されているポピュラー音楽データベース（ＲＷＣ−ＭＤＢ−Ｐ−２００１）から）選んだ１０曲（Ｎｏｓ．１−１０）を用いて音源分離を行った。各楽曲は開始から３０秒の区間を利用した。なお、詳細な実験条件を表３に示す。
【表３】
2008133097.tif 000026
【０１３８】
テンプレート音と分離対象となるテスト用楽曲は、異なるＭＩＤＩ音源で生成した。なお、表３に示すこれらのパラメータは、実験的に最適なものを求めたものである。【０１３９】
本発明は調波・非調波混合モデルを利用する点が一つの特徴であるが、比較のため、調波モデルを利用した場合と非調波モデルを利用した場合についても同一条件で実験を行った。【０１４０】
図９は、各楽器パートのＳＮＲ（Signal to Noise Ratio）を楽曲ごとに平均したものと、全楽曲、全パートについてＳＮＲを平均した結果を示す一覧表である。この表は、１０曲のＳＮＲを平均すると、混合モデルを用いた場合にＳＮＲは他の単一モデルと比較して最も高くなっていることを示している。
【産業上の利用可能性】
【０１４１】
本発明によれば、調波モデルと非調波モデルを含む形で楽器音のパワースペクトルを分離することができるので、入力音響信号中の楽器音に近い楽器音（音源）を分離することができる。また本発明によれば、楽器パートごとの音量の増減やエフェクトを自由に操作することが可能になる。また本発明に係る音源分離システム及び方法は、従来は一部の専門家のみが利用していた高度な操作技術を必要とする高価な音響機器を用いることなく、個人がパーソナルコンピュータ上で楽器音ごとに音量を増減することが可能な「楽器音イコライザ」を実現することを可能にするコンピュータプログラムのキーテクノロジーとして位置づけられ、産業上の利用可能性は極めて大きい。
【図１】
2008133097.tif 000027
【図２】
2008133097.tif 000028
【図３】
2008133097.tif 000029
【図４】
2008133097.tif 000030
【図５】
2008133097.tif 000031
【図６】
2008133097.tif 000032
【図７】
2008133097.tif 000033
【図８】
2008133097.tif 000034
【図９】
2008133097.tif 000035
【国際調査報告】
2008133097.tif 000036
2008133097.tif 000037
2008133097.tif 000038
2008133097.tif 000039