KR20230084229A - 병렬 타코트론: 비-자동회귀 및 제어 가능한 tts - Google Patents
병렬 타코트론: 비-자동회귀 및 제어 가능한 tts Download PDFInfo
- Publication number
- KR20230084229A KR20230084229A KR1020237015304A KR20237015304A KR20230084229A KR 20230084229 A KR20230084229 A KR 20230084229A KR 1020237015304 A KR1020237015304 A KR 1020237015304A KR 20237015304 A KR20237015304 A KR 20237015304A KR 20230084229 A KR20230084229 A KR 20230084229A
- Authority
- KR
- South Korea
- Prior art keywords
- phoneme
- sequence
- duration
- embedding
- spectrogram
- Prior art date
Links
- 230000005236 sound signal Effects 0.000 claims abstract description 93
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 29
- 238000013528 artificial neural network Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 34
- 230000004913 activation Effects 0.000 claims description 21
- 238000005070 sampling Methods 0.000 claims description 10
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000013518 transcription Methods 0.000 claims description 6
- 230000035897 transcription Effects 0.000 claims description 6
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 2
- 238000001994 activation Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000002194 synthesizing effect Effects 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 208000027765 speech disease Diseases 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
- G10L13/04—Details of speech synthesis systems, e.g. synthesiser structure or memory management
- G10L13/047—Architecture of speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/06—Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
- G10L21/10—Transforming into visible information
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Machine Translation (AREA)
Abstract
비-자동회귀 TTS 모델(300)을 훈련하는 방법(600)은 기준 오디오 신호(201) 및 대응하는 입력 텍스트 시퀀스(206)를 수신하는 단계를 포함한다. 이 방법은 또한 기준 오디오 신호를 상기 기준 오디오 신호로부터 스타일/운율 정보를 분리하는 변형 임베딩(220)으로 인코딩하는 단계 및 상기 입력 텍스트 시퀀스를 인코딩된 텍스트 시퀀스(219)로 인코딩하는 단계를 포함한다. 이 방법은 또한 상기 입력 텍스트 시퀀스의 각 음소에 대한 음소 지속 시간(240)을 예측하는 단계와 음소 지속 시간 손실(244)을 결정하는 단계를 포함한다. 이 방법은 또한 상기 입력 텍스트 시퀀스에 대해 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하고 상기 예측된 멜 주파수 스펙트로그램 시퀀스 및 기준 멜 주파수 스펙트로그램 시퀀스(202)를 기초로 최종 스펙트로그램 손실(280)을 결정하는 단계를 포함한다. 방법은 또한 최종 스펙트로그램 손실 및 해당 음소 지속 시간 손실을 기초로 TTS 모델을 훈련하는 단계를 포함한다.
Description
본 개시는 병렬 타코트론 비-자동회귀 및 제어 가능한 TTS(text-to-speech) 에 관한 것이다.
텍스트 음성 변환(TTS) 시스템은 디지털 텍스트를 사용자에게 소리내어 읽어주며 모바일 장치에서 점차 대중화되고 있다. 특정 TTS 모델은 말하기 스타일과 같은 음성의 다양한 측면을 합성하여 인간과 같은 자연스러운 음성을 생성하는 것을 목표로 한다. TTS 모델의 합성은 텍스트 입력의 다양한 운율에 대해 가능한 음성 출력이 여러 개 있을 수 있으므로 일대다 매핑 문제이다. 많은 TTS 시스템은 이전 값을 기반으로 현재 값을 예측하는 자동 회귀 모델을 사용한다. 자동 회귀 TTS 모델은 텍스트를 합성하고 매우 자연스러운 음성 출력을 생성할 수 있지만 필요한 수백 가지 계산으로 인해 추론하는 동안 효율성이 떨어진다.
본 발명의 한 양태는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 비-자동회귀 TTS(text-to-speech) 모델을 훈련하기 위한 동작을 수행하게 하는 컴퓨터 구현 방법을 제공한다. 상기 동작들은 기준 오디오 신호와 해당 입력 텍스트 시퀀스를 포함하는 훈련 데이터를 수신하는 것을 포함한다. 기준 오디오 신호는 구어를 포함하고 입력 텍스트 시퀀스는 기준 오디오 신호에 대한 전사에 해당한다. 상기 동작들은, 잔차 인코더를 사용하여 기준 오디오 신호를 기준 오디오 신호에서 스타일/운율 정보를 구분하는 변형 임베딩으로 인코딩하는 것과, 텍스트 인코더를 사용하여 입력 텍스트 시퀀스를 인코딩된 텍스트 시퀀스로 인코딩하는 것을 포함한다. 상기 동작들은, 또한 지속 시간 디코더를 사용하고 인코딩된 텍스트 시퀀스 및 변형 임베딩을 기반으로, 입력 텍스트 시퀀스의 각 음소에 대한 음소 지속 시간 예측하는 것을 포함한다. 상기 동작들은 또한 입력 텍스트 시퀀스의 각각의 음소에 대한 기준 오디오 신호로부터의 예측된 음소 지속 시간 및 기준 음소 지속 시간에 기초하여 음소 지속 시간 손실을 결정하는 것을 포함한다. 상기 동작들은 또한 셀프 어텐션(self attention) 블록들의 스택을 포함하는 스펙트로그램 디코더로부터의 출력으로서, 그리고 지속 시간 디코더에 대한 출력에 기초하여 입력 텍스트 시퀀스에 대한 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스를 생성하는 것을 포함한다. 상기 동작들은 또한 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스와 기준 오디오 신호에서 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스를 기반으로 최종 스펙트로그램 손실을 결정하는 것과, 최종 스펙트로그램 손실 및 입력 텍스트 시퀀스의 각 음소에 대해 결정된 해당 음소 지속 시간 손실을 기반으로 TTS 모델을 교육하는 것을 포함한다.
본 개시의 구현은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 예에서 셀프 어텐션 블록들의 스택 내의 각 셀프 어텐션 블록은 동일한 경량 컨볼루션(Lightweight Convolution, LConv) 블록을 포함한다. 일부 예에서 셀프 어텐션 블록들의 스택 내의 각 셀프 어텐션 블록은 동일한 변환기 블록을 포함한다. 입력 텍스트 시퀀스는 각각 하나 이상의 음소들, 모든 단어 경계에서의 묵음들 및 구두점들을 갖는 단어들을 포함할 수 있다.
일부 예에서, 잔차 인코더는 글로벌 변형 자동 인코더(VAE) 를 포함하고 기준 오디오 신호를 변형 임베딩으로 인코딩하는 것은 다음을 포함한다: 기준 오디오 신호로부터 기준 멜 주파수 스펙트로그램 시퀀스를 샘플링하는 것; 그리고 글로벌 VAE를 사용하여, 상기 기준 멜 주파수 스펙트로그램 시퀀스를 변형 임베딩으로 인코딩하는 것. 일부 예에서, 상기 잔차 인코더는 음소 레벨로 세분화된 변형 자동 인코더(VAE) 를 포함하며, 상기 기준 오디오 신호를 상기 변형 임베딩으로 인코딩하는 것은 다음을 포함한다: 상기 기준 오디오 신호에서 상기 기준 멜 주파수 스펙트로그램 시퀀스를 샘플링하는 것; 입력 텍스트 시퀀스로부터 추출된 음소 시퀀스에서 각 음소에 상기 기준 멜 주파수 스펙트로그램 시퀀스를 정렬하는 것; 그리고, 상기 음소 레벨로 세분화된 VAE를 사용하여, 상기 기준 멜 주파수 스펙트로그램 시퀀스를 음소 시퀀스의 각 음소, 즉 음소 레벨 변형 임베딩 시퀀스에 정렬하는 것에 기반하여 인코딩하는 것.
선택적으로 잔차 인코더는 경량 컨볼루션(LConv) 블록들의 스택을 포함할 수 있으며, 여기서 LConv 블록들의 스택 내의 각 LConv 블록은, GLU(Gated Linear Unit) 계층, 상기 GLU 계층의 출력을 수신하도록 구성된 LConv 계층, 상기 LConv 계층의 출력을 GLU 계층에 대한 입력과 연관시키도록 구성된 잔차 연결, 및 상기 GLU 계층에 대한 입력과 LConv 계층의 출력을 연관시키는 잔차 연결을 입력으로 수신하도록 구성된 최종 피드포워드(feedforward) 계층을 포함한다. 상기 동작들은, 상기 입력 텍스트 시퀀스의 각 음소에 대한 상기 기준 오디오 신호로부터 샘플링된 상기 기준 음소 지속 시간을 사용하여, 지속 시간 디코더의 출력을 다수의 프레임으로 업샘플링하고, 상기 입력 텍스트 발화에서 각각의 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩을 획득하는 것을 더 포함할 수 있다. 여기에서, 상기 입력 텍스트 시퀀스에 대해 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스를 생성하는 것은 상기 위치 임베딩 및 상기 지속 시간 디코더 출력의 프레임 수들로 상기 업샘플링 하는 것을 기반으로 한다.
일부 예에서, 입력 텍스트 시퀀스에 대한 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스를 생성하는 것은, 스펙트로그램 디코더의 셀프 어텐션 블록들의 스택 내에 있는 각 셀프 어텐션 블록의 출력으로 각각의 멜 주파수 스펙트로그램 시퀀스를 생성하는 것을 포함한다. 이 예들에서 최종 스펙트로그램 손실을 결정하는 것은, 각각의 예측된 멜 주파수 스펙트로그램 시퀀스에 대해, 예측된 멜 주파수 스펙트로그램 시퀀스 및 기준 멜 주파수 스펙트로그램 시퀀스에 기초하여 각각의 스펙트로그램 손실을 결정하고, 최종 스펙트로그램 손실을 생성하기 위해 상기 예측된 멜 주파수 스펙트로그램 시퀀스들에 대해 결정된 각 스펙트로그램 손실들을 집계하는 것을 포함한다. 일부 예에서 상기 지속 시간 디코더는 두 개의 독립적인 프로젝션이 뒤따르는 셀프 어텐션 블록들의 스택을 포함하고 입력 텍스트 시퀀스의 각 음소에 대한 음소 지속 시간을 예측하는 것은 다음을 포함한다: 상기 두 개의 독립적인 프로젝션 중 첫 번째 프로젝션 다음에 시그모이드(sigmoid) 활성화를 사용하여 각 음소에 대하여 0이 아닌 지속 시간(non-zero duration) 의 확률을 예측하는 것; 그리고 상기 두 개의 독립적인 프로젝션 중 두 번째 프로젝션에 다음에 소프트플러스(softplus) 활성화를 사용하여 각 음소에 대한 음소 지속 시간을 예측하는 것. 상기 동작들은 각각의 음소에 대하여 대응하는 음소에 대해 예측된 0이 아닌 지속 시간의 확률이 임계값 미만인지 여부를 결정하고, 상기 0이 아닌 지속 시간의 확률이 상기 임계값 보다 작은 경우 대응하는 음소에 대해 예측된 음소 지속 시간을 0으로 만드는 것을 더 포함할 수 있다.
일부 예에서, 상기 동작들은 인코딩 텍스트 시퀀스, 변형 임베딩 및 기준 오디오 신호를 발언한 기준 화자의 식별을 나타내는 기준 화자 임베딩을 연관시키는 것과 상기 인코딩된 텍스트 시퀀스와의 연관, 상기 변형 임베딩, 및 상기 기준 화자 임베딩을 입력으로서 수신하는 상기 지속 시간 디코더에 기초하여 상기 지속 시간 디코더의 출력을 생성하는 것을 더 포함한다. 선택적으로, 입력 텍스트 시퀀스는 음소 시퀀스를 포함할 수 있고 입력 텍스트 시퀀스를 인코딩된 텍스트 시퀀스로 인코딩하는 것은 다음을 포함한다: 음소 룩업 테이블로부터 상기 음소 시퀀스 내 각 음소의 임베딩을 수신하는 것; 상기 음소 시퀀스의 각 음소에 대하여, 상기 음소의 각 변환된 임베딩을 생성하기 위해 상기 텍스트 인코더의 인코더 프리넷 신경망을 사용하여 상기 각각의 임베딩을 처리하는 것; 컨볼루션 출력들을 생성하기 위해 상기 각 변형된 임베딩들을 컨볼루션 블록들의 뱅크(bank) 를 사용하여 처리하는 것; 그리고 상기 인코딩된 텍스트 시퀀스를 생성하기 위해 셀프 어텐션 블록들의 스택을 사용하여 상기 컨볼루션 출력들을 처리하는 것.
본 개시의 또 다른 양태는 비-자동회귀 TTS(text-to-speech) 모델을 훈련하기 위한 시스템을 제공하며, 상기 시스템은 데이터 처리 하드웨어 및, 상기 데이터 처리 하드웨어에서 실행될 때 상기 데이터 처리 하드웨어가 동작들을 수행하도록 하는 명령어들이 저장된 메모리 하드웨어를 포함한다. 상기 동작들은 기준 오디오 신호와 대응하는 입력 텍스트 시퀀스를 포함하는 훈련 데이터를 수신하는 것을 포함한다. 상기 기준 오디오 신호는 구어를 포함하고 상기 입력 텍스트 시퀀스는 기준 오디오 신호에 대한 전사에 대응한다. 상기 동작들은 또한 잔차 인코더를 사용하여 기준 오디오 신호를 기준 오디오 신호로부터 스타일/운율 정보를 분리하는 변형 임베딩으로 인코딩하는 것과, 텍스트 인코더를 사용하여 입력 텍스트 시퀀스를 인코딩된 텍스트 시퀀스로 인코딩하는 것을 포함한다. 상기 동작들은 또한 지속 시간 디코더를 사용하고 인코딩된 텍스트 시퀀스 및 변형 임베딩에 기초하여 입력 텍스트 시퀀스의 각 음소에 대한 음소 지속 시간을 예측하는 것을 포함한다. 상기 동작들은 또한 입력 텍스트 시퀀스의 각각의 음소에 대한 기준 오디오 신호로부터의 예측된 음소 지속 시간들 및 기준 음소 지속 시간에 기초하여 음소 지속 시간 손실을 결정하는 것을 포함한다. 상기 동작들은 또한 지속 시간 디코더에 대한 출력에 기초하고 셀프 어텐션 블록들의 스택을 포함하는 스펙트로그램 디코더로부터의 출력으로서, 입력 텍스트 시퀀스에 대한 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스들을 생성하는 것을 포함한다. 상기 동작들은 또한, 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스들 및 상기 기준 오디오 신호로부터 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스에 기초하여 최종 스펙트로그램 손실을 결정하는 것과, 상기 최종 스펙트로그램 손실과 상기 입력 텍스트 시퀀스의 각 음소에 대하여 결정된 상기 대응하는 음소 지속 시간 손실에 기초하여 상기 TTS 모델을 훈련하는 것을 더 포함한다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서 셀프 어텐션 블록들의 스택의 각 셀프 어텐션 블록은 동일한 경량 컨볼루션(LConv) 블록을 포함한다. 다른 구현에서 셀프 어텐션 블록들의 스택의 각 셀프 어텐션 블록은 동일한 변환기 블록을 포함한다. 입력 텍스트 시퀀스는 각각 하나 이상의 음소, 모든 단어 경계에서의 묵음 및 구두점을 갖는 단어들을 포함할 수 있다.
일부 예에서, 잔차 인코더는 글로벌 변형 자동 인코더(VAE) 를 포함하고 상기 기준 오디오 신호를 변형 임베딩으로 인코딩한다. 인코딩은 다음을 포함한다: 상기 기준 오디오 신호로부터 상기 기준 멜 주파수 스펙트로그램 시퀀스를 샘플링하는 것; 그리고 상기 글로벌 VAE를 사용하여 상기 기준 멜 주파수 스펙트로그램 시퀀스를 상기 변형 임베딩으로 인코딩하는 것. 일부 예에서, 상기 잔차 인코더는 음소 레벨로 세분화된 변형 자동 인코더(VAE) 를 포함하며, 상기 기준 오디오 신호를 상기 변형 임베딩으로 인코딩하는 것은 다음을 포함한다: 상기 기준 오디오 신호에서 상기 기준 멜 주파수 스펙트로그램 시퀀스를 샘플링하는 것; 입력 텍스트 시퀀스로부터 추출된 음소 시퀀스에서 각 음소에 상기 기준 멜 주파수 스펙트로그램 시퀀스를 정렬하는 것; 그리고 상기 음소 레벨로 세분화된 VAE를 사용하여, 상기 기준 멜 주파수 스펙트로그램 시퀀스를 음소 시퀀스의 각 음소, 즉 음소 레벨 변형 임베딩 시퀀스에 정렬하는 것에 기반하여 인코딩하는 것.
선택적으로 잔차 인코더는 경량 컨볼루션(LConv) 블록들의 스택을 포함할 수 있으며, 여기서 LConv 블록들의 스택 내의 각 LConv 블록은, GLU(Gated Linear Unit) 계층, 상기 GLU 계층의 출력을 수신하도록 구성된 LConv 계층, 상기 LConv 계층의 출력을 GLU 계층에 대한 입력과 연관시키도록 구성된 잔차 연결, 및 상기 GLU 계층에 대한 입력과 LConv 계층의 출력을 연관시키는 잔차 연결을 입력으로 수신하도록 구성된 최종 피드포워드(feedforward) 계층을 포함한다. 상기 동작들은, 상기 입력 텍스트 시퀀스의 각 음소에 대한 상기 기준 오디오 신호로부터 샘플링된 상기 기준 음소 지속 시간을 사용하여, 지속 시간 디코더의 출력을 다수의 프레임으로 업샘플링하고, 상기 입력 텍스트 발화에서 각각의 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩을 획득하는 것을 더 포함할 수 있다. 여기에서, 상기 입력 텍스트 시퀀스에 대해 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스를 생성하는 것은 상기 위치 임베딩 및 상기 지속 시간 디코더 출력의 프레임 수들로 상기 업샘플링 하는 것을 기반으로 한다.
일부 예에서, 입력 텍스트 시퀀스에 대한 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스를 생성하는 것은, 스펙트로그램 디코더의 셀프 어텐션 블록들의 스택 내에 있는 각 셀프 어텐션 블록의 출력으로 각각의 멜 주파수 스펙트로그램 시퀀스를 생성하는 것을 포함한다. 이 예들에서 최종 스펙트로그램 손실을 결정하는 것은, 각각의 예측된 멜 주파수 스펙트로그램 시퀀스에 대해, 예측된 멜 주파수 스펙트로그램 시퀀스 및 기준 멜 주파수 스펙트로그램 시퀀스에 기초하여 각각의 스펙트로그램 손실을 결정하고, 최종 스펙트로그램 손실을 생성하기 위해 상기 예측된 멜 주파수 스펙트로그램 시퀀스들에 대해 결정된 각 스펙트로그램 손실들을 집계하는 것을 포함한다. 일부 예에서 상기 지속 시간 디코더는 두 개의 독립적인 프로젝션이 뒤따르는 셀프 어텐션 블록들의 스택을 포함하고 입력 텍스트 시퀀스의 각 음소에 대한 음소 지속 시간을 예측하는 것은 다음을 포함한다: 상기 두 개의 독립적인 프로젝션 중 첫 번째 프로젝션 다음에 시그모이드(sigmoid) 활성화를 사용하여 각 음소에 대하여 0이 아닌 지속 시간(non-zero duration) 의 확률을 예측하는 것; 그리고 상기 두 개의 독립적인 프로젝션 중 두 번째 프로젝션에 다음에 소프트플러스(softplus) 활성화를 사용하여 각 음소에 대한 음소 지속 시간을 예측하는 것. 상기 동작들은 각각의 음소에 대하여 대응하는 음소에 대해 예측된 0이 아닌 지속 시간의 확률이 임계값 미만인지 여부를 결정하고, 상기 0이 아닌 지속 시간의 확률이 상기 임계값 보다 작은 경우 대응하는 음소에 대해 예측된 음소 지속 시간을 0으로 만드는 것을 더 포함할 수 있다.
일부 예에서, 상기 동작들은 인코딩 텍스트 시퀀스, 변형 임베딩 및 기준 오디오 신호를 발언한 기준 화자의 식별을 나타내는 기준 화자 임베딩을 연관시키는 것과 상기 인코딩된 텍스트 시퀀스와의 연관, 상기 변형 임베딩, 및 상기 기준 화자 임베딩을 입력으로서 수신하는 상기 지속 시간 디코더에 기초하여 상기 지속 시간 디코더의 출력을 생성하는 것을 더 포함한다. 선택적으로, 입력 텍스트 시퀀스는 음소 시퀀스를 포함할 수 있고 입력 텍스트 시퀀스를 인코딩된 텍스트 시퀀스로 인코딩하는 것은 다음을 포함한다: 음소 룩업 테이블로부터 상기 음소 시퀀스 내 각 음소의 임베딩을 수신하는 것; 상기 음소 시퀀스의 각 음소에 대하여, 상기 음소의 각 변환된 임베딩을 생성하기 위해 상기 텍스트 인코더의 인코더 프리넷 신경망을 사용하여 상기 각각의 임베딩을 처리하는 것; 컨볼루션 출력들을 생성하기 위해 상기 각 변형된 임베딩들을 컨볼루션 블록들의 뱅크(bank) 를 사용하여 처리하는 것; 그리고 상기 인코딩된 텍스트 시퀀스를 생성하기 위해 셀프 어텐션 블록들의 스택을 사용하여 상기 컨볼루션 출력들을 처리하는 것.
본 발명의 또 다른 양태는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 컴퓨터 구현 방법을 제공한다. 상기 동작들은 음성으로 합성할 텍스트 발화를 수신하는 것을 포함하고, 비자동 회귀 TTS 모델의 텍스트 인코더를 사용하여 상기 텍스트 발화에서 추출된 음소 시퀀스를 인코딩된 텍스트 시퀀스로 인코딩하는 것을 포함한다. 상기 동작들은 또한 텍스트 발화를 음성으로 합성하기 위해 의도된 운율/스타일을 지정하는 텍스트 발화에 대한 변형 임베딩을 선택하는 것을 포함한다. 상기 동작들은, 상기 음소 시퀀스의 각 음소에 대해, 비-자동회귀 TTS 모델의 지속 시간 디코더를 사용하고, 인코딩된 텍스트 시퀀스 및 선택된 변형 임베딩에 기초하여 대응하는 음소에 대한 음소 지속 시간을 예측하는 것을 더 포함한다. 상기 동작들은 또한 셀프 어텐션 블록의 스택을 포함하고 상기 지속 시간 디코더의 출력과 상기 예측된 음소 지속 시간들을 기반으로 하는 비-자동회귀 TTS 모델의 스펙트로그램 디코더의 출력으로서, 상기 텍스트 발화에 대해 예측된 멜 주파수 스펙트로그램 시퀀스를 생성하는 것을 더 포함한다. 상기 예측된 멜 주파수 스펙트로그램 시퀀스는 상기 선택된 변형 임베딩에 의해 지정되는 의도된 운율/스타일을 가진다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 선택된 변형 임베딩은 변형 자동 인코더(VAE) 기반 잔차 인코더로부터 샘플링된 이전 변형 임베딩을 포함한다. 상기 동작들은 예측된 멜 주파수 스펙트로그램 시퀀스를, 합성기를 사용하여 합성된 음성으로 변환하는 것을 더 포함할 수 있다. 일부 예에서, 상기 텍스트 발화로부터 상기 인코딩된 텍스트 시퀀스로 추출된 상기 음소 시퀀스는 다음을 포함한다: 음소 룩업 테이블로부터 상기 음소 시퀀스 내 각 음소의 각 임베딩을 수신하는 것; 상기 음소 시퀀스의 각 음소에 대하여, 각각 변환된 음소의 임베딩을 생성하기 위해 텍스트 인코더의 인코더 프리넷 신경망을 사용하여 상기 각 임베딩을 처리하는 것; 컨볼루션 출력들을 생성하기 위해 컨볼루션 블록들의 뱅크를 사용하여 상기 각 변형된 임베딩을 처리하는 것; 그리고 상기 인코딩된 텍스트 시퀀스를 생성하기 위해 셀프 어텐션 블록들의 스택을 사용하여 상기 컨볼루션 출력들을 처리하는 것.
선택적으로, 스펙트로그램 디코더의 셀프 어텐션 블록들의 스택의 각 셀프 어텐션 블록은 동일한 경량 컨볼루션(LConv) 블록 또는 동일한 변환기 블록 중 하나를 포함할 수 있다. 일부 예에서, 상기 동작들은, 상기 예측된 음소 지속 시간을 사용하여, 지속 시간 디코더의 출력을 다수의 프레임으로 업샘플링하는 것과, 상기 음소 시퀀스 내의 각 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩을 획득하는 것을 더 포함한다. 여기서 상기 텍스트 발화에 대한 예측 멜 주파수 스펙트로그램 시퀀스를 생성하는 것은, 상기 지속 시간 디코더의 출력을 상기 프레임들의 수로 업샘플링하는 것과 상기 위치 임베딩을 기초로 한다. 상기 동작들은 상기 인코딩된 텍스트 시퀀스, 상기 선택된 변형 임베딩, 및 상기 선택된 변형 임베딩과 연관된 기준 화자의 식별을 나타내는 기준 화자 임베딩을 연관시키는 것과, 상기 인코딩된 텍스트 시퀀스, 상기 변형 임베딩 및 상기 기준 화자 임베딩의 연관을 입력으로 수신하는 상기 지속 시간 디코더에 기초하여 상기 지속 시간 디코더의 상기 출력을 생성하는 것을 더 포함할 수 있다.
본 발명의 또 다른 양태는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장하는 메모리 하드웨어 및 데이터 처리 하드웨어를 포함하는 훈련된 비-자동회귀 TTS(text-to-speech) 모델을 실행하기 위한 시스템을 제공한다. 상기 동작들은 음성으로 합성될 텍스트 발화를 수신하고 텍스트 발화로부터 추출된 음소 시퀀스를, 비-자동회귀 TTS 모델의 텍스트 인코더를 사용하여, 인코딩된 텍스트 시퀀스로 인코딩하는 것을 포함한다. 상기 동작들은 또한 상기 텍스트 발화를 음성으로 합성하기 위한 의도된 운율/스타일을 지정하는 상기 텍스트 발화에 대한 변형 임베딩을 선택하는 것을 포함한다. 음소 시퀀스 내 각 음소에 대하여, 상기 동작들은, 비자동 회귀 TTS 모델의 지속 시간 디코더를 사용하여, 상기 인코딩된 텍스트 시퀀스 및 상기 선택한 변형 임베딩을 기반으로, 대응하는 음소에 대한 음소 지속 시간을 예측하는 것을 더 포함한다. 상기 동작들은 텍스트 발화에 대해 예측된 멜 주파수 스펙트로그램 시퀀스를, 셀프 어텐션 블록의 스택을 포함하고 상기 지속 시간 디코더의 출력과 상기 예측된 음소 지속 시간을 기반으로 하는 비-자동회귀 TTS 모델의 스펙트로그램 디코더의 출력으로서 생성하는 동작을 또한 포함한다. 상기 예측된 멜 주파수 스펙트로그램 시퀀스는 선택된 변형 임베딩에 의해 지정되는 의도된 운율/스타일을 가진다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 상기 선택된 변형 임베딩은 변형 자동 인코더(VAE) 기반 잔차 인코더로부터 샘플링된 이전 변형 임베딩을 포함한다. 상기 동작들은 합성기를 사용하여, 상기 예측된 멜 주파수 스펙트로그램 시퀀스를 합성된 음성으로 변환하는 것을 더 포함할 수 있다. 일부 예에서, 상기 텍스트 발화로부터 상기 인코딩된 텍스트 시퀀스로 추출된 음소 시퀀스는 다음을 포함한다: 음소 룩업 테이블로부터 상기 음소 시퀀스 내 각 음소의 각 임베딩을 수신하는 것; 상기 음소 시퀀스 내 각 음소에 대하여, 상기 음소의 각의 변환된 임베딩을 생성하기 위해 텍스트 인코더의 인코더 프리넷 신경망을 사용하여, 상기 각 임베딩을 처리하는 것; 컨볼루션 출력들을 생성하기 위해 상기 각 변환된 임베딩을 컨볼루션 블록의 뱅크를 사용하여 처리하는 것; 그리고 상기 인코딩된 텍스트 시퀀스를 생성하기 위해 상기 컨볼루션 출력들을 셀프 어텐션 블록들의 스택을 사용하여 처리하는 것.
선택적으로, 스펙트로그램 디코더의 셀프 어텐션 블록들의 스택의 각 셀프 어텐션 블록은 동일한 경량 컨볼루션(LConv) 블록 또는 동일한 변환기 블록 중 하나를 포함할 수 있다. 일부 구현에서, 상기 동작들은 상기 예측된 음소 지속 시간을 사용하여 지속 시간 디코더의 출력을 다수의 프레임으로 업샘플링하고, 상기 음소 시퀀스 내 각 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩을 획득하는 것을 더 포함한다. 여기서 상기 텍스트 발화에 대한 상기 예측된 멜 주파수 스펙트로그램 시퀀스를 생성하는 것은 상기 위치 임베딩과 상기 지속 시간 디코더의 출력을 상기 프레임의 수로 업샘플링하는 것을 기반으로 한다. 상기 동작들은 상기 인코딩된 텍스트 시퀀스, 상기 선택된 변형 임베딩, 및 상기 선택된 변형 임베딩과 관련된 기준 화자의 식별을 나타내는 기준 화자 임베딩을 연관시키는 것과, 상기 인코딩된 텍스트 시퀀스, 상기 선택된 변형 임베딩, 및 상기 기준 화자 임베딩의 연관을 입력으로서 수신하는 상기 지속 시간 디코더에 기반하여 상기 지속 시간 디코더의 출력을 생성하는 것을 더 포함한다.
본 발명의 하나 이상의 구현에 대한 세부 사항은 첨부된 도면과 아래 설명에 설명되어 있다. 다른 양태, 특징 및 이점은 설명, 도면 및 청구범위로부터 명백할 것이다.
도 1은 텍스트 발화에 대한 스펙트로그램을 예측하는 비-자동회귀 TTS 모델을 제공하기 위해 심층 신경망을 훈련하기 위한 예시적인 시스템이다.
도 2는 비-자동회귀 TTS 모델을 훈련시키는 비-자동회귀 신경망의 개략도이다.
도 3은 도 2의 비-자동회귀 심층 신경망에 의해 훈련된, 훈련된 비-자동회귀 TTS 모델을 실행하는 개략도이다.
도 4는 예시적인 콘벌루션 블록의 개략도이다.
도 5는 예시적인 경량 콘볼루션 블록의 개략도이다.
도 6은 비-자동회귀 TTS 모델을 훈련시키기 위한 컴퓨터 구현 방법에 대한 예시적인 동작들의 배열 흐름도이다.
도 7은 훈련된 비-자동회귀 TTS 모델을 실행하기 위해 컴퓨터로 구현된 방법에 대한 예시적인 동작들의 배열 흐름도이다.
도 8은 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
여러 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
도 2는 비-자동회귀 TTS 모델을 훈련시키는 비-자동회귀 신경망의 개략도이다.
도 3은 도 2의 비-자동회귀 심층 신경망에 의해 훈련된, 훈련된 비-자동회귀 TTS 모델을 실행하는 개략도이다.
도 4는 예시적인 콘벌루션 블록의 개략도이다.
도 5는 예시적인 경량 콘볼루션 블록의 개략도이다.
도 6은 비-자동회귀 TTS 모델을 훈련시키기 위한 컴퓨터 구현 방법에 대한 예시적인 동작들의 배열 흐름도이다.
도 7은 훈련된 비-자동회귀 TTS 모델을 실행하기 위해 컴퓨터로 구현된 방법에 대한 예시적인 동작들의 배열 흐름도이다.
도 8은 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
여러 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
사실적인 인간 음성의 합성은 동일한 텍스트 입력이 무한한 수의 합당한 구두 실현을 갖는다는 점에서 결정되지 않은 문제이다. 짧은 비서와 같은 발화들에 대하여 엔드-투-엔드(end-to-end) 신경망 기반 접근 방식이 인간의 성능과 일치하도록 발전하는 동안, 신경망 모델은 가끔 개선된 언어적 또는 발음적 표현들에 대해 작동하는 여러 처리 단계들을 포함하는 기존 모델들보다 덜 해석가능하거나 덜 제어 가능한 것으로 간주되는 경우가 있다. 음성의 가변성 근원에는 억양, 강세, 리듬 및 스타일의 운율적 특성들과 화자 및 채널 특성들이 포함된다. 음성 발화의 운율적 특성은 어휘 표현(예: 음성 발화의 전사본)에 존재하는 것 이상의 언어적, 의미론적 및 감정적 의미를 전달한다.
신경망은 하나 이상의 비선형 단위 계층을 사용하여 수신된 입력에 대한 출력을 예측하는 기계 학습 모델이다. 예를 들어, 신경망 기반 엔드 투 엔드 텍스트 음성 변환(TTS) 모델은 입력 텍스트를 출력 음성으로 변환할 수 있다. 신경망 TTS 모델은 텍스트 입력에 의해 제공되지 않는 운율에 해당하는 언어 요소를 예측하여 음성을 강력하게 합성할 수 있는 가능성을 제공한다. 결과적으로 오디오북 내레이션, 뉴스 리더, 음성 디자인 소프트웨어 및 대화 도우미와 같은 많은 응용 프로그램이 단조롭지 않고 사실적으로 들리는 합성 음성을 생성할 수 있다.
많은 신경망 엔드 투 엔드 TTS 모델은 이전 값을 기반으로 현재 값을 예측하는 자동 회귀 모델을 활용한다. 예를 들어, 많은 자동 회귀 모델은 현재 시간 단계에서 출력을 계산할 때 이전 시간 단계에서 네트워크의 내부 상태 중 일부 또는 전부를 사용하는 순환 신경망을 기반으로 한다. 순환 신경망의 예로는 하나 이상의 LSTM 메모리 블록을 포함하는 LSTM(long short term) 신경망이 있다. 각 LSTM 메모리 블록은 각각 입력 게이트, 망각 게이트, 예를 들어 현재 활성화를 생성하는 데 사용하거나 LSTM 신경망의 다른 구성 요소에 제공하기 위해 셀이 셀에 대한 이전 상태를 저장할 수 있도록 하는 출력 게이트 중 하나 이상을 포함할 수 있다.
자동 회귀 TTS 모델은 텍스트를 합성하고 매우 자연스러운 음성 출력을 생성할 수 있지만, 완전 피드포워드 아키텍처와 비교하여 최신 병렬 하드웨어에서 구현될 때, 소프트 어텐션(soft attention)이 있는 일련의 단방향 LSTM 기반 디코더 블록을 통한 아키텍처는 본질적으로 교육과 추론의 효율성을 저하시킨다. 또한, 자기회귀 모델은 각 시간 단계에 대해 그라운드 트루스(ground truth) 레이블을 적용하여 교사 강요(teacher force)를 통해 훈련하므로, 자동회귀 모델은 훈련과 훈련된 모델이 추론 중에 적용될 때 사이에 추가적으로 불일치를 생성하는 경향이 있다. 소프트 어텐션 메커니즘과 함께 이러한 불일치는 옹알이, 조기 차단, 단어 반복 및 단어 건너뛰기와 같은 견고성 오류를 나타내는 합성 음성과 같이 품질이 저하된 합성 음성 출력으로 이어질 수 있다. 자기 회귀 TTS 모델에서 합성된 음성의 품질 감소는 합성된 텍스트의 크기가 증가함에 따라 더욱 악화될 수 있다.
앞서 언급한 자동회귀 기반 TTS 모델의 단점을 완화하기 위해, 여기서 구현은 변형 자동 인코더(VAE) 기반 잔차 인코더로 보강된 비-자동회귀 신경 TTS 모델을 지향한다. 명백해지는 바와 같이, 상기 VAE 기반 잔차 인코더는, 합성할 입력 텍스트(예를 들어, 음소 시퀀스) 또는 상기 기준 오디오 신호를 말한 상기 화자의 식별자(IDs)로 표현할 수 없는 스타일/운율 정보와 같은 잔차 정보를 전달하는 기준 오디오 신호로부터 잠재된 표현/상태를 분리할 수 있다. 즉 말하자면, 잠재적 표현은 상기 TTS 모델에 의해 생성된 출력 합성 음성이 상기 잔차 인코더에 입력된 상기 기준 오디오 신호처럼 들리도록 한다.
상기 VAE 기반 잔차 인코더로 보강된 상기 비-자동회귀 신경 TTS 모델은 입력 텍스트 발언에 대한 멜 스펙트럼 정보(예: 예측 멜 주파수 스펙트로그램 시퀀스)를 예측하기 위한 제어 가능하며, 동시에 멜 스펙트럼 정보에 표현된 운율/스타일을 효과적으로 제어하는 모델을 제공한다. 예를 들어, 텍스트 발화를 표현적인 음성으로 합성하기 위한 의도된 운율/스타일을 나타내기 위해 상기 VAE 기반 잔차 인코더에 의해 학습된 선택된 변형 임베딩을 사용하여, 상기 TTS 모델의 스펙트로그램 디코더는 텍스트 발화에 대한 멜 주파수 스펙트로그램을 예측할 수 있으며, 의도한 운율/스타일을 가진 합성된 음성을 나타내는 시간 영역 오디오 파형으로 변환하기 위해 합성기(예: 파형 합성기 또는 보코더 네트워크)에 대한 입력으로 멜 주파수 스펙트로그램을 제공할 수 있다. 명백하게, 상기 비-자동회귀 TTS 모델은 샘플 입력 텍스트 시퀀스와 대응하는 인간 음성의 기준 멜 주파수 스펙트로그램 시퀀스에 대해 훈련되며, 그렇게 함으로써 상기 훈련된 TTS 모델은 입력된 텍스트 발화를 학습된 사전 변형 임베딩에 의해 전달된 의도된 운율/스타일을 갖는 멜 주파수 스펙트로그램 시퀀스로 변환할 수 있다.
도 1은 비-자동회귀 신경 TTS 모델(또는 단순히 'TTS 모델')(300)을 제공하기 위해 VAE 기반 잔차 인코더(180)로 보강되고, TTS 모델(300)을 사용하여 텍스트 발화(320)에 대한 스펙트로그램(즉, 멜 주파수 스펙트로그램 시퀀스)(302)을 예측하기 위한 심층 신경망(200)을 훈련하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 데이터 처리 하드웨어(122) 및 상기 데이터 처리 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 가지고, 상기 데이터 처리 하드웨어(122)가 동작을 수행하게 하는 명령어를 저장하는 컴퓨팅 시스템(120)을 포함한다. 일부 구현에서, 상기 훈련된 TTS 모델(300)을 실행하는 컴퓨팅 시스템(예를 들어, 데이터 처리 하드웨어(122))(120) 또는 사용자 컴퓨팅 장치(10)는, 상기 입력 텍스트 발화(320)의 음성 표현으로서 청각적으로 출력될 수 있는 합성 음성(152)을 나타내는 시간 영역 오디오 파형으로의 변환을 위하여, 상기 입력 텍스트 발화(320)으로부터 상기 TTS 모델(300)에 의해 예측된 상기 스펙트로그램(302)을 합성기(155)에 제공한다. 상기 시간 영역 오디오 파형에는 시간에 따른 오디오 신호의 진폭을 정의하는 오디오 파형이 포함된다. 상기 합성기(155)는 시간 영역 오디오 파형들로의 변환을 위해 멜 주파수 스펙트로그램들에 대해 개별적으로 훈련 및 조정될 수 있다.
멜 주파수 스펙트로그램에는 소리의 주파수 영역 표현이 포함된다. 멜 주파수 스펙트로그램은 발음 명료도에 중요한 낮은 주파수를 강조하는 반면, 마찰음 및 기타 노이즈 버스트에 의해 지배되고 일반적으로 높은 충실도로 모델링할 필요가 없는 고주파수를 강조하지 않는다. 상기 합성기(155)는 멜 주파수 스펙트로그램을 수신하고 상기 멜 주파수 스펙트로그램을 기반으로 오디오 출력 샘플(예: 시간 도메인 오디오 파형들)을 생성하도록 구성된 임의의 네트워크를 포함할 수 있는 보코더 신경망을 포함할 수 있다. 예를 들어, 상기 보코더 네트워크(155)는 여기에 참조로 포함된 'van den Oord, Parallel WaveNet: Fast High Fidelity Speech Synthesis' 에서 설명되며, 'https://arxiv.org/pdf/1711.10433.pdf'에서 이용 가능한 병렬 피드포워드 신경망을 기반으로 할 수 있다. 대안적으로, 상기 보코더 네트워크(155)는 자동회귀 신경망일 수 있다. 합성기(155)는 그리핀 림(Griffin-Lim) 합성기 또는 훈련 가능한 스펙트로그램 대 파형 인버터와 같은 파형 합성기를 포함할 수 있다. 합성기(155)의 선택은 합성된 스피치(152)의 결과적인 운율/스타일에 영향을 미치지 않으며, 실제로는 합성 음성(152)의 오디오 충실도에만 영향을 미친다.
상기 입력 텍스트 발화(320)는 상기 합성된 스피치(152)의 원하는 운율/스타일을 안내하기 위한 문맥, 의미론 및 화용론을 전달할 방법이 없기 때문에, 상기 TTS 모델(300)은, 변형 임베딩(220)에 의해 지정된 의도된 운율/스타일을 전달하는 상기 텍스트 발화(320)에 대한 멜 주파수 스펙트로그램(302)을 예측하기 위해, 의도된 운율/스타일을 지정하는 잠재 변수로서 변형 임베딩(220)을 적용할 수 있다. 일부 예에서, 컴퓨팅 시스템(120)은 TTS 모델(300)을 구현한다. 여기서, 사용자는 사용자 컴퓨팅 장치(10)를 통해 상기 TTS 모델(300)에 액세스하고 상기 TTS 모델(300)이 상기 변형 임베딩(220)에 의해 특정된 의도된 운율/스타일을 갖는 표현적인 음성(152)으로 합성하도록 상기 입력 텍스트 발화(320)을 제공할 수 있다. 변형 임베딩(220)은 사용자에 의해 선택될 수 있으며 잔차 인코더(180)로부터 샘플링된 이전 변형 임베딩(220)에 대응할 수 있다. 상기 변형 임베딩(220)은 의도된 운율/스타일로 말하는 화자를 식별하는 화자 식별자(ID)(즉, 사용자 컴퓨팅 장치(10)에서 실행되는 인터페이스를 통해)를 제공함으로써 사용자가 선택할 수 있는 화자별 변형 임베딩(220)일 수 있다. 여기서, 각각의 화자 ID는 잔차 인코더(180)에 의해 이전에 학습된 각각의 화자별 변형 임베딩(220)에 매핑될 수 있다. 추가로 또는 대안적으로, 사용자는 각각의 운율/스타일과 연관된 특정 버티컬(vertical)을 지정하는 입력을 제공할 수 있다. 여기에서 서로 다른 버티컬들(예: 뉴스 캐스터, 스포츠 캐스터 등)이, 상기 버티컬과 연관된 각각의 운율/스타일을 전달하는 상기 잔차 인코더(180)에 의해 이전에 학습된 각각의 변형 임베딩(220)에 매핑될 수 있다. 이러한 예에서, 상기 합성기(155)는 상기 컴퓨팅 시스템(120) 또는 상기 사용자 컴퓨팅 장치(10)에 상주할 수 있다. 상기 합성기(155)가 상기 컴퓨팅 시스템(120) 상에 상주할 때, 상기 컴퓨팅 시스템(120)은 가청 재생을 위해 상기 합성된 음성(152)을 나타내는 시간 도메인 오디오 파형을 상기 사용자 컴퓨팅 디바이스(10)에 전송할 수 있다. 다른 예에서, 사용자 컴퓨팅 장치(10)는 TTS 모델(300)을 구현한다. 컴퓨팅 시스템은 분산 시스템(예: 클라우드 컴퓨팅 환경)을 포함할 수 있다.
일부 구현에서, 상기 심층 신경망(200)은 기준 오디오 신호(201)의 대규모 세트에 대해 훈련된다. 각각의 기준 오디오 신호(201)는 마이크로폰에 의해 녹음되고 운율/스타일 표현을 갖는 인간 음성의 구두 발언을 포함할 수 있다. 훈련 동안, 상기 심층 신경망(200)은 동일한 음성 발화에 대해 다수의 기준 오디오 신호들(201)을 수신할 수 있지만, 다양한 운율/스타일들을 갖는다(즉, 동일한 발화가 다수의 다른 방식으로 말해질 수 있음). 여기서, 상기 기준 오디오 신호(201)는 그 내용이 동일하더라도 상기 음성 발화되는 지속 시간이 다양해지도록, 가변가능한 길이(variable length)이다. 상기 심층 신경망(200)은 또한 다수의 기준 오디오 신호 세트(201)를 수신할 수 있으며, 각각의 세트는 동일한 각각의 화자가 말하는 유사한 운율/스타일을 갖지만 상이한 언어적 콘텐츠를 전달하는 발화들에 대한 기준 오디오 신호들(201)을 포함한다. 상기 VAE 기반 잔차 인코더(180)로 증강된 상기 심층 신경망(200)은 각각의 기준 오디오 신호(201)와 관련된 상기 운율/스타일 표현을 대응하는 변형 임베딩(220)으로 인코딩/압축하도록 구성된다. 상기 변형 임베딩(220)은 고정 길이 변형 임베딩(220)을 포함할 수 있다. 상기 심층 신경망(200)은, 상기 변형 임베딩(220)과 관련된 상기 기준 오디오 신호(201)를 발언한 기준 화자의 화자 ID(205)(도 2)를 나타내는 대응하는 화자 임베딩 ys와 함께, 각각의 변형 임베딩(220)을 저장소(예를 들어, 컴퓨팅 시스템(120)의 메모리 하드웨어(124))(185)에 저장할 수 있다. 변형 임베딩(220)은 동일한 화자가 말한 기준 오디오 신호(201)로부터 상기 잔차 인코더(180)에 의해 인코딩된 상기 다수의 변형 임베딩(220)의 집합(예를 들어, 평균)을 포함하는 화자별 변형 임베딩일 수 있다.
추론 동안, 상기 컴퓨팅 시스템(120) 또는 상기 사용자 컴퓨팅 장치(10)는 텍스트 발화(320)에 대한 멜 주파수 스펙트로그램 시퀀스(302)를 예측하기 위해 상기 훈련된 TTS 모델(300)을 사용할 수 있다. 상기 TTS 모델(300)은 상기 텍스트 발화(320)에 대한 의도된 운율/스타일을 나타내는 상기 저장소(185)로부터 변형 임베딩(220)을 선택할 수 있다. 여기서, 변형 임베딩(220)은 상기 VAE 기반 잔차 인코더(180)로부터 샘플링된 이전 변형 임베딩(220)에 해당할 수 있다. 상기 TTS 모델(300)은 상기 선택된 변형 임베딩(220)을 사용하여 상기 텍스트 발화(320)에 대한 상기 멜 주파수 스펙트로그램 시퀀스(302)를 예측할 수 있다. 도시된 예에서, 상기 합성기(155)는 상기 변형 임베딩(220)에 의해 지정된 의도된 운율/스타일을 갖는 합성된 음성(152)을 생성하기 위해 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 사용한다.
추론 동안, 상기 컴퓨팅 시스템(120) 또는 상기 사용자 컴퓨팅 장치(10)는 텍스트 발화(320)에 대한 멜 주파수 스펙트로그램 시퀀스(302)를 예측하기 위해 상기 훈련된 TTS 모델(300)을 사용할 수 있다. 상기 TTS 모델(300)은 상기 텍스트 발화(320)에 대한 의도된 운율/스타일을 나타내는 상기 데이터 저장소(185)로부터 변형 임베딩(220)을 선택할 수 있다. 여기서, 변형 임베딩(220)은 상기 VAE 기반 잔차 인코더(180)로부터 샘플링된 이전 변형 임베딩(220)에 해당할 수 있다. 상기 TTS 모델(300)은 상기 선택된 변형 임베딩(220)을 사용하여 상기 텍스트 발화(320)에 대한 상기 멜 주파수 스펙트로그램 시퀀스(302)를 예측할 수 있다. 도시된 예에서, 상기 합성기(155)는 상기 변형 임베딩(220)에 의해 지정된 의도된 운율/스타일을 갖는 합성된 음성(152)을 생성하기 위해 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 사용한다.
비제한적 예에서, 개인은 특정 화자와 관련된 운율/스타일 표현을 전달하는 화자별 변형 임베딩을 학습하도록 상기 심층 신경망(200)을 훈련시킬 수 있다. 예를 들어, Techmeme Ride Home 팟캐스트의 호스트인 Brian McCullough는 상기 기준 오디오 신호(201)의 사본에 해당하는 입력 텍스트 시퀀스(206)와 함께 팟캐스트의 이전 에피소드를 포함하는 기준 오디오 신호(201)에 대해 상기 심층 신경망(200)을 훈련할 수 있다. 훈련 동안, VAE 기반 잔차 인코더(180)는 Ride Home 팟캐스트를 내레이션하는 Brian의 운율/스타일을 나타내는 화자별 변형 임베딩(220)을 학습할 수 있다. 그런 다음 Brian은, Ride Home 팟캐스트의 새 에피소드에 대한 전사에 해당하는 텍스트 발화(320)에 대한 멜 주파수 스펙트로그램 시퀀스(302)를 예측하기 위해, 상기 훈련된 TTS 모델(300)(컴퓨팅 시스템(120) 또는 사용자 컴퓨팅 장치(10)에서 실행)에서 사용하기 위해 이 화자별 변형 임베딩(220)을 적용할 수 있다. Brian의 화자별 변형 임베딩(220)에 의해 지정된 Brian의 고유한 운율/스타일을 가지는 합성된 음성(152)을 생성하기 위해, 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)는 상기 합성기(155)에 대한 입력으로서 제공될 수 있다. 즉, 결과적으로 합성된 음성(152)은 정확히 Brian의 목소리처럼 들릴 수 있고 상기 Ride Home 팟캐스트의 에피소드를 서술하기 위한 Brian의 운율/스타일을 소유할 수 있다. 이에 따라 새로운 에피소드를 방송하기 위해 Brian은, 상기 Ride Home 팟캐스트의 충실한 청취자(Mutant Podcast Army 라고도 함)에게 스트리밍될 수 있는 합성된 음성(302)을 생성하기 위해, 상기 에피소드에 대한 대본을 제공하고 상기 훈련된 TTS 모델(300)을 사용하기만 하면 된다.
도 2는 비-자동회귀 TTS 모델(300)을 훈련하기 위한 비-자동회귀 신경망(예를 들어, 도 1의 심층 신경망)(200)을 보이고 있다. 상기 심층 신경망(200)은 VAE 기반 잔차 인코더(180), 텍스트 인코더(210), 지속 시간 디코더(230) 및 스펙트로그램 디코더(250)를 포함한다. 상기 심층 신경망(200)은 다수의 기준 오디오 신호들(201) 및 대응하는 입력 텍스트 시퀀스들(206)을 포함하는 훈련 데이터에 대해 훈련될 수 있다. 각각의 기준 오디오 신호(201)는 인간 음성의 발화를 포함하고 대응하는 입력 텍스트 시퀀스(206)는 상기 기준 오디오 신호(201)의 전사에 대응한다. 도시된 예에서, VAE 기반 잔차 인코더(180)는 기준 오디오 신호(201)를 변형 임베딩(z)(220)으로 인코딩하도록 구성된다. 구체적으로, 상기 잔차 인코더(180)는 상기 기준 오디오 신호(201)로부터 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스(202)를 수신하고, 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 변형 임베딩(220)으로 인코딩한다. 이에 따라 변형 임베딩(220)은 인간 음성의 발화에 대응하는 상기 기준 오디오 신호(201)로부터 스타일/운율 정보를 분리한다. 이와 같이, 상기 변형 임베딩(220)은 상기 기준 화자의 운율, 감정 및/또는 말하기 스타일에 기여하는 정서 및 의도와 같은 기준 화자의 잠재 상태에 대응한다. 본 명세서에서 사용되는 바와 같이, 변형 임베딩(220)은 스타일 정보 및 운율 정보를 모두 포함한다. 일부 예에서, 변형 임베딩(220)은, 상기 변형 임베딩(220)의 비트 수로 표현되는 용량을 가지는 수의 벡터를 포함한다. 상기 기준 오디오 신호(201)로부터 상기 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스(202)는 길이 LR 및 차원 DR을 가질 수 있다. 본 명세서에서 사용되는 바와 같이, 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)는 상기 기준 오디오 신호(201)로부터 샘플링/추출된 복수의 고정 길이 기준 멜 주파수 스펙트로그램 프레임들을 포함한다. 각 기준 멜 주파수 스펙트로그램 프레임은 5밀리초의 지속 시간을 포함할 수 있다.
상기 VAE 기반 잔차 인코더(180)는 말하기 스타일의 잠재 표현(즉, 변형 임베딩(z))의 무감독 학습을 가능하게 하는 사후 네트워크에 해당한다. VAE 네트워크들을 사용하여 변형 임베딩을 학습하는 것은 휴리스틱 기반 시스템들에 비해 스타일 제어를 단순화하기 위한 분리, 크기 조정 및 조합의 유리한 속성들을 제공한다. 일부 구현에서, 그리고 도 2에 도시된 바와 같이, 상기 VAE 기반 잔차 인코더(180)는 상기 전체 기준 멜 주파수 스펙트로그램 시퀀스(202)로부터 글로벌 변형 임베딩(220)을 인코딩하는 글로벌 VAE 네트워크를 포함한다. 여기서, 상기 글로벌 VAE 네트워크(400a)는 각각 멀티 헤드 어텐션(multi-headed Attention)을 가지는 경량 LConv(Lightweight Convolution) 블록들의 두 스택(410, 420)을 포함한다. 도 5는, 게이트 선형 유닛(GLU) 계층(502), GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층(504), 및 피드포워드(FF) 계층(506)을 가지는 예시적인 LConv 블록의 개략도(500)를 도시한다. 예시적인 LConv 블록(500)은 또한 LConv 계층(504)의 출력을 GLU 계층(502)에 대한 입력과 연관하도록 구성된 제1 잔차 연결(508)(예를 들어, 제1 연관기(508))을 포함한다. 상기 FF 계층(506)은 상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연관시키는 상기 제1 잔차 연결(508)을 입력으로서 수신하도록 구성된다. 상기 예시적인 LConv 블록(500)은 또한 상기 FF 계층(506)의 출력을 상기 제1 잔차 연결(508)과 연관시키도록 구성된 제2 잔차 연결(510)(예를 들어, 제2 연관기(510))을 포함한다. 상기 예시적인 LConv 블록(500)은 구조 ReLU(W1X + b1)W2 + b2를 사용하여 상기 FF 레이어(506)에서 FF 믹싱을 수행할 수 있으며 여기서 W1은 차원을 4배로 증가시킨다. 상기 글로벌 VAE 네트워크(180)의 제1 및 제2 스택(410, 420)의 각 LConv 블록은 8개의 헤드를 포함할 수 있다. 일부 예에서, LConv 블록들의 상기 제1 스택(410)은 3개의 17 x 1 LConv 블록들을 포함하고, 상기 제1 스택(410)에 후속하는 LConv 블록들의 제2 스택(420)은 3 x 1 컨볼루션들로 인터리빙된 5개의 17 x 1 LConv 블록들을 포함한다. LConv 블록(410, 420)의 두 스택(410, 420)의 이러한 구성은, 최종 글로벌 변형 임베딩(220)을 얻기 위해 글로벌 평균 풀링을 적용하기 전에, 상기 글로벌 VAE 네트워크(180)가 잠재적 표현들을 연속적으로 다운 샘플링하도록 허용한다. 프로젝션 계층(430)은 LConv 블록들의 상기 제2 스택(420)으로부터 출력된 글로벌 변형 임베딩(220)의 차원을 프로젝션(projection)할 수 있다. 예를 들어, LConv 블록들의 제2 스택(420)으로부터 출력되는 상기 글로벌 변형 임베딩(220)은 8의 차원을 가질 수 있고, 프로젝션 계층(430)은 32로 상기 차원을 프로젝션할 수 있다.
다른 구현에서, 상기 VAE 기반 잔차 인코더(180)는 상기 비-자동회귀 신경망(200)이 도 2에 도시된 글로벌 VAE 네트워크 대신 사용할 수 있는 음소 레벨로 세분화된 VAE 네트워크를 포함한다. 도 2에 도시된 상기 글로벌 VAE 네트워크는 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 발화 레벨에서 글로벌 가변 임베딩(220)으로 인코딩하는 반면, 상기 음소 레벨로 세분화된 VAE 네트워크는 스펙트로그램 프레임들을, 상기 입력 텍스트 시퀀스(206)의 각 음소와 관련된 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)로부터 각각의 음소 레벨 변형 임베딩(220)으로 인코딩하도록 구성된다. 보다 구체적으로, 상기 음소 레벨로 세분화된 VAE 네트워크는 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 상기 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스의 각 음소와 정렬하고, 음소 레벨 변형 임베딩 시퀀스(220)를 인코딩할 수 있다. 따라서 상기 음소 레벨로 세분화된 VAE 네트워크에 의해 인코딩된 음소 레벨 변형 임베딩 시퀀스(220) 내의 각 음소 레벨 변형 임베딩(220)은 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스 내 각각의 음소를 포함하는 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)로부터 하나 이상의 스펙트로그램 프레임의 각 하위 집합을 인코딩한다. 음소 레벨로 세분화된 VAE 네트워크는 초기에 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를, 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)와 관련된 발화를 말하는 화자를 나타내는 화자 임베딩 ys과, 상기 입력 텍스트 시퀀스(206)에서 추출된 상기 음소 시퀀스 내 각 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩(216)을 연관할 수 있다. 각각의 위치 임베딩(216)은 상기 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스 내 각 음소의 특정 위치에 대한 정보를 포함하는 고정 길이 벡터를 포함할 수 있다. 이어서, 상기 텍스트 인코더(210)로부터 출력된 계층 정규화된 인코딩된 텍스트 시퀀스(219)로 어텐션을 계산하기 위한 5개의 8-헤드 17 x 1 LConv 블록들의 스택에 상기 연관이 적용된다.
도 2를 계속 참조하면, 상기 텍스트 인코더(210)는 상기 입력 텍스트 시퀀스(206)를 텍스트 인코딩 시퀀스(219)로 인코딩한다. 상기 텍스트 인코딩 시퀀스(219)는 상기 입력 텍스트 시퀀스(206)로부터 추출된 음성 단위 시퀀스(예를 들어, 음소)의 인코딩된 표현을 포함한다. 상기 입력 텍스트 시퀀스(206)는 각각 하나 이상의 음소, 모든 단어 경계에서의 묵음 및 구두점을 갖는 단어들을 포함할 수 있다. 따라서 상기 입력 텍스트 시퀀스(206)는 음소 시퀀스를 포함하고, 상기 텍스트 인코더(210)는 토큰 임베딩 룩업 테이블(207)로부터 상기 음소 시퀀스의 각 음소에 대한 각각의 토큰 임베딩을 수신할 수 있다. 여기서 각 토큰 임베딩은 음소 임베딩을 포함한다. 그러나 다른 예에서, 상기 토큰 임베딩 룩업 테이블(207)은, 음소 대신, 이에 국한되지 않고, 부음소(예: 세놈들(senomes)), 자소들, 단어 조각들 또는 상기 발화의 단어와 같은 상기 입력 텍스트 시퀀스(206)와 관련된 다른 유형의 음성 입력에 대해 토큰 임베딩들을 얻을 수 있다. 상기 음소 시퀀스 내 각 음소의 각 토큰 임베딩을 수신한 후, 상기 텍스트 인코더(210)는 각 음소의 각 변환된 임베딩(209)을 생성하기 위한 각각의 토큰 임베딩 처리를 위해 인코더 프리넷 신경망(208)을 사용한다. 그 후, 콘볼루션(Conv) 블록들(212)의 뱅크는 각각의 변환된 임베딩(209)을 처리하여 콘볼루션 출력(213)을 생성할 수 있다. 일부 예에서, 상기 Conv 블록들(212)의 뱅크는 3개의 동일한 5 x 1 Conv 블록들을 포함한다. 도 4는 Conv 계층(402), 배치 정규화 계층(404) 및 드롭아웃 계층(406)을 가지는 예시적인 Conv 블록의 개략도(400)를 도시한다. 훈련 동안, 상기 배치 정규화 계층(404)은 내부 공변량 이동을 줄이기 위해 배치 정규화를 적용할 수 있다. 드롭아웃 계층(406)은 과적합을 감소시킬 수 있다. 마지막으로, 가산기(214)는 입력(215)을 생성하기 위해 컨볼루션 출력들(213)을 위치 임베딩들(216)과 결합하고, 셀프 어텐션(self-attention) 블록들의 스택(218)은 인코딩된 텍스트 시퀀스(219)를 생성하기 위해 상기 입력(215)을 처리한다. 도시된 예에서, 상기 셀프 어텐션 블록들(218)의 스택은 6개의 변환기(transformer) 블록을 포함한다. 다른 예에서, 상기 셀프 어텐션 블록들(218)은 변환기 블록들 대신에 LConv 블록들을 포함할 수 있다.
특히, 각각의 컨볼루션 출력(213)은 셀프 어텐션 블록들(218)의 스택을 동시에 통과하기 때문에, 셀프 어텐션 블록들(218)의 스택은 입력 텍스트 발화에서 각 음소의 위치/순서를 알지 못하며, 컨볼루션 출력들(213)과 결합된 상기 위치 임베딩들(216)은 상기 입력 텍스트 시퀀스(206)에서 각 음소의 순서를 나타내는 필요한 위치 정보를 주입한다. 대조적으로 순환 신경망(RNN)을 통합하는 자동 회귀 인코더는 각 음소가 순차적으로 상기 입력 텍스트 시퀀스로부터 구문 분석되기 때문에 각 음소의 순서를 본질적으로 고려한다. 그러나 멀티 헤드 셀프 어텐션을 사용하는 셀프 어텐션 블록들(218)의 상기 스택을 통합하는 상기 텍스트 인코더(210)는 상기 자동 회귀 인코더의 재발을 방지하여 훈련 시간을 크게 줄일 수 있고, 이론적으로 상기 입력 텍스트 시퀀스(206)에서 더 긴 종속성들을 캡처한다.
도 2를 계속 참조하면, 연관기(222)는 상기 잔차 인코더(180)로부터 상기 변형 임베딩(220), 상기 텍스트 인코더(210)로부터 출력된 인코딩된 텍스트 시퀀스(219), 및 상기 기준 오디오 신호를 발성한 기준 화자의 화자 ID(205)를 나타내는 기준 화자 임베딩 ys를 연관시킨다. 지속 시간 디코더(230)는, 상기 입력 텍스트 시퀀스(206)의 음소 시퀀스 내 각 음소에 대한 음소 지속 시간(240)을 예측하기 위한 상기 지속 시간 디코더(230)의 출력(238)을 생성하기 위해, 상기 인코딩된 텍스트 시퀀스(219), 상기 변형 임베딩(220) 및 기준 화자 임베딩 ys의 연관(224)를 디코딩하도록 구성된다. 일부 구현에서 상기 지속 시간 디코더(230)는 2개의 독립적인 프로젝션이 이어지는 셀프 어텐션 블록(232) 스택을 포함한다. 도시된 예에서, 상기 셀프 어텐션 블록들의 스택은 4개의 3 x 1 LConv 블록들이 포함된다. 도 5를 참조하여 상술한 바와 같이, 셀프 어텐션 블록(232)의 스택 내의 각각의 LConv 블록은 GLU 유닛(502), LConv 계층(504) 및 잔차 연결들을 갖는 FF 계층(506)을 포함할 수 있다. 지속 시간 디코더(230)는, 각 음소에 대해 0이 아닌 지속 시간(235)의 확률을 예측하고 각 음소에 대한 연속적인 음소 지속 시간(237)을 예측함으로써, 음소별 음소 지속 시간(240)를 예측할 수 있다. 상기 입력 텍스트 시퀀스(206) 내 음소 시퀀스로서 규칙적인 음소들, 단어 경계들 사이의 묵음들 및 구두점들을 포함하며, 일반 음소만 0이 아닌 지속 시간과 연관되는 반면 묵음들 및 구두점들은 일반적으로 0이 아닌 지속 시간과 연관된다. 따라서 지속 시간 디코더(230)는 0이 아닌 지속 시간(235)의 확률을 예측하기 위해 상기 2개의 독립적인 활성화들 중 첫 번째 것 이후 시그모이드 활성화(234)를 사용할 수 있고, 각각의 음소에 대한 연속적인 음소 지속 시간을 예측하기 위해 상기 2개의 독립적인 프로젝션들 중 두 번째 것에 이후 소프트플러스 활성화를 사용할 수 있다. 각 음소에 대해, 상기 지속 시간 디코더는 상기 대응하는 음소에 대해 예측된 0이 아닌 지속 시간(235)의 확률이 임계값 미만인지 여부를 결정할 수 있고, 0이 아닌 지속 시간의 확률이 상기 임계값보다 작은 경우, 곱셈기(multiplier)(239)는 해당 음소에 대한 소프트플러스 활성화(236)에 의해 예측된 상기 연속 음소 지속 시간(237)을 0으로 만들 수 있다. 반면, 0이 아닌 지속 시간의 확률이 임계값보다 작지 않은 경우, 상기 예측 음소 지속 시간(240)은 상기 소프트플러스 활성화(236)에 의해 예측된 상기 연속 음소 지속 시간(237)과 동일하게 설정될 수 있다.
각 음소에 대한 상기 기준 음소 지속 시간(245)는 은닉 마르코프 모델(Markov model) 기반 외부 정렬기와 같은 외부 정렬기를 사용하여 기준 오디오 신호(201)로부터 샘플링될 수 있다. 지속 시간 디코더(230)는 상기 기준 음소 지속 시간(245)과 상기 0이 아닌 지속 시간의 확률(235) 사이의 교차 엔트로피(CE) 손실 항(loss term)(242)을 계산할 수 있다. 지속 시간 디코더(230)는 상기 예측 음소 지속 시간(240)과 기준 음소 지속 시간(245) 사이의 L1 손실 항(244)을 계산할 수 있다. 상기 입력 텍스트 시퀀스(206)에 대해 2-레벨 CE 및 L1 손실 항(242, 244)에 기초한 음소 지속 시간 손실이 계산될 수 있다.
도 2를 계속 참조하면, 상기 지속 시간 디코더(230)의 상기 출력(238)을 상기 기준 음소 지속 시간(245)에 의해 지정된 프레임 수로 업샘플링하기 위해, 업샘플링 계층(246)은 상기 기준 오디오 신호로부터 샘플링된 상기 기준 음소 지속 시간(245)을 사용한다. 여기서 프레임의 수는 기준 멜 주파수 스펙트로그램 시퀀스(202)의 길이에 해당한다(예를 들어, 업샘플링 계층(246)에 의해 생성된 프레임의 수는 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)의 기준 스펙트로그램 프레임의 수와 동일함). 상기 스펙트로그램 디코더(250)에게 각 음소 내의 각 프레임 위치를 알려주기 위하여, 하나 이상의 위치 임베딩(216)이 업샘플링 계층(246)의 출력(238)에 추가될 수 있다. 상기 하나 이상의 다른 유형의 위치 임베딩(216)은 음소 내 프레임 위치의 변환기 스타일 정현파 임베딩, 음소 지속 시간의 변환기 스타일 사인파 임베딩, 또는 음소 내 프레임의 분수 수열 중 적어도 하나를 포함할 수 있다. 일부 구현에서, 전술한 위치 임베딩(216)의 여러 상이한 유형이 추가될 때, 상기 하나 이상의 위치 임베딩(216)을 상기 지속 시간 디코더(230)의 출력(238)과 결합하기 위하여, 가중치 계층(248)은 위치 가중치들(249)을 학습한다. 예를 들어, 예를 들어 각 채널 및 위치 임베딩에 대하여, 상기 가중치 계층(248)은, 스펙트로그램 디코더(250)에 복사할 위치 임베딩(216)을 선택하는 방법을 배우도록 비-자동회귀 신경망(200)을 가르치기 위하여, 소프트맥스 정규화 가중치들을 학습할 수 있다.
스펙트로그램 디코더(250)는, 상기 가중 위치 임베딩(216)과 결합된 상기 지속 시간 디코더(230)의 상기 업샘플링된 출력(238)을 입력으로서 수신 및, 출력으로서 상기 입력 텍스트 시퀀스(206)에 대한 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스(302)를 생성하도록 구성된다. 상기 스펙트로그램 디코더(250)는 멀티 헤드 어텐션(multi-headed Attention)을 갖는 다수의 셀프 어텐션 블록(252, 252a-n)의 스택을 포함할 수 있다. 일부 예에서, 상기 스펙트로그램 디코더(250)는 0.1 드롭아웃을 갖는 6개의 8-헤드 17 x 1 LConv 블록들을 포함한다. 스펙트로그램 디코더(250)는 6개보다 많거나 적은 LConv 블록들을 포함할 수 있다. 도 5를 참조하여 전술한 바와 같이, 셀프 어텐션 블록들(232)의 스택의 각 LConv 블록은 GLU 유닛(502), LConv 계층(504) 및 잔차 연결을 갖는 FF 계층(506)을 포함할 수 있다. 다른 예에서, 스택의 각 셀프 어텐션 블록(252)은 동일한 변환기 블록을 포함한다.
일부 구현에서, 상기 스펙트로그램 디코더(250)는 셀프 어텐션 블록들(252, 252a-n)의 스택에서 각 셀프 어텐션 블록(252)으로부터의 출력으로서, 각 예측된 멜 주파수 스펙트로그램 시퀀스(302, 302a-n)를 생성한다. 상기 네트워크(200)는 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)의 프레임 수가 상기 잔차 인코더(180)에 입력되는 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)의 프레임 수와 동일하도록 훈련될 수 있다. 도시된 예에서, 각 셀프 어텐션 블록(252a-n)은, 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)의 차원과 일치하는 차원을 가지는 상기 각 예측된 멜 주파수 스펙트로그램 시퀀스(302a-n)를 생성하기 위하여, 셀프 어텐션 블록(252)에서 출력(253)을 프로젝션하는 대응하는 프로젝션 레이어(254a-n)와 쌍을 이룬다. 일부 예에서, 상기 프로젝션 층(254)은 예측된 128-빈(bin) 멜 주파수 스펙트로그램 시퀀스(302)를 프로젝션한다. 다중 멜 주파수 스펙트로그램 시퀀스들(302a-n)을 예측함으로써, 상기 비-자동회귀 신경망(200)은 반복 스펙트로그램 손실을 사용하여 훈련될 수 있다. 즉, 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302a-n)에 대하여, 각각의 스펙트로그램 손실(270, 270a-n)은 상기 대응하는 예측 멜 주파수 스펙트로그램 시퀀스(302) 및 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)에 기초하여 결정될 수 있다. 각각의 스펙트로그램 손실(270)은 L1 손실 항을 포함할 수 있다. 예를 들어, 제1 스펙트로그램 손실(270a)은 제1 예측 멜 주파수 스펙트로그램 시퀀스(302a) 및 기준 멜 주파수 스펙트로그램 시퀀스(202)에 기초하여 결정될 수 있고, 제2 스펙트로그램 손실(270b)은 제1 예측 멜 주파수 스펙트로그램 시퀀스(302a) 및 기준 멜 주파수 스펙트로그램 시퀀스(202)에 기초하여 결정될 수 있으며, 각각의 스펙트로그램 손실(270a-n) 모두가 반복적으로 예측된 멜 주파수 스펙트로그램 시퀀스(302a-n)로 결정될 때까지 계속된다. 스펙트로그램 손실(270)은 최종 스펙트로그램 손실(280)을 생성하기 위해 통합될 수 있다. 최종 스펙트로그램 손실(280)은 반복 L1 손실 항(280)에 대응할 수 있다. 스펙트로그램 손실(270a-n)을 집계하는 것은 스펙트로그램 손실(270a-n)을 합산하여 최종 스펙트로그램 손실(280)을 얻는 것을 포함할 수 있다. 선택적으로, 스펙트로그램 손실을 집계하는 것은 스펙트로그램 손실을 평균화하는 것을 포함할 수 있다.
상기 심층 신경망(200)은 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)의 프레임 수가 상기 잔차 인코더(180)에 입력되는 기준 멜 주파수 스펙트로그램 시퀀스(202)의 프레임 수와 동일하도록 훈련될 수 있다. 더욱이, 상기 심층 신경망(200)은 기준 및 예측 멜 주파수 스펙트로그램 시퀀스(202, 302)와 관련된 데이터가 실질적으로 서로 일치하도록 훈련된다. 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)는 기준 오디오 신호(201)의 운율/스타일 표현을 암시적으로 제공할 수 있다.
도 3은 도 2의 비-자동회귀 심층 신경망(200)에 의해 훈련된 비-자동회귀 TTS 모델(300)의 예를 보여준다. 구체적으로, 도 3은 입력 텍스트 발화(320)에 대한 멜 주파수 스펙트로그램 시퀀스(302)를 예측하기 위해 선택된 변형 임베딩(220)을 사용하는 TTS 모델(300)을 도시하며, 여기서 선택된 변형 임베딩(220)은 텍스트 발화(320)에 대한 의도된 운율/스타일을 나타낸다. 추론하는 동안, 상기 훈련된 TTS 모델(300)은 상기 컴퓨팅 시스템(120) 또는 상기 사용자 컴퓨팅 장치(10)에서 실행되고, 상기 입력 텍스트 발화(320)에 대하여 대응하는 멜 스펙트로그램 시퀀스(302)를 예측하기 위해 선택된 변형 임베딩(220)을 사용할 수 있다. 여기서, 상기 TTS 모델(300)은 상기 텍스트 발화(320)에 대한 의도된 운율/스타일을 나타내는 데이터 저장소(185)에서 변형 임베딩(220)을 선택한다. 일부 예에서 사용자는, 사용자가 텍스트 발화(320)를 위해 전달하기를 원하는 결과적인 합성 음성(152)을 원하는 의도된 운율/스타일의 선택을 나타내는 사용자 입력 표시를 제공하고, 상기 TTS 모델(300)은 의도된 운율/스타일을 나타내는 데이터 저장소(185)로부터 적절한 변형 임베딩(220)을 선택한다. 이들 예에서, 의도된 운율/스타일로 말하거나/또는 상기 의도된 운율/스타일에 대응하는 특정한 운율 버티칼(예: 뉴스 캐스터, 스포츠 캐스터 등)을 지정하는 특정 화자와 연관된 화자 ID(205)를 표시함으로써 의도된 운율/스타일이 사용자에 의해 선택될 수 있다. 선택된 변형 임베딩(220)은 상기 VAE 기반 잔차 인코더(180)로부터 샘플링된 이전 변형 임베딩(220)에 대응할 수 있다. 상기 훈련된 TTS 모델(300)은 합성기(155)를 사용하여 상기 각각의 입력 텍스트 발화(320)에 대해 의도된 운율/스타일(예를 들어, 선택된 변형 임베딩(220))으로 합성된 음성(152)을 생성한다. 즉, 선택된 변형 임베딩(220)은 상기 잔차 인코더(180)에 저장된 의도된 운율/스타일(예를 들어, 뉴스 캐스터, 스포츠 캐스터 등)을 포함할 수 있다. 상기 선택된 변형 임베딩(220)은 상기 입력 텍스트 발화(320)에 대한 합성 음성(152)을 통해 의도된 운율/스타일을 전달한다.
추가적인 구현에서, 훈련된 상기 TTS 모델(300)은 상기 입력 텍스트 발화(320)에 대한 멜 주파수 스펙트로그램 시퀀스(302)를 예측하는 데 사용하기 위해 그때그때(on the fly) 변형 임베딩(220)을 추출/예측하기 위해 추론 동안 상기 잔차 인코더(180)를 사용한다. 예를 들어, 상기 잔차 인코더(180)는 상기 의도된 운율/스타일(예를 들어, "이렇게 말해봐")을 전달하는 인간 사용자에 의해 발언된 기준 오디오 신호(201)(도 2)를 수신할 수 있고, 의도된 운율/스타일을 나타내는 대응하는 변형 임베딩(220)을 추출/예측한다. 그 후, 훈련된 TTS 모델(300)은 상기 기준 오디오 신호(201)에 의해 전달된 상기 의도된 운율/스타일을 상기 입력 텍스트 발화(320)에 대해 예측된 멜 주파수 스펙트로그램 시퀀스(302)로 효과적으로 전달하기 위해 상기 변형 임베딩(220)을 사용할 수 있다. 따라서 표현적 음성(152)으로 합성될 상기 입력 텍스트 발화(320) 및 상기 표현적 음성(152)으로 전달될 상기 의도된 운율/스타일을 전달하는 상기 기준 오디오 신호(201)는 상이한 언어 콘텐츠를 포함할 수 있다.
특히, 상기 텍스트 인코더(210)는 상기 텍스트 발화(320)로부터 추출된 음소 시퀀스를 인코딩된 텍스트 시퀀스(219)로 인코딩한다. 상기 텍스트 인코더(210)는, 상기 토큰 임베딩 룩업 테이블(207)로부터, 상기 텍스트 발화(320)로부터 추출된 음소 시퀀스 내 각 음소에 대한 각각의 토큰 임베딩을 수신할 수 있다. 상기 텍스트 발화(320)로부터 추출된 음소 시퀀스 내 각 음소의 상기 각 토큰 임베딩을 수신한 후, 상기 텍스트 인코더(210)는 각 음소의 각 변환된 임베딩(209)을 생성하기 위한 각각의 토큰 임베딩을 처리하기 위해 인코더 프리넷 신경망(208)을 사용한다. 그 후, Conv 블록(212)의 뱅크(예를 들어, 3개의 동일한 5 x 1 Conv 블록)는 컨볼루션 출력(213)을 생성하기 위해 각각의 변환된 임베딩(209)을 처리한다. 마지막으로, 가산기(214)는 입력(215)을 생성하기 위해 콘볼루션 출력(213)을 위치 임베딩(216)과 결합하고, 셀프 어텐션 블록(218)의 스택(예를 들어, 6개의 변환기 블록)은 상기 인코딩된 텍스트 시퀀스(219)를 생성하기 위해 상기 입력(215)을 처리한다. 상기 컨벌루션 출력(213)과 결합된 상기 위치 임베딩(216)은 텍스트 발화(320)에 대한 음소 시퀀스 내 각 음소의 순서를 나타내는 필요한 위치 정보를 제공한다.
도 3을 계속 참조하면, 연관기(222)는 상기 연관(224)을 생성하기 위해, 상기 선택된 변형 임베딩(220), 상기 인코딩된 텍스트 시퀀스(219), 및 선택적으로 기준 화자 임베딩 ys를 연관한다. 여기서, 상기 기준 화자 임베딩 ys는 상기 선택된 변형 임베딩(220)과 연관된 하나 이상의 기준 오디오 신호(201)를 발언한 기준 화자의 화자 ID(205) 또는 상기 결과적으로 합성된 음성에서 전달될 음성 특성을 가지는 일부 다른 기준 화자의 화자 ID를 나타낼 수 있다. 상기 지속 시간 디코더(230)는 상기 입력 텍스트 발화(320)의 상기 음소 시퀀스 내 각 음소에 대한 음소 지속 시간(240)을 예측하기 위한 상기 지속 시간 디코더(230)의 출력(238)을 생성하기 위해, 상기 인코딩된 텍스트 시퀀스(219), 상기 선택된 변형 임베딩(220), 및 상기 기준 화자 임베딩 ys의 연관(224)을 디코딩하도록 구성된다.
일부 구현에서, 지속 시간 디코더(230)는 셀프-어텐션 블록(232)의 스택(예를 들어, 4개의 3 x 1 LConv 블록)을 포함하고, 이어서 2개의 독립적인 프로젝션(234, 236)을 포함한다. 상기 지속 시간 디코더(230)는 각 음소에 대해 0이 아닌 지속 시간(235)의 확률을 예측함으로써 각 음소에 대한 상기 음소 지속 시간을 예측할 수 있고, 각 음소에 대한 연속 음소 지속 시간(237)을 예측할 수 있다. 입력 텍스트 발화(320)의 음소 시퀀스는 규칙적인 음소들, 단어 경계들 사이의 묵음들, 및 구두점들을 포함하며, 단지 상기 규칙적인 음소들만 0이 아닌 지속 시간에 연관되는 반면, 상기 묵음들과 구두점들은 일반적으로 0이 아닌 지속 시간과 연관된다. 따라서 상기 지속 시간 디코더(230)는, 0이 아닌 지속 시간(235)의 확률을 예측하기 위하여 두 개의 독립적인 활성화들 중 첫 번째 것의 활성화에 이어 시그모이드 활성화(234)를 사용하고, 각 음소에 대한 상기 연속 음소 지속 시간(237)을 예측하기 위하여 상기 두 개의 독립적인 프로젝션 중 두 번째 것의 활성화 다음에 소프트플러스 활성화(236)를 사용할 수 있다. 상기 지속 시간 디코더(230)는 각 음소에 대해 0이 아닌 지속 시간(235)의 확률이 임계값 미만인지 여부를 결정하고, 상기 0이 아닌 지속 시간의 확률(235)이 임계값보다 작은 경우, 곱셈기(239)는 상기 대응하는 음소에 대한 상기 소프트플러스 활성화(236)에 의해 예측된 상기 연속 음소 지속 시간(237)을 0으로 만들 수 있다. 또는, 상기 0이 아닐 확률(235)이 임계값 이상인 경우, 상기 예측된 음소 지속 시간(240)은 상기 소프트플러스 활성화(236)에 의해 예측된 상기 연속 음소 지속 시간(237)과 동일하게 설정될 수 있다.
상기 훈련된 TTS 모델(300)은 상기 지속 시간 디코더(230)의 출력(238)을 다수의 프레임으로 업샘플링하기 위해 상기 예측된 음소 기간(240)을 사용하는 업샘플링 계층(246)을 포함할 수 있다. 여기서 프레임 수는 상기 예측된 음소 지속 시간(240)에 의해 결정된 상기 예측된 스펙트로그램(302)의 상기 예측된 길이 및 상기 대응하는 입력 텍스트 발화(320)에 대한 출력(238)에 대응한다. 상기 TTS 모델(300)은 상기 입력 텍스트 발화(320)에 대한 음소 시퀀스 내 각 음소에 대한 음소 위치 정보를 나타내는 하나 이상의 위치 임베딩(216)을 획득할 수 있다. 상기 스펙트로그램 디코더(250)의 각 음소 내 각 프레임 위치들을 알리기 위해 상기 업샘플링 계층(246)에 의해 생성된 출력(238)의 상기 프레임 수에 상기 하나 이상의 위치 임베딩(216)이 추가될 수 있다. 즉, 상기 셀프 어텐션 블록들의 스택(252)은 상기 입력 텍스트 발화(320)에서 각 음소의 위치/순서를 알지 못할 수 있으며, 따라서 위치 임베딩들(216)은 상기 음소 시퀀스 내 각 음소의 상기 필요한 순서를 제공한다. 일부 구현에서, 상기 하나 이상의 위치 임베딩들(216)을 상기 지속 시간 디코더(230)의 출력(238)과 결합하기 위해, 여러 다른 유형의 위치 임베딩들(216)이 상기 출력(238)에 추가되고, 가중치 계층(248)은 위치 가중치들(249)을 학습한다. 예를 들어, 각 채널 및 위치 임베딩(216)에 대해, 상기 스펙트로그램 디코더(250)에 복사할 상기 위치 임베딩(216)을 선택하는 방법을 배우도록 상기 비-자동회귀 신경망(200)을 가르치기 위해, 상기 가중치 계층(248)은 소프트맥스 정규화 가중치를 학습할 수 있다. 하나 이상의 위치 임베딩(216)은 다음 유형의 위치 임베딩들을 포함할 수 있다: 각각 음소 내의 프레임 위치를 나타내는 변환기 스타일 정현파 임베딩들; 각 음소의 예측된 음소 지속 시간을 각각 나타내는 변환기 스타일 정현파 임베딩들; 그리고 음소 내 프레임의 분수 수열.
상기 스펙트로그램 디코더(250)는, 상기 지속 시간 디코더(230)의 출력(238)으로부터 도출된 상기 학습된 위치 가중치(249) 및 업샘플링 후 예측된 상기 음소 지속 시간(240)에 기초하여, 상기 텍스트 발화(320)에 대한 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하도록 형성된다. 여기서, 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)는 상기 선택된 변형 임베딩(220)에 의해 지정된 의도된 운율/스타일을 갖는다. 상기 텍스트 발화(320)에 대해 예측된 상기 멜 주파수 스펙트로그램 시퀀스(302)는 상기 위치 임베딩(216) 및 상기 지속 시간 디코더(230)의 상기 출력(238)의 상기 프레임 수로의 상기 업샘플링에 기초한다.
상기 스펙트로그램 디코더(250)는 셀프 어텐션 블록(252a-n)의 스택에서 마지막 셀프 어텐션 블록(252)으로부터의 출력으로서, 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성한다. 여기서, 스펙트로그램 디코더(250)의 셀프 어텐션 블록들(252)의 스택의 각 셀프 어텐션 블록(252)은 동일한 LConv 블록 또는 동일한 변환기 블록 중 하나를 포함한다. 일부 예에서, 스펙트로그램 디코더(250)는 0.1 드롭아웃을 갖는 6개의 8-헤드 17 x 1 LConv 블록을 포함한다. 각각의 셀프 어텐션 블록(252)에 대한 마지막 피드포워드(FF) 계층(506)(도 5)의 출력은 후속 셀프 어텐션 블록(252)에 대한 입력으로서 제공된다. 즉, 셀프 어텐션 블록(252a-n)의 스택에서 첫 번째 셀프 어텐션 블록(252a)의 GLU 유닛(502)(도 5) 및 LConv 계층(504)(도 5)은 상기 지속 시간 디코더(230)로부터의 출력(238)을 처리하고, 상기 예측된 음소 지속 시간들(240)과 상기 첫 번째 셀프 어텐션 블록(252a)의 마지막 FF 계층(506)으로부터의 출력은 셀프 어텐션 블록(252)의 스택에서 후속하는 상기 두 번째 셀프 어텐션 블록(252b)의 입력으로 제공된다. 각 셀프 어텐션 블록(252)의 마지막 FF 계층의 출력은, 셀프 어텐션 블록들의 스택(252)의 마지막 셀프 어텐션 블록(252n)에 도달할 때까지, 다음 셀프 어텐션 블록(252)의 입력으로 제공된다. 상기 셀프 어텐션 블록들(252)의 스택의 마지막 셀프 어텐션 블록(252n)(예를 들어, 여섯 번째 셀프 어텐션 블록(252))은 대응하는, 상기 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하기 위해 상기 마지막 셀프 어텐션 블록(252)에서 출력(253)을 투사하는 프로젝션 계층(254)과 쌍을 이룬다.
상기 스펙트로그램 디코더(250)에 의해 생성된 상기 예측 멜 주파수 스펙트로그램 시퀀스(302)는 상기 입력 텍스트 발화(320)에 대응하며, 상기 선택된 변형 임베딩(220)에 의해 표시된 상기 의도된 운율/스타일을 전달한다. 상기 훈련된 TTS 모델(300)은 합성된 음성(152)을 나타내는 시간 영역 오디오 파형으로의 변환을 위해 상기 입력 텍스트 발화(320)에 대한 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 상기 합성기(155)에 제공한다. 합성된 음성(152)은 상기 의도된 운율/스타일을 포함하는 상기 입력 텍스트 발화(320)의 구두 표현으로서, 선택된 변형 임베딩(220)에 의해 표시된 바와 같이 들을 수 있게 출력될 수 있다.
도 6은 비-자동회귀 TTS 모델을 훈련하기 위한 컴퓨터 구현 방법(600)에 대한 예시적인 동작 배열의 흐름도이다. 상기 방법(600)은, 단계(602)에서 기준 오디오 신호(201) 및 대응하는 입력 텍스트 시퀀스(206)를 포함하는 훈련 데이터를 수신하는 단계를 포함한다. 상기 기준 오디오 신호(201)는 구어(발화)를 포함하고 상기 입력 텍스트 시퀀스(206)는 상기 기준 오디오 신호(201)의 전사에 대응한다. 상기 방법(600)은 단계(604)에서 잔차 인코더(180)를 사용하여 상기 기준 오디오 신호(201)를 변형 임베딩(220)으로 인코딩하는 단계를 포함한다. 상기 변형 임베딩(220)은 상기 기준 오디오 신호(201)로부터 상기 스타일/운율 정보를 분리한다. 상기 방법(600)은 단계(606)에서 텍스트 인코더(210)를 사용하여 상기 입력 텍스트 시퀀스(206)를 인코딩된 텍스트 시퀀스(219)로 인코딩하는 것을 포함한다. 상기 방법(600)은 단계(608)에서 지속 시간 디코더(230)를 사용하고 상기 인코딩된 텍스트 시퀀스(219) 및 상기 변형 임베딩(220)에 기초하여, 상기 입력 텍스트 시퀀스(206)의 각 음소에 대한 음소 지속 시간(240)을 예측하는 단계를 포함한다.
상기 방법(600)은 단계(610)에서 상기 입력 텍스트 시퀀스(206)의 각 음소에 대한 상기 기준 오디오 신호(201)로부터 샘플링된 기준 음소 지속 시간(245) 및 상기 예측된 음소 지속 시간(240)에 기초하여, 음소 지속 시간 손실(244)을 결정하는 단계를 포함한다. 상기 방법(600)은 단계(612)에서, 상기 지속 시간 디코더(230)의 출력(238)에 기초하고 셀프 어텐션 블록들(252)의 스택을 포함하는 스펙트로그램 디코더(250)로부터의 출력으로서, 상기 입력 텍스트 시퀀스(206)에 대한 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 단계를 포함한다. 상기 방법(600)은 단계(614)에서, 상기 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302) 및 상기 기준 오디오 신호(201)로부터 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스에 기초하여, 최종 스펙트로그램 손실(280)을 결정하는 단계를 포함한다. 상기 방법(600)은 단계(616)에서, 상기 TTS 모델(300)을, 상기 최종 스펙트로그램 손실(280) 및 상기 입력 텍스트 시퀀스(206)의 각 음소에 대해 결정된 상기 대응하는 음소 지속 시간 손실(244)에 기초하여, 훈련하는 것을 포함한다.
도 7은 훈련된 비-자동회귀 TTS 모델(300)을 실행하기 위한 컴퓨터 구현 방법(700)에 대한 예시적인 동작 배열의 흐름도이다. 상기 방법(700)은 단계(702)에서 음성(152)으로 합성될 텍스트 발화(320)를 수신하는 단계를 포함한다. 상기 방법(700)은 단계(704)에서 비-자동회귀 TTS 모델(300)의 텍스트 인코더(210)를 사용하여 상기 텍스트 발화(320)로부터 추출된 음소 시퀀스를 인코딩된 텍스트 시퀀스(219)로 인코딩하는 단계를 포함한다. 방법(700)은 단계(706)에서 상기 텍스트 발화(320)에 대한 변형 임베딩(220)을 선택하는 단계를 포함한다. 상기 변형 임베딩(220)은 상기 텍스트 발화(320)를 음성(152)으로 합성하기 위한 의도된 운율/스타일을 지정한다. 상기 음소 시퀀스 내 각 음소에 대해, 상기 방법(700)은, 단계(708)에서, 상기 비-자동회귀 TTS 모델(300)의 지속 시간 디코더(230)를 사용하여, 인코딩된 텍스트 시퀀스(219) 및 선택된 변형 임베딩(220)을 기초로, 상기 대응하는 음소에 대한 음소 지속 시간(240)을 예측하는 단계를 포함한다. 상기 방법(700)은 단계(710)에서, 상기 지속 시간 디코더(230)의 출력(238) 및 상기 예측된 음소 지속 시간(240)에 기초하고, 셀프 어텐션 블록(252)의 스택을 포함하는 비-자동회귀 TTS 모델(300)의 스펙트로그램 디코더(250)로부터의 출력으로서, 상기 텍스트 발화(320)에 대해 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 단계를 포함한다. 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)는 상기 선택된 변형 임베딩(220)에 의해 상기 지정된 의도된 운율/스타일을 갖는다.
도 8은 이 문서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(800)의 개략도이다. 상기 컴퓨팅 장치(800)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 구성요소, 연결 및 관계, 기능은 예시일 뿐이며, 본 문서에서 설명 및/또는 청구된 발명의 구현을 제한하기 위한 것이 아니다.
컴퓨팅 장치(800)는 프로세서(810), 메모리(820), 저장 장치(830), 상기 메모리(820) 및 고속 확장 포트(850)에 연결되는 고속 인터페이스/컨트롤러(840), 및 저속 버스(870) 및 저장 장치(830)에 연결되는 저속 인터페이스/컨트롤러(860)를 포함한다. 각각의 컴포넌트(810, 820, 830, 840, 850, 860)는 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(810)는 컴퓨팅 장치(800) 내에서 실행하기 위한, 고속 인터페이스(840)에 연결된 디스플레이(880)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(820) 또는 저장 장치(830)에 저장된 명령어들을 포함하는 명령어들을 처리할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리들 및 메모리 유형들에 따라 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 장치(800)가 연결될 수 있으며, 각각의 장치는 필요한 동작들(예: 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)의 일부를 제공한다.
메모리(820)는 컴퓨팅 장치(800) 내에 비일시적으로 정보를 저장한다. 메모리(820)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(820)는 컴퓨팅 장치(800)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예: 명령 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 비휘발성 메모리의 예에는 플래시 메모리 및 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) 및 디스크나 테이프가 포함되지만, 이에 국한되지는 않는다.
저장 장치(830)는 컴퓨팅 장치(800)를 위한 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(830)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현에서, 저장 장치(830)는 플로피 디스크 장치, 하드 디스크 장치, 광학 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 장치 및 저장 영역 네트워크(Storage Area Network) 또는 기타 구성들에 내의 장치들을 포함하는 장치 배열일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령들을 포함한다. 상기 정보 매체는 상기 메모리(820), 상기 저장 장치(830) 또는 프로세서(810)의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
상기 고속 컨트롤러(840)는 상기 컴퓨팅 장치(800)에 대한 대역폭 집중 동작들을 관리하는 반면, 상기 저속 컨트롤러(860)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(840)는 메모리(820), 디스플레이(880)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드들(미도시)을 수용할 수 있는 고속 확장 포트(850)에 연결된다. 일부 구현에서, 저속 컨트롤러(860)는 저장 장치(830) 및 저속 확장 포트(890)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(890)는, 키보드, 포인팅 장치, 스캐너 또는, 예를 들어 스위치 또는 라우터(예를 들어 네트워크 어댑터를 통해)와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(800)는 도면에 도시된 바와 같이 다양한 형태로 구현될 수 있다.예를 들어, 표준 서버(800a)로 구현되거나 이러한 서버들(800a) 그룹에서 여러 번, 랩탑 컴퓨터(800b) 또는 랙 서버 시스템(800c)의 일부로 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(응용 프로그램 특정 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은, 데이터 및 명령들을 수신하고, 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치에 데이터 및 명령을 전송하는 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능한 프로세서를 포함하는 프로그래밍 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 장치가 동작을 수행하게 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예에서 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 응용 프로그램의 예로 시스템 진단 응용 프로그램, 시스템 관리 응용 프로그램, 시스템 유지 관리 응용 프로그램, 워드 프로세싱 응용 프로그램, 스프레드시트 응용 프로그램, 메시징 응용 프로그램, 미디어 스트리밍 응용 프로그램, 소셜 네트워킹 응용 프로그램 및 게임 응용 프로그램이 있지만, 이에 국한되지는 않는다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램 또는 코드라고도 함)에는 프로그래밍 가능한 프로세서에 대한 기계 명령이 포함되어 있으며, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기에 사용된 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는, 기계가 읽을 수 있는 신호로 기계 명령을 수신하는 기계가 읽을 수 있는 매체를 포함하여, 프로그램 가능한 프로세서에 기계 명령 및/또는 데이터를 제공하는 데 사용되는 모든 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 기기(apparatus) 및/또는 장치(device)(예: 자기 디스크, 광 디스크, 메모리, PLD(Programmable Logic Devices))를 의미한다. "기계 판독 가능 신호"라는 용어는 프로그래밍 가능한 프로세서에 기계 명령 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스 및 논리 흐름은 데이터 처리 하드웨어라고도 하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(응용 프로그램 특정 집적 회로)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 임의 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하는 프로세서와 명령과 데이터를 저장하는 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하기 위해 또는 양자 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 모든 형태의 비휘발성 메모리, 미디어 및, 메모리 장치, 예를 들어 반도체 메모리 장치(예를 들어 EPROM, EEPROM 및 플래시 메모리 장치); 자기 디스크(예를 들어 내부 하드 디스크 또는 이동식 디스크); 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 발명의 하나 이상의 측면이, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 사용자에게 정보를 표시하기 위한 터치 스크린 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 장치 및 키보드를 가지는 컴퓨터에서 구현될 수 있다. 다른 종류의 장치를 사용하여 사용자와의 상호 작용도 제공할 수 있다: 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있다; 그리고 사용자의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치와 문서를 주고받음으로써 사용자와 상호 작용할 수 있다; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 보냄으로서.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서 다른 구현들은 다음의 청구항의 범위 내에 있다.
Claims (26)
- 데이터 처리 하드웨어(122)에서 실행될 때, 상기 데이터 처리 하드웨어(122)가 비-자동회귀 TTS(text-to-speech) 모델(300)을 훈련시키기 위한 동작들을 수행하도록 하는 컴퓨터 구현 방법(600)에 있어서, 상기 동작들은,
기준 오디오 신호(201) 및 대응하는 입력 텍스트 시퀀스(206)를 포함하는 훈련 데이터를 수신하는 동작 -상기 기준 오디오 신호(201)는 발화를 포함하고 그리고 상기 입력 텍스트 시퀀스(206)는 상기 기준 오디오 신호(201)의 전사에 대응함-;
잔차 인코더(180)를 사용하여, 상기 기준 오디오 신호(201)를 변형 임베딩(220)으로 인코딩하는 동작 -상기 변형 임베딩(220)은 상기 기준 오디오 신호(201)로부터 스타일/운율 정보를 분리함-;
텍스트 인코더(210)를 사용하여, 상기 입력 텍스트 시퀀스(206)를 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작;
상기 인코딩된 텍스트 시퀀스(219) 및 상기 변형 임베딩(220)에 기초하여, 지속 시간 디코더(230)를 사용하여 상기 입력 텍스트 시퀀스(206) 내 각 음소에 대한 음소 지속 시간(240)을 예측하는 동작;
상기 입력 텍스트 시퀀스(206) 내 각 음소에 대한 상기 기준 오디오 신호(201)로부터 샘플링된 기준 음소 지속 시간(245) 및 상기 예측된 음소 지속 시간(240)에 기초하여 음소 지속 시간 손실(244)을 결정하는 동작;
상기 지속 시간 디코더(230)의 출력에 기초하여, 셀프 어텐션 블록들(252)의 스택을 포함하는 스펙트로그램 디코더(250)로부터의 출력으로서, 입력 텍스트 시퀀스(206)에 대한 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 동작;
상기 기준 오디오 신호(201)로부터 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스(202)와 상기 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)에 기초하여 최종 스펙트로그램 손실(280)을 결정하는 동작; 그리고
상기 입력 텍스트 시퀀스(206) 내의 각 음소에 대해 결정된 상기 대응하는 음소 지속 시간 손실(244)과 상기 최종 스펙트로그램 손실(280)에 기초하여 상기 TTS 모델(300)을 훈련시키는 동작을 포함하는 컴퓨터 구현 방법(600). - 제1항에 있어서, 상기 스택의 셀프 어텐션 블록들(252)의 각 셀프 어텐션 블록(252)은 동일한 LConv(Lightweight Convolution) 블록을 포함하는 컴퓨터 구현 방법(600).
- 제1항 또는 제2항에 있어서, 상기 셀프 어텐션 블록들(252)의 스택의 각 셀프 어텐션 블록(252)은 동일한 변환기 블록을 포함하는 컴퓨터 구현 방법(600).
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 입력 텍스트 시퀀스(206)는 각각 하나 이상의 음소, 모든 단어 경계에서의 묵음 및 구두점을 갖는 단어들을 포함하는 컴퓨터 구현 방법(600).
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 잔차 인코더(180)는 글로벌 변형 자동 인코더(VAE)를 포함하고; 그리고
상기 기준 오디오 신호(201)를 상기 변형 임베딩(220)으로 인코딩하는 동작은:
상기 기준 오디오 신호(201)로부터 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작; 그리고
상기 글로벌 VAE를 사용하여, 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 상기 변형 임베딩(220)으로 인코딩하는 동작을 포함하는 컴퓨터 구현 방법(600). - 제1항 내지 제5항에 있어서,
상기 잔차 인코더(180)는 음소 레벨로 세분화된 변형 오토 인코더(VAE)를 포함하고;
상기 기준 오디오 신호(201)를 상기 변형 임베딩(220)으로 인코딩하는 동작은:
상기 기준 오디오 신호(201)로부터 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작; 그리고
상기 입력 텍스트 시퀀스(206)에서 추출된 음소 시퀀스 내 각 음소에 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 정렬하는 동작; 그리고
상기 음소 레벨로 세분화된 변형 오토 인코더(VAE)를 사용하여, 상기 음소 시퀀스 내 각 음소와 정렬된 상기 기준 멜 주파수 스펙트로그램 시퀀스를 기초로, 음소 레벨 변형 임베딩(220) 시퀀스를 인코딩하는 동작을 포함하는 컴퓨터 구현 방법(600). - 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 잔차 인코더(180)는 경량 콘볼루션(LConv) 블록들(410, 420)의 스택을 포함하고, LConv 블록들(410, 420)의 스택 내의 각 LConv 블록(410, 420)은,
GLU(Gated Linear Unit) 계층(502);
상기 GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층(504);
상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연관시키도록 구성된 잔차 연결(508); 및,
상기 GLU 계층(502)에 대한 입력과 상기 LConv 계층(504)의 출력을 연관시키는 잔차 연결(508)을 입력으로 수신하도록 구성된 최종 피드포워드 계층(506)을 포함하는 컴퓨터 구현 방법(600). - 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 동작들은,
상기 입력 텍스트 시퀀스(206)의 각 음소에 대한 상기 기준 오디오 신호(201)로부터 샘플링된 상기 기준 음소 지속 시간(240)을 사용하여, 상기 지속 시간 디코더(230)의 상기 출력을 다수의 프레임으로 업샘플링 하는 동작; 그리고
상기 입력된 텍스트 발화(320)에서 각 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩들(216)을 획득하는 동작을 더 포함하며,
상기 입력 텍스트 시퀀스(206)에 대한 상기 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 것은 상기 위치 임베딩들(216) 및 상기 지속 시간 디코더(230)의 출력을 상기 프레임의 수로 업샘플링하는 것에 기초하는 컴퓨터 구현 방법(600). - 제1항 내지 제8항 중 어느 한 항에 있어서,
상기 입력 텍스트 시퀀스(206)에 대한 상기 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 동작은,
상기 스펙트로그램 디코더(250)의 셀프 어텐션 블록들(252)의 스택의 각 셀프 어텐션 블록(252)의 출력으로서, 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 동작을 포함하고, 그리고
상기 최종 스펙트로그램 손실(280)을 결정하는 동작은:
각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)에 대해, 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302) 및 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)에 기초하여 각각의 스펙트로그램 손실(270)을 결정하는 동작; 그리고
최종 스펙트로그램 손실(280)을 생성하기 위해 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)에 대해 결정된 상기 각각의 스펙트로그램 손실(270)을 집계하는 동작을 포함하는 컴퓨터 구현 방법(600). - 제1항 내지 제9항 중 어느 한 항에 있어서,
상기 지속 시간 디코더(230)는 셀프 어텐션 블록들(232)의 스택에 이어 2개의 독립적인 프로젝션을 포함하며;
상기 입력 텍스트 시퀀스(206) 내 각 음소에 대한 상기 음소 지속 시간(240)을 예측하는 동작은:
상기 두 개의 독립적인 프로젝션 중 첫 번째에 이어서 시그모이드 활성화(234)를 사용하여, 각 음소에 대해 0이 아닌 지속 시간의 확률을 예측하는 동작; 그리고
상기 두 개의 독립적인 프로젝션 중 두 번째에 이어서 소프트플러스 활성화(236)를 사용하여, 각 음소에 대한 상기 음소 지속 시간(240)을 예측하는 동작을 포함하는 컴퓨터 구현 방법(600). - 제10항에 있어서, 상기 동작들은, 각 음소에 대하여,
상기 대응하는 음소에 대하여 예측된 0이 아닌 지속 시간의 확률이 임계값 미만인지 여부를 결정하는 동작; 및,
상기 0이 아닌 지속 시간의 확률이 임계값 미만인 경우, 상기 대응하는 음소에 대해 예측된 음소 지속 시간(240)을 0으로 만드는 동작을 더 포함하는 컴퓨터 구현 방법(600). - 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 동작들은:
상기 인코딩된 텍스트 시퀀스(219), 상기 변형 임베딩(220) 및 상기 기준 오디오 신호를 발화한 기준 화자의 ID(identity)를 나타내는 기준 화자 임베딩(201)을 연관시키는 동작; 그리고
상기 인코딩된 텍스트 시퀀스(219), 상기 변형 임베딩(220) 및 상기 기준 화자 임베딩의 상기 연관(224)을 입력으로서 수신하는 상기 지속 시간 디코더(230)에 기초하여 상기 지속 시간 디코더(230)의 상기 출력을 생성하는 동작을 더 포함하는 컴퓨터 구현 방법(600). - 제1항 내지 제12항 중 어느 한 항에 있어서,
상기 입력 텍스트 시퀀스(206)는 음소 시퀀스를 포함하고;
상기 입력 텍스트 시퀀스(206)를 상기 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작은:
음소 룩업 테이블(208)로부터 상기 음소 시퀀스 내 각 음소의 각 임베딩을 수신하는 동작;
상기 음소 시퀀스 내 각 음소에 대해, 상기 텍스트 인코더(210)의 인코더 프리넷 신경망(207)을 이용하여, 상기 음소의 각 변환된 임베딩(209)을 생성하기 위해 상기 각 임베딩을 처리하는 동작;
컨볼루션 출력(213)을 생성하기 위해 상기 각 변환된 임베딩(209)을 컨벌루션 블록들(212)의 뱅크를 사용하여 처리하는 동작; 그리고
상기 인코딩된 텍스트 시퀀스(219)를 생성하기 위해 상기 컨볼루션 출력(213)을 셀프 어텐션 블록들(218)의 스택을 사용하여 처리하는 동작을 포함하는 컴퓨터 구현 방법(600). - 비-자동회귀 TTS(text-to-speech) 모델을 훈련하기 위한 시스템(100)으로서, 상기 시스템은:
데이터 처리 하드웨어(122); 및,
상기 데이터 처리 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 포함하며,
상기 메모리 하드웨어(124)는 상기 데이터 처리 하드웨어(122)에 의해 실행될 때 상기 데이터 처리 하드웨어(122)가 동작들을 수행하도록 하는 명령어들을 저장하며, 상기 동작들은,
기준 오디오 신호(201) 및 대응하는 입력 텍스트 시퀀스(206)를 포함하는 훈련 데이터를 수신하는 동작 -상기 기준 오디오 신호(201)는 발화를 포함하고 상기 입력 텍스트 시퀀스(206)는 상기 기준 오디오 신호(201)의 전사에 대응함-;
잔차 인코더(180)를 사용하여 상기 기준 오디오 신호(201)를 변형 임베딩(220)으로 인코딩하는 동작 -상기 변형 임베딩(220)은 상기 기준 오디오 신호(201)로부터 스타일/운율 정보를 분리함-;
텍스트 인코더(210)를 사용하여 상기 입력 텍스트 시퀀스(206)를 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작;
상기 인코딩된 텍스트 시퀀스(219) 및 상기 변형 임베딩(220)에 기초하여, 지속 시간 디코더(230)를 사용하여 상기 입력 텍스트 시퀀스(206) 내 각 음소에 대한 음소 지속 시간(240)을 예측하는 동작;
상기 입력 텍스트 시퀀스(206) 내 각 음소에 대한 상기 기준 오디오 신호(201)로부터 샘플링된 기준 음소 지속 시간(245) 및 상기 예측된 음소 지속 시간(240)에 기초하여 음소 지속 시간 손실(244)을 결정하는 동작;
상기 지속 시간 디코더(230)의 출력에 기초하여 셀프 어텐션 블록(252) 스택을 포함하는 스펙트로그램 디코더(250)로부터의 출력으로서, 입력 텍스트 시퀀스(206)에 대한 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 동작;
상기 기준 오디오 신호(201)로부터 샘플링된 기준 멜 주파수 스펙트로그램 시퀀스(202)와 상기 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)에 기초하여 최종 스펙트로그램 손실(280)을 결정하는 동작; 그리고
상기 입력 텍스트 시퀀스(206) 내의 각 음소에 대해 결정된 상기 대응하는 음소 지속 시간 손실(244)과 상기 최종 스펙트로그램 손실(280)에 기초하여 상기 TTS 모델(300)을 훈련시키는 동작을 포함하는 시스템(100). - 제14항에 있어서, 상기 셀프 어텐션 블록들(252)의 스택의 각 셀프 어텐션 블록(252)은 동일한 LConv(Lightweight Convolution) 블록을 포함하는 시스템(100).
- 제14항 또는 제15항에 있어서, 상기 셀프 어텐션 블록들(252)의 스택의 각 셀프 어텐션 블록(252)은 동일한 변환기 블록을 포함하는 시스템(100).
- 제14항 내지 제16항 중 어느 한 항에 있어서, 상기 입력 텍스트 시퀀스(206)는 각각 하나 이상의 음소, 모든 단어 경계에서의 묵음 및 구두점을 갖는 단어들을 포함하는 시스템(100).
- 제14항 내지 제17항 중 어느 한 항에 있어서,
상기 잔차 인코더(180)는 글로벌 변형 자동 인코더(VAE)를 포함하고;
상기 기준 오디오 신호(201)를 상기 변형 임베딩(220)으로 인코딩하는 동작은:
상기 기준 오디오 신호(201)로부터 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작; 그리고
상기 글로벌 VAE를 사용하여 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 상기 변형 임베딩(220)으로 인코딩하는 동작을 포함하는 시스템(100). - 제14항 내지 제18항에 있어서,
상기 잔차 인코더(180)는 음소 레벨로 세분화된 변형 오토 인코더(VAE)를 포함하고;
상기 기준 오디오 신호(201)를 상기 변형 임베딩(220)으로 인코딩하는 동작은:
상기 기준 오디오 신호(201)로부터 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작; 그리고
상기 입력 텍스트 시퀀스(206)에서 추출된 음소 시퀀스 내 각 음소에 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)를 정렬하는 동작; 그리고
상기 음소 레벨로 세분화된 변형 오토 인코더(VAE)를 사용하여, 상기 음소 시퀀스 내 각 음소와 정렬된 상기 기준 멜 주파수 스펙트로그램 시퀀스를 기초로, 음소 레벨 변형 임베딩(220) 시퀀스를 인코딩하는 동작을 포함하는 시스템(100). - 제14항 내지 제19항 중 어느 한 항에 있어서, 상기 잔차 인코더(180)는 경량 콘볼루션(LConv) 블록들(410, 420)의 스택을 포함하고, LConv 블록들(410, 420)의 스택 내의 각 LConv 블록(410, 420)은,
GLU(Gated Linear Unit) 계층(502);
상기 GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층(504);
상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연관시키도록 구성된 잔차 연결(508); 그리고
상기 GLU 계층(502)에 대한 입력과 상기 LConv 계층(504)의 출력을 연관시키는 잔차 연결(508)을 입력으로서 수신하도록 구성된 최종 피드포워드 계층(506)을 포함하는 시스템(100). - 제14항 내지 제20항 중 어느 한 항에 있어서, 상기 동작들은,
상기 입력 텍스트 시퀀스(206)의 각 음소에 대한 상기 기준 오디오 신호(201)로부터 샘플링된 상기 기준 음소 지속 시간(240)을 사용하여, 상기 지속 시간 디코더(230)의 상기 출력을 다수의 프레임으로 업샘플링 하는 동작; 그리고
상기 입력된 텍스트 발화(320)에서 각 음소에 대한 음소 위치 정보를 나타내는 위치 임베딩들(216)을 획득하는 동작을 더 포함하며,
상기 입력 텍스트 시퀀스(206)에 대한 상기 하나 이상의 예측 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 것은 상기 위치 임베딩들(216) 및 상기 지속 시간 디코더(230)의 출력을 상기 프레임의 수로 업샘플링하는 것에 기초하는 시스템(100). - 제14항 내지 제21항 중 어느 한 항에 있어서,
상기 입력 텍스트 시퀀스(206)에 대한 상기 하나 이상의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 동작은,
상기 스펙트로그램 디코더(250)의 셀프 어텐션 블록들(252)의 스택의 각 셀프 어텐션 블록(252)의 출력으로서, 각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)를 생성하는 동작을 포함하고, 그리고
상기 최종 스펙트로그램 손실(280)을 결정하는 동작은:
각각의 예측된 멜 주파수 스펙트로그램 시퀀스(302)에 대해, 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302) 및 상기 기준 멜 주파수 스펙트로그램 시퀀스(202)에 기초하여 각각의 스펙트로그램 손실(270)을 결정하는 동작; 그리고
최종 스펙트로그램 손실(280)을 생성하기 위해 상기 예측된 멜 주파수 스펙트로그램 시퀀스(302)에 대해 결정된 상기 각각의 스펙트로그램 손실(270)을 집계하는 동작을 포함하는 시스템(100). - 제14항 내지 제22항 중 어느 한 항에 있어서,
상기 지속 시간 디코더(230)는 셀프 어텐션 블록들(232)의 스택에 이어 2개의 독립적인 프로젝션을 포함하며;
상기 입력 텍스트 시퀀스(206) 내 각 음소에 대한 상기 음소 지속 시간(240)을 예측하는 동작은:
상기 두 개의 독립적인 프로젝션 중 첫 번째에 이어서 시그모이드 활성화(234)를 사용하여 각 음소에 대해 0이 아닌 지속 시간의 확률을 예측하는 동작; 그리고
상기 두 개의 독립적인 프로젝션 중 두 번째에 이어서 소프트플러스 활성화(236)를 사용하여 각 음소에 대한 상기 음소 지속 시간(240)을 예측하는 동작을 포함하는 시스템(100). - 제23항에 있어서, 상기 동작들은, 각 음소에 대하여,
상기 대응하는 음소에 대하여 예측된 0이 아닌 지속 시간의 확률이 임계값 미만인지 여부를 결정하는 동작; 그리고
상기 0이 아닌 지속 시간의 확률이 임계값 미만인 경우, 상기 대응하는 음소에 대해 예측된 음소 지속 시간(240)을 0으로 만드는 동작을 더 포함하는 시스템(100). - 제14항 내지 제24항 중 어느 한 항에 있어서, 상기 동작들은:
상기 인코딩된 텍스트 시퀀스(219), 상기 변형 임베딩(220) 및 상기 기준 오디오 신호를 발화한 기준 화자의 ID를 나타내는 기준 화자 임베딩(201)을 연관시키는 동작; 그리고
상기 인코딩된 텍스트 시퀀스(219), 상기 변형 임베딩(220) 및 상기 기준 화자 임베딩의 상기 연관(224)을 입력으로 수신하는 상기 지속 시간 디코더(230)에 기초하여 상기 지속 시간 디코더(230)의 상기 출력을 생성하는 동작을 더 포함하는 시스템(100). - 제14항 내지 제25항 중 어느 한 항에 있어서,
상기 입력 텍스트 시퀀스(206)는 음소 시퀀스를 포함하고;
상기 입력 텍스트 시퀀스(206)를 상기 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작은:
음소 룩업 테이블(208)로부터 상기 음소 시퀀스 내 각 음소의 각 임베딩을 수신하는 동작;
상기 음소 시퀀스 내 각 음소에 대해, 상기 텍스트 인코더(210)의 인코더 프리넷 신경망(207)을 이용하여, 상기 음소의 각 변환된 임베딩(209)을 생성하기 위해 상기 각 임베딩을 처리하는 동작;
컨볼루션 출력(213)을 생성하기 위해 상기 각 변환된 임베딩(209)을 컨벌루션 블록들(212)의 뱅크를 사용하여 처리하는 동작; 그리고
상기 인코딩된 텍스트 시퀀스(219)를 생성하기 위해 상기 컨볼루션 출력(213)을 셀프 어텐션 블록들(218)의 스택을 사용하여 처리하는 동작을 포함하는 시스템(100).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063094834P | 2020-10-21 | 2020-10-21 | |
US63/094,834 | 2020-10-21 | ||
PCT/US2021/030804 WO2022086590A1 (en) | 2020-10-21 | 2021-05-05 | Parallel tacotron: non-autoregressive and controllable tts |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230084229A true KR20230084229A (ko) | 2023-06-12 |
Family
ID=76160010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237015304A KR20230084229A (ko) | 2020-10-21 | 2021-05-05 | 병렬 타코트론: 비-자동회귀 및 제어 가능한 tts |
Country Status (6)
Country | Link |
---|---|
US (2) | US11908448B2 (ko) |
EP (1) | EP4233044A1 (ko) |
JP (1) | JP2023547112A (ko) |
KR (1) | KR20230084229A (ko) |
CN (1) | CN116457870A (ko) |
WO (1) | WO2022086590A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11694674B1 (en) * | 2021-05-26 | 2023-07-04 | Amazon Technologies, Inc. | Multi-scale spectrogram text-to-speech |
US20220383850A1 (en) * | 2021-05-31 | 2022-12-01 | Brock Daily | System and method for posthumous dynamic speech synthesis using neural networks and deep learning |
US11830476B1 (en) * | 2021-06-08 | 2023-11-28 | Amazon Technologies, Inc. | Learned condition text-to-speech synthesis |
CN115206284B (zh) * | 2022-09-19 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 一种模型训练方法、装置、服务器和介质 |
CN117746834B (zh) * | 2024-02-21 | 2024-05-24 | 青岛海尔科技有限公司 | 基于大模型的语音生成方法及装置、存储介质、电子装置 |
CN117809621B (zh) * | 2024-02-29 | 2024-06-11 | 暗物智能科技(广州)有限公司 | 一种语音合成方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10896669B2 (en) * | 2017-05-19 | 2021-01-19 | Baidu Usa Llc | Systems and methods for multi-speaker neural text-to-speech |
US11238843B2 (en) * | 2018-02-09 | 2022-02-01 | Baidu Usa Llc | Systems and methods for neural voice cloning with a few samples |
US11264010B2 (en) * | 2018-05-11 | 2022-03-01 | Google Llc | Clockwork hierarchical variational encoder |
US11151979B2 (en) * | 2019-08-23 | 2021-10-19 | Tencent America LLC | Duration informed attention network (DURIAN) for audio-visual synthesis |
CN112951198A (zh) * | 2019-11-22 | 2021-06-11 | 微软技术许可有限责任公司 | 歌声合成 |
-
2021
- 2021-05-05 KR KR1020237015304A patent/KR20230084229A/ko not_active Application Discontinuation
- 2021-05-05 EP EP21728356.3A patent/EP4233044A1/en active Pending
- 2021-05-05 WO PCT/US2021/030804 patent/WO2022086590A1/en active Application Filing
- 2021-05-05 CN CN202180077629.4A patent/CN116457870A/zh active Pending
- 2021-05-05 JP JP2023524427A patent/JP2023547112A/ja active Pending
- 2021-05-21 US US17/327,076 patent/US11908448B2/en active Active
-
2024
- 2024-01-24 US US18/421,116 patent/US20240161730A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220122582A1 (en) | 2022-04-21 |
EP4233044A1 (en) | 2023-08-30 |
JP2023547112A (ja) | 2023-11-09 |
CN116457870A (zh) | 2023-07-18 |
WO2022086590A1 (en) | 2022-04-28 |
US11908448B2 (en) | 2024-02-20 |
US20240161730A1 (en) | 2024-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11605368B2 (en) | Speech recognition using unspoken text and speech synthesis | |
JP7108147B2 (ja) | 表現用エンドツーエンド音声合成における変分埋め込み容量 | |
US11823656B2 (en) | Unsupervised parallel tacotron non-autoregressive and controllable text-to-speech | |
US11908448B2 (en) | Parallel tacotron non-autoregressive and controllable TTS | |
KR20230034423A (ko) | 2-레벨 스피치 운율 전송 | |
KR102625184B1 (ko) | 고유 음성 사운드를 생성하기 위한 음성 합성 트레이닝 | |
US11475874B2 (en) | Generating diverse and natural text-to-speech samples | |
US20240087558A1 (en) | Methods and systems for modifying speech generated by a text-to-speech synthesiser | |
KR20240024960A (ko) | 견고한 다이렉트 스피치-투-스피치 번역 | |
EP4352724A1 (en) | Two-level text-to-speech systems using synthetic training data | |
KR20240022598A (ko) | 셀프 지도 스피치 사전 트레이닝에서 텍스트 삽입하기 | |
JP2024527533A (ja) | 一貫性損失および対照的損失によるasr事前トレーニングにおけるテキストおよび音声の使用の促進 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |