Disqus를 로드하지 못했습니다. 혹시 관리자시라면 저희 문제 해결 가이드를 보세요.
한 데이터셋으로 학습한 뒤 다른 데이터셋으로 이어서 학습하는걸 Transfer learning이라고 하고, 모든 모델에 적용되는건 아니지만 특정 모델들에선 좋은 결과를 보여줍니다. Tacotron/Tacotron2의 경우에도 transfer learning을 사용한 사례들이 있어서 사용했고 (https://github.com/keithito/tacotron/issues/10), 아이유 데이터셋 단독으로 학습하는 것보다 좋은 결과를 보여줍니다. (아이유 데이터셋 만으로는 음성 합성이 잘 안됩니다.)
Transfer learning이 가능한 이유는 두 데이터셋의 음역대 등은 다르지만 언어적으로 공통적인 부분들이 많기 때문이라 생각합니다. 물론 speaker embedding을 별도로 학습하여 음성을 합성하는 multi-speaker가 더 효율적인 방식인건 맞아 보이고, multi-speaker를 구현해서 학습시켜 보았는데 받침이 제대로 발음되지 않는 문제 등이 상당히 개선되었습니다.
LPCNet은 vocoder로 tacotron2에서 생성하는 mel spectrogram을 받아 waveform으로 바꿔줍니다. 보통은 griffin-lim 또는 wavenet 등을 사용하는데, 앞 포스팅에서 설명했듯이 griffin-lim은 품질이 떨어지고 wavenet은 합성이 너무 오래걸려 lpcnet을 사용했습니다.
안녕하세요. 본문 글 잘 보았습니다.
저도 TTS를 연구중에 있는데, 궁금한 점이 있어서 댓글 남깁니다.
KSS데이터 셋으로 학습 후에 아이유 데이터 셋으로 학습하셨다는데 그렇게 하신 이유가 무엇인가요??
저는 아직 그렇게 모델을 돌려 보지는 않았지만, KSS로 학습했다가 아이유로 교체해서 학습을 이어가신다면 아이유 데이터 셋으로만 학습하는 것보다 못한 결과가 나오지 않나요? 음역대가 다른 둘을 Multi-speaker가 아닌 Single로 중간에 데이터 셋을 교체해서 학습하니까요.
LPCNet을 사용하신 거는 나중에 음성합성시 Tacotron2의 결과 Numpy를 LPCNet에 넣어서 음성을 추출하신 건가요?