KR102649028B1 - 음성 합성 시스템의 동작방법 - Google Patents
음성 합성 시스템의 동작방법 Download PDFInfo
- Publication number
- KR102649028B1 KR102649028B1 KR1020230060960A KR20230060960A KR102649028B1 KR 102649028 B1 KR102649028 B1 KR 102649028B1 KR 1020230060960 A KR1020230060960 A KR 1020230060960A KR 20230060960 A KR20230060960 A KR 20230060960A KR 102649028 B1 KR102649028 B1 KR 102649028B1
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- text
- combined
- token
- combining
- Prior art date
Links
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 68
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title abstract description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000002194 synthesizing effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/06—Elementary speech units used in speech synthesisers; Concatenation rules
- G10L13/07—Concatenation rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
본 발명은, 제1 텍스트와 상기 제1 텍스트에 대한 제1 음성 및 제2 텍스트와 상기 제2 텍스트에 대한 제2 음성이 입력되는 단계, 상기 제1, 2 텍스트 및 상기 제1, 2 음성을 커리큘럼 러닝(Curriculum learning)에 적용하여 학습한 음성 함성 모델을 생성하는 단계 및 음성 출력을 위한 대상 텍스트 입력 시, 상기 음성 합성 모델을 기반으로 상기 대상 텍스트에 대응하는 대상 합성 음성을 출력하는 단계를 포함하고, 상기 음성 합성 모델을 생성하는 단계는, 상기 제1, 2 텍스트를 결합한 결합 텍스트 및 상기 제1, 2 음성을 결합한 결합 음성을 생성하는 단계 및 상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 에러 레이트(error rate)가 설정된 기준 레이트(reference rate)보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 상기 음성 합성 모델에 추가하는 단계를 포함하는 음성 합성 시스템의 동작방법을 제공한다.
Description
본 발명은 음성 합성 시스템의 동작방법에 관한 것으로서, 더욱 상세하게는, 장문의 대상 텍스트에 대응하는 대상 합성 음성을 출력할 수 있는 음성 합성 시스템의 동작방법에 관한 것이다.
인공지능(Artificial Intelligence, AI)은 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해 능력 등을 컴퓨터 프로그램으로 실현한 기술을 의미한다.
현재 개발되고 있는 인공지능은 대화형 사용자 인터페이스(Conversational User Interface, CUI)를 구현하기 위해 필요한 기술들에 집중되어 있다. 그러한 기술로 음성인식(STT), 자연어 이해(NLU), 자연어 생성(NLG), 음성합성(TTS)이 있다.
음성합성 기술은 인공지능을 통한 대화형 사용자 인터페이스 구현을 위한 핵심 기술로서, 인간이 발화하는 것과 같은 소리를 컴퓨터나 기계를 통하여 만들어내는 것이다.
기존의 음성합성은 고정 합성 단위(Fixed Length Unit)인 단어, 음절, 음소를 조합하여 파형을 만들어내는 방식(1세대), 말뭉치를 이용한 가변 합성 단위 연결방식(2세대)에서, 3세대 모델로 발전하였다. 3세대 모델은 음성인식을 위한 음향모델링에 주로 사용하는 HMM(Hidden Markov Model)방식을 음성합성에 적용하여, 적절한 크기의 데이터베이스를 이용한 고품질 음성합성을 구현하였다.
기존의 음성합성이 특정 화자의 음색과 억양, 말투를 학습하기 위해서는 그 화자의 음성 데이터가 최소 5시간, 고품질의 음성 출력을 위해서는 10시간 이상 필요했다. 하지만 같은 사람의 음성 데이터를 그만큼 확보하는 것은 많은 비용과 시간이 소요되었다.
또한, 모델의 학습이 완료되고 음성을 출력하려고 할 때 학습된 텍스트의 길이보다 더 긴 길이의 텍스트가 입력되게 되면 해당 텍스트에 따른 음성을 합성하는데에 오류가 발생되는 문제가 발생하게 되었다.
최근들어, 학습한 텍스트보다 긴 텍스트가 입력되는 경우에도 오류가 발생하지 않고 음성을 합성하기 위한 방법을 연구하고 있다.
본 발명의 목적은, 장문의 대상 텍스트에 대응하는 대상 합성 음성을 출력할 수 있는 음성 합성 시스템의 동작방법을 제공함에 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명에 따른 음성 합성 시스템의 동작방법은, 제1 텍스트와 상기 제1 텍스트에 대한 제1 음성 및 제2 텍스트와 상기 제2 텍스트에 대한 제2 음성이 입력되는 단계, 상기 제1, 2 텍스트 및 상기 제1, 2 음성을 커리큘럼 러닝(Curriculum learning)에 적용하여 학습한 음성 함성 모델을 생성하는 단계 및 음성 출력을 위한 대상 텍스트 입력 시, 상기 음성 합성 모델을 기반으로 상기 대상 텍스트에 대응하는 대상 합성 음성을 출력하는 단계를 포함하고, 상기 음성 합성 모델을 생성하는 단계는, 상기 제1, 2 텍스트를 결합한 결합 텍스트 및 상기 제1, 2 음성을 결합한 결합 음성을 생성하는 단계 및 상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 에러 레이트(error rate)가 설정된 기준 레이트(reference rate)보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 상기 음성 합성 모델에 추가하는 단계를 포함할 수 있다.
상기 결합 텍스트는, 상기 제1, 2 텍스트 및 상기 제1, 2 텍스트를 구분하는 텍스트 토큰(text token)을 포함할 수 있다.
상기 결합 음성은, 상기 제1, 2 음성 및 상기 제1, 2 음성을 구분하는 멜스펙트로그램 토큰(mel spectrogram-token)을 포함할 수 있다.
상기 텍스트 토큰 및 상기 멜스펙트로그램 토큰은, 1초 내지 2초의 시간 구간을 갖을 수 있다.
상기 텍스트 토큰 및 상기 멜스펙트로그램 토큰은, 묵음 구간일 수 있다.
상기 음성 합성 모델에 추가하는 단계는, 상기 텍스트 토큰 및 상기 멜스펙트로그램 토큰을 기준으로 결합할 수 있다.
상기 음성 합성 모델에 추가하는 단계 이전에, 상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 배치 사이즈(batch size)가 설정된 기준 배치 사이즈보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 초기화하는 단계를 더 포함할 수 있다.
상기 음성 합성 모델에 추가하는 단계는, 상기 에러 레이트가 상기 기준 레이트보다 크면 상기 결합 텍스트 및 상기 결합 음성을 초기화할 수 있다.
본 발명에 따른 음성 합성 시스템의 동작방법은, 커리큘럼 러닝으로 학습하여 단문 텍스트로부터 긴 장문 텍스트까지의 음성 합성 모델을 생성하여, 장문의 텍스트에 대한 음성 합성이 용이한 이점이 있다.
또한, 본 발명에 따른 음성 합성 시스템의 동작방법은, 장문 텍스트에 대하 음성 합성 시 자연스러운 음성을 출력할 수 있는 이점이 있다.
한편, 본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명에 따른 음성 합성 시스템의 제어 구성을 나타낸 제어블록도이다.
도 2는 본 발명에 따른 결합 텍스트 및 결합 음성을 설명하기 위한 간략도이다.
도 3 및 도 4는 본 발명에 따른 음성 합성 시스템에 대한 실험 결과를 나타낸 도 및 표이다.
도 5는 본 발명에 따른 음성 합성 시스템의 동작방법을 나타낸 순서도이다.
도 2는 본 발명에 따른 결합 텍스트 및 결합 음성을 설명하기 위한 간략도이다.
도 3 및 도 4는 본 발명에 따른 음성 합성 시스템에 대한 실험 결과를 나타낸 도 및 표이다.
도 5는 본 발명에 따른 음성 합성 시스템의 동작방법을 나타낸 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수개의 관련된 기재된 항목들의 조합 또는 복수개의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명에 따른 음성 합성 시스템의 제어 구성을 나타낸 제어블록도 및 도 2는 본 발명에 따른 결합 텍스트 및 결합 음성을 설명하기 위한 간략도이다.
도 1 및 도 2를 참조하면, 음성 합성 시스템(100)은 인코더(110), 어텐션(120) 및 디코더(130)를 포함할 수 있다.
인코더(110)는 입력된 텍스트를 처리하고, 디코더(130)는 음성을 출력할 수 있다.
여기서 인코더(110)는 텍스트를 벡터로 압축할 수 있으며, 디코더(130)는 어텐션(120)에서 출력된 음성을 출력할 수 있다. 이때, 음성은 멜스펙트로그램(Me1 spectrogram)일 수 있다.
이때, 인코더(110)는 텍스트를 텍스트 정보를 표현하는 숫자 벡터로 변환할 수 있으며, 이에 한정을 두지 않는다.
어텐션(120)은 텍스트으로부터 음성을 생성할 수 있다.
어텐션(120)은 어텐션 매커니즘을 활용하여 입력 시퀀스의 기울기 소실 현상을 최소화할 수 있다. 어텐션 매커니즘은 다음과 같은 함수 형태로 표현된다.
Attention(Q, K, V) = Attention Value
여기서, Q는 쿼리(Query)를 뜻하며 이는 해당 시점에 디코더(130)에서의 은닉 상태를 반영하는 값이다. K는 키(Key), V는 벨류(Value)를 뜻하며 이는 모든 시점의 인코더(110)의 은닉 상태들을 반영한다. 어텐션 함수는 키에 대한 쿼리의 유사도를 구한 후 이를 벨류에 반영하여 중요한 부분을 강조한다.
디코더(130) 현재 시점의 값을 반영하는 쿼리와 인코더 값을 반영하는 키를 dot product 해준 뒤 softmax를 취해주면 쿼리가 인코더(110)의 어떤 부분에 집중해야 예측값에 도움이 될지 가중치 형태로 표현된다. 이때 각각의 가중치를 어텐션 가중치(Attention Weight)라 한다. 이후, 어텐션의 최종 결과값을 얻기 위해서 인코더(110)의 값을 반영하고 있는 벨류와 어텐션 가중치 값들을 곱해주면 어텐션 값(Attention Value)이 나오게 된다. 어텐션 값은 인코더(110)의 문맥을 포함하고 있기 때문에 컨텍스트 벡터(context vector)라고 불리기도 한다.
최종적으로 컨텍스트 벡터를 디코더(130) 현재 시점의 은닉상태와 결합(concatenate)하여 출력 시퀀스를 구하게 된다.
어텐션(130)은 텍스트 및 음성을 합성하여 음성 합성 모델을 생성할 수 있다.
즉, 어텐션(130)는 학습 데이터가 입력되면, 학습 데이터를 설정된 커리큘럼 러닝(Curriculum learning)에 적용하여 학습한 음성 합성 모델을 생성하고, 음성 출력을 위한 대상 텍스트가 입력되면 상기 음성 합성 모델을 기반으로 대상 텍스트에 대응하는 대상 합성 음성을 생성할 수 있다.
실시 예에서, 학습 데이터는 제1 텍스트와 상기 제1 텍스트에 대한 제1 음성 및 제2 텍스트와 상기 제2 텍스트에 대한 제2 음성으로 이루어진 것으로 설명하지만, 텍스트의 개수 및 음성의 개수에 대하여 한정을 두지 않는다.
제1 텍스트 및 제1 음성이 입력되는 경우, 어텐션(130)은 인코더(110)로부터 제1 텍스트에 대한 벡터를 제공받으며, 디코더(120)로부터 제1 음성에 대한 멜스펙트로그램을 제공받을 수 있다.
또한, 제2 텍스트 및 제2 음성이 입력되는 경우, 어텐션(130)은 인코더(110)로부터 제2 텍스트에 대한 벡터를 제공받으며, 디코더(120)로부터 제2 음성에 대한 멜스펙트로그램을 제공받을 수 있다.
음성 합성 모델을 생성하기 위해, 어텐션(130)는 제1, 2 텍스트 및 제1, 2 음성을 설정된 커리큘럼 러닝(Curriculum learning)에 적용하여 학습할 수 있다.
먼저, 어텐션(130)는 제1, 2 텍스트 및 제1, 2 음성을 개별 학습 처리할 수 있다.
이후, 어텐션(130)은 제1, 2 텍스트를 결합한 결합 텍스트 및 제1, 2 음성을 결합한 결합 음성을 생성할 수 있다.
여기서, 결합 텍스트는 제1, 2 텍스트 및 제1, 2 텍스트를 구분하기 위한 텍스트 토큰(text token)을 포함할 수 있으며, 결합 음성은 제1, 2 음성 및 제1, 2 음성을 구분하기 위한 멜스펙트로그램 토큰(mel spectrogram-token)을 포함할 수 있다.
여기서, 텍스트 토큰 및 멜스펙트로그램 토큰은 1초 내지 2초의 시간 구간이며, 묵음 구간일 수 있다.
텍스트 토큰 및 멜스펙트로그램 토큰은 두 개의 제1, 2 텍스트가 서로 자연스럽게 연결되어, 하나의 텍스트로 인식할 수 있도록 하기 위한 도구이다.
실시예에서, 어텐션(130)은 2개의 제1, 2 텍스트 및 2개의 제1, 2 음성으로 하나의 결합 텍스트 및 결합 음성을 생성하여 학습하는 것으로 설명하였으나, 복수의 텍스트 및 복수의 음성이 존재하는 경우 결합 텍스트 및 결합 음성도 복수 개로 생성할 수 있으며, 이에 한정을 두지 않는다.
어텐션(130)은 결합 텍스트 및 결합 음성의 학습 결합 시 배치 사이즈(batch size)가 설정된 기준 배치 사이즈보다 작으면 결합 텍스트 및 결합 음성을 초기화할 수 있다.
결합 텍스트 및 결합 음성을 초기화하는 경우, 어텐션(130)은 제1, 2 텍스트 및 제1, 2 음성을 재결합하거나, 결합 텍스트 및 결합 음성을 생성하지 않을 수 있다.
이후, 어텐션(130)은 결합 텍스트 및 결합 음성의 학습 결합 시 에러 레이트(error rate)가 설정된 기준 레이트(reference rate)보다 작으면 결합 텍스트 및 결합 음성을 음성 합성 모델에 추가할 수 있다.
또한, 어텐션(130)은 에러 레이트가 기준 레이트보다 크면 결합 텍스트 및 결합 음성을 초기화할 수 있다.
어텐션(130)는 음성 출력을 위한 대상 텍스트 입력 시, 상기 음성 합성 모델을 기반으로 상기 대상 텍스트에 대응하는 대상 합성 음성을 출력할 수 있다.
이때, 어텐션(130)은 인코더(110)로부터 대상 텍스트에 대한 벡터가 입력되면, 디코더(120)로 대상 합성 음성이 출력되게 할 수 있다.
도 3 및 도 4는 본 발명에 따른 음성 합성 시스템에 대한 실험 결과를 나타낸 도 및 표이다.
도 3 및 도 4를 참조하면, 음성 합성 시스템(100)은 기본 모델로 Tacotron2를 사용하고, 커리큘럼 러닝(curriculum learning)을 위한 모델을 추가 적용하여 음성 합성을 수행할 수 있다.
여기서, 배치 사이즈(Batch size)는 기본적으로 12를 사용했으며, 한정된 GPU 용량 내에서 커리큘럼 러닝(curriculum learning)을 통해 장문의 문장을 합성하기 위해 n개의 문장을 합쳐서 학습할 경우 자동으로 배치 사이즈가 1/n의 크기로 줄어들도록 설정하였다.
음성 합성 시스템(100)은 긴 문장을 한 번에 합성할 수 있는 장점이 있다.
*이를 검증하기 위해, 음성 합성 시스템(100)에는 소설 Harry Potter 책의 script를 사용하여 음성합성 테스트를 진행하였으며, 합성된 음성의 길이와 시간에 따라 평가를 진행하였다.
도 3은 기존 모델과 합성할 수 있는 문장의 길이를 비교하기 위해 content based attention을 사용한 Tacotron 모델과 location sensitive attention 을 사용한 Tacotron2 모델을 사용하여 제안하는 모델과 비교하였다.
또한, 제안하는 모델에서 curriculum learning의 적용 여부에 따른 모델의 성능 비교 실험을 진행하였다. Length robustness 실험을 위해 Google Cloud Speech-To-Text를 통해 합성된 음성을 transcript로 변환하고 이를 원본과 비교해 character error rate(CER) 을 측정하였다.
도 3에서 우리가 제안한 모델은 5분 30초 길이의 음성(약 4400개의 characters)을 합성할 때까지 CER 10% 초반을 넘기지 않는 반면, content based attention model은 10초대에서, location sensitive attention model은 30초대에서 20%가 넘어가는 것을 확인할 수 있었다.
커리큘럼 러닝(curriculum learning)을 적용하지 않았을 때 (DLTTS1)와 두 문장만을 이어 붙여 이를 적용했을 때(DLTTS2) 5분 이상의 문장 합성 환경에서 CER이 60% 대까지 올라가지만 세 문장을 이어붙여 커리큘럼 러닝(curriculum learning)을 적용했을 때 (DLTTS3) CER이 10% 초반대로 떨어지는 것을 확인할 수 있었다.
문서 단위의 음성을 합성할 때 인코더(110)와 디코더(120) 간의 어텐션(130)이 제대로 형성되지 않으면 합성된 음성에서 word repeating이나 word skipping같은 어텐션 에러(attention error)가 발생하게 된다.
여기서, 도 4를 참조하면, 본 발명의 음성 합성 시스템(100)에서 제공하는 모델은 기존 모델에 비해 document-level에서 굉장히 낮은 어텐션 에러 레이트(attention error rate)를 보인다는 것을 알 수 있다.
문장의 길이별로 임의의 200개 document를 test하여 어텐션 에러가 발생하는 횟수를 측정하였다. 실험 결과 content based attention을 사용한 Tacotron모델은 30초 이상의 문장을 합성할 때 높은 어텐션 에러 레이트(attention error rate)를 보이며, location sensitive attention을 사용한 Tacotron2모델은 합성된 문장의 길이가 1분 이상일 때 높은 어텐션 에러 레이트(attention error rate)를 보였다.
반면 본 발명의 음성 합성 시스템(100)에서 Document-level Neural TTS model은 5분 이상의 문장을 합성할 때에도 비교적 낮은 어텐션 에러 레이트(attention error rate)를 보였다. 이는 document-level의 문장도 안정적으로 합성할 수 있음을 보여준다. 또한 커리큘럼 러닝(curriculum learning)을 사용하지 않았을 때 5분 이상의 문장 환경에서 어텐션 에러 레이트(attention error rate)가 50% 가 넘어간 반면, 2문장으로 커리큘럼 러닝(curriculum learning)을 실행했을 때에는 25%, 3문장으로 실행했을 때에는 1% 정도의 어텐션 에러 레이트(attention error rate)가 측정되는 것을 알 수 있었다. 이를 통해 우리는 문서 단위의 음성합성을 할 때 커리큘럼 러닝(curriculum learning)이 필수적인 요소임을 알 수 있었다.
도 5는 본 발명에 따른 음성 합성 시스템의 동작방법을 나타낸 순서도이다.
*도 5를 참조하면, 음성 합성 시스템(100)은 제1 텍스트와 상기 제1 텍스트에 대한 제1 음성 및 제2 텍스트와 상기 제2 텍스트에 대한 제2 음성이 입력될 수 있다(S110).
음성 합성 시스템(100)은 상기 제1, 2 텍스트 및 상기 제1, 2 음성을 커리큘럼 러닝(Curriculum learning)에 적용하여 상기 제1, 2 텍스트를 결합한 결합 텍스트 및 상기 제1, 2 음성을 결합한 결합 음성을 생성할 수 있다(S120).
음성 합성 시스템(100)은 상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 배치 사이즈(batch size)가 설정된 기준 배치 사이즈보다 작은지 판단하고(S130), 기준 배치 사이즈 보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 초기화할 수 있다(S140).
기준 배치 사이즈보다 큰 경우, 음성 합성 시스템(100)은 상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 에러 레이트(error rate)가 설정된 기준 레이트(reference rate)보다 작은지 판단하고(S150), 기준 레이트보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 상기 음성 합성 모델에 생성 및 추가할 수 있다(S160).
(S150) 단계 이후, 기준 레이트보다 큰 경우, 음성 합성 시스템(100)은 상기 결합 텍스트 및 상기 결합 음성을 초기화할 수 있다(S170).
(S160) 단계 이후, 음성 합성 시스템(100)은 음성 출력을 위한 대상 텍스트 입력 시, 상기 음성 합성 모델을 기반으로 상기 대상 텍스트에 대응하는 대상 합성 음성을 출력할 수 있다(S180)
이상에서 실시 예들에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시 예에 포함되며, 반드시 하나의 실시 예에만 한정되는 것은 아니다. 나아가, 각 실시 예에서 예시된 특징, 구조, 효과 등은 실시 예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시 예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시 예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시 예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (6)
- 제1 텍스트와 상기 제1 텍스트에 대한 제1 음성 및 제2 텍스트와 상기 제2 텍스트에 대한 제2 음성이 입력되는 단계;
상기 제1, 2 텍스트 및 상기 제1, 2 음성을 커리큘럼 러닝(Curriculum learning)에 적용하여 학습한 음성 합성 모델을 생성하는 단계; 및
음성 출력을 위한 대상 텍스트 입력 시, 상기 음성 합성 모델을 기반으로 상기 대상 텍스트에 대응하는 대상 합성 음성을 출력하는 단계를 포함하고,
상기 음성 합성 모델을 생성하는 단계는,
상기 제1, 2 텍스트를 결합한 결합 텍스트 및 상기 제1, 2 음성을 결합한 결합 음성을 생성하는 단계;
상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 배치 사이즈(batch size)가 설정된 기준 배치 사이즈보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 초기화하는 단계; 및
상기 결합 텍스트 및 상기 결합 음성의 학습 결합 시 에러 레이트(error rate)가 설정된 기준 레이트(reference rate)보다 작으면 상기 결합 텍스트 및 상기 결합 음성을 상기 음성 합성 모델에 추가하는 단계를 포함하고,
상기 음성 합성 모델에 추가하는 단계는,
상기 에러 레이트가 상기 기준 레이트보다 크면 상기 결합 텍스트 및 상기 결합 음성을 초기화하는 단계를 더 포함하고,
상기 배치 사이즈는 장문의 문장을 합성하기 위해 n개의 문장을 합쳐서 학습될 경우 1/n의 크기로 줄어드는
음성 합성 시스템의 동작방법. - 제 1 항에 있어서,
상기 결합 텍스트는,
상기 제1, 2 텍스트 및 상기 제1, 2 텍스트를 구분하는 텍스트 토큰(text token)을 포함하는,
음성 합성 시스템의 동작방법. - 제 2 항에 있어서,
상기 결합 음성은,
상기 제1, 2 음성 및 상기 제1, 2 음성을 구분하는 멜스펙트로그램 토큰(mel spectrogram-token)을 포함하는,
음성 합성 시스템의 동작방법. - 제 3 항에 있어서,
상기 텍스트 토큰 및 상기 멜스펙트로그램 토큰은,
1초 내지 2초의 시간 구간을 갖는,
음성 합성 시스템의 동작방법. - 제 3 항에 있어서,
상기 텍스트 토큰 및 상기 멜스펙트로그램 토큰은,
묵음 구간인,
음성 합성 시스템의 동작방법. - 제 3 항에 있어서,
상기 음성 합성 모델에 추가하는 단계는,
상기 텍스트 토큰 및 상기 멜스펙트로그램 토큰을 기준으로 결합하는,
음성 합성 시스템의 동작방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230060960A KR102649028B1 (ko) | 2021-01-13 | 2023-05-11 | 음성 합성 시스템의 동작방법 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210004856A KR20220102476A (ko) | 2021-01-13 | 2021-01-13 | 음성 합성 시스템의 동작방법 |
KR1020230060960A KR102649028B1 (ko) | 2021-01-13 | 2023-05-11 | 음성 합성 시스템의 동작방법 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210004856A Division KR20220102476A (ko) | 2021-01-13 | 2021-01-13 | 음성 합성 시스템의 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230070423A KR20230070423A (ko) | 2023-05-23 |
KR102649028B1 true KR102649028B1 (ko) | 2024-03-18 |
Family
ID=82448364
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210004856A KR20220102476A (ko) | 2021-01-13 | 2021-01-13 | 음성 합성 시스템의 동작방법 |
KR1020230060960A KR102649028B1 (ko) | 2021-01-13 | 2023-05-11 | 음성 합성 시스템의 동작방법 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210004856A KR20220102476A (ko) | 2021-01-13 | 2021-01-13 | 음성 합성 시스템의 동작방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240153486A1 (ko) |
KR (2) | KR20220102476A (ko) |
WO (1) | WO2022154341A1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020126141A (ja) * | 2019-02-05 | 2020-08-20 | 日本電信電話株式会社 | 音響モデル学習装置、音響モデル学習方法、プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5457706B2 (ja) * | 2009-03-30 | 2014-04-02 | 株式会社東芝 | 音声モデル生成装置、音声合成装置、音声モデル生成プログラム、音声合成プログラム、音声モデル生成方法および音声合成方法 |
KR102401512B1 (ko) * | 2018-01-11 | 2022-05-25 | 네오사피엔스 주식회사 | 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체 |
-
2021
- 2021-01-13 KR KR1020210004856A patent/KR20220102476A/ko not_active IP Right Cessation
- 2021-12-02 US US18/271,933 patent/US20240153486A1/en active Pending
- 2021-12-02 WO PCT/KR2021/095116 patent/WO2022154341A1/ko active Application Filing
-
2023
- 2023-05-11 KR KR1020230060960A patent/KR102649028B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020126141A (ja) * | 2019-02-05 | 2020-08-20 | 日本電信電話株式会社 | 音響モデル学習装置、音響モデル学習方法、プログラム |
Non-Patent Citations (2)
Title |
---|
Github, ‘SMART-Long_Sentence_TTS’, 2020.11.23.* |
SUNG-WOONG HWANG et al., ‘Document-level Neural TTS using Curriculum Learning and Attention Masking’, IEEE Access, Vol.9, 04 January 2021.* |
Also Published As
Publication number | Publication date |
---|---|
KR20220102476A (ko) | 2022-07-20 |
WO2022154341A1 (ko) | 2022-07-21 |
KR20230070423A (ko) | 2023-05-23 |
US20240153486A1 (en) | 2024-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102246943B1 (ko) | 다중 언어 텍스트-음성 합성 방법 | |
KR102581346B1 (ko) | 다국어 음성 합성 및 언어간 음성 복제 | |
US12033612B2 (en) | Speech synthesis method and apparatus, and readable storage medium | |
KR102677459B1 (ko) | 2-레벨 스피치 운율 전송 | |
TWI413105B (zh) | 多語言之文字轉語音合成系統與方法 | |
KR20200092505A (ko) | 심층 합성곱 신경망 인공지능을 기반으로 한 미세조정을 통해 소량의 샘플로 화자 적합된 음성합성 모델을 생성하는 방법 | |
JP5198046B2 (ja) | 音声処理装置及びそのプログラム | |
KR102152902B1 (ko) | 음성 인식 모델을 학습시키는 방법 및 상기 방법을 이용하여 학습된 음성 인식 장치 | |
CN114746935A (zh) | 基于注意力的时钟层次变分编码器 | |
KR20230039750A (ko) | 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 | |
Kayte et al. | Di-phone-based concatenative speech synthesis systems for marathi language | |
CN113436600B (zh) | 一种语音合成方法及装置 | |
JP6594251B2 (ja) | 音響モデル学習装置、音声合成装置、これらの方法及びプログラム | |
KR102649028B1 (ko) | 음성 합성 시스템의 동작방법 | |
Vintsiuk et al. | Multi-level Multi-decision Models for ASR | |
JP3576066B2 (ja) | 音声合成システム、および音声合成方法 | |
JP2018146821A (ja) | 音響モデル学習装置、音声合成装置、それらの方法、及びプログラム | |
KR20220065483A (ko) | 단일음성기호집합을 활용한 인공신경망 기반 다국어 발화 텍스트 음성합성 방법 및 장치 | |
KR20210131125A (ko) | 발화 속도 조절이 가능한 텍스트 음성 변환 학습 장치 및 발화 속도 조절이 가능한 텍스트 음성 변환 장치 | |
Al-Said et al. | An Arabic text-to-speech system based on artificial neural networks | |
Kayte et al. | The Marathi text-to-speech synthesizer based on artificial neural networks | |
CN114420089B (zh) | 语音合成方法、装置和计算机可读存储介质 | |
Gu et al. | A system framework for integrated synthesis of Mandarin, Min-nan, and Hakka speech | |
Dessai et al. | Development of Konkani TTS system using concatenative synthesis | |
KR20220125005A (ko) | 화자 적합성이 향상된 음성합성 모델 생성방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |