티스토리 뷰

반응형

DSPGAN: A GAN-based Universal Vocoder for High-Fidelity TTS by Time-Frequency Domain Supervision from DSP


  • Generative Adversarial Network를 활용한 vocoder는 빠른 추론 속도와 효과적인 raw waveform 합성이 가능
  • 하지만 unseen speaker에 대해서는 high-fidelity speech를 합성하기는 어려움
  • DSPGAN
    • Digital Signal Processing에서의 time-frequency domain supervision을 도입하여 고품질 합성을 지원
    • Ground-truth와 예측 mel-spectrogram 사이의 mismatch를 해소하기 위해 DSP module에서 생성된 waveform으로 추출한 mel-spectrogram을 활용
    • Sine excitation을 time-domain supervision으로 활용해 harmonic modelling을 개선하고 artifact를 제거
  • 논문 (ICASSP 2023) : Paper Link

1. Introduction

  • Text-to-Speech (TTS)는 주로 acoustic model과 neural vocoder로 구성된 two-stage architecture를 사용함
    • Acoustic model은 text로부터 mel-spectrogram과 같은 intermediate representation을 생성
    • Neural vocoder는 intermediate representation을 input으로 하여 waveform을 합성
    • 실적용을 위해 speaker, speaking style, language와 같은 다양한 scenario에서 fine-tuning 없이 고품질의 음성을 유연하게 생성할 수 있는 universal vocoder가 필요
      - BUT, unseen data에 대한 추론은 seen data에 비해 낮은 합성 품질로 이어지므로 unseen data에 대한 robustness가 중요
      - 추가적으로 예측된 intermeidate representation과 ground-truth 사이의 mismatch로 인해 artifact가 발생할 수도 있음
  • Generative Adversarial Network (GAN)-based vocoder는 빠른 추론이 가능하고 합성 품질 또한 뛰어남
    • BUT, GAN-based vocoder는 몇 가지 문제점이 존재
      1. 불안정한 병렬-생성으로 인해 음성의 periodic component에 대한 예측 error가 발생할 수 있음
        - Prolonged sound에서 pitch jitter, discontinuous harmonics와 같은 artifact를 만드는 원인이 됨
      2. Over-smoothed spectrogram을 생성할 수 있음
        - Metallic / Noisy sound를 유발함
    • GAN-based vocoder는 mel-spectrogram과 같은 intermeidate representation을 supervision으로 사용하는 생성 모델로 생각할 수 있음
      -> 따라서 위의 문제를 해결하기 위해 supervision을 강화하는 방식을 도입할 수 있음
    • 특히 data-driven 방식과 달리 Digital Signal Processing (DSP)는 human vocal에 대한 source-filter model을 기반으로 수학적으로 설계됨
      - DSP를 활용하면 human vocal characteristic에 따라 음성의 periodic/aperiodic component를 modelling 할 수 있음
      - 결과적으로 DSP vocoder는 unseen spectrogram에 대해 robustness를 가짐

-> 그래서 다양한 scenario에 적용할 수 있는 universal vocoder를 위해 DSP와 GAN-based vocoder를 결합한 DSPGAN을 제안

 

  • DSPGAN
    • GAN-based vocoder의 학습을 guide 하기 위해 DSP module을 도입
    • Time-domain에서는 sine excitation을 supervision으로 사용
    • Time-frequency domain에서는 DSP module에 의해 합성된 waveform으로부터 추출된 mel-spectrogram을 supervision으로 활용

< Overall of DSPGAN >

  • GAN-based vocoder에 DSP를 통한 supervision을 도입
  • DSP module을 통해 time-frequency domain에서의 supervision을 지원하고, sine excitation을 time-domain supervision으로 활용
  • 결과적으로 다양한 scenario에서 robust 한 합성 품질을 달성하고, artifact 없는 음성을 생성 가능

2. Method

- A Typical GAN-based Vocoder

  • 일반적인 GAN-based vocoder는 transposed convolution과 dilated convolution을 포함한 residual block, upsampling network를 통해 waveform을 생성함
    • 이때 음성의 다양한 frequency-domain feature를 학습하기 위해 adversarial training을 활용
      - 추가적으로 학습을 안정화하기 위해 feature matching loss, reconstruction loss와 같은 auxiliary loss를 사용
    • 결과적으로 generator와 discriminator의 training objective는:
      (Eq. 1) $\mathcal{L}_{G} = \mathbb{E}_{\hat{x}}[(D(\hat{x})-1)^{2}]+\mathcal{L}_{recon}(G)+\mathcal{L}_{fm}(G)$
      (Eq. 2) $\mathcal{L}_{D} = \mathbb{E}_{x}[(D(x)-1)^{2}]+\mathbb{E}_{\hat{x}}[D(\hat{x})^{2}]$
      - $\hat{x}$ : ground-truth와 생성된 sample
      - $\mathcal{L}_{recon}$ : reconstruction loss, $\mathcal{L}_{fm}$ : feature matching loss

DSPGAN Architecture

- Improved Source-NNFilter Model

  • 일반적인 source-filter model은 음성의 periodic/aperiodic component를 생성하기 위해 sine excitation과 noise를 source signal로 사용하고, source signal을 filtering 하기 위해 Linear Time-Varying (LTV) filter를 사용함
    • DSPGAN은 neural network를 사용하여 LTV filter를 제어하기 위해 NHV model을 활용
      - Complexity가 낮은 source-NNFilter model을 생성하기 위함
    • Source-NNFilter model은 NNFilter estimator를 사용하여 input mel-spectrogram에서 impulse response로 complex cepstrum을 예측
      - Source signal을 filtering하기 위해 complex cepstrum을 사용함으로써, source-NNFilter model은 다양한 harmonic component의 amplitude를 dynamic 하게 제어할 수 있음
      - 결과적으로 일반적인 source-filter model보다 더 높은 품질의 음성 합성이 가능해짐
    • 추가적으로 source-NNFilter model의 sine excitation은 additive synthesis를 통해 pitch로 변환될 수 있음
      1. 이를 위해 frame-level f0를 linearly interpolating 하여 sample-level f0 $f_{0}[n]$을 얻음
      2. $f_{0}[n]$에 해당하는 sine excitation $p_{K}[n]$의 generation process는:
        (Eq. 3) $p_{K}[n] = \left\{\begin{matrix} \sum_{k=1}^{min(K,fs/2f_{0}[n])}sin(\phi_{k}[n]), & f_{0}[n]>0 \\ 0, & f_{0}[n]=0
        \end{matrix}\right.$
        - $K$ : additive synthesis에서 설정된 sine function 수 (논문에서는 $K=200$으로 설정)
        - 이때 $\phi_{k}[n]$는 time step $n$에서 $k$-th harmonic phase이고, 아래 식으로부터 계산됨:
        (Eq. 4) $\phi_{k}[n]= \phi_{k}[n-1]+2\pi k\frac{f_{0}[n]}{fs}$
      3. Sine excitation은 pitch가 필요하므로 pitch predictor를 개별적으로 사용
        - Pitch predictor는 L2 loss로 최적화되고, 여러 개의 Conv1D layer를 통해 raw mel-spectrogram에서 pitch를 예측
  • Periodic/aperiodic component가 개별적으로 생성되기 때문에 source-NNFilter model은 periodic component와 관련된 voiced sound의 stochastic part로부터 aberrant point를 유도할 수 있음
    • Aperiodic component에 대한 controllability를 향상하고 source-NNFilter model을 안정화하기 위해서, aperiodic과 periodic component 간의 dependence를 확립하는 것이 필요
      - 이를 위해서 weight predictor를 도입
    • 결과적으로 source-NNFilter model은:
      1. Prenet과 weight predictor를 통해 각각 mel-spectrogram으로부터 hidden feature $h$와 weight $w$를 예측하고,
      2. $w$와 $1-w$를 periodic/aperiodic filter estimator의 input $sp, ap$로 사용하여
      3. Periodic component와 aperiodic component의 합이 frequency domain의 input mel-spectrogram과 match 되도록 함
    • 이때 $sp, ap$의 계산은:
      (Eq. 5) $\left \{ \begin{matrix} sp_{c,t} = w_{c,t}*h_{c,t} \\ ap_{c,t}=(1-w_{c,t})*h_{c,t} \end{matrix} \right.$
      - $t, c$ : 각각 feature에 대한 frame, channel

Weight Predictor를 사용한 Complex Cepstrum Generation

- Supervision to GAN-based Vocoder

  • 앞선 source-NNFilter model을 기반으로 GAN-based vocoder의 학습을 guide 하는 supervision으로 사용
  • Supervision in Time-Frequency Domain
    • Universal vocoder는 다양한 unseen speaker, speaking style 등을 가지는 mel-spectrogram에 대해 robust 해야 함
      - 이때 neural vocoder의 추론과 학습 사이에는 mismatch가 존재하기 때문에, artifact가 발생하고 합성 품질이 저하됨
    • 따라서 mel-spectrogram mismatch를 완화하는 것이 중요
      - 이를 위해 DSPGAN은 pre-trained source-NNFilter model에서 합성된 음성의 mel-spectrogram으로 기존의 mel-spectrogram을 대체
  • Supervision in Time-Domain
    • Sine excitation의 사용은 GAN-based vocoder에서 periodic error를 회피할 수 있음
      - 이때 mel-spectrogram mismatch로 인해 mechanical sound가 발생할 수 있음
    • DSPGAN에서는 앞선 time-frequency domain supervision을 통해 mismatch 문제를 해결했으므로 time-domain sine excitation을 바로 적용할 수 있음
    • Sine excitation supervision을 위해 UNet-like strategy를 활용
      - Sine excitation은 downsampling network를 통해 다양한 scale로 downsampling 되고 각 upsampling network의 hidden feature에 concatenate 됨
      - 결과적으로 harmonics modelling을 위한 upsampling network 학습은 sine excitation을 통해 supervise 되고, 이는 (Eq. 3)의 $p_{1}[n]$과 동일함
      - 이때 pitch는 GAN-based vocoder에서 harmonic modelling의 accuracy를 향상할 수 있음

3. Experiments

- Settings

  • Dataset
    - Training set : Mandarin dataset, VCTK
    - Test set (for unseen speaker) AISHELL-3, LibriTTS
  • Comparisons : Multi-band MelGAN, HiFi-GAN, NHV

- Results

  • Copy Synthesis
    • Multi-band MelGAN과 HiFi-GAN은 unseen speaker에 대해 합성 품질 저하가 발생함
    • DSPGAN의 경우 source-NNFilter model supervision을 통해 unseen speaker에 대해서도 robust 한 합성 품질을 보임

합성 품질 비교

  • TTS
    • TTS 환경에서도 마찬가지로 DSPGAN이 다양한 scenario에서 우수한 합성 품질을 보임
    • 특히 NHV의 경우 전반적으로 낮은 성능을 보임
      - NHV는 audio reconstruct 보다는 DSPGAN에서 supervision으로써 사용하는 것이 더 효과적임

TTS 환경에서의 합성 품질 비교

  • DSPGAN과 Multi-band MelGAN, NHV의 mel-spectrogram을 비교해 보면,
    • (a), (b), (e) : DSPGAN은 sine excitation 도입을 통해 discontinuous harmonics, pitch jitter, harmonic error와 같은 artifact를 방지할 수 있음
    • (c), (d) : DSPGAN은 source-NNFilter model에서 추출된 mel-spectrogram을 time-frequency domain supervision으로 사용하기 때문에 metallic, noisy sound를 방지할 수 있음
    • (f) : DSPGAN은 high frequency에서 더 많은 aperiodic component를 가지므로 더 우수한 합성 품질을 보임

Mel-spectrogram 비교

  • Ablation Study
    • DSPGAN에 대해 time-domain supervision, time-frequency domain supervision, weight predictor를 제거하여 합성 품질을 비교
    • 결과적으로 해당 module들을 제거하면 DSPGAN의 합성 품질이 저하됨

Ablation Study 결과

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
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 31
Total
Today
Yesterday