티스토리 뷰
Paper/SVS
[Paper 리뷰] TCSinger: Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control
feVeRin 2024. 11. 30. 13:25반응형
TCSinger: Zero-Shot Singing Voice Synthesis with Style Transfer and Multi-Level Style Control
- Singing style의 multifaceted nature로 인해 singing voice synthesis는 modeling, transfer, control 측면에서 한계가 있음
- 특히 unseen singer에 대한 stylistic nuance가 포함된 singing voice를 합성하기 어려움 - TCSinger
- Clustering style encoder를 통해 style information을 compact latent space로 condese
- Style and Duration Language Model을 통해 style information, phoneme duration을 concurrently predict
- Style adaptive decoder를 통해 enhanced detail이 반영된 singing voice를 생성
- 논문 (EMNLP 2024) : Paper Link
1. Introduction
- Singing Voice Synthesis (SVS)는 lyrics, musical notation을 기반으로 high-quality singing voice를 생성하는 것을 목표로 함
- 특히 zero-shot SVS는 style transfer, style control을 포함하여 unseen timbre/style로 high-quality singing voice를 생성하는 것을 목표로 함
- Personal singing style에는 singing method, emotion, rhythm, technique, pronunciation이 포함됨
- BUT, 기존의 SVS method는 해당 personal style을 효과적으로 transfer/control 하지 못함
- 일반적으로 target singer가 training phase에서 identifiable 하다고 가정하므로 unseen singer에 대해서는 합성 성능이 떨어지기 때문
- 한편으로 style transfer/control을 위한 zero-shot SVS에는 다음의 한계점이 존재함
- Singing style의 multifaceted nature로 인해 comprehensive modeling, transfering이 어려움
- 이를 위해 StyleSinger는 Residual Quantization (RQ)를 도입했지만, singing method와 같은 style은 효과적으로 반영하지 못함 - Unseen singer에 대해 stylistic nuance가 rich 한 singing voice를 생성하기 어려움
- 이를 위해 VISinger2는 signal processing technique을 접목하고 DiffSinger는 diffusion decoder를 도입했지만, 여전히 zero-shot 측면에서는 한계가 있음
- Singing style의 multifaceted nature로 인해 comprehensive modeling, transfering이 어려움
- 특히 zero-shot SVS는 style transfer, style control을 포함하여 unseen timbre/style로 high-quality singing voice를 생성하는 것을 목표로 함
-> 그래서 다양한 singing voice의 style을 반영할 수 있는 zero-shot SVS model인 TCSinger를 제안
- TCSinger
- 다양한 style을 modeling하기 위해, Clustering Vector Quantization (CVQ) model을 기반으로 style information을 compact latent space로 condense 하는 Clustering Style Encoder를 도입
- Style control/transfer를 위해 Style and Duration Language Model (S&D-LM)을 도입
- Audio, text prompt를 사용해 style information과 phoneme duration을 concurrently predict 하는 역할 - Stylistic nuance를 반영하기 위해, style adaptive normalization에 기반한 Style Adaptive Decoder를 적용
< Overall of TCSinger >
- Clustering Style Encoder를 통해 style을 추출하고 style information/duration을 예측하는 S&D-LM을 통해 효과적인 style transfer/control을 지원
- Style Adaptive Decoder를 통해 intricately detailed singing voice를 생성
- 결과적으로 기존보다 뛰어난 zero-shot 합성 성능을 달성
2. Method
- Overview
- TCSinger는 singing voice를 content style (singing method, emotion, rhythm, technique, pronunciation)과 timbre에 대한 separate representation으로 disentangle 함
- 먼저 content representation의 경우 lyrics는 Phoneme Encoder를 통해 encode 되고, musical note는 Note Encoder를 통해 encode 됨
- Style representation의 경우 Clustering Style Encoder에서 Clustering Vector Quantization (CVQ)를 통해 style information을 compact latent space로 condense 하여 사용함
- Timbre representation의 경우 prmopt mel-spectrogram을 Timbre Encoder에 전달하여 1D timbre vector를 얻은 다음, 다른 information으로부터 disentangling 함
- Style and Duration Language Model (S&D-LM)는 style information과 phoneme duration을 예측함
- 해당 S&D-LM은 audio, text prompt를 사용하여 style transfer와 style control을 수행 가능 - $F0$ 예측을 위해 Pitch Diffusion Predictor와 Style Adaptive Decoder를 사용하여 target mel-spectrogram을 생성함
- 이때 Style Adaptive Decoder는 mel-style adaptive normalization을 사용하여 intricately detailed singing voice를 생성 가능 - Training 시 first phase에서는 reconstruction을 위한 Clustering Style Encoder를 training 하고 second phase에서는 style prediction을 위해 S&D-LM을 training 함
- 추론 시에는 style transfer/control을 위해 audio prompt나 text prompt를 S&D-LM에 전달할 수 있음
- 먼저 content representation의 경우 lyrics는 Phoneme Encoder를 통해 encode 되고, musical note는 Note Encoder를 통해 encode 됨
- Clustering Style Encoder
- TCSinger는 mel-spectrogram에서 singing method, emotion, rhythm, technique, pronunciation과 같은 style을 capture 하기 위해 Clustering Style Encoder를 도입함
- 먼저 input mel-spectrogram은 phoneme boundary를 기반으로 하는 pooling layer로 condese 되기 전에 WaveNet block을 통해 initially refine 됨
- 이후 convolution stack은 phoneme-level의 correlation을 capture 하고, linear projection을 사용하여 output을 code index lookup을 위한 low-dimensional latent variable space에 mapping 함
- 다음으로 CVQ layer는 해당 input $x$로부터 phoneme-level style representation을 생성하여 non-style information을 제거하는 information bottleneck을 구성함
- Linear projection의 dimensionality reduction과 CVQ의 bottleneck을 통해 TCSinger는 timbre와 content information에서 style을 decoupling 할 수 있음
- 특히 기존의 VQ와 비교하여 CVQ는 dynamic initialization strategy를 통해 less-used/unused code vector가 frequently used code vector 보다 더 많이 modify 되도록 하여 codebook collapse를 해결할 수 있음
- 이때 training stability와 reconstruction quality를 향상하기 위해 encoded latent variable과 codebook의 모든 latent variable에 대해 $\ell_{2}$ normalization을 적용함
- 추가적으로 다양한 style을 학습하기 위해 training 중에 Ground-Truth (GT) audio를 input 하고 style transfer를 위해 추론 중에 audio를 prompt 함
- 먼저 input mel-spectrogram은 phoneme boundary를 기반으로 하는 pooling layer로 condese 되기 전에 WaveNet block을 통해 initially refine 됨
- Style Adaptive Decoder
- Singing voice의 dynamic nature로 인해 기존 mel-decoder는 mel-spectrogram의 intricacy를 효과적으로 capture 하지 못함
- 특히 VQ를 사용하여 style information을 추출하는 것은 inherently lossy 하고 closely related style은 indentical codebook index로 쉽게 encode 될 수 있음
- 즉, 기존의 mel-decoder를 사용하면 synthesized singing voice가 rigid 하고 variation이 부족해짐 - 따라서 TCSinger는 mel-style adaptive normalization을 활용하는 Style Adaptive Decoder를 도입함
- 해당 adaptive instance normalization은 decoupled style information을 사용하여 overall mel-spectrogram을 refine 함
- 이를 통해 mel-spectrogram에 stylistic variation을 infuse 하여 decoder input에서 style quantization을 사용하는 경우에도 nautral voice를 생성할 수 있음
- Style Adaptive Decoder는 ProDiff의 8-step diffusion-based decoder에 기반함
- 이때 FFT를 denoiser로 사용하고 mel-style adaptive normalization의 multiple layer로 enhance 함 - Diffusion decoder denoiser에서 $i$-th layer의 intermediate mel-spectrogram을 $m^{i}$라고 하자
- 그러면 $i$-th layer에서 $m^{i-1}$은 normalize 된 다음, style embedding에서 계산된 scale/bias에 의해 adapt 됨
- Normalization method로는 Layer Normalization을 사용 - Mean과 standard deviation을 각각 $\mu(\cdot), \sigma(\cdot)$이라고 하면, $m_{i}$는:
(Eq. 1) $m^{i}=\phi_{\gamma}(s)\frac{m^{i-1}-\mu(m^{i-1}) }{\sigma(m^{i-1})}+\phi_{\beta}(s)$
- $\phi_{\gamma}(\cdot), \phi_{\beta}(\cdot)$ : learned affine transformation으로써 $s$를 scaling/bias value로 변환하는 역할 - $\phi_{\gamma}(\cdot), \phi_{\beta}(\cdot)$는 stylistic variant를 inject 하여 similar decoder input이 natural/diverse 한 mel-spectrogram을 생성하도록 함
- 그러면 $i$-th layer에서 $m^{i-1}$은 normalize 된 다음, style embedding에서 계산된 scale/bias에 의해 adapt 됨
- 추가적으로 decoder를 training 하기 위해 Mean Absolute Error (MAE)와 Structural Similarity Index (SSIM)을 사용
- 특히 VQ를 사용하여 style information을 추출하는 것은 inherently lossy 하고 closely related style은 indentical codebook index로 쉽게 encode 될 수 있음
- S&D-LM
- Singing style은 local, long-term dependency를 모두 가지고 있고, content와의 weak correlation으로 인해 time에 따라 빠르게 변화함
- 해당 특성으로 인해 conditional language model을 통해 style을 예측하는 것이 이상적임
- 한편으로 phoneme duration은 variant가 다양하고 singing style과 closely-relate 되어 있음 - 따라서 TCSinger는 Style and Duration Language Model (S&D-LM)을 도입하여 audio/text prompt를 통해 zero-shot style transfer/control을 수행함
- 해당 특성으로 인해 conditional language model을 통해 style을 예측하는 것이 이상적임
- Style Transfer
- Target lyrics $\tilde{l}$, note $\tilde{n}$과 lyrics $l$, note $n$에 대해 TCSinger는 audio prompt의 unseen timbre, style에 대해 high-quality target singing voice mel-spectrogram $\tilde{m}$을 합성하는 것을 목표로 함
- 먼저 서로 다른 encoder를 사용하여 audio prompt의 timbre information $t$와 content information $c$, style information $s$를 추출하고 target information $\tilde{c}$를 얻으면:
(Eq. 2) $s=E_{style}(m), \,\, t=E_{timbre}(m),\,\, c=E_{content}(l,n),\,\, \tilde{c}=E_{content}(\tilde{l},\tilde{n})$
- $E$ : 각 attribute에 대한 encoder - 여기서 target timbre $\tilde{t}$가 audio prompt를 반영하므로 target style $\tilde{s}$가 필요함
- 따라서 language model의 powerful in-context learning capability에 기반한 S&D-LM을 통해 $\tilde{s}$를 예측함
- 추가적으로 S&D-LM을 통해 target phoneme duration $\tilde{d}$를 예측하여 phoneme duration과 singing voice style 간의 strong correlation을 통해 prediction을 개선함
- 구조적으로 S&D-LM은 decoder-only transformer-based architecture를 따르고, prompt phoneme duration $d$, prompt style $s$, prompt content $c$, target content $\tilde{c}$, target timbre $\tilde{t}$를 concatenate 하여 input으로 사용함
- 그러면 autoregressive prediction process는:
(Eq. 3) $p\left(\tilde{s},\tilde{d}|s,d,c,\tilde{t},\tilde{c};\theta\right)=\prod_{t=0}^{T} p\left(\tilde{s}_{t},\tilde{p}_{t}|\tilde{s}_{<t},\tilde{d}_{<t},s,d,c,\tilde{t},\tilde{c};\theta\right)$
- $\theta$ : S&D-LM의 parameter - $P$를 pitch diffusion predictor, $D$를 style adaptive decoder라고 하면, 다음과 같이 $F0$와 mel-spectrogram을 생성할 수 있음:
(Eq. 4) $F0=P(\tilde{s},\tilde{d},\tilde{d},\tilde{c}),\,\, \tilde{m}=D(\tilde{s},\tilde{d},\tilde{t},\tilde{c},F0)$
- 그러면 autoregressive prediction process는:
- Style Control
- Alternative text prompt를 사용하면 audio prompt에서 $s,d$를 추출할 필요가 없음
- 대신 text encoder를 통해 global (singing method/emotion)과 phoneme-level (각 phoneme에 대한 technique) text prompt $tp$를 encoding 한 다음, $c,\tilde{c},\tilde{t}$와 concatenate 하여 input으로 사용함 - 그러면 S&D-LM의 prediction process는:
(Eq. 5) $p\left(\tilde{s},\tilde{d} | tp,c,\tilde{t},\tilde{c};\theta\right)=\prod_{t=0}^{T}p\left(\tilde{s}_{t},\tilde{p}_{t} | tp,c,\tilde{t},\tilde{c};\theta\right)$ - Training 중에 S&D-LM은 style information에 대한 cross-entropy loss와 phoneme duration에 대한 Mean Squared Error (MSE)를 사용함
- Style transfer의 경우, clustering style encoder는 GT mel-spectrogram에서 style information을 추출하여 teacher-forcing mode로 S&D-LM을 training 함
- 추가적으로 style transfer/control task에 대한 probability parameter $p$를 통해 training을 처리
- Alternative text prompt를 사용하면 audio prompt에서 $s,d$를 추출할 필요가 없음
- Training and Inference Procedures
- Training Procedures
- TCSinger의 final loss는 다음과 같이 구성됨
- $\mathcal{L}_{CVQ}$ : clustering style encoder의 CVQ loss
- $\mathcal{L}_{gdiff},\mathcal{L}_{mdiff}$ : pitch diffusion predictor의 predicted pitch와 GT 간의 Gaussian diffusion loss, Multinomial diffusion loss
- $\mathcal{L}_{mae}, \mathcal{L}_{ssim}$ : style adaptive decoder의 predicted mel-spectrogram과 GT 간의 MAE, SSIM loss
- $\mathcal{L}_{dur}$ : teacher-forcing mode에서 S&D-LM으로 예측된 log-scale duration과 GT 간의 MSE loss
- $\mathcal{L}_{style}$ : teacher-forcing mode에서 S&D-LM으로 예측된 style information과 GT 간의 cross-entropy loss
- $\mathcal{L}_{CVQ}$ : clustering style encoder의 CVQ loss
- 위 loss term을 결합하여 final loss를 구성함
- TCSinger의 final loss는 다음과 같이 구성됨
- Inference with Style Transfer
- (Eq. 3)에 따라 zero-shot style transfer는 inference 시 audio prompt에서 추출한 $c,t,s,d$와 target content $\tilde{c}$를 S&D-LM의 input으로 사용하여 $\tilde{s},\tilde{u}$를 얻음
- 이때 target timbre와 prompt는 변경되지 않으므로 (Eq. 4)에 따라 pitch diffusion predictor로 $F0$를 생성하고,
- Style adpative decoder로 final mel-spectrogram $\tilde{m}$을 생성하기 위해 target content $\tilde{c}$, timbre $\tilde{t}$, styel information $\tilde{s}$, phoneme duration $\tilde{d}$를 concatenate 함
- 결과적으로 생성된 target singing voice는 모든 task에 대해 효과적으로 transfer 될 수 있음
- 한편으로 cross-lingual task의 경우 prompt lyrics language가 서로 다른 것을 제외하면 process는 동일함
- Speech-to-Singing (STS) task의 경우 speech data가 audio prompt로 사용되어 target singing voice에 대한 timbre, style을 transfer 함
- (Eq. 3)에 따라 zero-shot style transfer는 inference 시 audio prompt에서 추출한 $c,t,s,d$와 target content $\tilde{c}$를 S&D-LM의 input으로 사용하여 $\tilde{s},\tilde{u}$를 얻음
- Inference with Style Control
- (Eq. 5)에 따라 multi-level style control는 inference 과정에서 audio prompt의 timbre만 제공하므로, clustering style encoder를 사용하여 prompt style을 추출할 필요가 없음
- Global/phoneme-level text prompt는 text encoder를 통해 $s,d$를 대체하여 target $\tilde{s}, \tilde{d}$를 합성함
- Global text prompt는 singing method (bel canto, pop 등), emotion을 포함하고 Phoneme-level text prompt는 각 phoneme에 대한 technique (falsetto, breathy, vibrato 등)을 control 함 - 결과적으로 해당 text prompt를 통해 global/phoneme-level 모두에서 personalized timbre와 independently controllable style synthesis가 가능
3. Experiments
- Settings
- Dataset : GTSinger, M4Singer, OpenSinger, AISHELL-3, PopBuTFy
- Comparisons : YourTTS, Mega-TTS, StyleSinger, RMSSinger
- Results
- Zero-Shot Style Transfer
- 전체적으로 TCSinger가 가장 우수한 성능을 보임
- TCSinger는 detail 한 mel-spectrogram을 얻을 수 있음
- Multi-Level Style Control
- Global/phoneme-level text embedding을 추가하여 style control을 비교해 보면
- 마찬가지로 TCSinger가 가장 뛰어난 controllability를 보임
- Cross-Lingual Style Transfer
- Cross-lingual 측면에서도 TCSinger는 우수한 합성 성능을 달성함
- Speech-to-Singing Style Transfer
- TCSinger는 Speech-to-Singing에서도 뛰어난 성능을 보임
- Ablation Study
- Ablation study 측면에서 각 component를 제거하는 경우 성능 저하가 발생함
반응형
'Paper > SVS' 카테고리의 다른 글
댓글