Continuous descriptor-based control for deep audio synthesis
https://scrapbox.io/files/6444d67a646f7d001ca1b5db.png
日付
2023/4/24
論文リンク
文献情報
CONTINUOUS DESCRIPTOR-BASED CONTROL FOR DEEP AUDIO SYNTHESIS
Ninon Devis*, Nils Demerle*, Sarah Nabi*, David Genova, Philippe Esling
(ICASSP 2023)
要は何?
Descriptorと呼ばれるコンディション条件で音の合成を行うニューラルシンセサイザー.
問題意識と解決策
deepなシンセサイザーは柔軟な音作りができつつも,実際に音楽家にとっては使いづらいという問題があった.
Conditionを行って制御する方法(CVAE)により,音楽家の意図を組み込む方法が考えられるが,CVAEはConditionを無視し,潜在変数のみを使って合成してしまう傾向があった
- >敵対的学習により潜在変数からConditionの情報を含まないようにするFaderNetに似た枠組みを採用し,これをさらに拡張して時変かつ連続的な制御を可能にする
関連研究
attribute-aware music transformation(Kawai et al ISMIR 2020)
https://scrapbox.io/files/6444ec34eb6515001bee350c.png
メロディの音符の密度,Tonality等のアトリビュートを変更できる音楽編集の枠組み
アトリビュートが連続値だと敵対的学習の枠組みをうまく当てはめられないので,分布を考慮して量子化し等級に分け,その値が属する等級を当てさせないように学習した.
手法
合成部
https://scrapbox.io/files/6445cd91128807001b0c2916.png
RAVEを踏襲(波形入出力のVAE + 連続値制御)
マルチバンドで合成(cf. Multi-band MelGAN)
VAEでzを学習 -> エンコーダを固定しデコーダをGeneratorとするGANの学習でファインチューニング
これによって潜在変数z($ x \in \mathbb{R^n} \mapsto z \in \mathbb {R^{d \times m}})を学習(n:波形の次元, d:潜在変数の次元,m:サンプルされた時間次元)
ロスは1)VAEのロス,2) GANのロス, 3) MelGANに用いられた Feature matching loss (Discriminatorの特徴マップとのL1ロス)の和
制御部
https://scrapbox.io/files/6445cf8ee2e20f001b538a8d.png
連続値(印象量と結びつきのある音響特徴(スペクトル重心)等)で制御したい.
所望のアトリビュートで制御できるようにFaderNetを利用する.
先述のように敵対的学習で潜在変数$ zにコントロール$ Cの情報を含めないようにする.
https://scrapbox.io/files/6445d0777392f1001b8bc51f.png
従来のFaderNetはバイナリでしか制御ができなかった(そのアトリビュートを含む・含まない,等)が,その点をAttribute-aware music transformationが解決.本研究ではこれをさらに時変にしたい.
yamamoto.icon つまり,徐々に明るくするように,みたいなコントロールができるようになる
連続値コントロール
VAE学習後のファインチューニングで一工夫加える.
Descriptor $ a_n= f_a(x)により計算.zの時間次元数と一致させる.つまりアトリビュート数Nとすると$ N\times m
デコーダーは$ a_n (resampled), zを受け取って合成
エンコーダはdescriptorの情報を含めないように学習し直す
最終的にロスはこうなる
https://scrapbox.io/files/6445d51f99b3ab001b2ae468.png
λはVAEロス(ELBO)とZのアトリビュート不変度のバランスを取るためのハイパーパラメータ
実験とその結果
RMS,スペクトル重心,Bandwith.
さらに,Audio commonsからSharpness とBoominessを追加.これらはフレーム単位でなく音全体に対して計算されるので,フレームごとのアトリビュートとしてmodifyする.
データセット:Nsynth,Darbuka,SC09のそれぞれを使い実験.ともにtrain:valid:test= 8:1:1で分割
学習条件:
Adam($ \beta_1 = 0.5, \beta_2=0.9, Batch =8,lr=1e-4 )
正規分布のパラメータは(0,0.2)に初期化,
Leaky ReLU(leak=0.2)で学習
Multi-bandのBand数を8に設定.
エンコーダー,デコーダー,ディスクリミネータはオリジナルのRAVEと同じ
アトリビュートのディスクリミネータは3層の1DConvブロックからなるCNN.
VAE学習は1000k行った.
$ \betaは5k-15k目のステップの間で0から0.1,$ \lambdaは10k-30k目のステップの間で0から0.5に増やしていく
比較条件
RAVE, CVAEに基づくC-RAVE,F-RAVE(提案法)
1. 各種性能比較
左:RMSのみのアトリビュート,右:複数のアトリビュート
https://scrapbox.io/files/6445d8affc3b2a001bf06523.png
F-RAVEではアトリビュートの変化に対して頑健であると主張
yamamoto.icon ほんまか?
2. 制御性
各アトリビュートの制御性と,複数に制御ができるかどうか
https://scrapbox.io/files/6445da7d7d4832001c269c1d.png
RMSは制御がしやすく,他の値は制御しにくい
3. データセットごとの違い
https://scrapbox.io/files/6445db08d2762e001c3a99d1.png
RAVEの時点で多様な合成ができているので,こんなもん
デモを見よう!
コメント
コントロールありのニューラルシンセの走りとして素晴らしい
デモが面白い
読み進めたら,要はAWMTの時変バージョンだとわかった.若干離散・連続がどの部分の話なのかわかりづらくなったので,工夫した部分はもっとわかるように書けるのではないかと思った.
ハイパラの学習中のスケジュールは職人芸の香りがする.なにかの知見に基づいているのだろうか?
定量評価について,結果の解釈が若干over claimでは?
yamamoto.icon 相関値の0.02の違いに意味はあるのかどうか
実際そもそもシンセとかいじるプロがアトリビュートでの制御とか求めるんだろうか
RAVE以外のコントロール可能合成との比較もほしかった.
yamamoto.icon と思ったらDDSPとの比較もデモにあった.ICASSPの4ページに詰め込むのは確かに厳しいか