티스토리 뷰

반응형

EdiTTS: Score-based Editing for Controllable Text-to-Speech


  • Text-to-Speech를 위해 score-based modeling을 기반으로 speech editing method를 적용할 수 있음
  • EdiTTS
    • Additional training이나 task-specific optimization 없이 content, pitch 측면에서 audio에 대한 targeted, granular editing을 허용
    • Gaussian prior space에서 coarse, deliberate perturbation을 적용하여 diffusion model에서 desired behavior를 유도하고, mask와 softening kernel을 통해 target region에 대한 iterative edit를 지원
  • 논문 (INTERSPEECH 2022) : Paper Link

1. Introduction

  • Score-based model과 Denoising Diffusion Probabilistic Model은 생성 작업에서 우수한 성능을 보이고 있음
    • 해당 방식들은 complex data distribution을 Gaussian noise로 gradually corrupt 하고 gradient field를 추정하여 noisy prior를 original distribution으로 reverse 하는 iterative training scheme을 활용함
      - 특히 score-based model에서 image editing은 coarse user input으로부터 realistic detail을 interpolate 하도록 유도하여 고품질의 edited image를 생성하는 방법임
    • 이와 비슷하게, speech editing을 활용하면 모델이 user instruction에 따라 selected audio segment를 modify하도록 유도할 수 있음
      - BUT, text-to-speech (TTS)에서 fine-grained generation은 여전히 non-trivial하고 prosody와 tone에 대한 요구사항을 정확히 충족하기 어려움
    • 특히 기존에는 output control을 위해 unit selection이나 context-aware prosody correction 등의 방법을 활용함
      - BUT, pipeline이 복잡해지고 낮은 품질의 output이 생성되는 한계가 있음

-> 그래서 audio에 대한 granular editing을 지원하기 위해 pretrained score-based backbone을 기반으로 editing을 수행하는 EdiTTS를 제안

 

  • EdiTTS
    • User edit로 input을 직접 modify하는 score-based image editing과 달리, diffused Gaussian prior에 coarse perturbation을 적용하여 editing을 유도
    • Score estimator는 data distribution에 대한 trajectory를 따라 perturbed latent를 denoise 하여 edited sample을 생성

< Overall of EdiTTS >

  • Score-based TTS 모델을 기반으로 coarsely modified mel-spectrogram prior를 refine 함
  • Robust denoising process를 활용하여 pitch와 같은 conditional input 없이도 자연스러운 음성 합성이 가능
  • 결과적으로 pitch shift, content replacement에 대해 기존보다 뛰어난 성능을 달성

2. Background

- Score-based Generative Modeling

  • Score-based generative model에서,
    • Original data distribution은 Ito SDE를 따라 Gaussian noise로 corrupt 됨:
      (Eq. 1) $d\mathbf{x}=\mathbf{f}(\mathbf{x},t)dt+\mathbf{g}(\mathbf{x},t)d\mathbf{w}$
      - $\mathbf{w}$ : standard Wiener process, $t$ : finite time interval $[0,T]$에서 sample 된 value
      - $\mathbf{f}(\cdot, t), \mathbf{g}(\cdot, t)$ : 각각 $\mathbf{x}$의 drift와 diffusion coefficient
    • 이때 해당 reverse 역시 diffusion process를 따르므로, reverse-time SDE는 다음과 같이 나타낼 수 있음:
      (Eq. 2) $d\mathbf{x}=[\mathbf{f}(\mathbf{x},t)-\mathbf{g}(\mathbf{x},t)\mathbf{g}(\mathbf{x},t)^{\top}\nabla_{\mathbf{x}}\log p_{t}(\mathbf{x})]dt+\mathbf{g}(\mathbf{x},t)d\bar{\mathbf{w}}$
      - $\bar{\mathbf{w}}$ : reverse-time Wiener process
    • 특히 (Eq. 1)의 Kolmogorov forward equation은 simplified flow ordinary differential equation과 같음:
      (Eq. 3) $d\mathbf{x}=\mathbf{f}(\mathbf{x},t)dt-\frac{1}{2}\nabla \cdot [\mathbf{g}(\mathbf{x},t)\mathbf{g}(\mathbf{x},t)^{\top}]dt-\frac{1}{2}\mathbf{g}(\mathbf{x},t)\mathbf{g}(\mathbf{x},t)^{\top}\nabla_{\mathbf{x}}\log p_{t}(\mathbf{x})dt$
      - 즉, 두 equation 모두 다른 form을 가지지만 동일한 statistical process를 describe 함
    • 따라서, score $\nabla_{\mathbf{x}}\log p_{t}(\mathbf{x})$를 근사할 수 있는 time-dependent model $\mathbf{s}_{\theta}(\mathbf{x},t)$가 주어지면, $\mathbf{x}_{T}\sim p_{T}$를 sampling 하고 (Eq. 3)에 따라 reverse step을 계산하여 original data distribution으로부터 $\mathbf{x}_{0}\sim p_{0}$를 얻을 수 있음

- Grad-TTS

  • EdiTTS는 score-based TTS 모델인 Grad-TTS를 기반으로 함
    • 먼저 Grad-TTS의 forward SDE는:
      (Eq. 4) $d\mathbf{x}=\frac{1}{2}\Sigma^{-1}(\mu-\mathbf{x})\beta_{t}dt+\sqrt{\beta_{t}}d\mathbf{w}$
      - $\mu$ : prior distribution의 평균, $\Sigma$ : covariance matrix, $\beta_{t}$ : noise shcedule
      - 여기서 평균은 prior text encoder로부터 추정되고, covariance는 identity matrix로 가정됨
    • Drift coefficient $\mathbf{f}(\cdot, t)$는 affine이므로 transition kernel $p_{0t}(\mathbf{x}_{t}|\mathbf{x}_{0})$는 평균과 분산을 closed form으로 얻을 수 있는 Gaussian distribution임
    • 이때 $\gamma_{t}=\exp(-\int_{0}^{t} \beta_{s}ds)$라고 하면, transition kernel은:
      (Eq. 5) $p_{0t}(\mathbf{x}_{t}|\mathbf{x}_{0})=\mathcal{N}\{(I-\sqrt{\gamma_{t}})\mu+\sqrt{\gamma_{t}}\mathbf{x}_{0},\Sigma(I-\gamma_{t}) \}$
      - $\displaystyle \lim_{t \to T}\gamma_{t}=0$인 infinite time horizon에서 transition kernel은 $\mathcal{N}(\mu, \Sigma)$로 수렴함
      - 따라서 forward process는 diffusion이 prior distribution에서 sample을 생성하는 것을 보장
    • Grad-TTS의 reverse SDE는 (Eq. 2)(Eq. 4)를 통해 유도됨:
      (Eq. 6) $d\mathbf{x}=\frac{1}{2}\left(\Sigma^{-1}(\mu-\mathbf{x})-\nabla_{\mathbf{x}}\log p_{t}(\mathbf{x})\right)\beta_{t}dt$
    • 결과적으로 score estimator $\mathbf{s}_{\theta}$와 prior distiribution $\mathcal{N}(\mu, \Sigma)$가 주어지면, (Eq. 6)을 계산해 learned data distribution에서 sampling 할 수 있음

3. Method

  • Standard normal $\mathcal{N}(0,I)$를 prior로 사용하는 score-based image model과 달리, Grad-TTS는 prior text encoder에서 예측한 spectrogram-like mean vector를 사용함
    • 따라서 input을 수정하면 text에서 예측된 prior와 input mel-spectrogram 사이에 mismatch가 발생하므로 input mel-spectrogram을 직접 수정할 수 없음
    • 이를 해결하기 위해, EdiTTS는 encoded prior에 coarse edit를 적용함
      1. 먼저 input mel-spectrogram은 user edit 없이 diffuse 된 다음,
      2. Score estimator가 reverse SDE를 simulation 하기 전에 sampled prior에 perturbation을 직접 반영함
        - 해당 coarse perturbation은 editing effect를 근사하는 역할을 수행

- Pitch Shift

  • Pitch shifting은 audio segment의 pitch가 user demand에 따라 modifiy 되는 것을 의미함
    • EdiTTS는 먼저 아래 [Algorithm 1]을 따라, prior network에서 생성된 spectrogram-like latent $\tilde{\mu}$를 frequency axis를 따라 shift 함
      - Upward shift는 higher pitch와 연관되고 down shift는 lower pitch와 연관됨
    • 이때 prior를 pad 하고 frequency axis를 따라 $\tilde{\mu}$에 대한 weighted averaging kernel $\mathbf{K}_{ps}$를 convolve 하면서, binary mask $\mathbf{m}$을 적용해 spectrogram의 non-editable region이 변경되지 않도록 함
    • 그리고 $\mathbf{x}, \mathbf{x}_{edit}$는 각각 original, perturbed prior distribution에서 sampling 됨
    • Reverse step에서, $\mathbf{x}_{edit}$의 non-editable region은 $\mathbf{x}$를 따르고 editable region은 perturbed prior에서 계산된 score estimates로 업데이트됨
      - 이때 gradient softening mask $\mathbf{S}_{g}$를 사용하여 edited, non-edited segment 간의 juncture가 smooth 하고 continuous 하도록 보장 

Pitch Shift Algorithm

- Content Replacement

  • Content replacement는 어떤 source의 audio segment를 다른 source의 audio segment로 대체하는 것을 의미함 
    • 먼저 아래 [Algorithm 2]를 따라, 2개의 input waveform을 slice 하여 $\tilde{\mu}_{src}^{a}, \tilde{\mu}_{trg}^{b}, \tilde{\mu}_{src}^{c}$를 얻음
      - $b$ : editable region, $a,c$ : adjacent segment
    • 다음으로 soft mask $\mathbf{S}_{c}$를 사용해 세 chunck를 concatenate 하고, perturbed prior $\tilde{\mu}_{edit}$를 생성함 
    • 최종적으로 pitch shifting과 유사하게 $\mathbf{x}, \mathbf{x}_{edit}$를 동시에 denoise 하고, reverse process 전체에 걸쳐 gradient softening mask를 적용함 
    • 이때 soft concatenation은 coda와 combined segment의 onset 간의 infelicitous mixing을 줄일 수 있음
      1. 일반적으로 mispronunciation은 text encoder가 local, global level 모두에서 token mixing을 수행하는 self-attention과 convolution을 사용하기 때문에 발생함
        - 따라서 single frame은 immediate index에 속하는 phoneme information 뿐만 아니라 adjacent phoneme에 대한 hint까지 유출함
      2. 반면 soft concatenation을 사용하면 near frame juncture에서 발생하는 non-immediate component를 weakening 할 수 있음 

Content Replacement Algorithm

4. Experiments

- Settings

- Results

  • Pitch Shift
    • Pitch shift 측면에서 EdiTTS는 FastPitch보다 뛰어난 성능을 보임
    • EdiTTS와 mel-shift 간의 성능 차이는, post-synthesis denoising edit가 필수적임을 나타냄
      - 즉, spectral perturbation 만으로는 충분한 output 품질을 달성하기 어려움

Pitch Shift 성능 비교

  • 추가적으로 CREPE를 통해 edited region의 $f_{0}$를 추출해 보면, EdiTTS에서 pitch shift kernel을 통해 pitch shift를 직접적으로 control 할 수 있는 것으로 나타남

Edited Sample의 $f_{0}$ 비교

  • Discrete editable region에 대한 up-down/down-up alteration sequence를 비교해 보면, EdiTTS는 unspecified region에는 영향을 주지 않으면서 single sample에 multiple edit를 적용할 수 있음

Up-Down/Donw-Up sample 비교

  • Editing의 granularity를 확인해 보기 위해 문장의 각 단어별로 pitch-up shift를 적용해 보면, EdiTTS는 문장의 다른 부분의 변경 없이 target 단어의 pitch만 적절하게 증가시킬 수 있음

Word-level Pitch Shifting 결과

  • Content Replacement
    • Content edit 측면에서 EdiTTS는 Grad-TTS에 비해 훨씬 낮은 WER과 CER을 달성함

Content Replacement 성능

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   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