KR102327614B1 - 클록워크 계층적 변이 인코더 - Google Patents

클록워크 계층적 변이 인코더 Download PDF

Info

Publication number
KR102327614B1
KR102327614B1 KR1020207032596A KR20207032596A KR102327614B1 KR 102327614 B1 KR102327614 B1 KR 102327614B1 KR 1020207032596 A KR1020207032596 A KR 1020207032596A KR 20207032596 A KR20207032596 A KR 20207032596A KR 102327614 B1 KR102327614 B1 KR 102327614B1
Authority
KR
South Korea
Prior art keywords
syllable
level
utterance
phoneme
predicted
Prior art date
Application number
KR1020207032596A
Other languages
English (en)
Other versions
KR20200141497A (ko
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 KR1020217036742A priority Critical patent/KR102464338B1/ko
Publication of KR20200141497A publication Critical patent/KR20200141497A/ko
Application granted granted Critical
Publication of KR102327614B1 publication Critical patent/KR102327614B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • G06N3/0445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • G06N3/0472
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of 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/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
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • 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
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • G10L2013/105Duration

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

합성된 음성(152)에서 의도된 운율을 표현하는 방법(400)은, 적어도 하나의 단어(250)를 갖는 텍스트 발화(320)를 수신하는 단계 및 상기 텍스트 발화(320)에 대한 발화 임베딩(260)을 선택하는 단계를 포함한다. 상기 텍스트 발화의 각 단어는 적어도 하나의 음절(240)을 갖고 그리고 각 음절은 적어도 하나의 음소(230)를 가진다. 상기 발화 임베딩은 의도된 운율을 나타낸다. 각 음절에 대해, 상기 선택된 발화 임베딩(260)을 사용하여, 상기 방법은, 또한, 상기 음절의 각 음소의 언어적 특징들(232)을 상기 음절에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 상기 음절의 지속 시간을 예측하는 단계와; 상기 음절에 대한 예측된 지속 시간에 기초하여 상기 음절의 피치 윤곽을 예측하는 단계와; 그리고 상기 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 피치 프레임들(280)을 생성하는 단계를 포함한다. 각 고정 길이 예측된 피치 프레임은 상기 음절의 예측된 피치 윤곽의 부분을 나타낸다.

Description

클록워크 계층적 변이 인코더
본 발명은 운율을 예측하기 위한 클록워크 계층적 변이 인코더에 관한 것이다.
음성 합성 시스템은 텍스트 입력으로부터 음성을 생성하기 위해 TTS(text-to-speech) 모델들을 사용한다. 생성/합성된 음성은 의도된 운율(표현성)로 인간의 음성(자연스러움)처럼 들리면서 메시지(지능성)를 정확하게 전달해야 한다. 기존의 연결 및 매개 변수 합성 모델은 명료한 음성을 제공할 수 있으며 그리고 최근의 음성 신경 모델링의 발전으로 합성된 음성의 자연스러움이 크게 향상된 반면, 대부분의 기존 TTS 모델들은 운율 모델링에 효과가 없으므로, 중요한 애플리케이션들에서 사용되는 합성된 음성은 표현력이 부족하다. 예를 들어, 대화 어시스턴트들 및 장문 리더들과 같은 애플리케이션들에서는 억양, 강세, 리듬 및 스타일과 같은 텍스트 입력으로 전달되지 않는 운율 기능들을 대치하여 사실적인 연설을 생성하는 것이 바람직하다. 예를 들어, 간단한 문장은 문장이 질문인지, 질문에 대한 대답인지에 따라 다양한 방식으로 말할 수 있고, 진술에 불확실성이 있거나 입력 텍스트에 의해 지정되지 않은 환경 또는 문맥에 대한 다른 의미를 전달한다.
본 발명의 하나의 양태는, 합성된 음성에서 의도된 운율을 표현하는 방법을 제공한다. 방법은, 데이터 처리 하드웨어에서, 적어도 하나의 단어를 갖는 텍스트 발화를 수신하는 단계 및 상기 데이터 처리 하드웨어에 의해, 상기 텍스트 발화에 대한 발화 임베딩을 선택하는 단계를 포함한다. 텍스트 발화에서의 각 단어는 적어도 하나의 음절을 갖고, 각 음절은 적어도 하나의 음소를 가진다. 상기 발화 임베딩은 의도된 운율을 나타낸다. 각 음절에 대해, 상기 선택된 발화 임베딩을 사용하여: 방법은, 상기 데이터 처리 하드웨어에 의해, 상기 음절의 각 음소의 언어적 특징들을 상기 음절에 대한 대응하는 운율 음절 임베딩으로 인코딩함으로써 상기 음절의 지속 시간을 예측하는 단계와; 상기 데이터 처리 하드웨어에 의해, 상기 음절에 대한 예측된 지속 시간에 기초하여 상기 음절의 피치 윤곽을 예측하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 상기 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 피치 프레임들을 생성하는 단계를 포함한다. 각 고정 길이 예측된 피치 프레임은 상기 음절의 예측된 피치 윤곽의 부분을 나타낸다.
본 발명의 구현들은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 상기 텍스트 발언의 계층적 언어 구조를 나타내는 네트워크는: 상기 텍스트 발화의 각 음절을 포함하는 제1 레벨; 상기 텍스트 발화의 각 음소를 포함하는 제2 레벨; 및 상기 텍스트 발화의 각 음절에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨을 포함한다. 일부 구현들에서, 상기 네트워크의 제1 레벨은 상기 텍스트 발화의 각 음절을 나타내는 LSTM(long short-term memory) 처리 셀을 포함할 수 있고, 상기 네트워크의 제2 레벨은 상기 텍스트 발화의 각 음소를 나타내는 LSTM 처리 셀을 포함할 수 있으며, 그리고 상기 네트워크의 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함할 수 있다. 여기서, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되는 반면, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹된다.
일부 예들에서, 상기 음절의 지속 시간을 예측하는 단계는: 상기 음절과 관련된 각 음소에 대해, 상기 대응하는 음소의 언어적 특징들을 상기 음절에 대한 대응하는 운율 음절 임베딩으로 인코딩함으로써 상기 대응하는 음소의 지속 시간을 예측하는 단계와; 그리고 상기 음절과 관련된 각 음소에 대해 상기 예측된 지속 시간을 합산하여 상기 음절의 지속 시간을 결정하는 단계를 포함한다. 이러한 예들에서, 상기 음절에 대한 예측된 지속 시간에 기초하여 상기 음절의 피치 윤곽을 예측하는 단계는: 상기 음절에 대한 대응하는 운율 음절 임베딩을 상기 대응하는 운율 음절 임베딩 및 상기 음절과 관련된 각 대응하는 음소의 음소-레벨 언어적 특징들의 각 인코딩을 결합하는 단계를 포함할 수 있다.
일부 구현들에서, 방법은, 또한, 각 음절에 대해, 상기 선택된 발화 임베딩을 사용하여: 상기 데이터 처리 하드웨어에 의해, 상기 음소에 대한 예측된 지속 시간에 기초하여 상기 음절의 각 음소의 에너지 윤곽을 예측하는 단계와; 그리고 상기 음절과 관련된 각 음소에 대해, 상기 데이터 처리 하드웨어에 의해, 상기 음소에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 에너지 프레임들을 생성하는 단계를 포함한다. 여기에서, 각 고정 길이 예측된 에너지 프레임은 상기 대응하는 음소의 예측된 에너지 윤곽을 나타낸다. 이러한 구현들에서, 계층적 언어 구조는 상기 텍스트 발화를 나타내고, 상기 계층적 언어 구조는: 상기 텍스트 발화의 각 음절을 포함하는 제1 레벨; 상기 텍스트 발화의 각 음소를 포함하는 제2 레벨; 상기 텍스트 발화의 각 음절에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨; 및 상기 제3 레벨과 평행하고 그리고 상기 텍스트 발화의 각 음소에 대한 각각의 고정 길이 예측된 에너지 프레임을 포함하는 제4 레벨을 포함한다. 상기 제1 레벨은 상기 텍스트 발화의 각 음절을 나타내는 LSTM 처리 셀을 포함할 수 있고, 상기 제2 레벨은 상기 텍스트 발화의 각 음소를 나타내는 LSTM 처리 셀을 포함할 수 있고, 상기 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함할 수 있고, 그리고 상기 제4 레벨은 각각의 고정 길이 예측된 에너지 프레임을 나타내는 LSTM 처리 셀을 포함할 수 있다. 여기서, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되고, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며, 그리고 상기 제4 레벨의 LSTM 처리 셀들은 상기 제3 레벨의 LSTM 처리 셀들과 동일한 속도로 클로킹되고 그리고 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹된다.
일부 예들에서, 상기 계층적 언어 구조의 제3 레벨은, 단일 패스에서 각 음절에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함하고, 그리고/또는 상기 계층적 언어 구조의 제4 레벨은, 단일 패스에서 각 음소에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함한다. 더욱이, 상기 고정 길이 예측된 에너지 프레임들 및 상기 고정 길이 예측된 피치 프레임들의 길이는 동일할 수 있다. 추가로 또는 대안으로, 상기 수신된 텍스트 발화의 각 음소에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수는, 상기 수신된 텍스트 발화의 각 음절에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수와 동일할 수 있다.
일부 구현들에서, 상기 방법은 또한: 상기 데이터 처리 하드웨어에 의해, 복수의 참조 오디오 신호들을 포함하는 훈련 데이터를 수신하는 단계 - 각각의 참조 오디오 신호는 인간 음성의 음성 발화를 포함하고 대응하는 운율을 가지며 - 와; 그리고 각각의 참조 오디오 신호를 상기 참조 오디오 신호의 대응하는 운율을 나타내는 대응하는 고정 길이 발화 임베딩으로 임코딩함으로써 운율 모델을 위한 심층 신경망을, 상기 데이터 처리 하드웨어에 의해 훈련하는 단계를 포함한다. 상기 발화 임베딩은 고정 길이 수치 벡터를 포함할 수 있다.
본 발명의 다른 양태는 합성된 음성에서 의도된 운율을 표현하기 위한 시스템을 제공한다. 시스템은, 데이터 처리 하드웨어와; 그리고 상기 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 상기 메모리 하드웨어는 명령어들을 저장하고, 상기 명령어들은 상기 데이터 처리 하드웨어 상에서 실행될 때 상기 데이터 처리 하드웨어가 동작들을 수행하도록 한다. 상기 동작들은: 적어도 하나의 단어를 갖는 텍스트 발화를 수신하는 단계와; 그리고 상기 텍스트 발화에 대한 발화 임베딩을 선택하는 단계를 포함한다. 각 단어는 적어도 하나의 음절을 갖고, 각 음절은 적어도 하나의 음소를 가진다. 상기 발화 임베딩은 의도된 운율을 나타낸다. 각 음절에 대해, 상기 선택된 발화 임베딩을 사용하여, 상기 동작들은 또한: 상기 음절의 각 음소의 언어적 특징들을 상기 음절에 대한 대응하는 운율 음절 임베딩으로 인코딩함으로써 상기 음절의 지속 시간을 예측하는 단계와; 상기 음절에 대한 예측된 지속 시간에 기초하여 상기 음절의 피치 윤곽을 예측하는 단계와; 그리고 상기 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 피치 프레임들을 생성하는 단계를 포함한다. 각 고정 길이 예측된 피치 프레임은 상기 음절의 예측된 피치 윤곽의 부분을 나타낸다.
이 양태는 하나 이상의 하기의 선택적 특징들을 포함할 수 있다. 일부 구현들에서, 상기 텍스트 발언의 계층적 언어 구조를 나타내는 네트워크는: 상기 텍스트 발화의 각 음절을 포함하는 제1 레벨; 상기 텍스트 발화의 각 음소를 포함하는 제2 레벨; 및 상기 텍스트 발화의 각 음절에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨을 포함한다. 이러한 구현들에서, 상기 네트워크의 제1 레벨은 상기 텍스트 발화의 각 음절을 나타내는 LSTM 처리 셀을 포함할 수 있고, 상기 네트워크의 제2 레벨은 상기 텍스트 발화의 각 음소를 나타내는 LSTM 처리 셀을 포함할 수 있고, 그리고 상기 네트워크의 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함할 수 있다. 여기서, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되는 반면, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹된다.
일부 예들에서, 상기 음절의 지속 시간을 예측하는 단계는: 상기 음절과 관련된 각 음소에 대해, 상기 대응하는 음소의 언어적 특징들을 상기 음절에 대한 대응하는 운율 음절 임베딩으로 인코딩함으로써 상기 대응하는 음소의 지속 시간을 예측하는 단계와; 그리고 상기 음절과 관련된 각 음소에 대해 상기 예측된 지속 시간을 합산하여 상기 음절의 지속 시간을 결정하는 단계를 포함한다. 이러한 예들에서, 상기 음절에 대한 예측된 지속 시간에 기초하여 상기 음절의 피치 윤곽을 예측하는 단계는: 상기 음절에 대한 대응하는 운율 음절 임베딩을 상기 대응하는 운율 음절 임베딩 및 상기 음절과 관련된 각 대응하는 음소의 음소-레벨 언어적 특징들의 각 인코딩을 결합하는 단계를 포함할 수 있다.
일부 구현들에서, 상기 동작들은 또한, 각 음절에 대해, 상기 선택된 발화 임베딩을 사용하여: 상기 대응하는 음소에 대한 예측된 지속 시간에 기초하여 상기 음절의 각 음소의 에너지 윤곽을 예측하는 단계와; 그리고 상기 음절과 관련된 각 음소에 대해, 상기 음소에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 에너지 프레임들을 생성하는 단계를 포함한다. 여기서, 각 고정 길이 예측된 에너지 프레임은 상기 대응하는 음소의 예측된 에너지 윤곽을 나타낸다. 이러한 구현들에서, 계층적 언어 구조는 상기 텍스트 발화를 나타내고, 그리고 상기 계층적 언어 구조는, 상기 텍스트 발화의 각 음절을 포함하는 제1 레벨, 상기 텍스트 발화의 각 음소를 포함하는 제2 레벨, 상기 텍스트 발화의 각 음절에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨; 및 상기 제3 레벨과 평행하고 그리고 상기 텍스트 발화의 각 음소에 대한 각각의 고정 길이 예측된 에너지 프레임을 포함하는 제4 레벨을 포함한다. 상기 제1 레벨은 상기 텍스트 발화의 각 음절을 나타내는 LSTM 처리 셀을 포함할 수 있고, 상기 제2 레벨은 상기 텍스트 발화의 각 음소를 나타내는 LSTM 처리 셀을 포함할 수 있고, 상기 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함할 수 있고, 그리고 상기 제4 레벨은 각각의 고정 길이 예측된 에너지 프레임을 나타내는 LSTM 처리 셀을 포함할 수 있다. 여기서, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며; 그리고 상기 제4 레벨의 LSTM 처리 셀들은 상기 제3 레벨의 LSTM 처리 셀들과 동일한 속도로 클로킹되고 그리고 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹된다.
일부 예들에서, 상기 계층적 언어 구조의 제3 레벨은, 단일 패스에서 각 음절에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함하고, 그리고/또는 상기 계층적 언어 구조의 제4 레벨은, 단일 패스에서 각 음소에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함한다. 더욱이, 상기 고정 길이 예측된 에너지 프레임들 및 상기 고정 길이 예측된 피치 프레임들의 길이는 동일할 수 있다. 추가로 또는 대안으로, 상기 수신된 텍스트 발화의 각 음소에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수는, 상기 수신된 텍스트 발화의 각 음절에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수와 동일할 수 있다.
일부 구현들에서, 상기 동작들은 또한: 복수의 참조 오디오 신호들을 포함하는 훈련 데이터를 수신하는 단계 - 각각의 참조 오디오 신호는 인간 음성의 음성 발화를 포함하고 대응하는 운율을 가지며 - 와; 그리고 각각의 참조 오디오 신호를 상기 참조 오디오 신호의 대응하는 운율을 나타내는 대응하는 고정 길이 발화 임베딩으로 임코딩함으로써 운율 모델을 위한 심층 신경망을 훈련하는 단계를 포함한다. 상기 발화 임베딩은 고정 길이 수치 벡터를 포함할 수 있다.
본 발명의 하나 이상의 구현들에 대한 세부 사항들은 첨부된 도면들 및 이하의 설명에 기재되어 있다. 다른 양상들, 특징들 및 이점들은 상세한 설명 및 도면들 및 청구 범위로부터 명백해질 것이다.
도 1은 텍스트 발화에 대한 운율적 표현을 예측하는데 사용하기 위한 제어 가능한 운율 모델을 제공하기 위해 심층 신경망을 훈련하기 위한 예시적인 시스템의 개략도이다.
도 2a는 참조 오디오 신호의 운율을 고정 길이 발화 임베딩으로 인코딩하기 위한 계층적 언어 구조의 개략도이다.
도 2b는 텍스트 발화의 운율적 표현을 예측하기 위해 고정 길이 발화 임베딩을 사용하는 계층적 언어 구조의 개략도이다.
도 2c는 고정 길이 참조 프레임들을 고정 길이 발화 임베딩으로 직접 인코딩하도록 구성된 계층적 언어 구조의 인코더 부분의 개략도이다.
도 3a 및 3b는 텍스트 발화의 각 음절에 대한 기간 및 피치 윤곽들을 예측하기 위한 예시적인 자동 인코더의 개략도이다.
도 3c는 텍스트 발화의 각 음소에 대한 기간 및 에너지 윤곽들을 예측하기 위한 예시적인 자동 인코더의 개략도이다.
도 4는 수신된 텍스트 발화의 운율적 표현을 예측하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 5는 여기에 서술된 시스템들 및 방법들을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
음성 합성 시스템들에 의해 종종 사용되는 TTS(Text-to-speech) 모델들은, 일반적으로 실행시 어떤 참조 음향 표현없이 텍스트 입력들만 제공되며, 현실적으로 합성된 음성의 소리를 생성하기 위해 텍스트 입력들에 의해 제공되지 않은 많은 언어적 요소들을 대체해야 한다. 이러한 언어적 요소들의 서브 세트를 총칭하여 운율이라고 하며, 그리고 억양(피치 변화), 강세(강세가 있는 음절들 대 강세가 없는 음절들), 소리의 지속시간, 소리의 크기, 어조, 리듬 및 말하기 스타일을 포함할 수 있다. 운율은 말하기의 감정 상태, 말하기의 형식(진술, 질문, 명령), 말하기의 아이러니 또는 풍자의 표현, 말하기의 지식의 불확실성, 또는 입력 텍스트의 문법 또는 어휘 선택에 의해 인코딩될 수 없는 기타 언어 요소들 나타낼 수 있다. 따라서, 높은 수준의 운율적 변화와 연관된 특정 텍스트 입력은 상이한 의미론적 의미들을 전달하기 위해 피치 및 말하기 지속시간의 국지적 변화들과 함께 합성된 음성을 생성할 수 있으며, 그리고 또한 상이한 분위기들 및 감정들을 전달하기 위해 전체 피치 궤적의 전역적 변화를 생성할 수 있다.
신경망 모델들은 텍스트 입력들로 제공되지 않는 운율에 해당하는 언어적 요인들을 예측하여 견고하게 합성할 수 있는 잠재력을 제공한다. 그 결과, 오디오북 나레이션, 뉴스 리더, 음성 디자인 소프트웨어 및 대화 어시스턴트와 같은 여러 어플리케이션들은 단조로운 소리가 아닌 사실적으로 들리는 합성된 음성을 생성할 수 있다. 본 명세서의 구현들은, 음성 발화에 대응하는 참조 오디오 신호를 음성 발화의 운율을 나타내는 발화 임베딩으로 인코딩하기 위한 인코더 부분 및 발화 임베딩을 디코딩하여 음소들의 지속시간 및 각 음절의 피치 및 에너지 윤곽들을 예측하는 디코더 부분을 갖는 VAE(variation autoencoder)를 포함하는 신경망 모델에 관한 것이다.
인코더 부분은 발화들을 나타내는 언어적 특징들에 따라 조정된 수많은 참조 오디오 신호들을 인코딩하여 운율을 나타내는 발화 임베딩을 훈련할 수 있다. 언어적 특징들은 각 음소에 대한 개별 소리들, 각 음절이 강조되었는지 여부, 각 단어의 유형(예를 들어, 명사/형용사/동사) 및/또는 발화에서의 단어의 위치, 그리고 발화가 질문인지 또는 구인지 여부를 포함할 수 있으며, 이에 한정되지는 않는다. 각 발화 임베딩은 고정 길이 수치 벡터에 의해 표현된다. 일부 구현들에서, 고정 길이 수치 벡터는 256과 동일한 값을 포함한다. 하지만, 다른 구현들에서는, 256보다 크거나 작은 값을 갖는 고정 길이 수치 벡터들을 사용할 수 있다. 디코더 부분은 고정 길이 발화 임베딩을 제1 디코더를 통해 음소 지속 시간의 시퀀스로 그리고 음소 지속 시간을 사용하여 피치 및 에너지의 고정 길이 프레임들(예를 들어, 5 밀리초)의 시퀀스로 디코딩할 수 있다. 훈련 동안, 디코더 부분에 의해 예측되는 음소 지속 시간들 및 피치 및 에너지의 고정 길이 프레임들은 고정 길이 발화 임베딩와 연관된 참조 오디오 신호로부터 샘플링된 음소 지속 시간들 및 피치 및 에너지의 고정 길이 프레임들과 밀접하게 매칭한다.
본 발명의 VAE는, LSTM(long-short term-memory) 셀들의 계층적 스택 층들을 통합하는 CHiVE(Clockwork Hierarchal Variational Autoencoder)를 포함하고, LSTM 셀들의 각 층은, 한 층이 음소들을 나타내고, 다음 층이 음절들을 나타내며, 그리고 다른 층이 워드들을 나타내도록 음소의 구조를 통합한다. 더욱이, LSTM 셀들의 스택 층들의 계층은 계층적 입력 데이터의 길이에 따라 가변적으로 클록된다. 예를 들어, 입력 데이터에 3음절 단어와 후속하여 4음절 단어를 포함하는 경우, CHiVE의 음절 계층은 제1 입력 단어에 대한 단어 계층의 단일 클록에 대해 3번 클록을 하고, 이후, 제2 단어에 대한 단어 계층의 후속 단일 클록에 대해 4번 더 클록을 한다. 따라서, 특정 LSTM 셀과 관련된 메모리가 약 0.5초 동안만(즉, 5 밀리 초 프레임 레이트의 100배 단계) 효과가 있는 프레임 기반 기술들을 사용하는 대신, 2 또는 3음절의 음성에 대해, 음소들, 단어들 및 음절들을 각각 갖는 CHiVE 클록의 음소 층, 단어 층 및 음절 층에 LSTM 셀 메모리만을 제공하고, 스택 층들의 LSTM 셀들에 마지막 100 워드, 음절 또는 음소에 대한 메모리를 제공한다.
추론하는 동안, CHiVE는 텍스트 발화를 수신하고 그리고 텍스트 발화에 대한 발화 임베딩을 선택하도록 구성된다. 수신된 텍스트 발화는 적어도 하나의 단어를 가지고, 각 단어는 적어도 하나의 음절을 가지며, 그리고 각 음절은 적어도 하나의 음소를 가진다. 텍스트 발화에는 문맥, 의미 정보 및 발화로부터 합성된 음성을 생성하기 위해 적절한 운율을 안내하는 실용적인 정보가 없기때문에, CHiVE는 선택된 발화 임베딩을 잠재적 변수로 사용하여 의도된 운율을 나타낸다. 이후, CHiVE는 선택된 발화 임베딩을 사용하여 음절에 포함된 각 음소의 언어적 특징들을 해당 음절에 대한 해당 운율 음절 임베딩으로 인코딩하여 각 음절의 지속 시간을 예측하고 그리고 해당 음절에 대한 예측된 지속 시간을 기반으로 각 음절의 피치를 예측한다. 마지막으로, CHiVE는, 각각의 고정 길이의 피치 프레임이 음절의 예측된 피치를 나타내도록 각 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 피치 프레임들을 생성하도록 구성된다. CHiVE는 유사하게 음절에 대한 예측된 지속 시간에 기초하여 각 음절의 에너지(예를 들어, 소리 크기)를 예측하고 그리고 각각이 음절에 대한 예측된 에너지를 나타내는 복수의 고정 길이 에너지 프레임들을 나타낼 수 있다. 고정 길이 피치 및/또는 에너지 프레임들은 입력 고정 길이 발화 임베딩에 의해 제공되는 의도된 운율로 합성된 음성을 생성하기 위해 TTS 시스템의 단위 선택 모델 도는 웨이브-넷 모델에 제공될 수 있다.
도 1은 제어 가능한 운율 모델(300)을 제공하기 위해 심층 신경망(200)을 훈련하고 그리고 운율 모델(300)을 사용하여 텍스트 발화(320)에 대한 운율 표현(322)을 예측하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 데이터 처리 하드웨어(122) 및 데이터 처리 하드웨어(122)와 통신하고 데이터 처리 하드웨어(122)가 동작들을 수행하도록 하는 명령어들을 저장하는 메모리 하드웨어(124)를 갖는 컴퓨팅 시스템(120)을 포함한다. 일부 구현들에서, 컴퓨팅 시스템(120)(예를 들어, 데이터 처리 하드웨어(122))는 훈련된 심층 신경망(200)에 기초한 운율 모델(300)을, 입력 텍스트 발화(320)로부터 합성된 음성(152)의 운율을 제어하기 위해 TTS 시스템(150)에 제공한다. 입력 텍스트 발화(320)는 합성된 음성(152)의 적절한 운율을 안내하기 위해 문맥, 의미론 및 실용주의를 전달할 방법이 없기에, 운율 모델(300)은, 텍스트 발화(320)로부터 추출된 언어적 특징들에 대한 모델(300)을 조건화하고 그리고 텍스트 발화(320)에 대한 의도된 운율을 나타내는 잠재 변수로서 고정 길이 발화 임베딩(322)을 사용함으로써 입력 텍스트 발화(320)에 대한 운율적 표현(322)을 예측할 수 있다. 일부 예들에서, 컴퓨팅 시스템(120)은 TTS 시스템(150)을 구현한다. 다른 예들에서, 컴퓨팅 시스템(120) 및 TTS 시스템(150)은 구별되고 그리고 서로 물리적으로 분리된다. 컴퓨팅 시스템은 분산 시스템(예를 들어, 클라우드 컴퓨팅 환경)을 포함할 수 있다.
일부 구현들에서, 심층 신경망(200)은 대규모의 참조 오디오 신호들(222)의 세트에 대해 훈련된다. 각 참조 오디오 신호(222)는 마이크에 의해 녹음되고 운율이 있는 사람의 음성 발화를 포함할 수 있다. 훈련 동안, 심층 신경망(200)은 동일한 음성 발화에 대해 다수의 참조 오디오 신호들(222)을 수신할 수 있지만, 다양한 운율들이 존재한다(즉, 동일한 발화는 다수의 상이한 방식들로 말할 수 있다). 여기서, 참조 오디오 신호들(222)은 콘텐츠가 동일하더라도 음성 발화들의 지속 시간이 변하도록 가변 길이이다. 심층 신경망(200)은 각각의 참조 오디오 신호(222)와 연관된 운율 표현을 대응하는 고정 길이 발화 임베딩(260)으로 인코딩/압축하도록 구성된다. 심층 신경망(200)은, 발화 임베딩(260)과 연관된 참조 오디오 신호(222)의 대응하는 전사체(261)와 함께 (예를 들어, 컴퓨팅 시스템(120)의 메모리 하드웨어(124) 상의) 발화 임베딩 저장소(180)에 각각의 고정 길이 발화 임베딩(260)을 저장할 수 있다. 심층 신경망(200)은, 각 음절의 피치, 에너지 및 지속 시간의 고정 길이 프레임들을 생성하기 위해 전사체들(261)로부터 추출된 언어적 특징들에 따라 조정된 고정 길이 발화 임베딩들(260)을 역전파함으로써 추가로 훈련될 수 있다.
추론 동안, 컴퓨팅 시스템(120)은 텍스트 발화(320)에 대한 운율적 표현(322)을 예측하기 위해 운율 모델(300)을 사용할 수 있다. 운율 모델(300)은 텍스트 발화(320)에 대한 발화 임베딩(260)을 선택할 수 있다. 발화 임베딩(260)은 텍스트 발화(320)의 의도된 운율을 나타낸다. 도 2a 내지 도 2c 및 도 3a 내지 도 3c를 참조하여 아래에서 더 상세하게 설명된 것처럼, 운율 모델(300)은 선택된 발화 임베딩(260)을 사용하여 텍스트 발화(320)에 대한 운율적 표현(322)을 예측할 수 있다. 운율적 표현(322)은 텍스트 발화(320)에 대한 예측된 피치, 예측된 타이밍 및 예측된 소리 크기(예를 들어, 에너지)를 포함할 수 있다. 도시된 예에서, TTS 시스템(150)은, 텍스트 발화(320)로부터 의도된 운율을 갖는 합성된 음성(152)을 생성하기 위해 운율적 표현(322)을 사용한다.
도 2a 및 도 2b는, 특정 입력 텍스트의 각 음절에 대해, 의도된/선택된 운율을 갖는 합성된 음성(152)을 생성하기 위해 주어진 입력 텍스트 또는 기타 언어 사양의 고유한 맵핑에 의존하지 않고 음절 및 피치(F0) 및 에너지 윤곽선들의 모든 음소들의 지속 시간을 공동으로 예측하는 운율의 제어가능한 모델을 제공하는 CHiVE(clockwork hierarchal variational autoencoder)(300)('자동인코더(300)')에 대한 계층적 언어 구조(예를 들어, 도 1의 심층 신경망)를 도시한다. 자동인코더(300)는 참조 오디오 신호(222)로부터 샘플링된 복수의 고정 길이 참조 프레임들(220)을 고정 길이 발화 임베딩(260)으로 인코딩하는 인코더 부분(302)(도 2a) 및 고정 길이 발화 임베딩(260)을 복수의 고정 길이 예측된 프레임들(280)로 디코딩하는 방법을 학습하는 디코더 부분(310)(도 2b)을 포함한다. 명백한 바와 같이, 자동인코더(300)는, 디코더 부분(310)으로부터 출력된 예측된 프레임들(220)의 수가 인코더 부분(302)에 입력되는 참조 프레임들(220)의 수와 같도록 훈련된다. 더욱이, 자동인코더(300)는 참조 프레임 및 예측된 프레임(220, 280)과 관련된 데이터가 실질적으로 서로 매칭하도록 훈련된다.
도 2a를 참조하면, 인코더 부분(302)은, 입력 참조 오디오 신호(222)로부터 고정 길이 참조 프레임들(220)의 시퀀스를 수신한다. 입력 참조 오디오 신호(222)는 타겟 운율을 포함하는 마이크에 의해 녹음된 인간 음성의 음성 발화를 포함할 수 있다. 인코더 부분(302)은 동일한 음성 발화에 대한 복수의 참조 오디오 신호들(222)을 수신할 수 있지만, 다향한 운율을 갖는다(즉, 동일한 발화가 여러 상이한 방식들로 말하여질 수 있다). 예를 들어, 음성 참조가 질문에 대한 답변일 때, 음성 발화가 질문일 때와 비교하여, 동일한 음성 발화는 운율이 다를 수 있다. 참조 프레임들(220)은, 각각, 5 밀리 초(ms)를 포함할 수 있고, 그리고 참조 오디오 신호(222)에 대한 피치의 윤곽(F0) 또는 에너지의 윤곽(C0) 중 하나를 나타낼 수 있다. 병렬로, 인코더 부분(302)은, 또한, 각각 5 밀리 초(ms)의 지속 시간을 포함하고 그리고 참조 오디오 신호(222)에 대한 피치의 윤곽(F0) 또는 에너지의 윤곽(C0) 중 다른 하나를 나타내는 참조 프레임들의 제2 시퀀스를 수신할 수 있다. 따라서, 참조 오디오 신호(222)로부터 샘플링된 시퀀스 참조 프레임들(220)은, 참조 오디오 신호(222)에 대한 운율을 나타내기 위해 지속 시간, 피치 윤곽 및/또는 에너지 윤곽을 제공한다. 참조 오디오 신호(222)의 길이 또는 지속 시간은 참조 프레임들(220)의 총 수의 합과 관련된다.
인코더 부분(302)은 서로 대해 클록하는 참조 오디오 신호(222)에 대한 참조 프레임들(220), 음소들(230, 230a), 음절들(240, 240a) 및 단어들(250, 250a)의 계층적 레벨들을 포함한다. 예를 들어, 참조 프레임들(220)의 시퀀스와 관련된 레벨은 음소들(230)의 시퀀스와 관련된 다음 레벨보다 더 빠르게 클록된다. 유사하게, 음절들(240)의 시퀀스와 관련된 레벨은 음소들(230)의 시퀀스와 관련된 레벨보다 느리고 단어들(250)의 시퀀스와 관련된 레벨보다 더 빠르게 클록된다. 따라서, 더 느린 클로킹 층들은 더 빠른 클로킹 층들로부터의 출력을 입력으로서 수신하여, 더 빠른 층의 최종 클록(즉, 상태) 이후의 출력은 시퀀스-대-시퀀스 인코더를 필수적으로 제공하기 위해 대응하는 더 느린 층에 대한 입력으로서 취해진다. 도시된 예들에서, 계층 레벨들은 LSTM(Long Short-Term Memory) 레벨들을 포함한다.
일부 예들에서, 인코더 부분(302)은 먼저 참조 프레임들(220)의 시퀀스를 음소들(230)의 시퀀스로 인코딩한다. 각 음소(230)는 참조 프레임들(220)의 서브 세트의 대응하는 인코딩을 입력으로서 수신하고 그리고 인코딩된 서브 세트의 참조 프레임들(220)의 수와 동일한 지속 시간을 포함한다. 도시된 예에서, 처음 4개의 고정 길이 참조 프레임들(220)은 음소(230Aa1)로 인코딩되고; 다음 3개의 고정 길이 참조 프레임들(220)은 음소(230Aa2)로 인코딩되고; 다음 4개의 고정 길이 참조 프레임들(220)은 음소(230Ab1)로 인코딩되고; 다음 2개의 고정 길이 참조 프레임들(220)은 음소(230Ba1)로 인코딩되고; 다음 5개의 고정 길이 참조 프레임들(220)은 음소(230Ba2)로 인코딩되고; 다음 4개의 고정 길이 참조 프레임들(220)은 음소(230Ba3)로 인코딩되고; 다음 3개의 고정 길이 참조 프레임들(220)은 음소(230Ca1)로 인코딩되고; 다음 4개의 고정 길이 참조 프레임들(220)은 음소(230Cb1)로 인코딩되고; 그리고 마지막 2개의 고정 길이 참조 프레임들(220)은 음소(230Cb2)로 인코딩된다. 따라서, 음소들(230)의 시퀀스에서 각 음소(230)는 음소(230)로 인코딩된 참조 프레임들(220)의 수에 기초한 대응하는 지속 시간 및 대응하는 피치 윤곽 및/또는 에너지 윤곽을 포함한다. 예를 들어, 음소(230Aa1)는 20ms와 동일한 지속 시간(즉, 5ms의 고정 길이를 각각 갖는 4개의 참조 프레임들(220))을 포함하고 그리고 음소(203Aa2)는 15ms와 동일한 지속 시간(즉, 5ms의 고정 길이를 각각 갖는 3개의 참조 프레임들(220))을 포함한다. 따라서, 참조 프레임들(220)의 레벨은 음소(230Aa1)와 음소들(230)의 레벨에 대한 다음 음소(230Aa2) 사이의 단일 클로킹에 대해 총 7회 클록한다.
고정 길이 프레임들(220)을 대응하는 음소들(230)로 인코딩한 후, 인코더 부분(302)은 음소들(230)의 시퀀스를 참조 오디오 신호(222)에 대한 음절들(240)의 시퀀스로 인코딩하도록 추가로 구성된다. 여기서, 각각의 음절(240)은 입력으로서 하나 이상의 음소들(230)의 대응하는 인코딩을 수신하고, 그리고 대응하는 인코딩의 하나 이상의 음소들(230)에 대한 지속 시간들의 합과 동일한 지속 시간을 포함한다. 음절들(240)의 지속 시간은 음절들(240)의 타이밍을 나타내고 인접한 음절들(240) 사이에서 일시 중지될 수 있다. 도시된 예에서, 처음 두 개의 음소들 (230Aa1, 230Aa2)은 음절(240Aa)로 인코딩되고; 다음 음소(230Ab1)는 음절(240Ab)로 인코딩되고; 음소들(230Ba1, 230Ba2, 230Ba3) 각각은 음절(240Ba)로 인코딩되고; 음소(230Ca1)는 음절(240Ca)로 인코딩되고; 그리고 음소들(230Cb1, 230Cb2)은 음절(240Cb)로 인코딩된다. 음절들(240)의 레벨에서 각 음절(240Aa 내지 240Cb)은 해당 음절(240)과 관련된 지속 시간, 피치(F0) 및/또는 에너지(C0)를 나타내는 각각의 음절 임베딩(예를 들어, 수치 벡터)에 대응할 수 있다. 더욱이, 각 음절은 음절들(240)의 레벨에 대한 해당 상태를 나타낸다. 예를 들어, 음절(240Aa)은 35ms (즉, 음소(230Aa1)의 20ms 지속 시간과 음소(230A2)의 15ms 지속 시간의 합)를 포함하고 음절(240Ab)은 20ms(즉, 음소(230Ab1)의 지속 시간 20ms)를 포함한다. 따라서, 참조 프레임들(220)의 레벨은 총 11번 클로킹되고 음절(240Aa)과 음절들(240)의 레벨에 대한 다음 음절(240Ab) 사이의 단일 클록에 대해 음소들(230)의 레벨은 총 3번 클록된다.
도 2a를 계속해서 참조하면, 일부 구현들에서, 인코더 부분(302)은 음절들(240)의 시퀀스를 참조 오디오 신호(222)에 대한 단어들(250)의 시퀀스로 추가로 인코딩한다. 여기서, 음절들(240Aa, 240Ab)은 단어(250A)로 인코딩되고; 음절 (240Ba)은 단어(250B)로 인코딩되고; 그리고 음절들(240Ca, 240Cb)은 단어(250C)로 인코딩된다. 마지막으로, 인코더 부분(302)은 단어들(250)의 시퀀스를 고정 길이 발화 임베딩(260)으로 인코딩한다. 고정 길이 발화 임베딩(260)은 참조 오디오 신호(222)의 운율을 나타내는 수치 벡터를 포함한다. 일부 예들에서, 고정 길이 발화 임베딩(260)은 "256"과 동일한 값을 갖는 수치 벡터를 포함한다. 인코더 부분(302)은 각각의 참조 오디오 신호(222)에 대해 이 프로세스를 반복할 수 있다. 일부 예들에서, 인코더 부분(302)은 각각 동일한 발화/구문에 대응하지만 다양한 음소들을 갖는 복수의 참조 오디오 신호들(222)을 인코딩한다. 즉, 각각의 참조 오디오 신호(222)는 동일한 발화를 전달하지만 상이하게 발화된다. 고정 길이 발화 임베딩(260)은 참조 오디오 신호(222)의 각각의 전사체(261)(예를 들어, 텍스트 표현)와 함께 데이터 저장소(180)(도 1)에 저장될 수 있다. 전사체(261)로부터, 계층적 언어 구조(200)의 훈련을 조절하는데 사용하기 위해 언어 특징들이 추출되고 저장될 수 있다. 언어적 특징들은, 각 음소에 대한 개별 소리들, 각 음절에 강세가 있는지 여부, 각 단어의 유형(명사/형용사/동사) 및/또는 발화에서의 단의 위치 및 발화가 질문인지 어구인지 여부를 포함할 수 있지만, 이에 제한되지 않는다.
도 2c를 참조하면, 일부 구현들에서, 계층적 언어 구조(200)는 음소들(230)의 시퀀스와 관련된 레벨을 생략하고, 인코더 부분(302)이 참조 프레임들(220)의 대응하는 서브 세트를 훈련 동안 음절 레벨(240)의 각 음절(240)로 간단히 인코딩할 수 있게 한다. 예를 들어, 처음 7개의 참조 프레임들(220)은 중간 단계로서 대응하는 음소들(230Aa1, 230Aa2)(도 2a)로 인코딩할 필요없이 음절(240Aa)로 직접 인코딩될 수 있다. 유사하게, 훈련 동안, 계층적 언어 구조(200)는 단어들(250)의 시퀀스와 관련된 레벨을 선택적으로 생략하고 그리고 인코더 부분(302)이 음절들(240)의 시퀀스를 고정 길이 발화 임베딩(260)으로 직접 인코딩하도록 할 수 있다. 다른 예들에서, 훈련은 대신 음소들(230)의 시퀀스와 관련된 레벨을 선택적으로 포함할 수 있고 그리고 인코더 부분(302)이 참조 프레임들(220)의 대응하는 서브 세트를 음소들(230)의 레벨의 각 음소(230)로 간단히 인코딩할 수 있도록 하고, 이후, 그 다음, 대응하는 음절들(240) 및/또는 단어들(250)을 인코딩할 필요없이 음소들(230)의 대응하는 서브 세트를 고정 길이 발화 임베딩(260)으로 직접 인코딩할 수 있다.
도 2b를 참조하면, 변형 자동 인코더(300)의 디코더 부분(310)은 발화에 대한 운율을 나타내는 고정 길이 발화 임베딩(260)을 초기에 디코딩함으로써 복수의 고정 길이 음절 임베딩들(245)을 생성하도록 구성된다. 훈련 동안, 발화 임베딩(260)은, 참조 오디오 신호(222)로부터 샘플링된 복수의 고정 길이 참조 프레임들 (220)을 인코딩함으로써, 도 2a 및 도 2c의 인코더 부분(302)으로부터 출력된 발화 임베딩(260)을 포함할 수 있다. 따라서, 디코더 부분(310)은 복수의 고정 길이 참조 프레임들(220)과 밀접하게 일치하는 복수의 고정 길이 예측 프레임들(280)을 생성하기 위해 훈련 동안 발화 임베딩(260)을 역 전파하도록 구성된다. 예를 들어, 피치(F0) 및 에너지(C0) 모두에 대한 고정 길이 예측 프레임들(280)은, 훈련 데이터로서 인코더 부분(302)에 입력된 참조 오디오 신호(222)의 참조 운율과 실질적으로 일치하는 타겟 운율(예를 들어, 예측 운율)을 나타내기 위해 병렬로 생성될 수 있다. 일부 예들에서, TTS 시스템(150)(도 1)은 고정 길이 발화 임베딩(260)에 기초하여 선택된 운율로 합성된 음성(152)을 생성하기 위해 고정 길이 예측 프레임 (280)을 사용한다. 예를 들어, TTS 시스템(150)의 유닛 선택 모듈 또는 웨이브넷 모듈은 의도된 운율을 갖는 합성 음성(152)을 생성하기 위해 프레임들(280)을 사용할 수 있다.
도시된 예에서, 디코더 부분(310)은 인코더 부분(302)(도 2a 또는 2c)으로부터 수신된 발화 임베딩(260)(예를 들어, "256"의 수치)을 단어들(250, 250b), 음절들(240, 240b), 음소들(230, 230b) 및 고정 길이 예측 프레임들(280)의 계층적 레벨로 디코딩한다. 구체적으로, 고정 길이 발화 임베딩(260)은 디코더 부분(310)에 대한 계층적 입력 데이터의 변형 계층에 대응하고, 그리고 각각의 적층된 계층적 레벨은 계층적 입력 데이터의 길이에 따라 가변적으로 클록된 LSTM(Long Short-Term Memory) 처리 셀을 포함한다. 예를 들어, 음절 레벨(240)은 단어 레벨(250)보다 빠르고 음소 레벨(230)보다 느리다. 각 레벨의 직사각형 블록들은 각 단어, 음절, 음소 또는 프레임에 대한 LSTM 처리 셀들에 해당한다. 유리하게는, 자동인코더(300)는 마지막 100개 단어에 대해 단어 레벨(250) 메모리의 LSTM 프로세싱 셀들을 제공하고, 마지막 100개 음절들에 대해 음절 레벨(240) 메모리의 LSTM 셀들을 제공하고, 마지막 100개 음소들에 대해 음소 레벨(230) 메모리의 LSTM 셀들을 제공하며, 그리고 마지막 100개 고정 길이 프레임들(280)에 대해 고정 길이 피치 및/또는 에너지 프레임들(280) 메모리의 LSTM 셀들을 제공한다. 고정 길이 프레임들(280)이 각각 5 밀리 초의 지속 시간(예를 들어, 프레임 속도)을 포함할 때, 해당 LSTM 처리 셀들은 마지막 500 밀리 초(예를 들어, 0.5 초) 동안 메모리를 제공한다.
도시된 예에서, 계층적 언어 구조(200)의 디코더 부분(310)은 인코더 부분 (302)에 의해 인코딩된 고정 길이 발화 임베딩(260)을 3개의 단어들(250A 내지 250C)의 시퀀스, 5개의 음절들(240Aa 내지 240Cb)의 시퀀스 및 9개의 음소들(230Aa1 내지 230Cb2)의 시퀀스로 역전파하여 예측된 고정 길이 프레임들(280)의 시퀀스를 생성한다. 디코더 부분(310)은 입력 텍스트의 언어적 특징들에 따라 조절된다. 더 빠른 클로킹 층들로부터의 출력들이 더 느린 클로킹 층들에 의한 입력들로서 수신되는 도 2a 및 도 2c의 인코더 부분과 대조적으로, 디코더 부분(310)은, 더 느린 클로킹 층의 출력이 타이밍 신호가 부가된 각 클록 사이클에서 더 빠른 클로킹 층의 입력에 분배되도록 더 빠른 클로킹 층들을 공급하는 더 느린 클로킹 층들으로부터의 출력들을 포함한다.
도 3a 내지 도 3c를 참조하면, 일부 구현들에서, 자동인코더(300)는, 주어진 텍스트 발화(320)의 각 음절(240)에 대한 음소들(230)의 지속 시간 및 피치 및/또는 에너지 윤곽을 공동으로 예측함으로써 추론 동안 주어진 텍스트 발화(320)에 대한 운율적 표현을 예측하기 위해 계층적 언어 구조(200)를 사용한다. 텍스트 발화(320)는 텍스트 발화에 대한 적절한 운율을 나타내기 위한 컨텍스트, 의미 정보 또는 실용적인 정보를 제공하지 않으므로, 자동인코더(300)는 텍스트 발화(320)에 대한 의도된 운율을 나타내기 위해 잠재 변수로서 발화 임베딩(260)을 선택한다.
발화 임베딩(260)은 발화 임베딩 데이터 저장소(180)(도 1)에서 선택될 수 있다. 저장소(180)의 각 발화 임베딩(260)은 훈련 동안 대응하는 가변 길이 참조 오디오 신호(222)(도 2a 및 도 2c)로부터 인코더 부분(302)(도 2a 및 도 2c)에 의해 인코딩될 수 있다. 구체적으로, 인코더 부분(302)은 가변 길이 참조 오디오 신호(222)의 운율을 훈련 중에 고정 길이 발화 임베딩(260)으로 압축하고 그리고 추론에서 디코더 부분(310)에 의해 사용하기 위해 발화 임베딩 데이터 저장소(180)에 대응하는 참조 오디오 신호(222)의 전사체(261)와 함께 각 발화 임베딩(260)을 저장한다. 도시된 예에서, 자동인코더(300)는 먼저 텍스트 발화(320)와 밀접하게 일치하는 전사들(261)을 갖는 발화 임베딩들(260)을 찾은 다음, 주어진 텍스트 발화(320)에 대한 운율 표현(322)(도 1)을 예측하기 위해 발화 임베딩들(260) 중 하나를 선택할 수 있다. 일부 예들에서, 고정 길이 발화 임베딩(260)은 타겟 운율에 대한 특정 의미론 및 실용성을 나타낼 가능성이 있는 임베딩(260)의 잠재 공간에서 특정 지점을 선택함으로써 선택된다. 다른 예들에서, 잠재 공간은 텍스트 발화 (320)에 대한 의도된 운율을 표현하기 위한 임의 발화 임베딩(260)을 선택하기 위해 샘플링된다. 또 다른 예에서, 자동인코더(300)는 텍스트 발화(320)의 언어적 특징들에 대해 가장 가능성이 높은 운율을 표현하기 위해 밀접하게 일치하는 전사체들(261)을 갖는 발화 임베딩들(260)의 평균을 선택함으로써 잠재 공간을 다차원 단위 가우시안으로서 모델링한다. 훈련 데이터의 운율 변동이 합리적으로 중립적이라면, 발화 임베딩들(260)의 평균을 선택하는 마지막 예가 합리적인 선택이다.
도 3a 및 도 3c는 계층적 언어 구조(200)의 단어 레벨(250)에 표현된 3개의 단어들(250A, 250B, 250C)을 갖는 텍스트 발화(320)를 도시한다. 제1 단어(250A)는 음절들(240Aa, 240Ab)을 포함하고, 제2 단어(250B)는 한 음절( 240Ba)을 포함하고, 세 번째 단어(250C)는 음절들(240Ca, 240Cb)을 포함한다. 따라서, 계층적 언어 구조(200)의 음절 레벨(240)은 텍스트 발화(320)의 5개의 음절들 (240Aa 내지 240Cb)의 시퀀스를 포함한다. LTSM 처리 셀들의 음절 레벨(240)에서, 자동 인코더(300)는 다음 입력들: 고정 길이 발화 임베딩(260); 텍스트 발화(320)와 관련된 발화 수준 언어 특징들(262); 음절(240)을 포함하는 단어(250)와 관련된 단어 레벨 언어 특징들(252); 및 음절(240)에 대한 음절 레벨의 언어 특징들(242)로부터 각 음절(240)에 대해 대응하는 음절 임베딩(245Aa, 245Ab, 245Ba, 245Ca, 245Cb)를 생성/출력하도록 구성된다. 발화 레벨 언어 특징들(262)은, 텍스트 발화 (320)가 질문인지 여부, 질문에 대한 답변, 구, 문장 등을 포함할 수 있으나 이에 제한되지 않는다. 단어 레벨 언어 특징들(252)은, 단어 유형(예를 들어, 명사, 대명사, 동사, 형용사, 부사 등) 및 텍스트 발화(320)에서의 단어의 위치를 포함할 수 있지만, 이에 제한되지 않는다. 음절 레벨의 언어적 특징들(242)은 음절(240)이 강조되는지 여부를 포함할 수 있지만, 이에 제한되지 않는다.
도시된 예에서, 음절 레벨(240)의 각 음절(240Aa, 240Ab, 240Ba, 240Ca, 240Cb)은, 개별 고정 길이 예측 피치(F0) 프레임들(280, 280F0(도 3a))을 디코딩하고 개별 고정 길이 예측 에너지(C0) 프레임들(280, 280C0(도 3c))을 병렬로 디코딩하기 위해, 해당하는 음절 임베딩(245Aa, 245Ab, 245Ba, 245Ca, 245Cb)를 더 빠른 클로킹 음소 레벨(230)로 출력하는 대응하는 LTSM 처리 셀과 연관될 수 있다. 도 3a는 지속 시간(타이밍 및 일시 정지) 및 음절(240)에 대한 피치 윤곽을 나타내는 복수의 고정 길이 예측 피치(F0) 프레임들(280F0)을 포함하는 음절 레벨(240)의 각 음절을 도시한다. 여기서, 지속 시간 및 피치 윤곽선은 음절(240)의 운율 표현에 해당한다. 도 3c는 음소에 대한 지속 시간 및 에너지 윤곽을 나타내는 복수의 고정 길이 예측 에너지(C0) 프레임들(280C0)을 포함하는 음소 레벨(230)의 각 음소를 도시한다.
음절 레벨(240)의 제1 음절(240Aa)(즉, LTSM 처리 셀 Aa)은, 고정 길이 발화 임베딩(260), 텍스트 발화(320)와 관련된 발화 레벨 언어 특징들(262), 제1 단어(250A)와 연관된 단어 레벨 언어 특징들(252A), 및 해당 음절 임베딩 (245Aa)을 생성하기 위한 입력들로서 음절(240Aa)에 대한 음절 레벨 언어 특징들(242Aa)을 수신한다. 음절 레벨(240)의 제2 음절(240Ab)은, 고정 길이 발화 임베딩(260), 텍스트 발화(320)와 연관된 발화 레벨 언어 특징들(262), 제1 단어(250A)와 연관된 단어 레벨 언어 특징들(252A), 및 해당 음절 임베딩(245Aa)을 생성하기 위한 입력들로서 음절(240Ab)에 대한 대응하는 음절 레벨 언어 특징들(242)(미도시)을 수신한다. 이 예는 제1 음절(240Aa)과 관련된 음절 레벨 언어 특징들(242)만 보여주지만, 음절 레벨(240)의 서로 다른 음절(240Ab 내지 240Cb)과 연관된 대응하는 음절 레벨 언어적 특징들(242)은 명확성을 위해 도 3a 및 도 3b의 도면에서는 생략된다.
단순화를 위해, 음절(240Ab)에 대한 처리 블록에 입력된 대응하는 음절 수준 언어 특징(242)은 도시되지 않는다. 제2 음절(240Ab)과 연관된 LTSM 처리 셀(예를 들어, 직사각형 Ab)은 또한 선행하는 제1 음절(240Aa)의 상태를 수신한다. 음절 레벨(240)의 나머지 음절들(240Ba, 240Ca, 240Cb)의 시퀀스는 각각 유사한 방식으로 대응하는 음절 임베딩들(245Ba, 245Ca, 245Cb)을 생성한다. 단순화를 위해, 각 음절(240Ba, 240Ca, 240Cb)에 대한 처리 블록에 입력된 대응하는 음절 레벨 언어 특징들(242)은 도시되지 않는다. 더욱이, 음절 레벨(240)의 각 LTSM 처리 셀은 음절 레벨(240)의 직전 LTSM 처리 셀의 상태를 수신한다.
도 3a를 참조하면, 계층적 언어 구조(200)의 음소 레벨(230)은 각각 대응하는 예측된 음소 지속 시간(234)과 연관된 9개의 음소들(230Aa1 내지 230Cb2)의 시퀀스를 포함한다. 더욱이, 자동인코더(300)는, 대응하는 예측된 음소 지속 시간 (234)을 예측하고 음소를 포함하는 음절에 대한 대응 피치(f0) 윤곽선을 예측하기 위해 대응하는 음절 임베딩(245)을 갖는 각 음소(230Aa1 내지 230Cb2)와 연관된 음소 레벨 언어 특징들(232)을 인코딩한다. 음소 레벨 언어 특징들(232)은 대응하는 음소(230)에 대한 소리의 아이덴티티를 포함할 수 있지만, 이에 제한되지 않는다. 이 예는 제1 음소(230Aa1)와 관련된 음소 레벨 언어적 특징(232)만을 나타내지만, 음소 레벨(230)의 다른 음소들(230Aa2 내지 230Cb2)과 관련된 음소 레벨 언어 특징들(232)은 명확성을 위해 도 3a 및 도 3c의 도면들에서 생략된다.
제1 음절(240Aa)은, 음소들(230Aa1, 230Aa2)을 포함하고 그리고 음소들(230Aa1, 230Aa2)에 대한 예측된 음소 지속 시간들(234)의 합과 동일한 예측된 음절 지속 시간을 포함한다. 여기서, 제1 음절(240Aa)에 대한 예측된 음절 지속 시간은 제1 음절(240Aa)에 대해 디코딩할 고정 길이 예측 피치(F0) 프레임(280F0)의 수를 결정한다. 도시된 예에서, 자동인코더(300)는 음소들(230Aa1, 230Aa2)에 대한 예측된 음소 지속 시간(234)의 합에 기초하여 제1 음절(240Aa)에 대한 총 7개의 고정 길이 예측된 피치(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클러킹음절 층(240)은 제1 음절(240Aa)에 포함된 각 음소(230Aa1, 230Aa2)에 대한 입력으로서 제1 음절 임베딩(245Aa)을 분배한다. 타이밍 신호는 또한 제1 음절 임베딩(245Aa)에 첨부될 수 있다. 음절 레벨(240)은 또한 제1 음절(240Aa)의 상태를 제2 음절(240Ab)로 전달한다.
제2 음절(240Ab)은 단일 음소(230Ab1)를 포함하므로 음소(230Ab1)에 대한 예측된 음소 지속 시간(234)과 동일한 예측된 음절 지속 시간을 포함한다. 제2 음절(240Ab)에 대한 예측된 음절 지속 시간에 기초하여, 자동인코더(300)는 제2 음절(240Ab)에 대한 총 4개의 고정 길이 예측된 피치(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클로킹 음절 층(240)은 음소(230Ab1)에 대한 입력으로서 제2 음절 임베딩(245Ab)을 분배한다. 타이밍 신호는 또한 제2 음절 임베딩(245Aa)에 첨부될 수 있다. 음절 레벨(240)은 또한 제2 음절(240Ab)의 상태를 제3 음절(240Ba)로 전달한다.
제3 음절(240Ba)은, 음소들(230Ba1, 230Ba2, 230Ba3)을 포함하고 그리고 음소들(230Ba1, 230Ba2, 230Ba3)에 대한 예측된 음소 지속 시간들(234)의 합과 동일한 예측된 음절 지속 시간을 포함한다. 도시된 예에서, 자동인코더(300)는 음소들(230Ba1, 230Ba2, 230Ba3)에 대한 예측된 음소 지속 시간들(234)의 합에 기초하여 제3 음절(240Ba)에 대한 총 11개의 고정 길이 예측된 피치(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클로킹 음절 층(240)은 제3 음절(240Ba)에 포함된 각 음소(230Ba1, 230Ba2, 230Ba3)에 대한 입력으로서 제3 음절 임베딩(245Ba)을 분배한다. 타이밍 신호는 또한 제3 음절 임베딩(245Ba)에 추가될 수 있다. 음절 수준(240)은 또한 제3 음절(240Ba)의 상태를 제4 음절(240Ca)로 전달한다.
제4 음절(240Ca)은 단일 음소(230Ca1)를 포함하고, 따라서 음소(230Ca1)에 대한 예측된 음소 지속 시간(234)과 동일한 예측된 음절 지속 시간을 포함한다. 제4 음절(240Ca)의 예측된 음절 길이에 기초하여, 자동인코더(300)는 제4 음절(240Ca)에 대해 총 3개의 고정 길이 예측된 피치(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클로킹 음절 층(240)은 음소(230Ca1)에 대한 입력으로서 제4 음절 임베딩(245Ca)을 분배한다. 타이밍 신호는 또한 제4 음절 임베딩(245Ca)에 첨부될 수 있다. 음절 레벨(240)은 또한 제4 음절(240Ba)의 상태를 제5 음절(240Cb)로 전달한다.
마지막으로, 제5 음절(240Cb)은, 음소들(230Cb1, 230Cb2)을 포함하고, 그리고 음소들(230Cb1, 230Cb2)에 대한 예측된 음소 지속 시간들(234)의 합과 동일한 예측된 음절 지속 시간을 포함한다. 도시된 예에서, 자동인코더(300)는 음소들 (230Cb1, 230Cb2)에 대한 예측된 음소 지속 시간들(234)의 합에 기초하여 제5 음절 (240Cb)에 대한 총 6개의 고정 길이 예측된 피치(F0) 프레임들(280F0)을 디코딩한다. 따라서, 빠른 클로킹 음절 계층(240)은 제5 음절(240Cb)에 포함된 각 음소(230Cb1, 230Cb2)에 대한 입력으로서 제5 음절 임베딩(245Cb)을 분배한다. 타이밍 신호는 또한 제5 음절 임베딩(245Cb)에 첨부될 수 있다.
도 3b는, 제1 음절(240Aa)에 대한 개별 고정 길이 예측된 피치(F0) 프레임들(280F0)로의 제1 음절 임베딩(245Aa)의 디코딩을 도시하기 위해 도 3a의 점선 박스(350) 내의 상세도를 제공한다. 도 3a를 참조하여 위에서 설명한 바와 같이, 자동인코더(300)는 제1 음절(240Aa)에 대한 예측된 음절 지속 시간에 기초하여 디코딩할 고정 길이 예측된 피치(F0) 프레임들(280)의 수를 결정한다. 제1 음절(240Aa)은 더 빠른 클로킹 음절 레벨(240)의 제1 음소 및 제2 음소(230Aa1, 230Aa2) 각각에 대한 입력으로서 분배를 위해 대응하는 제1 음절 임베딩(245Aa)을 생성한다.
계층적 언어 구조(200)의 음소 레벨(230)에서, 자동인코더(300)는 제1 음절 임베딩(245Aa)을 갖는 제1 음소(230Aa1)와 연관된 음소 레벨 언어 특징들(232)을 인코딩함으로써 제1 음소(230Aa1)에 대한 음소 지속 시간(234)을 예측한다. 마찬가지로, 자동인코더(300)는 제2 음소(230Aa2)와 연관된 음소 레벨 언어적 특징(도시되지 않음)을 제1 음절 임베딩(245Aa)으로 인코딩함으로써 제2 음소(230Aa2)에 대한 음소 지속 시간(234)을 예측한다. 제2 음소(230Aa2)는 또한 제1 음소(230Aa1)로부터 이전 상태를 수신한다. 제1 음절(230Aa)에 대한 예측된 음절 지속 시간은 제1 음소 및 제2 음소(230Aa1, 230Aa2)에 대한 예측된 음소 지속 시간(234)의 합과 동일하다. 각각의 음소(230Aa1, 230Aa2)와 연관된 해당 음소 레벨 언어적 특징들(232)을 갖는 제1 음절 임베딩(245Aa)의 인코딩들은, 제1 음절(240Aa)에 대한 피치(F0)를 예측하고 제1 음절(240Aa)에 대한 고정 길이 예측된 피치(F0) 프레임들 (280F0)을 생성하기 위해 음소 레벨(230)의 출력에서 제1 음절 임베딩(245Aa)과 추가로 결합된다. 도시된 예에서, 자동인코더(300)는 제1 음절(240Aa)에 대한 예측 된 음절 지속 시간에 기초하여 디코딩/생성할 고정 길이 예측된 피치(F0) 프레임들(280F0)의 총 수(예를 들어, 7 개)를 결정한다. 따라서, 제1 음절 임베딩(245Aa)으로부터 디코딩된 고정 길이 예측된 피치(F0) 프레임들(280)은 텍스트 발화(320)의 제1 음절(240Aa)에 대한 해당 지속 시간 및 피치 윤곽을 집합적으로 나타낸다.
도 3a를 다시 참조하면, 자동인코더(300)는 음절 레벨(240)로부터 출력된 나머지 음절 임베딩들(245Ab, 245Ba, 245Ca, 245Cb) 각각을 각각의 대응하는 음절(240Ab, 240Ba, 240Ca, 240Cb)에 대한 개별 고정 길이 예측된 피치(F0) 프레임들 (280)로 유사하게 디코딩한다. 예를 들어, 제2 음절 임베딩(245Ab)은 음소 레벨 (230)의 출력에서, 제2 음절 임베딩(245Ab) 및 음소(230Ab1)와 연관된 대응하는 음소 레벨 언어 특징들(232)의 인코딩과 추가로 결합되는 반면, 제3 음절 임베딩(245Ba)은 음소 레벨(230)의 출력에서 제3 음절 임베딩(245Ba) 및 각 음소 (230Ba1, 230Ba2, 230Ba3)와 연관된 대응하는 음소 레벨 언어적 특징들(232)의 인코딩과 추가로 결합된다. 더욱이, 제4 음절 임베딩(245Ca)은 음소 레벨(230)의 출력에서 제4 음절 임베딩(245Ca)의 인코딩들 및 음소(230Ca1)와 연관된 대응하는 음소 레벨 언어적 특징들(232)과 결합되는 반면, 제5 음절 임베딩(245Cb)은 음소 레벨(230)의 출력에서 제5 음절 임베딩(245Cb) 및 각 음소(230Cb1, 230Cb2)와 연관된 대응하는 음소 레벨 언어적 특징들(232)의 인코딩과 추가로 결합된다. 자동인코더(300)에 의해 생성된 고정 길이 예측된 피치(F0) 프레임들(280F0)은 프레임 레벨 LSTM을 포함하지만, 다른 구성들은 피치(F0) 프레임들(280F0)의 프레임 레벨 LSTM을 피드-포워드(feed-forward) 계층 대체하여 해당 음절의 모든 프레임의 피치 (F0)가 한 패스에서 예측될 수 있다.
도 3c를 참조하면, 자동 인코더(300)는 또한 각 음소(230)에 대한 대응 에너지(C0) 윤곽을 예측하기 위해 대응하는 음절 임베딩(245)으로 각 음소(230Aa1 내지 230Cb2)와 연관된 음소 레벨 언어적 특징들(232)을 인코딩하도록 추가로 구성된다. 음소 레벨(230)에서 음소들(230Aa2 내지 230Cb2)과 연관된 음소 레벨 언어적 특징들(232)은 명확성을 위해 도 3c의 도면에서 생략된다. 자동인코더(300)는 대응하는 예측된 음소 지속 시간(234)에 기초하여 각각의 음소(230)에 대해 디코딩할 고정 길이 예측된 에너지(C0) 프레임들(280, 280C0)의 수를 결정한다. 예를 들어, 자동인코더(300)는, 제1 음소(230Aa1)에 대한 4개의 예측된 에너지(C0) 프레임들(280C0), 제2 음소(230Aa2)에 대한 3개의 예측된 에너지(C0) 프레임들(280C0), 제3 음소(230Ab1)에 대한 4개의 예측된 에너지(C0) 프레임들(280C0), 제4 음소(230Ba1)에 대한 2개의 예측된 에너지(C0) 프레임들(280C0), 제5 음소(230Ba2)에 대한 5개의 예측된 에너지(C0) 프레임들(280C0), 제6 음소(230Ba3)에 대한 4개의 예측된 에너지(C0) 프레임들(280C0), 제7 음소(230Ca1)에 대한 3개의 예측된 에너지(C0) 프레임들(280C0), 제8 음소(230Cb1)에 대한 4개의 예측된 에너지(C0) 프레임들(280C0), 및 제9 음소(230Cb2)에 대한 2개의 예측된 에너지(C0) 프레임들 (280C0)을 디코딩/생성한다. 따라서, 예측된 음소 지속 시간(234)과 마찬가지로, 음소 레벨(230)의 각 음소에 대한 예측된 에너지 윤곽은, 음소를 포함하는 느린 클로킹 음절 레벨(240)의 해당 음절에서 입력된 음절 임베딩(245)과 음소와 관련된 언어적 특징(232) 사이의 인코딩에 기초한다.
도 4는 텍스트 발화(320)에 대한 운율 표현(322)을 예측하는 방법(400)에 대한 동작들의 예시적인 배열의 흐름도이다. 방법(400)은 도 1 내지 도 3c를 참조하여 서술될 수 있다. 도 1의 컴퓨터 시스템(120) 상에 상주하는 메모리 하드웨어 (124)는, 데이터 처리 하드웨어(122)에 의해 실행될 때 데이터 처리 하드웨어 (122)가 방법(400)에 대한 동작들을 실행하게 하는 명령어들을 저장할 수 있다. 동작(402)에서, 방법(400)은 텍스트 발화(320)를 수신하는 것을 포함한다. 텍스트 발화(320)는 적어도 하나의 단어를 가지며, 각 단어는 적어도 하나의 음절을 가지며, 각 음절은 적어도 하나의 음소를 갖는다. 동작(404)에서, 방법(400)은 텍스트 발화(320)에 대한 발화 임베딩(260)을 선택하는 단계를 포함한다. 발화 임베딩(260)은 의도된 운율을 나타낸다. 본 명세서에서 사용되는 바와 같이, 선택된 발화 임베딩(260)은 TTS 시스템(150)에 의해 사용되는 텍스트 발화(320)의 운율 표현(322)을 예측하여 텍스트 발화(320)로부터 합성된 발화(152)를 생성하고 의도된 운율을 갖는데 사용된다. 발화 임베딩(260)은 고정 길이 수치 벡터로 표현될 수 있다. 수치 벡터는 "256"과 같은 값을 포함할 수 있다. 텍스트 발화(2300에 대해 발화 임베딩( 260)을 선택하려면, 데이터 처리 하드웨어(122)는 먼저 데이터 저장소(180)에 질의하여 텍스트 발화(320)와 밀접하게 일치하는 전사체들(261)을 갖는 발화 임베딩들 (260)을 찾을 수 있고, 그 다음, 주어진 텍스트 발화(320)에 대한 운율 표현(322)을 예측하기 위해 발화 임베딩들(260)을 선택할 수 있다. 일부 예들에서, 고정 길이 발화 임베딩(260)은 타겟 운율에 대한 특정 의미론 및 실용성을 나타낼 가능성이 있는 임베딩들(260)의 잠재 공간에서 특정 지점을 선택함으로써 선택된다. 다른 예에서, 잠재 공간은 텍스트 발화(320)에 대한 의도된 운율을 표현하기 위한 임의 발화 임베딩(260)을 선택하기 위해 샘플링된다. 또 다른 예에서, 데이터 처리 하드웨어(122)는 텍스트 발화(320)의 언어적 특징들에 대해 가장 가능성이 높은 운율을 표현하기 위해 가깝게 일치하는 전사체들(261)을 갖는 발화 임베딩들(260)의 평균을 선택함으로써 잠재 공간을 다차원 단위 가우시안으로서 모델링한다. 훈련 데이터의 운율 변동이 합리적으로 중립적이라면, 발화 임베딩(260)의 평균을 선택하는 마지막 예가 합리적인 선택이다.
동작(406)에서, 각 음절(240)에 대해, 선택된 발화 임베딩(260)을 사용하여, 방법(400)은 음절의 각 음소(230)의 언어적 특징들(232)을 음절에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 음절의 지속 시간을 예측하는 단계를 포함한다. 예를 들어, 음절(240)과 관련된 각 음소(230)에 대해, 방법(400)은 대응하는 음소(230)의 언어적 특징들(232)을 음절(240)에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 대응하는 음소(230)의 지속 시간(234)을 예측할 수 있다. 그 후, 방법(400)은 음절(240)과 연관된 각각의 음소(230)에 대한 예측된 지속 시간들(234)을 합산함으로써 음절(240)의 지속 시간을 예측할 수 있다.
동작(408)에서, 각 음절(240)에 대해 선택한 발화 임베딩(260)을 사용하여, 방법(400)은 음절에 대한 예측된 지속 시간에 기초하여 음절의 피치 윤곽을 예측하는 단계를 포함한다. 단계 410에서, 각 음절에 대해, 선택된 발화 임베딩(260)을 사용하여, 방법(400)은 또한 음절(240)에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 피치 프레임들(280, 280F0)을 생성하는 단계를 포함한다. 각각의 고정 길이 예측된 피치 프레임(280F0)은 음절(240)의 예측된 윤곽의 일부를 나타낸다.
방법(400)에 대한 추가 동작들은, 각각의 음절(240)에 대해, 선택된 발화 임베딩(260)을 사용하여, 대응하는 음소(230)에 대한 예측된 지속 시간(234)에 기초하여 음절(240)의 각 음소(230)의 에너지 윤곽을 예측하는 것을 더 포함할 수 있다. 음절과 관련된 각 음소(230)에 대해, 방법(400)은 대응하는 음소(230)에 대한 예측된 지속 기간(234)에 기초하여 복수의 고정 길이 예측된 에너지 프레임들(280, 280C0)을 생성할 수 있다. 여기서, 각각의 고정 길이 에너지 프레임(280C0)은 대응하는 음소(230)의 예측된 에너지 윤곽을 나타낸다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션들에는, 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 유지 관리 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드 시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들 및 게임 애플리케이션들이 포함되지만 이에 국한되지는 않는다.
비 일시적 메모리는 컴퓨팅 디바이스에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램들(예를 들어, 명령들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스들일 수 있다. 비 일시적 메모리는 휘발성 및/또는 비 휘발성 어드레스가능한 반도체 메모리일 수 있다. 비휘발성 메모리의 예들은, 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예를 들어, 일반적으로 부팅 프로그램들과 같은 펌웨어에 사용됨)을 포함하지만, 이에 제한되지 않는다. 휘발성 메모리의 예들은, RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크들 또는 테이프들을 포함하지만, 이에 국한되지는 않는다.
도 5는 본 문서에 서술된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(500)(예를 들어, 도 1의 컴퓨팅 시스템(120))의 개략도이다. 컴퓨팅 디바이스(500)는 랩톱들, 데스크탑들, 워크스테이션들, 개인용 디지털 보조장치들, 서버들, 블레이드 서버들, 메인프레임들 및 기타 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 여기에 표시된컴포넌트들, 이들의 연결들 및 관계들 및 기능들은 예시일 뿐이며이 이 문서에서 서술 및/또는 청구된 발명들의 구현들을 제한하려는 것은 아니다.
컴퓨팅 디바이스(500)는 프로세서(510), 메모리(520), 저장 장치(530), 메모리(520) 및 고속 확장 포트들(550)에 연결되는 고속 인터페이스/제어기(540) 및 저속 버스(570) 및 저장 장치(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 각각의 컴포넌트들(510, 520, 530, 540, 550, 560)은 다양한 버스들을 사용하여 상호 연결되며, 공통 마더 보드상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(510)(예를 들어, 도 1의 데이터 처리 하드웨어(122))는 메모리(520) (예를 들어, 도 1의 메모리 하드웨어(124))에 또는 저장 장치(530)(예를 들어, 도 1의 메모리 하드웨어(124)) 상에 저장된 명령어들을 포함하여 컴퓨팅 디바이스(500) 내에서 실행하기 위한 명령어들을 처리하여, 고속 인터페이스(540)에 연결된 디스플레이(580)와 같은 외부 입력/출력 디바이스 상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시한다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 메모리의 유형들과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(500)은 필요한 동작들의 일부들을 제공하는 각 디바이스(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(520)는 컴퓨팅 디바이스(500) 내에 비 일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비 휘발성 메모리 유닛(들)일 수 있다. 비 일시적 메모리(520)는 컴퓨팅 디바이스(500)에서 사용하기 위해 임시 또는 영구적으로 프로그램들(예를 들어, 명령들의 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스들일 수 있다. 비 휘발성 메모리의 예들은, 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예를 들어, 일반적으로 부팅 프로그램들과 같은 펌웨어에 사용됨)를 포함하지만, 이에 제한되지 않는다. 휘발성 메모리의 예들은, RAM(Random Access Memory), DRAM (Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 제한되지는 않는다.
저장 디바이스(530)는 컴퓨팅 디바이스(500)에 대용량 저장 장치를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(530)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현들에서, 저장 디바이스(530)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 궝들에서 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 추가 구현들에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들이 포함되어 있다. 정보 매체는, 메모리(520), 저장 디바이스(530) 또는 프로세서 (510)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(540)는 컴퓨팅 디바이스(500)에 대한 대역폭 집약적인 동작들을 관리하는 반면, 저속 제어기(560)는 낮은 대역폭 집약적인 동작들을 관리한다. 이러한 업무 할당은 예시일 뿐이다. 일부 구현들에서, 고속 제어기(540)는, 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(550)에 결합된다. 일부 구현들에서, 저속 제어기(560)는 저장 디바이스(530) 및 저속 확장 포트(590)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(590)는, 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스(예를 들어, 네트워크 어댑터를 통해)에 결합될 수 있다.
컴퓨팅 디바이스(500)는 도면에 도시 된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 표준 서버(500a)로서 또는 그러한 서버들(500a)의 그룹에서 여러 번, 랩톱 컴퓨터(500b) 또는 랙 서버 시스템(500c)의 일부로서 구현될 수 있다.
여기에 서술된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현들에는, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그리고 이들에 데이터 및 명령어들을 전송하도록 결합된 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템상에서 실행 가능하고 그리고/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 함)에는 프로그래밍 가능한 프로세서에 대한 기계 명령어들이 포함되어 있으며, 그리고 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계에서 구현될 수 있다. 본 명세서에서 사용되는 용어들 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는, 기계 판독 가능 신호로 기계 명령어들을 수신하는 기계 판독 가능 매체를 포함하여 프로그래밍 가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비 일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그래밍가능한 논리 디바이스(PLD)들)를 말한다. 용어 "기계 판독 가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 모든 신호를 말한다.
본 명세서에 서술된 프로세스들 및 논리 흐름들은 데이터 처리 하드웨어라고도하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스들 및 논리 흐름들은, 특수 목적의 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 또한 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예를 들어, 범용 및 특수 목적의 마이크로 프로세서들과 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로 프로세서는 읽기 전용 메모리 나 랜덤 액세스 메모리 또는 둘 다에서 명령어들 및 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 수행하기위한 프로세서와 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나, 또는 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 이들에 데이터를 전송하거나 둘 모두를 수행하기 위해 하나 이상의 대용량 저장 장치에 작동 가능하게 결합된다. 그러나, 컴퓨터에는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 발명의 하나 이상의 양태들은, 정보를 사용자에게 디스플레이하기 위한 CRT(음극선 관), LCD(액정 디스플레이) 모니터 또는 터치 스크린과 같은 디스플레이 장치, 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치들도 사용할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백일 수 있다. 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 장치와 문서들을 주고 받음으로써, 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
많은 구현들이 서술되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변형들이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현들은 다음 청구항들의 범위 내에 있다.

Claims (26)

  1. 방법(400)으로서,
    데이터 처리 하드웨어(122)에서, 적어도 하나의 단어(250)를 갖는 텍스트 발화(320)를 수신하는 단계 - 각 단어(250)는 적어도 하나의 음절(240)을 갖고, 각 음절(240)은 적어도 하나의 음소(230)를 가지며 - 와;
    상기 데이터 처리 하드웨어(122)에 의해, 상기 텍스트 발화(320)에 대한 발화 임베딩(260)을 선택하는 단계 - 상기 발화 임베딩(260)은 의도된 운율을 나타내며 - 와; 그리고
    각 음절(240)에 대해, 상기 선택된 발화 임베딩(260)을 사용하여:
    상기 데이터 처리 하드웨어(122)에 의해, 상기 음절(240)의 각 음소(230)의 언어적 특징들(232)을 상기 음절(240)에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 상기 음절(240)의 지속 시간을 예측하는 단계와;
    상기 데이터 처리 하드웨어(122)에 의해, 상기 음절(240)에 대한 예측된 지속 시간에 기초하여 상기 음절(240)의 피치 윤곽(F0)을 예측하는 단계와; 그리고
    상기 데이터 처리 하드웨어(122)에 의해, 상기 음절(240)에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 피치 프레임들을 생성하는 단계를 포함하며,
    각 고정 길이 예측된 피치 프레임은 상기 음절(240)의 예측된 피치 윤곽(F0)의 부분을 나타내는 것을 특징으로 하는
    방법.
  2. 제1항에 있어서,
    상기 텍스트 발화(320)의 계층적 언어 구조(200)를 나타내는 네트워크는:
    상기 텍스트 발화(320)의 각 음절(240)을 포함하는 제1 레벨;
    상기 텍스트 발화(320)의 각 음소(230)를 포함하는 제2 레벨; 및
    상기 텍스트 발화(320)의 각 음절(240)에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨을 포함하는 것을 특징으로 하는
    방법.
  3. 제2항에 있어서,
    상기 계층적 언어 구조(200)를 나타내는 네트워크의 제1 레벨은 상기 텍스트 발화(320)의 각 음절(240)을 나타내는 LSTM(long short-term memory) 처리 셀을 포함하고;
    상기 계층적 언어 구조(200)를 나타내는 네트워크의 제2 레벨은 상기 텍스트 발화(320)의 각 음소(230)를 나타내는 LSTM 처리 셀을 포함하고, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며; 그리고
    상기 계층적 언어 구조(200)를 나타내는 네트워크의 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함하고, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠른게 클로킹되는 것을 특징으로 하는
    방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 음절(240)의 지속 시간을 예측하는 단계는:
    상기 음절(240)과 관련된 각 음소(230)에 대해, 상기 대응하는 음소(230)의 언어적 특징들(232)을 상기 음절(240)에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 상기 대응하는 음소(230)의 지속 시간을 예측하는 단계와; 그리고
    상기 음절(240)과 관련된 각 음소(230)에 대해 상기 예측된 지속 시간(234)을 합산하여 상기 음절(240)의 지속 시간을 결정하는 단계를 포함하는 것을 특징으로 하는
    방법.
  5. 제4항에 있어서,
    상기 음절(240)에 대한 예측된 지속 시간에 기초하여 상기 음절(240)의 피치 윤곽(F0)을 예측하는 단계는: 상기 음절(240)에 대한 대응하는 운율 음절 임베딩(245)을 상기 대응하는 운율 음절 임베딩(245) 및 상기 음절(240)과 관련된 각 대응하는 음소(230)의 음소-레벨 언어적 특징들(232)의 각 인코딩을 결합하는 단계를 포함하는 것을 특징으로 하는
    방법.
  6. 제1항에 있어서,
    각 음절(240)에 대해, 상기 선택된 발화 임베딩(260)을 사용하여:
    상기 데이터 처리 하드웨어(122)에 의해, 상기 대응하는 음소(230)에 대한 예측된 지속 시간(234)에 기초하여 상기 음절(240)의 각 음소(230)의 에너지 윤곽(C0)을 예측하는 단계와; 그리고
    상기 음절(240)과 관련된 각 음소(230)에 대해, 상기 데이터 처리 하드웨어(122)에 의해, 상기 대응하는 음소(230)에 대한 예측된 지속 시간(234)에 기초하여 복수의 고정 길이 예측된 에너지 프레임들을 생성하는 단계를 포함하고,
    각 고정 길이 예측된 에너지 프레임은 상기 대응하는 음소(230)의 예측된 에너지 윤곽(C0)을 나타내는 것을 특징으로 하는
    방법.
  7. 제6항에 있어서,
    상기 텍스트 발화(320)의 계층적 언어 구조(200)는:
    상기 텍스트 발화(320)의 각 음절(240)을 포함하는 제1 레벨;
    상기 텍스트 발화(320)의 각 음소(230)를 포함하는 제2 레벨;
    상기 텍스트 발화(320)의 각 음절(240)에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨; 및
    상기 제3 레벨과 평행하고 그리고 상기 텍스트 발화(320)의 각 음소(230)에 대한 각각의 고정 길이 예측된 에너지 프레임을 포함하는 제4 레벨을 포함하는 것을 특징으로 하는
    방법.
  8. 제7항에 있어서,
    상기 계층적 언어 구조(200)의 제1 레벨은 상기 텍스트 발화(320)의 각 음절(240)을 나타내는 LSTM 처리 셀을 포함하고;
    상기 계층적 언어 구조(200)의 제2 레벨은 상기 텍스트 발화(320)의 각 음소(230)를 나타내는 LSTM 처리 셀을 포함하고, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며;
    상기 계층적 언어 구조(200)의 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함하고, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며; 그리고
    상기 계층적 언어 구조(200)의 제4 레벨은 각각의 고정 길이 예측된 에너지 프레임을 나타내는 LSTM 처리 셀을 포함하고, 상기 제4 레벨의 LSTM 처리 셀들은 상기 제3 레벨의 LSTM 처리 셀들과 동일한 속도로 클로킹되고 그리고 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되는 것을 특징으로 하는
    방법.
  9. 제7항에 있어서,
    상기 계층적 언어 구조(200)의 제3 레벨은, 단일 패스에서 각 음절(240)에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층(feed-forward layer)을 포함하고, 그리고
    상기 계층적 언어 구조(200)의 제4 레벨은, 단일 패스에서 각 음소(230)에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함하는 것을 특징으로 하는
    방법.
  10. 제6항에 있어서,
    상기 고정 길이 예측된 에너지 프레임들의 길이 및 상기 고정 길이 예측된 피치 프레임들의 길이는 동일한 것을 특징으로 하는
    방법.
  11. 제6항에 있어서,
    상기 수신된 텍스트 발화(320)의 각 음소(230)에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수는, 상기 수신된 텍스트 발화(320)의 각 음절(240)에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수와 동일한 것을 특징으로 하는
    방법.
  12. 제1항에 있어서,
    상기 발화 임베딩(260)은 고정 길이 수치 벡터를 포함하는 것을 특징으로 하는
    방법.
  13. 제1항에 있어서,
    상기 데이터 처리 하드웨어(122)에 의해, 복수의 참조 오디오 신호들(222)을 포함하는 훈련 데이터를 수신하는 단계 - 각각의 참조 오디오 신호(222)는 인간 음성의 음성 발화를 포함하고 대응하는 운율을 가지며 - 와; 그리고
    각각의 참조 오디오 신호(222)를 상기 참조 오디오 신호(222)의 대응하는 운율을 나타내는 대응하는 고정 길이 발화 임베딩(260)으로 임코딩함으로써 운율 모델(300)을 위한 심층 신경망(200)을, 상기 데이터 처리 하드웨어(122)에 의해 훈련하는 단계를 더 포함하는 것을 특징으로 하는
    방법.
  14. 시스템(100)으로서,
    데이터 처리 하드웨어(122)와; 그리고
    상기 데이터 처리 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 포함하고,
    상기 메모리 하드웨어(124)는 명령어들을 저장하고, 상기 명령어들은 상기 데이터 처리 하드웨어(122) 상에서 실행될 때 상기 데이터 처리 하드웨어(122)가 동작들을 수행하도록 하며,
    상기 동작들은:
    적어도 하나의 단어(250)를 갖는 텍스트 발화(320)를 수신하는 단계 - 각 단어(250)는 적어도 하나의 음절(240)을 갖고, 각 음절(240)은 적어도 하나의 음소(230)를 가지며 - 와;
    상기 텍스트 발화(320)에 대한 발화 임베딩(260)을 선택하는 단계 - 상기 발화 임베딩(260)은 의도된 운율을 나타내며 - 와; 그리고
    각 음절(240)에 대해, 상기 선택된 발화 임베딩(260)을 사용하여:
    상기 음절(240)의 각 음소(230)의 언어적 특징들(232)을 상기 음절(240)에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 상기 음절(240)의 지속 시간을 예측하는 단계와;
    상기 음절(240)에 대한 예측된 지속 시간에 기초하여 상기 음절(240)의 피치 윤곽(F0)을 예측하는 단계와; 그리고
    상기 음절(240)에 대한 예측된 지속 시간에 기초하여 복수의 고정 길이 예측된 피치 프레임들을 생성하는 단계를 포함하며,
    각 고정 길이 예측된 피치 프레임은 상기 음절(240)의 예측된 피치 윤곽(F0)의 부분을 나타내는 것을 특징으로 하는
    시스템.
  15. 제14항에 있어서,
    상기 텍스트 발화(320)의 계층적 언어 구조(200)를 나타내는 네트워크는:
    상기 텍스트 발화(320)의 각 음절(240)을 포함하는 제1 레벨;
    상기 텍스트 발화(320)의 각 음소(230)를 포함하는 제2 레벨; 및
    상기 텍스트 발화(320)의 각 음절(240)에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨을 포함하는 것을 특징으로 하는
    시스템.
  16. 제15항에 있어서,
    상기 계층적 언어 구조(200)를 나타내는 네트워크의 제1 레벨은 상기 텍스트 발화(320)의 각 음절(240)을 나타내는 LSTM 처리 셀을 포함하고;
    상기 계층적 언어 구조(200)를 나타내는 네트워크의 제2 레벨은 상기 텍스트 발화(320)의 각 음소(230)를 나타내는 LSTM 처리 셀을 포함하고, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며; 그리고
    상기 계층적 언어 구조(200)를 나타내는 네트워크의 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함하고, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되는 것을 특징으로 하는
    시스템.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서,
    상기 음절(240)의 지속 시간을 예측하는 단계는:
    상기 음절(240)과 관련된 각 음소(230)에 대해, 상기 대응하는 음소(230)의 언어적 특징들(232)을 상기 음절(240)에 대한 대응하는 운율 음절 임베딩(245)으로 인코딩함으로써 상기 대응하는 음소(230)의 지속 시간을 예측하는 단계와; 그리고
    상기 음절(240)과 관련된 각 음소(230)에 대해 상기 예측된 지속 시간(234)을 합산하여 상기 음절(240)의 지속 시간을 결정하는 단계를 포함하는 것을 특징으로 하는
    시스템.
  18. 제17항에 있어서,
    상기 음절(240)에 대한 예측된 지속 시간에 기초하여 상기 음절(240)의 피치 윤곽(F0)을 예측하는 단계는: 상기 음절(240)에 대한 대응하는 운율 음절 임베딩(245)을 상기 대응하는 운율 음절 임베딩(245) 및 상기 음절(240)과 관련된 각 대응하는 음소(230)의 음소-레벨 언어적 특징들(232)의 각 인코딩을 결합하는 단계를 포함하는 것을 특징으로 하는
    시스템.
  19. 제14항에 있어서,
    상기 동작들은, 각 음절(240)에 대해, 상기 선택된 발화 임베딩(260)을 사용하여:
    상기 대응하는 음소(230)에 대한 예측된 지속 시간에 기초하여 상기 음절(240)의 각 음소(230)의 에너지 윤곽(C0)을 예측하는 단계와; 그리고
    상기 음절(240)과 관련된 각 음소(230)에 대해, 상기 대응하는 음소(230)에 대한 예측된 지속 시간(234)에 기초하여 복수의 고정 길이 예측된 에너지 프레임들을 생성하는 단계를 더 포함하고,
    각 고정 길이 예측된 에너지 프레임은 상기 대응하는 음소(230)의 예측된 에너지 윤곽(C0)을 나타내는 것을 특징으로 하는
    시스템.
  20. 제19항에 있어서,
    상기 텍스트 발화(320)의 계층적 언어 구조(200)는:
    상기 텍스트 발화(320)의 각 음절(240)을 포함하는 제1 레벨;
    상기 텍스트 발화(320)의 각 음소(230)를 포함하는 제2 레벨;
    상기 텍스트 발화(320)의 각 음절(240)에 대한 각각의 고정 길이 예측된 피치 프레임을 포함하는 제3 레벨; 및
    상기 제3 레벨과 평행하고 그리고 상기 텍스트 발화(320)의 각 음소(230)에 대한 각각의 고정 길이 예측된 에너지 프레임을 포함하는 제4 레벨을 포함하는 것을 특징으로 하는
    시스템.
  21. 제20항에 있어서,
    상기 계층적 언어 구조(200)의 제1 레벨은 상기 텍스트 발화(320)의 각 음절(240)을 나타내는 LSTM 처리 셀을 포함하고;
    상기 계층적 언어 구조(200)의 제2 레벨은 상기 텍스트 발화(320)의 각 음소(230)를 나타내는 LSTM 처리 셀을 포함하고, 상기 제2 레벨의 LSTM 처리 셀들은 상기 제1 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제1 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며
    상기 계층적 언어 구조(200)의 제3 레벨은 각각의 고정 길이 예측된 피치 프레임을 나타내는 LSTM 처리 셀을 포함하고, 상기 제3 레벨의 LSTM 처리 셀들은 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되며; 그리고
    상기 계층적 언어 구조(200)의 제4 레벨은 각각의 고정 길이 예측된 에너지 프레임을 나타내는 LSTM 처리 셀을 포함하고, 상기 제4 레벨의 LSTM 처리 셀들은 상기 제3 레벨의 LSTM 처리 셀들과 동일한 속도로 클로킹되고 그리고 상기 제2 레벨의 LSTM 처리 셀들에 대해 그리고 상기 제2 레벨의 LSTM 처리 셀들보다 빠르게 클로킹되는 것을 특징으로 하는
    시스템.
  22. 제20항에 있어서,
    상기 계층적 언어 구조(200)의 제3 레벨은, 단일 패스에서 각 음절(240)에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함하고, 그리고
    상기 계층적 언어 구조(200)의 제4 레벨은, 단일 패스에서 각 음소(230)에 대한 상기 예측된 피치 프레임들을 예측하는 피드-포워드 계층을 포함하는 것을 특징으로 하는
    시스템.
  23. 제19항에 있어서,
    상기 고정 길이 예측된 에너지 프레임들의 길이 및 상기 고정 길이 예측된 피치 프레임들의 길이는 동일한 것을 특징으로 하는
    시스템.
  24. 제19항에 있어서,
    상기 수신된 텍스트 발화(320)의 각 음소(230)에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수는, 상기 수신된 텍스트 발화(320)의 각 음절(240)에 대해 생성된 고정 길이 예측된 에너지 프레임들의 총 수와 동일한 것을 특징으로 하는
    시스템.
  25. 제14항에 있어서,
    상기 발화 임베딩(260)은 고정 길이 수치 벡터를 포함하는 것을 특징으로 하는
    시스템.
  26. 제14항에 있어서,
    상기 동작들은,
    복수의 참조 오디오 신호들(222)을 포함하는 훈련 데이터를 수신하는 단계 - 각각의 참조 오디오 신호(222)는 인간 음성의 음성 발화를 포함하고 대응하는 운율을 가지며 - 와; 그리고
    각각의 참조 오디오 신호(222)를 상기 참조 오디오 신호(222)의 대응하는 운율을 나타내는 대응하는 고정 길이 발화 임베딩(260)으로 임코딩함으로써 운율 모델(300)을 위한 심층 신경망(200)을 훈련하는 단계를 더 포함하는 것을 특징으로 하는
    시스템.
KR1020207032596A 2018-05-11 2019-04-12 클록워크 계층적 변이 인코더 KR102327614B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217036742A KR102464338B1 (ko) 2018-05-11 2019-04-12 클록워크 계층적 변이 인코더

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862670384P 2018-05-11 2018-05-11
US62/670,384 2018-05-11
PCT/US2019/027279 WO2019217035A1 (en) 2018-05-11 2019-04-12 Clockwork hierarchical variational encoder

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217036742A Division KR102464338B1 (ko) 2018-05-11 2019-04-12 클록워크 계층적 변이 인코더

Publications (2)

Publication Number Publication Date
KR20200141497A KR20200141497A (ko) 2020-12-18
KR102327614B1 true KR102327614B1 (ko) 2021-11-17

Family

ID=66323968

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020217036742A KR102464338B1 (ko) 2018-05-11 2019-04-12 클록워크 계층적 변이 인코더
KR1020207032596A KR102327614B1 (ko) 2018-05-11 2019-04-12 클록워크 계층적 변이 인코더

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020217036742A KR102464338B1 (ko) 2018-05-11 2019-04-12 클록워크 계층적 변이 인코더

Country Status (6)

Country Link
US (2) US10923107B2 (ko)
EP (1) EP3776531A1 (ko)
JP (2) JP7035225B2 (ko)
KR (2) KR102464338B1 (ko)
CN (2) CN112005298B (ko)
WO (1) WO2019217035A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7082357B2 (ja) * 2018-01-11 2022-06-08 ネオサピエンス株式会社 機械学習を利用したテキスト音声合成方法、装置およびコンピュータ読み取り可能な記憶媒体
JP7035225B2 (ja) * 2018-05-11 2022-03-14 グーグル エルエルシー クロックワーク階層化変分エンコーダ
US11264010B2 (en) * 2018-05-11 2022-03-01 Google Llc Clockwork hierarchical variational encoder
EP3576019A1 (en) * 2018-05-29 2019-12-04 Nokia Technologies Oy Artificial neural networks
KR20200015418A (ko) * 2018-08-02 2020-02-12 네오사피엔스 주식회사 순차적 운율 특징을 기초로 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체
WO2021040490A1 (en) * 2019-08-30 2021-03-04 Samsung Electronics Co., Ltd. Speech synthesis method and apparatus
CN114746935A (zh) * 2019-12-10 2022-07-12 谷歌有限责任公司 基于注意力的时钟层次变分编码器
US11562744B1 (en) * 2020-02-13 2023-01-24 Meta Platforms Technologies, Llc Stylizing text-to-speech (TTS) voice response for assistant systems
US11881210B2 (en) * 2020-05-05 2024-01-23 Google Llc Speech synthesis prosody using a BERT model
CN111724809A (zh) * 2020-06-15 2020-09-29 苏州意能通信息技术有限公司 一种基于变分自编码器的声码器实现方法及装置
US11514888B2 (en) 2020-08-13 2022-11-29 Google Llc Two-level speech prosody transfer
US11232780B1 (en) 2020-08-24 2022-01-25 Google Llc Predicting parametric vocoder parameters from prosodic features
CN112542153A (zh) * 2020-12-02 2021-03-23 北京沃东天骏信息技术有限公司 时长预测模型训练方法和装置、语音合成方法和装置
EP4338157A1 (en) * 2021-06-30 2024-03-20 Google LLC Injecting text in self-supervised speech pre-training
KR20240030714A (ko) * 2022-08-31 2024-03-07 삼성전자주식회사 전자 장치 및 이의 제어 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018067547A1 (en) 2016-10-04 2018-04-12 Nuance Communications, Inc. Speech synthesis

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU675389B2 (en) * 1994-04-28 1997-01-30 Motorola, Inc. A method and apparatus for converting text into audible signals using a neural network
CN1234109C (zh) * 2001-08-22 2005-12-28 国际商业机器公司 语调生成方法、语音合成装置、语音合成方法及语音服务器
CN101064103B (zh) * 2006-04-24 2011-05-04 中国科学院自动化研究所 基于音节韵律约束关系的汉语语音合成方法及系统
CN102254554B (zh) * 2011-07-18 2012-08-08 中国科学院自动化研究所 一种对普通话重音进行层次化建模和预测的方法
CN102270449A (zh) 2011-08-10 2011-12-07 歌尔声学股份有限公司 参数语音合成方法和系统
CN105185373B (zh) * 2015-08-06 2017-04-05 百度在线网络技术(北京)有限公司 韵律层级预测模型的生成及韵律层级预测方法和装置
CN105244020B (zh) * 2015-09-24 2017-03-22 百度在线网络技术(北京)有限公司 韵律层级模型训练方法、语音合成方法及装置
US20190087734A1 (en) 2016-03-28 2019-03-21 Sony Corporation Information processing apparatus and information processing method
US10366165B2 (en) * 2016-04-15 2019-07-30 Tata Consultancy Services Limited Apparatus and method for printing steganography to assist visually impaired
TWI595478B (zh) * 2016-04-21 2017-08-11 國立臺北大學 可學習不同語言及模仿不同語者說話方式之韻律參數語速正規化器、語速相依韻律模型建立器、可控語速之韻律訊息產生裝置及韻律訊息產生方法
JP2018004977A (ja) * 2016-07-04 2018-01-11 日本電信電話株式会社 音声合成方法、システム及びプログラム
CN107464559B (zh) * 2017-07-11 2020-12-15 中国科学院自动化研究所 基于汉语韵律结构和重音的联合预测模型构建方法及系统
US11264010B2 (en) * 2018-05-11 2022-03-01 Google Llc Clockwork hierarchical variational encoder
JP7035225B2 (ja) * 2018-05-11 2022-03-14 グーグル エルエルシー クロックワーク階層化変分エンコーダ
CN113874934A (zh) * 2019-05-23 2021-12-31 谷歌有限责任公司 有表达力的端到端语音合成中的变分嵌入容量
US11222620B2 (en) * 2020-05-07 2022-01-11 Google Llc Speech recognition using unspoken text and speech synthesis
US11232780B1 (en) * 2020-08-24 2022-01-25 Google Llc Predicting parametric vocoder parameters from prosodic features

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018067547A1 (en) 2016-10-04 2018-04-12 Nuance Communications, Inc. Speech synthesis

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Y Wang, D Stanton et al., 'Style tokens: Unsupervised style modeling, control and transfer in end-to-end speech synthesis',Proceedings of the 35th International Conference on Machine Learning, 2018.

Also Published As

Publication number Publication date
US10923107B2 (en) 2021-02-16
CN112005298B (zh) 2023-11-07
CN117524188A (zh) 2024-02-06
CN112005298A (zh) 2020-11-27
KR20210138155A (ko) 2021-11-18
KR102464338B1 (ko) 2022-11-07
JP2021521492A (ja) 2021-08-26
JP2022071074A (ja) 2022-05-13
US11393453B2 (en) 2022-07-19
JP7376629B2 (ja) 2023-11-08
US20210134266A1 (en) 2021-05-06
US20190348020A1 (en) 2019-11-14
WO2019217035A1 (en) 2019-11-14
KR20200141497A (ko) 2020-12-18
JP7035225B2 (ja) 2022-03-14
EP3776531A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
KR102327614B1 (ko) 클록워크 계층적 변이 인코더
US11664011B2 (en) Clockwork hierarchal variational encoder
JP7395792B2 (ja) 2レベル音声韻律転写
US11881210B2 (en) Speech synthesis prosody using a BERT model
US20240038214A1 (en) Attention-Based Clockwork Hierarchical Variational Encoder
KR102594081B1 (ko) 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기
KR102677459B1 (ko) 2-레벨 스피치 운율 전송
KR20240096867A (ko) 2-레벨 스피치 운율 전송

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant