ギター音源からベース音源の生成:NMFを用いた改善の検討

>100 Views

November 25, 24

スライド概要

profile-image

日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ギター音源からベース音源の生 成:NMFを用いた改善の検討 日本大学大学院 香西智雄、小口純矢、北原鉄朗

2.

研究背景  ギターリストの中にはギターで作曲を楽しむ人が居る。  だが、編曲するとなると、音楽知識を要する。  知識いらずで自動バンド編曲してくれるシステムがあれば より音楽を楽しむ幅を広げられる。  その初歩として、入力のギター音源に対応するベース音源 を生成するシステムを作る。 予測 入力 出力

3.

入力想定するギター音源と 期待する出力ベース音源の品質  ギター、ベース共に大きく分けて、3レベルに定義する。 ギター ベース レベル1 スローテンポ コード進行がシンプル 繰り返しが多い スローテンポ コード進行がシンプル ルート弾きが多い レベル2 ハイテンポ 動きの少ないリフがある アルペジオがある ハイテンポ 多様なフレーズ レベル3 変拍子 短いスパンで転調を繰り返す スラップ等の技術が入ってい る  本研究では、ギター、ベース共にレベル2までを目標とし て取り組む。

4.

今までの取り組み  ギターのクロマグラムからベースのスペクトログラムを推測さ せるCNNを作成して行っていた。  結果として、単調なベースラインの生成しかできなかった。  実際の音源  入力: mix:  ベース音のスペクトログラムを直接CNNで学習させたことが要因の 一つだと考えられる。  そこで、スペクトログラムに混在する演奏情報を分解するアル ゴリズムである非負値因子行列分解(NMF)を適用し、演奏内容 を抽出させて学習させることで、ギターの演奏内容を踏まえた ベース音源の生成ができると考えた。

5.

今までの取り組み CNN 学習データ フィルター 層 クロマグラム 変換 逆フィル ター層 特徴量 圧縮 復元 特徴量抽出 正解データ この部分にNMFを適用 フーリエ 変換 予測結果 一致するよう学習する

6.

非負値因子行列分解(NMF)  NMFとは、スペクトログラムを二つの行列に分解する手法。  基底行列:各音の音色を表す  アクティベーション行列:各音の発音時刻・強さを表す  主に音源分離で使われることが多い。 基底行列 NMF アクティベー ション行列

7.

提案システム ギ タ | 音 源 クロマ グラム 特徴量 抽出 発音 強度 予測 アクティベーション 行列 VAE ベースの 全音域を含む 基底行列 振幅 スペクトル 行列 位相 復元 ベース 音源

8.

ベースの全音域を含む基底行列の作成  本来、NMFは一つの楽曲に適用し、その楽曲に特化した基底 行列・アクティベーション行列を作成する。  そのため、それぞれ別の楽曲から取った基底行列・アクティ ベーション行列を掛け合わせても、音源は復元できない。 楽曲1 NMF 基底行列 楽曲2 NMF アクティ ベーション行列  そこで、ベースの全音域を含む基底行列を作成し、その基底 行列を用いて、半教師有りNMFでアクティベーション行列を 作成する。

9.

ベースの全音域を含む基底行列の作成  ベースの全音域を含む楽曲を作成した。 作成ソフト pretty_midiライブラリ 音域 B0~C5 使用したベースの音色 エレキベースの指弾き・ ピック弾き  作成した音源に対して、NMFを適用し、ベースの全音域を 含む基底行列を作成する。  音源が複数ある場合は、音源の振幅スペクトルを結合させて、一つ の音源として扱う。

10.

VAE VAE デコーダ部 全結合 層 エンコーダ部 学習データ クロマ グラム 畳み込み層 発音 強度 畳み込み層 Concate nate 逆畳み込み層 正解データ ベースの 全音域を含む 基底行列 半教師有り NMF 潜在 変数 リシェイプ 層 アクティベー ション行列

11.

データセット  ヤマハミュージックデータショップで売られているThe Bealtesの演奏楽器用のMIDIデータ26曲からベース、ギター 音源をwav音源に変換したものを扱った。 学習データ数 14曲 検証データ数 12曲 BPM 120 wav変換時に使用したライブラリ FluidSynthライブラリ soundfont FluidR3_GM.sf2

12.

実験  以下の条件でモデルの精度を検証した。 1. 学習データにローパスフィルタを適用した音源と、さらにローパ スフィルタ+低周波数を強調した音源 2. 学習データにハイパスフィルタを適用した音源と、さらにハイパ スフィルタ+高周波数を強調した音源 3. 検証データ  実験条件1・2は、学習データに対してどれだけ変化を加えたら、 モデルの予測結果に影響が出るのかを検証する。  実験条件1・2に関しては、学習データ内の三つの音源に対して、 フィルタを適用した。

13.

評価指標  以下の評価指標で生成されたベース音源を評価した。 1. 生成されたベース音源のリズムが合っているかどうか(リズム一致 率)  音源のピーク検出を行い、検出されたピークがビートグリッド(8分音符間 隔)と一致している割合で評価した。 2. 入力のギターコードの構成音を含んだベース音を生成できているか  ギターのクロマグラムからエネルギーが強い上位三つの音高に、ベースの クロマグラムのエネルギーが最も強い音高が含まれているかの全体の割合 で評価した。(クロマ一致率)  実験条件1・2に関しては、予測アクティベーション行列と正解アクティ ベーション行列との一致率で評価した。(アクティベーション一致率)

14.

実験結果:実験条件1 生成音源の30秒~38秒間の発音強度  ローパスフィルタのみ  入力:  mix: リズム一致率 96% アクティベーション一致率 87% 赤点線:ビートグリッド、青線:発音強度 元音源のクロマ分布(期待値) 生成音源のクロマ分布

15.

実験結果:実験条件2 楽曲の30秒~38秒間の発音強度  ハイパスフィルタのみ  入力:  mix: リズム一致率 95% アクティベーション一致率 82% 赤点線:ビートグリッド、青線:発音強度 元音源のクロマ分布(期待値) 生成音源のクロマ分布

16.

実験結果:実験条件3  入力:  mix: リズム一致率 74% クロマ一致率 59% 楽曲の30秒~38秒間の発音強度 赤点線:ビートグリッド、青線:発音強度 元音源のクロマ分布(期待値) 生成音源のクロマ分布 入力音源(ギター)の8~12秒間のクロマグラム 生成音源の8~12秒間のクロマグラム

17.

実験結果:実験条件3  入力:  mix: リズム一致率 63% クロマ一致率 78% 楽曲の30秒~38秒間の発音強度 赤点線:ビートグリッド、青線:発音強度 元音源のクロマ分布(期待値) 生成音源のクロマ分布 入力音源(ギター)の8~12秒間のクロマグラム 生成音源の8~12秒間のクロマグラム

18.

結論  NMFによる、ギター音源からベース音源を生成する手法の 改善を行った。  学習データに対してフィルタをかけた結果は多少の劣化は 生じるがベースライン自体の生成は出来ていた。  検証データに対する結果は、完全にギターの演奏内容を踏 まえたベースラインが生成できていたとは言えない結果と なった。  今後はLSTMの導入、NMFの分解精度の向上などをやってい きたい。