Demonstrations of Research


 独立低ランク行列分析に基づくブラインド音源分離

ブラインド音源分離(blind source separation: BSS)は,音源の位置,マイクの位置,音源の種類,録音環境,混合過程等の情報を一切用いずに音源を分離する技術です. 従来から独立成分分析(independent component analysis: ICA)という統計的なアルゴリズムに基づく手法が広く研究されており,その最先端技術として独立ベクトル分析(independent vector analysis: IVA)が提案されています. 一方で,非負値行列因子分解(nonnegative matrix factorization: NMF)を用いた音源分離も盛んに研究されるようになり,多チャネル観測信号への適用をめざした多チャネルNMF(multichannel NMF)が提案されました. この手法は多くの例でIVAの性能を大きく上回ることが報告されていますが,極めて高い計算コストが要求される上,初期値依存性が強く頑健な音源分離が困難であるといった実用面での問題がありました. 我々の研究グループでは,効率的かつ頑健にBSSを解く新しいアルゴリズムとして,独立低ランク行列分析(independent low-rank matrix analysis: ILRMA, イルマ)を提案しています. ILRMAは従来のIVAの自然な拡張であり,NMFを用いた低ランク近似分解を音源モデルとして導入しています.従って,混合されている複数の音源はICAやIVAと同じく統計的独立性に基づく空間分離フィルタによって推定されますが,それらの独立音源は「低ランクな時間周波数構造を持つ」という仮定が新たに付与されています. ICAやIVAでは非ガウスな確率的生成モデルでしか与えられなかったのに対し,ILRMAは音源の低ランク時間周波数構造をモデル化しますので,各音源の緻密で詳細な調波構造や時間的な変動を捉えることができ,それらを考慮することで従来よりも高精度な分離行列を推定することが可能になります. また,ILRMAは多チャネルNMFと比較して20倍程度高速な最適化アルゴリズムとなっており,効率的な音源分離を実現しています. ILRMAの数学的な定式化は,多チャネルNMFの近似的なモデルとなっていることも明らかにされています.すなわち,多チャネルNMFで仮定されている空間モデル(空間相関行列)のランクが1となる制約条件を課すと,両者は本質的に一致します. この空間相関行列に関するランク1制約条件は,従来の周波数領域ICAやIVAで用いられてきた「周波数領域での複素瞬時混合仮定」に対応しています. 従来手法と比較して,優決定条件(録音マイクの数が音源の数以上ある録音状況)に適用可能であり,高速かつ頑健にBSSを達成することができることを確認しています.
このデモに用いる音楽信号はSiSEC web siteから学術的研究を目的として拝借いたしました.


2マイクアレーで録音された2音源の分離
信号は全てRWCPデータベース収録のE2Aインパルス応答(残響時間 300 ms)を畳み込んで作成しました.
計算時間はMATLAB 8.3(64-bit)環境でIntel Core i7-4790(3.60 GHz)のCPUで最適化式を200回反復更新した場合の例です.
実用面では,IVAは30回,ILRMAは100回程度の反復で十分な分離性能が得られます.
一方,Multichannel NMFは200回の反復でも不十分な場合が多く,最適化の収束が非常に遅い問題があります.


入力信号 "bearlin/roads"
入力信号
(Guitar, Vocals)

IVAによる分離信号(計算時間例: 42.2秒)
分離信号 1
(Guitar)
分離信号 2
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 312.4秒)
分離信号 1
(Guitar)
分離信号 2
(Vocals)

ILRMAによる分離信号(計算時間例: 56.3秒)
分離信号 1
(Guitar)
分離信号 2
(Vocals)


入力信号 "tamy/que pena tanto faz"
入力信号
(Guitar, Vocal)

IVAによる分離信号(計算時間例: 39.8秒)
分離信号 1
(Guitar)
分離信号 2
(Vocal)

Multichannel NMFによる分離信号(計算時間例: 296.2秒)
分離信号 1
(Guitar)
分離信号 2
(Vocal)

ILRMAによる分離信号(計算時間例: 54.7秒)
分離信号 1
(Guitar)
分離信号 2
(Vocal)


入力信号 "another dreamer/the ones we love"
入力信号
(Guitar, Vocal)

IVAによる分離信号(計算時間例: 50.3秒)
分離信号 1
(Guitar)
分離信号 2
(Vocal)

Multichannel NMFによる分離信号(計算時間例: 459.8秒)
分離信号 1
(Guitar)
分離信号 2
(Vocal)

ILRMAによる分離信号(計算時間例: 76.5秒)
分離信号 1
(Guitar)
分離信号 2
(Vocal)


入力信号 "fort minor/remember the name"
入力信号
(Violin_synth, Vocals)

IVAによる分離信号(計算時間例: 46.3秒)
分離信号 1
(Violin_synth)
分離信号 2
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 411.4秒)
分離信号 1
(Violin_synth)
分離信号 2
(Vocals)

ILRMAによる分離信号(計算時間例: 67.3秒)
分離信号 1
(Violin_synth)
分離信号 2
(Vocals)


入力信号 "ultimate nz tour"
入力信号
(Guitar, Synth)

IVAによる分離信号(計算時間例: 51.7秒)
分離信号 1
(Guitar)
分離信号 2
(Synth)

Multichannel NMFによる分離信号(計算時間例: 478.8秒)
分離信号 1
(Guitar)
分離信号 2
(Synth)

ILRMAによる分離信号(計算時間例: 78.5秒)
分離信号 1
(Guitar)
分離信号 2
(Synth)



3マイクアレーで録音された3音源の分離
信号は全てRWCPデータベース収録のE2Aインパルス応答(残響時間 300 ms)を畳み込んで作成しました.
計算時間はMATLAB 8.3(64-bit)環境でIntel Core i7-4790(3.60 GHz)のCPUで最適化式を200回反復更新した場合の例です.
実用面では,IVAは30回,ILRMAは100回程度の反復で十分な分離性能が得られます.
一方,Multichannel NMFは200回の反復でも不十分な場合が多く,最適化の収束が非常に遅い問題があります.


入力信号 "bearlin/roads"
入力信号
(Guitar, Bass, Vocal)

IVAによる分離信号(計算時間例: 91.6秒)
分離信号 1
(Guitar)
分離信号 2
(Bass)
分離信号 3
(Vocal)

Multichannel NMFによる分離信号(計算時間例: 4498.4秒,1.2時間)
分離信号 1
(Guitar)
分離信号 2
(Bass)
分離信号 3
(Vocal)

ILRMAによる分離信号(計算時間例: 121.0秒)
分離信号 1
(Guitar)
分離信号 2
(Bass)
分離信号 3
(Vocal)


入力信号 "another dreamer/the ones we love"
入力信号
(Drums, Guitar, Vocals)

IVAによる分離信号(計算時間例: 106.0秒)
分離信号 1
(Drums)
分離信号 2
(Guitar)
分離信号 3
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 8181.2秒,2.3時間)
分離信号 1
(Drums)
分離信号 2
(Guitar)
分離信号 3
(Vocals)

ILRMAによる分離信号(計算時間例: 148.3秒)
分離信号 1
(Drums)
分離信号 2
(Guitar)
分離信号 3
(Vocals)


入力信号 "fort minor/remember the name"
入力信号
(Drums, Violin_synth, Vocals)

IVAによる分離信号(計算時間例: 104.3秒)
分離信号 1
(Drums)
分離信号 2
(Violin_synth)
分離信号 3
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 7909.7秒,2.2時間)
分離信号 1
(Drums)
分離信号 2
(Violin_synth??)
分離信号 3
(Vocals??)

ILRMAによる分離信号(計算時間例: 147.6秒)
分離信号 1
(Drums)
分離信号 2
(Violin_synth)
分離信号 3
(Vocals)


入力信号 "ultimate nz tour"
入力信号
(Guitar, Synth, Vocals)

IVAによる分離信号(計算時間例: 92.5秒)
分離信号 1
(Guitar)
分離信号 2
(Synth)
分離信号 3
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 5927.3秒,1.6時間)
分離信号 1
(Guitar)
分離信号 2
(Synth)
分離信号 3
(Vocals)

ILRMAによる分離信号(計算時間例: 127.1秒)
分離信号 1
(Guitar)
分離信号 2
(Synth)
分離信号 3
(Vocals)



4マイクアレーで録音された4音源の分離
信号は全てRWCPデータベース収録のE2Aインパルス応答(残響時間 300 ms)を畳み込んで作成しました.
計算時間はMATLAB 8.3(64-bit)環境でIntel Core i7-4790(3.60 GHz)のCPUで最適化式を200回反復更新した場合の例です.
実用面では,IVAは30回,ILRMAは100回程度の反復で十分な分離性能が得られます.
一方,Multichannel NMFは200回の反復でも不十分な場合が多く,最適化の収束が非常に遅い問題があります.


入力信号 "fort minor/remember the name"
入力信号
(Claps, Drums, Violin_synth, Vocals)

IVAによる分離信号(計算時間例: 147.6秒)
分離信号 1
(Claps)
分離信号 2
(Drums)
分離信号 3
(Violin_synth)
分離信号 4
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 10051.1秒,2.8時間)
分離信号 1
(Claps)
分離信号 2
(Drums)
分離信号 3
(Violin_synth??)
分離信号 4
(Vocals??)

ILRMAによる分離信号(計算時間例: 203.8秒)
分離信号 1
(Claps)
分離信号 2
(Drums)
分離信号 3
(Violin_synth)
分離信号 4
(Vocals)


入力信号 "ultimate nz tour"
入力信号
(Bass, Drums, Guitar, Vocals)

IVAによる分離信号(計算時間例: 131.6秒)
分離信号 1
(Bass)
分離信号 2
(Drums)
分離信号 3
(Guitar)
分離信号 4
(Vocals)

Multichannel NMFによる分離信号(計算時間例: 7618.6秒,2.2時間)
分離信号 1
(Bass??)
分離信号 2
(Drums)
分離信号 3
(Guitar??)
分離信号 4
(Vocals)

ILRMAによる分離信号(計算時間例: 174.1秒)
分離信号 1
(Bass)
分離信号 2
(Drums)
分離信号 3
(Guitar)
分離信号 4
(Vocals)






    Top     Research Interests     Academic Background     Publications     Demonstrations     Dataset     Program Codes     Work History     Awards     Contact me     Links