TOP > 国内特許検索 > 音源分離システム、音源分離方法及び音源分離用コンピュータプログラム > 明細書

明細書 :音源分離システム、音源分離方法及び音源分離用コンピュータプログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第5201602号 (P5201602)
登録日 平成25年2月22日(2013.2.22)
発行日 平成25年6月5日(2013.6.5)
発明の名称または考案の名称 音源分離システム、音源分離方法及び音源分離用コンピュータプログラム
国際特許分類 G10L  21/0308      (2013.01)
G10H   1/00        (2006.01)
G10L  21/028       (2013.01)
FI G10L 21/02 203Z
G10H 1/00 102Z
G10H 1/00 B
G10L 21/02 201Z
請求項の数または発明の数 12
全頁数 34
出願番号 特願2009-511801 (P2009-511801)
出願日 平成20年4月14日(2008.4.14)
国際出願番号 PCT/JP2008/057310
国際公開番号 WO2008/133097
国際公開日 平成20年11月6日(2008.11.6)
優先権出願番号 2007106576
優先日 平成19年4月13日(2007.4.13)
優先権主張国 日本国(JP)
審査請求日 平成23年3月28日(2011.3.28)
特許権者または実用新案権者 【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
【識別番号】301021533
【氏名又は名称】独立行政法人産業技術総合研究所
発明者または考案者 【氏名】糸山 克寿
【氏名】奥乃 博
【氏名】後藤 真孝
個別代理人の代理人 【識別番号】100091443、【弁理士】、【氏名又は名称】西浦 ▲嗣▼晴
審査官 【審査官】菊地 陽一
参考文献・文献 特開2002-244691(JP,A)
特開平11-095753(JP,A)
特許第3413634(JP,B2)
調査した分野 G10H 1/00
G10L 21/0308
G10L 21/028
特許請求の範囲 【請求項1】
複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した前記複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを記憶する楽譜情報データ記憶部と、
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、前記複数種類の楽譜に含まれる複数の単音をそれぞれ前記複数のモデルパラメータに置き換えて、前記複数種類の楽譜に対応した、複数の前記モデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成して記憶手段に記憶するモデルパラメータ集合データ作成記憶部と、
前記複数種類のモデルパラメータ集合データから、各時刻における前記モデルパラメータを読み出し、読み出した複数の前記モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した前記複数のモデルパラメータに対応した複数の初期パワースペクトルを生成して記憶手段に記憶する第1のパワースペクトル生成記憶部と、
各時刻において、前記第1のパワースペクトル生成記憶部に記憶された前記複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算して記憶手段に記憶する初期分配関数計算記憶部と、
第1回目の分離処理においては、各時刻の前記入力音響信号のパワースペクトルから、各時刻における前記複数の初期分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離して記憶手段に記憶し、第2回目以降の分離処理においては更新分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離して当該記憶手段に記憶するパワースペクトル分離記憶部と、
各時刻において分離された前記複数のパワースペクトルから、それぞれ前記調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の前記更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成して記憶手段に記憶する更新モデルパラメータ推定記憶部と、
前記更新モデルパラメータ推定記憶部に記憶されている前記複数種類の更新モデルパラメータ集合データから、各時刻における前記更新モデルパラメータを読み出して、読み出した複数の前記更新モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、読み出した前記複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成して記憶手段に記憶する第2のパワースペクトル生成記憶部と、
各時刻において、前記第2のパワースペクトル生成記憶部に記憶された前記複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の更新パワースペクトルの割合を示す複数の前記更新分配関数を計算して記憶手段に記憶する更新分配関数計算記憶部とを備え、
前記パワースペクトル分離記憶部が第2回目以降の前記分離処理を行うたびに、前記更新モデルパラメータ推定記憶部は、前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトル分離記憶部に記憶された最新の前記複数のパワースペクトルに近い状態に徐々に近付くように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定するように構成され、
前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトル分離記憶部に記憶された最新の前記複数のパワースペクトルに近い状態になるまで、前記パワースペクトル分離記憶部と、前記更新モデルパラメータ推定記憶部と、前記第2のパワースペクトル生成記憶部と、前記更新分配関数計算記憶部とが処理動作を繰り返すことを特徴とする音源分離システム。
【請求項2】
前記パワースペクトル分離記憶部が前記分離処理を行うたびに、前記パワースペクトル分離記憶部に記憶された各時刻における前記複数のパワースペクトルと前記第2のパワースペクトル生成記憶部に記憶された各時刻における前記複数の更新パワースペクトルとの間のKLダイバージェンスJ1×α(前記αは0≦α≦1を満たす実数)と、前記第2のパワースペクトル生成記憶部に記憶された各時刻における前記複数の更新パワースペクトルと前記第1のパワースペクトル生成記憶部に記憶された各時刻における前記複数の初期パワースペクトルとの間のKLダイバージェンスJ2×(1-α)のすべての総和J0に基づいてコスト関数Jを定め、該コスト関数を最小化するように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定するべく更新モデルパラメータ推定記憶部が構成され、前記αは前記分離処理が行われるたびに増加し、αが1になるまで、前記パワースペクトル分離記憶部と、前記更新モデルパラメータ推定記憶部と、第2のパワースペクトル生成記憶部と、前記更新分配関数計算記憶部とが処理動作を繰り返すことを特徴とする請求項1に記載の音源分離システム。
【請求項3】
前記第1及び第2のモデルパラメータ変換式では、それぞれ下記の調波・非調波混合モデルを用い、
hkl=rklc(Hkl(t,f)+Ikl(t,f))
前記hklは単音のパワースペクトルであり、
前記rklcは各チャンネルの相対的な強度を表すパラメータであり、
Hkl(t,f)は音量、基本周波数F0の時間変化、パワーエンベロープの概形を表現するy番目のガウシアンの重み係数、n次倍音成分の相対強度、オンセット時刻、音長及び周波数方向の分散という特徴量を表す複数のパラメータにより構成される調波モデルであり、
前記Ikl(t,f)はノンパラメトリックな関数によって表される非調波モデルである請求項2に記載の音源分離システム。
【請求項4】
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記非調波モデルが調波構造を表現しないための制約条件を含んでいる請求項3に記載の音源分離システム。
【請求項5】
前記調波モデルは、音高の時間変化を扱うための関数μkl(t)を含んでおり、
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記基本周波数F0が時間的に不連続値をとらないための制約条件を含んでいる請求項4に記載の音源分離システム。
【請求項6】
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記調波モデルについて同一楽器の単音に対して倍音成分の相対強度比を一定にするための制約条件を含んでいる請求項5に記載の音源分離システム。
【請求項7】
前記更新モデルパラメータ推定記憶部で使用する前記コスト関数は、前記非調波モデルについて同一楽器の単音に対して非調波成分比を一定にするための制約条件を含んでいる請求項6に記載の音源分離システム。
【請求項8】
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音に対応した複数の標準的なパワースペクトルにより表現された複数のテンプレートに基づいて、前記複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成して記憶手段に予め記憶する音モデル構成用モデルパラメータ作成記憶部を更に備えており、
前記モデルパラメータ集合データ作成記憶部は、前記音モデル構成用モデルパラメータ作成記憶部に記憶された前記複数のモデルパラメータを用いて、前記モデルパラメータ集合データを作成する請求項1に記載の音源分離システム。
【請求項9】
前記楽譜情報データに含まれる前記複数の楽器ごとの複数の単音の情報を複数のパラメータ音に変換する音響変換手段と、前記複数のパラメータ音の複数のパワースペクトルを、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成する音モデル構成用モデルパラメータ作成部とを更に備えており、
前記モデルパラメータ集合データ作成記憶部は、前記音モデル構成用モデルパラメータ作成部が作成した前記複数のモデルパラメータを用いて、前記モデルパラメータ集合データを作成する請求項1に記載の音源分離システム。
【請求項10】
複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した前記複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意するステップと、
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、前記調波・非調波混合モデルをそれぞれ構成するための、複数のパラメータを含む複数のモデルパラメータを用いて、前記複数種類の楽譜に含まれる複数の単音をそれぞれ前記複数のモデルパラメータに置き換えて、前記複数種類の楽譜に対応した、複数の前記モデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成するステップと、
前記複数種類のモデルパラメータ集合データから、各時刻における前記モデルパラメータを読み出し、読み出した複数の前記モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した前記複数のモデルパラメータに対応した複数の初期パワースペクトルを生成するステップと、
各時刻において、前記複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算するステップと、
第1回目の分離処理においては、各時刻の前記入力音響信号のパワースペクトルから、各時刻における前記複数の初期分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離し、第2回目以降の分離処理においては更新分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離するステップと、
各時刻において分離された前記複数のパワースペクトルから、それぞれ前記調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の前記更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成するステップと、
前記複数種類の更新モデルパラメータ集合データから、各時刻における前記更新モデルパラメータを読み出して、読み出した複数の前記更新モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、前記読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成するステップと、
各時刻において、前記複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の更新パワースペクトルの割合を示す複数の前記更新分配関数を計算するステップと、
第2回目以降の前記分離処理を行うたびに、前記更新モデルパラメータを推定するステップでは、前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態に徐々に近付くように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定し、
前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態になるまで、前記パワースペクトルを分離するステップと、更新モデルパラメータを推定するステップと、前記更新パワースペクトルを生成するステップと、前記更新分配関数を計算するステップとを繰り返すことをコンピュータが実施することを特徴とする音源分離方法。
【請求項11】
前記パワースペクトルを分離するステップで、第2回目以降の前記分離処理を行うたびに、各時刻における前記複数のパワースペクトルと各時刻における前記複数の更新パワースペクトルとの間のKLダイバージェンスJ1×α(前記αは0≦α≦1を満たす実数)と、各時刻における前記複数の更新パワースペクトルと各時刻における前記複数の初期パワースペクトルとの間のKLダイバージェンスJ2×(1-α)のすべての総和J0に基づいてコスト関数Jを定め、該コスト関数を最小化するように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定し、前記αを前記分離処理が行われるたびに増加させて、前記αが1になると前記分離処理を停止する請求項10に記載の音源分離方法。
【請求項12】
コンピュータにインストールされて下記のステップを実行する音源分離用コンピュータプログラムであって、
複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した前記複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意するステップと、
前記複数種類の楽器に関して、それぞれの前記楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、前記調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、前記複数種類の楽譜に含まれる複数の単音をそれぞれ前記複数のモデルパラメータに置き換えて、前記複数種類の楽譜に対応した、複数の前記モデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成するステップと、
前記複数種類のモデルパラメータ集合データから、各時刻における前記モデルパラメータを読み出し、読み出した複数の前記モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した前記複数のモデルパラメータに対応した複数の初期パワースペクトルを生成するステップと、
各時刻において、前記複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算するステップと、
第1回目の分離処理においては、各時刻の前記入力音響信号のパワースペクトルから、各時刻における前記複数の初期分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離し、第2回目以降の分離処理においては更新分配関数を用いて、各時刻における前記複数種類の楽器に対応する複数のパワースペクトルを分離するステップと、
各時刻において分離された前記複数のパワースペクトルから、それぞれ前記調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の前記更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成するステップと、
前記複数種類の更新モデルパラメータ集合データから、各時刻における前記更新モデルパラメータを読み出して、読み出した複数の前記更新モデルパラメータにそれぞれ含まれる前記複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成するステップと、
各時刻において、前記複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の前記合成パワースペクトルに対する各時刻毎の前記複数の更新パワースペクトルの割合を示す複数の前記更新分配関数を計算するステップと、
第2回目以降の前記分離処理を行うたびに、前記更新モデルパラメータを推定するステップでは、前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態に徐々に近付くように、前記複数の更新モデルパラメータにそれぞれ含まれる前記複数のパラメータを推定し、
前記更新パワースペクトルが前記初期パワースペクトルに近い状態から前記パワースペクトルを分離するステップで分離された最新の前記複数のパワースペクトルに近い状態になるまで、前記パワースペクトルを分離するステップと、前記更新モデルパラメータを推定するステップと、前記更新パワースペクトルを生成するステップと、前記更新分配関数を計算するステップとを繰り返すことを特徴とする音源分離用コンピュータプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、複数種類の楽器音信号が含まれる入力音響信号から各楽器に対応する楽器音信号を分離することを可能にする音源分離システム、方法及びプログラムに関するものである。本発明は特に、調波構造と非調波構造の両方の信号成分を持った「複数の楽器演奏による混合音の音響信号」を各楽器パートごとの音源に分離する音源分離システム、方法、及びこれを実現するためのコンピュータプログラムに関するものである。
【背景技術】
【0002】
スピーカから出力される音楽音響信号(以下、単に「音響信号」という。)に含まれるドラムなどの非調波構造の信号成分を分離して、他の信号成分に影響を与えることなく独立に音量を増減させることができる音響信号処理システムが知られている(例えば、特許文献1参照)。
【0003】
この従来のシステムは専ら音響信号に含まれる非調波構造の信号のみを対象とするものである。そのため、従来のシステムでは、「非調波構造と調波構造の両方の信号成分を含む混合音」を、それぞれの楽器音ごとに分離することはできなかった。
【0004】
調波構造を表すモデル(以下、本明細書では「調波モデル」という。)と非調波構造を表すモデル(以下、本明細書では「非調波モデル」という。)を同時に扱うモデル(以下、本明細書では「調波・非調波混合モデル」という。)を用いた音源分離技術については報告例が見当たらない。

【特許文献1】特開2006-5807号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
一般に、調波構造の信号波形は、基本周波数(F0)とそのn次倍音からなる調波とが重ね合わされたものである。したがって調波構造の信号波形としては、直感的には、音の高さを持つ楽器(ピアノやフルート、ギターなど)が奏でる音の信号波形が該当する。調波構造を持つ信号波形のモデルは、その音響信号のパワースペクトルの特徴量(音高、強度、オンセット時刻、音長、音色など)を推定することで音源分離が可能となることが知られている。特徴量の抽出方法には種々の方法が提案されている。多くの方法では、パラメータを含む関数を定義してそのパラメータを適応学習により推定するというものである。
【0006】
これに対し、非調波構造の信号波形は、調波構造のような基本周波数も高調波もいずれも持たないものである。例えば、音の高さを持たない楽器(ドラムなど)が発する音の波形がこれに当たる。非調波構造を持つ信号波形のモデルは、パワースペクトルでしか表現することができない。
【0007】
両構造を同時に扱うことの難しさは、モデルパラメータに対する制約条件が殆どないために、あらゆるパラメータを同時に扱わなければならない点にある。あらゆるパラメータを同時に扱うと、適応学習を行った際にモデルパラメータを望ましい形で収束させることができない。
【0008】
しかし、多重奏中のあらゆる楽器のパートの音量を自由に調節するためには、調波構造と非調波構造の両方を同時に扱うことが不可欠である。また、一般には調波構造に区分される楽器音であっても、楽器の物理的な構造に由来して厳密には調波的でない信号波形を含む場合も多い。例えば、ピアノの発音機構は、ハンマーが発音時に弦を叩くことによって発生した音をピアノの本体部分で共鳴させることによる。そのため、ピアノの音は厳密には共鳴による調波構造とハンマーの打撃音による非調波構造の両方の音響信号を含むものである。
【0009】
すなわち、楽曲中に含まれる全ての音源を分離するためには、調波的な音響信号と非調波的な音響信号の両方を同時に扱いながらモデルパラメータを望ましい形で収束させることが重要となる。
【0010】
本発明は、調波的な音響信号と非調波的な音響信号の両方の成分を含む混合音の音源を分離するための音源分離システムとこれを実現するためのコンピュータプログラム及び音源分離方法を提供することを主たる目的とする。
【課題を解決するための手段】
【0011】
本発明に係る音源分離システムは、楽譜情報データ記憶部と、モデルパラメータ集合データ作成記憶部と、第1のパワースペクトル生成記憶部と、初期分配関数計算記憶部と、パワースペクトル分離記憶部と、更新モデルパラメータ推定記憶部と、第2のパワースペクトル生成記憶部と、更新分配関数計算記憶部とを少なくとも備えている。
【0012】
楽譜情報データ記憶部は、複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号(混合音信号)と時間的に同期し且つ複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを記憶する。楽譜情報データとしては、例えば標準MIDIファイル(SMF)を利用することができる。
【0013】
モデルパラメータ集合データ作成記憶部では、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いる。まずモデルパラメータ集合データ作成記憶部では、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータに置き換える。そして複数種類の楽譜に対応した、複数のモデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成して記憶手段に記憶する。
【0014】
調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータの作成方法は任意である。例えば、音モデル構成用モデルパラメータ作成記憶部を設けてもよい。この音モデル構成用モデルパラメータ作成記憶部は、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音に対応した複数の標準的なパワースペクトルにより表現された複数のテンプレートに基づいて、複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成して記憶手段に予め記憶する。このような音モデル構成用モデルパラメータ作成記憶部を設ける場合には、モデルパラメータ集合データ作成記憶部は、音モデル構成用モデルパラメータ作成記憶部に記憶された複数のモデルパラメータを用いて、モデルパラメータ集合データを作成する。
【0015】
ここでテンプレートとは、例えばMIDIファイルの楽譜に基づいてMIDI音源で生成した各単音のサンプル音(テンプレート音)のパワースペクトルである。具体的には、テンプレートとは、ある種類の楽器が発することができる複数種類の単音(異なる音階の複数種類の単音)を、それぞれ標準的なパワースペクトルで表現したものである。すなわち標準的なギターの「ド」の音を標準的なパワースペクトルで表現したものが、テンプレートである。このギターの「ド」の単音のテンプレートのパワースペクトルは、入力音響信号中に含まれているギターの楽器音信号中の「ド」の単音のパワースペクトルとは、ある程度近似しているが、同じではない。調波・非調波混合モデルは、時刻t、周波数f、k番目の楽器、l番目の単音に対して、調波構造を表現する調波モデルHkl(t,f)と非調波構造を表現する非調波モデルIkl(t,f)の線形和として定義される。この調波・非調波混合モデルは、一つのモデルで調波構造の信号成分と非調波構造の信号成分とを含む単音のパワースペクトルを表現するモデルである。したがってk番目の楽器、l番目の単音に対するパワースペクトルをJkl(t,f)としたした場合、この調波・非調波混合モデルは、概念的にはJkl(t,f)=Hkl(t,f)+Ikl(t,f)と表すことができる。
【0016】
複数種類の単音に対応した複数のテンプレートも、この調波・非調波混合モデルを満たすものである。
【0017】
また調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成するために、楽譜情報データに含まれる複数の楽器ごとの複数単音の情報をパラメータ音に変換する音響変換手段と、複数のパラメータ音の複数のパワースペクトルを、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを作成する音モデル構成用モデルパラメータ作成部とを用いることもできる。
【0018】
また第1のパワースペクトル生成記憶部は、複数種類のモデルパラメータ集合データから、各時刻におけるモデルパラメータを読み出し、読み出した複数のモデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータに対応した複数の初期パワースペクトルを生成して記憶手段に記憶する。
【0019】
なお第1のモデルパラメータ変換式としては、下記の調波・非調波混合モデルを用いることができる。
【0020】
hkl=rklc(Hkl(t,f)+Ikl(t,f))
上記式において、hklは単音のパワースペクトルであり、rklcは各チャンネルの相対的な強度を表すパラメータである。そしてHkl(t,f)は音量、基本周波数F0の時間変化、パワーエンベロープの概形を表現するy番目のガウシアンの重み係数、n次倍音成分の相対強度、オンセット時刻、音長及び周波数方向の分散という特徴量を表す複数のパラメータにより構成される調波モデルである。またIkl(t,f)はノンパラメトリックな関数によって表される非調波モデルである。
【0021】
初期分配関数計算記憶部は、まず各時刻(楽譜上において1つの単音が存在する時刻に相当する)において、第1のパワースペクトル生成記憶部に記憶された複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作る。次に、初期分配関数計算記憶部は、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の初期パワースペクトルの割合(比率)を示す複数の初期分配関数を計算して記憶手段に記憶する。この初期分配関数は、パワースペクトルに含まれる複数の周波数成分ごとの複数の前記割合を含むものである。初期分配関数は、パワースペクトルを構成する調波モデルと非調波モデルのそれぞれについても同様に分配することができる関数である。
【0022】
パワースペクトル分離記憶部は、第1回目の分離処理においては、各時刻の入力音響信号のパワースペクトルから、各時刻における複数の初期分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離して記憶手段に記憶する。そして第2回目以降の分離処理においては、更新分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離して当該記憶手段に記憶する。
【0023】
更新モデルパラメータ推定記憶部は、各時刻において分離された複数のパワースペクトルから、それぞれ調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定する。そして更新モデルパラメータ推定記憶部は、複数の更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成して記憶手段に記憶する。なお更新モデルパラメータ推定記憶部における推定処理については後に説明する。
【0024】
第2のパワースペクトル生成記憶部は、更新モデルパラメータ推定記憶部に記憶されている複数種類の更新モデルパラメータから、各時刻における更新モデルパラメータを読み出して、読み出した複数の更新モデルパラメータに含まれる複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成して記憶手段に記憶する。第2のモデルパラメータ変換式としては、第1のモデルパラメータ変換式と同様の変換式を用いることができる。
【0025】
また更新分配関数計算記憶部は、各時刻において、第2のパワースペクトル生成記憶部に記憶された複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作る。次に、更新分配関数計算記憶部は、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の更新パワースペクトルの割合を示す複数の更新分配関数を計算して記憶手段に記憶する。更新分配関数も、初期分配関数と同様に、パワースペクトルを構成する調波モデルと非調波モデルのそれぞれについても同様に分配することができる関数である。
【0026】
更新モデルパラメータ推定記憶部は、パワースペクトル分離記憶部が第2回目以降の分離処理を行うたびに、更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータを推定するべく構成されている。そして更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトル分離記憶部と、更新モデルパラメータ推定記憶部と、第2のパワースペクトル生成記憶部と、更新分配関数計算記憶部とが処理動作を繰り返す。したがって最終的な各単音の更新モデルパラメータに基づいて作成された更新パワースペクトルは、調波モデルと非調波モデルとを含んで構成された、入力音響信号に含まれる一つの楽器の単音のパワースペクトルに近いものとなる。よって本発明によれば、調波モデルと非調波モデルを含む形で楽器音のパワースペクトルを分離することができる。すなわち本発明によれば、入力音響信号中の楽器音に近い楽器音(音源)を分離することができる。
【0027】
更新モデルパラメータ推定記憶部におけるパラメータの推定は、コスト関数を用いて行うのが好ましい。コスト関数としては、例えば、パワースペクトル分離記憶部が分離処理を行うたびに、パワースペクトル分離記憶部に記憶された各時刻における複数のパワースペクトルと第2のパワースペクトル生成記憶部に記憶された各時刻における複数の更新パワースペクトルとの間のKLダイバージェンスJ1×α(αは0≦α≦1を満たす実数)と、第2のパワースペクトル生成記憶部に記憶された各時刻における複数の更新パワースペクトルと第1のパワースペクトル生成記憶部に記憶された各時刻における複数の初期パワースペクトルとの間のKLダイバージェンスJ2×(1-α)のすべての総和J0に基づくコスト関数Jを用いるのが好ましい。そしてコスト関数を最小化するように、複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータを推定する。なおこの場合、更新モデルパラメータ推定記憶部は、αを分離処理が行われるたびに増加させるように構成する。そしてαが1になるまで、パワースペクトル分離記憶部と、更新モデルパラメータ推定記憶部と、第2のパワースペクトル生成記憶部と、更新分配関数計算記憶部とが処理動作を繰り返すことにより、音源の分離を行うことができる。なおこの場合には、パワースペクトル分離記憶部が第1回目の分離処理を行う際には、αが0になる。特にこのようにして更新モデルパラメータに含まれるパラメータを推定すると、確実に且つ安定した状態で、更新モデルパラメータに含まれるパラメータを収束させることができる。
【0028】
このようなコスト関数を用いると、種々の制約を付けることができて、しかもパラメータの推定精度を高くすることができる。例えば、このコスト関数に、非調波モデルが調波構造を表現しないための制約条件を含めることができる。この制約条件を含めると、パラメータを推定する際に、非調波モデルが調波構造になって生じることがある誤推定の発生を確実に防止することができる。
【0029】
また調波モデルが、音高の時間変化を扱うための関数μkl(t)を含んでいる場合には、コスト関数に、基本周波数F0が時間的に不連続値をとらないための制約条件を含めることができる。このようにすると分離音が瞬間的に大きな変化をすることがなくなる。
【0030】
さらにコスト関数には、調波モデルについて同一楽器の単音に対して倍音成分の相対強度比を一定にするための制約条件及びまたは非調波モデルについて同一楽器の単音に対して非調波成分比を一定にするための制約条件を含めることができる。これらの制約条件を含めると、同一楽器の単音間で音感が極端に異なるようになることがなくなる。
【0031】
本発明の音源分離方法は、コンピュータを用いて以下のステップを実施する。
【0032】
(S1)複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号と時間的に同期し且つ前記複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意するステップ。
【0033】
(S2)複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータに置き換えて、複数種類の楽譜に対応した、複数のモデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成するステップ。
【0034】
(S3)複数種類のモデルパラメータ集合データから、各時刻におけるモデルパラメータを読み出し、読み出した複数のモデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータに対応した複数の初期パワースペクトルを生成するステップ。
【0035】
(S4)各時刻において、複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の初期パワースペクトルの割合を示す複数の初期分配関数を計算するステップ。
【0036】
(S5)第1回目の分離処理においては、各時刻の入力音響信号のパワースペクトルから、各時刻における複数の初期分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離し、第2回目以降の分離処理においては更新分配関数を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離するステップ。
【0037】
(S6)各時刻において分離された複数のパワースペクトルから、それぞれ調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータを推定し、複数の更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データを作成するステップ。
【0038】
(S7)複数種類の更新モデルパラメータ集合データから、各時刻における更新モデルパラメータを読み出して、読み出した複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータに対応した複数の更新パワースペクトルを生成するステップ。
【0039】
(S8)各時刻において、複数の更新パワースペクトルを合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の更新パワースペクトルの割合を示す複数の更新分配関数を計算するステップ。
【0040】
(S9)更新モデルパラメータ集合データを作成するステップにおいて、第2回目以降の分離処理を行うたびに、更新モデルパラメータを推定するステップでは、更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトル分離記憶部に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、複数の更新モデルパラメータにそれぞれ含まれる複数のパラメータを推定するステップ。
【0041】
(S10)更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトルを分離するステップで分離された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトルを分離するステップと、更新モデルパラメータを推定するステップと、更新パワースペクトルを生成するステップと、更新分配関数を計算するステップとを繰り返すステップ。
【0042】
また本発明の音源分離用コンピュータプログラムは、上記方法の各ステップをコンピュータにおいて実行するように構成されている。
【図面の簡単な説明】
【0043】
【図1】音源分離システムをコンピュータを用いて実現する場合の構成例を示すブロック図である。
【図2】図1のコンピュータ内に本発明の音源分離用プログラムをインストールして実現する複数の機能実現手段の関係を示すブロック図である。
【図3】音源分離用プログラムのアルゴリズムの一例を示すフローチャートである。
【図4】本実施形態に係る音源分離システムの流れを視覚的に説明するための概念図である。
【図5】本実施形態に係る音源分離システムの流れを視覚的に説明するための概念図である。
【図6】分配関数の求め方を概念的に説明するために用いる図である。
【図7】分離関数を用いた分離処理を概念的に説明するために用いる図である。
【図8】本発明で採用されるモデルパラメータ反復推定処理の一例の大まかな手順をフローチャートで表したものである。
【図9】各楽器パートのSNR(Signal to Noise Ratio)を楽曲ごとに平均したものと、全楽曲、全パートについてSNRを平均した結果を示す一覧表である。

【発明を実施するための最良の形態】
【0044】
以下、本発明を実施するための最良の形態(以下「実施形態」という。)を詳細に説明する。
【0045】
図1は、本発明の実施形態の音源分離システムをコンピュータ10を用いて実現する場合の構成例を示すブロック図である。コンピュータ10は、CPU(Central Processing Unit)11と、DRAM等のRAM(Random Access Memory)12と、ハードディスクドライブ(以下、「ハードディスク」という。)その他の大容量記憶手段13と、フレキシブルディスクドライブ又はCD-ROMドライブ等の外部記憶部14と、LAN(Local Area Network)又はインターネットなどの通信ネットワーク20との通信を行う通信部18とを備える。また、コンピュータ10は、キーボード又はマウス等の入力部15と、液晶ディスプレイ等の表示部16とを備えている。さらに、コンピュータ10は、MIDI音源等の音源17を搭載している。
【0046】
CPU11は、後述するパワースペクトルの分離処理と更新モデルパラメータのパラメータの推定(モデル適応)処理を行うための各ステップを実行する計算手段として動作する。
【0047】
音源17は、後述する入力音響信号を備えている。また音源分離を行うための入力音響信号と時間的に同期した標準MIDIファイル(Standard MIDI FIle、以下「SMF」という。)を楽譜情報データとして備えている。SMFはCD-ROM等や、通信ネットワーク20を介してハードディスク13に記録される。なお、「時間的に同期した」とは、SMF中の各楽器パートの単音(楽譜の音符に相当するもの)のオンセット時刻(発音時刻)と音長が実際の入力楽曲の音響信号における各楽器パートの単音と完全に同期しているということである。
【0048】
なお、MIDI信号の記録、編集、再生などは、シーケンサ、またはシーケンスソフトウェア(図示を省略する)で行われる。ここでMIDI信号は、MIDIファイルとして扱われる。SMFとは、MIDI音源の演奏データを記録するための基本ファイルフォーマットである。SMFは、異なるシーケンサ、あるいはシーケンスソフトウェア間でのMIDIファイルの互換性を保つ統一規格である"チャンク"と呼ばれるデータ単位によって構成されている。SMFフォーマット化されたMIDIファイルデータのイベントとしては、大きく分けて、ミディ・イベント(MIDI Event)、システム・エクスクルーシブ・イベント(SysEx Event)、そしてメタ・イベント(Meta Event)の3種類がある。ミディ・イベントには、演奏データそのものが示されている。システム・エクスクルーシブ・イベントには、主にMIDIのシステム・エクスクルーシブ・メッセージが示されている。システム・エクスクルーシブ・メッセージは、特定の楽器にしかない情報を交換したり、特別の非音楽情報、イベント情報などを伝達するために用いられる。メタ・イベントには、テンポや拍子などの演奏全体の情報や、シーケンサやシーケンスソフトが利用する歌詞や著作権情報などの付加的な情報が示されている。全てのメタ・イベントは0xFFで始まり、次にイベント・タイプを表すバイトが続き、更にデータ長及びデータ自体が続く。MIDI演奏プログラムは、自分が認識できないメタ・イベントを無視するように設計されている。また、各イベントには、そのイベントを実行する時間的タイミングに関するタイミンダ情報が付加されている。このタイミング情報は、直前のイベントの実行からの時間差で示されている。例えば、このタイミング情報が"0"のときは、直前のイベントと同時にこのタイミング情報が付加されたイベントが実行されることになる。
【0049】
一般に、MIDI規格を用いた音楽再生では、各種信号、楽器固有の音色をモデル化し、そのデータを格納した音源を各種パラメータで制御するシステムをとっている。そして、SMFの各トラックはそれぞれの楽器パートに対応しており、各楽器パートとごの分離信号が含まれている。また、SMFには、音高とオンセット時刻と音長又はオフセット時刻と楽器ラベルなどの情報が含まれている。
【0050】
したがって、SMFが与えられていれば、これをMIDI音源で演奏することによって、入力される音響信号中の各単音にある程度近い音のサンプル(これを、「テンプレート音」という。)を生成することができる。テンプレート音から、ある楽器から生じる単音に対応した標準的なパワースペクトルにより表現されたデータのテンプレートを作成することができる。
【0051】
テンプレート音またはテンプレートは、実際の入力音響信号の単音または単音のパワースペクトルとは完全には同一でなく、必ず音響的な違いがある。そのためテンプレート音またはテンプレートをそのまま分離音または分離のためのパワースペクトルとして使用することはできない。しかし後に詳しく説明するように、単音の更新パワースペクトルが後述する初期パワースペクトルに近い状態から、入力音響信号から分離した単音の最新のパワースペクトルに近い状態に徐々に近付ける学習(これを「モデル適応」という。)を行うことにより、更新モデルパラメータに含まれる複数のパラメータを最終的に望ましい形で収束させることができれば、正解又はそれに近い分離音と推定されることになる。
【0052】
また、SMFのトラックを利用することで分離後の音響信号がどれだけ合成前の音響信号に近いかという定量的な評価が可能になる。
【0053】
図2は、図1のコンピュータ10内に本発明の音源分離用プログラムをインストールして実現する複数の機能実現手段の関係を示すブロック図である。また図3は、音源分離用プログラムのアルゴリズムの一例を示すフローチャートである。さらに図4及び図5は、本実施形態に係る音源分離システムの流れを視覚的に説明するための概念図である。まず図1乃至図5を用いて、音源分離システムの基本的な構成について説明し、後に理論的な説明をする。
【0054】
本実施形態の音源分離システムは、入力音響信号記憶部101と、入力音響信号パワースペクトル作成記憶部102と、楽譜情報データ記憶部103と、モデルパラメータ作成記憶部104と、モデルパラメータ集合データ作成記憶部106と、第1のパワースペクトル生成記憶部108と、初期分配関数計算記憶部110と、パワースペクトル分離記憶部112と、更新モデルパラメータ推定記憶部114と、第2のパワースペクトル生成記憶部116と、更新分配関数計算記憶部118とを備えている。
【0055】
入力音響信号記憶部101は、複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号が含まれる入力音響信号(混合音信号)を記憶する。入力音響信号は、音楽を再生する目的と、パワースペクトルを得る目的のために用意されている。また入力音響信号パワースペクトル作成記憶部102は、入力音響信号からパワースペクトルを作成して記憶する。図4及び図5には、入力音響信号から得たパワースペクトルAの一例が示されている。このパワースペクトルは、横軸が時間で縦軸が周波数である。図4及び図5の例では、複数の時刻における複数のパワースペクトルが横に並ぶように表示されている。
【0056】
楽譜情報データ記憶部103は、入力音響信号と時間的に同期し且つ複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを記憶している。図4及び図5には、楽譜情報データBを理解しやすいように実際の楽譜として図示してある。本実施形態では、楽譜情報データBとしては、前述の標準MIDIファイル(SMF)を利用する。
【0057】
モデルパラメータ作成記憶部104は、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音それぞれについて、調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現する(構成する)ための複数のパラメータを含むモデルパラメータを作成して、記憶手段105に記憶する。これらモデルパラメータを作成するために、本実施形態では、楽譜情報データBに含まれている楽器パートで使用される複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音(楽器から生じる全ての単音)に対応した複数の標準的なパワースペクトルにより表された複数のテンプレートを用いて、複数種類の単音についての複数のモデルパラメータを作成する。
【0058】
モデルパラメータ集合データ作成記憶部106では、モデルパラメータ作成記憶部104の記憶手段105に記憶された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含んで構成されたモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータに置き換える。そしてモデルパラメータ集合データ作成記憶部106は、複数種類の楽譜に対応した、複数のモデルパラメータが集まって構成される複数種類のモデルパラメータ集合データを作成し、これを記憶手段107に記憶する。
【0059】
なお後に説明する他の実施の形態では、MIDIファイルの楽譜情報データを音響変換手段で音に変換したテンプレート音に基づいて、モデルパラメータを作成する。前述のように、テンプレート音とは、楽譜に基づいてMIDI音源で生成する各単音のサンプルである。そしてテンプレートとは、ある種類の楽器が発することができる複数種類の単音(異なる音階の複数種類の単音)を、それぞれ標準的なパワースペクトルで表現したものである。図5には、テンプレートは示されていないが、各単音についての各テンプレートは、図5の出力に示した「分離音」の文字の下に示した複数のパワースペクトルの図と同様に、時間軸と周波数軸とを有するパワースペクトルとして表される。具体的には、例えば、標準的なギターの「ド」の音を標準的なパワースペクトルで表現したものが、テンプレートである。このギターの「ド」の単音のテンプレートのパワースペクトルは、入力音響信号中に含まれているギターの楽器音信号中の「ド」の単音のパワースペクトルとは、ある程度近似しているが、同じではない。
【0060】
ここで調波・非調波混合モデルは、時刻t、周波数f、k番目の楽器、l番目の単音に対して、調波構造を表現する調波モデルHkl(t,f)と非調波構造を表現する非調波モデルIkl(t,f)の線形和として定義される。この調波・非調波混合モデルは、一つのモデルで調波構造の信号成分と非調波構造の信号成分とを含む単音のパワースペクトルを表現するモデルである。したがってk番目の楽器、l番目の単音に対するパワースペクトルをJkl(t,f)としたした場合、この調波・非調波混合モデルは、Jkl(t,f)=Hkl(t,f)+Ikl(t,f)と表すことができる。本実施形態では、複数種類の単音に対応した複数のテンプレートは、この調波・非調波混合モデルを構成するための複数のパラメータによって構成されるモデルパラメータに変換される。このモデルパラメータは、単音の音モデルとも呼ばれる。モデルパラメータを音モデルとしてイメージ的に示すと、図5中の「中間表現」の文字の下に示した「音モデル」の文字の下に示した複数の図のようになる。前述のモデルパラメータ作成記憶部104の記憶手段105には、複数種類の楽器に関して、それぞれ複数種類の単音に対応する複数のモデルパラメータが記憶されている。
【0061】
前述のモデルパラメータ集合データ作成記憶部106の記憶手段107には、図4に示すように、複数種類の楽譜または楽器に対応して、複数のモデルパラメータ(MP11~MP1l)~(MPk1~MPkl)がそれぞれ集まって構成されたモデルパラメータ集合データMPD1~MPDkが記憶されている。図4は、対応する楽譜の一つの単音が1つのモデルパラメータ(音モデル)で表現されていることを、一つのモデルパラメータを一枚のシートに模して表示している。
【0062】
第1のパワースペクトル生成記憶部108は、図4に示すように、複数種類のモデルパラメータ集合データMPD1~MPDkから、各時刻におけるモデルパラメータ(MP11~MP1l)~(MPk1~MPkl)を読み出す。そして第1のパワースペクトル生成記憶部108は、読み出した複数のモデルパラメータにそれぞれ含まれる複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータに対応した複数の初期パワースペクトル(PS11~PS1l)~(PSk1~PSkl)を生成して記憶手段109に記憶する。
【0063】
なお第1のパワースペクトル生成記憶部108で使用する第1のモデルパラメータ変換式としては、下記の調波・非調波混合モデルを用いることができる。
【0064】
hkl=rklc(Hkl(t,f)+Ikl(t,f))
上記式において、hklはパワースペクトルであり、rklcは各チャンネルの相対的な強度を表すパラメータである。そしてHkl(t,f)は音量、基本周波数F0の時間変化、パワーエンベロープの概形を表現するy番目のガウシアンの重み係数、n次倍音成分の相対強度、オンセット時刻、音長及び周波数方向の分散という特徴量を表す複数のパラメータにより構成される調波モデルである。またIkl(t,f)はノンパラメトリックな関数によって表される非調波モデルである。この調波モデルの複数のパラメータと非調波モデルの関数とが、モデルパラメータにそれぞれ含まれる複数のパラメータである。
【0065】
初期分配関数計算記憶部110は、図6に示すように、まず各時刻において、第1のパワースペクトル生成記憶部108の記憶手段109に記憶された複数の初期パワースペクトル(例えばPS11,PS21,・・・PSk1)を合成して各時刻毎の合成パワースペクトルTPS(例えばPS11+PS21+・・・+PSk1)を作る。次に、初期分配関数計算記憶部110は、各時刻毎の合成パワースペクトルTPSに対する各時刻毎の複数の初期パワースペクトルの割合(比率){例えば、[PS11/TPS]}を示す複数の初期分配関数(DF11~DFkl)を計算して記憶手段111に記憶する。図4には、初期パワースペクトルと初期分配関数とを、1つのシート図で兼用して示してある。記憶手段111に記憶されている複数の初期分配関数の数は、時刻の数(単音の数lの最大値)に楽器の数kまたは楽譜の種類の数を掛けた数に等しい。そして初期分配関数は、図6に示すように、パワースペクトルに含まれる複数の周波数成分ごとの複数の割合R1~R9を含むものである。
【0066】
パワースペクトル分離記憶部112は、図7に示すように、第1回目の分離処理において、各時刻の入力音響信号のパワースペクトルA1から、各時刻における複数の初期分配関数(例えば、DF11~DFk1)を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルPS11′~PSk1′を分離して記憶手段113に記憶する。すなわちパワースペクトル分離記憶部112は、第1回目の分離処理において、入力音響信号のパワースペクトルA1に初期分配関数(例えば、DF11~DFk1)を乗算することにより、各時刻における複数種類の楽器に対応する複数のパワースペクトル(一単音のパワースペクトル)PS11′~PSk1′をそれぞれ分離する。後に説明するように、パワースペクトル分離記憶部112は、2回目以降の分離処理では、更新分配関数を用いてパワースペクトルの分離処理を行う。
【0067】
更新モデルパラメータ推定記憶部114は、図4に示すように、各時刻において分離された複数種類の楽器に対応する複数のパワースペクトルPS11′~PSk1′それぞれを調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータ(MP11′~MPk1′)を推定する。図4においては、分離したパワースペクトルと更新モデルパラメータとを、1つのシート図で兼用して示してある。そして更新モデルパラメータ推定記憶部114は、複数の更新モデルパラメータが集まって構成される複数種類の更新モデルパラメータ集合データMPD1′~MPDk′を作成して記憶手段115に記憶する。なお更新モデルパラメータ推定記憶部114における推定処理については後で説明する。図5では、これら最初のモデルパラメータMP11~MPk1または更新モデルパラメータMP11′~MPkl′によって表現される音モデルを「中間表現」として示してある。そして図5では、各時刻において分離された複数種類の楽器に対応する複数のパワースペクトルデータPS11′~PSk1′から複数のパラメータから構成される更新モデルパラメータ(MP11′~MPk1′)を推定することを「パラメータの推定」と記載してある。
【0068】
図2に戻って、第2のパワースペクトル生成記憶部116は、更新モデルパラメータ推定記憶部114の記憶手段115に記憶されている複数種類の更新モデルパラメータ集合データから、各時刻における更新モデルパラメータ(MP11′~MPk1′)を読み出して、読み出した複数の更新モデルパラメータに含まれる複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータ(MP11′~MPkl′)に対応した複数の更新パワースペクトル(PS11”~PSkl”:図示せず)を生成して記憶手段117に記憶する。第2のモデルパラメータ変換式としては、第1のモデルパラメータ変換式と同様の変換式を用いることができる。
【0069】
また更新分配関数計算記憶部118は、初期分配関数計算記憶部110における計算と同様にして更新分配関数を計算する。すなわち更新分配関数計算記憶部118は、各時刻において、第2のパワースペクトル生成記憶部116に記憶された複数の更新パワースペクトル(PS11”~PSk1”:図示せず)を合成して各時刻毎の合成パワースペクトルTPSを作る。そして次に、更新分配関数計算記憶部118は、各時刻毎の合成パワースペクトルTPSに対する各時刻毎の複数の更新パワースペクトルの割合(例えばPS11”/TPS)を示す複数の更新分配関数(DF11′~DFk1′:図示せず)を計算して記憶手段119に記憶する。更新分配関数(DF11′~DFk1′)も、初期分配関数(DF11~DFk1)と同様に、パワースペクトルを構成する調波モデルと非調波モデルのそれぞれについてもに同様に分配することができる関数である。
【0070】
次に、更新モデルパラメータ推定記憶部114における推定処理について説明する。更新モデルパラメータ推定記憶部114は、パワースペクトル分離記憶部112が第2回目以降の分離処理を行うたびに、更新パワースペクトル(PS11”~PSk1”:図示せず)が初期パワースペクトルに近い状態からパワースペクトル分離記憶部112の記憶手段113に記憶された最新の複数のパワースペクトルに近い状態に徐々に近付くように、複数の更新モデルパラメータ(MP11′~MPkl′)にそれぞれ含まれる複数のパラメータを推定するように構成されている。そして更新パワースペクトル(PS11”~PSk1”)が初期パワースペクトル(PS11~PSk1)に近い状態からパワースペクトル分離記憶部112の記憶手段113に記憶された最新の複数のパワースペクトル(PS11′~PSk1′)に近い状態になるまで、パワースペクトル分離記憶部112と、更新モデルパラメータ推定記憶部114と、第2のパワースペクトル生成記憶部116と、更新分配関数計算記憶部118とが処理動作を繰り返す。したがって最終的な各単音の更新モデルパラメータ(MP11′~MPkl′)に基づいて作成された更新パワースペクトル(PS11”~PSk1”)は、調波モデルと非調波モデルとを含んで構成された、入力音響信号に含まれる一つの楽器の単音のパワースペクトルに近いものとなる。
【0071】
なお後に詳しく説明するように、更新モデルパラメータ推定記憶部114における更新モデルパラメータのパラメータの推定は、コスト関数を用いて行うのが好ましい。コスト関数としては、例えば、パワースペクトル分離記憶部112が分離処理を行うたびに、パワースペクトル分離記憶部112の記憶手段113に記憶された各時刻における複数のパワースペクトル(PS11′~PSk1′)と第2のパワースペクトル生成記憶部116の記憶手段117に記憶された各時刻における複数の更新パワースペクトル(PS11”~PSk1”)との間のKLダイバージェンスJ1×α(αは0≦α≦1を満たす実数)と、第2のパワースペクトル生成記憶部116の記憶手段117に記憶された各時刻における複数の更新パワースペクトル(PS11”~PSk1”)と第1のパワースペクトル生成記憶部108の記憶手段119に記憶された各時刻における複数の初期パワースペクトル(PS11~PSk1)との間のKLダイバージェンスJ2×(1-α)のすべての総和J0に基づくコスト関数Jを用いるのが好ましい。そしてコスト関数Jを最小化するように、複数の更新モデルパラメータ(MP11′~MPkl′)にそれぞれ含まれる複数のパラメータを推定する。なおこの場合、更新モデルパラメータ推定記憶部114は、αを分離処理が行われるたびに増加させるように構成する。そしてαが1になるまで、パワースペクトル分離記憶部112と、更新モデルパラメータ推定記憶部114と、第2のパワースペクトル生成記憶部116と、更新分配関数計算記憶部118とが処理動作を繰り返すことにより、音源の分離を行うことができる。なおこの場合には、パワースペクトル分離記憶部112が第1回目の分離処理を行う際には、αが0になる。特にこのようにして更新モデルパラメータ(MP11′~MPkl′)に含まれるパラメータを推定すると、確実に且つ安定した状態で、更新モデルパラメータ(MP11′~MPkl′)に含まれるパラメータを収束させることができる。
【0072】
図3には、上記実施の形態及び本発明の方法をコンピュータを用いて実施する場合に用いるコンピュータプログラムのアルゴリズムの一例を示してある。このアルゴリズムでは、ステップS1で、複数種類の楽器から発生した複数種類の楽器音に対応する複数の楽器音信号と、入力音響信号と時間的に同期し且つ複数の入力音響信号に対応した複数種類の楽器によりそれぞれ演奏されるべき複数種類の楽譜についての楽譜情報データを用意する。そしてステップS2では、複数種類の楽器に関して、それぞれの楽器から生じる複数種類の単音を、それぞれ調波モデルと非調波モデルとからなる複数の調波・非調波混合モデルで表現するために予め作成された、調波・非調波混合モデルをそれぞれ構成するための複数のパラメータを含む複数のモデルパラメータを用意する。そしてこれらのモデルパラメータを用いて、複数種類の楽譜に含まれる複数の単音をそれぞれ複数のモデルパラメータ(MP11~MP1l)~(MPk1~MPkl)に置き換えて、複数種類の楽譜に対応した、複数のモデルパラメータ(MP11~MP1l)~(MPk1~MPkl)が集まって構成される複数種類のモデルパラメータ集合データMPD1~MPDkを作成する。そしてステップS3では、複数種類のモデルパラメータ集合データMPD1~MPDkから、各時刻におけるモデルパラメータを読み出し、読み出した複数のモデルパラメータ(MP11~MPkl)にそれぞれ含まれる複数のパラメータと予め定めた第1のモデルパラメータ変換式とを用いて、読み出した複数のモデルパラメータ(MP11~MPkl)に対応した複数の初期パワースペクトルPS11~PSklを生成する。次にステップS4では、各時刻において、複数の初期パワースペクトルを合成して各時刻毎の合成パワースペクトルを作る。そして各時刻毎の合成パワースペクトルに対する各時刻毎の複数の初期パワースペクトルの割合を示す複数の初期分配関数(DF11~DFkl)を計算する。次にステップS5では、第1回目の分離処理においては、各時刻の入力音響信号のパワースペクトルから、各時刻における複数の初期分配関数(DF11~DFk1)を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルPS11′~PSk1′を分離する。そして第2回目以降の分離処理においては更新分配関数(DF11′~DFk1′)を用いて、各時刻における複数種類の楽器に対応する複数のパワースペクトルを分離する。次にステップS6では、各時刻において分離された複数のパワースペクトルPS11′~PSk1′から、それぞれ調波・非調波混合モデルで表現するために必要な複数のパラメータを含む複数の更新モデルパラメータ(MP11′~MPk1′)を推定するためのコスト関数Jを決定する。そしてステップS7では、コスト関数を最小化するように、複数のモデルパラメータ(MP11′~MPk1′)を推定する。次にステップS8では、複数の更新モデルパラメータ(MP11′~MPk1′)が集まって構成される複数種類の更新モデルパラメータ集合データMPD1′~MPDk′を作成する。第1回目の分離処理の推定では、αは0となる。2回目以降の分離処理からαが増分する。そしてステップS9では、αにΔαを加える。Δαの値は、分離処理回数を何回行うかによって定まる。分離精度上げるためには、Δαは小さいほうが好ましい。さらにステップS10では、複数種類の更新モデルパラメータ集合データから、各時刻における更新モデルパラメータ(MP11′~MPk1′)を読み出して、読み出した複数の更新モデルパラメータ(MP11′~MPk1′)に含まれる複数のパラメータと予め定めた第2のモデルパラメータ変換式とを用いて、読み出した複数の更新モデルパラメータ(MP11′~MPk1′)に対応した複数の更新パワースペクトル(PS11”~PSkl”)を生成する。次にステップS11では、各時刻において、複数の更新パワースペクトル(PS11”~PSkl”)を合成して各時刻毎の合成パワースペクトルを作り、各時刻毎の合成パワースペクトルに対する各時刻毎の複数の更新パワースペクトル(PS11”~PSkl”)の割合を示す複数の更新分配関数(DF11′~DFk1′)を計算する。ステップS12でαが1であるか否かの判断が行われ、αが1で無ければ、ステップS5へとジャンプする。更新パワースペクトルが初期パワースペクトルに近い状態からパワースペクトルを分離するステップで分離された最新の複数のパワースペクトルに近い状態になるまで、パワースペクトルを分離するステップS5と、更新モデルパラメータを推定するステップS6からステップS9と、更新パワースペクトルを生成するステップS10と、更新分配関数を計算するステップS11とが繰り返される。そしてαが1になると、終了する。
【0073】
以下に示す(1)~(4)において、本実施の形態に係る音源分離システム及び方法を実現するために利用する事項について詳細に説明する。
【0074】
(1)楽譜情報の利用
音源分離とは広義には混合音中に含まれる音響信号がいかなる音源(楽器音信号)の組み合わせであるのかを推定した上で、これを分離することである。本来的には、混合音から各音源(楽器音信号)を分離して抽出するステップと、分離された音源(楽器音信号)がいかなる楽器による演奏かを推定する音源推定ステップとが含まれることになる。後者のステップは、楽器音認識技術と呼ばれる分野に属するものである。楽器音認識技術は、多重奏の音響信号を入力信号としたときであれば、例えば、ピアノとフルートとバイオリンの三重奏である、といった演奏楽曲中の音源を推定する技術によって実現される。
【0075】
しかしながら、現在の楽器音認識技術は未だあまり成熟していない。最新の研究でもせいぜい調波構造のみからなる4和音程度の混合音を認識対象としたものに留まっている。音源数が増えると楽器音の認識はさらに困難となる。
【0076】
そこで、本発明では、音源の分離精度を高めるため、事前に楽器ラベルと各楽器パートごとの音符情報を含んだ楽譜情報(これを、本明細書では「楽譜情報データ」という。)が与えられるとの前提条件を設けることとした。楽譜情報を事前知識として用いることで、後述するように様々な制約を考慮した音源分離が可能となる。
【0077】
(2)調波・非調波混合モデルの定式化
時刻t、周波数f、k番目の楽器、l番目の単音における調波モデルと非調波モデルを統合した「調波・非調波混合モデルhkl」(パワースペクトル)を、調波構造を表現するモデルHkl(t,f)と非調波構造を表現するモデルIkl(t,f)との線形和で、次式(1)により定義する。
【数1】
JP0005201602B2_000002t.gif

【0078】
上記式(1)において、rklcは各チャンネルの相対的な強度を表すパラメータであり、以下の条件を満たす。
【数2】
JP0005201602B2_000003t.gif

【0079】
上記(1)式において、調波モデルHkl(t,f)は、音高を持つ楽器音の調波構造を表現するパラメトリックモデル(パラメータによって表現されるモデル)に基づいて定義される。すなわち調波モデルHkl(t,f)は、音量及び基本周波数(F0)の時間変化、オンセット時刻、音長、各倍音成分の相対強度、パワーエンベロープの時間変化等といった特徴量を表すパラメータにより表現される。
【0080】
本実施形態では、調波モデルとして調波時間構造化クラスタリング(Harmonic-Temporal-structured Clustering: HTC)で用いられる音源モデル(以下、「HTC音源モデル」という。)で用いる複数のパラメータをベースとして調波モデルを構成している。しかしこの音源モデルは、基本周波数F0の軌跡μkl(t)が時刻tに関する多項式として定義されているために、柔軟な音高の時間変化を扱うことができない。そこで、本実施形態では、さらに柔軟に音高の時間変化を扱うために、HTC音源モデルを修正して、以下の式(2)乃至(4)を満たすように、軌跡μkl(t)をノンパラメトリック関数として定義して自由度を高めている。
【数3】
JP0005201602B2_000004t.gif

【0081】
上記式(2)において、wklは調波成分の重みを表すパラメータであり、ΣEklyはパワーエンベロープの時間変化を、ΣFklnは各時刻または各時刻の調波構造をそれぞれ表している。また、Ekly、Fklnは上記式(3)及び(4)のように表される。なおΣEklyは、実際には、ΣEkly(t)と、ΣFklnはΣFkln(t)と表示されるものでがあるが、ここでは(t)を便宜上省略してある。
【0082】
また、上記調波モデルのパラメータを表1に示す。なお表1に示された、複数のパラメータは、後述するモデルパラメータ、更新モデルパラメータを構成する複数のパラメータの主たるものである。
【表1】
JP0005201602B2_000005t.gif

【0083】
一方、非調波モデルは、ノンパラメトリックな関数として定義される。そのため非調波モデルは、パワースペクトルで直接表現される。非調波モデルは、バスドラムやスネアドラムなどの非調波的な音(パワースペクトルにおいて個別の周波数成分を明確に特定できない音)を表現する。また、上述のとおりピアノやギターなどの調波構造を持つ楽器音であっても、発音時の音には弦をハンマーで叩く音や弦を引く音などのような非調波成分を含んでいる。そこで本実施形態では、このような非調波成分も非調波モデルによって表現する。
【0084】
そして、本実施形態では、以上のようにして定式化した調波・非調波混合モデルを構成する複数のパラメータを含むモデルパラメータを、望ましい形で収束させる必要がある。換言すると、各楽器パートの全ての単音に対して単音に対応する調波・非調波混合モデルを構成する複数のパラメータを含むモデルパラメータを推定するために、本実施の形態では、以下のようにモデルパラメータに含まれる複数のパラメータを推定するために用いる後述するコスト関数[後に説明する式(21)に示される関数]に以下の制約条件を付加している。
【0085】
(3)調波・非調波混合モデルのモデルパラメータに対する種々の制約条件の設定
本実施形態におけるモデルパラメータに対する制約条件は、大きく分けて3つからなる。なお、以下に示す制約条件は、後述するコスト関数J[式(21)]に加算されて全体のコストを増大させる要素となるものである。そしてこれらはコスト関数Jを最小化することに対する制約条件として作用するものである。
【0086】
[第1の条件]:基本周波数F0の連続性に関する条件
既に述べたように、上述した(2)の調波・非調波混合モデルに含まれる調波モデルは、柔軟に音高の時間変化を扱うために、ノンパラメトリック関数としてμkl(t)を含むものとしてが定義される。その結果、基本周波数F0が時間的に不連続に変化することが可能となるという問題が生じる。
【0087】
この問題を解決するため、基本周波数F0の不連続な変化を一定条件の下で禁止する制約、具体的には、以下の式(5)で与えられる制約を後に説明するコスト関数J[式(21)]に示すように付加するのが好ましい。
【数4】
JP0005201602B2_000006t.gif

【0088】
上記(5)式中のβμは係数である。また上記式中のμの上に-が付いた関数(以下μ-kl (t)と言う)は、基本周波数F0を更新する際にμkl(t)をガウシアンフィルタで時間方向に平滑化したもので、現在のF0を周波数方向に平滑化する作用を持つ。この制約は、μkl(t)をμ-kl (t)に近づける作用を持っている。基本周波数が不連続な変化するとは、基本周波F0が変わる際に、大きな変化をすることを意味する。
【0089】
[第2の条件]:非調波モデルに対する条件
上述した(2)の調波・非調波混合モデルに含まれる非調波モデルは入力パワースペクトルで直接表現されたものである。そのため非常に大きな自由度を持つ。その結果、調波・非調波混合モデルを用いた場合には、入力パワースペクトルから分離した複数のパワースペクトルの多くが非調波モデルだけで表現される可能性がある。すなわち、後述の(4)において説明する更新モデルパラメータの反復推定処理の結果、調波モデルを含む混合音に含まれる複数の楽器音を示す楽器音信号を非調波モデルで表現してしまうという問題が生じることがある。
【0090】
そこで、この問題を解決するため、以下の式(6)で与えられる制約を後に説明するコスト関数J[式(21)]に示すように付加するのが好ましい。
【数5】
JP0005201602B2_000007t.gif

【0091】
上記式でβI2は、係数である。そして上記式において、Iの上に-を付けた関数を以下I-klと言う。このI-kl は、Iklをガウシアンフィルタで周波数方向に平滑化したものである。この制約は、Ikl を、I-klに近づける作用を持っている。このような制約を付けることにより、調波モデルが非調波モデルだけで表現される可能性がなくなる。
【0092】
[第3の条件]:調波・非調波混合モデルに関する一般的制約(同一楽器間での音色の一貫性に関する制約)
ある楽器が楽譜上では同じ基本周波数F0や音長で表現されていても、奏法やビブラートなどの違いにより、音響信号上には違いが生じる。そのため、単音ごとに調波・非調波混合モデルを用いてモデル化(複数のパラメータからなるモデルパラメータで表現)する必要がある。しかし、ある楽器のある音をその楽器の他の音(楽器音)と比べた場合、同じ楽器の複数の音には何らかの一貫性(すなわち、同じ楽器の複数の音は同じような性質を持っているということ)がある。しかし単音ごとのモデル化をすると、このような性質を表現できない。換言すると、分離処理を行って得たパワースペクトルから更新モデルパラメータを推定した際に、推定される更新モデルパラメータを構成する複数のパラメータは、同じの楽器の複数の音では類似しており、かつ各単音ごとに少しずつ異なっているという、同じ楽器の複数の音が有する一貫性を満たしている必要がある。
【0093】
そこで、同一の楽器による演奏においては複数の楽器音の一貫性を保持しつつ微小な違いを許容するための制約条件を調波モデルと非調波モデルの両方に対して加えるために、下記の式を後に説明するコスト関数J[式(21)]に示すように付加するのが好ましい。
【0094】
(3-1:調波モデルに対する同一楽器における複数の音モデル間での条件)
同一楽器間における調波モデルに対する制約は、具体的には以下の式(7)で与えられる。
【数6】
JP0005201602B2_000008t.gif

【0095】
上記式でβvは係数である。またvの上に-が付いた関数を以下v-knと言う。ここで、v-k,n は、n次倍音成分の相対強度vklnを同一楽器の複数の音モデルに関して平均をとったものである。この制約は、一つの楽器の複数の単音に対して倍音成分の相対強度を類似させる作用を持っている。
【0096】
(3-2:非調波モデルに対する同一楽器における複数の音モデル間での条件)
同一楽器における複数の音モデルにおける非調波モデルに対する制約は、具体的には以下の式(8)で与えられる。
【数7】
JP0005201602B2_000009t.gif

【0097】
上記式βI1は、係数である。またIの上に-が付いた関数を以下I-kと言う。ここで、I-kは、同一楽器の複数の音モデルのIklの平均をとったものである。この制約は、同一楽器の複数の単音(または複数の単音についての複数の音モデル)に対して非調波成分を類似させる作用を持っている。
【0098】
(4)モデルパラメータの反復推定処理
以上の第1乃至第3の制約条件の下で、観測対象となるパワースペクトル(入力音響信号のパワースペクトル)g(O)(c,t,f)を、(2)に示す調波・非調波混合モデルを構成するモデルパラメータに変換するために、観測対象となるパワースペクトル(入力音響信号のパワースペクトル)を複数の単音に対応する複数のパワースペクトルに分解する処理(これを、「分離処理」という。)を行う。この処理を行うために、パワースペクトルの分配関数mkl(c,t,f)を導入する。なお、以下単に、パワースペクトルg(O)(c,t,f)をg(O)、分配関数mkl(c,t,f)をmkl と表記する場合がある。本発明では、第1回目に使用する分配関数を初期分配関数と呼び、第2回目以降の分離処理に用いる分配関数を更新分配関数と呼んでいる。
【0099】
なお、cは左右などのチャンネル、tは時刻、fは周波数である。また各記号の添字kはk番目の楽器(1≦k≦K)、lはl番目の単音(1≦l≦L)を表すものとする。本実施形態においては入力信号のチャンネル数や同時刻に発音されている単音数に一切の制限を定めない。すなわち、観測対象となるパワースペクトルg(O)にはK個の楽器で演奏されたパワースペクトルの全てが包含されており、各楽器はLk個の単音を持つとする。また、k番目の楽器、l番目の単音のテンプレート音のパワースペクトル(テンプレート)をgkl(T)(t,f)と表し、対応する単音のパワースペクトルをhkl(c,t,f)とする[以下テンプレート音のパワースペクトルgkl(T)をgkl(T)、音モデルhkl(c,t,f)をhklと書き表す]。事前の楽譜情報データの定位情報は必ずしも音響信号での定位とは一致しない場合があるのでgkl(T)は1チャンネルとなっている。
【0100】
図8は、本発明で採用されるモデルパラメータ反復推定処理の一例の大まかな手順をフローチャートで表したものである。この例では、先の実施の形態と異なって、パワースペクトルによって表現される各楽器の複数の単音の複数のテンプレートを、複数のテンプレート音から作成している。
【0101】
(S1′)初めに、事前の楽譜情報データから、少なくとも各単音の音高と、オンセット時刻と、音長又はオフセット時刻と、楽器ラベルとを含む情報を抽出し、音響信号変換手段によって事前の音楽情報を音響信号に変換して全ての単音をテンプレート音として記録する(すなわち「テンプレート音を録音」する)。
【0102】
(S2′)次に、テンプレート音からパワースペクトルで表現した全ての単音についての複数のテンプレートを作成する。複数のテンプレートを調波・非調波混合モデルを構成するモデルパラメータに置き換えて複数のモデルパラメータが集合して構成されるモデルパラメータ集合データを作成する。このことを「モデルパラメータをテンプレート音で初期化する」と言う。なおこのモデルパラメータ集合データから読み出した各時刻における複数のモデルパラメータに基づいて、各時刻毎の複数の初期分配関数を計算する。
【0103】
(S3′)次に、入力音響信号のパワースペクトルから各時刻における複数の単音に対応する複数のパワースペクトルを、各時刻毎の複数の初期分配関数を用いて分離する。分離処理は、入力音響信号のパワースペクトルに初期分配関数を乗算することにより実行される。そして、次に分離した各時刻における複数のパワースペクトルから更新モデルパラメータを推定する。そして分離音のパワースペクトルから生成した複数の更新モデルパラメータから作成した複数の更新パワースペクトルと入力音響信号のパワースペクトルから分離された複数のパワースペクトルとの近さ即ちKLダイバージェンスJ1と、前記テンプレート音に基づいて最初に作成したモデルパラメータ集合データから作成した複数の初期パワースペクトルと更新パワースペクトルとの近さすなわちKLダイバージェンスJ2とを、α:(1-α)(但しαは0≦α≦1を満たす実数である。)の比率で重み付けして、それらを足し合わせて現在のコスト関数と定める。そこで最初は、αの初期値を0に設定する。
【0104】
(S4′)次に、更新パワースペクトルから各時刻における複数の更新分配関数を計算する。
【0105】
(S5′)次に、更新分配関数を用いて分離処理を実行する。
【0106】
(S6′)次に、α=1か否かを判断し、α=1のときは終了する。
【0107】
(S7′)もし、S6′においてα≠1のときは分離したパワースペクトルからコスト関数を用いて更新モデルパラメータを推定する(モデルパラメータを更新する)と共にαをΔα増加させる。
【0108】
(S8′)ステップS4′にジャンプする。
【0109】
この例では、モデルパラメータの初期値として、テンプレート音を利用し、そこで得られたモデルパラメータから生成した初期パワースペクトルに基づいて初期分配関数を作成する。そして、この初期分配関数から最初の分離音を生成する。そして、さらに分離音を分離精度の高いものにするために(または分離音の良し悪しを評価するために)、分離音のパワースペクトルと分離音を更新モデルパラメータに変換した後に得た更新パワースペクトルとの近さJ1と、初期モデルパラメータから得た初期パワースペクトルと更新パワースペクトルとの近さJ2とを、αで重み付けしてαを初期値0から徐々に1に近づけていくことにより、最初は更新パワースペクトルをテンプレートに近くなるように推定し、分離処理とモデル適応とを繰り返しながら徐々に分離されたパワースペクトルに近づけることで、モデルパラメータの過学習を防止している。
【0110】
本実施形態では、更新モデルパラメータが望ましい形で収束するように(3)に示すようなモデルパラメータへの適切な制約条件を設定し、かつその条件の下で(4)に示すようなモデル適応(モデルパラメータの反復推定処理)を行っている。
【0111】
なお、上述した分離とモデル適応を繰り返すという一連のステップ((S1′)~(S8′)のステップ)は、分配関数mklと調波・非調波混合モデルで表されるパワースペクトルhklのパラメータとを最適化することに他ならず、見方を変えると最大事後確率(Maximum A Posteriori)推定に基づくEMアルゴリズムとみなすこともできる。すなわち、分配関数mkl を導出することはEMアルゴリズム中のE(Expectation)ステップに相当し、調波・非調波混合モデルhkl を構成する更新モデルパラメータを更新することはM(Maximization)ステップに相当する。
【0112】
このことは、次式(9)で定義されるQ関数を考えると明確になる。
【数8】
JP0005201602B2_000010t.gif

【0113】
Q関数がコスト関数JOに相当し、さらに確率密度関数は表2に示すように、それぞれが先に述べた関数g(O)、gkl(T)、hkl、mklに対応する。
【表2】
JP0005201602B2_000011t.gif

【0114】
但し、パワースペクトルに関しては、個々の関数を全ての変数に対して積分した結果が1になるように正規化する必要がある。
【0115】
さらに、次式(10)を考えると、後述する式(17)での分配関数の導出は確率密度関数上においても妥当であることが分かる。この式(10)からも分かるように、p(k,l|c,t,f,θ)(すなわちmkl)の導出は、完全データの尤度の条件付き期待値を計算していることに相当する。すなわちこの導出は、EMアルゴリズムのE(Expectation)ステップに相当する。また、θ(すなわちhkl)の更新は、Q関数をθに関して最大化することに相当するので、M(Maximization)ステップに相当するのである。
【数9】
JP0005201602B2_000012t.gif

【0116】
以下、モデルパラメータの推定処理における計算手法について数式を用いて具体的に説明する。
【0117】
観測対象である入力音響信号のパワースペクトルg(O)から、各調波・非調波混合モデルhklをそれぞれ構成するモデルパラメータのパラメータを推定するために、それぞれのモデルパラメータが表す単音に相当するパワースペクトルを分離するために利用するパワースペクトルの分配関数mkl(c,t,f)は、k番目の楽器、l番目の単音がg(O)のパワースペクトルうちどの程度の割合を占めるかを表している。従って、入力音響信号のパワースペクトルと分配関数との積g(O)・mkl を計算すれば、k番目の楽器、l番目の単音の分離されたパワースペクトルが求められる。パワースペクトルの加算性が成り立つことを仮定すると、分配関数mkl は、下記の関係を満たせばよい。
【数10】
JP0005201602B2_000013t.gif

【0118】
を満たせばよい。
【0119】
ここで、分配関数による分離の良し悪しを評価するために、積g(O)・mkl により求めた全ての分離した単音のパワースペクトルと全ての更新パワースペクトルhklとの間のKLダイバージェンス(相対エントロピー)J1(k, l)を用いる[式(11)参照]。
【数11】
JP0005201602B2_000014t.gif

【0120】
また、推定された更新モデルパラメータの良し悪しを評価するために、テンプレート音gkl(T)から求めた初期モデルパラメータから作成した初期パワースペクトルと更新モデルパラメータから作成した更新パワースペクトル(hkl)との間のKLダイバージェンスJ2(k, l)を用いる[式(12)参照]。
【数12】
JP0005201602B2_000015t.gif

【0121】
さらに、全ての楽器、全ての単音についての分離とモデル推定を統合した全体での良し悪しを評価するため、これらのKLダイバージェンスをあらゆるk, lについて足し合わせたKLダイバージェンスの総和J0を用いる[式(13)参照]。更新モデルパラメータを構成する複数のパラメータの推定には、この総和J0に基づくコスト関数J[式(21)]を用いる。
【数13】
JP0005201602B2_000016t.gif

【0122】
ここで、α(0≦α≦1)は、分離とモデル推定のどちらを重視するかを表すパラメータである。αの値は、最初は0に設定し(すなわち、これはモデルパラメータから作成するパワースペクトルの初期値をテンプレート音に基づく初期パワースペクトルとすることを意味する)、徐々に1に近づける(すなわち、更新パワースペクトルを入力音響信号から分離したパワースペクトルに近づける)。
【0123】
分離とモデル適応の繰り返しは、分配関数mklの推定とパワースペクトル(hkl)の更新を交互に一方を固定して他方を計算することでなされる。ここで,λをラグランジュの未定乗数項とし、最小化すべきコスト関数として改めてJ0を定義すると、次式(14)のように記述される。
【数14】
JP0005201602B2_000017t.gif

【0124】
まず、分離を行うために、パワースペクトル(hkl)を固定して総和J0が最小化されるような分配関数mklを求める。J0を偏微分すると、下記(15)式のようになる。
【数15】
JP0005201602B2_000018t.gif

【0125】
これらを用いて連立方程式
【数16】
JP0005201602B2_000019t.gif

【0126】
を解くと、
【数17】
JP0005201602B2_000020t.gif

【0127】
を得る。
【0128】
次に、モデル適応を行うために、分配関数mklを固定してコスト関数Jが最小化されるような調波・非調波混合モデル(hkl)を求めることで、コスト関数Jを最小化することができる。
【0129】
ここで、コスト関数Jは全ての単音に対するコストとみなすことができるが、式(1)と前述の[数2]に示した条件とより明らかなように、観測対象の入力音響信号のパワースペクトル全体のモデルは各単音の線形和である。そして一つ一つの音モデルは調波モデルと非調波モデルの線形和である。また調波モデルは基底関数の線形和で表現されていることから、観測対象の入力音響信号のパワースペクトルの全体を、各単音の個々のガウス分布関数(調波モデルに相当)と非調波モデルとに分解することで、モデルパラメータを解析的に最適化することが可能である。
【0130】
そこで、新たな二つのパワースペクトルの分配関数mklyn(H)(t,f)とmkl(I)(t,f)とを導入する。それぞれの関数は、k番目の楽器、l番目の単音の分離パワースペクトルを{y, n}ラベル付のガウス分布関数(調波モデルに相当)及び非調波モデルに分配する関数である。
【数18】
JP0005201602B2_000021t.gif

【0131】
を満たす。
【0132】
調波・非調波混合モデルのパワースペクトル(hkl)を固定した状態で、コスト関数Jを最小化するこれらの分配関数を導出すると、
【数19】
JP0005201602B2_000022t.gif

【0133】
となる。詳細は省略するが、前述の分配関数mklと同様の導出過程で示すことができる。
【0134】
λr,λu,λvをそれぞれrklc,rkly,λklnに対するラグランジュの未定乗数項として、
【数20】
JP0005201602B2_000023t.gif

【0135】
とすると、各単音の調波・非調波混合モデル(hkl)の各パラメータに対する更新式は下記の式(21)のコスト関数Jから求めることができる。
【数21】
JP0005201602B2_000024t.gif

【0136】
すなわちコスト関数Jを各パラメータで偏微分したものの零点を求めることで、コスト関数が極小となるように、更新モデルパラメータを構成するパラメータを更新する(推定する)式をそれぞれ導出することができる。なおこのような式を導出する手法は公知であるため詳しい説明は省略する。なお式(21)のコスト関数Jにおいて、式中の最初の2つの式がα:(1-α)の重みを付けた前述の総和J0に相当するものであり、3番目から7番目まの式が前述の式(5)乃至(8)の制約条件である。なおこれらの制約条件は付加することが好ましいが、必要に応じて適宜に付加すればよいものである。しかし式(6)の制約条件は他の制約条件に優先する。また式(6)の制約条件の次には、式(5)の制約条件が残りの制約条件に優先する。
【0137】
-評価結果-
本発明に係る上記音源分離方法の各ステップを実行するプログラムを作成し、公的な研究用音楽データベースの一つであるRWC研究用音楽データベースに登録されているポピュラー音楽データベース(RWC-MDB-P-2001)から)選んだ10曲(Nos.1-10)を用いて音源分離を行った。各楽曲は開始から30秒の区間を利用した。なお、詳細な実験条件を表3に示す。
【表3】
JP0005201602B2_000025t.gif

【0138】
テンプレート音と分離対象となるテスト用楽曲は、異なるMIDI音源で生成した。なお、表3に示すこれらのパラメータは、実験的に最適なものを求めたものである。
【0139】
本発明は調波・非調波混合モデルを利用する点が一つの特徴であるが、比較のため、調波モデルを利用した場合と非調波モデルを利用した場合についても同一条件で実験を行った。
【0140】
図9は、各楽器パートのSNR(Signal to Noise Ratio)を楽曲ごとに平均したものと、全楽曲、全パートについてSNRを平均した結果を示す一覧表である。この表は、10曲のSNRを平均すると、混合モデルを用いた場合にSNRは他の単一モデルと比較して最も高くなっていることを示している。
【産業上の利用可能性】
【0141】
本発明によれば、調波モデルと非調波モデルを含む形で楽器音のパワースペクトルを分離することができるので、入力音響信号中の楽器音に近い楽器音(音源)を分離することができる。また本発明によれば、楽器パートごとの音量の増減やエフェクトを自由に操作することが可能になる。また本発明に係る音源分離システム及び方法は、従来は一部の専門家のみが利用していた高度な操作技術を必要とする高価な音響機器を用いることなく、個人がパーソナルコンピュータ上で楽器音ごとに音量を増減することが可能な「楽器音イコライザ」を実現することを可能にするコンピュータプログラムのキーテクノロジーとして位置づけられ、産業上の利用可能性は極めて大きい。
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8