[論文メモ] RMVPE: A Robust Model for Vocal Pitch Estimation in Polyphonic Music

arxiv.org

INTERSPEECH 2023

音楽からボーカルのピッチを推定する

ボーカルのピッチ推定は他の楽器の音が入っているため推定が難しい。
音源分離を利用してボーカルを抜き出してピッチ推定する方法があるが、音源分離の品質に大きく影響を受ける。
そこで音楽から直接ピッチを推定する手法、RMVPEを提案する。RMVPEはRobust Model for Vocal Pitch Estimationの頭文字から。

手法

ネットワークアーキテクチャとloss関数で解決する。

アーキテクチャ

入力はlog mel-spectrogram  X_{T \times F}で、 Tがフレーム長、 Fがmelの特徴量次元数でここでは256。
出力は Y_{T \times 360}

アーキテクチャの全体像は図1参照。基本構造としてはU-Netに近い。
RMVPEは主に4つのコンポーネントから成る。
コンポーネントを構成するREB、RCB、RDBについては図2参照。ICBはREBからAvgpoolを除いただけの構造。
構成するレイヤーに特別なレイヤーはない。



loss関数

出力は Y_{T \times 360}で、各フレームのピッチを360次元のセント値で予測する。

 c(f) = 1200 \times \log_2 \frac{f}{f_{ref}}

なお f_{ref} = 10\text{Hz}とした。
360次元はC1(32.7Hz)からB6(1975.5Hz)を20セント間隔に相当する。

ピッチ推定は以下の式のように、max値周辺の加重平均を利用。

 confiはボーカル有無の確信度でしきい値 th = 0.5とした。
学習はシンプルにcorss entropy。


360次元でデータのバランスも悪いので重み \omega=5を利用。

実験・結果

データセットとしてMDB-stem-synth、 MIR-1K、Cmedia 1 and MIR ST500というパブリックなものを利用。
これらはボーカルについてのピッチラベルが付いている。

評価指標は3つ。
raw pitch accuracy (RPA):±50セント以内のピッチ精度
raw chroma accuracy (RCA):オクターブを無視したピッチ精度
Overall accuracy (OA) :ボーカル有無含めたすべてのフレームについての精度

比較対象は5つ。
PYIN、CREPE、HARMOF0は音声のみからのピッチ推定なのでSpleeterを用いて伴奏を削除。
JDCとCRN-Rawはend-to-end。
CRN-Rawは提案手法と同じデータセットで再学習した。

結果が表1。既存手法に比べて良さげ。
encoder-decoderの形がボーカルのピッチ推定に必要な情報だけを取り出しているからと主張しているが、真偽は不明。


ノイズ耐性もチェック(表2)。
 \text{RMVPE}_{Vocal}は伴奏なしのボーカルのみで学習したモデル。
GIOという既存手法と同じ設定なので、論文からGIOの結果も引用。


ノイズ強度に対しての耐性

ボーカルのみの音源に対しての精度評価(表3)。
一部実験で負けているが全体としては高精度。

所感

アーキテクチャとloss関数の工夫で、正直よくあるやってみた系に見えなくもない。
アーキテクチャに関しては本当にやってみた感が強く、もっと軽量で良いアーキテクチャがありそう。
出力をセント値にするのは良いかもしれない。

単純な発話でも使えるのかが気になる。
データセットが(多分)音楽なので、ピッチの広い範囲をカバーできそうだが、音楽的コンテキストの影響を受けていそうでもある。