티스토리 뷰

반응형

SiFiSinger: A High-Fidelity End-to-End Singing Voice Synthesizer based on Source-Filter Model


  • High-fidelity human-like singing voice synthesis를 위해 source-filter mechanism을 활용할 수 있음
  • SiFiSinger
    • VITS에서 확장된 training paradigm을 활용하고 fundamental pitch (F0) predictor, waveform decoder 등의 component를 통합
    • Interwined mel-spectrogram과 F0 characteristic을 decouple하기 위해 mel-cepstrum feature를 활용
    • Pitch nuance를 보다 정확하게 capture할 수 있도록 F0 representation으로써 source excitation signal을 도입
    • 추가적으로 생성된 음성의 speech envelope와 pitch에 대한 prediction accuracy를 fortify 하기 위해 differentiable mel-cepstrum, F0 loss를 사용
  • 논문 (ICASSP 2024) : Paper Link

1. Introduction

  • Singing voice synthesis (SVS)는 노래 가사와 musical score를 바탕으로 가창 음성을 합성하는 것을 목표로 함
    • 일반적으로 SVS system은 2-stage 방식으로 구성됨
      - Musical score로 부터 lyrical, musical information을 추출하고 mel-spectrogram과 같은 acoustic feature를 예측하는 acoustic model
      - 해당 feature를 audible waveform으로 변환하는 vocoder
    • 한편으로 VISinger와 같은 end-to-end 방식은 주어진 musical score로부터 waveform을 직접 합성함
      1. 이때 VITS architecture를 기반으로 variational autoencoder (VAE)-based posterior encoder, prior encoder, adversarial decoder를 활용
      2. 확장된 VISinger2는 length regulator, F0 predictor를 통해 encoding 과정에서 posterior/prior distribution 모두에 대한 frame-level mean, variance를 모델링
        - 추가적으로 latent representation으로 부터 harmonic, aperiodic component를 모델링하기 위해 Differentiable Digital Signal Processing (DDSP)를 활용
        - DDSP synthesizer로 얻어진 signal은 adversarial decoder에 대한 conditional input 역할을 하여 text-to-phase의 어려움을 해결하고 품질을 향상할 수 있음
    • BUT, 위와 같은 end-to-end 방식을 SVS에 적용할 때 다음의 몇 가지 문제점이 존재함
      1. 일반적인 text-to-speech (TTS) 보다 pitch accuracy를 더 중요하게 고려할 수 있어야 함
        - F0는 linguistic lyrics보다 musical note에 직접적으로 관련되어 있기 때문
      2. Acoustic feature로 주로 사용되는 mel-spectrogram은 F0와 spectral envelope와 entangling 되어 있으므로, error propagation으로 이어짐
        - 즉, F0 modeling에 대한 bias가 발생하므로 prediction accuracy에 영향을 미칠 수 있음
      3. DDSP synthesizer는 text-to-phase modeling에 유용하지만, prior hidden vector prediction/subsequent audio generation에서 F0 information에 대한 consistent 한 활용이 어려움
        - 결과적으로 합성 품질 저하와 pitch inaccuracy 문제로 이어짐

-> 그래서 source-filter mechanism을 활용하는 end-to-end SVS 모델인 SiFiSinger를 제안

 

  • SiFiSinger
    • 먼저 source-filter model에서
      - Source는 foundational sound나 waveform을 생성하는 vocal cord의 vibration과 관련되어 있음
      - Filter는 source에서 생성된 음성이 vocal tract를 통해 이동하는 과정으로 볼 수 있음
    • 따라서 해당 source-filter model을 기반으로 SiFiSinger에서,
      1. F0는 prior encoder의 source module을 통해 처리하여 F0에 의해 control되는 multiple harmonics를 생성함
      2. Source module로 처리된 F0 excitation은 decoder의 HiFi-GAN generator의 pitch embedding으로 사용되어 waveform 생성에 대한 pitch control을 보장함
      3. 추가적으로 F0, phase information에서 decouple 된 spectral envelope information을 capture 하기 위해 mel-cepstrum mcep feature를 활용
        - 이는 source-filter model의 filter component로 취급할 수 있음
        - 즉, F0로 생성된 source excitation signal과 mcep feature를 concatenating 하여 prior/posterior encoder의 acoustic modeling process를 neural source-filter model로 변형
      4. 이후 generator를 통해 합성된 audio에서 mcepF0를 re-extract 하기 위해 differentiable method를 적용하고, ground-truth에 대한 loss를 계산
        - 이를 통해 gradient backpropagation을 구현하고, 전체 모델에 대한 source F0filter mcep를 통해 효과적인 separated supervision을 도움 

< Overall of SiFiSinger >

  • VITS에서 확장된 framework를 기반으로 F0 predictor, waveform decoder 등의 component를 통합
  • Interwined mel-spectrogram과 F0 characteristic을 decouple 하기 위해 mel-cepstrum feature를 활용하고 differentiable loss를 적용
  • 결과적으로 기존 방법들 보다 우수한 성능을 달성

2. Method

  • SiFiSinger는 conditional VAE framework를 기반으로 하는 VITS, VISinger2와 유사하고, prior encoder, posterior encoder, waveform decoder로 구성됨 

- Source Module

  • Source module은 F0 sequence f1:T를 사용하여 e1:T={e1,...,eT}와 같은 sinusoidal excitation을 생성하도록 설계됨
    • etR,t{1,...,T}이고 tt-th time step을 의미
    • 그러면 sinusoidal excitation e<0>1:T의 생성은 다음과 같음:
      (Eq. 1) e<0>t={αsin(tk=12πfkNs+ϕ)+nt,ifft>013σnt,ifft=0
      - ntN(0,σ2), ϕ : random initial phase, Ns : sampling rate
      - α : source waveform의 amplitude를 adjust 하는 hyperparameter, σ : Gaussian noise의 표준편차
    • 이때 source module은 h-th harmonic overtone이 (h+1)-th harmonic frequency에 해당하는 harmonic overtone을 생성함
      - 결과적으로 sinusoidal excitation e<h>1:T(Eq. 1)(h+1)ft를 통해 구해짐
    • Final step에서 source module은 trainable feed-forward (FF) layer를 사용하여 e<0>1:T,e<h>1:T를 merge 함
      - 이러한 F0-controlled harmonic generation mechanism을 통해 module은 합성된 음성이 desired pitch와 closely align 되도록 보장하고, 전반적인 SVS 품질과 naturalness를 향상할 수 있음

Overall of SiFiSinger

- Prior Encoder

  • Prior encoder의 구조는 FastSpeech의 feed-forward transformer (FFT) block과 length regulator를 활용함
    • Prior encoder는 duration predictor와 F0,mcep acoustic decoder를 포함하고, 둘 다 music score를 input으로 사용
    • Training 중에 ground-truth duration에 대한 mcep feature와 F0는 다음의 loss function Lam로 학습된 acoustic decoder로부터 생성됨:
      (Eq. 2) Lam=λ1MSE(LF0,LF0pred)+λ2||mcepmceppred||1
      - LF0pred,mceppred : 각각 예측된 log-F0,mcep
      - λ1,λ2 : coefficient, MSE() : mean squared error loss
    • SiFiSinger는 F0와 entangle되지 않으면서 audio envelope information을 capture하기 위해 mcep feature를 사용함
      - F0는 앞선 source module을 통해 처리되어 rapidly oscillating periodic sinusoidal harmonics를 제공하고, 해당 excitation signal은 mcep feature와 concatenate됨
      - 이때 human sining의 pronunciation mechanism을 imitate하기 위해 spectral envelope feature와 pitch information을 개별적으로 모델링함
    • Duration predictor는 phoneme과 note의 duration을 예측하고 duration loss Ldur를 계산함
      - 추론 시에 length regulator는 해당 duration predictor의 output을 length reference로 사용
    • 결과적으로 music score encoder의 output인 mcep feature와 acoustic model (AM) source module의 excitation signal을 기반으로, AM decoder는 frame-level prior distribution의 평균, 분산을 예측함
      - 이후 prior hidden vector z를 sampling할 수도 있음

- Posterior Encoder

  • Posterior encoder는 VISinger2를 backbone으로 하여 N개의 1D convolution layer와 LayerNorm으로 구성됨
    • 이때 SiFiSinger는 mcep feature와 F0를 posterior encoder의 input으로 사용
      - Prior encoder와 비슷하게, frame-level acoustic feature를 고려하여 posterior distribution의 평균과 분산을 예측
      - 이후 posterior latent vector z를 얻기 위해 re-sampling procedure를 적용
    • Training 중에 해당 posterior z와 prior는 KL divergence loss Lkl을 통해 constrained 됨

- Decoder

  • Decoder는 latent distribution z를 input으로 하여 waveform ˆy를 생성하는 HiFi-GAN generator로 구성됨
    • 먼저 합성된 waveform ˆy에서 mel-spectrogram을 추출하여 mel-spectrogram loss Lmel을 계산
    • 이때 decoder 내에서 generation process 동안 strong pitch information을 제공하기 위해 source module에서 생성된 excitation signal을 활용
      1. Frame-level F0는 먼저 sample-level로 upsampling된 다음, source module을 통과해 excitation signal을 생성함
      2. 이후 점진적으로 downsampling된 다음, generator로 upsampling된 z와 combine되어 waveform generation process에 대한 multi-scale pitch information을 제공
    • SiFiSinger는 generator G에 의해 생성된 waveform ˆy와 ground-truth y를 distinguish하는 discriminator D를 기반으로 하는 adversarial learning approach를 채택함:
      (Eq. 3) Ladv(D)=E(y,z)[(D(y)1)2+(D(G(z)))2]
      (Eq. 4) Ladv(G)=Ez[(D(G(z))1)2]
      (Eq. 5) Lfm(G)=E(y,z)[Tl=11Nl||Dl(y)Dl(G(z))||1]
      - 즉, least-squares loss와 feature-matching loss로 구성됨
      - T : discriminator의 layer 수, l : discriminator의 l-th layer, Nl : l-th layer의 feature 수
    • Generator loss LG:
      (Eq. 6) LG=Ladv(G)+λmelLmel+λfmLfm(G)

- Differentiable Reconstruction Loss

  • 추가적으로 논문에서는 trained CREPE와 diffsptk를 사용하여 generator로 생성된 waveform ˆy에서 F0,mcep을 differentiable manner로 re-extract 함
    • 먼저 CREPE는 raw-audio waveform에서 직접 pitch를 예측하도록 training 된 convolution network를 활용하는 F0 estimation method로써 audio pitch의 probability distribution을 output 함
      - 원래의 CREPE model은 예측된 probability를 기반으로 F0를 얻기 위해 argmax나 Viterbi와 같은 decoding을 사용함
      - BUT, 해당 방식에는 gradient backpropagation을 불가능하게 하는 non-differentiable operation이 존재함
    • 따라서 input waveform에 대한 gradient backpropagation을 위해, original CREPE의 non-differentiable operation을 재구현함
      1. 먼저 최종 예측된 F0 value를 얻기 위해, 해당 frequency scale의 예측 pitch probability distribution에 대한 weighted sum을 수행
        - 여기서 CREPE는 16kHz의 sampling rate로 training 되므로 generator에서 얻어진 waveform ˆy와 ground-truth y를 16kHz로 resampling 하여 ˆyrs,yrs를 얻음
      2. 다음으로 weighted sum을 수행하여 ˆyrs,yrs에서 F0를 re-extract 하고, 그에 따른 loss를 계산
    • mcep feature의 경우 diffsptk를 사용해 framing, windowing, STFT 등에 대한 differentiable operation을 구현함 
      1. 이를 통해 합성된 waveform ˆy에서 mcep feature를 differentiably extract 하고 ground-truth mcep을 통해 loss를 계산할 수 있음:
        (Eq. 7) yrs=Resampler(y),ˆyrs=Resampler(ˆy)
        (Eq. 8) LF0=λf0MSE(F0(yrs),F0(ˆyrs))
        (Eq. 9) Lmcep=λmcep||mcep(y)mcep(ˆy)||1

        - F0(),mcep() : 각각 CREPE, diffsptk를 사용하여 F0,mcep feature를 re-extract 하는 function
        - λf0,λmcep : coefficient, Resampler() : resamping function
      2. 위의 differentiable operation을 통해 reconstruction loss의 gradient를 HiFi-GAN generator에서 SiFiSinger의 다른 module로 backpropagate 가능함
        - 이때 CREPE의 parameter는 fixed 됨
    • 결과적으로 전체 training procedure에 대한 total loss는:
      (Eq. 10) L=LG+Lkl+Lam+Ldur+Lmcep+LF0
      (Eq. 11) L(D)=Ladv(D)
      - L(D) : (Eq. 3)의 discriminator loss, LG : (Eq. 6)의 generator loss
      - Training 중에는 LL(D)가 alternatley optimize 됨

3. Experiments

- Settings

- Results

  • Objective Evaluation
    • 정량적 지표 측면에서 SiFiSinger는 가장 우수한 성능을 달성함
    • 특히 SiFiSinger는 낮은 spectral distortion을 보이므로, spectral information을 보다 정확하게 예측할 수 있음

정량적 성능 비교

  • Pitch contour를 확인해 보면 VISinger2는 부정확한 descending tone을 생성하지만, SiFiSinger는 ground-truth의 pitch contour와 가까운 결과를 생성함

(좌) Ground-truth (중) VISinger2 (우) SiFiSinger의 Pitch Contour

  • Subjective Evaluation
    • MOS 측면에서도 SiFiSinger가 가장 우수한 것으로 나타남
    • 한편으로 AM source module을 제거하는 경우 pitch accuracy, harmonic modeling 측면에서 낮은 선호도를 보임
    • Differentiable reconstruction loss를 제거하는 경우에도 SiFiSinger의 선호도 하락이 발생함

합성 품질 비교
Ablation Study 결과

 

반응형
최근에 올라온 글
최근에 달린 댓글
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Total
Today
Yesterday