[2021 icas]PPG-BASED SINGING VOICE CONVERSION WITH ADVERSARIAL REPRESENTATION LEARNING
作者:Li Zhonghao
會議:投稿2021 icassp
單位:bytedance
文章目錄
- abstract
- 1. introduction
- 2. METHOD
- 2.1 PPGs Encoder & decoder
- 2.2 Mel Encoder
- 2.3 singer confusion module
- 2.4 Mel-Regressive Representation learning Module
- 3. EXPERIMENTS
- 3.1. Experimental Setup
- 3.2 Ablation Test
- 3.3 Noise Robustness
abstract
兩個encoder,一個編碼PPGs的文本信息,一個輸入mel譜編碼聲學(xué)和音樂信息;為了改善timbre和melody,另外有adversarial singer confusion module和mel-regressive 表征學(xué)習(xí)模塊。
1. introduction
在VC中,對于pitch,pause的修改是被允許的; 但是在SVC中,pitch,pause被認為是歌唱相關(guān),說話人無關(guān)的特征,應(yīng)該在轉(zhuǎn)換過程中被保留。
傳統(tǒng)的SVC方法基于平行數(shù)據(jù):參數(shù)生成結(jié)構(gòu)–GMM,GAN網(wǎng)絡(luò)
基于非平行數(shù)據(jù)的方法:VAE—用wavenet分別做encoder和decoder,用這么強大的一個網(wǎng)絡(luò)來做這件事情,可以在非平行數(shù)據(jù)上達到較好的效果?!?】引入domain confusion module從encoder output中解耦singer information?!?】沿用了domain confusion 的思路,進一步提出了pitch confusion module,可以從encoder outputs中移除picth信息,進而能夠通過F0值控制基頻包絡(luò)和韻律。還有一些其他基于VAE的方法在研究SVC,但是他們不能解決輸入音頻包含噪聲的情況。
PPGs(sun) 是一個好的文本特征,同時保留了速度信息。DBLSTM用PPGs做many-to-one的轉(zhuǎn)換【14】,【15】又進一步將這個方法擴展到many-to-many的轉(zhuǎn)換。
2. METHOD
2.1 PPGs Encoder & decoder
- singing ASR:使用的是歌唱識別數(shù)據(jù)集,CTC loss訓(xùn)練的ASR,提取1467-d PPGs
- look_up_tabel方式得到的speaker_embedding,GMM attention和stop token被引入
- source song中提取LF0
- decoder input:encoder_output + LF0 + spk_emb
YYY是mel spec,ttt是stop token
binary CE loss預(yù)測停止點
2.2 Mel Encoder
-
PPGs去除了音色信息,僅保留文本信息,但丟失了歌唱轉(zhuǎn)換需要的風(fēng)格(intonation-語調(diào),melody, emotion),因此用額外的mel encoder編碼這些信息。
-
實驗發(fā)現(xiàn):mel encoder的輸出維度被設(shè)為最小,這樣可以更好的抑制source voice中的音色和sound noise。4 units在平衡 timbre, sound quality, and musical characters 音素時表現(xiàn)最好。
2.3 singer confusion module
- 作用:為了加強轉(zhuǎn)換語音和source的音色相似度;此處嘗試過CBHG結(jié)構(gòu)的module,但是性能不穩(wěn)定,且很容易訓(xùn)崩
- CtargetC_{target}Ctarget?是目標說話人的one-hot embedding
- CtargetjC_{target}^jCtargetj?是第jjj幀預(yù)測的spk_emb,然后對N幀結(jié)果求平均
- 訓(xùn)練分成兩步
- (1)訓(xùn)練分類網(wǎng)絡(luò),以最小化LDL_DLD?
- (2)訓(xùn)練conversion path:(singer 分類器參數(shù)不再更新),loss函數(shù)是下公式,說話人判別器根據(jù)encoder output的輸出判斷說話人身份
2.4 Mel-Regressive Representation learning Module
- 測試發(fā)現(xiàn)加入singer confusion module,在解耦說話人身份之外,發(fā)音和音樂特征的表達被削弱了,因此加入額外的模塊,對學(xué)習(xí)的特征進行指導(dǎo)補充。
- 訓(xùn)練階段L:將speaker embedding+mel encoder outputs拼音送入Mel-Regressive Representation learning Module,恢復(fù)mel,
生成器的loss函數(shù)可以表示為
3. EXPERIMENTS
3.1. Experimental Setup
train-set:中文普通話歌唱數(shù)據(jù)集32.7h(9個female, 7個male),每個說話人平均1000句訓(xùn)練,10句evaluation。
test-set:訓(xùn)練集以外的20人,40個segment,
decoder:WaveRNN
singing ASR(SASR):20k hours數(shù)據(jù), 1467-d PPGs
參數(shù)設(shè)置:γ = 1.0, λ = 0.1
18個專業(yè)的音樂人進行聽測;測試了(1)自然度;(2)相似度;另外測試了客觀指標NCC(normalized cross-correlation,歸一化互相關(guān))—prediction和ground-truth之間的pitch匹配度;
3.2 Ablation Test
結(jié)論:
3.3 Noise Robustness
對source加入不同信噪比的白噪聲,性能損失很少(信噪比表明聲音的清晰度)
總結(jié)
以上是生活随笔為你收集整理的[2021 icas]PPG-BASED SINGING VOICE CONVERSION WITH ADVERSARIAL REPRESENTATION LEARNING的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python tkinter相关Demo
- 下一篇: 网络渗透(作业)