KR20230149338A - 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 - Google Patents

운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 Download PDF

Info

Publication number
KR20230149338A
KR20230149338A KR1020237035502A KR20237035502A KR20230149338A KR 20230149338 A KR20230149338 A KR 20230149338A KR 1020237035502 A KR1020237035502 A KR 1020237035502A KR 20237035502 A KR20237035502 A KR 20237035502A KR 20230149338 A KR20230149338 A KR 20230149338A
Authority
KR
South Korea
Prior art keywords
level
syllable
vocoder
model
linguistic
Prior art date
Application number
KR1020237035502A
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 구글 엘엘씨
Publication of KR20230149338A publication Critical patent/KR20230149338A/ko

Links

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/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/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • 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
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

방법(600)은 단어들(240)을 갖는 텍스트 발화(320)를 수신하는 단계를 포함하며, 각 단어는 하나 이상의 음절들(230)을 갖고 각 음절은 하나 이상의 음소들(220)을 갖는다. 이 방법은 또한 보코더 모델(400)에 대한 입력으로서 텍스트 발화에 대한 의도된 운율을 나타내는 운율적 특징들(322) 및 언어적 사양(specification)(402)을 수신하는 단계를 포함한다. 운율적 특징들은 텍스트 발화에 대한 지속 시간, 음높이 윤곽, 에너지 윤곽을 포함하고, 언어적 사양은 문장-레벨 언어적 특징들(252), 단어-레벨 언어적 특징들(242), 음절-레벨 언어적 특징들(232), 및 음소-레벨 언어적 특징들(222)을 포함한다. 방법은 또한 운율적 특징들 및 언어적 사양에 기초하여 보코더 파라미터들(450)을 예측하는 단계를 포함한다. 방법은 또한 의도된 운율을 갖는 텍스트 발화의 합성된 스피치 표현(152)을 생성하도록 구성된 파라메트릭 보코더(155)에 예측된 보코더 파라미터들 및 운율적 특징들을 제공하는 단계를 포함한다.

Description

운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기{PREDICTING PARAMETRIC VOCODER PARAMETERS FROM PROSODIC FEATURES}
본 개시는 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하는 것에 관한 것이다.
스피치 합성 시스템은 텍스트 스피치 변환(TTS) 모델을 사용하여 텍스트 입력에서 스피치를 생성한다. 생성/합성된 스피치는 의도된 운율(표현성)과 함께 인간의 스피치(자연스러움)처럼 들리면서 메시지(요해도)를 정확하게 전달해야 한다. 기존의 연결(concatenative) 및 파라메트릭(parametric) 합성 모델은 명료한 스피치를 제공할 수 있고 스피치의 신경 모델링의 최근 발전으로 합성 스피치의 자연스러움이 크게 개선되었지만, 대부분의 기존 TTS 모델은 운율 모델링에 비효율적이어서 중요한 애플리케이션들에서 사용되는 합성 스피치의 표현력이 부족하다. 예를 들어, 억양, 강세, 리듬 및 스타일과 같이 텍스트 입력에서 전달되지 않는 운율적 특징들을 가(imput)하여 사실적인 스피치를 생산하는 것이 대화 어시스턴트 및 장문 판독기(long-form readers)와 같은 애플리케이션들에 바람직하다. 예를 들어, 간단한 문장은 그 문장이 질문인지, 질문에 대한 대답인지, 문장에 불확실성이 있는지, 또는 입력 텍스트에 의해 특정되지 않은 환경이나 컨텍스트(context)에 대한 다른 의미를 전달하기 위한 것인지에 따라 다양한 방식으로 발화될 수 있다.
최근에는, 합성 스피치의 운율을 효과적으로 모델링하기 위해 지속 시간, 음높이 윤곽 및 에너지 윤곽의 운율적 특징들을 예측하기 위한 변이 오토인코더(variational autoencoder)들이 개발되었다. 이러한 예측된 운율적 특징들은 WaveNet 또는 WaveRNN 모델과 같은 언어적 및 운율적 특징들에서 동작하는 대규모 신경 네트워크-기반 음향 모델들을 구동하기에 충분하지만, 이러한 예측된 운율적 특징들은 많은 추가 보코더 파라미터들을 필요로 하는 파라메트릭 보코더들을 구동하기에 불충분하다.
본 개시의 일 양태는 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 위한 방법을 제공한다. 이 방법은 데이터 프로세싱 하드웨어에서 하나 이상의 단어들을 포함하는 텍스트 발화를 수신하는 단계를 포함하며, 각 단어는 하나 이상의 음절들을 포함하고 각 음절은 하나 이상의 음소들을 포함한다. 방법은 또한 데이터 프로세싱 하드웨어에서 보코더 모델에 대한 입력으로서, 텍스트 발화에 대한 의도된 운율 및 텍스트 발화의 언어적 사양을 표현하는 운율 모델로부터 출력된 운율적 특징들을 수신하는 단계를 포함한다. 운율적 특징들은 텍스트 발화에 대한 지속 시간, 음높이 윤곽, 에너지 윤곽을 포함하고, 텍스트 발화의 언어적 사양은 텍스트 발화에 대한 문장-레벨 언어적 특징들, 텍스트 발화의 각 단어에 대한 단어-레벨 언어적 특징들, 텍스트 발화의 각 음절에 대한 음절-레벨 언어적 특징들 및 텍스트 발화의 각 음소에 대한 음소-레벨 언어적 특징을 포함한다. 방법은 또한 데이터 프로세싱 하드웨어에 의해, 보코더 모델로부터의 출력으로서, 운율 모델로부터 출력된 운율적 특징들 및 텍스트 발화의 언어적 사양에 기초한 보코더 파라미터들을 예측하는 단계를 포함한다. 이 방법은 또한 데이터 프로세싱 하드웨어에 의해, 보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 단계를 포함한다. 파라메트릭 보코더는 의도된 운율을 갖는 텍스트 발화의 합성된 스피치 표현을 생성하도록 구성된다.
본 개시의 구현예는 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 방법은 데이터 프로세싱 하드웨어에서, 보코더 모델에 대한 입력으로서 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화를 수신하는 단계를 더 포함한다. 이러한 구현예에서 보코더 파라미터들을 예측하는 것은 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화를 기반으로 한다. 일부 예에서, 언어적 특징 정렬 활성화는 단어-레벨 정렬 활성화 및 음절-레벨 정렬 활성화를 포함한다. 단어-레벨 정렬 활성화는 각 단어의 활성화를 단어의 각 음절에 대한 음절-레벨 언어적 특징들과 각각 정렬하고, 음절-레벨 정렬 활성화는 각 음절의 각 음소에 대한 음소-레벨 언어적 특징들과 각 음절의 활성화를 각각 정렬한다. 여기서, 각 단어의 활성화는 대응하는 단어에 대한 단어-레벨의 언어적 특징들과 텍스트 발화에 대한 문장-레벨의 언어적 특징들에 기반할 수 있다. 일부 예에서, 단어-레벨의 언어적 특징들은 텍스트 발화로부터 양방향 인코더 표현 변환기(Bidirectional Encoder Representations from Transformers)(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함한다.
일부 구현예에서, 방법은 데이터 프로세싱 하드웨어에 의해, 텍스트 발화에 대한 발화 임베딩을 선택하는 단계를 더 포함하며, 발화 임베딩은 의도된 운율을 표현한다. 각 음절에 대해, 선택한 발화 임베딩을 사용하여, 방법은: 데이터 프로세싱 하드웨어에 의해, 운율 모델을 사용하여, 음절 내 각 음소의 음소-레벨 언어적 특징들을 음절에 대한 대응하는 운율적 음절 임베딩으로 인코딩함으로써 음절의 지속 시간을 예측하는 단계; 데이터 프로세싱 하드웨어에 의해, 음절에 대한 예측된 지속 시간에 기초하여 음절의 음높이를 예측하는 단계; 및 데이터 프로세싱 하드웨어에 의해, 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정-길이 예측 음높이 프레임들을 생성하는 단계를 포함한다. 각 고정-길이 음높이 프레임은 음절의 예측 음높이를 표현하며, 상기 보코더 모델에 대한 입력으로서 수신된 운율적 특징들은 텍스트 발화의 각 음절에 대해 생성된 복수의 고정-길이 예측 음높이 프레임들을 포함한다. 일부 예에서, 방법은 각 음절에 대해, 선택된 발화 임베딩을 사용하여: 데이터 프로세싱 하드웨어에 의해, 음절에 대한 예측된 지속 시간에 기초하여 음절의 각 음소의 에너지 레벨을 예측하는 단계; 및 음절의 각 음소에 대해, 데이터 프로세싱 하드웨어에 의해, 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정-길이 예측 에너지 프레임들을 생성하는 단계를 포함한다. 각 고정-길이 예측 에너지 프레임은 대응하는 음소의 예측 에너지 레벨을 표현한다. 여기서, 보코더 모델에 대한 입력으로서 수신된 운율적 특징들은 텍스트 발화의 각 음절 내 각 음소에 대해 생성된 복수의 고정-길이 예측 에너지 프레임들을 더 포함한다.
일부 구현예에서, 운율 모델은 텍스트 발화를 표현하기 위해 계층적 언어 구조를 통합한다. 계층적 언어 구조는 텍스트 발화의 각 단어를 표현하는 장단기 메모리(long short-term memory)(LSTM) 프로세싱 셀을 포함하는 제1 레벨, 텍스트 발화의 각 음절을 표현하는 LSTM 프로세싱 셀을 포함하는 제2 레벨, 텍스트 발화의 각 음소를 표현하는 LSTM 프로세싱 셀을 포함하는 제3 레벨, 각 고정-길이 예측 음높이 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제4 레벨, 및 각 고정-길이 예측 에너지 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제5 레벨을 포함한다. 제2 레벨의 LSTM 프로세싱 셀들은 제1 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고, 제3 레벨 클록의 LSTM 프로세싱 셀들은 제2 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고, 제4 레벨 클록의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하며, 그리고 제5 레벨의 LSTM 프로세싱 셀들은 제4 레벨의 LSTM 프로세싱 셀들과 동일한 속도로 클럭킹하고 제3 레벨의 LSTM 프로세싱 셀들보다 더 빠르게 클럭킹한다. 일부 구현예에서, 계층적 언어 구조의 제1 레벨은 단일 제1 패스에서 텍스트 발화의 각 단어에 대한 활성화를 생성하고, 계층적 언어 구조의 제2 레벨은 제1 패스에 이어 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성하고, 계층적 언어 구조의 제3 레벨은 제2 패스에 이어 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성하고, 계층적 언어 구조의 제4 레벨은 제3 패스에 이어 단일 제4 패스에서 각 고정-길이 예측 음높이 프레임에 대한 활성화를 생성하고, 계층적 언어 구조의 제5 레벨은 제3 패스에 이어 단일 제5 패스에서 각 고정-길이 예측 에너지 프레임에 대한 활성화를 생성한다.
일부 예에서, 보코더 모델은 텍스트 발화를 표현하기 위해 계층적 언어 구조를 통합한다. 계층적 언어 구조는 텍스트 발화의 각 단어를 표현하는 장단기 메모리(LSTM) 프로세싱 셀을 포함하는 제1 레벨, 텍스트 발화의 각 음절을 표현하는 LSTM 프로세싱 셀을 포함하는 제2 레벨, 텍스트 발화의 각 음소를 표현하는 LSTM 프로세싱 셀을 포함하는 제3 레벨, 및 복수의 고정-길이 스피치 프레임들 각각을 표현하는 LSTM 프로세싱 셀을 포함하는 제4 레벨을 포함하고, 제4 레벨의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹한다. 제2 레벨의 LSTM 프로세싱 셀들은 제1 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고, 제3 레벨의 LSTM 프로세싱 셀들은 제2 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하며, 제4 레벨의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹한다. 이들 예에서, 복수의 고정-길이 스피치 프레임들 각각은 보코더 모델로부터 출력되는 예측된 보코더 파라미터들의 각각의 부분을 표현할 수 있다. 또한, 이러한 예에서, 계층적 언어 구조의 제1 레벨은 단일 제1 패스에서 텍스트 발화의 각 단어에 대한 활성화를 생성하고, 계층적 언어 구조의 제2 레벨은 제1 패스에 이어 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성하고, 계층적 언어 구조의 제3 레벨은 제2 패스에 이어 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성하며, 그리고 계층적 언어 구조의 제4 레벨은 제3 패스에 이어 단일 제4 패스에서 복수의 고정-길이 스피치 프레임들의 각 고정-길이 스피치 프레임에 대한 활성화를 생성할 수 있다.
방법은 데이터 프로세싱 하드웨어에서, 복수의 레퍼런스 오디오 신호들 및 대응하는 트랜스크립트(transcript)들을 포함하는 트레이닝 데이터를 수신하는 단계를 더 포함할 수 있다. 각각의 레퍼런스 오디오 신호는 음성 발화(spoken utterance)를 포함하고 대응하는 운율을 가지며, 각각의 트랜스크립트는 대응하는 레퍼런스 오디오 신호의 텍스트 표현을 포함한다. 각각의 레퍼런스 오디오 신호 및 대응하는 트랜스크립트 쌍에 대해, 방법은: 데이터 프로세싱 하드웨어에 의해, 대응하는 트랜스크립트의 레퍼런스 언어적 사양 및 대응하는 레퍼런스 오디오 신호의 대응하는 운율을 표현하는 레퍼런스 운율적 특징들을 획득하는 단계; 데이터 프로세싱 하드웨어에 의해, 심층 신경 네트워크를 사용하여, 레퍼런스 언어적 사양 및 레퍼런스 운율적 특징들로부터, 멜-켑스트럼(Mel-ceptrum) 계수들, 비주기성 구성요소들, 및 보이싱 구성요소들을 제공하는 고정-길이 예측 스피치 프레임들의 시퀀스를 생성하도록 보코더 모델을 트레이닝하는 단계를 포함한다. 일부 예에서, 보코더 모델을 트레이닝하는 단계는, 각각의 레퍼런스 오디오 신호에 대해: 대응하는 레퍼런스 오디오 신호로부터, 레퍼런스 오디오 신호의 레퍼런스 멜-켑스트럼 계수들, 레퍼런스 비주기성 구성요소들, 및 레퍼런스 보이싱 구성요소들을 제공하는 고정-길이 레퍼런스 스피치 프레임들의 시퀀스를 샘플링하는 단계, 보코더 모델에 의해 생성된 고정-길이 예측 스피치 프레임들의 시퀀스와 대응하는 레퍼런스 오디오 신호로부터 샘플링된 고정-길이 레퍼런스 스피치 프레임들의 시퀀스 사이의 기울기/손실을 생성하는 단계; 및 보코더 모델을 통해 기울기/손실을 역-전파하는 단계를 더 포함한다.
일부 구현예에서, 방법은 데이터 프로세싱 하드웨어에 의해, 보코더 모델로부터 출력된 예측된 보코더 파라미터들을 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들로 분할하는 단계를 더 포함한다. 이러한 구현예에서, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 멜-켑스트럼 계수들, 비주기성 구성요소들, 및 보이싱 콤포넌트들을 개별적으로 비정규화(denormalizing)하는 단계를 포함한다. 이러한 구현예에서, 방법은 또한 운율 모델로부터 출력된 운율적 특징들, 비정규화된 멜-켑스트럼 계수들, 비정규화된 비주기성 구성요소들, 및 비정규화된 보이싱 구성요소들을 보코더 벡터로 연결하는 단계를 포함한다. 이러한 구현예에서, 보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 단계는 텍스트 발화의 합성된 스피치 표현을 생성하기 위한 입력으로서 파라메트릭 보코더에 보코더 벡터를 제공하는 단계를 포함한다.
본 발명의 또 다른 양태는 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 하나 이상의 단어들을 갖는 텍스트 발화를 수신하는 동작을 포함하며, 각각의 단어는 하나 이상의 음절들을 갖고 각 음절은 하나 이상의 음소들을 갖는다. 동작들은 또한 보코더 모델에 대한 입력으로서, 텍스트 발화에 대한 의도된 운율 및 텍스트 발화의 언어적 사양을 표현하는 운율 모델로부터 출력되는 운율적 특징들을 수신하는 동작을 포함한다. 운율적 특징들은 텍스트 발화에 대한 지속 시간, 음높이 윤곽, 및 에너지 윤곽을 포함하고, 텍스트 발화의 언어적 사양은 텍스트 발화에 대한 문장-레벨 언어적 특징들, 텍스트 발화의 각 단어에 대한 단어-레벨 언어적 특징들, 텍스트 발화의 각 음절에 대한 음절-레벨 언어적 특징들 및 텍스트 발화의 각 음소에 대한 음소-레벨 언어적 특징들을 포함한다. 동작들은 또한 보코더 모델로부터의 출력으로서, 운율 모델로부터 출력된 운율적 특징들 및 텍스트 발화의 언어적 사양에 기초한 보코더 파라미터들을 예측하는 동작을 포함한다. 동작들은 또한 보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 동작을 포함한다. 파라메트릭 보코더는 의도된 운율을 갖는 텍스트 발화의 합성된 스피치 표현을 생성하도록 구성된다.
본 개시의 구현예는 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 동작들은 보코더 모델에 대한 입력으로서 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화를 수신하는 동작을 더 포함한다. 이러한 구현예에서 보코더 파라미터들을 예측하는 것은 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화를 기반으로 한다. 일부 예에서, 언어적 특징 정렬 활성화는 단어-레벨 정렬 활성화 및 음절-레벨 정렬 활성화를 포함한다. 단어-레벨 정렬 활성화는 각 단어의 활성화를 단어의 각 음절에 대한 음절-레벨 언어적 특징들과 정렬하고, 음절-레벨 정렬 활성화는 각 음절의 각 음소에 대한 음소-레벨 언어적 특징들과 각 음절의 활성화를 각각 정렬한다. 여기서, 각 단어의 활성화는 대응하는 단어에 대한 단어-레벨 언어적 특징들과 텍스트 발화에 대한 문장-레벨 언어적 특징들을 기반으로 할 수 있다. 일부 예에서, 단어-레벨 언어적 특징들은 텍스트 발화로부터 양방향 인코더 표현 변환기(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함한다.
일부 구현예에서, 동작들은 의도된 운율을 표현하는 텍스트 발화에 대한 발화 임베딩을 선택하는 동작을 더 포함한다. 이러한 구현예에서, 각 음절에 대해, 선택된 발화 임베딩을 사용하여, 동작들은 또한: 운율 모델을 사용하여 음절 내 각 음소의 음소-레벨 언어적 특징들을 음절에 대한 대응하는 운율적 음절 임베딩으로 인코딩함으로써 음절의 지속시간을 예측하는 동작; 예측된 음절 길이에 기초하여 음절의 음높이를 예측하는 동작; 및 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정-길이 예측 음높이 프레임들을 생성하는 동작을 포함한다. 각 고정-길이 음높이 프레임은 음절의 예측 음높이를 표현하며, 상기 보코더 모델에 대한 입력으로 수신된 운율적 특징은 텍스트 발화의 각 음절에 대해 생성된 복수의 고정-길이 예측 음높이 프레임을 포함한다.
일부 예에서, 동작들은 각 음절에 대해, 선택된 발화 임베딩을 사용하여: 음절에 대한 예측된 지속 시간을 기초로 음절 내 각 음소의 에너지 레벨을 예측하는 동작; 및 음절 내 각 음소에 대해, 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정-길이 예측 에너지 프레임들을 생성하는 동작을 더 포함한다. 각 고정-길이 예측 에너지 프레임은 대응하는 음소의 예측된 에너지 레벨을 표현한다. 보코더 모델에 대한 입력으로 수신된 운율적 특징들은 텍스트 발화의 각 음절 내 각 음소에 대해 생성된 복수의 고정-길이 예측 에너지 프레임들을 더 포함한다.
일부 구현예에서, 운율 모델은 텍스트 발화를 표현하는 계층적 언어 구조를 통합한다. 계층적 언어 구조는 텍스트 발화의 각 단어를 표현하는 장단기 메모리(LSTM) 프로세싱 셀을 포함하는 제1 레벨, 텍스트 발화의 각 음절을 표현하는 LSTM 프로세싱 셀을 포함하는 제2 레벨, 텍스트 발화의 각 음소를 표현하는 LSTM 프로세싱 셀을 포함하는 제3 레벨, 각 고정-길이 예측 음높이 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제4 레벨, 및 각 고정-길이 예측 에너지 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제5 레벨을 포함한다. 제2 레벨의 LSTM 프로세싱 셀들은 제1 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고, 제3 레벨의 LSTM 프로세싱 셀들은 제2 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고, 제4 레벨의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하며, 그리고 제5 레벨의 LSTM 처리 셀들은 제4 레벨의 LSTM 처리 셀들과 동일한 속도로 클럭킹하고 제3 레벨의 LSTM 처리 셀들보다 더 빠르게 클럭킹한다. 일부 구현예에서, 계층적 언어 구조의 제1 레벨은 단일 제1 패스에서 텍스트 발화의 각 단어에 대한 활성화를 생성하고, 계층적 언어 구조의 제2 레벨은 제1 패스에 이어 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성하고, 계층적 언어 구조의 제3 레벨은 제2 패스에 이어 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성하고, 계층적 언어 구조의 제4 레벨은 제3 패스에 이어 단일 제4 패스에서 각 고정-길이 예측 음높이 프레임에 대한 활성화를 생성하며, 그리고 계층적 언어 구조의 제5 레벨은 제3 패스에 이어 단일 제5 패스에서 각 고정-길이 예측 에너지 프레임에 대한 활성화를 생성한다.
일부 예에서, 보코더 모델은 텍스트 발화를 표현하기 위해 계층적 언어 구조를 통합한다. 계층적 언어 구조에는 텍스트 발화의 각 단어를 표현하는 장단기 메모리(LSTM) 프로세싱 셀을 포함하는 제1 레벨, 텍스트 발화의 각 음절을 표현하는 LSTM 프로세싱 셀을 포함하는 제2 레벨, 텍스트 발화의 각 음소를 표현하는 LSTM 프로세싱 셀을 포함하는 제3 레벨, 및 복수의 고정-길이 스피치 프레임들 각각을 표현하는 LSTM 프로세싱 셀을 포함하는 제4 레벨을 포함하고, 제4 레벨의 LSTM 프로세싱 셀들은 세 번째 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹한다. 제2 레벨의 LSTM 프로세싱 셀들은 제1 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고, 제3 레벨의 LSTM 프로세싱 셀들은 제2 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하며, 그리고 제4 레벨의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹킹한다. 이러한 예에서, 복수의 고정-길이 스피치 프레임들 각각은 보코더 모델로부터 출력되는 예측된 보코더 파라미터들의 각각의 부분을 표현할 수 있다. 또한, 이러한 예에서, 계층적 언어 구조의 제1 레벨은 단일 제1 패스에서 텍스트 발화의 각 단어에 대한 활성화를 생성할 수 있고, 계층적 언어 구조의 제2 레벨은 제1 패스에 이어 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성할 수 있고, 계층적 언어 구조의 제3 레벨은 제2 패스에 이어 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성할 수 있으며, 계층적 언어 구조의 제4 레벨은 제3 패스에 이어단일 제4 패스에서 복수의 고정-길이 스피치 프레임들의 각 고정-길이 스피치 프레임에 대한 활성화를 생성할 수 있다.
동작들은 복수의 레퍼런스 오디오 신호들 및 대응하는 트랜스크립트들을 포함하는 트레이닝 데이터를 수신하는 동작을 더 포함할 수 있다. 각 레퍼런스 오디오 신호는 음성 발화를 포함하고 대응하는 운율을 가지며, 각 트랜스크립트는 대응하는 레퍼런스 오디오 신호의 텍스트 표현을 포함한다. 각 레퍼런스 오디오 신호 및 대응하는 트랜스크립트쌍에 대해, 동작들은 또한: 대응하는 트랜스크립트의 레퍼런스 언어적 사양 및 대응하는 레퍼런스 오디오 신호의 대응하는 운율을 표현하는 레퍼런스 운율적 특징들을 획득하는 동작; 및 심층 신경 네트워크를 사용하여, 레퍼런스 언어적 사양 및 레퍼런스 운율적 특징들로부터, 멜-켑스트럼 계수들, 비주기성 구성요소들, 및 보이싱 구성요소들을 제공하는 고정-길이 예측 스피치 프레임들의 시퀀스를 생성하도록 보코더 모델을 트레이닝하는 동작을 포함한다. 일부 예에서, 보코더 모델을 트레이닝하는 동작은: 대응하는 레퍼런스 오디오 신호로부터, 레퍼런스 오디오 신호의 레퍼런스 멜-켑스트럼 계수들, 레퍼런스 비주기성 구성요소들 및 레퍼런스 보이싱 구성요소들을 제공하는 고정-길이 레퍼런스 스피치 프레임들을 샘플링하는 동작; 보코더 모델에 의해 생성된 고정-길이 예측 스피치 프레임들의 시퀀스와 대응하는 레퍼런스 오디오 신호로부터 샘플링된 고정-길이 레퍼런스 스피치 프레임들의 시퀀스 사이의 기울기/손실을 생성하는 동작; 및 보코더 모델을 통해 기울기/손실을 역-전파하는 동작을 더 포함한다.
일부 구현예에서, 동작들은 보코더 모델로부터 출력된 예측된 보코더 파라미터들을 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들로 분할하는 동작을 더 포함한다. 이러한 구현예에서, 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들을 개별적으로 비정규화하는 동작을 포함한다. 이러한 구현예에서, 동작들은 또한 운율 모델로부터 출력된 운율적 특징들, 비정규화된 멜-켑스트럼 계수들, 비정규화된 비주기성 구성요소들 및 비정규화된 보이싱 구성요소들을 보코더 벡터로 연결하는 동작을 포함한다. 이러한 구현예에서, 보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 동작은 텍스트 발화의 합성된 스피치 표현을 생성하기 위한 입력으로서 파라메트릭 보코더에 보코더 벡터를 제공하는 동작을 포함한다.
도 1은 텍스트 발화에 대한 의도된 운율을 표현하는 운율적 특징들로부터 보코더 파라미터들을 예측하는 데 사용하기 위한 보코더 모델을 제공하기 위해 심층 신경 네트워크를 트레이닝하기 위한 예시적인 시스템의 개략도이다.
도 2는 텍스트 발화를 표현하기 위해 계층적 언어 구조를 통합한 도 1의 보코더 모델의 개략도이다.
도 3a는 텍스트 발화의 각 음절에 대한 지속 시간 및 음높이 윤곽들을 예측하기 위한 예시적인 오토인코더의 개략도이다.
도 3b는 텍스트 발화의 각 음소에 대한 지속 시간 및 에너지 윤곽들을 예측하기 위한 예시적인 오토인코더의 개략도이다.
도 4는 파라메트릭 보코더를 구동하기 위한 운율적 특징으로부터 보코더 파라미터들을 예측하기 위한 예시적인 심층 신경 네트워크의 개략도이다.
도 5는 보코더 모델의 파라미터들 업데이트에 대한 개략도이다.
도 6은 운율 모델로부터 출력된 운율적 특징들 및 텍스트 발화의 언어적 사양에 기초하여 텍스트 발화에 대한 보코더 파라미터들을 예측하기 위한 동작들의 예시적인 배열의 흐름도이다.
도 7은 본 명세서에 기술된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
스피치 합성 시스템에서 자주 사용되는 텍스트 스피치 변환(TTS) 모델은 일반적으로 런타임 시 레퍼런스 음향 표현 없이 텍스트 입력만 제공되며, 사실적으로 들리는 합성 스피치를 생성하기 위해 텍스트 입력에서 제공되지 않는 많은 언어적 요인들을 가(imput)해야 한다. 이러한 언어적 요인들의 서브셋을 총칭하여 운율이라고 하며 억양(음높이 변화), 강세(강세가 있는 음절 vs. 강세가 없는 음절), 사운드들의 지속 시간, 크기, 톤, 리듬 및 스피치의 스타일을 포함할 수 있다. 운율은 스피치의 감정 상태, 스피치의 형식(예: 문장, 질문, 명령 등), 스피치의 아이러니 또는 풍자의 존재, 스피치 지식의 불확실성 또는 입력 텍스트의 문법 또는 어휘 선택으로 인코딩할 수 없는 기타 언어적 요소들을 나타낼 수 있다. 따라서 높은 수준의 운율적 변이와 연관된 주어진 텍스트 입력은 상이한 시맨틱(semantic) 의미들을 전달하기 위한 음높이와 스피킹 지속 시간의 국부적 변화들, 또한 상이한 분위기와 감정을 전달하기 위한 전체 음높이 궤적의 전체적인 변화들과 함께 합성된 스피치를 생산할 수 있다.
신경 네트워크 모델들은 텍스트 입력들에 의해 제공되지 않는 운율에 대응하는 언어적 요인들을 예측하여 스피치를 강력하게 합성할 수 있는 가능성을 제공한다. 결과적으로, 오디오북 내레이션, 뉴스 낭독기(reader), 보이스 디자인 소프트웨어 및 대화 어시스턴트들과 같은 많은 애플리케이션들이 단조롭게 들리지 않고 사실적으로 들리는 합성 스피치를 생성할 수 있다. 변이 오토인코더들(VACs)의 최근 발전은 합성 스피치의 운율을 효과적으로 모델링하기 위한 지속 시간, 음높이 윤곽 및 에너지 윤곽의 운율적 특징들을 예측할 수 있게 한다. 이러한 예측된 운율적 특징들은 WaveNet 또는 WaveRNN 모델과 같은 언어적 및 운율적 특징들에서 동작하는 대규모 최첨단 신경 네트워크-기반 음향 모델을 구동하는 데 충분하지만 이러한 예측된 운율적 특징들은 많은 추가 보코더 파라미터들을 필요로 하는 파라메트릭 보코더들을 구동하기에는 불충분하다. 즉, 음높이, 에너지 및 음소 지속 시간의 운율적 특징들 외에도, 파라메트릭 보코더들은 각 스피치 유닛, 예를 들어 일반적으로 고정-길이 프레임(예: 5밀리초)의 멜-켑스트럼 계수들(MCEPs), 비주기성 구성요소들, 및 보이스 구성요소들을 포함하는 다수의 추가 보코더 파라미터들을 필요로 한다. 결과적으로, 파라메트릭 보코더는 VACs에 의한 운율 모델링에서 개선의 혜택을 받을 수 없었다. 그러나, 서버들에서 실행되는 대규모 최첨단 신경 네트워크 기반 음향 모델들에 비해, 파라메트릭 보코더들은 낮은 프로세싱 및 메모리 요구 사항과 연관되어 있어, 파라메트릭 보코더 모델들을 프로세싱 및 메모리에 대한 제약이 완화된 온-디바이스 설정에서 사용하기 위해 선호되는 선택으로 렌더링한다.
본 명세서에서의 구현예는 운율 모델과 신경 네트워크 보코더 모델을 통합하는 2-단계 스피치 합성 시스템을 지향한다. 제1 단계에서, 운율 모델은 텍스트 발화에 대해 의도된 운율을 표현하는 운율적 특징들을 예측하도록 구성된다. 운율적 특징들은 음높이(F0), 음소 지속 시간 및 에너지(C0) 측면에서 텍스트 발화에 대한 음향 정보를 나타낸다. 그러나 운율 모델에 의해 예측된 운율적 특징들은 파라메트릭 보코더를 구동하는 데 필요한 다수의 보코더 파라미터들 중 일부만을 포함한다. 제2 단계 동안, 신경 네트워크 보코더 모델은 운율 모델에 의해 예측된 운율적 특징들을 입력으로 수신하고, 의도된 운율을 갖는 텍스트 발화의 합성된 스피치 표현을 생성하도록 파라메트릭 보코더를 구동하는 데 사용하기 위한 보코더 파라미터들의 나머지 부분을 출력으로서 생성하도록 구성된다. 운율 모델은 기존의 통계적 파라메트릭 모델들이 생산할 수 있는 것보다 더 높은 품질의 운율적 표현들을 텍스트 발화에 제공하기 위해 운율적 특징들을 예측하는 데 최적화된 변이 오토인코더(VAE)를 통합할 수 있다. 이러한 기존의 통계적 파라메트릭 모델들은 음높이, 에너지 및 음소 지속 시간의 운율적 특징들 외에도, MCEPs, 비주기성 구성요소들 및 보이스 구성요소들을 포함한 모든 보코더 파라미터들을 생성하는 작업을 수행한다.
이점적으로, 신경 네트워크 보코더 모델은 텍스트 발화의 의도된 운율을 표현하는 운율적 특징들을 정확하게 예측하기 위해 운율 모델의 능력을 활용할 수 있으며, 이러한 예측된 운율적 특징들을 두 가지 목적을 위해 사용할 수 있다: 파라메트릭 보코더를 구동하는 데 필요한 나머지 보코더 파라미터들을 예측하기 위한 보코더 모델에 대한 입력; 및 보코더 모델에 의해 예측된 나머지 보코더 파라미터들과 조합하여 파라메트릭 보코더를 구동하기 위해 보코더 모델을 통과(pass-through)시킴. 즉, 운율 모델에 의해 예측된 운율적 특징들과 보코더 모델에 의해 예측된 나머지 보코더 파라미터들은 의도된 운율을 갖는 텍스트 발화의 합성 스피치 표현을 생성하기 위해 파라메트릭 보코더를 구동하는 데 필요한 모든 필수 보코더 파라미터들을 집합적으로 제공할 수 있다. 따라서, 운율 모델링에 최적화된 운율 모델을 활용하고 신경 네트워크 보코더 모델을 통합하여 나머지 보코더 파라미터들을 예측함으로써, 온-디바이스 파라메트릭 보코더는 개선된 운율로 합성된 스피치 표현들을 생산하기 위해 사용될 수 있다.
본 발명의 VAE-기반 운율 모델은 인코더 부분과 디코더 부분을 갖는 시계장치 계층적 변이 오토인코더(Clockwork Hierarchal Variational Autoencoder)(CHiVE)를 포함한다. CHiVE의 인코더 부분은 각 레퍼런스 오디오 신호와 연관된 운율적 특징들 및 언어적 사양에 따라 조정된 수많은 레퍼런스 오디오 신호들을 인코딩함으로써 운율을 표현하는 발화 임베딩을 트레이닝할 수 있다. 전술한 바와 같이, 운율적 특징들은 음높이(F0), 음소 지속 시간 및 에너지(C0) 측면에서 레퍼런스 오디오 신호들에 대한 음향 정보를 나타낸다. 예를 들어, 운율적 특징들은 레퍼런스 오디오 신호로부터 샘플링된 음소 지속 시간 및 음높이 및 에너지의 고정-길이 프레임들을 포함할 수 있다. 언어적 사양에는, 음절 내 음소의 포지션, 음소 아이덴티티 및 음절 내 음소들의 수에 대한 정보를 포함하는 음소-레벨 언어적 특징들; 음절 아이덴티티 여부 및 음절이 강세가 있는지 여부와 같은 정보를 포함하는 음절-레벨 언어적 특징들; 단어가 명사/형용사/동사인지 여부를 나타내는 단어의 품사와 같은 정보를 포함하는 단어-레벨 언어적 특징들; 및 화자, 화자의 성별 및/또는 발화가 질문인지 구(phrase)인지에 대한 정보를 포함하는 문장-레벨의 언어적 특징들을 포함할 수 있지만, 이에 제한되지는 않는다. 일부 예에서, 운율 모델은 단어 조각 임베딩을 출력하도록 구성된 양방향 인코더 표현 변환기(BERT) 모델을 포함한다. 이러한 예에서, 단어 조각 임베딩은 각 단어에 대한 구문(syntactic) 정보를 명시적으로 인코딩하는 단어-레벨 언어적 특징들을 대체할 수 있다.
인코더 부분에 의해 인코딩된 각각의 발화 임베딩은 고정-길이 수치 벡터로 표현될 수 있다. 일부 구현예에서, 고정-길이 수치 벡터는 256과 동일한 값을 포함한다. 그러나 다른 구현예에서는 256보다 크거나 작은 값을 갖는 고정-길이 수치 벡터를 사용할 수 있다. 디코더 부분은 고정-길이 발화 임베딩을 제1 디코더를 통해 음소 지속 시간들의 시퀀스로 그리고 음소 지속 시간을 사용하여 음높이 및 에너지의 고정-길이 프레임들의 시퀀스(예: 5밀리초)로 디코딩할 수 있다. 고정-길이 발화 임베딩은 스피치로 합성될 입력 텍스트에 대해 의도된 운율을 표현할 수 있다. 음소 지속 시간들의 시퀀스와 음높이 및 에너지의 고정-길이 프레임들은 디코더 부분에 의해 예측된 운율적 특징들에 대응한다. 트레이닝 동안, 디코더 부분에 의해 예측된 음소 지속 시간들의 운율적 특징들과 음높이 및 에너지의 고정-길이 프레임들은 고정-길이 발화 임베딩과 연관된 레퍼런스 오디오 신호에서 샘플링된 음소 지속 시간들의 운율적 특징들과 음높이 및 에너지의 고정-길이 프레임들과 거의 일치한다.
본 발명의 신경 네트워크 보코더 모델은 트레이닝 텍스트 발화에 대한 레퍼런스 운율적 특징들 및 언어적 사양에 따라 조정되는 보코더 파라미터들을 예측하도록 트레이닝된다. 즉, 보코더 모델은 트레이닝 텍스트 발화에 대한 의도된 운율 및 트레이닝 텍스트 발화의 언어적 사양을 표현하는 운율적 특징들을 입력으로 수신하고, 레퍼런스 운율적 특징들과 텍스트 발화의 언어적 사양을 기반으로 보코더 매개변수들을 출력으로 예측한다. 보코더 파라미터들은 각 스피치 유닛, 예를 들어 일반적으로 고정-길이 프레임(예: 5밀리초)의 MCEPs, 비주기성 구성요소들, 및 보이스 구성요소들을 포함한다. 에너지 윤곽/레벨 C0의 운율적 특징은 파라메트릭 보코더를 구동하는 데 필요한 0번째 MCEP이다. 따라서, 보코더 모델은 파라메트릭 보코더를 구동하기 위한 나머지 MCEPs C[1-n번째]를 예측하도록 구성될 수 있다. 각각의 트레이닝 텍스트 발화는 각각 하나 이상의 음절들을 갖는 하나 이상의 단어를 가질 수 있고, 각 음절은 하나 이상의 음소들을 가질 수 있다. 따라서 각 트레이닝 텍스트 발화에 대한 언어적 사양에는 텍스트 발화에 대한 문장-레벨의 언어적 특징들, 텍스트 발화의 각 단어에 대한 단어-레벨의 언어적 특징들, 텍스트 발화의 도달(reach) 음절에 대한 음절-레벨 언어적 특징들, 및 텍스트 발화의 각 음소에 대한 음소-레벨의 언어적 특징들이 포함된다.
CHiVE-기반의 운율 모델과 신경 네트워크 보코더 모델은 각각 장단기 메모리(LSTM) 셀들의 계층적 적층 레이어들의 계층적 구조를 통합할 수 있으며, LSTM 셀들의 각 레이어는 하나의 레이어가 고정-길이 프레임들을 표현하고, 다음 레이어는 음소들을 표현하고, 다음 레이어는 음절들을 표현하고, 다른 레이어는 단어들을 표현하도록 텍스트 발화의 구조를 통합한다. 또한 LSTM 셀들의 적층된 레이어들의 계층은 계층적 입력 데이터의 길이에 따라 가변적으로 클럭킹된다. 예를 들어, 입력 데이터(예: 텍스트 발화)가 3음절의 단어 다음에 4음절의 단어를 포함하면, 계층적 구조의 음절 레이어는 제1 입력 단어에 대한 단어 레이어의 단일 클럭에 비해 세 번 클럭킹하고, 상기 음절 레이어는 제2 단어에 대한 단어 레이어의 후속 단일 클럭에 비해 네 번 더 클럭킹한다.
추론하는 동안, CHiVE-기반 운율 모델은 텍스트 발화를 수신하고 텍스트 발화에 대한 발화 임베딩을 선택하도록 구성된다. 발화 임베딩은 뉴스 낭독기(reader), 스포츠 방송인, 강사 또는 스토리 낭독(reading)을 포함하되 이에 국한되지 않는 다양한 운율 도메인들에 대해 분류될 수 있다. 발화 임베딩은 하위 도메인을 포함하도록 더 세분화될 수도 있다. 예를 들어, 스토리 낭독 도메인에는 스릴러 소설의 서스펜스를 전달하기 위한 발화 임베딩과 전자책(e-book)의 주어진 챕터의 컨텍스트에 따라 다양한 감정을 전달하기 위한 발화 임베딩이 포함될 수 있다. 사용자는 의도한 운율을 전달하는 발화 임베딩을 선택하거나, 수신된 텍스트 발화와 가장 근접하게 일치하는 텍스트 발화와 쌍을 이루는 발화 임베딩을 선택하여 스피치로 합성할 수 있다. 수신된 텍스트 발화는 적어도 하나의 단어를 가지며, 각 단어는 적어도 하나의 음절을 가지며, 각 음절은 적어도 하나의 음소를 갖는다. 텍스트 발화는 발화로부터 합성된 스피치를 생산하기 위한 적절한 운율을 안내하는 컨텍스트, 시맨틱 정보 및 프래그매틱(pragmatic) 정보가 누락되어 있기 때문에, CHiVE-기반 운율 모델은 의도된 운율을 표현하기 위해 선택된 발화 임베딩을 잠재 변수로 사용한다. 이후, CHiVE-기반의 운율 모델은 선택된 발화 임베딩을 텍스트 발화에서 획득한 문장-레벨, 단어-레벨 및 음절-레벨 언어적 특징들과 연결하여 각 음절의 지속 시간을 예측하고 예측된 음절의 지속 시간을 기반으로 각 음절의 음높이를 예측한다. 마지막으로, CHiVE-기반 운율 모델은 각 고정-길이 음높이 프레임이 음절의 예측된 음높이를 표현하도록 각 음절에 대해 예측된 지속 시간을 기반으로 복수의 고정-길이 음높이 프레임들을 생성하도록 구성된다. 복수의 고정 길이 음높이 프레임들은 텍스트 발화의 기본 주파수를 로그 스케일로 표현하기 위해 로그 f0을 제공할 수 있다. CHiVE-기반 운율 모델은 음절에 대한 예측된 지속 시간을 기반으로 각 음절의 에너지(예: 음량)를 유사하게 예측하고 각각이 예측된 음절의 에너지 c0를 표현하는 복수의 고정-길이 에너지 프레임들을 생성할 수 있으며, 여기서 c0는 0번째 MCEP이다.
운율 모델에서 출력된 텍스트 발화 및/또는 고정-길이 음높이 및/또는 에너지 프레임들에 대한 언어적 사양(예: 문장-레벨, 단어-레벨, 음절-레벨 및 음소-레벨 언어적 특징들)은 각 스피치 유닛에 대한 MCEP(c[1-n번째]), 비주기성 구성요소들 및 보이싱 구성요소들을 포함하는 예측된 보코더 파라미터들을 출력으로 생성하기 위한 신경 네트워크 보코더 모델에 대한 입력으로 제공될 수 있다. 즉, 신경 네트워크 보코더 모델은 예측된 보코더 파라미터들의 각 부분을 각각 표현하는 복수의 고정-길이 스피치 프레임들(예: 5ms 프레임들)을 예측하도록 구성된다. 또한, 보코더 모델은 필요한 모든 보코더 파라미터들로 파라메트릭 보코더를 구동하기 위해 운율 모델에 의해 예측된 음높이 f0, 에너지 c0 및 음소 지속 기간의 운율적 특징들을 적절한 고정-길이 스피치 프레임에 삽입할 수 있다. 여기서, 운율을 설명하는 파라메트릭 보코더를 구동하는 보코더 파라미터들의 일부는 운율 모델링에 최적화된 운율 모델로부터 획득되고, 보코더 파라미터들의 나머지 부분은 운율적 특징들을 기반으로 보코더 모델로부터 획득된다.
도 1은 보코더 모델(400)을 제공하기 위해 심층 신경 네트워크(200)을 트레이닝하고, 파라메트릭 보코더(155)를 구동하기 위해 텍스트 발화(320)에 대한 보코더 파라미터들(450)을 예측하기 위해 트레이닝된 보코더 모델(400)을 사용하기 위한 예시적인 시스템(100)을 도시한다. 트레이닝 동안, 시스템(100)은 데이터 프로세싱 하드웨어(122) 및 데이터 프로세싱 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 갖고 데이터 프로세싱 하드웨어(122)로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 컴퓨팅 시스템(120)을 통합한다. 일부 구현예에서, 컴퓨팅 시스템(120)(예: 데이터 프로세싱 하드웨어(122))은 입력 텍스트 발화(320)로부터 합성된 스피치(152)의 운율을 제어하기 위해 심층 신경 네트워크(200)를 기반으로 트레이닝된 운율 모델(300) 및 트레이닝된 보코더 모델(400)을 텍스트 스피치 변환(TTS) 시스템(150)에 제공한다. 즉, 트레이닝된 운율 모델(300)과 트레이닝된 보코더 모델(400)은 의도된 운율로 합성된 스피치(152)를 생산하기 위해 TTS 시스템(150)에서 파라메트릭 보코더(155)를 구동하는 데 필요한 모든 필수 보코더 파라미터들(322, 450)을 생산하도록 함께 작동한다. 도시된 예에서, TTS 시스템(150)은 스마트폰, 스마트 워치, 스마트 스피커/디스플레이, 스마트 기기, 랩탑, 데스크탑 컴퓨터, 태블릿, 또는 사용자와 연관된 기타 컴퓨팅 디바이스와 같은 사용자 디바이스(110)에 상주한다. 다른 예에서, 컴퓨팅 시스템(120)은 TTS 시스템(150)을 구현한다. 보코더 모델(400)을 트레이닝하고 선택적으로 운율 모델(300)을 트레이닝하는 데 사용되는 컴퓨팅 시스템(120)은 분산 시스템(예: 클라우드 컴퓨팅 환경)을 포함할 수 있다. 사용자 디바이스(110)는 데이터 프로세싱 하드웨어(112) 및 데이터 프로세싱 하드웨어(112)와 통신하고 데이터 프로세싱 하드웨어(112)로 하여금, 예를 들어 입력 텍스트 발화(320)로부터 보코더 파라미터들(322, 450)을 생산하기 위해 운율 및 보코더 모델(300, 400)을 실행하고 합성된 스피치(152)를 생산하기 위해 보코더 파라미터들(322, 450) 상에서 파라메트릭 보코더(155)를 구동하는 것과 같은 동작들을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(114)를 갖는다. 합성된 스피치(152)는 사용자 디바이스(110)와 통신하는 스피커에 의해 청각적으로 출력될 수 있다. 예를 들어, 스피커는 사용자 디바이스(110)에 상주할 수 있거나 유선 또는 무선 연결을 통해 사용자 디바이스(110)와 통신하는 별도의 구성요소일 수 있다.
입력 텍스트 발화(320)는 합성 스피치(152)의 적절한 운율을 안내하기 위한 컨텍스트, 시맨틱 및 프래그매틱을 전달할 방법이 없기 때문에, 운율 모델(300)은 텍스트 발화(320)에서 추출된 언어적 사양(402)에 대해 모델(300)을 조정하고, 고정-길이 발화 임베딩(204)을 텍스트 발화(320)에 대한 의도된 운율을 표현하는 잠재 변수로 사용함으로써, 입력 텍스트 발화(320)에 대한 운율적 표현(322)을 예측할 수 있다. 즉, 추론하는 동안, 운율 모델(300)은 선택된 발화 임베딩(204)을 사용하여 텍스트 발화(320)에 대한 운율적 표현(322)을 예측할 수 있다. 운율적 표현(322)은 텍스트 발화(320)에 대한 예측된 음높이, 예측된 타이밍 및 예측된 음량(예: 에너지)의 운율적 특징들을 포함할 수 있다. 따라서 '운율적 표현'과 '운율적 특징들'이라는 용어는 상효 교환적으로 사용될 수 있다. 그 후, 운율 모델(300)에 의해 예측된 운율적 특징들(322)은 파라메트릭 보코더(155) 구동에 필요한 나머지 보코더 파라미터들(450)을 예측하기 위해 보코더 모델(400)에 입력으로 공급된다. 즉, 파라메트릭 보코더(155)는 운율 모델(300) 단독으로 예측된 운율적 특징들(322)으로부터 입력 텍스트 발화(322)에 대한 합성된 스피치(152)를 생산할 수 없으며, 합성된 스피치(152)를 생산하기 위한 다수의 추가적인 보코더 파라미터들(450)을 더 필요로 한다. 보코더 모델(400)에 의해 예측된 추가 보코더 파라미터들(450)은 각 스피치 유닛에 대한 MCEPs(c[1-n번째]), 비주기성 구성요소들 및 보이싱 구성요소들을 포함한다. 도 2 및 도 4를 참조하여 아래에서 더 상세히 설명되는 바와 같이, 신경 네트워크 보코더 모델(400)은 예측된 보코더 파라미터들(450)의 각각의 부분을 각각 표현하는 복수의 고정-길이 스피치 프레임들(280V0)(예: 5ms 프레임들)을 예측하도록 구성된다. 마지막으로, 보코더 모델(400)은 보코더 모델(400)로부터 출력되는 예측된 보코더 파라미터들(450) 및 운율 모델(300)로부터 출력되는 운율적 특징들(322)을 파라메트릭 보코더(155)에 제공하도록 구성되고, 이에 의해 파라메트릭 보코더(155)는 의도된 운율을 갖는 텍스트 발화(320)의 합성된 스피치 표현(152)을 생성하도록 구성된다. 보코더 파라미터들(450) 및 운율적 특징들(322)은 파라메트릭 보코더(155)를 구동하기 위한 단일 출력 벡터로 연결될 수 있다.
일부 구현예에서, 보코더 모델(400)을 통합하는 심층 신경 네트워크(200)는 데이터 스토리지(180)(예: 메모리 하드웨어(124))에 저장된 대규모 트레이닝 데이터(201) 셋에서 트레이닝된다. 트레이닝 데이터(201)는 복수의 레퍼런스 오디오 신호들(202) 및 대응하는 트랜스크립트들(206)을 포함한다. 각각의 레퍼런스 오디오 신호(202)는 스피치(예: 마이크로폰에 의해 녹음된 인간의 스피치)의 음성 발화를 포함하고 운율적 표현을 가질 수 있다. 각 트랜스크립트(206)는 대응하는 레퍼런스 오디오 신호(202)의 텍스트 표현을 포함할 수 있다. 각각의 레퍼런스 오디오 신호(204) 및 대응하는 트랜스크립트(206) 쌍에 대해, 심층 신경 네트워크(200)는 대응하는 트랜스크립트(206)의 레퍼런스 언어적 사양(402R) 및 대응하는 레퍼런스 오디오 신호(202)의 대응하는 운율을 표현하는 레퍼런스 운율적 특징들(322R)을 획득한다. 그 후, 심층 신경 네트워크(200)는 레퍼런스 언어적 사양(402R) 및 레퍼런스 운율적 특징들(322R)로부터 각 프레임에 대한 MCEPs(c[1-n번째]), 비주기성 구성요소들, 및 보이싱 구성요소들을 제공하는 고정-길이 예측 스피치 프레임들의 시퀀스로서 추가 보코더 파라미터들(450)을 생성하도록 보코더 모델(400)을 트레이닝한다. 각 프레임(예: 스피치 유닛)에 대한 보이싱 구성요소들은 대응하는 프레임이 보이스인지 보이스가 아닌지를 나타낼 수 있다. 보코더 파라미터들(450)의 실측(ground-truth) 값은 고정-길이 예측 스피치 프레임들의 시퀀스로서 레퍼런스 오디오 신호(202)로부터 샘플링될 수 있다. 일부 예에서, 음높이, 에너지 및 음소 지속 시간의 레퍼런스 운율적 특징들(322R)은 대응하는 레퍼런스 오디오 신호(202)로부터 샘플링된다. 다른 예에서, 레퍼런스 운율적 특징들(322R)은 레퍼런스 언어적 사양(402R) 및 대응하는 트랜스크립트(206)를 입력으로 수신하고 의도된 운율을 표현하는 발화 임베딩(204)을 사용하는 완전히-트레이닝된 운율 모델(300)에 의해 예측된 운율적 특징들(322)에 대응한다. 일부 구현예(미도시)에서, 운율 모델(300) 및 보코더 모델(400)은 트레이닝 데이터(201)에 대해 공동으로 트레이닝된다. 여기서, 운율 모델(300)은 대응하는 레퍼런스 오디오 신호(202)의 운율을 각각 표현하는 발화 임베딩(204)을 인코딩하고, 운율적 특징들(322)을 예측하기 위해 레퍼런스 언어적 사양(402R)에 따라 조정된 각 발화 임베딩(204)을 디코딩하도록 트레이닝될 수 있다. 이러한 구현예에서, 공동 트레이닝 동안, 운율 모델(300)에 의해 예측된 운율적 특징들(322)은 추가 보코더 파라미터들(450R)을 예측하기 위한 보코더 모델(400)에 대한 트레이닝 입력으로서 레퍼런스 언어적 사양(402R)과 함께 공급되는 레퍼런스 운율적 특징들(322R)의 역할을 한다.
도시된 예에서, 컴퓨팅 시스템(120)은 트레이닝된 운율 및 보코더 모델들(300, 400)을 데이터 스토리지(180)에 저장한다. 사용자 디바이스(110)는 데이터 스토리지(180)로부터 트레이닝된 운율 및 보코더 모델들(300, 400)을 획득할 수 있거나, 컴퓨팅 시스템(120)은 모델(300, 400)들 중 하나 또는 둘 다 트레이닝 및/또는 리트레이닝 직후 모델들(300, 400)을 사용자 디바이스(110)에 푸시할 수 있다. 사용자 디바이스(110)에서 실행되는 TTS 시스템(150)은 입력으로서 운율적 특징들(322) 및 나머지 보코더 파라미터들(450)을 수신하고, 출력으로서 의도된 운율을 갖는 텍스트 발화(320)에 대한 합성된 스피치 표현(152)을 생성하도록 구성되는 파라메트릭 보코더(155)를 사용할 수 있다.
텍스트 발화(320)에 대한 의도된 운율을 전달하는 운율적 특징들(322)을 예측할 때, 운율 모델(300)은 의도된 운율을 표현하는 텍스트 발화(320)에 대한 발화 임베딩(204)을 선택할 수 있다. 도 3a 및 도 3b를 참조하여 아래에서 더 상세히 설명되는 바와 같이, 운율 모델(300)은 선택된 발화 임베딩(204)을 사용하여 텍스트 발화(320)에 대한 운율적 표현(322)을 예측할 수 있다.
도 2는 운율 모델(300)(예: 시계장치 계층적 변이 오토인코더(CHiVE) 또는 간단히 ‘오토인코더) 및 보코더 모델(400) 각각이 통합할 수 있는 합성될 텍스트 발화(320)를 표현하기 위한 계층적 언어 구조(예: 도 1의 심층 신경 네트워크)(200)를 도시한다. 운율 모델(300)은 계층적 언어 구조(200)를 통합하여 주어진 입력 텍스트의 각 음절에 대해, 의도된/선택된 운율을 갖는 합성된 스피치(152)를 생산하기 위해 주어진 입력 텍스트 또는 다른 언어적 사양으로부터 임의의 고유한 매핑에 의존하지 않고 음절의 지속 시간(및/또는 음절 내 각 음소의 지속 시간)과 음절의 음높이(F0) 및 에너지(C0) 윤곽을 공동으로 예측하기 위한 제어 가능한 운율 모델을 제공한다. 운율 모델(300)과 관련하여, 계층적 언어 구조(200)는 주어진 입력 텍스트에 대한 의도된 운율을 표현하는 고정-길이 발화 임베딩(204)을 복수의 고정-길이 예측 프레임(280)들로 디코딩하도록(예: 음높이(F0), 에너지(C0)를 예측하기 위해) 구성된다. 보코더 모델(400)과 관련하여, 계층적 언어 구조(200)는 텍스트 발화(320)의 언어적 사양(402)으로부터 복수의 고정-길이 스피치 프레임들(280, 280V) 및 운율 모델(300)로부터 출력되는 복수의 고정-길이 예측 프레임들(280F0, 280C0)을 입력 텍스트에 대한 의도된 운율을 표현하는 운율적 특징들(322)로 예측하도록 구성된다. 각 고정-길이 스피치 프레임(280V)은 보코더 모델(400)에 의해 예측된 각 스피치 입력(예: 각각의 프레임)의 MCEP([C1-n번째]), 비주기성 구성요소들, 및 보이싱 구성요소들의 나머지 보코더 파라미터들(450)의 각각의 부분을 포함할 수 있다.
계층적 언어 구조(200)는 텍스트 발화(322)를 문장(250), 단어들(240), 음절들(320), 음소들(220) 및 고정 길이 프레임들(280)의 계층적 레벨들로 표현한다. 보다 구체적으로, 적층된 계층적 레벨들 각각은 계층적 입력 데이터의 길이에 가변적으로 클럭킹되는 장단기 메모리(LSTM) 프로세싱 셀들을 포함한다. 예를 들어, 음절 레벨(230)은 단어 레벨(240)보다 빠르게 클럭킹하고 음소 레벨(220)보다 느리게 클럭킹한다. 각 레벨의 직사각형 블록들은 각각의 단어들, 음절들, 음소들 또는 프레임들에 대한 LSTM 프로세싱 셀들에 대응한다. 이점적으로, 계층적 언어 구조(200)는 단어 레벨(240)의 LSTM 프로세싱 셀들에 마지막 100개 단어들에 대한 메모리를 제공하고, 음절 레벨(230)의 LSTM 셀들에 마지막 100개의 음절들에 대한 메모리를 제공하고, 음소 레벨(220) LSTM 셀들에 마지막 100개의 음소들에 대한 메모리를 제공하고, 그리고 고정-길이 음높이 및/또는 에너지 프레임들(280)의 LSTM 셀들에 마지막 100개의 고정-길이 프레임들(280)에 대한 메모리를 제공한다. 고정-길이 프레임들(280)이 각각 5밀리초의 지속 시간(예: 프레임 속도)을 포함할 때, 대응하는 LSTM 프로세싱 셀들은 마지막 500밀리초(예: 0.5초) 동안 메모리를 제공한다.
도시된 예에서, 계층적 언어 구조(200)는 텍스트 발화(322)를 단어 레벨(240)에서 3개의 단어들(240A-240C)의 시퀀스, 음절 레벨(230)에서 5개의 음절들(230Aa-230Cb)의 시퀀스, 및 음소 레벨(220)에서 9개의 음소들(220Aa1-220Cb2)의 시퀀스로 표현하여 프레임 레벨(280)에서 예측된 고정-길이 프레임들(280)의 시퀀스를 생성한다. 일부 구현예에서, 계층적 언어 구조(200)를 통합하는 운율 모델(300) 및/또는 보코더 모델(400)은 텍스트 발화(320)의 언어적 사양(402)에 대한 언어적 특징 정렬 활성화(221, 231, 241)를 수신한다. 예를 들어, 프로세싱이 발생하기 전에, 언롤(unroll) 브로드캐스터(270)는 운율 모델(300) 및/또는 보코더 모델(400)에 대한 입력으로서 언어적 특징 정렬 활성화(221, 231, 241)를 제공할 수 있다. 단순화를 위해, 운율 모델(300) 및 보코더 모델(400) 각각은 언어적 특징 정렬 활성화(221, 231, 241)를 수신한다. 그러나 모델들(300, 400) 중 하나만 정렬 활성화(221, 231, 241)를 수신할 수 있다.
일부 예에서, 언롤 브로드캐스터(270)는 계층적 언어 구조(200)의 단어 레벨(240)에 단어 레벨 정렬 활성화(241), 계층적 언어 구조(200)의 음절 수준(230)에 대한 음절 수준 정렬 활성화(231), 및 계층적 언어 구조(200)의 음소 레벨(220)에 대한 음소 레벨 정렬 활성화(221)를 브로드캐스트한다. 각 단어-수준 정렬 활성화(241)는 각 단어(240)의 활성화(245)를 단어(240)의 각 음절(230)에 대한 음절-수준 언어적 특징들(236)과 정렬한다. 각 음절-수준 정렬 활성화(231)는 각 음절(230)의 활성화(235)를 음절(230)의 각 음소(220)에 대한 음소-수준 언어적 특징들(222)과 정렬한다. 이들 예에서, 각 단어(240)의 활성화(245)는 대응하는 단어(240)에 대한 단어-레벨 언어적 특징들(242) 및 문장-레벨 언어적 특징들(252)에 기초한다.
일부 구현예에서, 모델들(300, 400)은 단일 패스, 즉 단일 시계열 배치(batch)에서 계층적 언어 구조(200)의 가변 속도 적층 계층적 레벨들 각각의 수신된 언어적 특징 정렬 활성화들(221, 231, 241)을 사용한다. 여기서, 언롤 브로드캐스터(270)는 계층적 언어 구조(200)의 레이어들/레벨들 사이의 대응하는 활성화들(225, 235, 245)을 정확하게 브로드캐스팅하기 위해 루프 시작 및 종료 인덱스들 사이의 델타를 수집(gather) 인덱스들의 시퀀스로 변환함으로써 정렬 활성화(221, 231, 241)를 브로드캐스트할 수 있다. 이러한 구현예에서, 계층적 언어 구조의 단어-레벨(240)은 단일 제1 패스에서 텍스트 발화(322)의 각 단어(240)에 대한 활성화(245)를 생성하고, 계층적 언어 구조의 음절-레벨(230)은 제1 패스에 이어 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성하고, 계층적 언어 구조의 음소-레벨(220)은 제2 패스에 이어 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성하며, 계층적 언어 구조의 프레임-레벨(280)은 제3 패스에 이어 단일 제4 패스에서 각 고정-길이 프레임에 대한 활성화를 생성한다. 운율 모델의 경우, 프레임-레벨(280)은 단일 패스에서 병렬로 고정-길이 음높이 프레임들(280F0) 및 고정-길이 에너지 프레임들(280C0)에 대한 활성화를 생성할 수 있다. 이러한 구현예는 단일 패스에서 전체 텍스트 발화(320)을 표현하는 계층적 언어 구조(200)의 각 레이어(240, 230, 220, 280)를 계층의 다음 레벨로 이동하기 전에 언롤링하는 것을 허용하는 4-패스 추론(four-pass inference)을 참조한다. 반면에, 2-패스 추론은 다양한 수의 음소들을 생성할 수 있는 각 단어에 대해 다양한 수의 음절들을 생성함으로써 단어-레벨, 음절-레벨 및 음소-레벨(240, 230, 220)을 제1 패스로 분할한다. 그 다음, 제2 패스는 단어에 대한 출력 프레임들(280)을 생산하기 위한 프레임들 레벨을 형성하기 위해 음소들의 출력에 대해 실행된다. 이 2-패스는 문장과 관련된 텍스트 발화(320)의 각 단어에 대해 반복될 것이다. 2-패스 추론에서의 이러한 분할은 프로세싱 및 메모리 리소스가 제한되지 않는 서버(예: 도 1의 컴퓨팅 시스템(120))에서 운율 모델(300) 및 보코더 모델(400)을 실행하기 위한 속도를 향상시키는 반면, 4-패스 추론은 온-디바이스(예: 도 1의 사용자 디바이스(110)) 운율 모델(300) 및 보코더 모델(400)을 실행하기 위한 프로세싱 속도를 최적화한다. 즉, 온-디바이스 운율 및 보코더 모델(300, 400)을 구현할 때 2-패스 추론이 4-패스 추론보다 30% 더 빠른 것으로 나타난다.
도 3a 및 도 3b를 참조하면, 일부 구현예에서, 오토인코더(즉, 운율 모델)(300)는 계층적 언어 구조(200)를 사용하여 주어진 텍스트 발화(320)의 각 음절(230)에 대한 음소들(220)의 지속 시간들과 음높이 및/또는 에너지 윤곽을 공동으로 예측함으로써 추론 동안 주어진 텍스트 발화(320)에 대한 운율적 표현(322)을 예측한다. 텍스트 발화(320)는 텍스트 발화에 대한 적절한 운율을 나타내기 위한 컨텍스트, 시맨틱 정보 및 프래그매틱 정보를 제공하지 않으므로, 오토인코더(300)는 텍스트 발화(320)에 대한 의도된 운율을 표현하기 위해 잠재 변수로서 발화 임베딩(206)을 선택한다.
발화 임베딩(204)은 발화 임베딩 데이터 스토리지(180)(도 1)에서 선택될 수 있다. 스토리지(180)의 각 발화 임베딩(204)은 트레이닝 동안 대응하는 가변-길이 레퍼런스 오디오 신호(202)(도 1)로부터 인코딩될 수 있다. 구체적으로, 오토인코더(300)는 트레이닝 동안 가변-길이 레퍼런스 오디오 신호(202)의 운율을 고정-길이 발화 임베딩(204)으로 압축하고 추론 동안 사용하기 위해 데이터 스토리지(180)에 대응하는 레퍼런스 오디오 신호의 트랜스크립트(206)와 함께 각 발화 임베딩(204)을 저장하는 인코더 부분(미도시)을 포함할 수 있다. 도시된 예에서, 오토인코더(300)는 먼저 텍스트 발화(320)와 밀접하게 일치하는 트랜스크립트들(206)을 갖는 발화 임베딩(204)을 찾은 다음 주어진 텍스트 발화(320)에 대한 운율적 표현(322)(도 1)을 예측하기 위해 발화 임베딩(204) 중 하나를 선택할 수 있다. 일부 예에서, 고정-길이 발화 임베딩(204)은 타겟 운율에 대한 특정 시맨틱 및 프래그매틱을 표현할 가능성이 있는 임베딩들(204)의 잠재 공간에서 특정 포인트를 픽(pick)함으로써 선택된다. 다른 예에서, 잠재 공간은 텍스트 발화(320)에 대한 의도된 운율을 표현하기 위한 랜덤 발화 임베딩(204)을 선택하기 위해 샘플링된다. 또 다른 예에서, 오토인코더(300)는 텍스트 발화(320)와 연관된 언어적 사양(402)에 대한 가장 유사한 운율을 표현하기 위해 밀접하게 일치하는 트랜스크립트(206)를 갖는 발화 임베딩(204)의 평균을 선택함으로써 잠재 공간을 다차원 유닛 가우시안(Gaussian)으로 모델링한다. 트레이닝 데이터의 운율 변이가 합리적으로 중립적이라면, 발화 임베딩의 평균(204)을 선택하는 마지막 예가 합리적인 선택이다. 일부 추가 예에서, 사용자 디바이스(110)의 사용자는 사용자 디바이스(110)에서 실행 가능한 인터페이스를 사용하여, 특정 운율 도메인(예: 뉴스 낭독자, 강사, 스포츠 방송인)과 같은 의도된 운율을 선택한다. 사용자에 의해 선택된 의도된 운율에 기초하여, 오토인코더(300)는 가장 적합한 발화 임베딩(204)을 선택할 수 있다.
도 3a는 계층적 언어 구조(200)의 단어 레벨(240)에 표현된 3개의 단어들(240A, 240B, 240C)를 갖는 텍스트 발화(320)를 도시한다. 제1 단어(240A)는 음절들(230Aa, 230Ab)을 포함하고, 제2 단어(240B)는 하나의 음절(230Ba)을 포함하며, 제3 단어(240C)는 음절(230Ca, 230Cb)을 포함한다. 따라서, 계층적 언어 구조(200)의 음절 레벨(230)은 텍스트 발화(320)의 5개의 음절들(230Aa-230Cb)의 시퀀스를 포함한다. LTSM 프로세싱 셀들의 음절 레벨(230)에서, 오토인코더(300)는 각 음절(230)에 대해 대응하는 음절 임베딩(예: 음절-레벨 활성화(235))(235Aa, 235Ab, 235Ba, 235Ca, 235Cb)을 다음의 입력으로부터 생산/출력하도록 구성된다: 고정-길이 발화 임베딩(204); 텍스트 발화(320)과 연관된 문장-레벨 언어적 특징들(252); 음절(230)을 포함하는 단어(240)와 연관된 단어-레벨 언어적 특징들(242)(BERT 모델(270)에 의해 생산된 단어 조각 임베딩에 대응할 수 있음); 및 음절(230)에 대한 음절-레벨 언어적 특징들(236). 문장-레벨의 언어적 특징들(252)은 텍스트 발화(320)가 질문인지, 질문에 대한 대답인지, 구(phrase)인지, 문장인지, 화자의 성별 등을 포함할 수 있으나 이에 한정되지 않는다. 단어-레벨 언어적 특징들(242)은 단어가 명사, 형용사, 동사 또는 기타 품사인지 여부를 포함할 수 있으나 이에 한정되지 않는다. 음절-레벨 언어적 특징들(236)은 음절(240)이 강세가 있는지 여부를 포함할 수 있으나, 이에 한정되지 않는다.
도시된 예에서, 음절 레벨(230)의 각 음절(230Aa, 230Ab, 230Ba, 230Ca, 230Cb)은 개별 고정-길이 예측 음높이(F0) 프레임들(280, 280F0(도 3a))을 디코딩하고 개별 고정-길이 예측 에너지(C0) 프레임을(280, 280C0(도 3b))을 병렬로 디코딩하기 위해 대응하는 음절 임베딩(235Aa, 235Ab, 235Ba, 235Ca, 235Cb)을 더 빠른 클럭킹 음소 레벨(220)로 출력하는 대응하는 LTSM 프로세싱 셀과 연관될 수 있다. 도 3a는 음절(230)에 대한 지속 기간(타이밍 및 멈춤(pauses)) 및 음높이 윤곽을 나타내는 복수의 고정-길이 예측 음높이(F0) 프레임들(280F0)을 포함하는 음절 레벨(230)의 각 음절을 도시한다. 여기서, 지속시간 및 음높이 윤곽은 음절(230)의 운율적 표현에 대응한다. 도 3b는 음소에 대한 지속 시간 및 에너지 윤곽을 나타내는 복수의 고정-길이 예측 에너지(C0) 프레임들(280C0)을 포함하는 음소 레벨(220)의 각 음소를 도시한다.
음절 레벨(230) 내 제1 음절(230Aa)(즉, LTSM 프로세싱 셀 Aa)은 고정-길이 발화 임베딩(204), 텍스트 발화(320)와 연관된 문장-레벨 언어적 특징들(252), 제1 단어와 연관된 단어-레벨 언어적 특징들(242A), 및 대응하는 음절 임베딩(235Aa)을 생성하기 위한 입력으로서 음절(236Aa)에 대한 음절-레벨 언어적 특징들(236Aa)을 수신한다. 음절 레벨(230)의 제2 음절(230Ab)은 고정-길이 발화 임베딩(204), 텍스트 발화(320)와 연관된 문장-레벨 언어적 특징들(252), 제1 단어(240A)와 연관된 단어-레벨 언어적 특징들(242A) 및 대응하는 음절 임베딩(235Ab)을 생성하기 위한 입력으로서 음절(230Ab)에 대한 대응하는 음절 레벨 언어적 특징들(236)(미도시)을 수신한다. 이 예에서는 제1 음절(230Aa)과 연관된 음절-레벨 언어적 특징(232)들만 도시하고 있지만, 음절 레벨(230)에서 서로 다른 음절(230Ab-230Cb)과 연관된 대응하는 음절-레벨 언어적 특징들(232)은 명확성을 위해 도 3a 및 도 3b에서만 생략된다.
단순화를 위해, 음절(230Ab)에 대한 프로세싱 블록에 입력되는 대응하는 음절-레벨 언어적 특징들(236)은 도시되지 않는다. 제2 음절(230Ab)과 연관된 LTSM 프로세싱 셀(예: 직사각형 Ab)은 앞선 제1 음절(230Aa)의 상태도 수신한다. 음절 레벨(230)의 나머지 음절들의 시퀀스(230Ba, 230Ca, 230Cb)는 각각 유사한 방식으로 대응하는 음절 임베딩(235Ba, 235Ca, 235Cb)을 생산한다. 단순화를 위해, 각 음절(230Ba, 230Ca, 230Cb)에 대한 프로세싱 블록에 입력되는 대응하는 음절-레벨 언어적 특징들(236)은 도시하지 않는다. 또한, 음절 레벨(230)의 각 LTSM 프로세싱 셀은 직전 음절 레벨(240)의 LTSM 프로세싱 셀의 상태를 수신한다.
도 3a를 참조하면, 계층적 언어 구조(200)의 음소 레벨(220)은 대응하는 예측 음소 지속 시간(234)과 각각 연관된 9개의 음소들(220Aa1-220Cb2)의 시퀀스를 포함한다. 또한, 오토인코더(300)는 대응하는 예측 음소 지속 시간(234)을 예측하고 음소를 포함하는 음절에 대한 대응하는 음높이(f0) 윤곽을 예측하기 위해 각 음소(220Aa1-220Cb2)와 연관된 음소-레벨 언어적 특징들(222)을 대응하는 음절 임베딩(235)으로 인코딩한다. 음소-레벨 언어적 특징들(222)은 대응하는 음소(230)에 대한 사운드의 아이덴티티 및/또는 대응하는 음소가 포함된 음절에서 대응하는 음소(230)의 포지션을 포함할 수 있으나, 이에 한정되지 않는다. 예시는 제1 음소(220Aa1)와 연관된 음소-레벨 언어적 특징들(222)만을 나타내지만, 음소-레벨(220)의 다른 음소들(220Aa2-220Cb2)과 연관된 음소-레벨 언어적 특징들(222)은 명확성을 위해 도 3a 및 도 3b에서만 생략된다.
제1 음절(230Aa)은 음소들(220Aa1, 220Aa2)를 포함하고 음소들(220Aa1, 220Aa2)에 대한 예측 음소 지속 시간들(234)의 합과 동일한 예측 음절 지속 시간을 포함한다. 여기서, 제1 음절(230Aa)에 대한 예측 음절 지속 시간은 제1 음절(230Aa)에 대해 디코딩할 고정-길이 예측 음높이(F0) 프레임들(280F0)의 수를 결정한다. 도시된 예에서, 오토인코더(300)는 음소들(220Aa1, 220Aa2)에 대한 예측 음소 지속 시간들(234)의 합에 기초하여 제1 음절(230Aa)에 대한 총 7개의 고정-길이 예측 음높이(F0) 프레임들(280F0)을 디코딩한다. 따라서, 빠른 클럭킹 음절 레이어(230)는 제1 음절(230Aa)에 포함된 각 음소(220Aa1, 220Aa2)에 대한 입력으로서 제1 음절 임베딩(235Aa)을 분배한다. 제1 음절 임베딩(235Aa)에도 타이밍 신호가 부가될 수 있다. 음절 레벨(230)은 또한 제1 음절(230Aa)의 상태를 제2 음절(230Ab)로 패스한다.
제2 음절(230Ab)은 단일 음소(220Ab1)를 포함하므로 음소(220Ab1)에 대한 예측 음소 길이(234)와 동일한 예측 음절 지속 시간을 포함한다. 제2 음절(230Ab)에 대한 예측 음절 지속 시간에 기초하여, 오토인코더(300)는 제2 음절(230Ab)에 대한 총 4개의 고정-길이 예측 음높이(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클럭킹 음절 레이어(230)는 음소(220Ab1)에 대한 입력으로서 제2 음절 임베딩(235Ab)을 분배한다. 제2 음절 임베딩(235Aa)에도 타이밍 신호가 부가될 수 있다. 음절 레벨(230)은 또한 제2 음절(230Ab)의 상태를 제3 음절(230Ba)로 패스한다.
제3 음절(230Ba)은 음소들(220Ba1, 220Ba2, 220Ba3)을 포함하고 음소들(220Ba1, 220Ba2, 220Ba3)에 대한 예측 음소 지속 시간들(234)의 합과 동일한 예측 음절 지속 시간을 포함한다. 도시된 예에서, 오토인코더(300)는 음소들(220Ba1, 220Ba2, 220Ba3)에 대한 예측 음소 지속 시간들(234)의 합에 기초하여, 제3 음절(230Ba)에 대한 총 11개의 고정-길이 예측 음높이(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클럭킹 음절 레이어(230)는 제3 음절(230Ba)에 포함된 각 음소(220Ba1, 220Ba2, 220Ba3)에 대한 입력으로서 제3 음절 임베딩(235Ba)을 분배한다. 제3 음절 임베딩(235Ba)에도 타이밍 신호가 부가될 수 있다. 음절 레벨(230)은 또한 제3 음절(230Ba)의 상태를 4음절(230Ca)로 패스한다.
제4 음절(230Ca)은 단일 음소(220Ca1)를 포함하므로 음소(220Ca1)에 대한 예측 음소 지속 시간(234)과 동일한 예측 음절 지속 시간을 포함한다. 제4 음절(230Ca)에 대한 예측 음절 지속 시간을 기초하여, 오토인코더(300)는 제4 음절(230Ca)에 대해 총 3개의 고정-길이 예측 음높이(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클럭킹 음절 레이어(240)는 음소(220Ca1)에 대한 입력으로서 제4음절 임베딩(235Ca)을 분배한다. 4음절 임베딩(235Ca)에도 타이밍 신호가 부가될 수 있다. 음절 레벨(230)은 또한 제4 음절(230Ba)의 상태를 5번째 음절(230Cb)로 패스한다.
마지막으로, 제5 음절(230Cb)은 음소들(220Cb1, 220Cb2)를 포함하고 음소들(220Cb1, 220Cb2)에 대한 예측 음소 지속 시간들(234)의 합과 동일한 예측 음절 지속 시간을 포함한다. 도시된 예에서, 오토인코더(300)는 음소들(220Cb1, 220Cb2)에 대한 예측 음소 지속 시간들(234)의 합에 기초하여, 제5 음절(230Cb)에 대한 총 6개의 고정-길이 예측 음높이(F0) 프레임들(280F0)을 디코딩한다. 따라서, 더 빠른 클럭킹 음절 레이어(230) 제5 음절(230Cb)에 포함된 각 음소(220Cb1, 220Cb2)에 대한 입력으로서 제5 음절 임베딩(235Cb)을 분배한다. 5음절 임베딩(235Cb)에도 타이밍 신호가 부가될 수 있다.
도 3a를 더 참조하면, 오토인코더(300)는 유사하게 음절 레벨(230)로부터 출력된 나머지 음절 임베딩들(235Ab, 235Ba, 235Ca, 235Cb) 각각을 대응하는 각 음절(230Ab, 230Ba, 230Ca, 230Cb)에 대한 개별 고정-길이 예측 음높이(F0) 프레임들(280)로 디코딩한다. 예를 들어, 제2 음절 임베딩(235Ab)은 음소 레벨(220)의 출력에서 제2 음절 임베딩(235Ab)의 인코딩 및 음소(220Ab1)와 연관된 대응하는 음소-레벨 언어적 특징들(222)과 더 결합되는 반면, 제3 음절 임베딩(235Ba)은 음소 레벨(220)의 출력에서 제3 음절 임베딩(235Ba)의 인코딩 및 각각의 음소(220Ba1, 220Ba2, 220Ba3)와 연관된 대응하는 음소-레벨 언어적 특징들(222)과 더 결합된다. 더욱이, 제4 음절 임베딩(235Ca)은 음소 레벨(220)의 출력에서 제4 음절 임베딩(235Ca)의 인코딩 및 음소(220Ca1)와 연관된 대응하는 음소-레벨 언어적 특징들(222)과 더 결합되는 반면, 제5 음절 임베딩(235Cb)은 음소 레벨(220)의 출력에서 제5 음절 임베딩(235Cb)의 인코딩 및 각각의 음소(220Cb1, 220Cb2)와 연관된 대응하는 음소-레벨 언어적 특징들(222)과 더 결합된다. 오토인코더(300)에 의해 생성된 고정-길이 예측 음높이(F0) 프레임들(280F0)은 프레임-레벨 LSTM을 포함하는 반면, 다른 구성들은 대응하는 음절 내 모든 프레임의 음높이(F0)가 하나의 패스에서 예측되도록 음높이(F0) 프레임들(280F0)의 프레임-레벨 LSTM을 피드-포워드 레이어로 대체할 수 있다.
이제 도 3b를 참조하면, 오토인코더(300)는 각 음소(220)에 대한 대응하는 에너지(C0) 윤곽을 예측하기 위해 대응하는 음절 임베딩(235)으로 각 음소(220Aa1-220Cb2)와 연관된 음소 레벨-언어적 특징들(222)을 인코딩하도록 더 구성된다. 음소 레벨(220) 내 음소들(220Aa2~220Cb2)과 연관된 음소-레벨 언어적 특징들(222)은 명확성을 위해 도 3b의 도면에서 생략될 뿐이다. 오토인코더(300)는 대응하는 에측 음소 지속 시간(234)에 기초하여 각 음소(220)에 대해 디코딩할 고정-길이 예측 에너지(C0) 프레임들(280, 280C0)의 수를 결정한다. 예를 들어, 오토인코더(300)는 제1 음소(220Aa1)에 대한 4개의 예측 에너지(C0) 프레임들(280C0), 제2 음소(220Aa2)에 대한 3개의 예측 에너지(C0) 프레임들(280C0), 제3 음소(220Ab1)에 대한 4개의 예측 에너지(C0) 프레임들(280C0), 제4 음소(220Ba1)에 대한 2개의 예측 에너지(C0) 프레임들(280C0), 제5 음소(220Ba2)에 대한 5개의 예측 에너지(C0) 프레임들(280C0), 제6 음소(220Ba3)에 대한 4개의 예측 에너지(C0) 프레임들(280C0), 제7 음소(220Ca1)에 대한 3개의 예측 에너지(C0) 프레임들(280C0), 제8 음소(220Cb1)에 대한 4개의 예측 에너지(C0) 프레임들(280C0), 및 제9 음소(220Cb2)에 대한 2개의 예측 에너지(C0) 프레임(280C0)들을 디코딩/생성한다. 따라서, 예측 음소 지속 시간(234)과 마찬가지로, 음소 레벨(220)에서 각 음소에 대한 예측된 에너지 윤곽은 음소를 포함하는 더 느린 클럭킹 음절 레벨(230)에서 대응하는 음절로부터 입력된 음절 임베딩(235)과 음소와 연관된 언어적 특징들(222) 사이의 인코딩에 기초한다.
도 4는 도 1의 TTS 시스템(150)에 통합될 수 있는 예시적인 신경 네트워크 보코더 모델(400)을 도시한다. 보코더 모델(400)은 텍스트 발화(320)에 대한 의도된 운율 모델을 표현하는 운율 모델(300)로부터 출력된 운율적 특징들(322) 및 텍스트 발화(320)에 대한 언어적 사양(402)을 입력으로서 수신한다. 운율 모델로부터 출력되는 운율적 특징들(322)은 텍스트 발화에서 지속 시간, 음높이 윤곽(f0_log), 에너지 윤곽(c0) 및 각 음소의 지속 시간을 포함할 수 있다. 음높이 윤곽(f0_log)은 도 3a의 고정-길이 예측 음높이 프레임들(280F0)의 시퀀스로 표현될 수 있고 에너지 윤곽(c0)은 도 3b의 고정-길이 예측 에너지 프레임들(280C0)의 시퀀스로 표현될 수 있다. 언어적 사양(402)은 텍스트 발화(320)에 대한 문장-레벨 언어적 특징들(252), 텍스트 발화(320)의 각 단어(240)에 대한 단어-레벨 언어적 특징들(242), 텍스트 발화(230)의 각 음절(230)에 대한 음절-레벨 언어적 특징들(236), 및 텍스트 발화(320)의 각 음소(220)에 대한 음소-레벨 언어적 특징들(222)을 포함한다. 도시된 예에서, 완전 연결 레이어(410)는 언어적 사양(402)을 수신하고 수집기(gatherer)(412)에 대한 완전-연결 출력 입력을 생성한다. 언어적 사양(402)은 완전 연결 레이어(410)에 입력되기 전에 정규화될 수 있다. 동시에, 언롤 브로드캐스터(270)는 운율 모델(300)로부터 출력된 운율적 특징들(322)을 수신하고, 언어적 사양(402)에 대한 언어적 특징 정렬 활성화들(221, 231, 241)를 생성하여 수집기(412)에 제공한다. 수집기에서, 단어-레벨 정렬 활성화들(241)은 각 단어(240)(도 2)의 활성화(245)(도 2)를 단어(240)의 각 음절(230)(도 2)에 대한 음절-레벨 언어적 특징들(236)(도 2)과 각각 정렬하고, 음절-레벨 정렬 활성화들(231)은 각 음절의 활성화(235)(도 2)를 음절의 각 음소(220)(도 2)에 대한 음소-레벨 언어적 특징들(222)(도 2)과 각각 정렬하고, 음소-레벨 정렬 활성화들(221)은 각 음소(220)의 활성화(225)(도 2)를 음소(220)의 대응하는 고정-길이 프레임들(280)(도 2)과 각각 정렬한다.
언어적 사양(402)에 대한 언어적 특징 정렬 활성화들(221, 231, 241)을 전달하는 수집기(412)로부터의 출력은 운율 모델로부터 출력된 운율적 특징들(322)과 연결하기 위해 연결기(414)에 입력된다. 운율적 특징들(322)은 연결기(414)에서 수집기(412)로부터의 출력과 연결되기 전에 정규화될 수 있다. 연결기(414)로부터 연결된 출력은 보코더 모델(400)의 제1 LSTM 레이어(420)에 입력되고, 제1 LSTM 레이어(420)의 출력은 보코더 모델(400)의 제2 LSTM 레이어(430)에 입력된다. 이후, 제2 LSTM 레이어(430)의 출력은 보코더 모델(400)의 순환 신경 네트워크(Recurrent Neural Network)(RNN) 레이어(440)에 입력되고, 분할기(splitter)(445)는 RNN 레이어(440)의 출력을 예측된 추가 보코더 파라미터들(450)로 분할한다. 도 1을 참조하여 전술한 바와 같이, 분할기(445)에 의해 분할된 추가 보코더 파라미터들(450)은 각 스피치 유닛, 예를 들어 고정-길이 스피치 프레임(280V0)에 대한 MCEPs(c[1-n번째]), 비주기성 구성요소들 및 보이싱 구성요소들을 포함한다. 신경 네트워크 보코더 모델(400)은 예측된 보코더 파라미터들(450)의 각각의 부분을 각각 표현하는 복수의 고정-길이 스피치 프레임들(280V0)(예: 5ms 프레임들)을 예측하도록 구성된다. 함께, 운율 모델(300)에 의해 예측된 운율적 특징들(322) 및 추가 보코더 파라미터들(450)은 의도된 운율을 갖는 텍스트 발화(320)의 합성된 스피치 표현(152)을 생산하기 위해 파라메트릭 보코더(155)를 구동하는 데 필요한 모든 보코더 파라미터들을 제공한다. 따라서, 추가 보코더 파라미터들(450)을 분할한 후, 보코더 모델(400)은 파라메트릭 보코더(155)를 구동하기 위해 음높이(f0) 및 에너지(c0)의 운율적 특징들(322)을 적절한 스피치 유닛에 삽입하여 연결기(455)가 복수의 고정-길이 스피치 프레임들(280V0) 각각에 대한 최종 보코더 벡터(460)에 운율적 특징들(322) 및 추가 보코더 파라미터들(450)을 연결하도록 허용한다. 연결 전에 추가 보코더 파라미터들(450)은 비정규화될 수 있다.
도 5는 보코더 모델(400)을 트레이닝하기 위한 예시적인 프로세스(500)이다.
프로세스(500)는 도 1 및 도 5를 참조하여 설명될 수 있다. 예를 들어, 보코더 모델(400)은 입력으로서 레퍼런스 운율적 특징들(322R)(예: 음높이 F0, 에너지 C0 및 음소 지속 시간) 및 레퍼런스 언어적 사양(402R)을 사용하여 입력 텍스트 조각(예: 레퍼런스 오디오 신호(202)의 레퍼런스 트랜스크립트(206))에 대한 추가 보코더 파라미터들(450)(예: MCEPs (c[1-n번째]), 비주기성 구성요소들, 및 보이싱 구성요소들)을 예측하는 것을 학습하도록 트레이닝될 수 있다. 보코더 파라미터들(450)은 트랜스크립트(206)의 각각의 부분에 대한 MCEPs, 비주기성 구성요소들 및 보이스 구성요소들을 각각 제공하는 고정-길이 예측 스피치 프레임들(280V0)의 시퀀스로 표현될 수 있다.
프로세스(500)는 보코더 모델(400)에 의해 출력되는 예측된 추가 보코더 파라미터들(450)과 트랜스크립트(206)와 연관된 레퍼런스 오디오 신호(202)(예: 발화)로부터 샘플링된 레퍼런스 스피치 프레임들(502) 사이의 기울기/손실(520)을 생성하도록 구성된 손실(loss) 모듈(510)을 실행한다. 레퍼런스 오디오 신호(202)로부터 샘플링된 레퍼런스 스피치 프레임들(502)은 각각 레퍼런스 오디오 신호의 각 부분으로부터 샘플링된 레퍼런스(예: 실측) 보코더 파라미터들을 제공하는 고정-길이 레퍼런스 스피치 프레임들(예: 5ms)을 포함할 수 있다. 따라서, 손실 모듈(510)은 보코더 모델(400)에 의해 생성된 고정-길이 예측 스피치 프레임들(280V0)의 시퀀스(예측된 추가 보코더 파라미터들(450)을 나타냄)와 대응하는 레퍼런스 오디오 신호(202)로부터 샘플링된 고정-길이 레퍼런스 스피치 프레임들(502)의 시퀀스(레퍼런스/실측 보코더 파라미터들(450)을 나타냄) 사이의 기울기/손실을 생성할 수 있다. 여기서, 기울기/손실(520)은 보코더 모델(400)이 완전히 트레이닝될 때까지 파라미터들을 업데이트하기 위해 보코더 모델(400)을 통해 역-전파될 수 있다.
도 6은 텍스트 발화(320)에 대한 추가적인 보코더 파라미터들(322)을 예측하기 위해 운율적 특징들(322)을 사용하는 방법(600)에 대한 예시적인 동작 배열의 흐름도이다. 추가 보코더 파라미터들(322) 및 운율적 특징들(322)은 운율적 특징들(322)에 의해 전달되는 의도된 운율을 갖는 텍스트 발화(320)의 합성된 스피치 표현(152)을 생산하기 위해 파라메트릭 보코더(155)를 구동하는 데 필요한 모든 보코더 파라미터들을 만들어낸다. 방법(600)은 도 1 내지 도 4를 참조하여 설명될 수 있다. 사용자 디바이스(110)에 상주하는 메모리 하드웨어(114)는 사용자 디바이스(110)에 상주하는 데이터 프로세싱 하드웨어(112)로 하여금 방법(600)에 대한 예시적인 동작들의 배열을 수행하게 하는 명령어들을 저장할 수 있다. 동작(602)에서, 방법(600)은 텍스트 발화(320)를 수신하는 것을 포함한다. 텍스트 발화(320)는 적어도 하나의 단어를 가지며, 각 단어는 적어도 하나의 음절을 가지며, 각 음절은 적어도 하나의 음소를 갖는다.
동작(604)에서, 방법(600)은 보코더 모델(400)에 대한 입력으로서 운율 모델(300)로부터 출력된 운율적 특징들(322) 및 텍스트 발화(320)에 대한 언어적 사양(402)을 수신하는 것을 포함한다. 운율적 특징(322)은 텍스트 발화(320)에 대한 의도된 운율을 표현하고 텍스트 발화(320)에 대한 지속 시간, 음높이 윤곽 및 에너지 윤곽을 포함한다. 언어적 사양(402)은 텍스트 발화(320)에 대한 문장-레벨 언어적 특징들(252), 텍스트 발화(320)의 각 단어(240)에 대한 단어-레벨 언어적 특징들(242), 텍스트 발화(320)의 각 음절(230)에 대한 음절-레벨 언어적 특징들(236), 및 텍스트 발화(320)의 각 음소(220)에 대한 음소-레벨 언어적 특징들(222)을 포함한다.
동작(606)에서, 방법(600)은 보코더 모델(400)로부터의 출력으로서, 운율적 특징(322) 및 언어적 사양(402)에 기초하여 (추가적인) 보코더 파라미터들(450)을 예측하는 것을 포함한다. 동작(608)에서, 방법(600)은 보코더 모델(400)로부터 출력된 예측된 보코더 파라미터들(450) 및 운율 모델(300)로부터 출력된 운율적 특징들(322)을 파라메트릭 보코더(155)에 제공하는 것을 포함한다. 파라메트릭 보코더(155)는 의도된 운율을 갖는 텍스트 발화(320)의 합성된 스피치 표현(152)을 생성하도록 구성된다. 달리 말하면, 추가 보코더 파라미터들(450) 및 운율적 특징들(322)은 합성된 스피치 표현(152)을 생성하기 위해 파라메트릭 보코더(155)를 구동하도록 구성된다. 도 4의 보코더 모델(400)을 참조하여 설명한 바와 같이, 운율 모델(300)로부터 출력된 운율적 특징들(322)과 추가 보코더 파라미터들(450)은 파라메트릭 보코더(155)를 구동하기 위해 각각의 스피치 유닛(예: 복수의 고정-길이 스피치 프레임들(280V0) 각각)에 대한 보코더 벡터(460)로 연결될 수 있다.
텍스트 스피치 변환(TTS) 시스템(150)은 운율 모델(300), 보코더 모델(400) 및 파라메트릭 보코더(155)를 통합할 수 있다. TTS 시스템(150)은 즉, 사용자 디바이스의 데이터 프로세싱 하드웨어(112)에서 실행함으로써 사용자 디바이스(110)에 상주할 수 있다. 일부 구성들에서, TTS 시스템(150)은 즉, 데이터 프로세싱 하드웨어(122)에서 실행함으로써 컴퓨팅 시스템(예: 서버)(120)에 상주한다. 일부 예에서, TTS 시스템(150)의 일부는 컴퓨팅 시스템(120)에서 실행되고 TTS 시스템(150)의 나머지 부분은 사용자 디바이스(110)에서 실행된다. 예를 들어, 운율 모델(300) 또는 보코더 모델(400) 중 적어도 하나는 컴퓨팅 시스템(120)에서 실행될 수 있는 반면, 파라메트릭 보코더(155)는 사용자 디바이스에서 실행될 수 있다.
도 7은 본 문서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(700)의 개략도이다. 컴퓨팅 디바이스(700)는 랩탑, 데스크탑, 워크스테이션, 개인용 디지털 어시스턴트, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 구성요소, 연결 및 관계, 기능은 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 발명의 구현을 제한하지 않는다.
컴퓨팅 디바이스(700)는 프로세서(710), 메모리(720), 스토리지 디바이스(730), 메모리(720) 및 고속 확장 포트(750)에 연결되는 고속 인터페이스/컨트롤러(740), 및 저속 버스(770) 및 스토리지 디바이스(730)에 연결되는 저속 인터페이스/컨트롤러(760)를 포함한다. 구성 요소들(710, 720, 730, 740, 750 및 760) 각각은 다양한 버스를 사용하여 상호 연결되며, 공통의 마더보드 또는 적절한 다른 방식으로 마운트될 수 있다. 프로세서(710)는 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 고속 인터페이스(740)에 결합된 디스플레이(780)와 같은 외부 입력/출력 디바이스에 표시하기 위해 메모리(720) 또는 스토리지 디바이스(730)에 저장된 명령을 포함하여 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령어들을 처리할 수 있다. 다른 구현예에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리 및 메모리 타입과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(700)가 연결될 수 있으며, 각각의 디바이스는 필요한 동작들의 일부를 제공한다(예: 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템).
메모리(720)는 컴퓨팅 디바이스(700) 내에 비일시적으로 정보를 저장한다. 메모리(720)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(720)는 컴퓨팅 디바이스(700)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예: 명령어들의 시퀀스들) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예로는 플래시 메모리 및 읽기-전용 메모리(ROM)/프로그래밍 가능한 읽기-전용 메모리(PROM)/지울 수 있는 프로그래밍 가능한 읽기-전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기-전용 메모리(EEPROM)(예: 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 포함되지만 이에 국한되지 않는다. 휘발성 메모리의 예에는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 위상 변화 메모리(PCM) 및 디스크나 테이프가 포함되지만 이에 제한되지 않는다.
스토리지 디바이스(730)는 컴퓨팅 디바이스(700)를 위한 대용량 스토리지를 제공할 수 있다. 일부 구현예에서, 스토리지 디바이스(730)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현예에서, 스토리지 디바이스(730)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크(Storage Area Network) 또는 기타 구성들의 디바이스를 포함하는 디바이스들의 배열일 수 있다. 추가 구현예에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 매체는 메모리(720), 스토리지 디바이스(730) 또는 프로세서(710) 상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 컨트롤러(740)는 컴퓨팅 디바이스(700)에 대한 대역폭-집중 동작들을 관리하는 반면, 저속 컨트롤러(760)는 낮은 대역폭-집중 동작들을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현예에서, 고속 컨트롤러(740)는 메모리(720), 디스플레이(780)(예: 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드들(미도시)를 수용할 수 있는 고속 확장 포트(750)에 결합된다. 일부 구현예에서, 저속 컨트롤러(760)는 스토리지 디바이스(730) 및 저속 확장 포트(790)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(790)는 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너 또는 스위치나 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입출력 디바이스들에 결합될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이 다양한 형태로 구현될 수 있다. 예를 들어, 표준 서버(700a)로서 또는 그러한 서버들(700a)의 그룹에서, 랩탑 컴퓨터(700b)로서 또는 랙 서버 시스템(700c)의 일부로서 여러 번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현예는 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASICs(응용 프로그램 특정 집적 회로들), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예는 스토리지 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 대한 데이터 및 명령어들을 수신하고 데이터 및 명령어들을 전송하도록 결합된 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능한 프로세서를 포함하는 프로그래밍 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 함)은 프로그래밍 가능한 프로세서를 위한 기계 명령어들을 포함하며 높은 레벨의 절차적 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은 기계 명령어들을 기계 판독 가능 신호로 수신하는 기계 판독 가능 매체를 포함하여, 프로그램 가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예: 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능한 논리 디바이스들(PLDs))를 의미한다. "기계 판독 가능 신호"라는 용어는 프로그램 가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 데이터 프로세싱 하드웨어라고도 하는 하나 이상의 프로그래밍 가능한 프로세서들에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램들을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능들을 수행할 수 있다. 프로세스들 및 논리 흐름들은 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서들을 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어들과 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 수행하는 프로세서와 명령어들과 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스들, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하기 위해 또는 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 디바이스들이 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 발명의 하나 이상의 양태는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들을 사용하여 사용자와의 상호 작용도 제공할 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 디바이스로 문서를 보내고 디바이스로부터 문서를 수신함으로써 사용자와 상호 작용할 수 있다; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 보낸다.
많은 구현예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현예는 다음 청구 범위 내에 있다.

Claims (24)

  1. 컴퓨터로 구현되는 방법으로서,
    상기 방법은 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하고, 상기 동작들은:
    하나 이상의 단어들을 갖는 텍스트 발화를 수신하는 동작, 각 단어는 하나 이상의 음절들을 갖고, 각 음절은 하나 이상의 음소들을 가지며:
    보코더 모델에 대한 입력으로서:
    텍스트 발화에 대한 의도된 운율을 표현하는 운율 모델로부터 출력되는 운율적 특징들, 상기 운율적 특징들은 텍스트 발화에 대한 지속 시간, 음높이 윤곽(contour), 및 에너지 윤곽을 포함하고; 및
    텍스트 발화의 언어적 사양을 수신하는 동작, 상기 언어적 사양은 텍스트 발화에 대한 문장-레벨 언어적 특징들, 텍스트 발화의 각 단어에 대한 단어-레벨 언어적 특징들, 텍스트 발화의 각 음절에 대한 음절-레벨 언어적 특징들, 및 텍스트 발화의 각 음소에 대한 음소-레벨 언어적 특징들을 포함하고,
    보코더 모델로부터의 출력으로서, 운율 모델로부터 출력된 운율적 특징들 및 텍스트 발화의 언어적 사양에 기초하여 보코더 파라미터들을 예측하는 동작; 및
    보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 동작을 포함하고, 상기 파라메트릭 보코더는 의도된 운율을 갖는 텍스트 발화의 합성된 스피치 표현을 생성하도록 구성되는, 방법.
  2. 제1항에 있어서,
    상기 동작들은:
    보코더 모델에 대한 입력으로서, 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화(linguistic feature alignment activation)들을 수신하는 동작을 더 포함하고,
    상기 보코더 파라미터들을 예측하는 동작은 상기 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화들에 더 기초하는, 방법.
  3. 제2항에 있어서,
    상기 언어적 특징 정렬 활성화들은:
    각 단어의 활성화를 단어의 각 음절에 대한 음절-레벨 언어적 특징들과 각각 정렬하는 단어-레벨 정렬 활성화들; 및
    각 음절의 활성화를 음절의 각 음소에 대한 음소-레벨 언어적 특징들과 각각 정렬하는 음절-레벨 정렬 활성화들을 포함하는, 방법.
  4. 제3항에 있어서,
    상기 각 단어의 활성화는 대응하는 단어에 대한 단어-레벨 언어적 특징들 및 텍스트 발화에 대한 문장-레벨 언어적 특징들에 기초하는, 방법.
  5. 제1항에 있어서,
    상기 단어-레벨 언어적 특징들은 텍스트 발화로부터 양방향 인코더 표현 변환기(Bidirectional Encoder Representations from Transformers)(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함하는, 방법.
  6. 제1항에 있어서,
    상기 동작들은:
    텍스트 발화에 대한 발화 임베딩을 선택하는 동작, 상기 발화 임베딩은 의도된 운율을 표현하고;
    각 음절에 대해, 선택된 발화 임베딩을 사용하여:
    운율 모델을 사용하여, 음절 내 각 음소의 음소-레벨 언어적 특징들을 음절에 대한 대응하는 운율적 음절 임베딩으로 인코딩함으로써 음절의 지속 시간을 예측하는 동작;
    음절에 대한 예측된 지속 시간에 기초하여 음절의 음높이를 예측하는 동작; 및
    음절에 대한 예측된 지속기간에 기초하여 복수의 고정-길이 예측 음높이 프레임들을 생성하는 동작을 더 포함하고, 각 고정-길이 음높이 프레임은 음절의 예측된 음높이를 표현하고,
    상기 보코더 모델에 대한 입력으로서 수신된 운율적 특징들은 텍스트 발화의 각 음절에 대해 생성된 복수의 고정-길이 예측 음높이 프레임들을 포함하는, 방법.
  7. 제6항에 있어서,
    상기 동작들은 각 음절에 대해, 선택된 발화 임베딩을 사용하여:
    음절에 대한 예측된 지속 시간에 기초하여 음절 내 각 음소의 에너지 레벨을 예측하는 동작; 및
    음절 내 각 음소에 대해, 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정-길이 예측 에너지 프레임들을 생성하는 동작을 더 포함하고, 각 고정-길이 예측 에너지 프레임은 대응하는 음소의 예측된 에너지 레벨을 표현하며,
    상기 보코더 모델에 대한 입력으로서 수신된 운율적 특징들은 텍스트 발화의 각 음절의 각 음소에 대해 생성된 복수의 고정-길이 예측 에너지 프레임들을 더 포함하는, 방법.
  8. 제7항에 있어서,
    상기 운율 모델은 텍스트 발화를 표현하기 위해 계층적 언어 구조를 통합하고, 상기 계층적 언어 구조는:
    텍스트 발화의 각 단어를 표현하는 장단기 메모리(LSTM) 프로세싱 셀을 포함하는 제1 레벨;
    텍스트 발화의 각 음절을 표현하는 LSTM 프로세싱 셀을 포함하는 제2 레벨, 제2 레벨의 LSTM 프로세싱 셀들은 제1 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고;
    텍스트 발화의 각 음소를 표현하는 LSTM 프로세싱 셀을 포함하는 제3 레벨, 제3 레벨의 LSTM 프로세싱 셀들은 제2 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고;
    각 고정-길이 예측 음높이 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제4 레벨, 제4 레벨의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하며; 및
    각 고정-길이 예측 에너지 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제5 레벨을 포함하고, 제5 레벨의 LSTM 프로세싱 셀들은 제4 레벨의 LSTM 프로세싱 셀들과 동일한 속도로 클럭킹하고 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하는, 방법.
  9. 제8항에 있어서,
    상기 계층적 언어 구조의 제1 레벨은 단일 제1 패스에서 텍스트 발화의 각 단어에 대한 활성화를 생성하고;
    상기 계층적 언어 구조의 제2 레벨은 제1 패스에 후속하는 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성하고;
    상기 계층적 언어 구조의 제3 레벨은 제2 패스에 후속하는 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성하고;
    상기 계층적 언어 구조의 제4 레벨은 제3 패스에 후속하는 단일 제4 패스에서 각 고정-길이 예측 음높이 프레임에 대한 활성화를 생성하며; 그리고
    상기 계층적 언어 구조의 제5 레벨은 제3 패스에 후속하는 단일 제5 패스에서 각 고정-길이 예측 에너지 프레임에 대한 활성화를 생성하는, 방법.
  10. 제1항에 있어서,
    상기 동작들은:
    복수의 레퍼런스 오디오 신호들 및 대응하는 트랜스크립트들을 포함하는 트레이닝 데이터를 수신하는 동작, 각 레퍼런스 오디오 신호는 스피치의 음성 발화를 포함하고 대응하는 운율을 가지며, 각 트랜스크립트는 대응하는 레퍼런스 오디오 신호의 텍스트 표현을 포함하고; 및
    각 레퍼런스 오디오 신호 및 대응하는 트랜스크립트 쌍에 대해:
    대응하는 트랜스크립트의 레퍼런스 언어적 사양 및 대응하는 레퍼런스 오디오 신호의 대응하는 운율을 표현하는 레퍼런스 운율적 특징들을 획득하는 동작; 및
    심층 신경 네트워크를 사용하여, 레퍼런스 언어적 사양 및 레퍼런스 운율적 특징들로부터, 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들을 제공하는 고정-길이 예측 스피치 프레임들의 시퀀스를 생성하도록 보코더 모델을 트레이닝하는 동작을 더 포함하는, 방법.
  11. 제10항에 있어서,
    상기 보코더 모델을 트레이닝하는 동작은, 각 레퍼런스 오디오 신호에 대해,
    대응하는 레퍼런스 오디오 신호로부터, 레퍼런스 오디오 신호의 레퍼런스 멜-켑스트럼 계수들, 레퍼런스 비주기성 구성요소들, 레퍼런스 보이싱 구성요소들을 제공하는 고정-길이 레퍼런스 스피치 프레임들의 시퀀스를 샘플링하는 동작;
    보코더 모델에 의해 생성된 고정-길이 예측 스피치 프레임들의 시퀀스와 대응하는 레퍼런스 오디오 신호로부터 샘플링된 고정-길이 레퍼런스 스피치 프레임들의 시퀀스 사이의 기울기/손실을 생성하는 동작; 및
    보코더 모델을 통해 기울기/손실을 역전파하는 동작을 더 포함하는, 방법.
  12. 상기 동작들은:
    보코더 모델로부터 출력된 예측된 보코더 파라미터들을 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들로 분할하는 동작;
    멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들을 개별적으로 비정규화(denormalizing)하는 동작; 및
    운율 모델로부터 출력된 운율적 특징들, 비정규화된 멜-켑스트럼 계수들, 비정규화된 비주기성 구성요소들 및 비정규화된 보이싱 구성요소들을 보코더 벡터로 연결하는 동작을 더 포함하고,
    상기 보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 동작은 보코더 벡터를 텍스트 발화의 합성된 스피치 표현을 생성하기 위한 입력으로서 파라메트릭 보코더에 제공하는 동작을 포함하는, 방법.
  13. 시스템으로서,
    데이터 프로세싱 하드웨어; 및
    상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함하고, 상기 메모리 하드웨어는 상기 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
    하나 이상의 단어들을 갖는 텍스트 발화를 수신하는 동작, 각 단어는 하나 이상의 음절들을 갖고, 각 음절은 하나 이상의 음소들을 가지며:
    보코더 모델에 대한 입력으로서:
    텍스트 발화에 대한 의도된 운율을 표현하는 운율 모델로부터 출력되는 운율적 특징들, 상기 운율적 특징들은 텍스트 발화에 대한 지속 시간, 음높이 윤곽(contour), 및 에너지 윤곽을 포함하고; 및
    텍스트 발화의 언어적 사양을 수신하는 동작, 상기 언어적 사양은 텍스트 발화에 대한 문장-레벨 언어적 특징들, 텍스트 발화의 각 단어에 대한 단어-레벨 언어적 특징들, 텍스트 발화의 각 음절에 대한 음절-레벨 언어적 특징들, 및 텍스트 발화의 각 음소에 대한 음소-레벨 언어적 특징들을 포함하고,
    보코더 모델로부터의 출력으로서, 운율 모델로부터 출력된 운율적 특징들 및 텍스트 발화의 언어적 사양에 기초하여 보코더 파라미터들을 예측하는 동작; 및
    보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 동작을 포함하고, 상기 파라메트릭 보코더는 의도된 운율을 갖는 텍스트 발화의 합성된 스피치 표현을 생성하도록 구성되는, 시스템.
  14. 제13항에 있어서,
    상기 동작들은:
    보코더 모델에 대한 입력으로서, 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화(linguistic feature alignment activation)들을 수신하는 동작을 더 포함하고,
    상기 보코더 파라미터들을 예측하는 동작은 텍스트 발화의 언어적 사양에 대한 언어적 특징 정렬 활성화들에 더 기초하는, 시스템.
  15. 제14항에 있어서,
    상기 언어적 특징 정렬 활성화들은:
    각 단어의 활성화를 단어의 각 음절에 대한 음절-레벨 언어적 특징들과 각각 정렬하는 단어-레벨 정렬 활성화들; 및
    각 음절의 활성화를 음절의 각 음소에 대한 음소-레벨 언어적 특징들과 각각 정렬하는 음절-레벨 정렬 활성화들을 포함하는, 시스템.
  16. 제15항에 있어서,
    상기 각 단어의 활성화는 대응하는 단어에 대한 단어-레벨 언어적 특징들 및 텍스트 발화에 대한 문장-레벨 언어적 특징들에 기초하는, 시스템.
  17. 제13항에 있어서,
    상기 단어-레벨 언어적 특징들은 텍스트 발화로부터 양방향 인코더 표현 변환기(Bidirectional Encoder Representations from Transformers)(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함하는, 시스템.
  18. 제13항에 있어서,
    상기 동작들은:
    텍스트 발화에 대한 발화 임베딩을 선택하는 동작, 상기 발화 임베딩은 의도된 운율을 표현하고;
    각 음절에 대해, 선택된 발화 임베딩을 사용하여:
    운율 모델을 사용하여, 음절 내 각 음소의 음소-레벨 언어적 특징들을 음절에 대한 대응하는 운율적 음절 임베딩으로 인코딩함으로써 음절의 지속 시간을 예측하는 동작;
    음절에 대한 예측된 지속 시간에 기초하여 음절의 음높이를 예측하는 동작; 및
    음절에 대한 예측된 지속기간에 기초하여 복수의 고정-길이 예측 음높이 프레임들을 생성하는 동작을 더 포함하고, 각 고정-길이 음높이 프레임은 음절의 예측된 음높이를 표현하고,
    상기 보코더 모델에 대한 입력으로서 수신된 운율적 특징들은 텍스트 발화의 각 음절에 대해 생성된 복수의 고정-길이 예측 음높이 프레임들을 포함하는, 시스템.
  19. 제18항에 있어서,
    상기 동작들은 각 음절에 대해, 선택된 발화 임베딩을 사용하여:
    음절에 대한 예측된 지속 시간에 기초하여 음절 내 각 음소의 에너지 레벨을 예측하는 동작; 및
    음절 내 각 음소에 대해, 음절에 대한 예측된 지속 시간에 기초하여 복수의 고정-길이 예측 에너지 프레임들을 생성하는 동작을 더 포함하고, 각 고정-길이 예측 에너지 프레임은 대응하는 음소의 예측된 에너지 레벨을 표현하며,
    상기 보코더 모델에 대한 입력으로서 수신된 운율적 특징들은 텍스트 발화의 각 음절의 각 음소에 대해 생성된 복수의 고정-길이 예측 에너지 프레임들을 더 포함하는, 시스템.
  20. 제19항에 있어서,
    상기 운율 모델은 텍스트 발화를 표현하기 위해 계층적 언어 구조를 통합하고, 상기 계층적 언어 구조는:
    텍스트 발화의 각 단어를 표현하는 장단기 메모리(LSTM) 프로세싱 셀을 포함하는 제1 레벨;
    텍스트 발화의 각 음절을 표현하는 LSTM 프로세싱 셀을 포함하는 제2 레벨, 제2 레벨의 LSTM 프로세싱 셀들은 제1 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고;
    텍스트 발화의 각 음소를 표현하는 LSTM 프로세싱 셀을 포함하는 제3 레벨, 제3 레벨의 LSTM 프로세싱 셀들은 제2 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하고;
    각 고정-길이 예측 음높이 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제4 레벨, 제4 레벨의 LSTM 프로세싱 셀들은 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하며; 및
    각 고정-길이 예측 에너지 프레임을 표현하는 LSTM 프로세싱 셀을 포함하는 제5 레벨을 포함하고, 제5 레벨의 LSTM 프로세싱 셀들은 제4 레벨의 LSTM 프로세싱 셀들과 동일한 속도로 클럭킹하고 제3 레벨의 LSTM 프로세싱 셀들에 비해 더 빠르게 클럭킹하는, 시스템.
  21. 제20항에 있어서,
    상기 계층적 언어 구조의 제1 레벨은 단일 제1 패스에서 텍스트 발화의 각 단어에 대한 활성화를 생성하고;
    상기 계층적 언어 구조의 제2 레벨은 제1 패스에 후속하는 단일 제2 패스에서 텍스트 발화의 각 음절에 대한 활성화를 생성하고;
    상기 계층적 언어 구조의 제3 레벨은 제2 패스에 후속하는 단일 제3 패스에서 텍스트 발화의 각 음소에 대한 활성화를 생성하고;
    상기 계층적 언어 구조의 제4 레벨은 제3 패스에 후속하는 단일 제4 패스에서 각 고정-길이 예측 음높이 프레임에 대한 활성화를 생성하며; 그리고
    상기 계층적 언어 구조의 제5 레벨은 제3 패스에 후속하는 단일 제5 패스에서 각 고정-길이 예측 에너지 프레임에 대한 활성화를 생성하는, 시스템.
  22. 제13항에 있어서,
    상기 동작들은:
    복수의 레퍼런스 오디오 신호들 및 대응하는 트랜스크립트들을 포함하는 트레이닝 데이터를 수신하는 동작, 각 레퍼런스 오디오 신호는 스피치의 음성 발화를 포함하고 대응하는 운율을 가지며, 각 트랜스크립트는 대응하는 레퍼런스 오디오 신호의 텍스트 표현을 포함하고; 및
    각 레퍼런스 오디오 신호 및 대응하는 트랜스크립트 쌍에 대해:
    대응하는 트랜스크립트의 레퍼런스 언어적 사양 및 대응하는 레퍼런스 오디오 신호의 대응하는 운율을 표현하는 레퍼런스 운율적 특징들을 획득하는 동작; 및
    심층 신경 네트워크를 사용하여, 레퍼런스 언어적 사양 및 레퍼런스 운율적 특징들로부터, 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들을 제공하는 고정-길이 예측 스피치 프레임들의 시퀀스를 생성하도록 보코더 모델을 트레이닝하는 동작을 더 포함하는, 시스템.
  23. 제22항에 있어서,
    상기 보코더 모델을 트레이닝하는 동작은, 각 레퍼런스 오디오 신호에 대해,
    대응하는 레퍼런스 오디오 신호로부터, 레퍼런스 오디오 신호의 레퍼런스 멜-켑스트럼 계수들, 레퍼런스 비주기성 구성요소들, 레퍼런스 보이싱 구성요소들을 제공하는 고정-길이 레퍼런스 스피치 프레임들의 시퀀스를 샘플링하는 동작;
    보코더 모델에 의해 생성된 고정-길이 예측 스피치 프레임들의 시퀀스와 대응하는 레퍼런스 오디오 신호로부터 샘플링된 고정-길이 레퍼런스 스피치 프레임들의 시퀀스 사이의 기울기/손실을 생성하는 동작; 및
    보코더 모델을 통해 기울기/손실을 역전파하는 동작을 더 포함하는, 시스템.
  24. 제13항에 있어서,
    상기 동작들은:
    보코더 모델로부터 출력된 예측된 보코더 파라미터들을 멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들로 분할하는 동작;
    멜-켑스트럼 계수들, 비주기성 구성요소들 및 보이싱 구성요소들을 개별적으로 비정규화(denormalizing)하는 동작; 및
    운율 모델로부터 출력된 운율적 특징들, 비정규화된 멜-켑스트럼 계수들, 비정규화된 비주기성 구성요소들 및 비정규화된 보이싱 구성요소들을 보코더 벡터로 연결하는 동작을 더 포함하고,
    상기 보코더 모델로부터 출력된 예측된 보코더 파라미터들 및 운율 모델로부터 출력된 운율적 특징들을 파라메트릭 보코더에 제공하는 동작은 보코더 벡터를 텍스트 발화의 합성된 스피치 표현을 생성하기 위한 입력으로서 파라메트릭 보코더에 제공하는 동작을 포함하는, 시스템.
KR1020237035502A 2020-08-24 2021-06-21 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 KR20230149338A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202063069431P 2020-08-24 2020-08-24
US63/069,431 2020-08-24
US17/033,783 2020-09-26
US17/033,783 US11232780B1 (en) 2020-08-24 2020-09-26 Predicting parametric vocoder parameters from prosodic features
PCT/US2021/038257 WO2022046251A1 (en) 2020-08-24 2021-06-21 Predicting parametric vocoder parameters from prosodic features
KR1020237007312A KR102594081B1 (ko) 2020-08-24 2021-06-21 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020237007312A Division KR102594081B1 (ko) 2020-08-24 2021-06-21 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기

Publications (1)

Publication Number Publication Date
KR20230149338A true KR20230149338A (ko) 2023-10-26

Family

ID=79689739

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237035502A KR20230149338A (ko) 2020-08-24 2021-06-21 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기
KR1020237007312A KR102594081B1 (ko) 2020-08-24 2021-06-21 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020237007312A KR102594081B1 (ko) 2020-08-24 2021-06-21 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기

Country Status (6)

Country Link
US (3) US11232780B1 (ko)
EP (1) EP4179527A1 (ko)
JP (2) JP7379756B2 (ko)
KR (2) KR20230149338A (ko)
CN (1) CN115943460A (ko)
WO (1) WO2022046251A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112005298B (zh) * 2018-05-11 2023-11-07 谷歌有限责任公司 时钟式层次变分编码器
US11487996B2 (en) * 2019-06-03 2022-11-01 Dell Products L.P. Real-time predictive maintenance of hardware components using a stacked deep learning architecture on time-variant parameters combined with a dense neural network supplied with exogeneous static outputs
US11880645B2 (en) 2022-06-15 2024-01-23 T-Mobile Usa, Inc. Generating encoded text based on spoken utterances using machine learning systems and methods
CN116895273B (zh) * 2023-09-11 2023-12-26 南京硅基智能科技有限公司 合成音频的输出方法及装置、存储介质、电子装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163769A (en) * 1997-10-02 2000-12-19 Microsoft Corporation Text-to-speech using clustered context-dependent phoneme-based units
US8321222B2 (en) * 2007-08-14 2012-11-27 Nuance Communications, Inc. Synthesis by generation and concatenation of multi-form segments
US9286886B2 (en) * 2011-01-24 2016-03-15 Nuance Communications, Inc. Methods and apparatus for predicting prosody in speech synthesis
JP6048726B2 (ja) * 2012-08-16 2016-12-21 トヨタ自動車株式会社 リチウム二次電池およびその製造方法
JP6802958B2 (ja) 2017-02-28 2020-12-23 国立研究開発法人情報通信研究機構 音声合成システム、音声合成プログラムおよび音声合成方法
CN112005298B (zh) 2018-05-11 2023-11-07 谷歌有限责任公司 时钟式层次变分编码器
WO2020101263A1 (en) * 2018-11-14 2020-05-22 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling thereof
US10607598B1 (en) * 2019-04-05 2020-03-31 Capital One Services, Llc Determining input data for speech processing

Also Published As

Publication number Publication date
KR20230039750A (ko) 2023-03-21
US20220130371A1 (en) 2022-04-28
EP4179527A1 (en) 2023-05-17
JP7379756B2 (ja) 2023-11-14
JP2023538937A (ja) 2023-09-12
JP2024012423A (ja) 2024-01-30
CN115943460A (zh) 2023-04-07
KR102594081B1 (ko) 2023-10-25
US11232780B1 (en) 2022-01-25
US11830474B2 (en) 2023-11-28
US20240046915A1 (en) 2024-02-08
WO2022046251A1 (en) 2022-03-03

Similar Documents

Publication Publication Date Title
KR102327614B1 (ko) 클록워크 계층적 변이 인코더
US11881210B2 (en) Speech synthesis prosody using a BERT model
US11664011B2 (en) Clockwork hierarchal variational encoder
JP7395792B2 (ja) 2レベル音声韻律転写
KR102594081B1 (ko) 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기
US20240038214A1 (en) Attention-Based Clockwork Hierarchical Variational Encoder
US20230018384A1 (en) Two-Level Text-To-Speech Systems Using Synthetic Training Data

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal