Based on One-shot Voice Conversion by Separating Speaker and Content Representations with Instance Normalization

I. Introduction

Simple Model

I-1. 논문의 아이디어

Utterance에 담긴 정보를 2개의 Encoder를 사용하여 Speaker와 Content 정보로 나누고, Decoder를 사용하여 합치는 Style Transfer 방법을 제시하고 있습니다.

I-2. 모델 설명

모델은 총 3개의 파트로 구성이 되어 있습니다.

  1. Speaker Encoder : 화자 정보를 추출합니다.

  2. Content Encoder : Text 정보를 추출합니다. (Instance Normalization(IN)을 사용하여 Content 정보를 유지하며 Speaker 정보를 제거할 수 있게 만든다고 가정 (TSNE를 활용하여 Clustering을 확인할 수 있지만 미진행))

  3. Decoder : Content Encoder에서 받은 latent vector를 사용하여 Reconstruction합니다. 이 과정에서 speaker 정보를 Affine transform하여 AdaIN layer에 붙여서 사용합니다.


II. Dataset

총 3개의 데이터셋을 사용하여 훈련하였습니다.

Dataset Detail Hours 평균 길이(sec) 화자수 여성 화자수 남성 화자수 Format SR
VCTK Corpus   44 3 109     .wav 24kHz
LibriSpeech train-clean-100 100.6 12 251 125 126 .flac 16kHz
LibriSpeech train-clean-360 363.6 12 951 439 482 .flac 16kHz

III. Preprocessing & Training

III-1. Preprocessing

각 음원에 대한 전처리는 다음과 같이 진행하였습니다.

  1. Trimmed out the silence
  2. Normalize the value
  3. Convert the audio to 24kHz
  4. STFT with a 50ms window length, 12.5ms hop length, 2048 STFT window size
  5. 512-bin Mel-scale spectrograms

전체적인 전처리 과정은 다음과 같습니다.

III-2. Training

각 데이터셋에 대하여 train은 약 500,000 iters로 훈련을 진행하였고, 각 Loss값은 다음과 같이 줄어드는 것을 볼 수 있습니다. train-clean-360의 Loss값은 Path Error로 누락되었습니다…

(상)VCTK Loss (하) LibriSpeech train-clean-100 Loss

IV. 기존 논문과 코드 비교

원 저자는 기존 논문에서 제안한 방법에 몇가지 수정을 한 코드를 공유하였고, 차이점은 다음과 같습니다.

  1. 기존 논문에서의 Lambda값 사용 : iter수에 따라 annealing하여 사용
  2. Reconstruction Loss Fuction : 기존 VAE에서 사용하는 (Gaussian) KLD Loss 사용
  3. log sigma값 사용 여부 : Inference 시, 분산값 사용안함 (사용해본 결과 악화)
  4. 그 외 : Dropout 사용안함

그 외의 dummy code 등이 있었으며, 일부 제거하였습니다.

V. Results

V-1. VCTK & Demo 비교

Demo Page에서는 VCTK Dataset을 사용하여 음성을 생성하였습니다. Github에 Pre-Trained된 모델을 공개하여, 같은 방법으로 전처리 및 훈련을 진행하였고 유사한 결과가 나오는지 체크하였습니다.

wav Male(seen) p246-343 Female(seen) p299-241
wav
Male(Seen) p292-052
Female(Seen)p225-124

V-2. train-clean-100

wav Male(seen) Female(seen)
wav
Male(Seen)
Female(Seen)

V-3. train-clean-360

wav Male(seen) Female(seen)
wav
Male(Seen)
Female(Seen)

Conclusion

Mel-Spectrogram에서 보이는 것처럼 높은 주파수의 음역대에서 파형이 모두 흐릿해지는 것을 관찰할 수 있습니다. 기존 논문의 결과와 변환 등 높은 주파수 음역대에서는 비슷하게 흐려지는 결과를 얻을 수 있습니다.

(상)Male Target (중)Female Target (하)Converted

Future Work