KR20240073991A - 음성 합성 서비스 제공 방법 및 그 시스템 - Google Patents
음성 합성 서비스 제공 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR20240073991A KR20240073991A KR1020247015553A KR20247015553A KR20240073991A KR 20240073991 A KR20240073991 A KR 20240073991A KR 1020247015553 A KR1020247015553 A KR 1020247015553A KR 20247015553 A KR20247015553 A KR 20247015553A KR 20240073991 A KR20240073991 A KR 20240073991A
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- speaker
- text
- model
- sound source
- Prior art date
Links
- 230000015572 biosynthetic process Effects 0.000 title claims abstract description 231
- 238000003786 synthesis reaction Methods 0.000 title claims abstract description 231
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000006243 chemical reaction Methods 0.000 claims abstract description 70
- 238000011161 development Methods 0.000 claims abstract description 41
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 8
- 238000013473 artificial intelligence Methods 0.000 claims description 82
- 230000008569 process Effects 0.000 claims description 41
- 238000013526 transfer learning Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims 1
- 239000010410 layer Substances 0.000 description 41
- 238000012360 testing method Methods 0.000 description 35
- 238000003058 natural language processing Methods 0.000 description 33
- 238000004458 analytical method Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 26
- 238000001228 spectrum Methods 0.000 description 24
- 238000012545 processing Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 12
- 239000003795 chemical substances by application Substances 0.000 description 10
- 239000000284 extract Substances 0.000 description 10
- 238000007781 pre-processing Methods 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008451 emotion Effects 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
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/033—Voice editing, e.g. manipulating the voice of the synthesiser
-
- 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
- G10L13/047—Architecture of 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Machine Translation (AREA)
Abstract
음성 합성 서비스 제공 방법 및 그 시스템이 개시된다. 본 개시의 다양한 실시예들 중 적어도 하나의 실시 예에 따른 음성 합성 서비스 제공 방법은, 개발 툴킷을 제공하는 음성 합성 서비스 플랫폼을 통해 미리 정의된 복수의 제1 텍스트에 대한 화자의 음성 합성을 위한 음원 데이터를 수신하는 단계; 미리 생성된 음색 변환 베이스 모델을 이용하여 화자의 음원 데이터에 대한 음색 변환 학습을 하는 단계; 상기 음색 변환 학습을 통해 상기 화자에 대한 음성 합성 모델을 생성하는 단계; 제2 텍스트를 입력받는 단계; 상기 화자에 대한 음성 합성 모델과 상기 제2 텍스트에 기반하여 음성 합성 추론을 통해 음성 합성 모델을 생성하는 단계; 및 상기 음성 합성 모델을 이용하여 합성 음성을 생성하는 단계;를 포함할 수 있다.
Description
본 개시는 음색(tone or timbre) 변환 기반 음성 합성 서비스 제공 방법 및 그 시스템에 관한 것이다.
스마트폰에 시작된 음성 인식 기술은 막대한 양의 데이터베이스를 활용하여, 사용자의 질문에 최적 답변을 선택하는 구조를 갖고 있다.
이러한 음성 인식 기술에 대비되는 것으로 음성 합성 기술이 있다.
음성 합성 기술은 입력된 텍스트를 해당 음운 정보를 포함하는 음성 파형으로 자동적으로 변환하는 기술로서, 종래 자동 응답 시스템(ARS), 컴퓨터 게임 등의 여러 음성 응용 분야에 유용하게 사용되고 있다.
대표적인 음성 합성 기술로는 코퍼스 기반 음편 연결 방식의 음성 합성 기술과 HMM(hidden Markov model) 기반 파라메터 방식의 음성 합성 기술을 들 수 있다.
본 개시는 음색 변환 기반으로 사용자 고유의 음성 합성 서비스를 제공하는 방법 및 그 시스템의 제공을 목적으로 한다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시 예에 따른 음성 합성 서비스 제공 방법은, 개발 툴킷을 제공하는 음성 합성 서비스 플랫폼을 통해 미리 정의된 복수의 제1 텍스트에 대한 화자의 음성 합성을 위한 음원 데이터를 수신하는 단계; 미리 생성된 음색 변환 베이스 모델을 이용하여 화자의 음원 데이터에 대한 음색 변환 학습을 하는 단계; 상기 음색 변환 학습을 통해 상기 화자에 대한 음성 합성 모델을 생성하는 단계; 제2 텍스트를 입력받는 단계; 상기 화자에 대한 음성 합성 모델과 상기 제2 텍스트에 기반하여 음성 합성 추론을 통해 음성 합성 모델을 생성하는 단계; 및 상기 음성 합성 모델을 이용하여 합성 음성을 생성하는 단계;를 포함할 수 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시 예에 따른 인공지능 기반 음성 합성 서비스 시스템은, 인공지능 기기; 및 상기 인공지능 기기와 데이터를 주고받는 컴퓨팅 디바이스를 포함하여 구성되되, 상기 컴퓨팅 디바이스는, 개발 툴킷을 제공하는 음성 합성 서비스 플랫폼을 통해 미리 정의된 복수의 제1 텍스트에 대한 화자의 음성 합성을 위한 음원 데이터를 수신하고, 미리 생성된 음색 변환 베이스 모델을 이용하여 화자의 음원 데이터에 대한 음색 변환 학습을 수행하여, 상기 화자에 대한 음성 합성 모델을 생성하며, 제2 텍스트를 입력받으면, 상기 화자에 대한 음성 합성 모델과 상기 제2 텍스트에 기반하여 음성 합성 추론을 통해 음성 합성 모델을 생성하고, 상기 음성 합성 모델을 이용하여 합성 음성을 생성하는 프로세스를 포함할 수 있다.
본 발명의 적용 가능성의 추가적인 범위는 이하의 상세한 설명으로부터 명백해질 것이다. 그러나 본 발명의 사상 및 범위 내에서 다양한 변경 및 수정은 당업자에게 명확하게 이해될 수 있으므로, 상세한 설명 및 본 발명의 바람직한 실시 예와 같은 특정 실시 예는 단지 예시로 주어진 것으로 이해되어야 한다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 음색 변환 기반 음성 합성 서비스 플랫폼을 통해 사용자가 보다 쉽고 편리하게 자신만의 고유의 음성 합성 모델을 생성할 수 있도록 하는 효과가 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 고유의 음성 합성 모델을 이용하여 소셜 미디어나 개인 방송 플랫폼과 같은 다양한 미디어상에서 활용할 수 있는 효과가 있다.
본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 디지털 휴먼(digital human)이나 메타버스(Metaverse)와 같은 가상의 공간이나 가상의 캐릭터에도 개인화된 음성 합성기를 사용할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 인공지능 기기의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 음성 서비스 서버의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 5는 본 발명의 일 실시 예에 따라, 인공지능 기기의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
도 6은 본 개시의 실시 예에 따른 음성 합성을 위한 음성 서비스 시스템의 구성 블록도이다.
도 7은 본 개시의 다른 일 실시 예에 따른 인공지능 기기의 구성 블록도이다.
도 8은 본 개시의 일실시예에 따른 음성 서비스 시스템에서 사용자 정의 원거리 기동어의 등록 방법을 설명하기 위해 도시한 도면이다.
도 9는 본 개시의 일실시예에 따른 음성 합성 서비스 과정을 설명하기 위해 도시한 순서도이다.
도 10a 내지 15d는 본 개시의 일실시예에 따른 개발 툴킷을 이용하여 서비스 플랫폼 상에 음성 합성 서비스를 이용하는 과정을 설명하기 위해 도시한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 인공지능 기기의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 음성 서비스 서버의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 5는 본 발명의 일 실시 예에 따라, 인공지능 기기의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
도 6은 본 개시의 실시 예에 따른 음성 합성을 위한 음성 서비스 시스템의 구성 블록도이다.
도 7은 본 개시의 다른 일 실시 예에 따른 인공지능 기기의 구성 블록도이다.
도 8은 본 개시의 일실시예에 따른 음성 서비스 시스템에서 사용자 정의 원거리 기동어의 등록 방법을 설명하기 위해 도시한 도면이다.
도 9는 본 개시의 일실시예에 따른 음성 합성 서비스 과정을 설명하기 위해 도시한 순서도이다.
도 10a 내지 15d는 본 개시의 일실시예에 따른 개발 툴킷을 이용하여 서비스 플랫폼 상에 음성 합성 서비스를 이용하는 과정을 설명하기 위해 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 설명되는 ‘인공지능 기기’에는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털 방송용 인공지능 기기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 인공지능 기기(smartwatch), 글래스형 인공지능 기기(smart glass), HMD(head mounted display)) 등이 포함될 수 있다. 다만, 본 개시가 상기한 예시에 한정되는 것은 아니다.
예를 들어, 인공지능 기기는 스마트 TV, 데스크탑 컴퓨터, 디지털 사이니지(Digital Signage), 냉장고, 세탁기, 에어컨, 식기 세척기 등과 같은 고정 인공지능 기기도 포함할 수 있다.
또한, 본 발명의 실시예에 따른 인공지능 기기(10)는 고정 또는 이동 가능한 로봇(Robot)에도 적용될 수 있다.
또한, 본 발명의 실시예에 따른 인공지능 기기(10)는 음성 에이전트(voice agent)의 기능을 수행하거나 지원할 수 있다. 음성 에이전트는 사용자의 음성을 인식하고, 인식된 사용자의 음성에 적합한 응답을 음성으로 출력하는 프로그램, 또는 인식된 사용자의 음성에 기반하여 음성 합성을 통해 텍스트에 대한 합성 음성을 출력하는 프로그램일 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 서비스 시스템을 설명하기 위한 도면이다.
음성 서비스는 음성 인식 및 음성 합성 서비스 중 적어도 하나를 포함할 수 있다. 음성 인식 및 합성 과정은 발화자(또는 사용자)의 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터에 기반하여 발화자의 의도를 분석하고, 분석된 의도에 상응하는 텍스트 데이터를 합성 음성 데이터로 변환하고, 변환된 합성 음성 데이터를 출력하는 과정을 포함할 수 있다.
음성 인식 및 합성 과정을 위해, 도 1에 도시된 바와 같은, 음성 서비스 시스템이 사용될 수 있다.
도 1을 참조하면, 음성 서비스 시스템은 인공지능 기기(10), 음성 텍스트 변환(Speech To Text, STT) 서버(20), 자연어 처리(Natural Language Processing, NLP) 서버(30) 및 음성 합성 서버(40)를 포함할 수 있다. 복수의 AI 에이전트 서버들(50-1 내지 50-3)은 NLP 서버(30)와 통신하며, 음성 서비스 시스템에 포함될 수 있다.
한편, STT 서버(20), NLP 서버(30) 및 음성 합성 서버(40)는 도시된 바와 각각 별개 서버로서 존재할 수도 있고, 하나의 서버에 포함되어 존재할 수도 있다. 그 밖에, 복수의 AI 에이전트 서버들(50-1 내지 50-3) 역시 별개의 서버로 존재하거나 NLP 서버(30)에 포함되어 존재할 수도 있다.
인공지능 기기(10)는 마이크로폰(122)을 통해 수신된 화자의 음성에 상응하는 음성 신호를 STT 서버(20)에 전송할 수 있다.
STT 서버(20)는 인공지능 기기(10)로부터 수신된 음성 데이터를 텍스트 데이터로 변환할 수 있다.
STT 서버(20)는 언어 모델을 이용하여 음성-텍스트 변환의 정확도를 높일 수 있다.
언어 모델은 문장의 확률을 계산하거나, 이전의 단어들이 주어졌을 때 다음 단어가 나올 확률을 계산할 수 있는 모델을 의미할 수 있다.
예컨대, 언어 모델은 유니그램(Unigram) 모델, 바이그램(Bigram) 모델, N-그램(N-gram) 모델 등과 같은 확률론적 언어 모델들을 포함할 수 있다.
유니그램 모델은 모든 단어의 활용이 완전히 서로 독립적이라고 가정하는 모델로, 단어 열의 확률을 각 단어의 확률의 곱으로 계산하는 모델이다.
바이그램 모델은 단어의 활용이 이전 1개의 단어에만 의존한다고 가정하는 모델이다.
N-그램 모델은 단어의 활용이 이전 (n-1)개의 단어에 의존한다고 가정하는 모델이다.
즉, STT 서버(20)는 언어 모델을 이용하여 음성 데이터로부터 변환된 텍스트 데이터가 적합하게 변환된 것인지 판단할 수 있고, 이를 통해 텍스트 데이터로의 변환의 정확도를 높일 수 있다.
NLP 서버(30)는 STT 서버(20)로부터 텍스트 데이터를 수신할 수 있다. STT 서버(20)는 NLP 서버(30)에 포함될 수도 있다.
NLP 서버(30)는 수신된 텍스트 데이터에 기초하여, 텍스트 데이터에 대한 의도 분석을 수행할 수 있다.
NLP 서버(30)는 의도 분석의 수행 결과를 나타내는 의도 분석 정보를 인공지능 기기(10)에 전송할 수 있다.
NLP 서버(30)는 의도 분석 정보를 음성 합성 서버(40)에 전송할 수 있다. 음성 합성 서버(40)는 의도 분석 정보에 기반한 합성 음성을 생성하고, 생성된 합성 음성을 인공지능 기기(10)에 전송할 수 있다.
NLP 서버(30)는 텍스트 데이터에 대해, 형태소 분석 단계, 구문 분석 단계, 화행 분석 단계, 및 대화 처리 단계를 순차적으로 수행하여, 의도 분석 정보를 생성할 수 있다.
형태소 분석 단계는 사용자가 발화한 음성에 대응하는 텍스트 데이터를 의미를 지닌 가장 작은 단위인 형태소 단위로 분류하고, 분류된 각 형태소가 어떤 품사를 가지는지를 결정하는 단계이다.
구문 분석 단계는 형태소 분석 단계의 결과를 이용하여, 텍스트 데이터를 명사구, 동사구, 형용사 구 등으로 구분하고, 구분된 각 구들 사이에, 어떠한 관계가 존재하는지를 결정하는 단계이다.
구문 분석 단계를 통해, 사용자가 발화한 음성의 주어, 목적어, 수식어들이 결정될 수 있다.
화행 분석 단계는 구문 분석 단계의 결과를 이용하여, 사용자가 발화한 음성에 대한 의도를 분석하는 단계이다. 구체적으로, 화행 분석 단계는 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 단순한 감정 표현을 하는 것인지와 같은 문장의 의도를 결정하는 단계이다.
대화 처리 단계는 화행 분석 단계의 결과를 이용하여, 사용자의 발화에 대해 대답을 할지, 호응을 할지, 추가 정보를 문의하는 질문을 할지를 판단하는 단계이다.
NLP 서버(30)는 대화 처리 단계 후, 사용자가 발화한 의도에 대한 답변, 호응, 추가 정보 문의 중 하나 이상을 포함하는 의도 분석 정보를 생성할 수 있다.
NLP 서버(30)는 사용자의 발화 의도에 맞는 정보를 검색하기 위해, 검색 서버(미도시)에 검색 요청을 전송하고, 검색 요청에 상응하는 검색 정보를 수신할 수 있다.
사용자의 발화 의도가 컨텐트의 검색인 경우, 검색 정보는 검색된 컨텐트에 대한 정보를 포함할 수 있다.
NLP 서버(30)는 검색 정보를 인공지능 기기(10)에 전송하고, 인공지능 기기(10)는 검색 정보를 출력할 수 있다.
한편, NLP 서버(30)는 인공지능 기기(10)로부터 텍스트 데이터를 수신할 수도 있다. 예를 들어, 인공지능 기기(10)가 음성 텍스트 변환 기능을 지원하는 경우, 인공지능 기기(10)는 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 NLP 서버(30)에 전송할 수 있다.
음성 합성 서버(40)는 기 저장된 음성 데이터들을 조합하여, 합성 음성을 생성할 수 있다.
음성 합성 서버(40)는 모델로 선정된 한 사람의 음성을 녹음하고, 녹음된 음성을 음절 또는 단어 단위로 분할할 수 있다.
음성 합성 서버(40)는 음절 또는 단어 단위로, 분할된 음성을 내부 또는 외부의 데이터 베이스에 저장할 수 있다.
음성 합성 서버(40)는 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.
음성 합성 서버(40)는 복수의 언어들 각각에 대응하는 복수의 음성 언어 그룹들을 저장하고 있을 수 있다.
예를 들어, 음성 합성 서버(40)는 한국어로 녹음된 제1 음성 언어 그룹, 영어로, 녹음된 제2 음성 언어 그룹을 포함할 수 있다.
음성 합성 서버(40)는 제1 언어의 텍스트 데이터를 제2 언어의 텍스트로 번역하고, 제2 음성 언어 그룹을 이용하여, 번역된 제2 언어의 텍스트에 대응하는 합성 음성을 생성할 수 있다.
음성 합성 서버(40)는 생성된 합성 음성을 인공지능 기기(10)에 전송할 수 있다.
음성 합성 서버(40)는 NLP 서버(30)로부터 분석 정보를 수신할 수 있다. 분석 정보는 사용자가 발화한 음성의 의도를 분석한 정보를 포함할 수 있다.
음성 합성 서버(40)는 분석 정보에 기초하여, 사용자의 의도를 반영한, 합성 음성을 생성할 수 있다.
위에서, 설명된 STT 서버(20), NLP 서버(30) 및 음성 합성 서버(40) 각각의 기능은 인공지능 기기(10)에서도 수행될 수도 있다. 이를 위해, 인공지능 기기(10)는 하나 이상의 프로세서들을 포함할 수 있다.
복수의 AI 에이전트 서버들(50-1 내지 50-3) 각각은 NLP 서버(30)의 요청에 따라 검색 정보를 NLP 서버(30) 또는 인공지능 기기(10)에 전송할 수 있다.
NLP 서버(30)의 의도 분석 결과가 컨텐트의 검색 요청인 경우, NLP 서버(30)는 컨텐트의 검색 요청을 복수의 AI 에이전트 서버들(50-1 내지 50-3) 중 하나 이상의 서버에 전송하고, 컨텐트의 검색 결과를 해당 서버로부터 수신할 수 있다.
NLP 서버(30)는 수신된 검색 결과를 인공지능 기기(10)에 전송할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 인공지능 기기(10)의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 인공지능 기기(10)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180)를 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), LTV-A(dvanced), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
입력부(120)는 영상 신호 입력을 위한 카메라(Camera, 121), 오디오 신호를 수신하기 위한 마이크로폰(Microphone, 122), 사용자로부터 정보를 입력 받기 위한 사용자 입력부(User Input Unit, 123)를 포함할 수 있다.
입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어 명령으로 처리될 수 있다.
입력부(120)는 영상 정보(또는 신호), 오디오 정보(또는 신호), 데이터, 또는 사용자로부터 입력되는 정보의 입력을 위한 것으로서, 영상 정보의 입력을 위하여, 인공지능 기기(10)는 하나 또는 복수의 카메라(121)들을 구비할 수 있다.
카메라(121)는 화상 통화모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(151)에 표시되거나 메모리(170)에 저장될 수 있다.
마이크로폰(122)은 외부의 음향 신호를 전기적인 음성 데이터로 처리한다. 처리된 음성 데이터는 인공지능 기기(10)에서 수행 중인 기능(또는 실행 중인 응용 프로그램)에 따라 다양하게 활용될 수 있다. 한편, 마이크로폰(122)에는 외부의 음향 신호를 입력 받는 과정에서 발생되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘이 적용될 수 있다.
사용자 입력부(123)는 사용자로부터 정보를 입력 받기 위한 것으로서, 사용자 입력부(123)를 통해 정보가 입력되면, 프로세서(180)는 입력된 정보에 대응되도록 인공지능 기기(10)의 동작을 제어할 수 있다.
사용자 입력부(123)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예컨대, 단말기(100)의 전/후면 또는 측면에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단을 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
러닝 프로세서(130)는 인공지능 기기(10)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), 인공지능 기기(10)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 인공지능 기기(10) 내부 정보, 인공지능 기기(10)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
출력부(150)는 디스플레이부(Display Unit, 151), 음향 출력부(Sound Output Unit, 152), 햅틱 모듈(Haptic Module, 153), 및 광 출력부(Optical Output Unit, 154) 중 적어도 하나를 포함할 수 있다.
디스플레이부(151)는 인공지능 기기(10)에서 처리되는 정보를 표시(출력)한다. 예컨대, 디스플레이부(151)는 인공지능 기기(10)에서 구동되는 응용 프로그램의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.
디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 인공지능 기기(10)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로서 기능함과 동시에, 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
음향 출력부(152)는 호신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서 통신부(110)로부터 수신되거나 메모리(170)에 저장된 오디오 데이터를 출력할 수 있다.
음향 출력부(152)는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등 중 적어도 하나 이상을 포함할 수 있다.
햅틱 모듈(haptic module)(153)은 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱 모듈(153)이 발생시키는 촉각 효과의 대표적인 예로는 진동이 될 수 있다.
광출력부(154)는 인공지능 기기(10)의 광원의 빛을 이용하여 이벤트 발생을 알리기 위한 신호를 출력한다. 인공지능 기기(10)에서 발생되는 이벤트의 예로는 메시지 수신, 호 신호 수신, 부재중 전화, 알람, 일정 알림, 이메일 수신, 애플리케이션을 통한 정보 수신 등이 될 수 있다.
메모리(170)는 인공지능 기기(10)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, 인공지능 기기(10)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고 프로세서(180)는 인공지능 기기(10)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 인공지능 기기(10)의 구성 요소들을 제어할 수 있다.
프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
프로세서(180)는 사용자 입력에 대하여 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 사용자의 요구 사항을 결정할 수 있다.
프로세서(180)는 음성 입력을 문자열로 변환하기 위한 STT 엔진 또는 자연어의 의도 정보를 획득하기 위한 NLP 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 인공지능 기기(10)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 인공지능 기기(10)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, 인공지능 기기(10)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작 시킬 수 있다.
도 3은 본 발명의 일 실시 예에 따른 음성 서비스 서버(200)의 구성을 설명하기 위한 블록도이다.
음성 서비스 서버(200)는 도 1에 도시된, STT 서버(20), NLP 서버(30), 및 음성 합성 서버(40) 중 하나 이상을 포함할 수 있다. 음성 서비스 서버(200)는 서버 시스템으로 명명될 수 있다.
도 3을 참고하면, 음성 서비스 서버(200)는 전처리부(220), 컨트롤러(230), 통신부(270) 및 데이터 베이스(290)를 포함할 수 있다.
전처리부(220)는 통신부(270)를 통해 수신된 음성 또는 데이터 베이스(290)에 저장된 음성을 전처리 할 수 있다.
전처리부(220)는 컨트롤러(230)와 별도의 칩으로 구현되거나, 컨트롤러(230)에 포함된 칩으로 구현될 수 있다.
전처리부(220)는 (사용자가 발화한) 음성 신호를 수신하고, 수신된 음성 신호를 텍스트 데이터로 변환하기 전, 음성 신호로부터 잡음 신호를 필터링할 수 있다.
전처리부(220)가 인공지능 기기(10)에 구비된 경우, 인공지능 기기(10)의 음성 인식을 활성화시키기 위한 기동어를 인식할 수 있다. 전처리부(220)는 마이크로폰(121)을 통해 수신된 기동어를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터가 기 저장된 기동어에 대응하는 텍스트 데이터인 경우, 기동어를 인식한 것으로 판단할 수 있다.
전처리부(220)는 잡음이 제거된 음성 신호를 파워 스펙트럼으로 변환할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 음성 신호의 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되어 있는지를 나타내는 파라미터일 수 있다.
파워 스펙트럼은 음성 신호의 파형의 주파수에 따른 진폭 제곱 값의 분포를 보여준다.
이에 대해서는, 도 4를 참조하여 설명한다.
도 4는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 4를 참조하면, 음성 신호(410)가 도시되어 있다. 음성 신호(410)는 외부 기기로부터 수신되거나, 메모리(170)에 미리 저장된 신호일 수 있다.
음성 신호(310)의 x축은 시간이고, y축은 진폭의 크기를 나타낼 수 있다.
파워 스펙트럼 처리부(225)는 x축이 시간 축인 음성 신호(410)를 x축이 주파수 축인 파워 스펙트럼(430)으로 변환할 수 있다.
파워 스펙트럼 처리부(225)는 고속 푸리에 변환(Fast Fourier Transform, FFT)을 이용하여, 음성 신호(410)를 파워 스펙트럼(430)으로 변환할 수 있다.
파워 스펙트럼(430)의 x축은 주파수, y축은 진폭의 제곱 값을 나타낸다.
다시 도 3을 설명한다.
도 3에서 설명된 전처리부(220) 및 컨트롤러(230)의 기능은 NLP 서버(30)에서도 수행될 수 있다.
전처리부(220)는 웨이브 처리부(221), 주파수 처리부(223), 파워 스펙트럼 처리부(225), STT 변환부(227)를 포함할 수 있다.
웨이브 처리부(221)는 음성의 파형을 추출할 수 있다.
주파수 처리부(223)는 음성의 주파수 대역을 추출할 수 있다.
파워 스펙트럼 처리부(225)는 음성의 파워 스펙트럼을 추출할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 파형이 주어졌을 때, 그 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되고 있는지를 나타내는 파라미터일 수 있다.
STT 변환부(227)는 음성을 텍스트로 변환할 수 있다.
STT 변환부(227)는 특정 언어의 음성을 해당 언어의 텍스트로 변환할 수 있다.
컨트롤러(230)는 음성 서비스 서버(200)의 전반적인 동작을 제어할 수 있다.
컨트롤러(230)는 음성 분석부(231), 텍스트 분석부(232), 특징 클러스터링부(233), 텍스트 매핑부(234) 및 음성 합성부(235)를 포함할 수 있다.
음성 분석부(231)는 전처리부(220)에서 전처리 된, 음성의 파형, 음성의 주파수 대역 및 음성의 파워 스펙트럼 중 하나 이상을 이용하여, 음성의 특성 정보를 추출할 수 있다.
음성의 특성 정보는 화자의 성별 정보, 화자의 목소리(또는 음색, tone), 음의 높낮이, 화자의 말투, 화자의 발화 속도, 화자의 감정 중 하나 이상을 포함할 수 있다.
또한, 음성의 특성 정보는 화자의 음색을 더 포함할 수도 있다.
텍스트 분석부(232)는 음성 텍스트 변환부(227)에서 변환된 텍스트로부터, 주요 표현 어구를 추출할 수 있다.
텍스트 분석부(232)는 변환된 텍스트로부터 어구와 어구 간의 어조가 달라짐을 감지한 경우, 어조가 달라지는 어구를 주요 표현 어구로 추출할 수 있다.
텍스트 분석부(232)는 어구와 어구 간의 주파수 대역이 기 설정된 대역 이상 변경된 경우, 어조가 달라진 것으로 판단할 수 있다.
텍스트 분석부(232)는 변환된 텍스트의 어구 내에, 주요 단어를 추출할 수도 있다. 주요 단어란 어구 내에 존재하는 명사일 수 있으나, 이는 예시에 불과하다.
특징 클러스터링부(233)는 음성 분석부(231)에서 추출된 음성의 특성 정보를 이용하여, 화자의 발화 유형을 분류할 수 있다.
특징 클러스터링부(233)는 음성의 특성 정보를 구성하는 유형 항목들 각각에, 가중치를 두어, 화자의 발화 유형을 분류할 수 있다.
특징 클러스터링부(233)는 딥러닝 모델의 어텐션(attention) 기법을 이용하여, 화자의 발화 유형을 분류할 수 있다.
텍스트 매핑부(234)는 제1 언어로 변환된 텍스트를 제2 언어의 텍스트로 번역할 수 있다.
텍스트 매핑부(234)는 제2 언어로 번역된 텍스트를 제1 언어의 텍스트와 매핑 시킬 수 있다.
텍스트 매핑부(234)는 제1 언어의 텍스트를 구성하는 주요 표현 어구를 이에 대응하는 제2 언어의 어구에 매핑 시킬 수 있다.
텍스트 매핑부(234)는 제1 언어의 텍스트를 구성하는 주요 표현 어구에 대응하는 발화 유형을 제2 언어의 어구에 매핑 시킬 수 있다. 이는, 제2 언어의 어구에 분류된 발화 유형을 적용시키기 위함이다.
음성 합성부(235)는 텍스트 매핑부(234)에서 제2 언어로 번역된 텍스트의 주요 표현 어구에, 특징 클러스터링부(233)에서 분류된 발화 유형 및 화자의 음색을 적용하여, 합성된 음성을 생성할 수 있다.
컨트롤러(230)는 전달된 텍스트 데이터 또는 파워 스펙트럼(430) 중 하나 이상을 이용하여, 사용자의 발화 특징을 결정할 수 있다.
사용자의 발화 특징은 사용자의 성별, 사용자의 음의 높낮이, 사용자의 음색, 사용자의 발화 주제, 사용자의 발화 속도, 사용자의 성량 등을 포함할 수 있다.
컨트롤러(230)는 파워 스펙트럼(430)을 이용하여, 음성 신호(410)의 주파수 및 주파수에 대응하는 진폭을 획득할 수 있다.
컨트롤러(230)는 파워 스펙트럼(430)의 주파수 대역을 이용하여, 음성을 발화한 사용자의 성별을 결정할 수 있다.
예를 들어, 컨트롤러(230)는 파워 스펙트럼(430)의 주파수 대역이 기 설정된 제1 주파수 대역 범위 내인 경우, 사용자의 성별을 남자로 결정할 수 있다.
컨트롤러(230)는 파워 스펙트럼(430)의 주파수 대역이 기 설정된 제2 주파수 대역 범위 내인 경우, 사용자의 성별을 여자로 결정할 수 있다. 여기서, 제2 주파수 대역 범위는 제1 주파수 대역 범위보다 클 수 있다.
컨트롤러(230)는 파워 스펙트럼(430)의 주파수 대역을 이용하여, 음성의 높낮이를 결정할 수 있다.
예를 들어, 컨트롤러(230)는 특정 주파수 대역 범위 내에서, 진폭의 크기에 따라 음의 높낮이 정도를 결정할 수 있다.
컨트롤러(230)는 파워 스펙트럼(430)의 주파수 대역을 이용하여, 사용자의 음색(tone)을 결정할 수 있다. 예를 들어, 컨트롤러(230)는 파워 스펙트럼(430)의 주파수 대역들 중, 진폭의 크기가 일정 크기 이상인 주파수 대역을 사용자의 주요 음역대로 결정하고, 결정된 주요 음역대를 사용자의 음색으로 결정할 수 있다.
컨트롤러(230)는 변환된 텍스트 데이터로부터, 단위 시간 당 발화된 음절 수를 통해, 사용자의 발화 속도를 결정할 수 있다.
컨트롤러(230) 변환된 텍스트 데이터에 대해, Bag-Of-Word Model 기법을 이용하여, 사용자의 발화 주제를 결정할 수 있다.
Bag-Of-Word Model 기법은 문장 내 단어 빈도 수 기반으로, 주로 사용하는 단어를 추출하는 기법이다. 구체적으로, Bag-Of-Word Model 기법은 문장 내에서, 유니크한 단어를 추출하고, 추출된 각 단어의 빈도 수를 벡터로 표현하여, 발화 주제를 특징을 결정하는 기법이다.
예를 들어, 컨트롤러(230) 텍스트 데이터에 <달리기>, <체력> 등과 같은 단어가 자주 등장하면, 사용자의 발화 주제를 운동으로 분류할 수 있다.
컨트롤러(230) 공지된 텍스트 카테고리화(Text Categorization) 기법을 이용하여, 텍스트 데이터로부터 사용자의 발화 주제를 결정할 수 있다. 컨트롤러(230) 텍스트 데이터로부터 키워드를 추출하여, 사용자의 발화 주제를 결정할 수 있다.
컨트롤러(230) 전체 주파수 대역에서의 진폭 정보를 고려하여 사용자의 성량을 결정할 수 있다.
예컨대, 컨트롤러(230) 파워 스펙트럼의 각 주파수 대역에서의 진폭의 평균 또는 가중치 평균을 기준으로 사용자의 성량을 결정할 수 있다.
통신부(270)는 외부 서버와 유선 또는 무선으로 통신을 수행할 수 있다.
데이터베이스(290)는 컨텐트에 포함된 제1 언어의 음성을 저장할 수 있다.
데이터베이스(290)는 제1 언어의 음성이 제2 언어의 음성으로 변환된 합성 음성을 저장할 수 있다.
데이터베이스(290)는 제1 언어의 음성에 대응하는 제1 텍스트, 제1 텍스트가 제2 언어로 번역된 제2 텍스트를 저장할 수 있다.
데이터베이스(290)는 음성 인식에 필요한 다양한 학습 모델을 저장하고 있을 수 있다.
한편, 도 2에 도시된 인공지능 기기(10)의 프로세서(180)는 도 3에 도시된 전처리부(220) 및 컨트롤러(230)를 구비할 수 있다.
즉, 인공지능 기기(10)의 프로세서(180)는 전처리부(220)의 기능 및 컨트롤러(230)의 기능을 수행할 수도 있다.
도 5는 본 발명의 일 실시 예에 따라, 인공지능 기기(10)의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
즉, 도 5의 음성 인식 및 합성 과정은 서버를 거치지 않고, 인공지능 기기(10)의 러닝 프로세서(130) 또는 프로세서(180)에 의해 수행될 수도 있다.
도 5를 참조하면, 인공지능 기기(10)의 프로세서(180)는 STT 엔진(510), NLP 엔진(530), 및 음성 합성 엔진(550)를 포함할 수 있다.
각 엔진은 하드웨어 또는 소프트웨어 중 어느 하나일 수 있다.
STT 엔진(510)은 도 1의 STT 서버(20)의 기능을 수행할 수 있다. 즉, STT 엔진(510)은 음성 데이터를 텍스트 데이터로 변환할 수 있다.
NLP 엔진(530)은 도 1의 NLP 서버(30)의 기능을 수행할 수 있다. 즉, NLP 엔진(530)은 변환된 텍스트 데이터로부터 화자의 의도를 나타내는 의도 분석 정보를 획득할 수 있다.
음성 합성 엔진(550)은 도 1의 음성 합성 서버(40)의 기능을 수행할 수 있다.
음성 합성 엔진(550)은 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.
음성 합성 엔진(550)은 전처리 엔진(551) 및 TTS 엔진(553)을 포함할 수 있다.
전처리 엔진(551)은 합성 음성을 생성하기 전, 텍스트 데이터를 전처리할 수 있다.
구체적으로, 전처리 엔진(551)은 텍스트 데이터를 의미 있는 단위인 토큰으로 나누는 토큰화를 수행한다.
토큰화 수행 후, 전처리 엔진(551)은 노이즈 제거를 위해 불필요한 문자, 기호를 제거하는 클렌징 작업을 수행할 수 있다.
그 후, 전처리 엔진(551)는 표현 방법이 다른 단어 토큰들을 통합시켜, 같은 단어 토큰을 생성할 수 있다.
그 후, 전처리 엔진(551)는 의미 없는 단어 토큰(불용어, stopword)을 제거할 수 있다.
TTS 엔진(553)은 전처리 된 텍스트 데이터에 상응하는 음성을 합성하고, 합성 음성을 생성할 수 있다.
음색 변환에 기반하여 음성 합성 서비스를 제공하는 음성 서비스 시스템 또는 인공지능 기기(10)의 동작 방법에 대해서 기술한다.
본 개시의 일실시예에 따른 음성 서비스 시스템 또는 인공지능 기기(10)는 음성 합성 서비스를 위한 고유의 TTS 모델을 생성하여 이용할 수 있다.
본 개시의 일실시예에 따른 음성 서비스 시스템은, 음성 합성 서비스를 위한 플랫폼(platform)을 제공할 수 있다. 음성 합성 서비스 플랫폼은, 음성 합성 서비스를 위한 개발 툴킷((Voice Agent Development Toolkit)을 제공할 수 있다. 음성 합성 서비스 개발 툴킷은, 음성 합성 기술에 대한 비전문가도 본 개시에 따른 음성 에이전트 또는 음성 에이전트를 통한 음성 합성 서비스를 보다 쉽게 이용할 수 있도록 제공되는 개발 툴킷을 나타낼 수 있다.
한편, 본 개시에 따른 음성 합성 서비스 개발 툴킷은, 음성 에이전트 개발을 위한 웹(Web) 기반 개발 툴일 수 있다. 이러한 개발 툴킷은, 인공지능 기기(10)를 통해 웹 서비스에 접속하여 이용될 수 있는바, 인공지능 기기(10)의 화면상에 개발 툴킷에 관한 다양한 사용자 인터페이스(user interface) 화면이 제공될 수 있다.
음성 합성 기능에는 감성 음성 합성과 음색 변환 기능이 포함될 수 있다. 음색 변환 기능은, 개발 툴킷 사용자가 직접 자신의 목소리를 등록해 임의의 텍스트에 대한 음성(합성 음성)을 생성할 수 있는 기능을 나타낼 수 있다.
종래 음성 합성 분야의 전문가가 학습용 음성 데이터 약 20여 시간, 그리고 약 300여 시간의 학습을 통해서 음성 합성 모델을 만들었던 것에 반해, 본 개시의 일실시예에 따른 서비스 플랫폼에서는 누구나(예컨대, 일반 사용자) 종래에 비해 상대적으로 매우 적은 양의 학습용 음성 데이터에 기반하여 매우 짧은 시간의 학습 과정을 거쳐 자신의 목소리 기반의 고유의 음성 합성 모델을 생성할 수 있다. 본 개시에서는, 학습용 음성 데이터로 예를 들어, 발화 시간이 3 내지 5분에 해당하는 문장(약 30개의 문장)을 이용할 수 있으나, 이에 한정되는 것은 아니다. 한편, 문장은 지정된 문장일 수도 있고, 임의의 문장일 수도 있다. 한편, 학습 시간은 예를 들어, 약 3-7시간을 이용할 수 있으나, 이에 한정되는 것은 아니다.
본 개시의 다양한 실시예들 중 적어도 하나에 의하면, 사용자는 개발 툴킷을 이용하여 자신만의 고유의 TTS 모델을 만들어, 음성 합성 서비스를 이용할 수 있어, 그 이용 편의성과 만족도를 매우 개선할 수 있다.
본 개시의 일실시예에 따른 음색 변환(목소리 변경) 기반의 음성 합성은, 종래 기술에 비하여 상대적으로 매우 적은 양의 학습 데이터만으로도, 화자의 음색과 발성 습관을 표현할 수 있도록 하는 것이다.
도 6은 본 개시의 다른 일 실시 예에 따른 음성 합성을 위한 음성 서비스 시스템의 구성 블록도이다.
도 6을 참조하면, 음성 합성을 위한 음성 서비스 시스템은, 인공지능 기기(10)와 음성 서비스 서버(200)를 포함하여 구성될 수 있다.
인공지능 기기(10)는 예를 들어, 음성 서비스 서버(200)(다만, 반드시 이에 한정되는 것은 아님)에 의해 제공되는 음성 합성 서비스 플랫폼을 통한 음성 합성 서비스의 처리를 위하여, 통신부(미도시), 출력부(150)와 처리부(600)를 포함하여 구성될 수 있다.
통신부는 인공지능 기기(10)와 음성 서비스 서버(200) 사이의 통신을 지원할 수 있다. 이를 통해, 통신부는 음성 서비스 서버(200)에 의해 제공되는 음성 합성 서비스 플랫폼을 통해 다양한 데이터를 주고받을 수 있다.
출력부(150)는 음성 합성 서비스 플랫폼에서 제공하는 개발 툴킷에 관한 또는 개발 툴킷을 포함한 다양한 사용자 인터페이스 화면을 제공할 수 있다. 또한, 출력부(150)는 음성 합성 서비스 플랫폼을 통하여 음성 합성 모델이 형성되어 저장된 경우, 음성 합성을 위한 대상 데이터 즉, 임의의 텍스트 입력을 받기 위한 입력 인터페이스를 제공하고, 제공된 입력 인터페이스를 통해 사용자의 음성 합성 요청 텍스트 데이터가 수신되는 경우, 내장 또는 연동 가능한 외부 스피커 등을 통해 음성 합성된 데이터(즉, 합성 음성 데이터)를 출력할 수 있다.
처리부(600)는 메모리(610)와 프로세서(620)를 포함하여 구성될 수 있다.
처리부(600)는 음성 합성 서비스 플랫폼 상의 사용자 및 음성 서비스 서버(200)의 다양한 데이터를 처리할 수 있다.
메모리(610)는 인공지능 기기(10)에서 수신하거나 처리되는 다양한 데이터를 저장할 수 있다.
메모리(610)는 처리부(600)에서 처리 또는 음성 합성 서비스 플랫폼을 통해 주고받거나 음성 서비스 서버(200)로부터 수신되는 다양한 음성 합성 관련 데이터를 저장할 수 있다.
프로세서(620)는, 음성 합성 서비스 플랫폼을 통해 최종적으로 생성된 음성 합성 데이터(음성 합성을 위한 입력 등 데이터도 포함)가 수신되면 메모리(610)에 저장하도록 제어하고, 메모리(610)에 저장된 음성 합성 데이터와 해당 음성 합성 데이터의 대상 사용자 사이의 링크 정보(또는 연동 정보)를 생성하여 저장하고, 해당 정보를 음성 서비스 서버(200)로 전달할 수 있다.
프로세서(620)는 출력부(150)를 제어하여 링크 정보에 기초하여 임의의 텍스트에 대한 합성 음성 데이터를 음성 서비스 서버(200)로부터 수신하여, 사용자에게 제공할 수 있다. 프로세서(620)는 수신되는 합성 음성 데이터뿐만 아니라 그와 관련하여 추천 정보, 추천 기능 등에 관한 정보를 제공하거나 가이드를 출력할 수 있다.
음성 서비스 서버(200)는 전술한 바와 같이, 도 1에 도시된 STT 서버(20), NLP 서버(30) 및 음성 합성 서버(40)를 포함할 수 있다.
한편, 인공지능 기기(10)와 음성 서비스 서버(200) 사이에서 음성 합성 처리 과정에 대해서는 전술한 도 1 내지 5에 개시한 내용을 참조하고, 여기서 중복 설명은 생략한다.
실시예에 따르면, 도 1에 도시된 음성 서비스 서버(200)의 적어도 일부 또는 기능은 도 5에 도시된 바와 같이 인공지능 기기(10) 내 엔진에 의해 대체될 수 있다.
한편, 프로세서(620)는 도 2의 프로세서(180)일 수도 있으나, 별개의 구성일 수도 있다.
본 개시에서 설명의 편의상 인공지능 기기(10)로만 설명되더라도 그것은 문맥에 따라 음성 서비스 서버(200)로 대체되거나 포함하는 의미일 수 있다.
도 7은 본 개시의 일실시예에 따른 음색 변환 기반 음성 합성 서비스를 설명하기 위해 도시한 개략도이다.
본 개시의 일실시예에 따른 음색 변환 기반 음성 합성은, 크게 학습 과정(또는 트레이닝(training) 과정)과 추론(inference) 과정을 포함하여 이루어질 수 있다.
먼저, 도 7의 (a)를 참조하면, 학습 과정은 다음과 같이 이루어질 수 있다.
음성 합성 서비스 플랫폼은, 음색 변환 기능을 제공하기 위한 음색 변환 베이스 모델을 미리 생성하여 보유할 수 있다.
음성 합성 서비스 플랫폼은, 사용자로부터 음성 합성을 위한 음성 데이터와 대응하는 텍스트 데이터가 입력되면, 음색 변환 학습 모듈에서 이를 학습할 수 있다.
학습은 기 보유 중인 음색 변환 베이스 모델에 예를 들어, 화자 전이 학습(transfer learning)을 통하여 이루어질 수 있다. 본 개시에서는 학습을 위한 음성 데이터 양은 종래에 비하여 적은 양의 음성 데이터 예를 들어, 3 내지 7분 정도에 해당하는 음성 데이터 양으로, 3 내지 7 시간 이내의 시간 동안 학습할 수 있다.
다음으로, 도 7의 (b)를 참조하면, 추론 과정은 다음과 같이 이루어질 수 있다.
도 7의 (b)에 도시된 추론 과정은 예를 들어, 전술한 음색 변환 학습 모듈에서 학습 이후에 이루어질 수 있다.
음성 합성 서비스 플랫폼은 예를 들어, 도 7의 (a)의 학습 과정을 통해, 각 사용자에 대해 사용자 음성 합성 모델을 생성할 수 있다.
음성 합성 서비스 플랫폼은 텍스트 데이터가 입력되면, 해당 텍스트 데이터에 대해 대상 사용자를 결정하고, 결정된 대상 사용자에 대해 기생성된 사용자 음성 합성 모델 기반으로 음성 합성 추론 모듈에서 추론 과정을 거쳐 대상 사용자에 관한 음성 합성 데이터를 생성할 수 있다.
다만, 본 개시의 일실시예에 따른 도 7의 (a)의 학습 과정과 도 7의 (b)의 추론 과정은, 전술한 내용에 한정되는 것은 아니다.
도 8은 본 개시의 일실시예에 따른 음성 합성 서비스 플랫폼의 구성을 설명하기 위해 도시한 도면이다.
도 8을 참조하면, 음성 합성 서비스 플랫폼은, 데이터베이스(Database) 레이어, 스토리지(Storage) 레이어(layer), 엔진(Engine) 레이어, 프레임워크(framework) 레이어, 및 서비스(Service) 레이어로 구성된 계층 구조로 형성될 수 있다. 다만, 이에 한정되는 것은 아니다.
실시예에 따라서, 음성 합성 서비스 플랫폼을 구성하는 도 8에 도시된 계층 구조에서 적어도 하나 이상의 레이어가 생략되거나 합쳐져 하나의 레이어로 구현될 수도 있다.
그 밖에, 도 8에 도시되지 않은 적어도 하나 이상의 레이어가 더 포함되어 음성 합성 서비스 플랫폼이 형성될 수도 있다.
도 8을 참조하여, 음성 합성 서비스 플랫폼을 구성하는 각 레이어에 대해 설명하면, 다음과 같다.
데이터베이스 레이어는, 음성 합성 서비스 플랫폼에서의 음성 합성 서비스 제공을 위하여, 사용자 음성 데이터 DB와 사용자 모델 관리 DB를 보유(또는 포함)할 수 있다.
사용자 음성 데이터 DB는, 사용자 목소리를 저장하는 공간으로, 각 사용자 음성(즉, 목소리)를 개별 저장할 수 있다. 실시예에 따라서, 사용자 음성 데이터 DB는, 하나의 사용자에 대해서 복수의 공간이 할당될 수 있으며, 그 반대일 수도 있다. 전자의 경우, 사용자 음성 데이터 DB는, 하나의 사용자에 대해 생성된 다수의 음성 합성 모델 또는 음성 합성 요청된 텍스트 데이터 기반으로 복수의 공간이 할당될 수 있다.
사용자 음성 데이터 DB는 예를 들어, 서비스 레이어에서 제공되는 개발 툴킷을 통해 각 사용자의 음원(목소리) 등록 즉, 해당 사용자의 음원 데이터가 업로드되면, 이를 해당 사용자를 위한 공간에 저장할 수 있다.
음원 데이터는 인공지능 기기(10)에서 직접 수신하여 업로드되거나 원격제어장치(미도시)를 통해 인공지능 기기(10)를 통해 간접적으로 업로드 될 수 있다. 원격제어장치에는 리모컨, 음성 합성 서비스와 관련된 어플리케이션, API(Application Programming Interface), 플러그-인(plug-in) 등이 설치된 스마트폰과 같은 모바일 기기 등이 포함될 수 있다. 다만, 이에 한정되는 것은 아니다.
사용자 모델 관리 DB는 예를 들어, 서비스 레이어에서 제공되는 개발 툴킷을 통해 사용자에 의해 사용자 음성 모델이 생성, 학습, 삭제 등이 이루어지는 경우, 그에 관한 정보(대상 데이터, 관련 동작 제어 정보 등)를 저장할 수 있다.
사용자 모델 관리 DB는 사용자에 의해 관리되는 음원, 모델, 학습 진행 상태 등에 대한 정보를 저장할 수 있다.
사용자 모델 관리 DB는 예를 들어, 서비스 레이어에서 제공되는 개발 툴킷을 통해 사용자에 의해 화자 추가, 삭제 등의 요청이 있는 경우, 관련 정보를 저장할 수 있다. 따라서, 사용자 모델 관리 DB를 통하여 해당 사용자의 모델 관리를 할 수 있다.
스토리지 레이어는 음색 변환 베이스 모델과 사용자 음성 합성 모델을 포함할 수 있다.
음색 변환 베이스 모델은, 음색 변환에 사용되는 기본 모델(공통 모델)을 나타낼 수 있다.
사용자 음성 합성 모델은 음색 변환 학습 모듈에서의 학습을 통해 사용자에 대해 생성된 음성 합성 모델을 나타낼 수 있다.
엔진 레이어는 음색 변환 학습 모듈과 음성 합성 추론 모듈을 포함하여, 전술한 도 7과 같은 학습과 추론 과정 등을 수행하는 엔진을 나타낼 수 있다. 이 때, 엔진 레이어에 속한 모듈(엔진)은 예를 들어, 파이썬(Python) 기반으로 작성될 수 있다. 다만, 이에 한정되는 것은 아니다.
엔진 레이어에 속한 음색 변환 학습 모듈을 통해 학습된 데이터는, 스토리지 레이어의 사용자 음성 합성 모델과 데이터베이스 레이어의 사용자 모델 관리 DB로 각각 전송될 수 있다.
음색 변환 학습 모듈은 스토리지 레이어의 음색 변환 베이스 모델과 데이터베이스 레이어의 사용자 음성 데이터에 기초하여 학습을 시작할 수 있다. 음색 변환 학습 모듈은 음색 변환 베이스 모델을 기초로 새로운 사용자 목소리에 맞게 화자 전이 학습을 수행할 수 있다.
음색 변환 학습 모듈은 학습 결과로 사용자 음성 합성 모델을 생성할 수 있다. 음색 변환 학습 모듈은 하나의 사용자에 대해 복수의 사용자 음성 합성 모델을 생성할 수 있다.
실시예에 따라, 음색 변환 학습 모듈은 학습 결과로 하나의 사용자 음성 합성 모델이 생성되면, 요청이나 설정에 따라 생성된 사용자 음성 합성 모델과 유사 모델을 생성할 수 있다. 이 때, 유사 모델은 최초 사용자 음성 합성 모델에서 미리 정의된 일부를 임의로 수정 변경한 것일 수 있다.
다른 실시예에 따르면, 음색 변환 학습 모듈은 학습 결과로 하나의 사용자 음성 합성 모델이 생성되면, 해당 사용자의 기 생성된 다른 사용자 음성 합성 모델과 결합하여, 새로운 음성 합성 모델을 생성할 수 있다. 기생성된 사용자의 음성 합성 모델에 따라 다양한 새로운 음성 합성 모델이 조합되어 생성될 수 있다.
한편, 새롭게 조합되어 생성되는 음성 합성 모델(상기 유사 모델)은 식별자를 부여하여 서로 링크 또는 매핑되도록 하거나 함께 저장하여, 사용자의 직접 요청이 있거나 관련 사용자 음성 합성 모델이 호출되는 경우에 추천 제공될 수 있다.
음색 변환 학습 모듈은 학습 완료 시, 학습 완료 상태 정보를 사용자 모델 관리 DB에 저장할 수 있다.
음성 합성 추론 모듈은 서비스 레이어의 개발 툴킷의 음성 합성 기능을 통해 사용자로부터 텍스트와 함께 텍스트에 대한 음성 합성 요청을 수신할 수 있다. 음성 합성 추론 모듈은 음성 합성 요청이 수신되면, 스토리지 레이어 상의 사용자 음성 합성 모델 즉, 음색 변환 학습 모듈을 통해 생성된 사용자 음성 합성 모델과 함께 합성 음성을 생성하여, 개발 툴킷을 통해 사용자에게 리턴 또는 전달할 수 있다. 개발 툴킷을 통해 전달된다 함은, 인공지능 기기(10)의 화면을 통해 사용자에게 제공되는 것을 의미할 수 있다.
프레임워크 레이어는 음색 변환 프레임워크와 음색 변환 학습 프레임워크를 포함하여 구현될 수 있으나, 이에 한정되는 것은 아니다.
음색 변환 프레임워크는 자바(Java) 기반으로, 개발 툴킷, 엔진 및 데이터베이스 레이어 사이에서 명령어, 데이터 등의 전달 기능을 수행할 수 있다. 음색 변환 프레임워크는 특히, 명령어 전달을 위하여 RESTful API를 활용할 수 있으나, 이에 한정되는 것은 아니다.
음색 변환 프레임워크는 서비스 레이어에서 제공되는 개발 툴킷을 통해 사용자의 음원이 등록되면, 이를 데이터베이스 레이어의 사용자 음성 데이터 DB로 전달할 수 있다.
음색 변환 프레임워크는 서비스 레이어에서 제공되는 개발 툴킷을 통해 학습 요청이 등록되면, 이를 데이터베이스 레이어의 사용자 모델 관리 DB로 전달할 수 있다.
음색 변환 프레임워크는 서비스 레이어에서 제공되는 개발 툴킷을 통해 모델 상태 확인 요청이 수신되면, 이를 데이터베이스 레이어의 사용자 모델 관리 DB로 전달할 수 있다.
음색 변환 프레임워크는 서비스 레이어에서 제공되는 개발 툴킷을 통해 음성 합성 요청이 등록되면, 이를 엔진 레이어의 음성 합성 추론 모듈로 전달할 수 있다. 음성 합성 추론 모듈은 이를 다시 스토리지 레이어의 사용자 음성 합성 모델로 전달할 수 있다.
음색 변환 학습 프레임워크는 사용자에 의해 학습 요청이 수신되는지 주기적으로 확인할 수 있다.
음색 변환 학습 프레임워크는 학습할 모델이 있는 경우, 자동으로 학습을 시작할 수도 있다.
음색 변환 학습 프레임워크는 서비스 레이어에서 제공되는 개발 툴킷을 통해 프레임워크 레이어에 학습 요청이 등록되면, 데이터베이스 레이어의 사용자 모델 관리 DB에 학습 요청 수신 여부에 대해 확인 신호를 전송할 수 있다.
음색 변환 학습 프레임워크는 전술한 학습 요청 수신 여부에 대한 확인 신호 전송에 대하여 사용자 모델 관리 DB로부터 리턴되는 내용에 따라 엔진 레이어의 음색 변환 학습 모듈에서 학습을 시작하도록 제어할 수 있다.
음색 변환 학습 모듈은 음색 변환 학습 프레임워크의 학습 요청 또는 제어에 따라 학습이 완료되면, 학습 결과를 전술한 바와 같이, 스토리지 레이어의 사용자 음성 합성 모델과 데이터베이스 레이어의 사용자 모델 관리로 전달할 수 있다.
서비스 레이어는, 전술한 음성 합성 서비스 플랫폼의 개발 툴킷(사용자 인터페이스)을 제공할 수 있다.
이러한 서비스 레이어의 개발 툴킷을 통해, 사용자는 사용자 정보 관리, 음성 합성의 기본이 되는 음원(목소리) 등록, 음원 확인, 음원 모델 관리, 학습 요청 등록, 모델 상태 확인 요청, 음성 합성 요청 및 결과 제공 등 다양한 처리를 할 수 있다. 개발 툴킷은, 사용자가 인공지능 기기(10)를 통해 음성 합성 서비스 플랫폼을 이용하는 경우, 인공지능 기기(10)의 화면상에 제공될 수 있다.
도 9는 본 개시의 일실시예에 따른 음성 합성 서비스 과정을 설명하기 위해 도시한 순서도이다.
본 개시에 따른 음성 합성 서비스는 음성 합성 서비스 플랫폼을 통해 이루어지나, 그 과정에서 하드웨어인 인공지능 기기(10)와 서버(200) 사이에 다양한 데이터가 송/수신될 수 있다.
설명의 편의상, 도 9는 음성 합성 서비스 플랫폼을 통한 서버(200)의 동작을 기준으로 설명하나, 이에 한정되는 것은 아니다.
서버(200)는 음성 합성 서비스 플랫폼을 통해 사용자의 음성 합성 서비스 이용 편의를 위한 개발 툴킷이 인공지능 기기(10)상에 출력되도록 제공할 수 있다. 도 9에 도시된 과정 중 적어도 하나 이상은 개발 툴킷 상에서 또는 개발 툴킷을 통해 수행될 수 있다.
서버(200)는 음성 합성 서비스 플랫폼상에 사용자의 음원 데이터와 학습 요청이 등록되면(S101, S103), 등록된 학습 요청을 확인하고(S105), 학습을 시작할 수 있다(S107).
서버(200)는 학습이 완료되면(S109), 생성된 학습 모델의 상태를 확인할 수 있다(S111).
서버(200)는 S111 단계 이후에 음성 합성 요청이 음성 합성 서비스 플랫폼을 통해 수신되면(S113), 사용자 음성 합성 모델과 음성 합성 추론 모델 기반으로 음성 합성을 위한 동작을 수행하여 합성 음성을 전송할 수 있다(S115).
도 10a 내지 15d는 본 개시의 일실시예에 따른 개발 툴킷을 이용하여 서비스 플랫폼 상에 음성 합성 서비스를 이용하는 과정을 설명하기 위해 도시한 도면이다.
이하, 개발 툴킷은 편의상 사용자 인터페이스로 명명하여 설명한다.
도 10a는, 본 개시의 일실시예에 따른 음성 합성 서비스를 위한 개발 툴킷을 통해 이용 가능한 기능들에 관한 사용자 인터페이스를 도시한 것이다.
도 10a를 참조하면, 화자 정보 관리, 화자 목소리 등록, 화자 목소리 확인, 화자 모델 관리, 화자 모델 음성 합성과 같은 다양한 기능들이 개발 툴킷을 통해 이용할 수 있다.
도 10b와 10c는 도 10a의 개발 툴킷을 통해 이용 가능한 기능들 중 화자 정보 관리 기능에 관한 사용자 인터페이스를 도시한 것이다.
도 10b를 참조하면, 기 등록된 화자 정보가 리스팅되어 제공될 수 있다. 이 때, 화자 정보에는 화자 아이디(또는 식별자), 화자 이름, 화자 등록일 등에 관한 정보가 포함될 수 있다.
도 10c는 도 10b에서 등록 버튼을 통해 새로운 화자의 등록을 위한 화면을 나타낼 수 있다. 전술한 바와 같이, 하나의 화자는 복수의 화자 등록을 할 수 있다.
다음으로, 본 개시의 일실시예에 따른 음성 합성 서비스를 위한 개발 툴킷을 통해 이용 가능한 기능들 중 화자 목소리 등록에 관한 사용자 인터페이스를 도시한 것이다.
도 11a는 음성 합성을 위한 화자의 음원(목소리) 등록을 위한 지정된 텍스트 리스트가 도시되었다.
전술한 실시예에서는, 음성 합성을 위한 화자의 음원 등록을 위하여 적어도 10개의 지정된 시험 텍스트에 대한 음원 등록이 요구되는 것으로 예시하였으나, 이에 한정되지 않는다. 즉, 화자(사용자)는 도 11a에 도시된 텍스트 리스트로부터 복수 개의 임의의 시험 텍스트를 선택하여 해당 시험 텍스트에 대한 음원을 녹음하여 등록할 수 있다.
실시예에 따라서, 도 11a에 도시된 시험 텍스트 리스트는 그 순서에 따라 화자가 음원을 녹음하여 등록될 수 있다.
도 11b에서는 도 11a에서 선택된 시험 텍스트 리스트에 대한 녹음 과정을 도시한 것이다.
도 11a에 도시된 사용자 인터페이스 상에서 화자가 선택되고, 원하는 시험 텍스트 리스트가 선택되면, 도 11b의 화면이 제공될 수 있다. 다만, 이 경우, 화자가 선택되면, 시험 텍스트 리스트가 자동으로 선정되어 도 11b의 화면으로 바로 전환될 수도 있다.
도 11b를 참조하면, 하나의 시험 텍스트가 제공되고, 녹음 버튼이 활성화되면서 녹음이 요청될 수 있으며, 화자에 의해 녹음이 완료되면, 서버(200)로 녹음 파일을 업로드하기 위한 항목이 제공될 수 있다.
도 11c에서는 항목(녹음 기능)이 활성화되어 화자가 주어진 시험 텍스트에 대해 발화하면, 녹음 시간 및 녹음된 화자의 음원 파형 정보가 제공될 수 있다. 이 때, 화자가 발화한 텍스트와 시험 텍스트가 서로 일치하는 지 확인하기 위한 발화에 따른 시험 텍스트 데이터도 함께 주어질 수 있다. 이를 통해 제공된 시험 텍스트와 발화된 텍스트의 일치 여부가 판별될 수 있다.
실시예에 따라서, 도 11c에서, 서버(200)는 화자에게 시험 텍스트에 대한 복수 회의 반복 발화를 요청할 수 있다. 이를 통해, 서버(200)는 매회 화자의 발화에 따른 음원 파형이 일치하는 지 여부를 판별할 수 있다.
실시예에 따라서, 서버(200)는, 화자에게 동일한 시험 텍스트에 대하여 서로 다른 늬앙스의 발화를 요청할 수도 있고, 동일한 늬앙스의 발화를 요청할 수도 있다.
후자의 경우, 서버(200)는, 화자가 동일한 시험 텍스트에 대하여 발화에 의해 획득되는 음원 파형을 비교하여, 음원 파형이 임계치 이상 차이가 발생한 음원 파형에 해당하는 발화는 횟수에서 제외하거나 채택하지 않을 수 있다.
서버(200)는 화자가 동일한 시험 텍스트에 대하여 미리 정의된 횟수만큼 발화함으로써 획득되는 음원 파형에 대하여, 평균치를 산정할 수 있다. 서버(200)는 산정된 평균치를 기준으로, 최대 허용치와 최소 허용치를 정의할 수 있다. 이렇게 평균치, 최대 허용치 및 최소 허용치가 정의되면, 서버(200)는 상기 값들에 대한 테스트를 통해 정의된 값에 대해 재확인할 수 있다.
한편, 서버(200)는 테스트 결과에 따른 음원 파형이 정의된 평균치를 기준으로 최대 허용치와 최소 허용치를 미리 정한 횟수 이상 계속하여 벗어나는 경우, 기 정의한 평균치, 최대 허용치 및 최소 허용치에 대하여 재정의할 수 있다.
다른 실시예에 따라서는, 서버(200)는 텍스트 데이터에 대하여 평균치를 기준으로 최대 허용치와 최소 허용치가 감안된 음원 파형을 생성하고, 해당 음원 파형과 테스트 음원 파형을 오버랩(overlap)시켜 음원 파형을 비교할 수 있다. 이 경우, 서버(200)는 음원 파형 중 무음에 해당하거나 미리 정의된 크기 미만의 음원 파형에 해당하는 부분은 필터링하여 제거하고, 유의미한 음원 파형들만 비교 대상으로 삼아 음원 파형의 일치 여부를 판단할 수도 있다.
도 11d에서는, 하나의 시험 텍스트에 대하여 화자의 음원 등록이 완료되면, 서버(200)는 음원 상태에 대한 양호 여부에 대하여 정보를 제공하고, 화자가 해당 음원 정보를 업로드할 수 있도록 서비스할 수 있다.
전술한 바와 달리, 이하에서는 화자의 음원을 등록하는 과정에서 음원 확인이 요청되고, 음원 확인 결과 오류가 발생한 경우에, 그 처리 예를 들어, 오류 메시지 제공 및 재발화 요청 프로세스에 대하여 설명한다.
예컨대, 시험 텍스트로 ‘오늘 처음 오셨나봐요?’가 제공된 경우, 서버(200)는 화자가 시험 텍스트가 아닌 텍스트 ‘안녕하세요’라고 발화한 경우, 도 12a에 도시된 바와 같은 오류 메시지를 제공할 수 있다.
반면, 도 12a와 달리, 시험 텍스트와 동일한 텍스트에 해당하는 음원을 발화하였으나, 해당 음원의 세기가 임계치 미만인 경우, 도 12b에 도시된 바와 같이 오류 메시지가 제공될 수 있다.
임계치는 예를 들어, -30dB일 수 있다. 다만, 이에 한정되는 것은 아니다. 예를 들어, 화자의 시험 텍스트에 대한 발화 음성의 세기가 -35.6dB인 경우, 이것은 전술한 임계치 -30dB보다 작기 때문에, 서버(200)는 ‘Low Volume’이라는 오류 메시지를 제공할 수 있다. 이 때, 녹음된 음성의 세기 즉, 볼륨의 크기를 RMS(Root Mean Square)로 표현할 수 있으며, 이를 통해 기대치보다 얼마다 볼륨의 크기가 작은지 식별 가능하도록 제공할 수 있다.
다만, 도 12a와 12b의 경우, 각각 서버(200)는 어떠한 오류가 발생하였는지, 화자가 명확하게 인식할 수 있도록 정보를 제공할 수 있다.
도 12c에서는, 도 12a 및 12b에서 오류가 해소되거나 도 11a 내지 12d 과정 이후에 업로드가 요청되면, 서버(200)에 시험 텍스트에 대한 해당 화자의 음원이 업로드 완료되었음을 알려줄 수 있다.
그 밖에, 화자는 서비스 플랫폼을 통해 직접 시험 텍스트에 대한 발화하여 녹음을 하고 등록하는 것이 아니라, 다른 장치 상에서 화자의 음원 파일이 있는 경우에는, 서비스 플랫폼을 통해 호출하여 등록할 수도 있다. 이 경우, 음원 도용 등 법적 문제가 발생할 수 있어 이에 대한 적절한 보호 수단이 강구될 필요가 있다. 예를 들어, 서버(200)는, 화자가 다른 장치에 저장되어 있는 음원 파일을 호출하여 업로드하는 경우, 시험 텍스트에 해당하는 음원인지 판단할 수 있으며, 판단 결과 시험 텍스트에 해당하는 음원인 경우에는, 재차 해당 시험 텍스트에 대한 화자의 음원을 요청하고, 요청된 음원과 상기 업로드 된 음원의 음원 파형이 일치하는지 또는 적어도 임계치 미만의 차이만 존재하는지 판단하여, 일치하거나 소정 범위 이내인 경우에만 화자의 음원으로 판단하여 등록하고, 그렇지 않은 경우에는 업로드에도 불구하고 등록을 거부할 수도 있다. 이러한 방법을 통하여, 음원 도용에 대한 법적 규제에도 대응할 수 있다. 서버(200)는 등록 거부 이전에, 즉, 화자가 서비스 플랫폼을 통해 타 장치에 저장된 음원 파일을 호출하기 전에 미리 해당 호출에 대해 법적인 효력이 있는 고지문을 제공하고 화자가 동의한 경우에만 음원 파일의 업로드가 가능하도록 서비스할 수 있다.
실시예에 따라, 서버(200)는 서비스 플랫폼을 통하여 타 장치의 음원 파일 등록 시 음원 도용과 같은 법적인 이슈가 없는 경우에는, 화자의 목소리가 아닌 타인의 목소리도 호출하여 업로드되면, 등록할 수 있다.
서버(200)는 서비스 플랫폼을 통하여, 각 시험 텍스트에 대한 화자의 음원 파일을 등록하여 파일이 생성되면, 파일을 일괄 또는 전체 업로드할 수도 있고, 일부만 선택하여 업로드되도록 서비스 제어할 수도 있다.
서버(200)는 서비스 플랫폼을 통하여, 각 시험 텍스트에 대하여 복수 개의 화자의 음원 파일들이 업로드 및 등록되도록 서비스 제어할 수 있다. 업로드되는 복수 개의 파일 각각은 동일한 시험 텍스트에 대하여 해당 화자의 감정 상태나 늬앙스에 따라 음원 파형이 서로 다를 수 있다.
다음으로, 본 개시의 일실시예에 따라 서비스 플랫폼을 통해 화자의 음원을 확인하는 과정을 설명한다.
도 13a의 사용자 인터페이스는, 화자에 의해 등록된 음원 리스트를 도시한 것이다. 도 13a에 도시된 바와 같이, 서버(200)는 화자가 직접 업로드하여 등록한 각 시험 텍스트에 대한 등록 음원에 대하여 화자가 재생하거나 삭제할 수 있도록 서비스 제어할 수 있다.
도 13b를 참조하면, 서버(200)는 화자에 의해 하나의 음원이 선택되면, 해당 시험 텍스트와 음원 재생을 위한 재생 바(playback bar)를 제공할 수 있다. 서버(200)는 재생 바를 통해, 화자가 자신이 등록한 음원을 확인할 수 있도록 서비스 제공할 수 있다. 서버(200)는, 화자가 확인 결과에 따라 전술한 과정을 통해 해당 시험 텍스트에 대한 음원을 재녹음, 재업로드 및 재등록할 수 있도록 서비스 제공할 수도 있고, 도 13c에 도시된 바와 같이 바로 삭제되도록 서비스 제공할 수도 있다.
다음으로, 본 개시의 일실시예에 따라 서버(200)에서 서비스 플랫폼을 통해 화자 모델을 관리하는 과정을 설명한다.
화자 모델 관리는 예를 들어, 화자 음성 합성 모델을 관리를 위한 사용자 인터페이스일 수 있다.
도 14a에 도시된 사용자 인터페이스를 통하여, 서버(200)는 각 화자 아이디로 모델 학습을 시작할 수 있으며, 이미 학습된 모델이나 등록된 음원은 삭제할 수도 있다.
도 14a와 14b를 참조하면, 서버(200)는 화자 음성 합성 모델의 학습 진행 상태 확인을 통해서 진행 상태를 화자가 확인할 수 있도록 서비스 제공할 수 있다.
특히, 도 14b에서는 다음과 같이, 모델의 학습 진행 상태가 표시될 수 있다. 예를 들어, 도 14b는, 처음 등록한 상태이며 학습 데이터가 없음을 나타내는 INITIATE 상태, 학습 데이터가 있음을 나타내는 READY 상태, 학습 요청된 경우를 나타내는 REQUESTED 상태, 학습 중인 경우를 나타내는 PROCESSING 상태, 학습이 완료된 경우를 나타내는 COMPLETED 상태, 모델이 제거된 경우를 나타내는 DELETED 상태, 학습 중 에러가 발생된 경우를 나타내는 FAILED 상태 등에 대한 상태 확인이 가능하도록 서비스 제공될 수 있다.
따라서, 도 14a를 다시 참조하면, 서버(200)는 화자 아이디가 ‘홍길동’인 화자에 대해 학습 데이터가 있으면, ‘READY’ 상태가 표시되도록 서비스 제공할 수 있다. 이 경우, ‘홍길동’이라는 화자 아이디를 가진 화자의 상태 확인 항목이 선택되면, 서버(200)는 도 14c에 도시된 바와 같은 안내 메시지를 제공할 수 있다. 안내 메시지는 해당 화자 아이디를 가진 화자의 상태에 따라 달라질 수 있다. 도 14a와 14c를 참조하면, 서버(200)는 ‘홍길동’이라는 화자 아이디를 가진 화자의 상태는 현재 ‘READY’ 상태인바, 다음 상태 즉, 학습 시작을 요청할 수 있도록 안내 메시지를 제공할 수 있다. 서버(200)는 화자로부터 해당 안내 메시지를 통해 학습 시작 요청이 수신되면, 해당 화자의 상태를 ‘READY’에서 ‘REQUESTED’ 상태로 변경하고, 음색 변환 학습 모듈에서 학습을 시작하면, 서버(200)는 학습 중 상태를 표시하는 PROCESSING 상태로 변경할 수 있다. 이후, 음색 변환 학습 모듈에서 학습이 완료되면, 서버(200)는 해당 화자의 상태를 ‘PROCESSING’ 상태에서 ‘COMPLETED’ 상태로 자동 변경될 수 있다.
마지막으로, 본 개시의 일실시예에 따라 서비스 플랫폼을 통해 화자 모델을 음성 합성하는 과정을 설명한다.
화자 모델 음성 합성을 위한 사용자 인터페이스는 예를 들어, 음색 변환 학습 모듈에서 요청에 따라 학습이 완료된 상태(COMPLETED)인 경우 다음으로 음성 합성을 하는 경우를 위한 것일 수 있다.
도시된 사용자 인터페이스는 전술한 과정을 통해 학습 완료된 적어도 하나의 화자 아이디를 위한 것일 수 있다.
도시된 사용자 인터페이스를 참조하면, 화자 아이디(또는 화자 이름)를 선택할 수 있는 항목, 음성 합성을 수행할 텍스트를 선택/변경할 수 있는 항목, 합성 요청 항목, 합성 방식 제어 항목, 재생, 다운로드, 삭제 여부 항목 등 중 적어도 하나 이상이 포함될 수 있다.
도 15a는 음성 합성을 시작할 수 있는 화자를 선택하는 것에 관한 사용자 인터페이스 화면이다. 이 때, 화자 아이디 항목이 선택되면, 서버(200)는 음성 합성 시작이 가능하도록 음색 변환 학습 모듈에 의한 학습이 완료된 적어도 하나의 화자 아이디가 선택 가능하도록 제공할 수 있다.
도 15b는 해당 화자 아이디를 가진 화자가 원하는 음성 합성 텍스트 즉, 음성 합성의 대상 텍스트를 선택하거나 변경하는 것에 관한 사용자 인터페이스 화면이다.
도 15a에서 해당 항목에 표시된 ‘가나다라마바사’는 텍스트 항목에 대한 예시를 든 것일 뿐, 이에 한정되는 것은 아니다.
도 15a에서 화자 아이디가 선택되면, 서버(200)는 도 15b에 도시된 바와 같이, 텍스트 항목을 활성화하여 텍스트 입력창이 제공되도록 될 수 있다.
실시예에 따라, 서버(200)는 텍스트 입력창을 해당 화자가 직접 입력 가능하도록 빈 화면을 제공할 수도 있고, 디폴트로 설정된 텍스트, 음성 합성에 많이 이용되는 텍스트들 중 랜덤(random)으로 선택된 텍스트 등 중 어느 하나를 서비스 제공할 수 있다. 한편, 텍스트 입력창이 활성화된 경우에도 반드시 키보드와 같은 텍스트 입력을 위한 인터페이스뿐만 아니라 음성 입력을 위한 인터페이스를 제공할 수 있으며, 그를 통해 입력되는 음성이 STT 처리되어 텍스트 입력창에 제공될 수 있다.
텍스트 입력창에 적어도 하나의 글자나 모음/자음과 같은 어떤 입력이 입력되면, 서버(200)는 그와 관련된 키워드나 텍스트가 자동 완성과 같이 추천 제공될 수 있다.
텍스트 입력창에 텍스트 입력이 완료되면, 서버(200)는 변경 또는 닫기 버튼 선택을 통해서 음성 합성을 위한 텍스트 선택이 완료되도록 제어될 수 있다.
도 15b에서 텍스트 선택 이후에 합성 요청 기능이 호출되면, 서버(200)는 도 15의 (c)와 같은 안내 메시지를 제공할 수 있으며, 화자의 선택에 따라 음성 합성이 시작될 수 있다.
도 15d는 도 15b와 15c 사이에 수행될 수도 있고, 도 15c 과정 이후에 수행될 수도 있다. 편의상 후자로 설명한다.
도 15c 과정을 통해 해당 화자 아이디에 의해 요청된 텍스트에 대하여 음성 합성이 시작되어 완료되면, 서버(200)는 도 15d에 도시된 바와 같이 재생 버튼을 선택하거나 합성 음성을 청취할 수도 있고, 다운로드 버튼을 선택하여 합성 음성에 대한 음원을 다운로드 받을 수도 있고, 또는 삭제 버튼을 선택하여 합성 음성에 대해 생성된 음원을 삭제할 수도 있다.
그 밖에, 서버(200)는 화자에 의해 음성 합성이 완료된 텍스트에 대한 합성 음성에 대한 조절을 수행할 수 있도록 서비스 제공할 수 있다. 서버(200)는 예를 들어, 도 15d에 도시된 바와 같이, 볼륨 레벨, 피치를 조절할 수도 있고, 속도를 조절할 수도 있다. 볼륨 레벨의 조절과 관련하여, 볼륨 레벨은 기본으로 중간값(예를 들어, 볼륨 레벨이 1-10인 경우, 5)이 디폴트로 설정되나, 이와 같이 최초 합성 음성의 볼륨 레벨(5)은 볼륨 레벨 조절 범위(1-10) 내에서 임의로 조절될 수 있다. 볼륨 레벨 조절 시, 볼륨 레벨 조절에 따른 합성 음성이 바로 실행되어 제공되도록 함으로써, 볼륨 레벨 조절의 편의성을 높일 수 있다. 피치 조정은 예를 들어, 최초 합성 음성에 대하여 중간값(Medium)이 디폴트로 설정될 수 있으나, 이를 임의의 값(Lowest, Low, High, Highest 중 하나)으로 변경 설정할 수 있다. 이 경우에도 마찬가지로, 피치 조정과 동시에 해당 합성 음성이 조정된 피치 값이 제공되어, 피치 조정의 편의성을 높일 수 있다. 또한, 속도 조정과 관련하여, 최초 합성 음성에 대하여 중간값(Medium)이 디폴트로 설정될 수 있으나, 이를 임의의 속도 값(Very Slow, Slow, Fast, Very Fast 중 하나)으로 조절할 수 있다.
상기에서, 볼륨 레벨을 수치가 아닌 방식으로 선택 가능하도록 제공할 수 있다. 반대로, 피치와 속도 조절 값을 수치 형태로 제공할 수도 있다.
실시예에 따라서, 최초 합성 음성에 대하여 볼륨, 피치, 및 속도 중 적어도 하나의 조정 요청에 따라 조정된 합성 음성은, 상기 최초 합성 음성과 함께 별개로 저장되되, 상기 최초 합성 음성에 링크될 수 있다.
볼륨, 피치 및 속도 중 적어도 하나의 조정 요청에 따라 조정된 합성 음성은, 서비스 플랫폼 상에서 재생 시에만 적용되고, 다운로드의 경우에는 기본 값을 가진 최초 합성 음성만 다운로드가 가능하도록 서비스 제공될 수 있으나, 이에 한정되는 것은 아니다. 즉, 다운로드 시에도 적용 가능할 수 있다.
다른 실시예에 따라서, 합성 요청 전에 기본 볼륨, 기본 피치, 및 기본 속도 값은 미리 설정된 바에 따라 달라질 수 있다. 상기 각 값은 임의 선택 또는 변경될 수 있다. 또한, 상기 각 값은 화자 아이디에 따라 미리 매핑된 값으로 합성 요청 시 적용될 수도 있다.
이상 상술한 바와 같이 본 개시의 다양한 실시예들 중 적어도 하나의 실시예에 따르면, 사용자는 자신만의 고유의 음성 합성 모델을 보유할 수 있으며, 이를 통해 다양한 소셜 미디어나 개인 방송 플랫폼 상에서 활용할 수 있다. 또한, 디지털 휴먼이나 메타버스와 같은 가상의 공간이나 가상의 캐릭터에도 개인화된 음성 합성기를 사용할 수 있다.
특별히 언급하지 않더라도, 본 개시에서 개시한 적어도 일부의 동작의 순서는, 동시에 수행되거나 기설명한 순서와 다른 순서로 수행되거나 일부는 생략/추가될 수도 있다.
본 발명의 일 실시 예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
상기와 같이 설명된 인공지능 기기는 상기 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
본 개시에 따른 음성 서비스 시스템에 의하면, 개인화된 음성 합성 모델을 제공하고, 사용자 개인의 고유의 합성 음성을 활용하여 다양한 미디어 환경에 이용할 수 있으므로, 산업상 이용가능성이 있다.
Claims (15)
- 개발 툴킷을 제공하는 음성 합성 서비스 플랫폼을 통해 미리 정의된 복수의 제1 텍스트에 대한 화자의 음성 합성을 위한 음원 데이터를 수신하는 단계;
미리 생성된 음색 변환 베이스 모델을 이용하여 화자의 음원 데이터에 대한 음색 변환 학습을 하는 단계;
상기 음색 변환 학습을 통해 상기 화자에 대한 음성 합성 모델을 생성하는 단계;
제2 텍스트를 입력받는 단계;
상기 화자에 대한 음성 합성 모델과 상기 제2 텍스트에 기반하여 음성 합성 추론을 통해 음성 합성 모델을 생성하는 단계; 및
상기 음성 합성 모델을 이용하여 합성 음성을 생성하는 단계;를 포함하는,
음성 합성 서비스 제공 방법. - 제1항에 있어서,
상기 미리 정의된 복수의 제1 텍스트에 대한 화자의 음성 합성을 위한 음원 데이터를 수신하는 단계는,
상기 각 제1 텍스트에 대하여 화자의 음원을 복수 회 입력받는 단계; 및
상기 복수 회 입력받은 화자의 음원에 기초하여 상기 화자의 음성 합성을 위한 음원 데이터를 생성하는 단계;를 포함하는,
음성 합성 서비스 제공 방법. - 제2항에 있어서,
상가 화자의 음성 합성을 위한 음원 데이터는,
상기 복수 회 입력받은 화자의 음원의 평균값인,
음성 합성 서비스 제공 방법. - 제3항에 있어서,
상기 음색 변환 학습을 하는 단계는,
상기 음색 변환 베이스 모델을 기초로 화자 전이 학습을 수행하는 단계를 포함하는,
음성 합성 서비스 제공 방법. - 제1항에 있어서,
상기 음성 합성 모델은,
상기 화자에 대하여 복수 개 생성되는,
음성 합성 서비스 제공 방법. - 제1항에 있어서,
상기 미리 정의된 복수의 제1 텍스트 중 선택된 제1 텍스트만 상기 음성 합성에 이용되는,
음성 합성 서비스 제공 방법. - 제1항에 있어서,
화자 아이디와 제3 텍스트를 입력받는 단계;
상기 화자 아이디에 상응하는 화자에 대 생성된 음성 합성 모델을 호출하는 단계;
상기 호출된 음성 합성 모델에 기초하여 상기 제3 텍스트에 대해 음성 합성하는 단계; 및
상기 제3 텍스트에 대한 합성 음성을 생성하는 단계;를 더 포함하는,
음성 합성 서비스 제공 방법. - 제7항에 있어서,
상기 생성된 합성 음성에 대한 볼륨 레벨, 피치 및 속도 중 적어도 하나에 대한 입력을 수신하는 단계; 및
상기 수신된 입력에 기초하여 상기 생성된 합성 음성에 대한 볼륨 레벨, 피치 및 속도 중 하나를 조절하는 단계;를 더 포함하는,
음성 합성 서비스 제공 방법. - 인공지능 기기; 및
상기 인공지능 기기와 데이터를 주고받는 컴퓨팅 디바이스를 포함하여 구성되되,
상기 컴퓨팅 디바이스는,
개발 툴킷을 제공하는 음성 합성 서비스 플랫폼을 통해 미리 정의된 복수의 제1 텍스트에 대한 화자의 음성 합성을 위한 음원 데이터를 수신하고, 미리 생성된 음색 변환 베이스 모델을 이용하여 화자의 음원 데이터에 대한 음색 변환 학습을 수행하여, 상기 화자에 대한 음성 합성 모델을 생성하며, 제2 텍스트를 입력받으면, 상기 화자에 대한 음성 합성 모델과 상기 제2 텍스트에 기반하여 음성 합성 추론을 통해 음성 합성 모델을 생성하고, 상기 음성 합성 모델을 이용하여 합성 음성을 생성하는 프로세스를 포함하는,
인공지능 기반 음성 합성 서비스 시스템. - 제9항에 있어서,
상기 프로세서는,
상기 각 제1 텍스트에 대하여 화자의 음원을 복수 회 입력받아, 상기 복수 회 입력받은 화자의 음원에 기초하여 상기 화자의 음성 합성을 위한 음원 데이터를 생성하는,
인공지능 기반 음성 합성 서비스 시스템. - 제10항에 있어서,
상기 프로세서는,
상기 복수 회 입력받은 화자의 음원의 평균값으로 상가 화자의 음성 합성을 위한 음원 데이터를 설정하는,
인공지능 기반 음성 합성 서비스 시스템. - 제11항에 있어서,
상기 프로세서는,
상기 음색 변환 베이스 모델을 기초로 화자 전이 학습을 수행하여 상기 음색 변환 학습하는,
인공지능 기반 음성 합성 서비스 시스템. - 제9항에 있어서,
상기 프로세서는,
상기 음성 합성 모델을 상기 화자에 대하여 복수 개 생성하고, 상기 미리 정의된 복수의 제1 텍스트 중 선택된 제1 텍스트만 상기 음성 합성에 이용하는,
인공지능 기반 음성 합성 서비스 시스템. - 제9항에 있어서,
상기 프로세서는,
화자 아이디와 제3 텍스트를 입력받으면, 상기 화자 아이디에 상응하는 화자에 대 생성된 음성 합성 모델을 호출하고, 상기 호출된 음성 합성 모델에 기초하여 상기 제3 텍스트에 대해 음성 합성하여, 상기 제3 텍스트에 대한 합성 음성을 생성하는,
인공지능 기반 음성 합성 서비스 시스템. - 제14항에 있어서,
상기 프로세서는,
상기 생성된 합성 음성에 대한 볼륨 레벨, 피치 및 속도 중 적어도 하나에 대한 입력을 수신하고, 상기 수신된 입력에 기초하여 상기 생성된 합성 음성에 대한 볼륨 레벨, 피치 및 속도 중 하나를 조절하는,
인공지능 기반 음성 합성 서비스 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210153451 | 2021-11-09 | ||
KR1020210153451 | 2021-11-09 | ||
PCT/KR2022/015990 WO2023085635A1 (ko) | 2021-11-09 | 2022-10-20 | 음성 합성 서비스 제공 방법 및 그 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240073991A true KR20240073991A (ko) | 2024-05-27 |
Family
ID=86336358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247015553A KR20240073991A (ko) | 2021-11-09 | 2022-10-20 | 음성 합성 서비스 제공 방법 및 그 시스템 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4428854A1 (ko) |
KR (1) | KR20240073991A (ko) |
CN (1) | CN118541751A (ko) |
WO (1) | WO2023085635A1 (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101665882B1 (ko) * | 2015-08-20 | 2016-10-13 | 한국과학기술원 | 음색변환과 음성dna를 이용한 음성합성 기술 및 장치 |
KR102401512B1 (ko) * | 2018-01-11 | 2022-05-25 | 네오사피엔스 주식회사 | 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체 |
TW202009924A (zh) * | 2018-08-16 | 2020-03-01 | 國立臺灣科技大學 | 音色可選之人聲播放系統、其播放方法及電腦可讀取記錄媒體 |
KR102171559B1 (ko) * | 2018-10-30 | 2020-10-29 | 주식회사 셀바스에이아이 | 음성 합성 모델의 학습용 데이터 생성 방법 및 음성 합성 모델의 학습 방법 |
KR20220008400A (ko) * | 2019-06-07 | 2022-01-21 | 엘지전자 주식회사 | 복수의 화자 설정이 가능한 음성 합성 방법 및 음성 합성 장치 |
-
2022
- 2022-10-20 KR KR1020247015553A patent/KR20240073991A/ko unknown
- 2022-10-20 EP EP22893058.2A patent/EP4428854A1/en active Pending
- 2022-10-20 CN CN202280087749.7A patent/CN118541751A/zh active Pending
- 2022-10-20 WO PCT/KR2022/015990 patent/WO2023085635A1/ko active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN118541751A (zh) | 2024-08-23 |
EP4428854A1 (en) | 2024-09-11 |
WO2023085635A1 (ko) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11887590B2 (en) | Voice enablement and disablement of speech processing functionality | |
US11514886B2 (en) | Emotion classification information-based text-to-speech (TTS) method and apparatus | |
KR102450853B1 (ko) | 음성 인식 장치 및 방법 | |
US11538478B2 (en) | Multiple virtual assistants | |
US11887580B2 (en) | Dynamic system response configuration | |
EP3824462B1 (en) | Electronic apparatus for processing user utterance and controlling method thereof | |
KR20200013152A (ko) | 이전에 대화를 수집한 결과를 기반으로 인공 지능 서비스를 제공하는 전자 장치 및 방법 | |
US11579841B1 (en) | Task resumption in a natural understanding system | |
JP2020067658A (ja) | 音声を認識する装置及び方法、音声認識モデルをトレーニングする装置及び方法 | |
US11756538B1 (en) | Lower latency speech processing | |
KR20210020656A (ko) | 인공 지능을 이용한 음성 인식 방법 및 그 장치 | |
US11605387B1 (en) | Assistant determination in a skill | |
US11532301B1 (en) | Natural language processing | |
KR20190096308A (ko) | 전자기기 | |
US11468892B2 (en) | Electronic apparatus and method for controlling electronic apparatus | |
KR20190112680A (ko) | 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 | |
US10866948B2 (en) | Address book management apparatus using speech recognition, vehicle, system and method thereof | |
CN116917984A (zh) | 交互式内容输出 | |
CN115148185A (zh) | 语音合成方法及装置、电子设备及存储介质 | |
US11626107B1 (en) | Natural language processing | |
US20230148275A1 (en) | Speech synthesis device and speech synthesis method | |
JP4000828B2 (ja) | 情報システム、電子機器、プログラム | |
US11922938B1 (en) | Access to multiple virtual assistants | |
CN117882131A (zh) | 多个唤醒词检测 | |
EP4428854A1 (en) | Method for providing voice synthesis service and system therefor |