2018/08/26楽曲の楽器の分離これまでに、周波数解析を行い、ピークを指定すればその信号がおおむね抽出できるようになりました。それでは、実際の楽曲から一部が分離できるか試してみます。ここでは、非常に条件の良い音源が手元にありましたので、2つの楽器がそれぞれ分離できるか実験します。)の冒頭7secの最初のフレーズ部分です。分離のロジックこれまでと同様に、周波数解析を行い手動でピークを指定して成分の抽出を行います。今回は楽器ですので指定した周波数の他に、高次倍音も同時に抽出することとします。手動でピークを指定する際、音が途中で変化しているところでトラックに失敗します。これを防ぐために、音の変化点の前後のピーク位置をそれぞれ指定してピークのトラックが失敗しないようにします。pointとの時間方向の中点からの部分を、現在検索中の周波数をトラックしているものとして検索します。することで、音の開始点と終了点をそれぞれクリックしてseedとして与えることにより、トラックが隣の成分に飛びにくくなります。トランペットの分離たくさんピークがあり分かりにくいですが、冒頭ほんの僅かにトランペットが早く入っています。そこからG5に第2倍音が、D6にうっすらと第3倍音、G6に第4倍音と続き、だいたい9次倍音くらいまでは見えていることがわかります。以下のパラメータで分離を行いました。pointの作成は、耳で聞いた音程をもとにスペクトラムをみて該当ピークを手動でクリックする手法で作成しています。音色がだいぶ劣化してますが、一応トランペットであることはわかるレベルで分離ができました。ユーフォニアムの音色は聞こえない状態にはなっています。同様にユーフォニアムの分離を行います。スペクトラムよく見ると、3次倍音までは見えていますがそれ以上はトランペットのピークに隠れて見えません。現在の抽出アルゴリズムでは、トランペットのピークがあるとそちらを認識してしまうため、3次より上の倍音は諦めます。以下のパラメータで分離を行いました。高次倍音がないため、こもった音色になっています。トランペットのピークと近接している音では、トラックに失敗して音が揺れてしまっています。一応音程はわかる程度には分離できることがわかりました。楽曲の楽器分離のまとめ音程と楽器がわかる程度には分離できましたが、オリジナルと比べることもできないほど劣化が激しくなっています。様々な原因が考えられますが、伴奏が入ってきた場合を考えると、他の楽器の倍音でトラック仕様としている楽器の倍音がかき消されてしまう点が大きな問題です。スペクトラム図のピークを取る方法では、本質的に解決できないということがわかりました。音程をトラックする際に、人間の手で指定している点もあまり好ましくありません。機械学習によるスペクトラム認識により解決できないか、これから探ることにします。