본문 바로가기

음성합성

음성 합성 #001

# 음성합성 : 텍스트를 사람의 음성으로 자연스럽게 읽어주는 기술

# 3세대 기술 : 타코트론(Tacotron) : 입력 데이터와 그에 대한 음성 신호 예측
                    - 학습 모델:  1) 인코더 : 입력 문자열에서 특징 정보를 생성
                                     2) 디코더 : 음성의 스펙트로그램을 예측
                                     3) 어텐션 : 인코더와 디코더를 연결
                                     4) 음성합성부(Vocoder) : 음성을 만듦

# Text to Speech(TTS)
사전적 의미: 디지털 텍스트(input)를 음성(Output)으로 변환하는 기술
통상적 의미: 음성합성 시스템

 

# 이전의 TTS가 어려웠던 이유

   1) 문자를 음성으로 바꾸는데 복잡한 작업이 필요함으로

   2) 각 작업의 난이도가 높아 전문가의 지식이 필요함으로

   3) 작업이 여러 단계로 분리되어 개발되므로 합쳤을때 품질이 낮아지므로

 

# 현재 TTS가 쉬워진 이유

   1) 딥러닝 아키텍처를 이용하여 별도의 작업 없이 <문장, 음성> 쌍의 데이터로 개발이 가능

   2) 전문가의 개입이 없이 데이터와 딥러닝 모델로 개발이 가능

   3) End to End 모델로 구조를 변경하여 좋은 품질의 음성을 생성 가능.

      (*End to End 모델이란, 입력에서 출력까지 파이프라인 네트워크 없이 한번에 처리한다.)

 

 

 

소리의 높이가 높을수록 주파수의 빠르게 진동한다.

                   낮을수록 주파수의 느리게 진동한다.

소리의 크기가 클수록 주파수의 진폭이 커진다.

                   낮을수록 주파수의 진폭이 작아진다.

 

 

Fourier(퓨리에) 변환을 적용한 데이터는 각 주파수와 주파수의 세기로 나타낼 수 있음.

 

but! 퓨리에 변환에는 단점이 존재 => 시간에 따른 각 주파수의 변화를 반영하지 못한다는 것

 

이를 해결하기 위한 것이 Short Time Fourier Transform (STFT) 이다.

   Sliding window를 만들어 음성을 일정 길이로 자른 후 그 일정 음성에 대해 퓨리어를 적용함으로써 시간에 따른

   주파수의 변화를 반영할 수 있게 된다.

STFT 변환에 의한 결과를 Spectrogram이라고 한다. (x축은 시간축, y축은 주파수)

 

스팩트로그램은 소리를 잘 나누었지만 사람의 인식 특징을 반영한 데이터가 아니다. 

저주파에 더 집중할 수 있는 특징 추출방법이 필요!

=> Mel Filter Bank 를 적용하면 저주파의 특징을 추출할 수 있다.

 

위와 같이 Spectrogram 에서 저주파의 특징을 추출하는 Mel-Filter Back를 거친 결과물Mel-Spectrogram 이라 한다.

 

지금까지 과정의 요약정리

 

[★☆지금까지 다룬 음성 데이터와 음성 데이터 특징 추출 방법을 요약★☆]

데이터 분석 관점에서 실제로 다룬 음성 데이터는 디지털 데이터이다.

디지털 데이터에 Short Time Fourier Transform (STFT) 변환을 적용하면 Spectogram 을 추출할 수 있다.

Spectogram에 Mel-Filter Bank를 적용하면 요약된 데이터인 Mel-Spectogram이 나온다.

 

 

 

출처: https://www.youtube.com/watch?v=BmD8OA9FGR0

'음성합성' 카테고리의 다른 글

음성 합성 #002  (1) 2021.05.21