본문 바로가기

TTS

Deep Voice 3

https://github.com/hash2430/dv3_world

 

hash2430/dv3_world

Deep voice 3 implementation of r9y9 is modified to support WORLD vocoder. - hash2430/dv3_world

github.com

https://github.com/hash2430/Neural-voice-cloning

 

hash2430/Neural-voice-cloning

This repo is started from my dv3_world to implement 'speaker-encoder' approach of 'Neural voice cloning using a few samples' - hash2430/Neural-voice-cloning

github.com

 

  • 특징:
    • Encoder-attention-decoder에 이어 converter 사용. switching을 통해 다양한 보코더를 지원하는 converter module 구현
    • RNN 제거: 훈련 가속화를 위해 RNN을 CNN + positional encoding으로 대체함. 
      • 훈련 시: CNN을 활용해 ground-truth mel spectrogram을 병렬 학습한다.
      • 추론 시: CNN의 local한 사용, 즉, buffer를 사용해 previous decoder 출력을 저장하고, DNN을 사용해 current decoder output을 출력한 다시 이를 buffer에 저장하는 식으로 autoregressive하게 추론한다.
    • Stacked convolutional block for encoder
      • Gated linuear unita을 activation으로 사용하는 conv block이 반복적으로 쌓여있다.
    • Hierarchical (scale-out) decoder 구조
      • 여러개의 prenet block과 decoder block이 반복적으로 사용된다.
    • Mixed representation of phoneme and grapheme
      • lexicon을 사용해 phoneme으로 바꿀 수 있는 단어라 하더라도, 특정 비율 만큼은 강제로 grapheme으로 사용하게 한다.
      • 이로 인해 합성기 사용시 out of lexicon인 단어라도 읽을 수 있게 robust하게 학습된다.
    • Repeted conditioning of speaker embedding for manifold layers
      • speaker embedding을 text embedding의 매 time step마다 append하는 여타 개성 표현 TTS들과 달리, encoder, decoder prenet, decoder의 여러 layer에 반복적으로 speaker embedding을 conditioning 해주는 것이 특징이다.
  • 성능 (자연성 MOS)
    • (similarity MOS가 없다는 것에 깜짝 놀람)
    • Single speaker with WORLD vocoder: 3.63
    • Multi speaker with WORLD vocoder: 3.44

'TTS' 카테고리의 다른 글

Japanese/Korean/Vietnamese Corpus  (0) 2020.02.08
Bytes are all you need  (0) 2020.01.21
Global style token  (0) 2020.01.17
Deep Voice 3  (0) 2020.01.17
Transformer TTS  (0) 2020.01.17
Tacotron2  (0) 2020.01.17