KR20230067501A - 음성 합성 장치 및 그의 음성 합성 방법 - Google Patents

음성 합성 장치 및 그의 음성 합성 방법 Download PDF

Info

Publication number
KR20230067501A
KR20230067501A KR1020220109688A KR20220109688A KR20230067501A KR 20230067501 A KR20230067501 A KR 20230067501A KR 1020220109688 A KR1020220109688 A KR 1020220109688A KR 20220109688 A KR20220109688 A KR 20220109688A KR 20230067501 A KR20230067501 A KR 20230067501A
Authority
KR
South Korea
Prior art keywords
voice
text
feature information
speech
synthesizer
Prior art date
Application number
KR1020220109688A
Other languages
English (en)
Inventor
김상기
한성민
양시영
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to PCT/KR2022/013939 priority Critical patent/WO2023085584A1/en
Priority to US17/959,050 priority patent/US20230148275A1/en
Publication of KR20230067501A publication Critical patent/KR20230067501A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination

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)
  • Machine Translation (AREA)

Abstract

본 발명은 다양한 발화 스타일을 갖는 합성 음성을 출력할 수 있는 음성 합성 장치에 관한 것으로, 음성 합성 장치는 스피커; 텍스트 및 사용자 입력을 통한 음성 특징 정보를 획득하고, 학습용 텍스트의 특징 정보와 학습용 음성의 특성 정보 간의 차이를 최소화하도록 지도 학습된 디코더에 상기 텍스트 및 상기 음성 특징 정보를 입력으로 하여 합성 음성을 생성하고, 생성된 합성 음성을 상기 스피커를 통해 출력하는 프로세서를 포함할 수 있다.

Description

음성 합성 장치 및 그의 음성 합성 방법{SPEECH SYNTHESIS DEVICE AND SPEECH SYNTHESIS METHOD}
본 발명은 음성 합성 장치에 관한 것이다.
음성 합성 기술은 텍스트를 음성으로 변환하여 출력하는 기술이다.
음성 합성을 위한 방법은 조음 합성 (Articulatory synthesis), 포먼트 합성 (Formant synthesis), 연결 합성 (Concatenative synthesis), 그리고 통계기반 파라미터 합성 (Statistical parametric speech synthesis)이 있다.
또한, 최근에는 딥러닝 기반의 음성 합성 기술이 각광을 받고 있다.
이들 중 가장 현재 보편적으로 사용되고 있는 기술은 연결 합성과 통계기반 파라미터 합성 기술이다.
연결 합성은 USS(Unit Selection Synthesis)라고도 부른다. 단어 또는 문장 단위로 녹음된 음성 데이터를 어떤 기준에 의해 음소 단위로 잘게 쪼개 음편(Unit) DB로 만들고, 반대로 음성을 합성할 때는 이 DB에서 전체 발화에 적합한 음편을 찾아 이어 붙이는 구조다.
연결 합성에서 중요한 기술은 음편 DB에 저장된 수많은 음편들 중에서 내가 만들고자 하는 음성을 가장 잘 표현할 수 있는 최적의 음편을 선택하는 기술과, 음편을 부드럽게 이어 붙이는 기술이다.
특히, 최적의 음편을 선택하는 과정은 단순해 보일지 몰라도 실상 매우 복잡하고 어려운 과정의 연속을 담고 있다. 여기에는 문장 내 형태소 정보를 추출하는 언어처리 과정과 그 결과를 기반으로 운율을 예측하고, 끊어 읽기(경계)를 예측하는 과정, 언어처리와 운율, 끊어 읽기(경계) 예측 결과를 기반으로 최적의 음편(unit)을 선택하는 과정 등이 수반된다.
다음으로 통계기반 파라미터 합성기술은 음성 신호 처리 기술에 기반하고 있다. 음성은 조음기관을 거치며 어떤 특성을 갖게 되는데, 이 특성을 신호처리 기술을 활용해 음성 데이터로부터 추출해 모델링하는 방식이다. 이때 데이터로부터 추출된 음성 특징들을 흔히 파라미터라고 부른다.
통계기반 파라미터 합성은 특징 파라미터들을 추출해 통계 모델링하는 훈련과정과, 텍스트가 입력되면 통계 모델로부터 해당되는 파라미터를 생성하고 음성 신호 처리 과정을 통해 적절한 음성으로 재구성되는 합성 과정으로 구성된다.
연결합성 기술은 현재 산업 분야에서 가장 널리 활용되고 있는 기술이다. 녹음 원음으로부터 만들어진 음편을 이어 붙이는 기술로 음향 품질이 가장 우수하기 때문이다. 반면, 음편을 이어 붙이는 과정에서 운율이 불안정해진다는 한계가 있다.
이와 달리 통계기반 파라미터 합성은 운율이 안정적인 장점을 가지고 있어 주로 e-book 분야에서 책을 읽어주는 데 많이 활용되고 있는데, 음성으로 만들어내는 보코딩 과정에서 발생하는 잡음(buzzing)은 단점으로 지목된다.
하지만 딥러닝 기반의 음성합성 기술은 위 두 가지 기술의 장점을 모두 갖고 있으며, 동시에 두 기술의 단점을 모두 극복했다. 운율이 매우 자연스럽고 음향 품질 또한 우수하다.
또한, 딥 러닝 기반의 음성 합성 기술은 학습을 기반으로 하므로 다양한 사람의 발화 스타일을 직접 학습함으로써 감정, 스타일 등의 표현이 가능해지고, 수 분~수 시간의 녹음 데이터만 가지고도 그 사람의 목소리를 가진 음성 합성기를 만들어 낼 수 있다는 점에서 중요한 가치를 지니고 있다.
그러나, 종래의 딥 러닝 기반의 음성 합성 모델은 음성 지능 분야 전문가가 20시간 동안 생성한 학습용 음성 데이터를 이용하여 300 시간 동안 학습되어 생성되었다.
또한, 음색 변환 모델은 사용자가 발화한 3~5분 간의 음성을 이용하여 약 5시간의 학습을 통해 자신만의 음성 합성 모델이 생성되었다.
그러나, 이 두개의 모델은 학습에 사용된 음성 데이터의 스타일만을 따라가므로 사용자가 원하는 발화 스타일의 합성 음성은 출력하지 못하는 문제가 있었다.
본 개시는 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
본 개시는 사용자가 원하는 발화 스타일을 갖는 합성 음성을 생성할 수 있는 음성 합성 장치의 제공을 목적으로 한다.
본 개시는 사용자가 직접 음성 특징을 컨트롤하여 다채로운 스타일의 합성 음성을 생성할 수 있는 음성 합성 장치의 제공을 목적으로 한다.
본 발명의 일 실시 예에 따른 음성 합성 장치는 스피커, 텍스트 및 사용자 입력을 통한 음성 특징 정보를 획득하고, 학습용 텍스트의 특징 정보와 학습용 음성의 특성 정보 간의 차이를 최소화하도록 지도 학습된 디코더에 상기 텍스트 및 상기 음성 특징 정보를 입력으로 하여 합성 음성을 생성하고, 생성된 합성 음성을 상기 스피커를 통해 출력하는 프로세서를 포함할 수 있다.
본 개시의 실시 예에 따르면 같은 학습 데이터(동일한 화자가 발화한 음성 데이터)를 사용한 경우라도, 다양한 발화 스타일로 합성 음성이 출력될 수 있다.
이에 따라 사용자는 상황에 맞게 발화 스타일을 조절하여 합성 음성을 획득할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 기기의 구성을 설명하기 위한 블록도이다.
도 3a는 본 발명의 일 실시 예에 따른 음성 서비스 서버의 구성을 설명하기 위한 블록도이다.
도 3b는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 4는 본 발명의 일 실시 예에 따라, 인공 지능 기기의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
도 5는 본 개시의 일 실시 예에 따른 음성 합성 장치의 학습 방법을 설명하기 위한 흐름도이고, 도 6은 본 개시의 일 실시 예에 따른 음성 합성 모델의 구성을 설명하는 도면이다.
도 7은 본 개시의 일 실시 예에 따른 음성 합성 장치의 합성 음성 생성 방법을 설명하기 위한 흐름도이고, 도 8은 본 개시의 일 실시 예에 따른 음성 합성 모델의 추론 과정을 설명하는 도면이다.
도 9는 본 개시의 실시 예에 따른 제어 가능한 합성 음성의 생성 과정을 설명하는 도면이다.
도 10은 동일한 화자에 대해서도 다양한 스타일로 음성을 합성할 수 있는 예를 설명하는 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제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)) 등이 포함될 수 있다.
그러나, 본 명세서에 기재된 실시 예에 따른 인공 지능 기기(10)는 스마트 TV, 데스크탑 컴퓨터, 디지털사이니지, 냉장고, 세탁기, 에어컨, 식기 세척기 등과 같은 고정 인공 지능 기기에도 적용될 수도 있다.
또한, 본 발명의 실시 예에 따른 인공 지능 기기(10)는 고정 또는 이동 가능한 로봇에도 적용될 수 있다.
또한, 본 발명의 실시 예에 따른 인공 지능 기기(10)는 음성 에이전트의 기능을 수행할 수 있다. 음성 에이전트는 사용자의 음성을 인식하고, 인식된 사용자의 음성에 적합한 응답을 음성으로 출력하는 프로그램일 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 시스템을 설명하기 위한 도면이다.
일반적인 음성 인식 및 합성 과정은 발화자의 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터에 기반하여 발화자의 의도를 분석하고, 분석된 의도에 상응하는 텍스트 데이터를 합성 음성 데이터로 변환하고, 변환된 합성 음성 데이터를 출력하는 과정을 포함할 수 있다.음성 인식 및 합성 과정을 위해, 도 1에 도시된 바와 같은, 음성 인식 시스템(1)이 사용될 수 있다.
도 1을 참조하면, 음성 인식 시스템(1)은 인공 지능 기기(10), 음성 텍스트 변환(Speech To Text, STT) 서버(20), 자연어 처리(Natural Language Processing, NLP) 서버(30) 및 음성 합성 서버(40) 및 복수의 AI 에이전트 서버들(50-1 내지 50-3)을 포함할 수 있다.
인공 지능 기기(10)는 마이크로폰(122)을 통해 수신된 발화자의 음성에 상응하는 음성 신호 STT 서버(210)에 전송할 수 있다.
STT 서버(20)는 인공 지능 기기(10)로부터 수신된 음성 데이터를 텍스트 데이터로 변환할 수 있다.
STT 서버(20)는 언어 모델을 이용하여 음성-텍스트 변환의 정확도를 높일 수 있다.
언어 모델은 문장의 확률을 계산하거나, 이전의 단어들이 주어졌을 때 다음 단어가 나올 확률을 계산할 수 있는 모델을 의미할 수 있다.
예컨대, 언어 모델은 유니그램(Unigram) 모델, 바이그램(Bigram) 모델, N-그램(N-gram) 모델 등과 같은 확률론적 언어 모델들을 포함할 수 있다.
유니그램 모델은 모든 단어의 활용이 완전히 서로 독립적이라고 가정하는 모델로, 단어 열의 확률을 각 단어의 확률의 곱으로 계산하는 모델이다.
바이그램 모델은 단어의 활용이 이전 1개의 단어에만 의존한다고 가정하는 모델이다.
N-그램 모델은 단어의 활용이 이전 (n-1)개의 단어에 의존한다고 가정하는 모델이다.
즉, STT 서버(20)는 언어 모델을 이용하여 음성 데이터로부터 변환된 텍스트 데이터가 적합하게 변환된 것인지 판단할 수 있고, 이를 통해 텍스트 데이터로의 변환의 정확도를 높일 수 있다.
NLP 서버(230)는 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)는 하나의 서버로 구현될 수 있다.
위에서, 설명된 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는 본 개시의 일 실시 예에 따른 인공 지능 기기의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 인공 지능 기기(10)는 인공 지능 기기(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), 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(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 인공 지능 기기(10)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 인공 지능 기기(10)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, 인공 지능 기기(10)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 3a는 본 발명의 일 실시 예에 따른 음성 서비스 서버의 구성을 설명하기 위한 블록도이다.
음성 서비스 서버(200)는 도 1에 도시된, STT 서버(20), NLP 서버(30), 음성 합성 서버(40) 중 하나 이상을 포함할 수 있다. 음성 서비스 서버(200)는 서버 시스템으로 명명될 수 있다.
도 3a를 참고하면, 음성 서비스 서버(200)는 전처리부(220), 컨트롤러(230), 통신부(270) 및 데이터 베이스(290)를 포함할 수 있다.
전처리부(220)는 통신부(270)를 통해 수신된 음성 또는 데이터 베이스(290)에 저장된 음성을 전처리 할 수 있다.
전처리부(220)는 컨트롤러(230)와 별도의 칩으로 구현되거나, 컨트롤러(230)에 포함된 칩으로 구현될 수 있다.
전처리부(220)는 (사용자가 발화한) 음성 신호를 수신하고, 수신된 음성 신호를 텍스트 데이터로 변환하기 전, 음성 신호로부터 잡음 신호를 필터링할 수 있다.
전처리부(220)가 인공 지능 기기(10)에 구비된 경우, 인공 지능 기기(10)의 음성 인식을 활성화시키기 위한 기동어를 인식할 수 있다. 전처리부(220)는 마이크로폰(121)을 통해 수신된 기동어를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터가 기 저장된 기동어에 대응하는 텍스트 데이터인 경우, 기동어를 인식한 것으로 판단할 수 있다.
전처리부(220)는 잡음이 제거된 음성 신호를 파워 스펙트럼으로 변환할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 음성 신호의 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되어 있는지를 나타내는 파라미터일 수 있다.
파워 스펙트럼은 음성 신호의 파형의 주파수에 따른 진폭 제곱 값의 분포를 보여준다. 이에 대해서는, 도 3b를 참조하여 설명한다.
도 3b는 본 발명의 일 실시 예에 따른 음성 신호를 파워 스펙트럼으로 변환한 예를 설명한 도면이다.
도 3b를 참조하면, 음성 신호(310)가 도시되어 있다. 음성 신호(210)는 외부 기기로부터 수신되거나, 메모리(170)에 미리 저장된 신호일 수 있다.
음성 신호(310)의 x축은 시간이고, y축은 진폭의 크기를 나타낼 수 있다.
파워 스펙트럼 처리부(225)는 x축이 시간 축인 음성 신호(310)를 x축이 주파수 축인 파워 스펙트럼(330)으로 변환할 수 있다.
파워 스펙트럼 처리부(225)는 고속 퓨리에 변환(Fast Fourier Transform, FFT)을 이용하여, 음성 신호(310)를 파워 스펙트럼(330)으로 변환할 수 있다.
파워 스펙트럼(330)의 x축은 주파수, y축은 진폭의 제곱 값을 나타낸다.
다시 도 3a를 설명한다.
도 3a에서 설명된 전처리부(220) 및 컨트롤러(230)의 기능은 NLP 서버(30) 에서도 수행될 수 있다.
전처리부(220)는 웨이브 처리부(221), 주파수 처리부(223), 파워 스펙트럼 처리부(225), 음성 텍스트(Speech To Text, STT) 변환부(227)를 포함할 수 있다.
웨이브 처리부(221)는 음성의 파형을 추출할 수 있다.
주파수 처리부(223)는 음성의 주파수 대역을 추출할 수 있다.
파워 스펙트럼 처리부(225)는 음성의 파워 스펙트럼을 추출할 수 있다.
파워 스펙트럼은 시간적으로 변동하는 파형이 주어졌을 때, 그 파형에 어떠한 주파수 성분이 어떠한 크기로 포함되고 있는지를 나타내는 파라미터일 수 있다.
음성 텍스트(Speech To Text, STT) 변환부(227)는 음성을 텍스트로 변환할 수 있다.
음성 텍스트 변환부(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)는 전달된 텍스트 데이터 또는 파워 스펙트럼(330) 중 하나 이상을 이용하여, 사용자의 발화 특징을 결정할 수 있다.
사용자의 발화 특징은 사용자의 성별, 사용자의 음의 높낮이, 사용자의 음색, 사용자의 발화 주제, 사용자의 발화 속도, 사용자의 성량등을 포함할 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)을 이용하여, 음성 신호(310)의 주파수 및 주파수에 대응하는 진폭을 획득할 수 있다.
컨트롤러(230)는 파워 스펙트럼(230)의 주파수 대역을 이용하여, 음성을 발화한 사용자의 성별을 결정할 수 있다.
예를 들어, 컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역이 기 설정된 제1 주파수 대역 범위 내인 경우, 사용자의 성별을 남자로 결정할 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역이 기 설정된 제2 주파수 대역 범위 내인 경우, 사용자의 성별을 여자로 결정할 수 있다. 여기서, 제2 주파수 대역 범위는 제1 주파수 대역 범위보다 클 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역을 이용하여, 음성의 높낮이를 결정할 수 있다.
예를 들어, 컨트롤러(230)는 특정 주파수 대역 범위 내에서, 진폭의 크기에 따라 음의 높낮이 정도를 결정할 수 있다.
컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역을 이용하여, 사용자의 음색(tone)을 결정할 수 있다. 예를 들어, 컨트롤러(230)는 파워 스펙트럼(330)의 주파수 대역들 중, 진폭의 크기가 일정 크기 이상인 주파수 대역을 사용자의 주요 음역대로 결정하고, 결정된 주요 음역대를 사용자의 음색으로 결정할 수 있다.
컨트롤러(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)의 기능을 수행할 수도 있다.
도 4는 본 발명의 일 실시 예에 따라, 인공 지능 기기의 음성 인식 및 합성을 위한 프로세서의 구성을 설명하는 블록도이다.
즉, 도 4의 음성 인식 및 합성 과정은 서버를 거치지 않고, 인공 지능 기기(10)의 러닝 프로세서(130) 또는 프로세서(180)에 의해 수행될 수도 있다.
도 4를 참조하면, 인공 지능 기기(10)의 프로세서(180)는 STT 엔진(410), NLP 엔진(430), 음성 합성 엔진(450)를 포함할 수 있다.
각 엔진은 하드웨어 또는 소프트웨어 중 어느 하나일 수 있다.
STT 엔진(410)은 도 1의 STT 서버(20)의 기능을 수행할 수 있다. 즉, STT 엔진(410)은 음성 데이터를 텍스트 데이터로 변환할 수 있다.
NLP 엔진(430)은 도 2a의 NLP 서버(30)의 기능을 수행할 수 있다. 즉, NLP 엔진(430)은 변환된 텍스트 데이터로부터 발화자의 의도를 나타내는 의도 분석 정보를 획득할 수 있다.
음성 합성 엔진(450)은 도 1의 음성 합성 서버(40)의 기능을 수행할 수 있다.
음성 합성 엔진(450)은 주어진 텍스트 데이터에 대응하는 음절 또는 단어를 데이터 베이스로부터 검색하고, 검색된 음절 또는 단어들의 조합을 합성하여, 합성 음성을 생성할 수 있다.
음성 합성 엔진(450)은 전처리 엔진(451) 및 TTS 엔진(453)을 포함할 수 있다.
전처리 엔진(451)은 합성 음성을 생성하기 전, 텍스트 데이터를 전처리할 수 있다.
구체적으로, 전처리 엔진(451)은 텍스트 데이터를 의미 있는 단위인 토큰으로 나누는 토큰화를 수행한다.
토큰화 수행 후, 전처리 엔진(451)은 노이즈 제거를 위해 불필요한 문자, 기호를 제거하는 클렌징 작업을 수행할 수 있다.
그 후, 전처리 엔진(451)는 표현 방법이 다른 단어 토큰들을 통합시켜, 같은 단어 토큰을 생성할 수 있다.
그 후, 전처리 엔진(451)는 의미 없는 단어 토큰(불용어, stopword)을 제거할 수 있다.
TTS 엔진(453)은 전처리된 텍스트 데이터에 상응하는 음성을 합성하고, 합성 음성을 생성할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 음성 합성 장치의 학습 방법을 설명하기 위한 흐름도이고, 도 6은 본 개시의 일 실시 예에 따른 음성 합성 모델의 구성을 설명하는 도면이다.
도 6의 음성 합성 장치(600)는 도 2의 인공 지능 기기(10)의 구성 요소들을 모두 포함할 수 있다.
음성 합성 장치(600)의 각 구성 요소들은 프로세서(180)에 포함되거나, 프로세서(180)에 의해 제어될 수 있다.
도 5를 참조하면, 인코더(610)는 학습용 텍스트로부터 텍스트 특징 정보를 추출한다(S501).
인코더(610)는 학습용 텍스트를 정규화하고, 정규화된 텍스트의 문장 분할, 음소 변환 등을 수행하여, 텍스트의 특징을 나타내는 텍스트 특징 정보를 생성할 수 있다.
텍스트 특징 정보는 특징 벡터로 표현될 수 있다.
운율 인코더(630)는 텍스트 특징 정보로부터 운율 특징 정보를 생성한다(S503).
운율 인코더(Prosody Encoder, 630)는 인코더(610)로부터 전달받은 텍스트 특징 정보로부터 운율 특징 정보를 예측할 수 있다. 운율 특징 정보는 학습용 음성에 대한 특징 정보와 동일한 종류의 정보를 포함할 수 있다.
음성 특징 추출기(620)는 입력된 학습용 음성으로부터 음성 특징 정보를 추출한다(S505).
음성 특징 추출기(620)는 학습용 음성에 대한 모든 단위 프레임들 각각에 대해 푸리에 변환을 수행하여 스펙트럼을 획득할 수 있다. 스펙트럼은 학습용 음성에 대한 특징 정보를 포함할 수 있다.
학습용 음성에 대한 음성 특징 정보는 음소별 평균 시간, 피치, 피치 범위, 에너지, 스펙트럼 기울기 중 하나 이상을 포함할 수 있다.
프로세서(180)는 운율 특징 정보와 음성 특징 정보 간의 차이가 최소화되도록 운율 인코더(630)를 지도 학습한다(S507).
프로세서(180)는 운율 특징 정보와 음성 특징 정보 간의 차이를 나타내는 손실 함수가 최소가 되도록 운율 인코더(630)를 지도 학습할 수 있다.
프로세서(180)는 딥 러닝 또는 머신 러닝 알고리즘을 이용한 인공 신경망을 이용하여 운율 인코더(630)를 지도 학습할 수 있다. 음성 특징 정보가 정답 데이터로 운율 특징 정보에 라벨링 될 수 있다.
프로세서(180)는 텍스트 특징 정보에 기반한 멜 스펙트로그램(Mel-spectrogram)과 음성 특징 정보에 기반한 멜 스펙트로그램 간의 차이가 최소화되도록 디코더(640)를 지도 학습한다(S509).
프로세서(180)는 텍스트 특징 정보에 기반한 멜 스펙트로그램(Mel-spectrogram)과 음성 특징 정보에 기반한 멜 스펙트로그램 간의 차이를 나타내는 손실 함수가 최소가 되도록 디코더(640)를 지도 학습할 수 있다.
프로세서(180)는 딥 러닝 또는 머신 러닝 알고리즘을 이용한 인공 신경망을 이용하여 디코더(640)를 지도 학습할 수 있다. 음성 특징 정보에 기반한 멜 스펙트로그램이 정답 데이터로 텍스트 특징 정보에 기반한 멜 스펙트로그램에 라벨링될 수 있다.
도 6을 참조하면, 음성 합성 모델(600)은 인코더(Encoder, 610), 음성 특징 추출기(620), 운율 인코더(Prosody Encoder, 630), 디코더(Decoder, 640), 어텐션(Attention, 650), 및 보코더(670)를 포함할 수 있다.
인코더(Encoder, 610)는 학습용 텍스트를 수신할 수 있다. 인코더(610)는 학습용 텍스트를 정규화하고, 정규화된 텍스트의 문장 분할, 음소 변환 등을 수행하여, 텍스트의 특징을 나타내는 텍스트 특징 정보를 생성할 수 있다.
텍스트 특징 정보는 벡터로 표현될 수 있다.
음성 특징 추출기(620)는 입력된 학습용 음성의 특징을 추출할 수 있다. 학습용 음성은 학습용 텍스트에 대한 음성일 수 있다.
음성 특징 추출기(620)는 학습용 음성을 기 설정된 시간 구간(예를 들어, 25ms)으로 나누어 단위 프레임을 생성할 수 있다. 음성 특징 추출기(620)는 단위 프레임 각각에 대해 푸리에 변환(Fourier Transform)을 수행하여, 해당 단위 프레임에 담긴 주파수 정보를 추출할 수 있다.
음성 특징 추출기(620)는 학습용 음성에 대한 모든 단위 프레임들 각각에 대해 푸리에 변환을 수행하여 스펙트럼을 획득할 수 있다. 스펙트럼은 학습용 음성에 대한 특징 정보를 포함할 수 있다.
학습용 음성에 대한 특징 정보는 음소별 평균 시간, 음성의 피치, 피치 범위, 에너지, 스펙트럼 기울기 중 하나 이상을 포함할 수 있다.
음소별 평균 시간은 학습에 사용되는 음성의 시간을 음소의 개수로 나눈 값일 수 있다.
음성 특징 추출기(620)는 음성을 프레임 별로 나누어 각 프레임의 피치를 추출하고, 추출된 피치들의 평균을 산출할 수 있다. 피치들의 평균이 음성의 피치일 수 있다.
피치 범위는 프레임 별로 추출된 피치 정보에 대해 95% 분위(quantile) 값과 5% 분위 값의 차이로 계산될 수 있다.
에너지는 음서의 데시벨일 수 있다.
스펙트럼 기울기는 음성에 대한 16차 Linear predictive analysis를 통해 얻어진 1차항의 계수일 수 있다.
음성 특징 추출기(620)는 음소별 평균 시간, 음성의 피치, 피치 범위, 에너지, 스펙트럼 기울기 각각을 정규화하여 -1 내지 1의 사이의 값으로 변형할 수 있다.
운율 인코더(Prosody Encoder, 630)는 인코더(610)로부터 전달받은 텍스트 특징 정보로부터 운율 특징 정보를 예측할 수 있다. 운율 특징 정보는 학습용 음성에 대한 특징 정보와 동일한 종류의 정보를 포함할 수 있다.
운율 인코더(630)는 학습용 텍스트에 대한 텍스트 특징 정보로부터 특징 벡터를 추출하고, 추출된 특징 벡터에 기반하여 운율 특징 정보를 출력할 수 있다.
운율 인코더(630)는 운율 특징 정보와 학습용 음성에 대한 특징 정보 간의 차이를 최소화하도록 지도 학습될 수 있다. 즉, 학습용 음성에 대한 특징 정보가 정답 데이터로 레이블되어 예측된 운율 특징 정보와 학습용 음성에 대한 특징 정보 간의 차이가 최소화되도록 학습될 수 있다.
운율 인코더(630)는 인코더(610)로부터 수신된 텍스트 특징 정보를 나타내는 벡터에 대한 미분을 하지 않도록 설정될 수 있다.
디코더(Decoder, 640)는 텍스트 특징 정보로부터 단어에 해당하는 단어 벡터를 출력할 수 있다.
어텐션(Attention, 650)은 디코더(640)에서 단어 벡터를 출력할 때마다 인코더(610)로부터 입력된 전체 텍스트의 시퀀스를 참고할 수 있다. 어텐션(Attention, 650)은 전체 텍스트의 시퀀스를 참고하여 해당 시점에서 예측해야 할 단어와 연관성이 있는지 판단할 수 있다.
어텐션(650)은 판단 결과에 따라 컨텍스트 벡터(context vector)를 디코더(640)로 출력할 수 있다. 컨텍스트 벡터는 텍스트 특징 벡터로 명명될 수 있다.
디코더(640)는 컨텍스트 벡터에 기반하여 텍스트 기반의 멜 스펙트로그램을 생성할 수 있다.
디코더(640)는 음성 특징 추출기(620)에서 출력된 학습용 음성에 대한 스펙트럼에 기초하여 음성 기반의 멜 스펙트로그램을 생성할 수 있다.
멜 스펙트로그램은 스펙트럼의 주파수 단위를 멜 스케일에 따라 변환한 스펙트럼일 수 있다.
디코더(640)는 특정 주파수 영역 대는 세밀하게 보고, 특정 주파수 영역 대를 제외한 나머지 주파수 영역 대를 덜 촘촘히 분석하는 멜 필터를 통해 멜 스펙트로그램을 생성할 수 있다.
디코더(640)는 텍스트 기반의 멜 스펙트로그램과 음성 기반의 멜 스펙트로그램 간의 차이가 최소화되도록 지도 학습될 수 있다. 디코더(640)의 지도 학습 시, 음성 기반의 멜 스펙트로그램이 정답 데이터로 사용될 수 있다.
보코더(670)는 디코더(640)에서 출력된 멜 스펙트로그램에 기반하여 합성 음성을 생성할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 음성 합성 장치의 합성 음성 생성 방법을 설명하기 위한 흐름도이고, 도 8은 본 개시의 일 실시 예에 따른 음성 합성 모델의 추론 과정을 설명하는 도면이다.
도 8을 참조하면, 음성 합성 장치(800)는 프로세서(180) 및 음향 출력부(152)를 포함할 수 있다.
음성 합성 장치(800)는 이외에도 도 2에 도시된 인공 지능 기기(10)의 구성 요소들을 포함할 수 있다.
도 7을 참조하면, 프로세서(180)는 합성 음성의 생성 대상인 텍스트를 획득한다(S701).
인코더(810)에는 텍스트에 상응하는 텍스트 데이터가 입력될 수 있다.
프로세서(180)는 사용자 입력을 통해 음성 특징 정보를 수신했는지를 판단한다(S703).
일 실시 예에서 음성 특징 정보는 음소별 평균 시간, 피치, 피치 범위, 에너지, 스펙트럼 기울기 중 하나 이상을 포함할 수 있다.
음성 특징 정보에 포함된 5가지 항목들 중 사용자 입력을 통해 얻어지지 않은 항목은 디폴트 값으로 설정될 수 있다.
일 실시 예에서 프로세서(180)는 디스플레이부(151)에 표시된 메뉴 화면을 통해 음성 특징 정보를 수신할 수 있다.
프로세서(180)는 사용자 입력을 통해 음성 특징 정보를 수신한 경우, 텍스트 및 수신된 음성 특징 정보를 디코더(830)의 입력으로 하여 멜 스펙트로그램을 획득한다(S705).
디코더(830)는 텍스트의 특징 정보 및 사용자 입력을 통해 수신된 음성 특징 정보에 기초하여 멜 스펙트로그램을 생성할 수 있다.
텍스트의 특징 정보는 텍스트의 특징을 나타내는 정보로 정규화되어 텍스트 특징 벡터로 표현될 수 있다.
음성 특징 정보는 음소별 평균 시간, 피치, 피치 범위, 에너지, 스펙트럼 기울기 각각에 대한 정규화된 값을 포함할 수 있다. 음성 특징 정보는 음성 특징 벡터로 표현될 수 있다.
디코더(830)는 텍스트 특징 벡터 및 음성 특징 벡터를 이용하여 멜 스펙트로그램을 생성할 수 있다.
디코더(830)는 텍스트 특징 벡터 및 음성 특징 벡터로부터 멜 스펙트로그램을 추론하는 음성 합성 모델일 수 있다.
디코더(830)는 텍스트 특징 정보에 기반하여 기본 멜 스펙트로그램을 생성할 수 있고, 기본 멜 스펙토그램에 음성 특징 정보를 반영하여 최종 멜 스펙트로그램을 생성할 수 있다.
프로세서(180)는 멜 스펙트로그램에 기반하여 합성 음성을 생성한다(S707).
프로세서(180)는 사용자 입력을 통해 음성 특징 정보를 수신하지 않은 경우, 텍스트를 디코더(830)의 입력으로 하여 멜 스펙트로그램을 획득하고(S709), 획득된 멜 스펙트로그램에 기반하여 합성 음성을 생성한다.
프로세서(180)는 텍스트로부터 텍스트 특징 정보를 생성하고, 텍스트 특징 정보에 기반하여 멜 스펙토그램을 생성할 수 있고, 생성된 멜 스펙토그램에 기반한 합성 음성을 생성할 수 있다.
또 다른 실시 예에서 프로세서(180)는 음성 특징 정보를 수신하지 않은 경우, 운율 인코더(820)가 출력한 운율 특징 정보 및 상기 텍스트에 상응하는 텍스트 특징 정보를 입력으로 하여 멜 스펙토그램을 생성할 수 있다.
도 8을 참조하면, 프로세서(180)는 인코더(810), 운율 인코더(820), 디코더(830), 어텐션(840) 및 보코더(850)를 포함할 수 있다.
인코더(810)는 텍스트를 수신할 수 있다.
인코더(680)는 텍스트를 정규화하고, 정규화된 텍스트의 문장 분할, 음소 변환 등을 수행하여, 텍스트의 특징을 나타내는 텍스트 특징 정보를 생성할 수 있다. 텍스트 특징 정보는 벡터로 표현될 수 있다.
운율 인코더(820)는 인코더(610)로부터 전달받은 텍스트 특징 정보로부터 운율 특징 정보를 예측할 수 있다. 운율 특징 정보는 음성 특징 정보와 동일한 종류의 정보를 포함할 수 있다.
운율 인코더(820)는 도 6의 운율 인코더(830)의 지도 학습이 완료된 인코더일 수 있다.
운율 인코더(820)는 사용자 입력을 통해 음성 특징 정보를 수신한 경우, 수신된 음성 특징 정보를 운율 인코더(820)의 출력으로 사용할 수 있다. 즉, 운율 인코더(820)는 사용자 입력을 통해 음성 특징 정보를 수신한 경우, 운율 특징 정보를 예측하지 않고, 수신된 음성 특징 정보를 디코더(830)에 전달할 수 있다.
운율 인코더(820)는 사용자 입력을 통해 음성 특징 정보를 수신하지 않은 경우, 텍스트 특징 정보에 기초하여 운율 특징 정보를 생성할 수 있다. 생성된 운율 특징 정보는 디코더(830)로 전달될 수 있다.
디코더(830)는 텍스트 특징 정보로부터 단어에 해당하는 단어 벡터를 출력할 수 있다.
어텐션(840)은 디코더(640)에서 단어 벡터를 출력할 때마다 인코더(610)로부터 입력된 전체 텍스트의 시퀀스를 참고할 수 있다. 어텐션(Attention, 650)은 전체 텍스트의 시퀀스를 참고하여 해당 시점에서 예측해야 할 단어와 연관성이 있는지 판단할 수 있다.
어텐션(840)은 판단 결과에 따라 컨텍스트 벡터(context vector)를 디코더(640)로 출력할 수 있다. 컨텍스트 벡터는 텍스트 특징 벡터로 명명될 수 있다.
디코더(830)는 컨텍스트 벡터에 기반하여 텍스트 기반의 기본 멜 스펙트로그램을 생성할 수 있다. 디코더(830)는 기본 멜 스펙토그램에 음성 특징 정보를 반영하여 최종 멜 스펙트로그램을 생성할 수 있다.
보코더(850)는 최종 멜 스펙트로그램을 합성 음성 신호로 변환하여, 변환된 합성 음성 신호를 음향 출력부(152)로 출력할 수 있다.
도 9는 본 개시의 실시 예에 따른 제어 가능한 합성 음성의 생성 과정을 설명하는 도면이다.
도 9를 참조하면, 음성 합성 장치(800)는 텍스트(910) 및 음성 특징 정보(930)를 수신할 수 있다.
음성 특징 정보(930)는 음성의 길이, 음성의 높낮이, 음성의 높낮이 변동 폭, 음성의 세기, 음성의 거칠기 각각에 대한 값을 포함할 수 있다. 각 항목의 값은 -1 내지 1 까지의 범위를 가질 수 있다.
사용자는 원하는 발화 스타일에 따라 각 항목의 값을 입력할 수 있다.
음성의 길이는 음소별 평균 시간을 나타낼 수 있다.
음성의 높낮이는 음성의 피치를 나타낼 수 있다.
음성의 높낮이 변동 폭은 음성의 피치 범위를 나타낼 수 있다.
음성의 세기는 음성의 에너지(또는 데시벨)를 나타낼 수 있다.
음성의 거칠기는 음성의 스펙트럼 기울기를 나타낼 수 있다.
음성 합성 장치(800)는 텍스트를 음성 신호로 변환하고, 음성 신호에 음성 특징 정보(830)를 반영하여 합성 음성을 생성할 수 있다.
즉, 음성 합성 장치(800)는 사용자가 원하는 운율이 적용된 합성 음성을 출력할 수 있다.
이와 같이, 본 개시의 실시 예에 따른 음성 합성 장치(800)는 사용자가 원하는 스타일의 합성 음성을 생성하여 사용자의 니즈를 충족시킬 수 있다.
도 10은 동일한 화자에 대해서도 다양한 스타일로 음성을 합성할 수 있는 예를 설명하는 도면이다.
음성 특징 정보를 사용자가 입력하지 않은 경우, 음성 합성 장치(800)는 텍스트에 기반하여 합성 음성을 출력할 수 있다.
음성 합성 장치(800)는 [0.4, -0.9, -0.3, 0.3, -1]의 음성 특징 정보(830)를 수신하는 경우, 신뢰감 있는 합성 음성을 출력할 수 있다.
음성 합성 장치(800)는 [-0.15, 0.7, 0.6, -0.7, -1]의 음성 특징 정보(830)를 수신하는 경우, 애교스러운 합성 음성을 출력할 수 있다.
음성 합성 장치(800)는 [0.9, -0.7, -0.7, -1, 1]의 음성 특징 정보(830)를 수신하는 경우, 좌절스러운 합성 음성을 출력할 수 있다.
음성 합성 장치(800)는 [-0.2, 0.5, 0.5, -0.7, -1]의 음성 특징 정보(830)를 수신하는 경우, 희망찬 합성 음성을 출력할 수 있다.
이와 같이, 본 개시의 실시 예에 따르면 같은 학습 데이터(동일한 화자가 발화한 음성 데이터)를 사용한 경우라도, 다양한 발화 스타일로 합성 음성이 출력될 수 있다.
이에 따라 사용자는 상황에 맞게 발화 스타일을 조절하여 합성 음성을 획득할 수 있는 효과가 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 인공 지능 기기의 프로세서(180)를 포함할 수도 있다.

Claims (14)

  1. 음성 합성 장치에 있어서,
    스피커; 및
    텍스트 및 사용자 입력을 통한 음성 특징 정보를 획득하고, 학습용 텍스트의 특징 정보와 학습용 음성의 특성 정보 간의 차이를 최소화하도록 지도 학습된 디코더에 상기 텍스트 및 상기 음성 특징 정보를 입력으로 하여 합성 음성을 생성하고, 생성된 합성 음성을 상기 스피커를 통해 출력하는 프로세서를 포함하는
    음성 합성 장치.
  2. 제1항에 있어서,
    상기 음향 특징 정보는
    음소별 평균 시간, 피치, 피치 범위, 에너지, 스펙트럼 기울기 중 하나 이상을 포함하는
    음성 합성 장치.
  3. 제2항에 있어서,
    상기 음소별 평균 시간, 상기 피치, 상기 피치 범위, 상기 에너지, 상기 스펙트럼 기울기 각각은 정규화된 값으로 수신되는
    음성 합성 장치.
  4. 제2항에 있어서,
    상기 디코더는
    상기 텍스트에 기반한 텍스트 특징 정보 및 상기 음성 특징 정보를 이용하여 멜 스펙토그램을 추론하는
    음성 합성 장치.
  5. 제1항에 있어서,
    상기 프로세서는
    상기 텍스트에 기반하여 운율을 예측하는 운율 인코더를 포함하고,
    상기 음성 특징 정보를 수신하지 않은 경우, 상기 운율 인코더가 출력한 운율 특징 정보 및 상기 텍스트에 상응하는 텍스트 특징 정보를 입력으로 하여 합성 음성을 생성하는
    음성 합성 장치.
  6. 제1항에 있어서,
    상기 프로세서는
    상기 텍스트로부터 텍스트 특징 정보를 생성하는 인코더를 포함하는
    음성 합성 장치.
  7. 제6항에 있어서,
    상기 프로세서는
    상기 디코더가 출력하는 단어가 상기 텍스트의 시퀀스를 참고하여 해당 시점에서 예측해야 할 단어와 연관성이 있는지를 판단하고, 판단 결과에 따른 컨텍스트 벡터를 출력하는 어텐션을 더 포함하는
    음성 합성 장치.
  8. 음성 합성 장치의 동작 방법에 있어서,
    텍스트 및 사용자 입력을 통한 음성 특징 정보를 획득하는 단계;
    학습용 텍스트의 특징 정보와 학습용 음성의 특성 정보 간의 차이를 최소화하도록 지도 학습된 디코더에 상기 텍스트 및 상기 음성 특징 정보를 입력으로 하여 합성 음성을 생성하는 단계;
    생성된 합성 음성을 스피커를 통해 출력하는 단계를 포함하는
    음성 합성 장치의 동작 방법.
  9. 제8항에 있어서,
    상기 음향 특징 정보는
    음소별 평균 시간, 피치, 피치 범위, 에너지, 스펙트럼 기울기 중 하나 이상을 포함하는
    음성 합성 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 음소별 평균 시간, 상기 피치, 상기 피치 범위, 상기 에너지, 상기 스펙트럼 기울기 각각은 정규화된 값으로 수신되는
    음성 합성 장치의 동작 방법.
  11. 제9항에 있어서,
    상기 디코더는
    상기 텍스트에 기반한 텍스트 특징 정보 및 상기 음성 특징 정보를 이용하여 멜 스펙토그램을 추론하는
    음성 합성 장치의 동작 방법.
  12. 제8항에 있어서,
    상기 음성 합성 장치는
    상기 텍스트에 기반하여 운율을 예측하는 운율 인코더를 포함하고,
    상기 음성 특징 정보를 수신하지 않은 경우, 상기 운율 인코더가 출력한 운율 특징 정보 및 상기 텍스트에 상응하는 텍스트 특징 정보를 입력으로 하여 합성 음성을 생성하는 단계를 더 포함하는
    음성 합성 장치의 동작 방법.
  13. 제8항에 있어서,
    상기 텍스트로부터 텍스트 특징 정보를 생성하는 단계를 더 포함하는
    음성 합성 장치의 동작 방법.
  14. 제13항에 있어서,
    상기 디코더가 출력하는 단어가 상기 텍스트의 시퀀스를 참고하여 해당 시점에서 예측해야 할 단어와 연관성이 있는지를 판단하는 단계; 및
    판단 결과에 따른 컨텍스트 벡터를 출력하는 단계를 더 포함하는
    음성 합성 장치의 동작 방법.
KR1020220109688A 2021-11-09 2022-08-31 음성 합성 장치 및 그의 음성 합성 방법 KR20230067501A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2022/013939 WO2023085584A1 (en) 2021-11-09 2022-09-19 Speech synthesis device and speech synthesis method
US17/959,050 US20230148275A1 (en) 2021-11-09 2022-10-03 Speech synthesis device and speech synthesis method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210153450 2021-11-09
KR20210153450 2021-11-09

Publications (1)

Publication Number Publication Date
KR20230067501A true KR20230067501A (ko) 2023-05-16

Family

ID=86546463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220109688A KR20230067501A (ko) 2021-11-09 2022-08-31 음성 합성 장치 및 그의 음성 합성 방법

Country Status (1)

Country Link
KR (1) KR20230067501A (ko)

Similar Documents

Publication Publication Date Title
US11496582B2 (en) Generation of automated message responses
CN111048062B (zh) 语音合成方法及设备
JP6802005B2 (ja) 音声認識装置、音声認識方法及び音声認識システム
KR102582291B1 (ko) 감정 정보 기반의 음성 합성 방법 및 장치
KR101229034B1 (ko) 디바이스 인터페이싱을 위한 다중모드 조음 통합
US11538478B2 (en) Multiple virtual assistants
US11705105B2 (en) Speech synthesizer for evaluating quality of synthesized speech using artificial intelligence and method of operating the same
WO2016209924A1 (en) Input speech quality matching
CN113012686A (zh) 神经语音到意思
JP2001215993A (ja) 対話処理装置および対話処理方法、並びに記録媒体
US11605387B1 (en) Assistant determination in a skill
US20210210073A1 (en) Artificial intelligence device for providing speech recognition function and method of operating artificial intelligence device
KR20210020656A (ko) 인공 지능을 이용한 음성 인식 방법 및 그 장치
US20220375469A1 (en) Intelligent voice recognition method and apparatus
EP4198967A1 (en) Electronic device and control method thereof
Pieraccini AI assistants
JP2001188779A (ja) 情報処理装置および方法、並びに記録媒体
US20230148275A1 (en) Speech synthesis device and speech synthesis method
CN117882131A (zh) 多个唤醒词检测
Venkatagiri Speech recognition technology applications in communication disorders
US11887583B1 (en) Updating models with trained model update objects
Ajayi et al. Systematic review on speech recognition tools and techniques needed for speech application development
KR20230067501A (ko) 음성 합성 장치 및 그의 음성 합성 방법
US11227578B2 (en) Speech synthesizer using artificial intelligence, method of operating speech synthesizer and computer-readable recording medium
KR20220116660A (ko) 인공지능 스피커 기능을 탑재한 텀블러 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
E902 Notification of reason for refusal