티스토리 뷰

반응형

DualVC3: Leveraging Language Model Generated Pseudo Context for End-to-End Low Latency Streaming Voice Conversion


  • 최근의 DualVC2는 180ms의 latency로 streaming voice conversion이 가능함
    - BUT, recognition-synthesis framework로 인해 end-to-end optimization이 어렵고 short chunk를 사용하는 경우 instability가 증가함
  • DualVC3
    • Speaker-independent semantic token을 사용하여 content encoder training을 guide
    • Language model을 content encoder output으로 training 하여 future frame을 iteratively predict
      - 이를 통해 pseudo context를 생성하고 decoder에 풍부한 contextual information을 제공
  • 논문 (INTERSPEECH 2024) : Paper Link

1. Introduction

  • Voice Conversion (VC)는 semantic information의 변경 없이 speaker timbre를 다른 speaker timbre로 변환함
    • FreeVC, ACE-VC, VQMIVC과 같은 일반적인 VC model은 전체 utterance를 input으로 사용하여 한번에 converted speech를 생성함
      - BUT, 해당 방식은 real-time application에 적합하지 않음
    • 반면 streaming VC model은 frame/chunk로 input을 처리하고 future information에 대해 causal 하게 동작함 
      1. 이때 future context가 없는 경우 합성 품질이 저하되므로 knowledge distillation을 도입하여 문제를 해결함
      2. 한편으로 pseudo future context를 예측하는 방법을 사용할 수도 있음
        - 해당 방식은 future step을 예측하여 training 되는 language model과 개념적으로 유사함
    • 특히 DualVC, DualVC2와 같은 최신 streaming VC model은 대부분 recognition-synthesis framework를 기반으로 함
      - 해당 framework는 ASR model을 활용하여 robust semantic information을 추출할 수 있다는 장점이 있음
    • BUT, recognition-synthesis framework는 다음의 제한점을 가짐:
      1. ASR encoder, acoustic model, vocoder로 구성된 multi-level cascaded model 구조로 인해 cascading error가 발생할 수 있음 
      2. Streaming ASR model은 large data chunk가 필요하므로 downstream streaming VC model은 data chunk size를 줄이는데 한계가 있음 

-> 그래서 low-latency streaming VC를 위해 DualVC2를 개선한 DualVC3를 제안

 

  • DualVC3
    • ASR model을 통해 semantic information을 추출하지 않고 pre-trained semantic token extractor인 Wav2Vec 2.0의 guidance를 활용
    • Future context absent의 영향을 줄이기 위해 language model을 사용하여 decoder에 대한 pseudo context를 생성
      1. Token-based language model인 AudioLM, MusicLM과 비슷하게 content encoder에서 추출한 discrete intermediate representation으로 language model을 training 함
      2. 추론 시에는 decoder에 대한 additional context로 future frame을 iteratively predict 함
    • DualVC2의 dual-mode training을 따라 conformer-based encoder/decoder를 dynamic chunk mask로 training 하고 Hybrid Predictive Coding (HPC) module, quiet attention을 도입 

< Overall of DualVC3 >

  • DualVC2를 기반으로 Wav2Vec 2.0 guidance, pseudo context generation을 적용한 streaming VC model
  • 결과적으로 기존 DualVC2 수준의 품질을 유지하면서 single core CPU에서 50ms의 low-latency를 달성

2. Method

- System Architecture

  • DualVC3는 mel-spectrogram을 input/output으로 사용하는 end-to-end streaming voice conversion model
    - 구조적으로 Content Encoder, Decoder, Language Model (LM)으로 구성됨
  • Content Encoder
    • Content Encoder는 stacked conformer block으로 구성되어 mel-spectrogram을 input으로 사용해 speaker-independent semantic representation을 추출함
      - 이때 SSL representation의 $K$-means clustering으로 얻어진 semantic token은 content encoder에 대한 semantic distillation을 위해 사용됨
    • 특히 논문은 conformer를 streamable 하게 만들기 위해 Dynamic Chunk Training (DCT)를 도입함
      - DCT는 각 self-attention layer에 대한 attention score matrix에 dynamic chunk mask를 적용하여 chunk size를 dynamically varying 함
    • 추가적으로 encoder가 추출한 semantic information은 language model과 decoder를 위해 discretize 됨
  • Language Model
    • Language Model은 next-token-prediction 방식으로 discrete semantic information에 대해 training 됨
    • 추론 시에는 더 나은 conversion quality를 위해 decoder에 대한 pseudo context를 iteratively generate 함
  • Decoder
    • Decoder는 content encoder와 동일한 구조를 가짐
    • Decoder는 embedded discrete semantic information과 pre-trained speaker encoder에서 추출한 global speaker embedding을 input으로 concatenate 하여 converted speaker timbre를 가진 mel-spectrogram을 생성함
  • Hybrid Predictive Coding
    • DualVC의 Hybird Predictive Coding (HPC)는 unsupervised representation learning method로써 CPC와 APC를 조합하여 동작함
    • 여기서 논문은 content encoder의 intermediate representation에 대한 HPC loss를 계산하여 encoder의 context feature extraction을 향상함

Overall of DualVC3

- Semantic Distillation

  • Voice conversion은 speech의 semantic information과 speaker timbre 간의 decoupling, recombination으로 볼 수 있음
    • 여기서 decoupling process는 VC model 외부에서 수행되거나 model 자체의 fine-grained design을 활용할 수 있음 
      1. 특히 DualVC2는 recognition-synthesis framework를 기반으로 VC model 외부에서 decoupling을 수행함
      2. BUT, 해당 방식은 pre-trained ASR model을 통해 speaker-independent semantic information을 효과적으로 추출할 수 있지만, 개별적인 ASR system으로 인해 pipeline이 복잡해지고 cascading error가 발생함
        - 결과적으로 ASR model로 인해 streaming VC의 latency를 줄이는데 한계가 존재
    • 따라서 DualVC3는 external ASR encoder에 대한 dependency를 제거하고 대신 semantic distillation을 위해 Self-Supervised Learning (SSL) model을 도입함 
      1. SSL feature에 대한 $K$-means clustering으로 얻어진 discrete semantic token은 speaker-independent property를 가짐
        - 논문은 해당 semantic token을 사용하여 semantic distillation을 수행하고 content encoder training을 guide 함
      2. Semantic token $S=\{s_{1},s_{2},...,s_{T}\}, s_{i}\in\{1,2,...,N\}$을 input audio signal에서 추출한 integer sequence, $T$를 sequence length, $N$을 $K$-means에 대한 clustering center 수라고 하자
      3. 그러면 $T_{m}$ frame과 $F$ mel bin을 가지는 input mel-spectrogram $M\in\mathbb{R}^{T_{m}\times F}$로부터 content encoder는 $D$-dimensional intermediate representation $Z\in\mathbb{R}^{T_{m}\times D}$를 추출함
      4. 이후 $Z$는 semantic token length와 match 하도록 downsampling 되고 $N$-dimension으로 linearly project 되어 $Z'\in\mathbb{R}^{T\times N}$을 얻고, $Z',S$ 간에 Cross-Entropy loss를 계산하여 semantic distillation을 수행함:
        (Eq. 1) $\mathcal{L}_{CE}=\text{CrossEntropy}(Z',S)$
    • Residual speaker timbre를 further remove 하기 위해 $Z'$은 discretize 되어 $ZQ=\{zq_{1},zq_{2},...,zq_{T}\}, zq_{i}\in\{1,2,...,N\}$과 같은 information bottleneck을 형성함
      - Discretization은 decoder에서 encoder로 gradient를 pass 하는 Gumbel Softmax에 의해 수행됨
    • 한편으로 discrete intermediate representation은 streaming VC model에 codec-like capability를 제공할 수 있음
      1. 실제 client-server 간의 direct audio transfer에는 high network bandwidth가 필요하므로 상당한 latency가 발생함
      2. BUT, discrete intermediate representation의 경우 bit rate를 크게 줄일 수 있으므로 network overhead와 latency를 절감할 수 있음

- Language Model for Pseudo Context Generation

  • 구조와 관계없이 모든 streaming model은 context size로 인해 non-streaming counterpart에 비해 성능이 떨어짐
    • 특히 streaming model은 future context에 access 할 수 없으므로 optimal performance를 달성하는 것이 어려움
    • 따라서 DualVC3는 input size를 늘리지 않고 20ms의 small context size로도 성능을 보장하기 위해 language model을 활용함
      1. 아래 그림과 같이 pseudo context generation을 위한 language model은 next-token-prediction 방식으로 discrete intermediate representation $ZQ$로부터 training 됨
      2. 추론 시 encoder로 encoding 된 chunk $ZQ$가 주어지면, language model은 conditional probability로부터 pseudo context sequence $ZQ'=\{zq'_{1},zq'_{2},...,zq'_{n}\}$을 iteratively sampling 함:
        (Eq. 2) $p_{\theta}(ZQ')=\prod_{i=2}^{n}p_{\theta}(zq'_{i}|zq'_{i-1},...,zq'_{1},ZQ)$
        - $n$ : 예측할 pseudo context frame, $\theta$ : language model parameter
        - 이후 concatenation $\{ZQ,ZQ'\}$이 deocoder에 전달되어 conversion을 수행함
    • Pseudo context를 predicting 하는 것은 unconditional continuation process에 해당함
      1. 따라서 predicted frame 수가 증가할수록 feature는 ground-truth에서 deviate 됨
      2. BUT, DualVC3는 conformer backbone을 training 하기 위해 DCT를 채택하므로 future context에 decreasing weight를 할당하여 language model prediction error로 인한 intelligibility 문제를 해결할 수 있음

Inference Process

- Training & Inference Procedure

  • Training
    • Encoder, Decoder를 포함한 acoustic model은 language model과 개별적으로 training 됨
    • Acoustic model training objective에는 reconstruction loss, HPC loss, Cross-Entropy loss가 포함됨:
      (Eq. 3) $\mathcal{L}_{acoustic}=\alpha\mathcal{L}_{rec}+\beta\mathcal{L}_{HPC}+\gamma \mathcal{L}_{CE}$
      - $\alpha=45, \beta=1, \gamma=10$  : weighting term
    • Reconstruction loss는 ground-truth mel-spectrogram $M$과 generated mel-spectrogram $\hat{M}$간의 MSE loss로 계산됨:
      (Eq. 4) $\mathcal{L}_{rec}=\text{MSE}(M,\hat{M})$
    • Acoustic model이 수렴되면, DualVC3는 language model training을 위해 discrete intermediate representation $ZQ$를 추출함:
      (Eq. 5) $\mathcal{L}_{LM}=-\sum_{i=2}^{T}\log p_{\theta}(zq_{i}|zq_{i-1},...,zq_{1})$
  • Streaming Inference
    • 추론 시에 HPC와 Wav2Vec 2.0은 discard 되고, DualVC3는 full mode 또는 language model이 제거된 stand-alone mode로 동작할 수 있음
    • Full Mode
      1. 먼저 input mel-spectrogram이 content encoder에 의해 encoding 되고 discretize 되어 $ZQ$를 얻음
      2. 이후 $ZQ$는 language model에서 예측된 pseudo context, pre-extracted target speaker embedding과 함께 decoder에 전달되어 chunked mel을 output 함 
      3. Decoder에서 생성된 pseudo mel은 vocoder에 전달되어 additional pseudo waveform을 생성하고, chunk 간 smoothing을 위한 overlap-add를 지원함
    • Stand-Alone Mode
      1. Stand-Alone mode에서는 content encoder, decoder를 포함한 acoustic model만 preserve 됨 
      2. Language model의 discard로 인해 computational cost의 이점을 얻을 수 있지만 conversion quality가 다소 저하될 수 있음

3. Experiments

- Settings

- Results

  • DualVC3는 20ms chunk size로도 VQMIVC보다 뛰어난 MOS를 달성할 수 있음

합성 품질 비교

  • DualVC3의 overall latency는 stand-alone mode의 경우 43.58ms, full-mode의 경우 55.94ms로 측정됨

Latency 비교

  • Encoder output에 $t$-SNE를 적용해 보면, discrete semantic token guidance로 인해 speaker-independent semantic information이 성공적으로 추출됨

Encoder Output에 대한 $t$-SNE 결과

 

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