2020.코딩일지
딥러닝 기반 음성합성(2) 본문
강좌정보 | Tacademy강좌링크 |
---|---|
학습내용 | 문장이 음성으로 변환하는 음성합성 과정과 기초 알고리즘에 대해 이해하도록 합니다. 또한, Wavenet / FloWaveNet 등 최신 모델에 대해 알아보고 WaveGlow를 이용한 음성합성 구현 방법에 대해 알아봅니다. |
강사 | 김형주 (서울대학교 Human Interface Lab 석사과정) |
학습기간 | 2021.07.30 ~ 이수중 |
강의목록 | [1강] Vocoder |
[2강] Deep Generative Model 1 - Autoregresssive Model(Wavenet) | |
[3강] Deep Generative Model 1 2 Flow Model(RealNVP, FlowIAF) | |
[4강] 최신음성합성모델 - WaveNet Vocoder, FloWaveNet, WaveGlow, Parallel WaveNet | |
[5강] 음성합성 모델실습 - WaveGlow |
딥러닝을 활용한 음성합성(2)
[1강] Vocoder
STT + TTS 는 필수........
화자인식 : (엄마/아빠/ 아이 를 구분)
음성향상 : 음성신호에서 잡음을 제거하여 유용한 신호를 추출하는 과정
vocoder란..
통신을 위한 음성압축기술.
딥러닝 음성합성 모델의 타겟 (33p.)
- 음성 신호(raw waveform)는 데이터의 차원이 커서 음성합성 모델의 직접적인 타겟으로 사용하기 부담스러움 (5초짜리 샘플링레이트여도 120k개의 샘플로이루어져 있다;;>Neuralvocoder뉴럴보코더로 해결
- STFT를 음성합성 모델의 타겟으로 사용하는 경우 복소수를 고려하여 모델을 설계해야 하는데 이는 쉽지 않음( 여전히 데이터 차원 문제를 해결할 수 없음)
35p. Griffin-Lim algorithm
그리핀알고리즘은 예전에 사용되었고 반복적.단순함
입력: STFT magnitude matrixlibrosa.feature.inverse.mel_to_audio
다만 불안한 음성이므로 고퀄을 기대하기는 어렵다.
36p.Neural vocoder
- mel-spectogram을 입력으로 받아 음성신호(waveform)을 생성하는 딥러닝 모델
- 다량의 데이터 학습을 통해 neural vocodersms mel-spectogram과 음성 신호 사이의 관계를 이해하고, 고품질의 음성을 생성
- 학습 시에는 1~2초 정도로 나누어진 음성 신호를 학습하도록 하여 메모리 사용의 부담을 줄일 수 있음
- 대표적인 neural vocoder
- Autoregressive model: WaveNet vocoder
- Flow-based model: WaveGlow, FloWaveNet, Parallel WaveNet, ClariNet
- GAN-based model: ParallelWaveGAN, VocGAN
[2강] Deep Generative Model 1 - Autoregresssive Model(Wavenet)
[3강] Deep Generative Model 1 2 Flow Model(RealNVP, FlowIAF)
우와.. 수학공식파티
WaveNet
음성신호에 대해 적용하는 모델.
▶ T 아카데미 온라인 강의 (머신러닝/딥러닝 수학 입문) :
https://tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=157
[4강] 최신음성합성모델 - WaveNet Vocoder, FloWaveNet, WaveGlow, Parallel WaveNet
WaveNet vocoder란? 88p. 3최신음성합성모델
주어진 mel-spectrogram에 해당하는 오디오(waveform)를 생성하는 보코더의 역할을 수행하도록 기존의 WaveNet을 수정한 것
WaveNet vocoder 장점
• 생성된 샘플을 바탕으로 새로운 샘플을 생성하여 음질의 퀄리티가 좋
은 편
• 직관적인 목적 함수
• 1~2초 길이의 음성 신호 및 mel-spectrogram을 이용하여 훈련 가
능
• CNN 기반 모델이므로 실제 사용 시에 훨씬 더 긴 길이의 음성 신호
합성 가능 (ex. 7초에 해당하는 mel-spectrogram을 입력으로 주면
이에 해당하는 음성 생성 가능)
WaveNet vocoder 단점
• Autoregressive property로 인한 느린 샘플링 속도
• 훈련 과정과 샘플링 과정의 mismatch (ex. teacher forcing)
Flow-based Vocoder 95p.
31:20 모델간차이점
WaveGlow는 channel ordering을 일반적으로 바꿈//음질이 조금 더! 좋다.
FlowWaveNet은 Actnorm을 사용.
[5강] 음성합성 모델실습 - WaveGlow
Colab실습
런타임-런타임유형변경-GPU로 바꾸고 시작...훈련12시간돌렸을때 성능이좋아진...다.....능...
[실습 코드](https://colab.research.google.com/drive/1nLl5cBLRXFKWqwahh9ydWIpV3IiEeTmL?usp=sharing)
[실습 코드 전체](https://colab.research.google.com/drive/1N6_joigWXgoDHfE1rm4rL2kBkmCpXW2H?usp=sharing)
Reference
WaveGlow (implemented by NVIDIA): https://github.com/NVIDIA/waveglow
딥러닝을 활용한 음성합성(1) (T-academy): https://tacademy.skplanet.com/live/player/onlineLectureDetail.action?seq=184
'NLP(NaturalLanguageProcessing)' 카테고리의 다른 글
딥러닝 기반 음성합성(1) (0) | 2021.07.19 |
---|---|
디지털 신호처리(DSP)이해 (0) | 2021.07.19 |
딥러닝 기반의 음성인식 기술 (0) | 2021.07.19 |
NAVER AI NOW (0) | 2021.07.19 |
Python과 Tensorflow를 활용한 Al 챗봇 개발 (0) | 2021.07.19 |