>100 Views
March 21, 25
スライド概要
2024年度卒業研究発表 香西智雄
日本大学 文理学部 情報科学科 北原研究室。 「Technology Makes Music More Fun」を合言葉に、音楽をはじめとするエンターテインメントの高度化に資する技術の研究開発を行っています。
NMFを用いたギター音源から ベース音源の生成 北原研究室 修士二年 香西智雄
研究背景 ギターリストの中にはギターで作曲を楽しむ人が居る。 だが、編曲するとなると、音楽知識を要する。 知識いらずで自動バンド編曲してくれるシステムがあれば より音楽を楽しむ幅を広げられる。 その初歩として、入力のギター音源に対応するベース音源 を生成するシステムを作る。 予測 入力 出力
関連研究 関連研究 具体例 課題点 以前までの音楽生成研究 Suno AI(2023)、Juke Box(2020)、Muse Net(2019) 入力が文字ベース Audio-to-Audioでの音楽生 成研究 Diff.A.Riff(2024)、 StemGen(2024) ギターを主軸にしている編 Midi-to-Tab(2024)、 曲研究 TapToTab(2024)、 Song2Guitar(2017) データセットがMIDIもしくは 高品質な音源に依存している 高品質なタブ譜の生成やソロ ギター譜の生成の研究がほと んど これらの課題点を解決するため 本研究では、オーディオ音源の実楽曲をデータセットとして扱い、 Audio-to-Audioでギター音源からベース音源の生成を目指す。
入力想定するギター音源と 期待する出力ベース音源の品質 ギター、ベース共に大きく分けて、3レベルに定義する。 ギター ベース レベル1 スローテンポ コード進行がシンプル 繰り返しが多い スローテンポ コード進行がシンプル ルート弾きが多い レベル2 ハイテンポ 動きの少ないリフがある アルペジオがある ハイテンポ 多様なフレーズ レベル3 変拍子 短いスパンで転調を繰り返す スラップ等の技術が入ってい る 本研究では、ギター、ベース共にレベル2までを目標とし て取り組む。
非負値因子行列分解(NMF) オーディオ音源から特徴量を抽出する手法はスペクトログラムなどが考 えられる。 スペクトログラムは演奏内容と音色の情報が混在し、NNでの学習は難しい。 この問題を解決するため、NMFを採用する。 NMFとは、非負値行列を二つの非負値行列に近似分解する手法。 𝑿 ≈ 𝑾 ∙ 𝑯 𝑿 :非負値行列 NMFをスペクトログラムに適用し、情報を分割する。 𝑯 :アクティベーション行列 𝑾 :基底行列 周波数軸 時間軸 ∙ NMF 基底 基底(音色) 音色の情報を持つ 演奏内容の情報を持つ
VAE エンコーダ部 学習データ クロマ グラム デコーダ部 全結合 畳み込み Z 発音強度 畳み込み 調 正解データ Reshape 結合 逆畳み込み ベースの 全音域を含む 基底行列 半教師有 NMF アクティベー ション行列
VAE エンコーダ部 学習データ クロマ グラム デコーダ部 全結合 畳み込み Z 発音強度 畳み込み 調 正解データ Reshape 結合 逆畳み込み ベースの 全音域を含む 基底行列 半教師有 NMF アクティベー ション行列
VAE エンコーダ部 学習データ クロマ グラム デコーダ部 全結合 畳み込み Z 発音強度 畳み込み 調 正解データ Reshape 結合 逆畳み込み ベースの 全音域を含む 基底行列 半教師有 NMF アクティベー ション行列
VAE エンコーダ部 学習データ クロマ グラム デコーダ部 全結合 畳み込み Z 発音強度 畳み込み 調 正解データ Reshape 結合 逆畳み込み ベースの 全音域を含む 基底行列 半教師有 NMF アクティベー ション行列
VAE エンコーダ部 学習データ クロマ グラム デコーダ部 全結合 畳み込み Z 発音強度 畳み込み 調 正解データ Reshape 結合 逆畳み込み ベースの 全音域を含む 基底行列 半教師有 NMF アクティベー ション行列
ベースの全音域を含む基底行列 共通の音色に基づくアクティベーション行列を作成するために ベースの全音域をカバーした基底行列を作成する。 問題点 一つの基底が複数の音色の情報を持ち、その基底が活性化するたび に複数の音が鳴る。 この問題を解決するため、ベースの各音高の基音周波数から作 成された倍音テンプレートを使い、NMFに調和制約を課す。 周波数軸 倍音テンプレート 周波数軸 ベース音源の スペクトログラム NMF 基底行列の初期値に使用 F2を構成する周波数 D2を構成する周波数 基底 基底行列 C2を構成する周波数 B0~G4までカバー(ベースの全音域) C2 D2 基底 F2 それぞれの基底が 一つの音に対応
ベースの全音域を含む基底行列 共通の音色に基づくアクティベーション行列を作成するために ベースの全音域をカバーした基底行列を作成する。 問題点 一つの基底が複数の音色の情報を持ち、その基底が活性化するたび に複数の音が鳴る。 この問題を解決するため、ベースの各音高の基音周波数から作 成された倍音テンプレートを使い、NMFに調和制約を課す。 周波数軸 倍音テンプレート 周波数軸 ベース音源の スペクトログラム NMF 基底行列の初期値に使用 F2を構成する周波数 D2を構成する周波数 基底 基底行列 C2を構成する周波数 B0~G4までカバー(ベースの全音域) C2 D2 基底 F2 それぞれの基底が 一つの音に対応
ベースの全音域を含む基底行列 共通の音色に基づくアクティベーション行列を作成するために ベースの全音域をカバーした基底行列を作成する。 問題点 一つの基底が複数の音色の情報を持ち、その基底が活性化するたび に複数の音が鳴る。 この問題を解決するため、ベースの各音高の基音周波数から作 成された倍音テンプレートを使い、NMFに調和制約を課す。 周波数軸 倍音テンプレート 周波数軸 ベース音源の スペクトログラム NMF 基底行列の初期値に使用 F2を構成する周波数 D2を構成する周波数 基底 基底行列 C2を構成する周波数 B0~G4までカバー(ベースの全音域) C2 D2 基底 F2 それぞれの基底が 一つの音に対応
ベースの全音域を含む基底行列 共通の音色に基づくアクティベーション行列を作成するために ベースの全音域をカバーした基底行列を作成する。 問題点 一つの基底が複数の音色の情報を持ち、その基底が活性化するたび に複数の音が鳴る。 この問題を解決するため、ベースの各音高の基音周波数から作 成された倍音テンプレートを使い、NMFに調和制約を課す。 周波数軸 倍音テンプレート 周波数軸 ベース音源の スペクトログラム NMF 基底行列の初期値に使用 F2を構成する周波数 D2を構成する周波数 基底 基底行列 C2を構成する周波数 B0~G4までカバー(ベースの全音域) C2 D2 基底 F2 それぞれの基底が 一つの音に対応
アクティベーション行列に対する後処理 各時間フレームに一つの音が出現するように、生成された アクティベーション行列に対して後処理を施した。 得られた周波数𝑓 を 各基底で最も顕著な ピッチクラスに変換 ベースの 周波数𝑓を検出 𝑓 全音域を含む 12・ log 2 𝑚𝑜𝑑12 𝑓 0 基底行列 𝑓0 :基準周波数440Hz(A4) 類似するピッチクラスでグループ化 周波数軸 基底 アクティベーション行列 時間軸 各時間フレームで 最大寄与グループの 最も寄与している基底のみ残す 出力 VAE 音色 複数の基底が活性化している 時間軸 音色 各時間フレームで 一つの基底が活性化
アクティベーション行列に対する後処理 各時間フレームに一つの音が出現するように、生成された アクティベーション行列に対して後処理を施した。 得られた周波数𝑓 を 各基底で最も顕著な ピッチクラスに変換 ベースの 周波数𝑓を検出 𝑓 全音域を含む 12・ log 2 𝑚𝑜𝑑12 𝑓 0 基底行列 𝑓0 :基準周波数440Hz(A4) 類似するピッチクラスでグループ化 周波数軸 基底 アクティベーション行列 時間軸 各時間フレームで 最大寄与グループの 最も寄与している基底のみ残す 出力 VAE 音色 複数の基底が活性化している 時間軸 音色 各時間フレームで 一つの基底が活性化
アクティベーション行列に対する後処理 各時間フレームに一つの音が出現するように、生成された アクティベーション行列に対して後処理を施した。 得られた周波数𝑓 を 各基底で最も顕著な ピッチクラスに変換 ベースの 周波数𝑓を検出 𝑓 全音域を含む 12・ log 2 𝑚𝑜𝑑12 𝑓 0 基底行列 𝑓0 :基準周波数440Hz(A4) 類似するピッチクラスでグループ化 周波数軸 基底 アクティベーション行列 時間軸 各時間フレームで 最大寄与グループの 最も寄与している基底のみ残す 出力 VAE 音色 複数の基底が活性化している 時間軸 音色 各時間フレームで 一つの基底が活性化
アクティベーション行列に対する後処理 各時間フレームに一つの音が出現するように、生成された アクティベーション行列に対して後処理を施した。 得られた周波数𝑓 を 各基底で最も顕著な ピッチクラスに変換 ベースの 周波数𝑓を検出 𝑓 全音域を含む 12・ log 2 𝑚𝑜𝑑12 𝑓 0 基底行列 𝑓0 :基準周波数440Hz(A4) 類似するピッチクラスでグループ化 周波数軸 基底 アクティベーション行列 時間軸 各時間フレームで 最大寄与グループの 最も寄与している基底のみ残す 出力 VAE 音色 複数の基底が活性化している 時間軸 音色 各時間フレームで 一つの基底が活性化
アクティベーション行列に対する後処理 各時間フレームに一つの音が出現するように、生成された アクティベーション行列に対して後処理を施した。 得られた周波数𝑓 を 各基底で最も顕著な ピッチクラスに変換 ベースの 周波数𝑓を検出 𝑓 全音域を含む 12・ log 2 𝑚𝑜𝑑12 𝑓 0 基底行列 𝑓0 :基準周波数440Hz(A4) 類似するピッチクラスでグループ化 周波数軸 基底 アクティベーション行列 時間軸 各時間フレームで 最大寄与グループの 最も寄与している基底のみ残す 出力 VAE 音色 複数の基底が活性化している 時間軸 音色 各時間フレームで 一つの基底が活性化
データセット 市販で販売されているBUMP OF CHICKENの全アルバム収録曲に音源分 離ライブラリであるdemucsを適用し、分離後のベース、ギターのwav 音源を扱った。 学習データ数 106曲 検証データ数 13曲 データセットのレベル 1~2レベル BPM 120 学習データ(ベース音源)の設定 雑音除去 HPSS、バンドパスフィルタ バンドパスフィルタの設定 下限: 30 Hz 、上限: 500 Hz、フィルタ次数: 5次 データのかさまし 音源先頭から切り出すデータと、音源先頭から1 秒ずらして切り出すデータ 総時間 約13時間分
実験 生成されたベース音源の品質評価を行い、また、NMFの処理に対す る工夫が生成音源に与える影響を調べるため、検証データを用いて 実験を行った。 実験条件 実験条件1 実験条件2 実験条件3 NMF 〇 〇 〇 調和制約 × 〇 〇 アクティベーション 行列に対する後処理 × × 〇 実験条件1では、調和制約を無くしたNMFに基づく生成音源の品質を評価 し、他の条件との比較を行う。 実験条件2および実験条件3では、アクティベーション行列に対する後処理 の有無が生成音源の品質に与える影響を評価する。
評価指標 生成されたベースラインを以下の評価指標で評価した。 指標番号 目的 方法 1 ギターコードに調和したベース音を生成 できているか クロマグラムを使って音高の一致度を測定 2 発音タイミングが拍節構造に合っている か アクティベーション行列でピークを検出し、 ビートグリッドに一致するか 3 生成されたベースが楽曲のキースケール の範囲内の音であるか ギター音源からキーを推定し、ベースの音 高がそのキースケールに合うか 4 生成されたベースラインが過剰に単調、 複雑ではないか 各2小節ごとに出現する音高の数を分析し、 元音源の結果と比較 5 生成されたベースラインの各フレーム毎 の同時発音数が1つになっているか クロマグラムを使って各時間フレームごと の音高数が一つになっているか 6 生成されたベース音の音量の時間変化が 大きすぎないか、または小さすぎないか 各2小節ごとの振幅包絡から音量の変動率 を出し、元音源の結果と比較
実験結果:実験条件1(NMFのみ) 入力: 実験条件1: ギターのクロマグラム(32秒~40秒) 指標番号 実験条件1 元音源 1 64% 54% 2 45% 30% 3 95% 87% 4 1.55 2.92 5 37% 66% 6 0.72 0.78 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒)
実験結果:実験条件1(NMFのみ) 入力: 実験条件1: ギターのクロマグラム(32秒~40秒) 指標番号 実験条件1 元音源 1 64% 54% 2 45% 30% 3 95% 87% 4 1.55 2.92 5 37% 66% 6 0.72 0.78 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒) ギターと調和したベースを生成できていた 生成されたベースは同時に複数の音が鳴っていた
実験結果:実験条件1(NMFのみ) 入力: 実験条件1: ギターのクロマグラム(32秒~40秒) 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) ピークが16分音符に沿っているものが多かった 少し不規則なエネルギーの変動があった 指標番号 実験条件1 元音源 1 64% 54% 2 45% 30% 3 95% 87% 4 1.55 2.92 5 37% 66% 6 0.72 0.78 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒)
実験結果:実験条件2(NMF+調和制約) 実験条件2: ギターのクロマグラム(32秒~40秒) 指標番号 実験条件2 元音源 1 68% 54% 2 41% 30% 3 96% 87% 4 1.68 2.92 5 34% 66% 6 0.77 0.78 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒)
実験結果:実験条件2(NMF+調和制約) 実験条件2: ギターのクロマグラム(32秒~40秒) 指標番号 実験条件2 元音源 1 68% 54% 2 41% 30% 3 96% 87% 4 1.68 2.92 5 34% 66% 6 0.77 0.78 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒) ギターと調和したベースを生成できていた 実験条件1より、生成されたベースは同時に 複数の音が鳴っていた
実験結果:実験条件2(NMF+調和制約) 実験条件2: ギターのクロマグラム(32秒~40秒) 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) ピークが16分音符に沿っているものが多かった 実験条件1よりもエネルギーの変動が不規則にあった 指標番号 実験条件2 元音源 1 68% 54% 2 41% 30% 3 96% 87% 4 1.68 2.92 5 34% 66% 6 0.77 0.78 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒)
実験結果:実験条件3(NMF+調和制約+後処理) 実験条件3: ギターのクロマグラム(32秒~40秒) 指標番号 実験条件3 元音源 1 69% 54% 2 38% 30% 3 95% 87% 4 1.78 2.92 5 75% 66% 6 0.90 0.78 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒)
実験結果:実験条件3(NMF+調和制約+後処理) 実験条件3: ギターのクロマグラム(32秒~40秒) 指標番号 実験条件3 元音源 1 69% 54% 2 38% 30% 3 95% 87% 4 1.78 2.92 5 75% 66% 6 0.90 0.78 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒) 他の実験条件より、生成されたベースの同時発音数は1 になっている割合が多かった 他の実験結果よりも多くの音高が出現するようになった
実験結果:実験条件3(NMF+調和制約+後処理) 実験条件3: ギターのクロマグラム(32秒~40秒) 生成音源のクロマグラム(32秒~40秒) 元音源のクロマグラム(32秒~40秒) 他の実験結果よりもビートグリッドに沿ったピークは減った 他の実験結果よりも不規則なエネルギーの変動があった 指標番号 実験条件3 元音源 1 69% 54% 2 38% 30% 3 95% 87% 4 1.78 2.92 5 75% 66% 6 0.90 0.78 元音源の発音強度(32秒~36秒) 生成音源の発音強度(32秒~36秒)
結論 調和制約のみではNMFのみの結果と大きな変化はなかった。 調和制約+後処理による改善点・問題点 同時発音数がほぼ1音のみ鳴るようになる。 2小節間での出現する音高の数が増える。 リズム、音量のばらつきが生じる。 今後の課題 発音タイミング・音量変化の改善 ギター音源を疑似的にバンドパスフィルタでバッキング・リズムギター に分離 アクティベーション行列に対する後処理の改善 隣接するフレームの連続性を考慮し、突発的な基底の変動を抑制 NMFの分解精度の向上