KR20210045217A - 감정 이식 장치 및 감정 이식 방법 - Google Patents

감정 이식 장치 및 감정 이식 방법 Download PDF

Info

Publication number
KR20210045217A
KR20210045217A KR1020190128699A KR20190128699A KR20210045217A KR 20210045217 A KR20210045217 A KR 20210045217A KR 1020190128699 A KR1020190128699 A KR 1020190128699A KR 20190128699 A KR20190128699 A KR 20190128699A KR 20210045217 A KR20210045217 A KR 20210045217A
Authority
KR
South Korea
Prior art keywords
emotion
text
speech
emotion information
voice data
Prior art date
Application number
KR1020190128699A
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 KR1020190128699A priority Critical patent/KR20210045217A/ko
Publication of KR20210045217A publication Critical patent/KR20210045217A/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
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/63Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for estimating an emotional state

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Child & Adolescent Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Toys (AREA)

Abstract

본 발명의 일실시예에 따르면, 감정 이식 장치에 있어서, 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제1 텍스트와 제1 감정 정보를 입력 받아 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 제1 음성 데이터를 생성하고, 상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 제1 손실(loss) 값을 계산하고, 상기 계산한 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트한다.

Description

감정 이식 장치 및 감정 이식 방법{DEVICE AND METHOD FOR EMOTION TRANSPLANTATION}
아래의 실시예들은 감정 이식 장치 및 감정 이식 방법에 관한 것이다.
머신 러닝(machine learning)은 인공 지능의 한 분야로, 패턴인식과 컴퓨터 학습 이론의 연구로부터 진화한 분야이며, 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야를 말한다.
머신 러닝의 핵심은 표현(representation)과 일반화(generalization)에 있다. 표현이란 데이터의 평가이며, 일반화란 아직 알 수 없는 데이터에 대한 처리이다. 이는 전산 학습 이론 분야이기도 하다.
딥 러닝(deep learning)은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화를 시도하는 기계학습(machine learning) 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야라고 이야기할 수 있다.
텍스트 음성 변환(Text To Speech, TTS)이란 컴퓨터의 프로그램을 통해 사람의 목소리를 구현해내는 것으로, 성우 없이도 거의 모든 단어와 문장의 음성을 쉽게 구현할 수 있다.
본 발명의 실시예에 따르면, 타인의 음성 데이터에 포함된 감정들을 왜곡을 최소화하여 이식할 수 있는 감정 이식 장치 및 감정 이식 방법을 제공할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 감정 인코더와 텍스트 음성 변환 모델을 사전 훈련하고, 상기 사전 훈련한 텍스트 음성 변환 모델을 미리 설정된 음성 데이터 베이스들을 이용하여 업데이트 할 수 있는 감정 이식 장치 및 감정 이식 방법을 제공할 수 있다.
본 발명의 일실시예에 따르면, 감정 이식 장치에 있어서, 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 제1 텍스트와 제1 감정 정보를 입력 받아 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 제1 음성 데이터를 생성하고, 상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트한다.
또한, 상기 적어도 하나의 프로세서는, 제2 텍스트와 제2 감정 정보를 입력 받아 제2 음성 데이터를 생성하고, 상기 생성한 제2 음성 데이터와 상기 제2 감정 정보를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다.
또한, 상기 적어도 하나의 프로세서는, 상기 생성한 제1 음성 데이터와 상기 목표 화자의 음성 데이터 베이스를 이용하여 제1 손실(loss) 값을 계산하고, 상기 계산한 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다.
또한, 상기 적어도 하나의 프로세서는, 상기 생성한 제2 음성 데이터에서 제3 감정 정보를 획득하고, 상기 제2 감정 정보와 상기 제3 감정 정보를 이용하여 제2 손실 값을 계산하고, 상기 계산한 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다.
또한, 상기 제1 텍스트는, 상기 목표 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 목표 화자의 음성 데이터 베이스는, 상기 목표 화자의 뉴트럴(neutral) 감정이 표현된 음성 데이터를 저장할 수 있다.
또한, 상기 제1 감정 정보는, 상기 목표 화자의 음성 데이터 베이스 또는 소스 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 제1 감정 정보는, 뉴트럴(neutral) 감정 정보일 수 있다.
또한, 상기 제2 감정 정보는, 소스 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 제2 감정 정보는, 화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나일 수 있다.
또한, 상기 적어도 하나의 프로세서는, 상기 제1 손실 값이 상기 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트할 수 있다.
또한, 상기 적어도 하나의 프로세서는, 상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트할 수 있다.
본 발명의 다른 실시예에 따르면, 제1 텍스트와 제1 감정 정보를 입력 받아 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 제1 음성 데이터를 생성하는 동작 및 상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 동작을 포함한다.
또한, 상기 감정 이식 방법은, 제2 텍스트와 제2 감정 정보를 입력 받아 제2 음성 데이터를 생성하는 동작 및 상기 생성한 제2 음성 데이터와 상기 제2 감정 정보를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작을 더 포함할 수 있다.
또한, 상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 동작은, 상기 생성한 제1 음성 데이터와 상기 목표 화자의 음성 데이터 베이스를 이용하여 제1 손실(loss) 값을 계산하는 동작 및 상기 계산한 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 동작을 포함할 수 있다.
또한, 상기 생성한 제2 음성 데이터와 상기 제2 감정 정보를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작은, 상기 생성한 제2 음성 데이터에서 제3 감정 정보를 획득하는 동작, 상기 제2 감정 정보와 상기 제3 감정 정보를 이용하여 제2 손실 값을 계산하는 동작 및 상기 계산한 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작을 포함할 수 있다.
또한, 상기 제1 텍스트는, 상기 목표 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 목표 화자의 음성 데이터 베이스는, 상기 목표 화자의 뉴트럴(neutral) 감정이 표현된 음성 데이터를 저장할 수 있다.
또한, 상기 제1 감정 정보는, 상기 목표 화자의 음성 데이터 베이스 또는 소스 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 제1 감정 정보는, 뉴트럴(neutral) 감정 정보일 수 있다.
또한, 상기 제2 감정 정보는, 소스 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 제2 감정 정보는, 화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나일 수 있다.
또한, 상기 감정 이식 방법은, 상기 제1 손실 값이 상기 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작을 더 포함할 수 있다.
또한, 상기 감정 이식 방법은, 상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작을 더 포함할 수 있다.
본 발명의 일실시예에 따르면, 타인의 음성 데이터에 포함된 감정들을 왜곡을 최소화하여 이식할 수 있는 효과가 있다.
또한, 감정 인코더와 텍스트 음성 변환 모델을 사전 훈련하고, 상기 사전 훈련한 텍스트 음성 변환 모델을 미리 설정된 음성 데이터 베이스들을 이용하여 업데이트 할 수 있는 효과가 있다.
도 1은 일실시예에 따라 감정 이식 장치가 소스 화자의 음성 데이터 베이스를 기초로 감정 인코더 및 텍스트 음성 변환 모델을 훈련(training)시키는 모습을 나타내는 도면이다.
도 2는 일실시예에 따라 감정 이식 장치가 목표 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 재훈련(fine-tuning)시키는 모습을 나타내는 도면이다.
도 3은 일실시예에 따라 감정 이식 장치가 목표 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 업데이트 하는 모습을 나타내는 도면이다.
도 4는 일실시예에 따라 감정 이식 장치가 목표 화자의 음성 데이터 베이스 및 소스 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 업데이트 하는 모습을 나타내는 도면이다.
도 5는 일실시예에 따른 감정 이식방법을 나타내는 플로우 차트이다.
도 6은 본 발명의 일실시예를 구현하기 위한 예시적인 컴퓨터 시스템의 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.
본 발명의 실시 예에서 '통신', '통신망' 및 '네트워크'는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 사용자 단말, 다른 사용자들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 일실시예에 따라 감정 이식 장치가 소스 화자의 음성 데이터 베이스를 기초로 감정 인코더 및 텍스트 음성 변환 모델을 훈련(training)시키는 모습을 나타내는 도면이다.
도 1을 참조하면, 일실시예에 따른 감정 이식 장치는 소스 화자의 음성 데이터 베이스(100), 감정 인코더(110), 텍스트 음성 변환 모델(120) 및 손실 계산기(130)를 포함한다.
소스 화자의 음성 데이터 베이스(100)에는 소스 화자의 감정(예컨대, 화난(angry) 감정, 슬픈(sad) 감정, 행복한(happy) 감정, 걱정하는(fearful) 감정, 놀란(surprised) 감정, 혐오스러운(disgusting) 감정 또는 뉴트럴(neutral) 감정)이 표현된 음성 데이터가 저장되어 있다. 이때, 상기 음성 데이터는 웨이브(wav) 파일로 저장될 수 있으나, 상기 음성 데이터가 저장되는 파일 형태가 이에 한정되는 것은 아니다.
소스 화자의 음성 데이터 베이스(100)에는 상기 소스 화자의 감정이 표현된 음성 데이터를 문자로 표현한 텍스트들이 저장되어 있다. 이때, 상기 텍스트들은 텍스트(txt) 파일 형태일 수 있으나, 상기 텍스트들의 형태가 이에 한정되는 것은 아니다.
소스 화자의 음성 데이터 베이스(100)에는 상기 소스 화자의 감정이 표현된 음성 데이터와 상기 음성 데이터를 문자로 표현한 상기 텍스트들이 서로 매칭되어 저장될 수 있다.
감정 인코더(110)는 소스 화자의 음성 데이터 베이스(100)로부터 소스 음성 데이터(101)를 입력 받아 소스 감정 정보(111)를 생성할 수 있다. 이때, 소스 감정 정보(111)는 화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나일 수 있으나, 소스 감정 정보(111)가 이에 한정되는 것은 아니다.
감정 인코더(110)는 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 감정 인코더(110)가 이에 한정되는 것은 아니다.
감정 인코더(110)는 소스 음성 데이터(101)에서 소스 화자(speaker) 특유의 음성 특성과 음소(phoneme) 정보에 비의존적인(independent) 운율 특성을 잡아내서 운율 특성 벡터 로 추출한다. 이때, 상기 운율 특성 벡터는 prosody embedded vector일 수 있으나, 상기 벡터가 이에 한정되는 것은 아니다. 또한, 상기 운율 특성은 강세, 억양, 발화 속도 또는 운율 변화일 수 있으나, 상기 운율 특성이 이에 한정되는 것은 아니다.
감정 인코더(110)는 훈련(training)을 통하여 기준(basis) 역할을 하는 N개의 벡터 값을 고정할 수 있다. 이때, 상기 기준(basis) 역할을 하는 N개 벡터는 token embedded vector일 수 있으나, 상기 기준(basis) 역할을 하는 N개의 벡터가 이에 한정되는 것은 아니다.
감정 인코더(110)는 소스 음성 데이터(101)에서 추출한 운율 특성 벡터와 훈련(training)이 완료되어 값이 고정된 상기 기준(basis) 역할을 하는 N개 벡터의 유사도를 측정하여, 소스 음성 데이터(101)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현(예컨대, 0.9*token A + 0.09*token B + 0.01*token C)할 수 있다. 이렇게 소스 음성 데이터(101)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현한 것이 감정 인코더(110)가 생성하는 소스 감정 정보(111)이다. 이때, 소스 감정 정보(111)는 style embedded vector일 수 있으나, 소스 감정 정보(111)가 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(320)은 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 텍스트 음성 변환 모델(320)이 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(120)은 어떤 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조이든 텍스트 음성 변환 모델(120)로 사용 가능하다. 이때, 텍스트 음성 변환 모델(120)의 출력은 spectrogram, mel-spectrogram, 보코더 피쳐 등일 수 있으나, 텍스트 음성 변환 모델(120)의 출력이 이에 한정되는 것은 아니다. 또한, 텍스트 음성 변환 모델(120)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조는 Tacotron 또는 Deep convolutional TTS model일 수 있으나, 텍스트 음성 변환 모델(120)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조가 이에 한정되는 것은 아니다.
다른 실시예에 따라 텍스트 음성 변환 모델(120)은 소스 텍스트(102) 및 소스 감정 정보(111)를 입력 받아 소스 출력 음성 데이터(121)를 생성할 수 있다. 이때, 소스 텍스트(102)는 소스 화자의 음성 데이터 베이스(100)에 저장된 소스 화자의 감정이 표현된 음성 데이터를 문자로 표현한 것일 수 있다. 또한, 소스 감정 정보(111)는 감정 인코더(110)를 이용하여 생성한 것이 아닌, 미리 생성된 감정 정보를 소스 감정 정보(111)로 이용할 수 있다.
또 다른 실시예에 따라 텍스트 음성 변환 모델(120)은 소스 텍스트(102) 및 소스 감정 정보(111)를 입력 받아 소스 출력 음성 데이터(121)를 생성할 수 있다. 이때, 소스 텍스트(102)는 소스 화자의 음성 데이터 베이스(100)에 저장된 소스 화자의 감정이 표현된 음성 데이터를 문자로 표현한 것일 수 있다. 또한, 소스 감정 정보(111)는 감정 인코더(110)가 소스 텍스트(102)와 쌍을 이루는 소스 화자의 감정이 표현된 소스 음성 데이터(101)를 기초로 생성한 것이 아닌, 별도의 음성 데이터를 기초로 생성한 감정 정보일 수 있다.
손실 계산기(130)는 소스 출력 음성 데이터(121)와 소스 화자의 음성 데이터 베이스(100)에 저장된 소스 텍스트(102)와 쌍을 이루는 소스 화자의 감정이 표현된 소스 음성 데이터(101)를 이용하여 손실 값을 계산할 수 있다.
손실 계산기(130)는 소스 출력 음성 데이터(121)가 음성 신호 형태(예컨대, wav)이면, 소스 출력 음성 데이터(121)의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
손실 계산기(130)는 소스 화자의 음성 데이터 베이스(100)에 저장된 소스 텍스트(102)와 쌍을 이루는 소스 화자의 감정이 표현된 소스 음성 데이터(101)가 음성 신호 형태(예컨대, wav)이면, 소스 음성 데이터(101)의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
손실 계산기(130)는 상기 푸리에 변환을 적용한 소스 출력 음성 데이터(121)의 일부분들 또는 소스 출력 음성 데이터(121)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
손실 계산기(130)는 상기 푸리에 변환을 적용한 소스 음성 데이터(101)의 일부분들 또는 소스 음성 데이터(101)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
손실 계산기(130)는 상기 푸리에 변환을 적용한 소스 출력 음성 데이터(121)의 일부분들 또는 소스 출력 음성 데이터(121)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스와 상기 푸리에 변환을 적용한 소스 음성 데이터(101)의 일부분들 또는 소스 음성 데이터(101)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스의 차를 계산하여 손실 값을 계산할 수 있다.
손실 계산기(130)는 역전파(Back propagation)(331)를 이용하여 텍스트 음성 변환(Text To Speech, TTS) 모델(120)을 업데이트 할 수 있다.
손실 계산기(130)는 상기 손실 값이 소스 화자의 음성 데이터 베이스(100)를 기초로 미리 설정된 손실 값에 매치될 때까지 텍스트 음성 변환(Text To Speech, TTS) 모델(120)을 업데이트할 수 있다. 이때, 상기 소스 화자의 음성 데이터 베이스(100)를 기초로 설정된 손실 값은 소스 화자의 음성 데이터 베이스(100)에 저장된 음성 데이터에 따라 변할 수 있다.
일실시예에 따라, 감정 이식 장치가 소스 화자의 음성 데이터 베이스를 기초로 감정 인코더 및 텍스트 음성 변환 모델의 훈련(training)을 완료하면, 감정 이식 장치는 목표 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 재훈련(fine-tuning)할 수 있다.
도 2는 일실시예에 따라 감정 이식 장치가 목표 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 재훈련(fine-tuning)시키는 모습을 나타내는 도면이다.
도 2를 참조하면, 일실시예에 따른 감정 이식 장치는 목표 화자의 음성 데이터 베이스(200), 감정 인코더(210), 텍스트 음성 변환 모델(220) 및 손실 계산기(230)를 포함한다.
목표 화자의 음성 데이터 베이스(200)에는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터가 저장되어 있다. 이때, 상기 음성 데이터는 웨이브(wav) 파일로 저장될 수 있으나, 상기 음성 데이터가 저장되는 파일 형태가 이에 한정되는 것은 아니다.
목표 화자의 음성 데이터 베이스(200)에는 상기 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 음성 데이터를 문자로 표현한 텍스트들이 저장되어 있다. 이때, 상기 텍스트들은 텍스트 파일 형태일 수 있으나, 상기 텍스트들의 형태가 이에 한정되는 것은 아니다.
목표 화자의 음성 데이터 베이스(200)에는 상기 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터와 상기 음성 데이터를 문자로 표현한 상기 텍스트들이 서로 매칭되어 저장될 수 있다.
감정 인코더(210)는 목표 화자의 음성 데이터 베이스(200)로부터 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(201)를 입력 받아 목표 감정 정보(211)를 생성할 수 있다.
감정 인코더(210)는 훈련이 완료되어 고정된(frozen) 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 감정 인코더(210)가 이에 한정되는 것은 아니다.
감정 인코더(210)는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(201)에서 목표 화자(speaker) 특유의 특성과 음소(phoneme) 정보에 비의존적인(independent) 운율 특성을 잡아내서 운율 특성 벡터 로 추출한다. 이때, 상기 운율 특성 벡터는 prosody embedded vector일 수 있으나, 상기 벡터가 이에 한정되는 것은 아니다. 또한, 상기 운율 특성은 강세, 억양, 발화 속도 또는 운율 변화일 수 있으나, 상기 운율 특성이 이에 한정되는 것은 아니다.
감정 인코더(210)는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(201)에서 추출한 운율 특성 벡터와 훈련(training)이 완료되어 그 값이 고정된 기준(basis) 역할을 하는 N개 벡터의 유사도를 측정하여, 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(201)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현(예컨대, 0.8*token A + 0.15*token B + 0.05*token C)할 수 있다. 이렇게 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(201)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현한 것이 감정 인코더(410)가 생성하는 목표 감정 정보(211)이다. 이때, 목표 감정 정보(211)는 style embedded vector일 수 있으나, 목표 감정 정보(211)가 이에 한정되는 것은 아니다. 또한, 상기 기준(basis) 역할을 하는 N개 벡터는 token embedded vector일 수 있으나, 상기 기준(basis) 역할을 하는 N개 벡터가 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(220)은 목표 텍스트(202) 및 감정 인코더(210)가 목표 텍스트(202)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(201)를 기초로 생성한 목표 감정 정보(211)를 입력 받아 목표 출력 음성 데이터(221)를 생성할 수 있다. 이때, 목표 텍스트(202)는 목표 화자의 음성 데이터 베이스(200)에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터를 문자로 표현한 것일 수 있다.
텍스트 음성 변환 모델(220)은 미리 훈련된(pre-trained) 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 텍스트 음성 변환 모델(220)이 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(220)은 어떤 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조이든 텍스트 음성 변환 모델(220)로 사용 가능하다. 이때, 텍스트 음성 변환 모델(220)의 출력은 spectrogram, mel-spectrogram, 보코더 피쳐 등일 수 있으나, 텍스트 음성 변환 모델(220)의 출력이 이에 한정되는 것은 아니다. 또한, 텍스트 음성 변환 모델(220)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조는 Tacotron 또는 Deep convolutional TTS model일 수 있으나, 텍스트 음성 변환 모델(220)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조가 이에 한정되는 것은 아니다.
다른 실시예에 따라 텍스트 음성 변환 모델(220)은 목표 텍스트(202) 및 목표 감정 정보(211)를 입력 받아 목표 출력 음성 데이터(221)를 생성할 수 있다. 이때, 목표 텍스트(202)는 목표 화자의 음성 데이터 베이스(200)에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터를 문자로 표현한 것일 수 있다. 또한, 목표 감정 정보(211)는 감정 인코더(210)를 이용하여 생성한 것이 아닌, 미리 생성된 감정 정보(예컨대, 뉴트럴(neutral) 감정 정보) 를 목표 감정 정보(211)로 이용할 수 있다.
또 다른 실시예에 따라 텍스트 음성 변환 모델(220)은 목표 텍스트(202) 및 목표 감정 정보(211)를 입력 받아 목표 출력 음성 데이터(221)를 생성할 수 있다. 이때, 목표 텍스트(202)는 목표 화자의 음성 데이터 베이스(200)에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터를 문자로 표현한 것일 수 있다. 또한, 목표 감정 정보(211)는 감정 인코더(110)가 목표 텍스트(202)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(201)를 기초로 생성한 것이 아닌, 별도의 음성 데이터를 기초로 생성한 감정 정보(예컨대, 뉴트럴(neutral) 감정 정보) 일 수 있다.
손실 계산기(230)는 목표 출력 음성 데이터(221)와 목표 화자의 음성 데이터 베이스(200)에 저장된 목표 텍스트(202)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(201)를 이용하여 손실 값을 계산할 수 있다.
손실 계산기(230)는 목표 출력 음성 데이터(221)가 음성 신호 형태(예컨대, wav)이면, 목표 출력 음성 데이터(221)의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
손실 계산기(230)는 목표 화자의 음성 데이터 베이스(200)에 저장된 목표 텍스트(202)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(201)가 음성 신호 형태(예컨대, wav)이면, 목표 음성 데이터(201)의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
손실 계산기(230)는 상기 푸리에 변환을 적용한 목표 출력 음성 데이터(221)의 일부분들 또는 목표 출력 음성 데이터(221)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
손실 계산기(230)는 상기 푸리에 변환을 적용한 목표 음성 데이터(201)의 일부분들 또는 목표 음성 데이터(201)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
손실 계산기(230)는 상기 푸리에 변환을 적용한 목표 출력 음성 데이터(221)의 일부분들 또는 목표 출력 음성 데이터(221)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스와 상기 푸리에 변환을 적용한 목표 음성 데이터(201)의 일부분들 또는 목표 음성 데이터(201)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스의 차를 계산하여 손실 값을 계산할 수 있다.
손실 계산기(230)는 역전파(Back propagation)(231)를 이용하여 텍스트 음성 변환(Text To Speech, TTS) 모델(220)을 재훈련(fine-tuning) 시킬 수 있다.
손실 계산기(230)는 상기 손실 값이 목표 화자의 음성 데이터 베이스(200)를 기초로 미리 설정된 손실 값에 매치될 때까지 텍스트 음성 변환(Text To Speech, TTS) 모델(220)을 재훈련(fine-tuning) 할 수 있다. 이때, 상기 목표 화자의 음성 데이터 베이스(200)를 기초로 설정된 손실 값은 목표 화자의 음성 데이터 베이스(200)에 저장된 음성 데이터에 따라 변할 수 있다.
도 3은 일실시예에 따라 감정 이식 장치가 목표 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 업데이트 하는 모습을 나타내는 도면이다.
도 3을 참조하면, 일실시예에 따른 감정 이식 장치는 목표 화자의 음성 데이터 베이스(310), 제1 감정 인코더(320), 텍스트 음성 변환 모델(330), 제1 손실 계산기(340), 소스 화자의 음성 데이터 베이스(350), 제2 감정 인코더(360) 및 제2 손실 계산기(370)를 포함한다.
일실시예에 따라 감정 이식 장치는 목표 화자의 음성 데이터 베이스(310)만을 기초로 텍스트 음성 변환 모델(330)을 업데이트(300) 할 수 있다.
목표 화자의 음성 데이터 베이스(310)에는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터가 저장되어 있다. 이때, 상기 음성 데이터는 웨이브(wav) 파일로 저장될 수 있으나, 상기 음성 데이터가 저장되는 파일 형태가 이에 한정되는 것은 아니다.
목표 화자의 음성 데이터 베이스(310)에는 상기 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터를 문자로 표현한 텍스트들이 저장되어 있다. 이때, 상기 텍스트들은 텍스트 파일 형태일 수 있으나, 상기 텍스트들의 형태가 이에 한정되는 것은 아니다.
목표 화자의 음성 데이터 베이스(310)에는 상기 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터와 상기 음성 데이터를 문자로 표현한 상기 텍스트들이 서로 매칭되어 저장될 수 있다.
제1 감정 인코더(320)는 목표 화자의 음성 데이터 베이스(310)로부터 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(311)를 입력 받아 제1 감정 정보(321)를 생성할 수 있다.
제1 감정 인코더(320)는 훈련이 완료되어 고정된(frozen) 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 제1 감정 인코더(320)가 이에 한정되는 것은 아니다.
제1 감정 인코더(320)는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(311)에서 목표 화자(speaker) 특유의 특성과 음소(phoneme) 정보에 비의존적인(independent) 운율 특성을 잡아내서 운율 특성 벡터 로 추출한다. 이때, 상기 운율 특성 벡터는 prosody embedded vector일 수 있으나, 상기 벡터가 이에 한정되는 것은 아니다. 또한, 상기 운율 특성은 강세, 억양, 발화 속도 또는 운율 변화일 수 있으나, 상기 운율 특성이 이에 한정되는 것은 아니다.
제1 감정 인코더(320)는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(311)에서 추출한 운율 특성 벡터와 훈련(training)이 완료되어 그 값이 고정된 기준(basis) 역할을 하는 N개 벡터의 유사도를 측정하여, 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(311)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현(예컨대, 0.8*token A + 0.15*token B + 0.05*token C)할 수 있다. 이렇게 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(311)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현한 것이 제1 감정 인코더(320)가 생성하는 제1 감정 정보(321)이다. 이때, 제1 감정 정보(321)는 style embedded vector일 수 있으나, 제1 감정 정보(321)가 이에 한정되는 것은 아니다. 또한, 상기 기준(basis) 역할을 하는 N개 벡터는 token embedded vector일 수 있으나, 상기 기준(basis) 역할을 하는 N개 벡터가 이에 한정되는 것은 아니다.
다른 실시예에 따라, 제1 감정 인코더(320)는 소스 화자의 음성 데이터 베이스(350)로부터 소스 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 소스 음성 데이터(미도시)를 입력 받아 제1 감정 정보(321)를 생성할 수 있다.
텍스트 음성 변환 모델(330)은 제1 텍스트(312) 및 제1 감정 인코더(320)가 제1 텍스트(312)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(311)를 기초로 생성한 제1 감정 정보(321)를 입력 받아 제1 음성 데이터(331)를 생성할 수 있다. 이때, 제1 텍스트(312)는 목표 화자의 음성 데이터 베이스(310)에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터를 문자로 표현한 것일 수 있다.
텍스트 음성 변환 모델(330)은 미리 훈련된(pre-trained) 딥 뉴럴 네트워크(Deep Neural Network)를 재훈련(fine-tuning)한 텍스트 음성 변환 모델일 수 있으나, 텍스트 음성 변환 모델(330)이 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(330)은 어떤 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조이든 텍스트 음성 변환 모델(330)로 사용 가능하다. 이때, 텍스트 음성 변환 모델(330)의 출력은 spectrogram, mel-spectrogram, 보코더 피쳐 등일 수 있으나, 텍스트 음성 변환 모델(330)의 출력이 이에 한정되는 것은 아니다. 또한, 텍스트 음성 변환 모델(3320)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조는 Tacotron 또는 Deep convolutional TTS model일 수 있으나, 텍스트 음성 변환 모델(330)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조가 이에 한정되는 것은 아니다.
제1 손실 계산기(340)는 제1 음성 데이터(331)와 목표 화자의 음성 데이터 베이스(310)에 저장된 제1 텍스트(312)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터(311)를 이용하여 제1 손실 값을 계산할 수 있다.
제1 손실 계산기(340)는 제1 음성 데이터(331)가 음성 신호 형태(예컨대, wav)이면, 제1 음성 데이터(331)의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
제1 손실 계산기(340)는 목표 화자의 음성 데이터 베이스(310)에 저장된 제1 텍스트(312)와 쌍을 이루는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 목표 음성 데이터(311)가 음성 신호 형태(예컨대, wav)이면, 목표 음성 데이터(311)의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
제1 손실 계산기(340)는 상기 푸리에 변환을 적용한 제1 음성 데이터(331)의 일부분들 또는 제1 음성 데이터(331)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
제1 손실 계산기(340)는 상기 푸리에 변환을 적용한 목표 음성 데이터(311)의 일부분들 또는 목표 음성 데이터(311)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
제1 손실 계산기(340)는 상기 푸리에 변환을 적용한 제1 음성 데이터(331)의 일부분들 또는 제1 음성 데이터(331)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스와 상기 푸리에 변환을 적용한 목표 음성 데이터(311)의 일부분들 또는 목표 음성 데이터(311)의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스의 차를 계산하여 손실 값을 계산할 수 있다.
제1 손실 계산기(340)는 역전파(Back propagation)(341)를 이용하여 텍스트 음성 변환(Text To Speech, TTS) 모델(330)을 업데이트 할 수 있다.
제1 손실 계산기(340)는 상기 제1 손실 값이 목표 화자의 음성 데이터 베이스(310)를 기초로 미리 설정된 손실 값에 매치될 때까지 텍스트 음성 변환(Text To Speech, TTS) 모델(330)을 업데이트 할 수 있다. 이때, 상기 목표 화자의 음성 데이터 베이스(310)를 기초로 설정된 손실 값은 목표 화자의 음성 데이터 베이스(310)에 저장된 음성 데이터에 따라 변할 수 있다.
소스 화자의 음성 데이터 베이스(350)에는 소스 화자의 감정(예컨대, 화난(angry) 감정, 슬픈(sad) 감정, 행복한(happy) 감정, 걱정하는(fearful) 감정, 놀란(surprised) 감정, 혐오스러운(disgusting) 감정 또는 뉴트럴(neutral) 감정)이 표현된 음성 데이터가 저장되어 있다. 이때, 상기 음성 데이터는 웨이브(wav) 파일로 저장될 수 있으나, 상기 음성 데이터가 저장되는 파일 형태가 이에 한정되는 것은 아니다.
소스 화자의 음성 데이터 베이스(350)에는 상기 소스 화자의 감정이 표현된 음성 데이터를 문자로 표현한 텍스트들이 저장되어 있다. 이때, 상기 텍스트들은 텍스트 파일 형태일 수 있으나, 상기 텍스트들의 형태가 이에 한정되는 것은 아니다.
소스 화자의 음성 데이터 베이스(350)에는 상기 소스 화자의 감정이 표현된 음성 데이터와 상기 음성 데이터를 문자로 표현한 상기 텍스트들이 서로 매칭되어 저장될 수 있다.
제2 감정 인코더(360)는 텍스트 음성 변환 모델(330)이 생성한 음성 데이터를 입력 받아 감정 정보를 생성할 수 있다.
제2 감정 인코더(360)는 훈련이 완료되어 고정된(frozen) 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 제2 감정 인코더(360)가 이에 한정되는 것은 아니다.
일실시예에 따라 제1 감정 인코더(320)와 제2 감정 인코더(360)가 별도로 표현되어 있으나, 다른 실시예에 따라 하나의 감정 인코더가 제1 감정 인코더(320)와 제2 감정 인코더(360)의 기능을 수행하도록 구현하는 것도 가능하다.
제2 손실 계산기(370)는 제1 감정 인코더(320)가 생성한 감정 정보와 제2 감정 인코더(360)가 생성한 감정 정보를 이용하여 제2 손실 값을 계산할 수 있다.
도 4는 일실시예에 따라 감정 이식 장치가 목표 화자의 음성 데이터 베이스 및 소스 화자의 음성 데이터 베이스를 기초로 텍스트 음성 변환 모델을 업데이트 하는 모습을 나타내는 도면이다.
도 4를 참조하면, 일실시예에 따른 감정 이식 장치는 목표 화자의 음성 데이터 베이스(410), 소스 화자의 음성 데이터 베이스(420), 제1 감정 인코더(430), 텍스트 음성 변환 모델(440), 제2 감정 인코더(450), 제2 손실 계산기(460) 및 제1 손실 계산기(470)를 포함한다.
일실시예에 따라 감정 이식 장치는 목표 화자의 음성 데이터 베이스(410) 및 소스 화자의 음성 데이터 베이스(420)를 기초로 텍스트 음성 변환 모델(440)을 업데이트(600) 할 수 있다.
목표 화자의 음성 데이터 베이스(410)에는 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터가 저장되어 있다. 이때, 상기 음성 데이터는 웨이브(wav) 파일로 저장될 수 있으나, 상기 음성 데이터가 저장되는 파일 형태가 이에 한정되는 것은 아니다.
목표 화자의 음성 데이터 베이스(410)에는 상기 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터를 문자로 표현한 텍스트들이 저장되어 있다. 이때, 상기 텍스트들은 텍스트 파일 형태일 수 있으나, 상기 텍스트들의 형태가 이에 한정되는 것은 아니다.
목표 화자의 음성 데이터 베이스(410)에는 상기 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 음성 데이터와 상기 음성 데이터를 문자로 표현한 상기 텍스트들이 서로 매칭되어 저장될 수 있다.
소스 화자의 음성 데이터 베이스(420)에는 소스 화자의 감정(예컨대, 화난 감정, 슬픈 감정, 행복한 감정 또는 뉴트럴(neutral) 감정)이 표현된 음성 데이터가 저장되어 있다. 이때, 상기 음성 데이터는 웨이브(wav) 파일로 저장될 수 있으나, 상기 음성 데이터가 저장되는 파일 형태가 이에 한정되는 것은 아니다.
소스 화자의 음성 데이터 베이스(420)에는 상기 소스 화자의 감정이 표현된 음성 데이터를 문자로 표현한 텍스트들이 저장되어 있다. 이때, 상기 텍스트들은 텍스트 파일 형태일 수 있으나, 상기 텍스트들의 형태가 이에 한정되는 것은 아니다.
소스 화자의 음성 데이터 베이스(420)에는 상기 소스 화자의 감정이 표현된 음성 데이터와 상기 음성 데이터를 문자로 표현한 상기 텍스트들이 서로 매칭되어 저장될 수 있다.
제1 감정 인코더(430)는 소스 화자의 음성 데이터 베이스(420)로부터 소스 화자의 감정이 표현된 소스 음성 데이터(421)를 입력 받아 제2 감정 정보(431)를 생성할 수 있다. 이때, 제2 감정 정보(431)는 화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나일 수 있으나, 제2 감정 정보(431)가 이에 한정되는 것은 아니다.
제1 감정 인코더(430)는 훈련이 완료되어 고정된(frozen) 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 제1 감정 인코더(430)가 이에 한정되는 것은 아니다.
제1 감정 인코더(430)는 소스 화자의 감정(예컨대, 화난(angry) 감정, 슬픈(sad) 감정, 행복한(happy) 감정, 걱정하는(fearful) 감정, 놀란(surprised) 감정, 혐오스러운(disgusting) 감정 또는 뉴트럴(neutral) 감정)이 표현된 소스 음성 데이터(421)에서 소스 화자(speaker) 특유의 특성과 음소(phoneme) 정보에 비의존적인(independent) 운율 특성을 잡아내서 운율 특성 벡터 로 추출한다. 이때, 상기 운율 특성 벡터는 prosody embedded vector일 수 있으나, 상기 벡터가 이에 한정되는 것은 아니다. 또한, 상기 운율 특성은 강세, 억양, 발화 속도 또는 운율 변화일 수 있으나, 상기 운율 특성이 이에 한정되는 것은 아니다.
제1 감정 인코더(430)는 소스 화자의 감정이 표현된 소스 음성 데이터(421)에서 추출한 운율 특성 벡터와 훈련(training)이 완료되어 그 값이 고정된 기준(basis) 역할을 하는 N개 벡터의 유사도를 측정하여, 소스 화자의 감정이 표현된 소스 음성 데이터(421)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현(예컨대, 0.8*token A + 0.15*token B + 0.05*token C)할 수 있다. 이렇게 소스 화자의 감정이 표현된 소스 음성 데이터(421)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현한 것이 제1 감정 인코더(430)가 생성하는 제2 감정 정보(431)이다. 이때, 제2 감정 정보(431)는 style embedded vector일 수 있으나, 제2 감정 정보(431)가 이에 한정되는 것은 아니다. 또한, 상기 기준(basis) 역할을 하는 N개 벡터는 token embedded vector일 수 있으나, 상기 기준(basis) 역할을 하는 N개 벡터가 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(440)은 제2 텍스트(412) 및 제1 감정 인코더(430)가 소스 음성 데이터(421)를 기초로 생성한 제2 감정 정보(431)를 입력 받아 제2 음성 데이터(441)를 생성할 수 있다. 이때, 제2 텍스트(412)는 목표 화자의 음성 데이터 베이스(410)에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정) 이 표현된 목표 음성 데이터를 문자로 표현한 것, 소스 화자의 음성 데이터 베이스(420)에 저장된 소스 화자의 감정이 표현된 소스 음성 데이터를 문자로 표현한 것 또는 임의의 텍스트일 수 있으나, 제2 텍스트(412)가 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(440)은 미리 훈련된(pre-trained) 딥 뉴럴 네트워크(Deep Neural Network)를 재훈련(fine-tuning)한 텍스트 음성 변환 모델일 수 있으나, 텍스트 음성 변환 모델(440)이 이에 한정되는 것은 아니다.
텍스트 음성 변환 모델(440)은 어떤 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조이든 텍스트 음성 변환 모델(440)로 사용 가능하다. 이때, 텍스트 음성 변환 모델(440)의 출력은 spectrogram, mel-spectrogram, 보코더 피쳐 등일 수 있으나, 텍스트 음성 변환 모델(440)의 출력이 이에 한정되는 것은 아니다. 또한, 텍스트 음성 변환 모델(3320)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조는 Tacotron 또는 Deep convolutional TTS model일 수 있으나, 텍스트 음성 변환 모델(440)의 네트워크 텍스트 음성 변환(Text To Speech, TTS) 구조가 이에 한정되는 것은 아니다.
다른 실시예에 따라, 텍스트 음성 변환 모델(440)은 소스 화자의 음성 데이터 베이스(420)에 저장된 소스 화자의 감정이 표현된 소스 음성 데이터를 문자로 표현한 제2 텍스트(412) 및 제1 감정 인코더(430)가 소스 음성 데이터(421)를 기초로 생성한 제2 감정 정보(431)를 입력 받아 제2 음성 데이터(441)를 생성할 수 있다.
또 다른 실시예에 따라, 텍스트 음성 변환 모델(440)은 임의의 단어 또는 문장에 기초한 제2 텍스트(412) 및 제1 감정 인코더(430)가 소스 음성 데이터(421)를 기초로 생성한 제2 감정 정보(431)를 입력 받아 제2 음성 데이터(441)를 생성할 수 있다.
다만, 상기 제2 음성 데이터를 생성하는 것은 실시예에 불과하며, 상기 실시예에 의해 본 발명이 제한되거나 한정되는 것은 아니다.
제2 감정 인코더(450)는 텍스트 음성 변환 모델(440)이 생성한 제2 음성 데이터(441)를 입력 받아 제3 감정 정보(451)를 생성할 수 있다.
제2 감정 인코더(450)는 훈련이 완료되어 고정된(frozen) 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 제2 감정 인코더(450)가 이에 한정되는 것은 아니다.
제2 감정 인코더(450)는 제2 음성 데이터(441)에서 추출한 운율 특성 벡터 와 훈련(training)이 완료되어 그 값이 고정된 기준(basis) 역할을 하는 N개 벡터의 유사도를 측정하여, 제2 음성 데이터(641)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현(예컨대, 0.8*token A + 0.15*token B + 0.05*token C)할 수 있다. 이렇게 제2 음성 데이터(641)에서 추출한 상기 운율 특성 벡터를 상기 기준(basis) 역할을 하는 N개 벡터의 선형 조합으로 표현한 것이 제2 감정 인코더(450)가 생성하는 제3 감정 정보(451)이다. 이때, 제3 감정 정보(451)는 style embedded vector일 수 있으나, 제3 감정 정보(451)가 이에 한정되는 것은 아니다. 또한, 상기 기준(basis) 역할을 하는 N개 벡터는 token embedded vector일 수 있으나, 상기 기준(basis) 역할을 하는 N개 벡터가 이에 한정되는 것은 아니다.
일실시예에 따라 제1 감정 인코더(430)와 제2 감정 인코더(450)가 별도로 표현되어 있으나, 다른 실시예에 따라 하나의 감정 인코더가 제1 감정 인코더(430)와 제2 감정 인코더(450)의 기능을 수행하도록 구현하는 것도 가능하다.
제2 손실 계산기(460)는 제2 감정 정보(431)와 제3 감정 정보(451)를 이용하여 제2 손실 값을 계산할 수 있다.
제2 손실 계산기(460)는 벡터의 차를 계산하여 제2 손실 값을 계산할 수 있다.
제2 손실 계산기(460)는 상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 텍스트 음성 변환(Text To Speech, TTS) 모델(440)을 업데이트 할 수 있다. 이때, 상기 미리 설정된 손실 값은 목표 화자의 음성 데이터 베이스(410) 또는 소스 화자의 음성 데이터 베이스(420)에 저장된 음성 데이터에 따라 변할 수 있다.
제1 손실 계산기(470)는 텍스트 음성 변환 모델이 생성한 음성 데이터와 목표 화자의 음성 데이터 베이스(410)를 이용하여 제1 손실 값을 계산할 수 있다.
일실시예에 따라 감정 이식 장치는 텍스트 음성 변환 모델을 업데이트하기 위하여 목표 화자의 음성 데이터 베이스를 기초로 계산한 제1 손실 값과, 목표 화자의 음성 데이터 베이스 및 소스 화자의 음성 데이터 베이스를 기초로 계산한 제2 손실 값을 번갈아 가며 이용할 수 있다.
일실시예에 따라 감정 이식 장치는 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스에 저장된 모든 목표 화자의 음성 데이터를 이용하여 계산한 상기 목표 화자의 음성 데이터 베이스에 저장된 모든 목표 화자의 음성 데이터의 개수와 동일한 개수의 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 상기 제1 손실 값의 개수에 해당하는 횟수만큼 업데이트 한 후, 다시 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다. 다만, 상기 감정 이식 장치가 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 횟수는 상기 목표 화자의 음성 데이터 베이스에 저장된 모든 목표 화자의 음성 데이터의 개수에 한정되는 것은 아니다.
일실시예에 따라 감정 이식 장치는 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 생성한 제2 음성 데이터에서 획득한 제3 감정 정보와 소스 화자의 음성 데이터 베이스에 저장된 모든 소스 화자의 음성 데이터를 기초로 생성된 제2 감정 정보를 이용하여 계산한 상기 소스 화자의 음성 데이터 베이스에 저장된 모든 소스 화자의 음성 데이터의 개수와 동일한 개수의 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 상기 제2 손실 값의 개수에 해당하는 횟수만큼 업데이트 한 후, 다시 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다. 다만, 상기 감정 이식 장치가 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 횟수는 상기 소스 화자의 음성 데이터 베이스에 저장된 모든 소스 화자의 음성 데이터의 개수에 한정되는 것은 아니다.
일실시예에 따라 감정 이식 장치는 상기 제1 손실 값이 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트할 수 있다. 이때, 상기 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값은 상기 목표 화자의 음성 데이터 베이스에 저장된 음성 데이터에 따라 변할 수 있다.
일실시예에 따라 감정 이식 장치는 상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트할 수 있다. 이때, 상기 미리 설정된 손실 값은 목표 화자의 음성 데이터 베이스 또는 화자의 음성 데이터 베이스에 저장된 음성 데이터에 따라 변할 수 있다.
도 5는 일실시예에 따른 감정 이식방법을 나타내는 플로우 차트이다.
도 5를 참조하면, 감정 이식 장치가 제1 텍스트와 제1 감정 정보를 입력 받아 제1 음성 데이터를 생성한다(500).
이때, 상기 감정 이식 장치는 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 상기 제1 음성 데이터를 생성할 수 있다.
또한, 텍스트 음성 변환(Text To Speech, TTS) 모델은 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 상기 텍스트 음성 변환(Text To Speech, TTS) 모델이 이에 한정되는 것은 아니다.
감정 이식 장치가 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 제1 손실(loss) 값을 계산한다(510).
이때, 상기 감정 이식 장치는 제1 음성 데이터가 음성 신호 형태(예컨대, wav)이면, 제1 음성 데이터의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
또한, 상기 감정 이식 장치는 목표 화자의 음성 데이터 베이스에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 음성 데이터가 음성 신호 형태(예컨대, wav)이면, 상기 음성 데이터의 일부분을 선택하여 푸리에 변환을 적용하거나, 음향 피쳐 벡터를 추출할 수 있다.
또한, 상기 감정 이식 장치는 상기 푸리에 변환을 적용한 제1 음성 데이터의 일부분들 또는 제1 음성 데이터의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
또한, 상기 감정 이식 장치는 상기 푸리에 변환을 적용한 상기 목표 화자의 음성 데이터 베이스에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 음성 데이터의 일부분들 또는 상기 목표 화자의 음성 데이터 베이스에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 음성 데이터의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 2차원 매트릭스를 생성할 수 있다.
또한, 상기 감정 이식 장치는 상기 푸리에 변환을 적용한 제1 음성 데이터의 일부분들 또는 제1 음성 데이터의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스와 상기 푸리에 변환을 적용한 상기 목표 화자의 음성 데이터 베이스에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 음성 데이터의 일부분들 또는 상기 목표 화자의 음성 데이터 베이스에 저장된 목표 화자의 감정(예컨대, 뉴트럴(neutral) 감정)이 표현된 음성 데이터의 일부분에서 추출한 음향 피쳐 벡터들을 결합하여 생성한 2차원 매트릭스의 차를 계산하여 제1 손실 값을 계산할 수 있다.
감정 이식 장치가 상기 계산한 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트한다(520).
이때, 상기 감정 이식 장치는 역전파(Back propagation)를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다.
감정 이식 장치가 제2 텍스트와 상기 제2 감정 정보를 입력 받아 제2 음성 데이터를 생성한다(530).
이때, 상기 감정 이식 장치는 목표 화자의 음성 데이터 베이스, 소스 화자의 음성 데이터 베이스 및 임의의 텍스트 중 적어도 어느 하나를 기초로 생성된 상기 제2 텍스트를 입력 받을 수 있다.
또한, 상기 감정 이식 장치가 입력 받는 상기 제2 감정 정보는 소스 화자의 음성 데이터 베이스를 기초로 생성될 수 있다.
또한, 상기 감정 이식 장치가 입력 받는 상기 제2 감정 정보는 화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나일 수 있다.
또한, 상기 감정 이식 장치가 입력 받는 상기 제2 감정 정보는 벡터일 수 있다.
감정 이식 장치가 상기 생성한 제2 음성 데이터에서 제3 감정 정보를 획득하고, 상기 획득한 제3 감정 정보와 상기 제2 감정 정보를 이용하여 제2 손실 값을 계산한다(540).
이때, 상기 감정 이식 장치는 감정 인코더를 이용하여 상기 생성한 제2 음성 데이터에서 제3 감정 정보를 획득할 수 있다.
또한, 상기 감정 인코더는 딥 뉴럴 네트워크(Deep Neural Network)일 수 있으나, 상기 감정 인코더가 이에 한정되는 것은 아니다.
또한, 상기 감정 이식 장치가 획득한 상기 제3 감정 정보는 벡터일 수 있다.
또한, 상기 감정 이식 장치는 상기 제2 감정 정보와 상기 제3 감정 정보의 벡터 차를 이용하여 상기 제2 손실 값을 계산할 수 있다.
감정 이식 장치가 상기 계산한 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트한다(550).
이때, 상기 감정 이식 장치는 역전파(Back propagation)를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다.
감정 이식 장치가 제1 손실 값 및 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 반복적으로 업데이트한다(560).
이때, 상기 감정 이식 장치는 텍스트 음성 변환 모델을 업데이트하기 위하여 제1 손실 값과 제2 손실 값을 번갈아 가며 이용할 수 있다.
또한, 상기 감정 이식 장치는 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스에 저장된 모든 목표 화자의 음성 데이터를 이용하여 계산한 상기 목표 화자의 음성 데이터 베이스에 저장된 모든 목표 화자의 음성 데이터의 개수와 동일한 개수의 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 상기 제1 손실 값의 개수에 해당하는 횟수만큼 업데이트 한 후, 다시 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다. 다만, 상기 감정 이식 장치가 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 횟수는 상기 목표 화자의 음성 데이터 베이스에 저장된 모든 목표 화자의 음성 데이터의 개수에 한정되는 것은 아니다.
또한, 상기 감정 이식 장치는 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 생성한 제2 음성 데이터에서 획득한 제3 감정 정보와 소스 화자의 음성 데이터 베이스에 저장된 모든 소스 화자의 음성 데이터를 기초로 생성된 제2 감정 정보를 이용하여 계산한 상기 소스 화자의 음성 데이터 베이스에 저장된 모든 소스 화자의 음성 데이터의 개수와 동일한 개수의 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 상기 제2 손실 값의 개수에 해당하는 횟수만큼 업데이트 한 후, 다시 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 할 수 있다. 다만, 상기 감정 이식 장치가 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 횟수는 상기 소스 화자의 음성 데이터 베이스에 저장된 모든 소스 화자의 음성 데이터의 개수에 한정되는 것은 아니다.
또한, 상기 감정 이식 장치는 상기 제1 손실 값이 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트할 수 있다. 이때, 상기 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값은 상기 목표 화자의 음성 데이터 베이스에 저장된 음성 데이터에 따라 변할 수 있다.
또한, 상기 감정 이식 장치는 상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트할 수 있다. 이때, 상기 미리 설정된 손실 값은 목표 화자의 음성 데이터 베이스 또는 화자의 음성 데이터 베이스에 저장된 음성 데이터에 따라 변할 수 있다.
감정 이식 장치가 감정이 표현된 목표 화자의 음성 데이터를 생성한다(570).
이때, 상기 감정 이식 장치는 텍스트와 소스 화자의 음성 데이터를 입력 받을 수 있고, 감정 인코더를 이용하여 입력 받은 상기 소스 화자의 음성 데이터에서 감정 정보를 획득할 수 있다.
또한, 상기 감정 이식 장치는 입력 받은 상기 텍스트 및 상기 감정 인코더를 이용하여 상기 소스 화자의 음성 데이터에서 획득한 감정 정보를 텍스트 음성 변환(Text To Speech, TTS) 모델에 입력하여 소스 화자의 음성 데이터의 감정이 이식된 목표 화자의 음성 데이터를 생성할 수 있다.
도 6은 본 발명의 일실시예를 구현하기 위한 예시적인 컴퓨터 시스템의 블록도이다.
도 6을 참조하면, 본 발명의 일실시예를 구현하기 위한 예시적인 컴퓨터 시스템은 정보를 교환하기 위한 버스 또는 다른 커뮤니케이션 채널(601)을 포함하고, 프로세서(602)는 정보를 처리하기 위하여 버스(601)와 연결된다.
컴퓨터 시스템(600)은 정보 및 프로세서(602)에 의해 처리되는 명령들을 저장하기 위하여 버스(601)와 연결된 RAM(Random Access Memory) 또는 다른 동적 저장 장치인 메인 메모리(603)를 포함한다.
또한, 메인 메모리(603)는 프로세서(602)에 의한 명령들의 실행동안 임시변수들 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다.
컴퓨터 시스템(600)은 프로세서(602)에 대한 정적인 정보 또는 명령들을 저장하기 위하여 버스(601)에 결합된 ROM(Read Only Memory) 및 다른 정적 저장장치(604)를 포함할 수 있다.
마그네틱 디스크, 집(zip) 또는 광 디스크 같은 대량 저장장치(605) 및 그것과 대응하는 드라이브 또한 정보 및 명령들을 저장하기 위하여 컴퓨터 시스템(600)에 연결될 수 있다.
컴퓨터 시스템(600)은 엔드 유저(end user)에게 정보를 디스플레이 하기 위하여 버스(601)를 통해 음극선관 또는 엘씨디 같은 디스플레이 장치(610)와 연결될 수 있다.
키보드(620)와 같은 문자 입력 장치는 프로세서(602)에 정보 및 명령을 전달하기 위하여 버스(601)에 연결될 수 있다.
다른 유형의 사용자 입력 장치는 방향 정보 및 명령 선택을 프로세서(602)에 전달하고, 디스플레이(610) 상의 커서의 움직임을 제어하기 위한 마우스, 트랙볼 또는 커서 방향 키들과 같은 커서 컨트롤 장치(630)이다.
통신 장치(640) 역시 버스(601)와 연결된다.
통신 장치(640)는 지역 네트워크 또는 광역망에 접속되는 것을 서포트 하기 위하여 모뎀, 네트워크 인터페이스 카드, 이더넷, 토큰 링 또는 다른 유형의 물리적 결합물과 연결하기 위해 사용되는 인터페이스 장치를 포함할 수 있다. 이러한 방식으로 컴퓨터 시스템(600)은 인터넷 같은 종래의 네트워크 인프라 스트럭쳐를 통하여 다수의 클라이언트 및 서버와 연결될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다.
또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다.
이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다.
기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명에서 개시된 방법들은 상술된 방법을 달성하기 위한 하나 이상의 동작들 또는 단계들을 포함한다. 방법 동작들 및/또는 단계들은 청구항들의 범위를 벗어나지 않으면서 서로 상호 교환될 수도 있다. 다시 말해, 동작들 또는 단계들에 대한 특정 순서가 명시되지 않는 한, 특정 동작들 및/또는 단계들의 순서 및/또는 이용은 청구항들의 범위로부터 벗어남이 없이 수정될 수도 있다.
본 발명에서 이용되는 바와 같이, 아이템들의 리스트 중 "그 중 적어도 하나" 를 지칭하는 구절은 단일 멤버들을 포함하여, 이들 아이템들의 임의의 조합을 지칭한다. 일 예로서, "a, b, 또는 c: 중의 적어도 하나" 는 a, b, c, a-b, a-c, b-c, 및 a-b-c 뿐만 아니라 동일한 엘리먼트의 다수의 것들과의 임의의 조합 (예를 들어, a-a, a-a-a, a-a-b, a-a-c, a-b-b, a-c-c, b-b, b-b-b, b-b-c, c-c, 및 c-c-c 또는 a, b, 및 c 의 다른 임의의 순서 화한 것) 을 포함하도록 의도된다.
본 발명에서 이용되는 바와 같이, 용어 "결정하는"는 매우 다양한 동작들을 망라한다. 예를 들어, "결정하는"는 계산하는, 컴퓨팅, 프로세싱, 도출하는, 조사하는, 룩업하는 (예를 들어, 테이블, 데이터베이스, 또는 다른 데이터 구조에서 룩업하는), 확인하는 등을 포함할 수도 있다. 또한, "결정하는"은 수신하는 (예를 들면, 정보를 수신하는), 액세스하는 (메모리의 데이터에 액세스하는) 등을 포함할 수 있다. 또한, "결정하는"은 해결하는, 선택하는, 고르는, 확립하는 등을 포함할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100...소스 화자의 음성 데이터 베이스
110...감정 인코더
120...텍스트 음성 변환 모델
130...손실 계산기
200...목표 화자의 음성 데이터 베이스
210...감정 인코더
220...텍스트 음성 변환 모델
230...손실계산기

Claims (24)

  1. 감정 이식 장치에 있어서,
    적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는,
    제1 텍스트와 제1 감정 정보를 입력 받아 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 제1 음성 데이터를 생성하고,
    상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 감정 이식 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    제2 텍스트와 상기 제2 감정 정보를 입력 받아 제2 음성 데이터를 생성하고,
    상기 생성한 제2 음성 데이터와 상기 제2 감정 정보를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 감정 이식 장치.
  3. 제1항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 생성한 제1 음성 데이터와 상기 목표 화자의 음성 데이터 베이스를 이용하여 제1 손실(loss) 값을 계산하고,
    상기 계산한 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 감정 이식 장치.
  4. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 생성한 제2 음성 데이터에서 제3 감정 정보를 획득하고,
    상기 제2 감정 정보와 상기 제3 감정 정보를 이용하여 제2 손실 값을 계산하고,
    상기 계산한 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 감정 이식 장치.
  5. 제1항에 있어서,
    상기 제1 텍스트는,
    상기 목표 화자의 음성 데이터 베이스를 기초로 생성되는 감정 이식 장치.
  6. 제1항에 있어서,
    상기 목표 화자의 음성 데이터 베이스는,
    상기 목표 화자의 뉴트럴(neutral) 감정이 표현된 음성 데이터를 저장하는 감정 이식 장치.
  7. 제1항에 있어서,
    상기 제1 감정 정보는,
    상기 목표 화자의 음성 데이터 베이스 또는 소스 화자의 음성 데이터 베이스를 기초로 생성되는 감정 이식 장치.
  8. 제1항에 있어서,
    상기 제1 감정 정보는,
    뉴트럴(neutral) 감정 정보인 감정 이식 장치.
  9. 제2항에 있어서,
    상기 제2 감정 정보는,
    소스 화자의 음성 데이터 베이스를 기초로 생성되는 감정 이식 장치.
  10. 제2항에 있어서,
    상기 제2 감정 정보는,
    화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나인 감정 이식 장치.
  11. 제3항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제1 손실 값이 상기 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 감정 이식 장치.
  12. 제4항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 감정 이식 장치.
  13. 제1 텍스트와 제1 감정 정보를 입력 받아 텍스트 음성 변환(Text To Speech, TTS) 모델을 이용하여 제1 음성 데이터를 생성하는 동작; 및
    상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 동작
    을 포함하는 감정 이식 방법.
  14. 제13항에 있어서,
    상기 감정 이식 방법은,
    제2 텍스트와 제2 감정 정보를 입력 받아 제2 음성 데이터를 생성하는 동작; 및
    상기 생성한 제2 음성 데이터와 상기 제2 감정 정보를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작
    을 더 포함하는 감정 이식 방법.
  15. 제13항에 있어서,
    상기 생성한 제1 음성 데이터와 목표 화자의 음성 데이터 베이스를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 동작은,
    상기 생성한 제1 음성 데이터와 상기 목표 화자의 음성 데이터 베이스를 이용하여 제1 손실(loss) 값을 계산하는 동작; 및
    상기 계산한 제1 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트 하는 동작
    을 포함하는 감정 이식 방법.
  16. 제14항에 있어서,
    상기 생성한 제2 음성 데이터와 상기 제2 감정 정보를 이용하여 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작은,
    상기 생성한 제2 음성 데이터에서 제3 감정 정보를 획득하는 동작;
    상기 제2 감정 정보와 상기 제3 감정 정보를 이용하여 제2 손실 값을 계산하는 동작; 및
    상기 계산한 제2 손실 값을 기초로 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 동작
    을 포함하는 감정 이식 방법.
  17. 제13항에 있어서,
    상기 제1 텍스트는,
    상기 목표 화자의 음성 데이터 베이스를 기초로 생성되는 감정 이식 방법.
  18. 제13항에 있어서,
    상기 목표 화자의 음성 데이터 베이스는,
    상기 목표 화자의 뉴트럴(neutral) 감정이 표현된 음성 데이터를 저장하는 감정 이식 방법.
  19. 제13항에 있어서,
    상기 제1 감정 정보는,
    상기 목표 화자의 음성 데이터 베이스 또는 소스 화자의 음성 데이터 베이스를 기초로 생성되는 감정 이식 방법.
  20. 제13항에 있어서,
    상기 제1 감정 정보는,
    뉴트럴(neutral) 감정 정보인 감정 이식 방법.
  21. 제14항에 있어서,
    상기 제2 감정 정보는,
    소스 화자의 음성 데이터 베이스를 기초로 생성되는 감정 이식 방법.
  22. 제14항에 있어서,
    상기 제2 감정 정보는,
    화난(angry) 감정 정보, 슬픈(sad) 감정 정보, 행복한(happy) 감정 정보, 걱정하는(fearful) 감정 정보, 놀란(surprised) 감정 정보, 혐오스러운(disgusting) 감정 정보 및 뉴트럴(neutral) 감정 정보 중 적어도 어느 하나인 감정 이식 방법.
  23. 제15항에 있어서,
    상기 감정 이식 방법은,
    상기 제1 손실 값이 상기 목표 화자의 음성 데이터 베이스를 기초로 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 감정 이식 방법.
  24. 제16항에 있어서,
    상기 감정 이식 방법은,
    상기 제2 손실 값이 미리 설정된 손실 값에 매치될 때까지 상기 텍스트 음성 변환(Text To Speech, TTS) 모델을 업데이트하는 감정 이식 방법.
KR1020190128699A 2019-10-16 2019-10-16 감정 이식 장치 및 감정 이식 방법 KR20210045217A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190128699A KR20210045217A (ko) 2019-10-16 2019-10-16 감정 이식 장치 및 감정 이식 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190128699A KR20210045217A (ko) 2019-10-16 2019-10-16 감정 이식 장치 및 감정 이식 방법

Publications (1)

Publication Number Publication Date
KR20210045217A true KR20210045217A (ko) 2021-04-26

Family

ID=75733751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190128699A KR20210045217A (ko) 2019-10-16 2019-10-16 감정 이식 장치 및 감정 이식 방법

Country Status (1)

Country Link
KR (1) KR20210045217A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113345411A (zh) * 2021-05-31 2021-09-03 多益网络有限公司 一种变声方法、装置、设备和存储介质
CN113782013A (zh) * 2021-09-15 2021-12-10 北京百度网讯科技有限公司 语音识别及模型训练的方法、设备、存储介质及程序产品
KR102621021B1 (ko) * 2023-01-31 2024-01-04 (주)액션파워 감정 중립적인 음성을 생성하는 음성 변환 모델을 학습시키는 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113345411A (zh) * 2021-05-31 2021-09-03 多益网络有限公司 一种变声方法、装置、设备和存储介质
CN113345411B (zh) * 2021-05-31 2024-01-05 多益网络有限公司 一种变声方法、装置、设备和存储介质
CN113782013A (zh) * 2021-09-15 2021-12-10 北京百度网讯科技有限公司 语音识别及模型训练的方法、设备、存储介质及程序产品
CN113782013B (zh) * 2021-09-15 2024-01-30 北京百度网讯科技有限公司 语音识别及模型训练的方法、设备、存储介质及程序产品
KR102621021B1 (ko) * 2023-01-31 2024-01-04 (주)액션파워 감정 중립적인 음성을 생성하는 음성 변환 모델을 학습시키는 방법

Similar Documents

Publication Publication Date Title
US10553201B2 (en) Method and apparatus for speech synthesis
US11289069B2 (en) Statistical parameter model establishing method, speech synthesis method, server and storage medium
JP6989951B2 (ja) スピーチチェイン装置、コンピュータプログラムおよびdnn音声認識・合成相互学習方法
EP3192070B1 (en) Text-to-speech with emotional content
US9767788B2 (en) Method and apparatus for speech synthesis based on large corpus
CN111785246B (zh) 虚拟角色语音处理方法、装置及计算机设备
KR20220004737A (ko) 다국어 음성 합성 및 언어간 음성 복제
CN108231062B (zh) 一种语音翻译方法及装置
KR20210045217A (ko) 감정 이식 장치 및 감정 이식 방법
KR102363324B1 (ko) 멜-스펙트로그램의 무음 부분을 결정하는 방법 및 음성 합성 시스템
US20220157329A1 (en) Method of converting voice feature of voice
JP2020154076A (ja) 推論器、学習方法および学習プログラム
CN114242033A (zh) 语音合成方法、装置、设备、存储介质及程序产品
JP6243072B1 (ja) 入出力システム、入出力プログラム、情報処理装置、チャットシステム
KR102072162B1 (ko) 인공 지능 기반 외국어 음성 합성 방법 및 장치
CN113077783A (zh) 小语种语音语料扩增方法、装置及电子设备和存储介质
CN114528812A (zh) 一种语音识别方法、系统、计算设备及存储介质
US20230215417A1 (en) Using token level context to generate ssml tags
JP2018181300A (ja) 入出力システム、入出力プログラム、情報処理装置、チャットシステム
KR102568145B1 (ko) 무음 멜-스펙트로그램을 이용하여 음성 데이터를 생성하는 방법 및 음성 합성 시스템
KR20210131125A (ko) 발화 속도 조절이 가능한 텍스트 음성 변환 학습 장치 및 발화 속도 조절이 가능한 텍스트 음성 변환 장치
US11393454B1 (en) Goal-oriented dialog generation using dialog template, API, and entity data
JP2020129061A (ja) 言語モデルスコア計算装置、言語モデル作成装置、それらの方法、プログラム、および記録媒体
KR102426020B1 (ko) 한 화자의 적은 음성 데이터로 감정 운율을 담은 음성 합성 방법 및 장치
CN116863909B (zh) 基于因子图的语音合成方法、装置及系统

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal