KR102677459B1 - 2-레벨 스피치 운율 전송 - Google Patents
2-레벨 스피치 운율 전송 Download PDFInfo
- Publication number
- KR102677459B1 KR102677459B1 KR1020237006493A KR20237006493A KR102677459B1 KR 102677459 B1 KR102677459 B1 KR 102677459B1 KR 1020237006493 A KR1020237006493 A KR 1020237006493A KR 20237006493 A KR20237006493 A KR 20237006493A KR 102677459 B1 KR102677459 B1 KR 102677459B1
- Authority
- KR
- South Korea
- Prior art keywords
- prosody
- utterance
- speech
- embedding
- syllable
- Prior art date
Links
- 238000012546 transfer Methods 0.000 title description 9
- 230000005236 sound signal Effects 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 56
- 239000002131 composite material Substances 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000014509 gene expression Effects 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 93
- 230000015654 memory Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 45
- 238000013528 artificial neural network Methods 0.000 claims description 24
- 230000005540 biological transmission Effects 0.000 claims description 23
- 239000012634 fragment Substances 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 241000282412 Homo Species 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 67
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 6
- 238000003786 synthesis reaction Methods 0.000 description 6
- 230000002194 synthesizing effect Effects 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003595 spectral effect Effects 0.000 description 4
- 230000003750 conditioning effect Effects 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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
- 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/047—Probabilistic or stochastic 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/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/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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
- G10L13/10—Prosody rules derived from text; Stress or intonation
-
- 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
- G10L17/00—Speaker identification or verification techniques
- G10L17/18—Artificial neural networks; Connectionist approaches
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
방법(500)은 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치(152)로 합성될 입력 텍스트 발화(320)를 수신하는 단계 및 제1 텍스트 스피치 변환(TTS) 모델(212)을 사용하여, 입력 텍스트 발화에 대한 중간 합성 스피치 표현(202)을 생성하는 단계를 포함한다. 중간 합성 스피치 표현은 의도된 운율을 소유한다. 방법은 또한 인코더 부분(300) 및 디코더 부분(400)을 포함하는 제2 TTS 모델(220)에 중간 합성 스피치 표현을 제공하는 단계를 포함한다. 인코더 부분은 의도된 운율을 특정하는 발화 임베딩(204)으로 중간 합성 스피치 표현을 인코딩하도록 구성된다. 디코더 부분은 타겟 보이스의 발화 임베딩 및 화자 특성들에 의해 특정되는 의도된 운율을 갖는 표현력 있는 스피치의 출력 오디오 신호(280)를 생성하기 위해 입력 텍스트 발화 및 발화 임베딩을 처리하도록 구성된다.
Description
본 개시는 2-레벨 스피치 운율(prosody) 전송에 관한 것이다.
스피치 합성 시스템은 텍스트 입력에서 스피치를 생성하기 위하여 텍스트 스피치 변환(text-to-speech)(TTS) 모델을 사용한다. 생성/합성된 음성은 의도된 운율(표현력)과 함께 인간의 음성(자연스러움)처럼 들리면서 메시지(요해도)를 정확하게 전달해야 한다. 기존의 연결(concatenative) 및 파라메트릭(parametric) 합성 모델은 명료한 음성을 제공할 수 있고 음성의 신경 모델링의 최근 발전으로 합성 음성의 자연스러움이 크게 개선되었지만, 대부분의 기존 TTS 모델은 다양한 운율 스타일을 모델링하는 데 비효율적이어서, 중요한 애플리케이션들에서 사용하는 합성 음성의 표현력이 부족하다. 예를 들어, 억양, 강세, 리듬 및 스타일과 같이 텍스트 입력에서 전달되지 않는 운율적 특징들을 가(imput)하여 사실적인 스피치를 생산하는 것이 대화 어시스턴트 및 장문 낭독기(long-form readers)와 같은 애플리케이션들에 바람직하다. 예를 들어, 간단한 문장은 그 문장이 질문인지, 질문에 대한 대답인지, 문장에 불확실성이 있는지, 또는 입력 텍스트에 의해 특정되지 않은 환경이나 컨텍스트(context)에 대한 다른 의미를 전달하기 위한 것인지에 따라 다양한 방식으로 발화될 수 있다.
일부 시나리오에서는 뉴스 낭독, 스포츠 해설자, 교육 강사 등과 같은 특정 운율 도메인(domain)/버티컬(vertical)의 다양한 화자들(speakers)로부터 모델링된 운율을 기존 타겟 보이스에 전송하는 것이 유용할 수 있다. 이러한 방식으로 새로운 운율 도메인/버티컬에 타겟 보이스를 적용하는 것은 새로운 도메인/버티컬에서 타겟 보이스와 연관된 트레이닝 데이터의 양이 불충분하기 때문에 특히 어려울 수 있다.
본 개시의 일 양태는 입력 텍스트 발화(input text utterance)를 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치(expressive speech)로 합성하기 위한 방법을 제공한다. 이 방법은 데이터 프로세싱 하드웨어에서, 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치로 합성될 입력 텍스트 발화를 수신하는 단계를 포함한다. 방법은 또한 데이터 프로세싱 하드웨어에 의해, 제1 텍스트 스피치 변환(TTS) 모델을 사용하여 입력 텍스트 발화에 대한 중간 합성 스피치 표현(intermediate synthesized speech representation)을 생성하는 단계를 포함한다. 상기 중간 합성 스피치 표현은 의도된 운율을 소유한다. 방법은 또한 데이터 프로세싱 하드웨어에 의해, 인코더 부분 및 디코더 부분을 포함하는 제2 TTS 모델에 중간 합성 스피치 표현을 제공하는 단계를 포함한다. 인코더 부분은 중간 합성 스피치 표현을 의도된 운율을 특정하는 발화 임베딩으로 인코딩하도록 구성된다. 디코더 부분은 표현력 있는 스피치의 출력 오디오 신호를 생성하기 위해 입력 텍스트 발화 및 발화 임베딩을 처리하도록 구성된다. 출력 오디오 신호는 타겟 보이스의 발화 임베딩 및 화자 특성들에 의해 특정되는 의도된 운율을 갖는다.
본 개시의 구현예는 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 중간 합성 스피치 표현으로부터, 중간 합성 스피치 표현에 의해 소유된 의도된 운율을 표현하는 운율적 특징들을 제공하는 고정-길이 레퍼런스 프레임들의 시퀀스를 샘플링하는 것을 포함한다. 여기서, 중간 합성 스피치 표현을 제2 TTS 모델에 제공하는 단계는 중간 합성 스피치 표현으로부터 샘플링된 고정-길이 레퍼런스 프레임들의 시퀀스를 인코더 부분에 제공하는 것을 포함하고, 이에 의해 인코더 부분은 고정-길이 레퍼런스 프레임들의 시퀀스를 발화 임베딩으로 인코딩하도록 구성된다. 중간 합성 스피치 표현에 의해 소유된 의도된 운율을 표현하는 운율적 특징들은 지속 시간, 음높이 윤곽(contour), 에너지 윤곽 및/또는 멜-주파수 스펙트로그램 윤곽을 포함할 수 있다. 이러한 구현예에서, 인코더 부분은 고정-길이 레퍼런스 프레임들의 시퀀스를 발화 임베딩으로 인코딩하도록 구성되며, 고정-길이 레퍼런스 프레임들의 시퀀스를 발화 임베딩으로 인코딩하는 것은, 중간 합성 스피치 표현의 각 음절에 대해: 음절의 각 음소와 연관된 음소-레벨 언어적 특징들을 음소 특징-기반 음절 임베딩으로 인코딩하고; 음절과 연관된 고정-길이 레퍼런스 프레임들을 프레임-기반 음절 임베딩으로 인코딩하고, 상기 프레임-기반 음절 임베딩은 대응하는 음절과 관련된 지속 시간, 음높이 및/또는 에너지를 나타내고; 및 음절에 대한 대응하는 운율적 음절 임베딩으로, 음절과 연관된 음절-레벨 언어적 특징들, 중간 합성 스피치 표현과 연관된 문장- 레벨 언어적 특징들, 및 대응하는 음절을 포함하는 단어와 연관된 단어-레벨 언어적 특징들을 갖는 음소 특징-기반 및 프레임-기반 음절 임베딩들을 인코딩함으로써 수행될 수 있다.
단어-레벨 언어적 특징들은 입력 텍스트 발화로부터 양방향 인코더 표현 변환기(Bidirectional Encoder Representations from Transformers)(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함할 수 있다. 일부 예에서, 디코더 부분은 입력 텍스트 발화를 사용하여, 입력 텍스트 발화의 운율적 표현을 제공하는 고정-길이 예측 프레임들의 시퀀스로 대응하는 발화 임베딩을 디코딩함으로써 출력 오디오 신호를 생성하기 위해 입력 텍스트 발화 및 발화 임베딩을 처리하도록 구성된다. 여기서 운율적 표현은 발화 임베딩에 의해 특정되는 의도된 운율을 표현한다. 제2 TTS 모델은 디코더 부분에 의해 디코딩된 고정-길이 예측 프레임들의 수가 중간 합성 스피치 표현으로부터 샘플링된 고정-길이 레퍼런스 프레임들의 수와 동일하도록 트레이닝될 수 있다.
일부 예에서, 발화 임베딩에는 고정-길이 수치 벡터(numerical vector)가 포함된다. 중간 합성 스피치 표현은 중간 합성 스피치 표현을 제2 TTS 모델에 제공하는 것이 오디오 파형 또는 멜-주파수 스펙트로그램들의 시퀀스를 인코더 부분에 제공하는 것을 포함할 수 있도록 의도된 운율을 캡처하는 오디오 파형 또는 멜-주파수 스펙트로그램들의 시퀀스를 포함할 수 있다. 여기서, 인코더 부분은 발화 임베딩으로 오디오 파형 또는 멜-주파수 스펙트로그램들의 시퀀스를 인코딩하도록 구성된다.
일부 구현예에서, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 타겟 보이스의 화자 특성들을 표현하는 화자 임베딩을 획득하는 단계, 및 데이터 프로세싱 하드웨어에 의해, 입력 텍스트 발화, 발화 임베딩 및 표현력 있는 스피치의 출력 오디오 신호를 생성하기 위해 제2 TTS 모델의 디코더 부분에 화자 임베딩을 제공하는 단계를 포함한다. 제1 TTS 모델을 사용하여 생성된 중간 합성 스피치 표현은 타겟 보이스의 화자 특성들이 부족하고 바람직하지 않은 음향 아티팩트(artifact)들을 포함하는 중간 보이스를 포함할 수 있다.
방법은 또한 데이터 프로세싱 하드웨어에서, 복수의 트레이닝 오디오 신호들 및 대응하는 트랜스크립트(transcript)들을 포함하는 트레이닝 데이터를 수신하는 단계를 포함할 수 있으며, 각각의 트레이닝 오디오 신호는 의도된 운율과 연관된 운율 도메인/버티컬에서 대응하는 화자가 말하는 의도된 운율을 갖는 인간 스피치의 발화를 포함한다. 각 트랜스크립트에는 대응하는 트레이닝 오디오 신호의 텍스트 표현이 포함된다. 트레이닝 데이터의 각각의 대응하는 트랜스크립트에 대해: 방법은 또한 데이터 프로세싱 하드웨어에 의해, 제1 TTS 모델이 인간 스피치의 대응하는 발화의 의도된 운율을 캡처하는 트레이닝 합성 스피치 표현을 포함하는 대응하는 레퍼런스 오디오 신호를 생성하도록 트레이닝하는 단계; 데이터 프로세싱 하드웨어에 의해, 대응하는 트레이닝 합성 스피치 표현을 트레이닝 합성 스피치 표현에 의해 캡처된 의도된 운율을 표현하는 대응하는 발화 임베딩으로 인코딩함으로써 제2 TTS 모델의 인코더 부분을 트레이닝하는 단계; 데이터 프로세싱 하드웨어에 의해, 트레이닝 데이터의 대응하는 트랜스크립트를 사용하여, 인코더 부분에 의해 인코딩된 대응하는 발화 임베딩을 의도된 운율을 갖는 표현력 있는 스피치의 예측된 출력 오디오 신호로 디코딩함으로써 제2 TTS 모델의 디코더 부분을 트레이닝하는 단계; 상기 예측된 출력 오디오 신호와 대응하는 레퍼런스 오디오 신호 사이의 기울기/손실을 생성하는 단계; 및 제2 TTS 모델을 통해 상기 기울기/손실을 역-전파하는 단계를 포함한다.
제1 TTS 모델과 제2 TTS 모델은 개별적으로 또는 공동으로 트레이닝될 수 있다. 일부 예에서, 제1 TTS 모델은 제1 신경 네트워크 아키텍처를 포함하고 제2 TTS 모델은 제1 신경 네트워크 아키텍처와 상이한 제2 신경 네트워크 아키텍처를 포함한다. 다른 예에서, 제1 TTS 모델과 제2 TTS 모델은 동일한 신경 네트워크 아키텍처를 포함한다.
본 발명의 또 다른 양태는 입력 텍스트 발화를 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치로 합성하기 위한 시스템을 제공한다. 이 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하고 데이터 프로세싱 하드웨어에 의해 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어를 포함한다. 동작들은 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치로 합성될 입력 텍스트 발화를 수신하는 동작을 포함한다. 동작들은 또한 제1 텍스트 스피치 변환(TTS) 모델을 사용하여 입력 텍스트 발화에 대한 중간 합성 스피치 표현을 생성하는 동작을 포함한다. 상기 중간 합성 스피치 표현은 의도된 운율을 소유한다. 동작들은 또한 인코더 부분 및 디코더 부분을 포함하는 제2 TTS 모델에 중간 합성 스피치 표현을 제공하는 동작을 포함한다. 인코더 부분은 중간 합성 스피치 표현을 의도된 운율을 특정하는 발화 임베딩으로 인코딩하도록 구성된다. 디코더 부분은 표현력 있는 스피치의 출력 오디오 신호를 생성하기 위해 입력 텍스트 발화 및 발화 임베딩을 처리하도록 구성된다. 출력 오디오 신호는 타겟 보이스의 발화 임베딩 및 화자 특성들에 의해 특정된 의도된 운율을 갖는다.
이 양태는 다음과 같은 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 동작들은 또한 중간 합성 스피치 표현으로부터, 중간 합성 스피치 표현에 의해 소유된 의도된 운율을 표현하는 운율적 특징들을 제공하는 고정-길이 레퍼런스 프레임들의 시퀀스를 샘플링하는 동작을 포함한다. 여기서, 중간 합성 스피치 표현을 제2 TTS 모델에 제공하는 동작은 중간 합성 스피치 표현으로부터 샘플링된 고정-길이 레퍼런스 프레임들의 시퀀스를 인코더 부분에 제공하는 동작을 포함하고, 이에 의해 인코더 부분은 고정-길이 레퍼런스 프레임들의 시퀀스를 발화 임베딩으로 인코딩하도록 구성된다. 중간 합성 스피치 표현에 의해 소유된 의도된 운율을 표현하는 운율적 특징들은 지속 시간, 음높이 윤곽, 에너지 윤곽 및/또는 멜-주파수 스펙트로그램 윤곽을 포함할 수 있다. 이러한 구현예에서, 인코더 부분은 고정-길이 레퍼런스 프레임들의 시퀀스를 발화 임베딩으로 인코딩하도록 구성되며, 고정-길이 레퍼런스 프레임들의 시퀀스를 발화 임베딩으로 인코딩하는 것은, 중간 합성 스피치 표현의 각 음절에 대해: 음절의 각 음소와 연관된 음소-레벨 언어적 특징들을 음소 특징-기반 음절 임베딩으로 인코딩하고; 음절과 연관된 고정-길이 레퍼런스 프레임들을 프레임-기반 음절 임베딩으로 인코딩하고, 프레임-기반 음절 임베딩은 대응하는 음절과 관련된 지속 시간, 음높이 및/또는 에너지를 나타내고; 그리고 음절에 대한 대응하는 운율적 음절 임베딩으로, 음절과 연관된 음절-레벨 언어적 특징들, 중간 합성 스피치 표현과 연관된 문장-레벨 언어적 특징들, 및 대응하는 음절을 포함하는 단어와 연관된 단어-레벨 언어적 특징들을 갖는 음소 특징-기반 및 프레임-기반 음절 임베딩을 인코딩함으로써 수행될 수 있다.
단어-레벨 언어적 특징들은 입력 텍스트 발화로부터 양방향 인코더 표현 변환기(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함할 수 있다. 일부 예에서, 디코더 부분은 입력 텍스트 발화를 사용하여, 입력 텍스트 발화의 운율적 표현을 제공하는 고정-길이 예측 프레임들의 시퀀스로 대응하는 발화 임베딩을 디코딩함으로써 출력 오디오 신호를 생성하기 위해 입력 텍스트 발화 및 발화 임베딩을 처리하도록 구성된다. 여기서 운율적 표현은 발화 임베딩에 의해 특정되는 의도된 운율을 표현한다. 제2 TTS 모델은 디코더 부분에 의해 디코딩된 고정-길이 예측 프레임들의 수가 중간 합성 스피치 표현으로부터 샘플링된 고정-길이 레퍼런스 프레임들의 수와 동일하도록 트레이닝될 수 있다.
일부 예에서, 발화 임베딩은 고정-길이 수치 벡터를 포함한다. 중간 합성 스피치 표현은 중간 합성 스피치 표현을 제2 TTS 모델에 제공하는 것이 오디오 파형 또는 멜-주파수 스펙트로그램들의 시퀀스를 인코더 부분에 제공하는 것을 포함할 수 있도록 의도된 운율을 캡처하는 오디오 파형 또는 멜-주파수 스펙트로그램들의 시퀀스를 포함할 수 있다. 여기서, 인코더 부분은 발화 임베딩으로 오디오 파형 또는 멜-주파수 스펙트로그램들의 시퀀스를 인코딩하도록 구성된다.
일부 구현예에서는, 동작들은 또한 타겟 보이스의 화자 특성들을 표현하는 화자 임베딩을 획득하는 동작과 입력 텍스트 발화, 발화 임베딩 및 표현력 있는 스피치의 출력 오디오 신호를 생성하기 위해 제2 TTS 모델의 디코더 부분에 화자 임베딩을 제공하는 동작을 포함한다. 제1 TTS 모델을 사용하여 생성된 중간 합성 스피치 표현은 타겟 보이스의 화자 특성들이 결여되고 바람직하지 않는 음향 아티팩트들을 포함하는 중간 보이스를 포함할 수 있다.
동작들은 또한 복수의 트레이닝 오디오 신호들 및 대응하는 트랜스크립트들을 포함하는 트레이닝 데이터를 수신하는 동작을 포함하고, 각각의 트레이닝 오디오 신호는 의도된 운율과 연관된 운율 도메인/버티컬에서 대응하는 화자에 의해 발화되는 의도된 운율을 갖는 인간 스피치의 발화를 포함한다. 각 트랜스크립트에는 대응하는 트레이닝 오디오 신호의 텍스트 표현이 포함된다. 트레이닝 데이터의 각 대응하는 트랜스크립트에 대해: 동작들은 또한 제1 TTS 모델이 인간 스피치의 대응하는 발화의 의도된 운율을 캡처하는 트레이닝 합성 스피치 표현을 포함하는 대응하는 레퍼런스 오디오 신호를 생성하도록 트레이닝하는 동작; 대응하는 트레이닝 합성 스피치 표현을 트레이닝 합성 스피치 표현에 의해 캡처된 의도된 운율을 나타내는 대응하는 발화 임베딩으로 인코딩함으로써 제2 TTS 모델의 인코더 부분을 트레이닝하는 동작; 트레이닝 데이터의 대응하는 트랜스크립트를 사용하여, 인코더 부분에 의해 인코딩된 대응하는 발화 임베딩을 의도된 운율을 갖는 표현력 있는 스피치의 예측된 출력 오디오 신호로 디코딩함으로써 제2 TTS 모델의 디코더 부분을 트레이닝하는 동작; 상기 예측된 출력 오디오 신호와 대응하는 레퍼런스 오디오 신호 사이의 기울기/손실을 생성하는 동작; 및 제2 TTS 모델을 통해 상기 기울기/손실을 역-전파하는 동작을 포함한다.
제1 TTS 모델과 제2 TTS 모델은 개별적으로 또는 공동으로 트레이닝될 수 있다. 일부 예에서, 제1 TTS 모델은 제1 신경 네트워크 아키텍처를 포함하고 제2 TTS 모델은 제1 신경 네트워크 아키텍처와 상이한 제2 신경 네트워크 아키텍처를 포함한다. 다른 예에서, 제1 TTS 모델과 제2 TTS 모델은 동일한 신경 네트워크 아키텍처를 포함한다.
본 발명의 하나 이상의 구현예에 대한 세부 사항은 첨부된 도면과 아래 설명에 설명되어 있다. 다른 양태들, 특징들 및 이점들은 설명, 도면들 및 청구범위로부터 명백할 것이다.
도 1은 타겟 보이스에서 의도된 운율을 갖는 표현력 있는 스피치를 생산하기 위해 2-단계 운율 전송 시스템을 트레이닝하기 위한 예시적인 시스템의 개략도이다.
도 2a는 변이 오토인코더(variational autoencoder)-기반 텍스트 스피치 변환 모델을 통합한 도 1의 운율 전송 시스템의 개략도이다.
도 2b는 시퀀스-투-시퀀스 예측 네트워크-기반 텍스트 스피치 변환 모델을 통합한 도 1의 운율 전송 시스템의 개략도이다.
도 3은 도 2a의 변이 오토인코더-기반 텍스트 스피치 변환 모델의 인코더 부분의 개략도이다.
도 4a는 도 2a의 변이 오토인코더-기반 텍스트 스피치 변환 모델의 디코더 부분의 개략도이다.
도 4b는 도 2b의 시퀀스-투-시퀀스 예측 네트워크-기반 텍스트 스피치 변환 모델의 디코더 부분의 개략도이다.
도 5는 의도된 운율을 갖는 텍스트 발화에 대한 표현력 있는 스피치의 출력 오디오 신호를 생성하는 방법에 대한 예시적인 동작들의 배열 흐름도이다.
도 6은 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
도 2a는 변이 오토인코더(variational autoencoder)-기반 텍스트 스피치 변환 모델을 통합한 도 1의 운율 전송 시스템의 개략도이다.
도 2b는 시퀀스-투-시퀀스 예측 네트워크-기반 텍스트 스피치 변환 모델을 통합한 도 1의 운율 전송 시스템의 개략도이다.
도 3은 도 2a의 변이 오토인코더-기반 텍스트 스피치 변환 모델의 인코더 부분의 개략도이다.
도 4a는 도 2a의 변이 오토인코더-기반 텍스트 스피치 변환 모델의 디코더 부분의 개략도이다.
도 4b는 도 2b의 시퀀스-투-시퀀스 예측 네트워크-기반 텍스트 스피치 변환 모델의 디코더 부분의 개략도이다.
도 5는 의도된 운율을 갖는 텍스트 발화에 대한 표현력 있는 스피치의 출력 오디오 신호를 생성하는 방법에 대한 예시적인 동작들의 배열 흐름도이다.
도 6은 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
스피치 합성 시스템에서 자주 사용되는, 텍스트 스피치 변환(TTS) 모델은, 일반적으로 런타임 시 레퍼런스 음향 표현 없이 텍스트 입력만 제공되며, 사실적으로 들리는 합성 스피치를 생산하기 위해 텍스트 입력에서 제공되지 않는 많은 언어적 요인들을 가해야 한다. 이러한 언어적 요인들의 서브셋을 총칭하여 운율이라고 하며, 억양(음높이 변화), 강세(강세가 있는 음절 vs. 강세가 없는 음절), 사운드들의 지속 시간, 크기, 톤, 리듬, 및 스피치의 스타일을 포함할 수 있다. 운율은 스피치의 감정 상태, 스피치의 형식(예: 문장, 질문, 명령 등), 스피치의 아이러니 또는 풍자의 존재, 스피치 지식의 불확실성 또는 입력 텍스트의 문법 또는 어휘 선택으로 인코딩할 수 없는 기타 언어적 요소들을 나타낼 수 있다. 따라서 높은 수준의 운율의 변이와 연관된 주어진 텍스트 입력은 상이한 시맨틱(semantic) 의미들을 전달하기 위한 음높이와 스피킹 지속 시간의 국부적 변화들, 또한 상이한 분위기와 감정을 전달하기 위한 전체 음높이 궤적의 전체적인 변화들과 함께 합성된 스피치를 생산할 수 있다.
뉴스 낭독(예: 뉴스 캐스터), 스포츠 해설자, 교육 강사와 같은, 이에 제한되지는 않는, 특정 도메인들/버티컬들은 각각 보이스 특성들(예: 남성/여성, 언어, 악센트 등)은 다르지만 특정 도메인/버티컬과 연관된 동일한 운율 스타일을 갖는 다양한 화자들/보이스들이 말하는 발화들을 포함한다. 예를 들어, 스포츠 해설자가 말하는 발화의 운율적 표현은 많은 감정을 전달할 수 있는 반면, 뉴스 캐스터가 말하는 발화의 운율적 표현은 더 느린 말하기 속도와 더 명확한 단어 발음을 전달할 수 있다. 스피치의 신경 네트워크 모델링의 최근 발전으로 합성 스피치의 자연스러움이 크게 개선되었고 텍스트 입력들에 의해 제공되지 않는 운율에 대응하는 언어적 요인들을 예측함으로써 스피치를 견고하게 합성할 수 있는 가능성을 제공했지만, 악센트와 같은 화자 특성들에서 운율을 분리하는 것은 사소한 과정이 아니기 때문에 운율만을 모델링하는 작업은 매우 어렵다. 또한, 신경 네트워크 기반-운율 모델들은 특정 운율과 연관된 특정 도메인/버티컬에 속하는 다양한 보이스들의 큰 코퍼스(corpus)에서 트레이닝 발화를 사용하여 특정 운율을 모델링하는 작업을 수행하며, 본질적으로 동일한 화자가 말하는 충분한 수의 트레이닝 발화들이 부족한 큰 코퍼스로 인해 바람직하지 않은/원하지 않는 음향 아티팩트들을 포함하는 불완전한 보이스로 합성된 스피치를 생성한다.
스피치 합성 시스템들은 특정 타겟 보이스로 합성된 스피치를 생산할 수 있는 TTS 모델을 쓸 수 있다. 예를 들어, 전자-낭독기(e-reader) 애플리케이션이 입력 텍스트에서 Bob Dylan의 보이스로 합성되는 스피치를 생산하는 것이 바람직할 수 있고, 또는 또 다른 예로서, 문자 메시지 애플리케이션은 수신된 문자 메시지를 보낸 사람의 보이스로 합성된 스피치 표현을 생산할 수 있다. 그러나 특정 타겟 보이스로 합성된 스피치를 생산하고 의도한 운율을 갖도록 TTS 모델을 트레이닝하는 것은 특히 타겟 보이스의 화자가 말하고 의도한 운율을 갖는 충분한 트레이닝 발화들을 이용할 수 없는 경우 사소한 작업이 아니다. 예를 들어, San Francisco 49ers와 Kansas City Chiefs 간의 Super Bowl LIV 실황 녹취록에서 사망한 뉴스 캐스터 Peter Jennings의 보이스로 합성된 스피치를 생산하는 시나리오에서, Peter Jennings의 보이스로 생성된 합성된 스피치가 스포츠 해설자 버티컬에서의 운율 또한 갖는 것이 바람직할 것이다. Peter Jennings가 말한 다수의 발화들은 Peter Jennings가 1983년부터 2005년까지 앵커로 있었던 ABC World News Tonight의 녹음에서 샘플링할 수 있지만, 이러한 샘플링된 발화들은 완전히 다른 버티컬, 예를 들어 뉴스 캐스터 버티컬에서 샘플링되기 때문에 스포츠 해설자 버티컬에서의 운율을 모델링하기 위한 트레이닝 예제들로서 가치가 거의 없다. 더 문제가 되는 것은 Peter Jennings가 2005년 8월 7일 이후로 사망했기 때문에 Peter Jennings는 스포츠 해설자 버티컬에서의 운율 스타일로 말하는 것을 포함하는 가치 있는 트레이닝 발화들을 제공할 수 없다.
본 명세서에서의 구현예는 상이한 화자들에 의해 다양한 보이스들로 발화되는 트레이닝 발화 코퍼스에 의해 소유된 특정 운율을 학습하고, 합성된 표현적 스피치가 학습된 특정 운율을 타겟 보이스에서 재생산하도록 입력 텍스트로부터 합성된 표현적 스피치를 생성하는 것에 관한 것이다. 여기서, 타겟 보이스의 특정 운율을 소유한 발화들은 트레이닝에 필요하지 않다. 보다 구체적으로, 구현예에서 제1 텍스트 스피치 변환(TTS) 모델은 트레이닝 발화 코퍼스가 소유한 의도된 운율을 학습하는 작업만 담당하고, 제2 TTS 모델은 제1 TTS 모델에 의해 학습된 의도된 운율을 타겟 보이스의 합성된 스피치 표현들에 전송하는 작업을 담당하는 2-레벨 스피치 운율 전송 시스템을 지향한다.
아래에서 더 자세히 설명하겠지만, 제1 TTS 모델은 의도된 운율 및 화자 특성들을 구분하려고 시도하지 않고 의도된 운율을 캡처하는 중간 스피치 표현을 생산하도록 트레이닝된다. 이와 같이, 제1 TTS 모델에 의해 생산된 결과적인 중간 합성 스피치 표현은 트레이닝 발화들에서 전달된 의도된 운율(표현력)을 캡처하지만 품질이 저하되고(예: 노이즈 아티팩트) 화자 특성들(예: 악센트)이 부족한 불완전한 보이스를 가질 수 있다. 이와 같이, 중간 합성 스피치 표현은 메시지(요해도)를 정확하게 전달하기 위한 것이 아니며 인간의 스피치(자연스러움)처럼 들리도록 의도된 것도 아니기 때문에 인간 청취자에게 적합하지 않다. 중간 합성 스피치 표현이 불완전한 보이스를 가지고 있어 타겟 보이스를 표현하는 화자 특성들을 전달하지 못하지만, 제2 TTS 모델은 중간 스피치 표현에 의해 캡처된 의도된 운율을 재생산하고 타겟 보이스에서 생산된 의도를 갖는 표현력 있는 스피치를 생성하도록 트레이닝된다. 즉, 제2 TTS 모델은 의도된 운율과 타겟 보이스와 연관된 화자 특성들을 갖는 표현력 있는 스피치를 생성한다. 여기서, 타겟 보이스는 의도된 운율을 소유한 트레이닝 발화들 중 어느 것도 말한 적이 없는 액터(actor)와 연관될 수 있다.
제2 TTS 모델은 인코더 부분과 디코더 부분을 포함하는 운율 전송 모델에 대응할 수 있다. 여기서, 운율 전송 모델은 변이 오토인코더(VAE) 아키텍처 또는 시퀀스-투-시퀀스 특징 예측 네트워크 아키텍처에 대응할 수 있다. 인코더 부분은 제1 TTS 모델에 의해 생산된 중간 합성 스피치 표현을 중간 합성 스피치 표현에 의해 캡처된 의도된 운율을 특정하는 발화 임베딩으로 인코딩하도록 구성되고, 디코더 부분은 각 음절에 대한 음소들의 지속 시간 및 음높이 및 에너지 윤곽과 같은 운율적 특징들을 예측하기 위해 발화 임베딩을 디코딩하도록 구성된다. 일부 예에서, 디코더 부분은 운율적 특징들에 더하여 또는 그 대신에 멜-스펙트럼 스펙트로그램들을 예측하기 위해 발화 임베딩을 디코딩하도록 구성된다. 멜-스펙트럼 스펙트로그램들은 본질적으로 의도된 운율을 전달할 수 있다.
제1 TTS 시스템은 인간 스피치의 트레이닝 발화들 및 대응하는 트랜스크립트들을 트레이닝하여 인간 스피치의 대응하는 트레이닝 발화의 운율을 캡처하는 트랜스크립트들로부터 트레이닝 합성 스피치 표현들을 생산할 수 있다. 트레이닝 발화들은 각각의 트레이닝 발화가 특정 운율 버티컬과 연관된 의도된 운율을 갖도록 특정 운율 버티컬로부터 모두 샘플링될 수 있다. 제2 TTS 모델의 인코더 부분은 트레이닝 합성 스피치 표현들을 나타내는 운율적 특징들 및 언어적 특징들에 따라 조정되는 제1 TTS 모델에 의해 생산된 수많은 트레이닝 합성 스피치 표현들을 인코딩함으로써 캡처된 운율을 표현하는 발화 임베딩들을 트레이닝할 수 있다. 운율적 특징들은 음높이(F0), 음소 지속 시간 및 에너지(C0) 측면에서 레퍼런스 오디오 신호들에 대한 음향 정보를 표현할 수 있다. 예를 들어, 운율적 특징들은 레퍼런스 오디오 신호들로부터 샘플링된 음소 지속 시간 및 음높이 및 에너지의 고정-길이 프레임들을 포함할 수 있다. 언어적 특징들은, 제한 없이: 음절 내 음소의 포지션, 음소 아이덴티티 및 음절 내 음소의 수에 대한 정보를 포함하는 음소-레벨 언어적 특징들; 음절 식별 여부 및 음절이 강세가 있는지 여부와 같은 정보를 포함하는 음절-레벨 언어적 특징들; 각 단어에 대한 시맨틱 정보를 인코딩하는 단어-레벨 언어적 특징들, 및 화자, 화자의 성별 및/또는 발화가 질문인지 구(phrase)인지에 대한 정보를 포함하는 문장-레벨 언어적 특징들을 포함할 수 있다. 상기 언어적 특징들은 각 트레이닝 발화에 대한 대응하는 트랜스크립트에서 추출될 수 있다. 일부 예에서, 제2 TTS 모델은 단어 조각 임베딩을 출력하도록 구성된 양방향 인코더 표현 변환기(BERT) 모델을 통합한다. 이러한 예에서, 단어 조각 임베딩은 각 단어에 대한 시맨틱 정보를 명시적으로 인코딩하는 단어-레벨 언어적 특징들을 대체할 수 있다.
인코더 부분에 의해 인코딩된 각각의 발화 임베딩은 고정-길이 수치 벡터로 표현될 수 있다. 일부 구현예에서, 고정-길이 수치 벡터는 256과 동일한 값을 포함한다. 그러나 다른 구현예에서는 256보다 크거나 작은 값을 갖는 고정-길이 수치 벡터를 사용할 수 있다. 주어진 입력 텍스트 발화에 대해, 디코더 부분은 표현력 있는 스피치의 출력 오디오 신호를 생성하기 위해 입력 텍스트 발화 및 고정-길이 발화 임베딩을 처리할 수 있다. 여기서, 출력 오디오 신호는 발화 임베딩에 의해 특정된 의도된 운율을 갖는다. 출력 오디오 신호는 음높이, 에너지 및/또는 음소 지속 시간의 예측된 고정-길이 프레임들(예: 5밀리세컨드)의 시퀀스를 포함할 수 있거나, 또는 출력 오디오 신호는 의도된 운율을 전달하는 멜-주파수 스펙트로그램 프레임들을 포함할 수 있다. 또한, 디코더 부분은 타겟 보이스의 화자 특성들을 제공하는 화자 임베딩을 수신할 수 있다. 이와 같이 의도된 운율을 갖는 출력 오디오 신호는 타겟 보이스의 화자 특성들도 포함할 수 있다. 합성기는 제2 TTS 모델에 의해 생산된 출력 오디오 신호를 입력으로 수신하고, 의도된 운율을 갖고 타겟 보이스로 발화되는 입력 텍스트 발화의 합성된 스피치 표현을 출력으로 생성할 수 있다.
도 1은 특정 운율 버티컬(20)과 연관된 의도된 운율을 표현하는 운율적 표현(302)을 갖고 타겟 보이스에서 텍스트 발화(320)를 표현력 있는 스피치(152)으로 합성하기 위해 2-단계 운율 전송 시스템(200)을 트레이닝하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 데이터 프로세싱 하드웨어(122) 및 데이터 프로세싱 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 갖고 데이터 프로세싱 하드웨어(122)가 동작들을 수행하도록 데이터 프로세싱 하드웨어(122)에 의해 실행 가능한 명령어들을 저장하는 컴퓨팅 시스템(상호교환적으로 ‘컴퓨팅 디바이스'로 지칭됨)(120)을 포함한다. 일부 구현예에서, 컴퓨팅 시스템(120)(예: 데이터 프로세싱 하드웨어(122))은 출력 오디오 신호(280)가 특정 운율 버티컬(20)로부터의 의도된 운율 및 타겟 보이스의 화자 특성들을 갖도록 입력 텍스트 발화(320)로부터 표현력 있는 스피치의 출력 오디오 신호(280)를 생성하도록 트레이닝된 2-레벨 운율 전송 시스템(200)을 제공한다. 출력 오디오 신호(280)는 의도된 운율을 표현하는 운율적 표현(302)을 전달하여 스피치 합성기(150)로 하여금 타겟 보이스에서 의도된 운율을 갖는 합성된 스피치(152)의 오디오 파형을 생성하게 한다.
운율 전송 시스템(200)은 제1 TTS 모델(212)을 갖는 제1 텍스트 스피치 변환(TTS) 시스템(210) 및 제2 TTS 모델(222)을 갖는 제2 TTS 시스템(220)을 포함한다. 제1 및 제2 TTS 시스템(210, 220)은 각각 스피치 합성기(150)를 포함할 수 있다. 제1 및 제2 TTS 모델(212, 222)은 각각 동일하거나 상이할 수 있는 각각의 신경 네트워크 아키텍처를 포함할 수 있다. 제1 TTS 시스템(210)은 입력 텍스트 발화(320)의 중간 합성 스피치 표현(202)을 생성하기 위해 제1 TTS 모델(212)을 사용하도록 구성된다. 예를 들어, 제1 TTS 모델(212)은 특정 운율 버티컬(20)로부터 의도된 운율을 캡처/소유하는 일련의 멜-주파수 스펙트로그램과 같은 중간 출력 신호(201)를 생성할 수 있다. 스피치 합성기(150)는 중간 출력 신호(201)로부터 중간 합성 스피치 표현(202)을 생성하고 중간 합성 스피치 표현(202)을 제2 TTS 모델(222)에 제공할 수 있다. 제2 TTS 시스템(220)은 중간 합성 스피치 표현(202)에 의해 캡처된 의도된 운율을 표현력 있는 스피치의 출력 오디오 신호(280)로 전송 또는 재생산하여 입력 텍스트 발화(320)를 타겟 보이스에 의도된 운율을 갖는 발화된 표현으로 전달하기 위해 제2 TTS 모델(222)을 사용하도록 구성된다. 제2 TTS 모델(222)은 타겟 보이스의 화자 특성들을 포함하는 화자 임베딩 Z를 수신할 수 있다. 일부 예에서, 제2 TTS 모델(222)은 의도된 운율을 표현력 있는 스피치의 출력 오디오 신호(280)로 전달하기 위해 중간 합성 스피치 표현(202)에 더하여 또는 그 대신에 제1 TTS 모델(222)에 의해 생산된 중간 출력 신호(201)(예: 멜-주파수 스펙트로그램들)를 수신한다. 입력 텍스트 발화(320)는 합성된 스피치(152)의 의도된 운율을 안내하기 위한 컨텍스트, 시맨틱 및 프래그매틱(pragmatics)을 전달할 방법이 없기 때문에, 운율 전송 시스템(200)은 텍스트 발화(320)로부터 추출된 언어적 특징들에 따라 제2 TTS 모델을 조정하고, 고정-길이 발화 임베딩(204)을 텍스트 발화(320)에 대한 의도된 운율을 표현하는 잠재 변수로서 사용함으로써 입력 텍스트 발화(320)에 대한 운율적 표현(302)을 예측할 수 있다. 아래에서 더 자세히 설명하겠지만, 제1 TTS 시스템(210)에 의해 생산된 중간 합성 스피치 표현(202)은 제2 TTS 모델(222)이 중간 합성 스피치 표현(202)을 발화 임베딩(204)으로 인코딩함으로써 텍스트 발화(320)에 대해 의도된 운율을 재생산할 수 있도록 특정 운율 버티컬(20)로부터 의도된 운율을 캡처/소유하는 것만을 담당한다. 컴퓨팅 시스템(120)은 분산 시스템(예: 클라우드 컴퓨팅 환경)을 포함할 수 있다. 합성기(150)는 보코더(vocoder)(155)를 포함할 수 있다.
일부 구현예에서, 시스템(100)은 대응하는 운율 버티컬(20, 20A-N)로부터 타겟 보이스의 표현력 있는 스피치(152)로 상이한 각각의 의도된 운율을 전송하도록 각각 구성된 다수의 운율 전송 시스템들(200, 200A-N)을 트레이닝한다. 예를 들어, 각각의 상이한 운율 버티컬(20)은 대응하는 운율 버티컬(20)와 연관된 동일한 운율 스타일을 소유하는 상이한 보이스 특성들(예: 남성/여성, 언어, 악센트 등)을 갖는 다양한 상이한 인간들에 의해 발화되는 발화를 포함할 수 있다. 예를 들어, 운율 버티컬(20A)은 뉴스 낭독(예: 뉴스 캐스터)와 연관된 인간 스피치의 발화들에 대응할 수 있고, 운율 버티컬(20B)은 스포츠 해설자와 연관된 인간 스피치의 발화들에 대응할 수 있으며, 운율 버티컬(20N)은 교육 강사와 연관된 인간 스피치의 발화들에 대응할 수 있다. 스포츠 해설자 버티컬(20B)은 다수의 다른 스포츠에 대해 논평하는 화자들로부터 샘플링된 발화들을 광범위하게 포함할 수 있지만, 각각의 특정 운율 버티컬(20)은 보다 좁은 발화들의 셋으로부터 샘플링된 의도된 운율을 전달할 수 있다. 예를 들어, 다수의 상이한 스포츠 해설자 운율 버티컬(20)이 존재할 수 있으며, 각각은 특정 스포츠와 연관된 인간 스피치의 발화에 각각 대응한다. 운율 스타일은 럭비 스포츠에 대한 스포츠 해설자들의 발화와 비교하여 컬링 스포츠에 대한 스포츠 해설자들에 의해 발화되는 발화들 간에 다를 수 있기 때문에 유리할 수 있다.
도 1을 계속 참조하면, 각각의 운율 버티컬(20, 20A-N)에 대해, 컴퓨팅 디바이스(120)(예: 데이터 프로세싱 하드웨어(122))는 복수의 트레이닝 오디오 신호들(104) 및 대응하는 트랜스크립트들(106)을 포함하는 대응하는 트레이닝 데이터(10)를 수신한다. 각각의 트레이닝 오디오 신호(104)는 의도된 운율과 연관된 운율 버티컬(상호교환적으로 '운율 도메인'으로 지칭됨)에서 대응하는 화자에 의해 발화되는 의도된 운율을 갖는 인간 스피치의 발화를 포함한다. 각각의 트랜스크립트(106)는 대응하는 트레이닝 오디오 신호(104)의 텍스트 표현을 포함한다. 트레이닝 데이터(10)의 각각의 대응하는 트랜스크립트(106)에 대해, 컴퓨팅 디바이스(120)는 제1 TTS 모델(212)을 트레이닝하여 인간 스피치의 대응하는 발화(104)의 의도된 운율을 캡처하는 트레이닝 합성 스피치를 포함하는 대응하는 레퍼런스 오디오 신호(202T)를 생성한다. 그 후, 컴퓨팅 디바이스(120)는 제2 TTS 시스템(220)의 제2 TTS 모델(222)을 트레이닝한다. 보다 구체적으로, 제2 TTS 모델(222)을 트레이닝하는 것은 트레이닝 데이터(10)의 각각의 대응하는 트랜스크립트(106)에 대해 제2 TTS 모델(222)의 인코더 부분(300) 및 디코더 부분(400) 모두를 트레이닝하는 것을 포함할 수 있다. 인코더 부분(300)을 트레이닝하는 것은 대응하는 트레이닝 합성 스피치 표현(202T)(예: 오디오 파형 또는 멜-주파수 스펙트로그램들)을 트레이닝 합성 스피치 표현(202T)에 의해 캡처된 의도된 운율을 표현하는 대응하는 발화 임베딩(204)으로 인코딩하는 것을 포함한다. 특히, 제1 TTS 시스템(220), 더 구체적으로 제1 TTS 모델(222)의 파라미터들은 인간 스피치의 실측(ground-truth) 발화(104)의 운율을 정확하게 캡처하는 합성 스피치 표현(202T)만을 생산하도록 최적화되고, 따라서 보이스 특성들이 부족하고 오디오 품질이 저하된(예: 음향 아티팩트 포함) 중간 보이스를 포함하는 것이 허용된다.
디코더 부분(400)을 트레이닝하는 것은 인코더 부분(300)에 의해 인코딩된 발화 임베딩(204)을 의도된 운율을 갖는 표현력 있는 스피치의 예측된 출력 오디오 신호(280)로 디코딩하기 위해 트레이닝 데이터(10)의 대응하는 트랜스크립트(106)를 사용하는 것을 포함한다. 즉, 예측된 출력 오디오 신호(280)는 인간 스피치의 대응하는 실측 발화(104)로부터 트레이닝 중간 합성 스피치 표현(202T)에 의해 캡처된 의도된 운율을 재생산하는 운율적 표현(302)과 연관된다. 디코더 부분(400)은 표현력 있는 스피치의 오디오 신호(280)가 의도된 운율 및 타겟 보이스의 화자 특성들을 갖도록 특정 타겟 보이스의 화자 특성들을 학습하도록 더 트레이닝될 수 있다. 일부 예에서, 제1 TTS 모델(212) 및 제2 TTS 모델(222)은 함께 트레이닝된다. 다른 예에서, 제1 TTS 모델(212) 및 제2 TTS 모델(222)은 개별적으로 트레이닝된다.
마지막으로, 각각의 트레이닝 오디오 신호(104) 및 대응하는 운율 버티컬(20)에 대한 트레이닝 데이터(10)의 대응하는 트랜스크립트(106)에 대해, 컴퓨팅 디바이스(120)(예: 데이터 프로세싱 하드웨어(122))는 예측된 출력 오디오 신호(280)와 대응하는 레퍼런스 오디오 신호 사이의 기울기/손실을 생성하고, 기울기/손실을 제2 TTS 모델(222)을 통해 역-전파한다. 따라서, 컴퓨팅 디바이스(120)는 다수의 상이한 운율 버티컬들(20, 20A-N) 각각에 대해 대응하는 운율 전송 시스템(200, 200A-N)을 트레이닝하여 각각의 운율 전송 시스템(200)이 텍스트 발화(320)를 타겟 보이스의 표현력 있는 스피치(152)으로 합성하고 대응하는 특정 운율 버티컬(20)과 연관된 의도된 운율을 표현하는 운율적 표현(302)을 갖도록 구성될 수 있다. 예를 들어, 위의 예를 적용하면, 트레이닝된 운율 전송 시스템(200A)은 뉴스 낭독기(reader) 운율 버티컬(20A)과 연관된 의도된 운율을 갖는 타겟 보이스의 표현력 있는 스피치(152)을 합성할 수 있고, 트레이닝된 운율 전송 시스템(200B)은 스포츠 해설자 운율 버티컬(20B)과 연관된 의도된 운율로 타겟 보이스의 표현력 있는 스피치를 합성할 수 있고, 트레이닝된 운율 전송 시스템(200N)은 교육 강사 운율 버티컬(20N)과 연관된 의도된 운율로 타겟 보이스에서 표현력 있는 스피치를 합성할 수 있다. 컴퓨팅 디바이스(120)는 추론(inference) 동안 나중에 사용하기 위해 각각의 트레이닝된 운율 전송 시스템(200)을 데이터 스토리지(180)(예: 메모리 하드웨어(124))에 저장할 수 있다.
추론 동안, 컴퓨팅 디바이스(120)는 트레이닝된 운율 전송 시스템(200)을 사용하여 특정 운율 버티컬(20)과 연관된 의도된 운율을 표현하는 운율적 표현(302)을 갖고 타겟 보이스의 표현력 있는 스피치(152)로 텍스트 발화(320)를 합성할 수 있다. 운율적 표현(302)은 각 음소의 음높이, 에너지 및 지속 시간의 예측된 운율적 특징들에 대응할 수 있다. 즉, 제1 레벨/단계 동안, 트레이닝된 운율 전송 시스템(200)은 제1 TTS 모델(212)을 사용하여 입력 텍스트 발화(320)에 대한 중간 합성 스피치 표현(202)을 생성하고, 이에 의해 중간 합성 스피치 표현(202)은 의도된 운율을 소유하고 감소된 오디오 품질을 가지며 화자 특성들이 부족하도록 허용된다. 제2 레벨/단계 동안, 트레이닝된 운율 전송 시스템(200)은 중간 합성 스피치 표현(202)을 제2 TTS 모델(222)에 제공한다. 여기서, 제2 TTS 모델(222)의 인코더 부분(300)은 중간 합성 스피치 표현(202)을 의도된 운율을 특정하는 발화 임베딩(204)으로 인코딩하도록 구성되는 반면, 제2 TTS 모델(222)의 디코더 부분(400)은 입력 텍스트 발화(320) 및 발화 임베딩(204)을 처리하여 표현력 있는 스피치의 출력 오디오 신호(280)를 생성하도록 구성된다. 출력 오디오 신호(280)는 발화 임베딩(204)에 의해 특정되는 의도된 운율 및 타겟 보이스의 화자 특성들을 갖는다. 디코더 부분(400)은 화자 특성들(예: 악센트, 남성/여성 및 악센트)을 전달하는 타겟 보이스와 연관된 화자 임베딩 Z를 수신할 수 있다. 도시된 예에서, 스피치 합성기(150)는 출력 오디오 신호(280)를 사용하여 텍스트 발화(320)로부터 합성된 스피치(152)을 생산하고 타겟 보이스에 의도된 운율을 갖는다.
도 2a는 제2 TTS 시스템(220)에서의 제2 TTS 모델(222a)이 변이 오토인코더(VAE)-기반 제2 TTS 모델(222a)에 대응하는 운율 전송 시스템(200, 200a)의 개략도를 제공한다. 보다 구체적으로, 제2 TTS 모델(222a)은 시계장치 계층적 변이 오토인코더(Clockwork Hierarchical Variational Autoencoder)(CHiVE)에 대한 계층적 언어 구조를 제공할 수 있다. 그러나, 제2 TTS 모델(222a)은 다른 타입의 VAEs를 포함할 수 있다. 도시된 예에서, 제1 TTS 시스템(210)은 타겟 보이스의 화자 특성들(예: 화자 임베딩 Z)을 포함할 수 있는 텍스트 발화(320) 및 선택적인 다른 입력들(325)을 입력으로서 수신한다. 다른 입력들(325)은 추가로 또는 대안적으로 언어 식별자, 텍스트 정규화(normalization), 또는 대응하는 운율 도메인의 운율 버티컬 식별자 중 하나 이상을 포함할 수 있다. 입력 텍스트 발화 및 선택적인 다른 입력들(325)을 사용하여, 제1 TTS 모델(212)은 입력 텍스트 발화(320)에 대한 의도된 운율을 본질적으로 소유하는 멜-주파수 스펙트로그램들의 시퀀스를 포함할 수 있는 중간 출력 오디오 신호(201)를 생성한다. 제1 TTS 시스템(210)은 (예: 스피치 합성기(150)를 사용하여) 중간 출력 오디오 신호(201)를 중간 합성 스피치 표현(202)으로 합성할 수 있다. 상술한 바와 같이, 중간 합성 스피치 표현(202)은 의도된 운율을 정확하게 캡처하도록 구성되며, 타겟 보이스를 인식하기 위한 감소된 오디오 품질 및 부족한 화자 특성들을 포함하도록 허용된다. 달리 말하면, 중간 합성 스피치 표현(202)은 사람이 듣기에 반드시 적합할 필요는 없으며, 오히려 제2 TTS 모델(222)이 타겟 보이스에서 표현력 있는 스피치를 재생산하고 통합하기 위해 사용되도록 의도된 운율을 전달하는 운율 정보의 캐리어 역할을 한다.
추출기(214)는 중간 합성 스피치 표현(202)으로부터, 중간 합성 스피치 표현(202)에 의해 소유된 의도된 운율을 표현하는 운율적 특징들을 제공하는 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 샘플링할 수 있다. VAE-기반 제2 TTS 모델(222a)의 인코더 부분(300, 300a)은 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 의도된 운율을 특정하는 발화 임베딩(204)으로 인코딩하도록 구성된다. 중간 합성 스피치 표현(202)이 소유한 의도된 운율을 표현하는 운율적 특징들은 지속 시간, 음높이 윤곽, 에너지 윤곽, 및/또는 멜-주파수 스펙트로그램 윤곽을 포함할 수 있다.
도 2a를 계속 참조하면, CHiVE-기반 제2 TTS 모델(222a)의 디코더 부분(400, 400a)은 입력 텍스트 발화(320)를 사용하여, 대응하는 발화 임베딩(204)을 입력 텍스트 발화(320)의 운율적 표현(302)을 제공하는 고정-길이 예측 프레임들(280)의 시퀀스로 디코딩함으로써 출력 오디오 신호(280)를 생성하기 위해 입력 텍스트 발화(320) 및 발화 임베딩(204)을 처리하도록 구성된다.
도 3 및 도 4a는 운율 전송의 제어 가능한 모델을 제공하기 위한 도 2a의 CHiVE-기반 제2 TTS 모델(222a)에 대한 계층적 언어 구조를 도시한다. 모델(222a)은 타겟 보이스에 의도된 운율을 갖는 합성 스피치(152)을 생산하기 위해 주어진 입력 텍스트(320)의 각 음절에 대해, 주어진 입력 텍스트 또는 다른 언어 사양으로부터의 임의의 고유한 매핑에 의존하지 않고 음절의 지속 시간과 음절의 음높이(F0) 및 에너지(C0) 윤곽을 함께 예측할 수 있다. 제2 TTS 모델(222a)은 중간 합성 스피치 표현(202)으로부터(또는 중간 출력으로부터) 샘플링된 복수의 고정-길이 레퍼런스 프레임들(211)을 고정-길이 발화 임베딩으로 인코딩하는 인코더 부분(300a)(도 2a 및 도 3) 및 고정-길이 발화 임베딩(204)을 디코딩하는 방법을 학습하는 디코더 부분(400a)(도 2a 및 도 4a)을 포함한다. 디코더 부분(400a)은 (예를 들어, 발화 임베딩(204)에 대한 음높이(F0), 에너지(C0) 또는 스펙트럼 특성들(M0)을 예측하기 위해) 복수의 고정-길이 예측 프레임들(280)을 포함할 수 있는 표현력 있는 스피치의 출력 오디오 신호(280)로 고정-길이 발화 임베딩(204)을 디코딩할 수 있다. 명백한 바와 같이, 제2 TTS 모델(222a)은 디코더 부분(400a)로부터 출력되는 예측 프레임들(280)의 수가 인코더 부분(300a)에 입력되는 레퍼런스 프레임들(211)의 수와 동일하도록 트레이닝된다. 더욱이, 제2 TTS 모델(222a)은 레퍼런스 및 예측 프레임들(211, 280)과 연관된 운율 정보가 서로 실질적으로 일치하도록 트레이닝된다.
도 2a 및 도 3을 참조하면, 인코더 부분(300a)은 제1 TTS 시스템(210)으로부터 출력되는 중간 합성 스피치 표현(202)으로부터 샘플링된 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 수신한다. 중간 합성 스피치 표현(202)은 입력 텍스트 발화(320)에 대한 의도된 운율을 캡처한다. 레퍼런스 프레임들(211)은 각각 5밀리세컨드(ms)의 지속 시간을 포함할 수 있고 중간 합성 스피치 표현(202)에 대한 음높이 윤곽(F0) 또는 에너지 윤곽(C0)(및/또는 스펙트럼 특성들의 윤곽(M0)) 중 하나를 나타낼 수 있다. 병렬로, 인코더 부분(300a)은 또한 중간 합성 스피치 표현(202)에 대한 음높이 윤곽(F0) 또는 에너지 윤곽(C0)(및/또는 스펙트럼 특성들의 윤곽(M0)) 중 다른 하나를 나타내는 5ms의 지속시간을 각각 포함하는 레퍼런스 프레임들(211)의 제2 시퀀스를 수신할 수 있다. 따라서, 중간 합성 스피치 표현(202)으로부터 샘플링된 시퀀스 레퍼런스 프레임들(211)은 중간 합성 스피치 표현(202)에 의해 캡처된 의도된 운율을 표현하기 위해 지속 시간, 음높이 윤곽, 에너지 윤곽, 및/또는 스펙트럼 특성 윤곽을 제공한다. 중간 합성 스피치 표현(202)의 길이 또는 지속 시간은 레퍼런스 프레임들(211)의 총 수의 합과 상관관계가 있다.
인코더 부분(300a)은 서로에 대해 클럭하는 중간 합성 스피치 표현(202)에 대한 레퍼런스 프레임들(211), 음소들(321, 321a), 음절들(330, 330a), 단어들(340, 340a) 및 문장들(350, 350a)의 계층적 레벨들을 포함한다. 예를 들어, 레퍼런스 프레임들(211)의 시퀀스와 연관된 레벨은 음소들(321)의 시퀀스와 연관된 다음 레벨보다 빠르게 클럭한다. 유사하게, 음절들(330)의 시퀀스와 연관된 레벨은 음소들(321)의 시퀀스와 연관된 레벨보다 느리고 단어들(340)의 시퀀스와 연관된 레벨보다 빠르게 클럭한다. 따라서 더 느린 클럭킹 레이어들은 더 빠른 클럭킹 레이어들로부터의 출력을 입력으로, 수신하므로 더 빠른 레이어의 최종 클럭(즉, 상태(state)) 이후의 출력이 대응하는 더 느린 레이어에 대한 입력으로 간주되어 본질적으로 시퀀스-투-시퀀스 인코더를 제공한다. 도시된 예에서, 계층적 레벨들은 장단기 메모리(Long Short-Term Memory)(LSTM) 레벨들을 포함한다.
도시된 예에서, 중간 합성 스피치 표현(202)은 3개의 단어들(340, 340A-C)을 갖는 하나의 문장(350, 350A)을 포함한다. 제1 단어(340, 340A)는 2개의 음절들(330, 330Aa-Ab)을 포함한다. 제2 단어(340, 340B)는 하나의 음절(330, 330Ba)을 포함한다. 제3단어(340, 340a)는 2개의 음절(330, 330Ca-Cb)을 포함한다. 제1 단어(340, 340A)의 제1 음절(330, 330Aa)은 2개의 음소들(321, 321Aa1~Aa2)을 포함한다. 제1 단어(340, 340A)의 제2 음절(330, 330Ab)은 하나의 음소(321, 321Ab1)를 포함한다. 제2 단어(340, 340B)의 제1 음절(330, 330Ba)은 3개의 음소들(321, 321Ba1~Ba3)을 포함한다. 제3 단어(340, 340C)의 제1 음절(330, 330Ca)은 하나의 음소(321, 321Ca1)를 포함한다. 제3 단어(340, 340C)의 제2 음절(330, 330Cb)은 2 개의 음소들(321, 321Cb1~Cb2)을 포함한다.
일부 구현예에서, 인코더 부분(300a)은 먼저 레퍼런스 프레임들(211)의 시퀀스를 프레임-기반 음절 임베딩들(332, 332Aa~Cb)로 인코딩한다. 각 프레임-기반 음절 임베딩(332)은 대응하는 음절(330)과 연관된 지속 시간, 음높이(F0) 및/또는 에너지(C0)를 나타내는 수치 벡터로서 표현되는 레퍼런스 운율적 특징들을 나타낼 수 있다. 일부 구현예에서, 레퍼런스 프레임들(211)은 음소들(321Aa1-321Cb2)의 시퀀스를 정의한다. 여기서, 레퍼런스 프레임들(211)의 서브셋을 하나 이상의 음소들(321)로 인코딩하는 대신, 인코더 부분(300a)은 대신에 음소 레벨 언어적 특징들(322, 322Aa1-Cb2)을 음소 특징-기반 음절 임베딩들(334, 334Aa- Cb)로 인코딩함으로써 음소들(321)을 설명한다. 각 음소-레벨 언어적 특징(322)은 음소의 포지션을 나타낼 수 있고, 각 음소 특징-기반 음절 임베딩(334)은 대응하는 음절(330) 내 각 음소의 포지션 및 대응하는 음절(330) 내 음소들(321)의 개수를 나타내는 벡터를 포함한다. 각각의 음절(330)에 대해, 각각의 음절 임베딩들(332, 334)은 대응하는 음절(330)에 대한 각각의 음절-레벨 언어적 특징들(336, 336Aa-Cb)과 연결 및 인코딩될 수 있다. 더욱이, 각각의 음절 임베딩(332, 334)은 음절(330)의 레벨에 대한 대응하는 상태를 나타낸다.
도 3을 계속 참조하면, 대각선 해칭(diagonal hatching) 패턴을 포함하는 계층적 레이어들의 블록들은 계층의 특정 레벨에 대한 언어적 특징들(단어 레벨(340) 제외)에 대응한다. 단어-레벨(340)의 해칭 패턴은 입력 텍스트 발화(320)로부터 언어적 특징들로 추출된 단어 임베딩들(342) 또는 트랜스크립트(206)로부터 획득된 단어 유닛들(272)을 기반으로 BERT 모델(270)로부터 출력된 WP 임베딩들(342)을 포함한다. 인코더(300a)의 순환 신경 네트워크(Recurrent Neural Network)(RNN) 부분은 단어 조각에 대한 개념이 없기 때문에, 각 단어의 제1 단어 조각에 대응하는 WP 임베딩(342)이 하나 이상의 음절(330)을 포함할 수 있는 단어를 표현하도록 선택될 수 있다. 프레임-기반 음절 임베딩들(332) 및 음소 특징-기반 음절 임베딩들(334)로, 인코더 부분(300a)은 이들 음절 임베딩들(332, 334)을 다른 언어적 특징들(336, 352, 342)(또는 WP 임베딩들(342))과 연결하고 인코딩한다. 예를 들어, 인코더 부분(300a)은 연결된 음절 임베딩들(332, 334)을 음절-레벨 언어적 특징들(336, 336Aa-Cb), 단어-레벨 언어적 특징들(또는 BERT 모델(270)으로부터 출력된 WP 임베딩들(342, 342A-C)), 및/또는 문장-레벨 언어적 특징들(352, 352A)로 인코딩한다. 음절 임베딩들(332, 334)을 언어적 특징들(336, 352, 342)(또는 WP 임베딩(342)들)로 인코딩함으로써, 인코더 부분(300a)은 중간 합성 스피치 표현(202)에 대한 발화 임베딩(204)을 생성한다. 발화 임베딩(204)은 중간 합성 스피치 표현(202)의 입력 텍스트 발화(320)(예: 텍스트 표현)와 함께 데이터 스토리지(180)(도 1)에 저장될 수 있다. 입력 텍스트 발화(320)로부터, 언어적 특징들(322, 336, 342, 352)은 계층적 언어 구조의 트레이닝을 조정하는데 사용하기 위해 추출 및 저장될 수 있다. 언어적 특징들(예: 언어적 특징들(322, 336, 342, 352))은 각 음소에 대한 개별 사운드들 및/또는 음절에서 각 음소의 포지션, 각 음절에 강세가 있는지 여부, 각 단어에 대한 구문(syntactic) 정보, 및 발화가 질문인지 구인지 여부 및/또는 발화의 화자의 성별을 포함할 수 있으나, 이에 제한되지 않는다. 본 명세서에서 사용되는 바와 같이, VAE-기반 제2 TTS 모델(222a)의 인코더 및 디코더 부분들(300a, 400a)에 대한 단어-레벨 언어적 특징들(342)의 임의의 레퍼런스는 BERT 모델(270)로부터의 WP 임베딩들로 대체될 수 있다.
도 3의 예에서, 인코딩 블록들(322, 322Aa-Cb)은 언어적 특징들(336, 342, 352)과 음절 임베딩들(332, 334) 사이의 인코딩을 묘사하기 위해 도시된다. 여기서, 블록들(322)은 발화 임베딩(204)을 생성하기 위해 음절 비율로 시퀀스 인코딩된다. 예시로서, 제1 블록(322Aa)은 제2 블록(322Ab)에 입력으로서 공급된다. 제2 블록(322Ab)은 제3 블록(322Ba)에 입력으로 공급된다. 제3 블록(322Ca)은 제4 블록(322Ca)의 입력으로 공급된다. 제4 블록(322Ca)은 제5 블록(322Cb)으로 공급된다. 일부 구성에서, 발화 임베딩(204)은 중간 합성 스피치 표현(202)에 대한 평균 μ 및 표준 편차 σ를 포함하고, 여기서 평균 μ 및 표준 편차 σ는 다수의 중간 합성 스피치 표현들(202)의 트레이닝 데이터에 관한 것이다.
일부 구현예에서, 각각의 음절(330)은, 입력으로서, 레퍼런스 프레임들(211)의 서브셋의 대응하는 인코딩을 수신하고 인코딩된 서브셋에서 레퍼런스 프레임들(211)의 수와 동일한 지속 시간을 포함한다. 도시된 예에서, 처음 7개의 고정-길이 레퍼런스 프레임들(211)은 음절(330Aa)로 인코딩되고; 다음 4개의 고정-길이 레퍼런스 프레임들(211)은 음절(330Ab)로 인코딩되고; 다음 11개의 고정-길이 레퍼런스 프레임들(211)은 음절(330Ba)로 인코딩되고; 다음 3개의 고정-길이 레퍼런스 프레임들(211)은 음절(330Ca)로 인코딩되고; 마지막 6개의 고정-길이 레퍼런스 프레임들(211)은 음절(330Cb)로 인코딩된다. 따라서, 음절들(330)의 시퀀스에서 각 음절(330)은 음절(330)로 인코딩된 레퍼런스 프레임들(211)의 수 및 대응하는 음높이 및/또는 에너지 윤곽에 기초하여 대응하는 지속 시간을 포함할 수 있다. 예를 들어, 음절(330Aa)은 35ms(즉, 각각 5밀리세컨드의 고정-길이를 갖는 7개의 레퍼런스 프레임들(211))과 동일한 지속 시간을 포함하고 음절(330Ab)은 20ms(즉, 각각 5밀리세컨드의 고정-길이를 갖는 4개의 레퍼런스 프레임들(211))과 동일한 지속 시간을 포함한다. 따라서, 레퍼런스 프레임들(211)의 레벨은 음절(330)의 레벨에서 음절(330Aa)과 다음 음절(330Ab) 사이의 단일 클럭킹에 대해 총 10회 클럭한다. 음절들(330)의 지속 시간은 음절들(330)의 타이밍과 인접 음절들(330) 사이의 멈춤(pauses)을 나타낼 수 있다.
일부 예에서, 인코더 부분(300a)에 의해 생성된 발화 임베딩(204)은 중간 합성 스피치 표현(202)의 운율을 표현하는 수치 벡터를 포함하는 고정-길이 발화 임베딩(204)이다. 일부 예에서, 고정-길이 발화 임베딩(204)은 "128" 또는 "256"과 같은 값을 갖는 수치 벡터를 포함한다.
이제 도 2a 및 도 4a를 참조하면, VAE-기반 제2 TTS 모델(222a)의 디코더 부분(400a)은 입력 텍스트 발화(320)에 대한 의도된 운율을 특정하는 고정-길이 발화 임베딩(204)을 초기에 디코딩함으로써 복수의 고정-길이 음절 임베딩들(335)을 생산하도록 구성된다. 보다 구체적으로, 발화 임베딩(204)은 입력 텍스트 발화(320)에 대해 제1 TTS 시스템(210)으로부터 출력되는 중간 합성 스피치 표현(202)이 소유하는 의도된 운율을 표현한다. 따라서, 디코더 부분(400a)은 발화 임베딩(204)을 역-전파하여 복수의 고정-길이 레퍼런스 프레임들(211)과 거의 일치하는 복수의 고정-길이 예측 프레임들(280)을 생성하도록 구성된다. 예를 들어, 음높이(F0) 및 에너지(C0) 모두에 대한 고정-길이 예측 프레임들(280)은 트레이닝 데이터가 소유한 의도된 운율과 실질적으로 일치하는 의도된 운율(예: 예측 운율)을 나타내기 위해 병렬로 생성될 수 있다. 일부 예에서, 스피치 합성기(150)는 고정-길이 예측 프레임들(280)을 사용하여 고정-길이 발화 임베딩(204)에 기초하여 의도된 운율 및 타겟 보이스로 합성된 스피치(152)을 생산한다. 예를 들어, 스피치 합성기(150)의 유닛 선택 모듈 또는 WaveNet 모듈은 프레임들(280)을 사용하여 의도된 운율을 갖는 합성된 스피치(152)을 생산할 수 있다.
도시된 예에서, 디코더 부분(400a)은 인코더 부분(300a)(도 2a 및 도 3)으로부터 수신된 발화 임베딩(204)(예: "256"의 수치)을 단어들(340, 340b), 음절들(330, 330b), 음소들(321, 321b) 및 고정-길이 예측 프레임들(280)의 계층적 레벨들로 디코딩한다. 구체적으로, 고정-길이 발화 임베딩(204)은 디코더 부분(400a)에 대한 계층적 입력 데이터의 가변 레이어에 대응하고 각각의 적층된 계층적 레벨은 계층적 입력 데이터의 길이에 가변적으로 클럭되는 장단기 메모리(LSTM) 프로세싱 셀들을 포함한다. 예를 들어, 음절 레벨(330)은 단어 레벨(340)보다 빠르고 음소 레벨(321)보다 느리다. 각 레벨의 직사각형 블록은 각 단어들, 음절들, 음소들 또는 프레임들에 대한 LSTM 프로세싱 셀들에 대응한다. 유리하게도, VAE-기반의 제2 TTS 모델(222a)은 마지막 100 개 단어들에 대해 단어 레벨(340) 메모리의 LSTM 프로세싱 셀들을 제공하고, 마지막 100개 음절들에 대해 음절 레벨(330) 메모리의 LSTM 셀들을 제공하고, 마지막 100개 음소들에 대해 음소 레벨(321) 메모리의 LSTM 셀들을 제공하고, 마지막 100 개의 고정-길이 프레임들(280)에 대해 고정-길이 음높이 및/또는 에너지 프레임들(280) 메모리의 LSTM 셀들을 제공한다. 고정-길이 프레임들(280)이 각각 5밀리세컨드의 지속 시간(예: 프레임 속도)을 포함할 때, 대응하는 LSTM 프로세싱 셀들은 마지막 500밀리세컨드(예: 0.5초) 동안 메모리를 제공한다.
도시된 예에서, 계층적 언어 구조의 디코더 부분(400a)은 예측된 고정-길이 프레임들(280)의 시퀀스를 생성하기 위해 인코더 부분(300a)에 의해 인코딩된 고정-길이 발화 임베딩(204)을 3개 단어들(340A-340C)의 시퀀스, 5 개 음절들(330Aa-330Cb)의 시퀀스, 및 9개 음소들(321Aa1-321Cb2)의 시퀀스로 간단히 역-전파한다. 디코더 부분(400a)은 입력 텍스트 발화(320)의 언어적 특징들에 따라 조정된다. 도 3의 인코더 부분(300a)과 대조적으로 더 빠른 클럭킹 레이어들의 출력이 더 느린 클럭킹 레이어들에 의해 입력으로서 수신되는 경우, 디코더 부분(400a)은 더 느린 클럭킹 레이어들의 출력이 타이밍 신호가 첨부된 각 클록 사이클에서 더 빠른 클럭킹 레이어들의 입력으로 분배되도록 더 빠른 클럭킹 레이어들에 공급하는 더 느린 클럭킹 레이어들로부터의 출력을 포함한다.
도 2a, 도 3 및 도 4a를 참조하면, 일부 구현예에서, 시계장치 계층적 변이 오토인코더 (222a)에 대한 계층적 언어 구조는 입력 텍스트 발화(320)에 대한 멜-스펙트럼 정보를 예측하기 위한 제어 가능한 모델을 제공하는 동시에 멜-스펙트럼 정보에 암시적으로 표현된 운율을 효과적으로 제어하도록 적응된다. 구체적으로, 제2 TTS 모델(222a)은 입력 텍스트 발화(간단히 "입력 텍스트"(320)라고 함)에 대한 멜-주파수 스펙트로그램(502)을 예측하고 시간-도메인 오디오 파형으로의 변환을 위해 스피치 합성기의 보코더 네트워크(155)에 대한 입력으로서 멜-주파수 스펙트로그램(502)을 제공할 수 있다. 시간-도메인 오디오 파형에는 시간에 따른 오디오 신호의 진폭을 정의하는 오디오 파형이 포함된다. 명백해지는 바와 같이, 스피치 합성기(150)는 샘플 입력 텍스트에 대해 트레이닝된 오토인코더(222a) 및 제1 TTS 모델(212) 단독으로부터의 대응하는 멜-주파수 스펙트로그램들(201) 출력을 사용하여 입력 텍스트(320)로부터 합성된 스피치(152)을 생성할 수 있다. 즉, VAE-기반 제2 TTS 모델(222a)은 상당한 도메인 전문성을 요구하는 복잡한 언어적 및 음향적 특징들을 수신하지 않지만, 오히려 엔드-투-엔(end-to-end) 심층 신경 네트워크를 사용하여 입력 텍스트(320)를 멜-주파수 스펙트로그램들(502)로 변환할 수 있다. 보코더 네트워크(155), 즉 신경 보코더는 시간-도메인 오디오 파형으로 변환하기 위해 멜-주파수 스펙트로그램들에 대해 개별적으로 트레이닝 및 조정된다.
멜-주파수 스펙트로그램에는 사운드의 주파수-도메인 표현이 포함된다. 멜-주파수 스펙트로그램들은 스피치 요해도에 중요한 낮은 주파수를 강조하는 반면, 마찰음 및 기타 노이즈 버스트(bursts)에 의해 지배되고 일반적으로 높은 충실도(fidelity)로 모델링할 필요가 없는 높은 주파수를 강조하지 않는다. 보코더 네트워크(155)는 멜-주파수 스펙트로그램들을 수신하고 멜-주파수 스펙트로그램들에 기초하여 오디오 출력 샘플들을 생성하도록 구성된 임의의 네트워크일 수 있다. 예를 들어, 보코더 네트워크(155)를 포함하는 멜-주파수 스펙트로그램은 van den Oord, Parallel WaveNet: Fast High-Fidelity Speech Synthesis에서 설명되고, https://arxiv.org/pdf/1711.10433.pdf에서 이용 가능하며, 본 명세서에서 참조로 통합되는 병렬 피드-포워드(feed-forward) 신경 네트워크일 수 있거나, 이를 기반으로 할 수 있다. 대안적으로, 보코더 네트워크(155)는 자동회귀(autoregressive) 신경 네트워크일 수 있다.
도 2a, 도 3 및 도 4a를 참조하여 상술한 바와 같이, VAE-기반 제2 TTS 모델(222a)은 인코더 부분(300a) 및 디코더 부분(400a)을 포함한다. 인코더 부분(300a)은 중간 합성 스피치 표현(202)으로부터 샘플링/추출된 복수의 고정-길이 레퍼런스 멜-주파수 스펙트로그램 프레임들(211)을 발화 임베딩(204)으로 인코딩하도록 구성된다. 디코더 부분(400a)은 복수의 고정-길이 예측 멜-주파수 스펙트로그램 프레임들(280M0)에 발화 임베딩을 디코딩하는 방법을 학습하도록 구성된다. VAE-기반 TTS 모델(222a)은 디코더 부분(400a)에서 출력되는 예측된 멜-주파수 스펙트로그램 프레임들(280)의 수가 인코더 부분(300a)로 입력되는 레퍼런스 멜-주파수 스펙트로그램 프레임들(211)의 수와 동일하도록 트레이닝될 수 있다. 또한, VAE-기반 TTS 모델(222a)은 레퍼런스 및 예측된 멜-주파수 스펙트로그램 프레임들(211, 280)과 연관된 운율 정보가 서로 실질적으로 일치하도록 트레이닝된다. 예측된 멜-주파수 스펙트로그램 프레임들(280)은 중간 합성 스피치 표현(202)의 운율적 표현을 암시적으로 제공할 수 있다. 레퍼런스 멜-주파수 스펙트로그램 프레임들(211)은 중간 합성 스피치 표현(202)에 더하여 또는 그 대신에 제1 TTS 시스템(210)으로부터 출력되는 중간 출력 오디오 신호(201)로부터 샘플링될 수 있다. VAE-기반 제2 TTS 모델(222a)의 추가 세부 사항은 2020년 5월 5일에 출원된 미국 특허 출원 번호 16/867,427을 참조하여 설명되며, 그 내용은 전체적으로 참조로 통합된다.
도 2b는 제2 TTS 시스템(220)에서의 제2 TTS 모델(222)이 시퀀스-투-시퀀스 특징 예측 네트워크-기반 제2 TTS 모델(222b)(이하 S2S 기반 제2 TTS 모델 222b)에 대응하는 운율 전송 시스템(200, 200b)의 개략도를 제공한다. 도시된 예에서, 제1 TTS 시스템(210)은 타겟 보이스의 화자 특성들(예: 화자 임베딩 Z)을 포함할 수 있는 텍스트 발화(320) 및 선택적인 다른 입력들(325)을 입력으로서 수신한다. 다른 입력들(325)은 추가로 또는 대안적으로 언어 식별자, 텍스트 정규화, 또는 대응하는 운율 도메인의 운율 버티컬 식별자 중 하나 이상을 포함할 수 있다. 입력 텍스트 발화 및 선택적인 다른 입력들(325)을 사용하여, 제1 TTS 모델(212)은 입력 텍스트 발화(320)에 대한 의도된 운율을 갖는 멜-주파수 스펙트로그램들의 시퀀스를 포함할 수 있는 중간 출력 오디오 신호(201)를 생성한다. 제1 TTS 시스템(210)은 (예를 들어, 스피치 합성기(150)를 사용하여) 중간 출력 오디오 신호(201)를 중간 합성 스피치 표현(202)으로 합성할 수 있다. 상술한 바와 같이, 중간 합성 스피치 표현(202)은 의도된 운율을 정확하게 캡처하도록 구성되며, 타겟 보이스를 인식하기 위한 감소된 오디오 품질 및 부족한 화자 특성들을 포함하도록 허용된다. 다르게 말하면, 중간 합성 스피치 표현(202)은 사람이 듣기에는 적합하지 않지만, 오히려 제2 TTS 모델(222)이 타겟 보이스에서 표현력 있는 스피치로 재생산하고 통합하기 위해 사용하도록 의도된 운율을 전달하는 운율 정보의 캐리어 역할을 한다.
S2S-기반 제2 TTS 모델(222b)의 인코더 부분(300, 300b)은 중간 합성 스피치 표현(202)(또는 중간 출력 오디오 신호(201))을 의도된 운율을 특정하는 발화 임베딩(204)으로 인코딩하도록 구성된다. 인코더 부분(300b)에 공급되는 중간 합성 스피치 표현(202)(또는 중간 출력 오디오 신호(201))은 입력 텍스트 발화(320)에 대한 의도된 운율을 암시적으로 나타낼 수 있다. 일부 구현예에서, 인코더 부분(300b)은 발화 임베딩(204)에 잠재적 요인들로서 의도된 운율을 인코딩하는 변이 오토인코더에 대응한다. 이러한 구현예에서, 발화 임베딩(204)은 잠재적 임베딩에 대응할 수 있다. 이러한 잠재적 요인들은 일반적으로 디코더 부분(400b)에 대한 컨디셔닝 입력들에서 표현되지 않으며, 컨디셔닝 입력들은 입력 텍스트 발화(320) 및 타겟 보이스의 화자 특성들과 연관된 화자 임베딩(116), 입력 텍스트 발화(320)의 모국어와 연관된 언어 임베딩, 및 의도된 운율을 전달하는 특정 운율 버티컬(20)(도 1)을 식별하는 운율 버티컬 식별자와 같은 다른 입력들(325)를 포함할 수 있다. 따라서, 인코더 부분(300b)은 발화 임베딩(204)을 디코더(400b)로 패스한다.
이제 도 2b 및 도 4b를 참조하면, S2S-기반 제2 TTS 모델(222b)의 디코더 부분(400a)은 프리-넷(pre-net)(410), 장단기 메모리(LSTM) 서브네트워크(420), 선형 프로젝션(430) 및 콘벌루션 포스트-넷(post-net)(440)을 갖는 아키텍처를 포함할 수 있다. 이전 타임 스텝에 대한 멜-주파수 스펙트로그램 예측이 통과하는 프리-넷(410)은 히든(hidden) ReLUs의 2개의 완전-연결 레이어들을 포함할 수 있다. 프리-넷(410)은 학습 어텐션을 위한 정보 버틀넥(bottleneck) 역할을 하여 트레이닝 중 수렴(convergence) 속도를 높이고 스피치 합성 시스템의 일반화 능력을 향상시키는 역할을 한다. 추론 시간에 출력 변이를 도입하기 위해, 확률 0.5의 드롭아웃(dropout)을 프리-넷의 레이어들에 적용할 수 있다.
LSTM 서브네트워크(420)는 2개 이상의 LSTM 레이어들을 포함할 수 있다. 각각의 타임 스텝에서, LSTM 서브네트워크(420)는 프리-넷(410)의 출력, 발화 임베딩(204) 및 타임 스텝에 대한 텍스트 발화(320)의 일부의 연결을 수신한다. LSTM 레이어들은 예를 들어 0.1의 확률로 존아웃(zoneout)을 사용하여 정규화될 수 있다. 선형 프로젝션(430)은 LSTM 서브네트워크(420)의 출력을 입력으로 수신하고 멜-주파수 스펙트로그램(118P)의 예측을 생산한다.
하나 이상의 콘볼루션 레이어들을 갖는 콘볼루션 포스트-넷(440)은 가산기(adder)(244)에서 예측된 멜-주파수 스펙트로그램(118P)에 추가할 잔차(residual)(242)를 예측하기 위해 타임 스텝 동안 예측된 멜-주파수 스펙트로그램(118P)을 처리한다. 이것은 전반적인 재구성을 향상시킨다. 최종 컨볼루션 레이어를 제외한 각 컨볼루션 레이어는 배치(batch) 정규화 및 하이퍼볼릭(hyperbolic) 탄젠트(TanH) 활성화가 뒤따를 수 있다. 컨벌루션 레이어들은 예를 들어 0.5의 확률로 드롭아웃을 사용하여 정규화된다. 잔차(242)는 선형 프로젝션(430)에 의해 생성된 예측된 멜-주파수 스펙트로그램(118P)에 더해지고, 그 합(즉, 멜-주파수 스펙트로그램(118))은 스피치 합성기(150)에 제공될 수 있다. 일부 구현예에서, 각각의 타입 스텝에 대한 멜-주파수 스펙트로그램(118)을 예측하는 디코더 부분(400b)과 병렬로, LSTM 서브네트워크(420)의 출력, 발화 임베딩(204) 및 텍스트 발화(320)의 일부(예: 텍스트 인코더에 의해 생성된 문자 임베딩(미도시))의 연결은 스칼라(scalar)로 프로젝션되고 시그모이드(sigmoid) 활성화를 통과하여 멜-주파수 스펙트로그램들(118)의 출력 시퀀스가 완료될 확률을 예측한다. 출력 시퀀스 멜-주파수 스펙트로그램들(118)은 입력 텍스트 발화(320)에 대한 표현력 있는 스피치의 출력 오디오 신호(280)에 대응하고 타겟 보이스와 연관된 의도된 운율 및 화자 특성들을 포함한다.
이 "정지 토큰(stop token)" 예측은 모델(222b)이 항상 고정된 기간 동안 생성하는 대신 생성을 종료할 때를 동적으로 결정할 수 있도록 하기 위해 추론 동안에 사용된다. 정지 토큰이 생성이 종료되었음을 나타내면, 즉 정지 토큰 확률이 임계값을 초과할 때, 디코더 부분(400b)은 멜-주파수 스펙트로그램들(118P) 예측을 중지하고 그 지점까지 예측된 멜-주파수 스펙트로그램들을 표현력 있는 스피치의 출력 오디오 신호(280)로 반환한다. 대안적으로, 디코더 부분(400b)은 항상 동일한 길이(예: 10초)의 멜-주파수 스펙트로그램들(118)을 생성할 수 있다. 일부 구현예에서 스피치 합성기는 그리핀-림(Griffin-Lim) 합성기이다. 일부 다른 구현예에서, 스피치 합성기는 보코더(155)를 포함한다. 예를 들어, 스피치 합성기(150)는 WaveRNN 보코더(155)를 포함할 수 있다. 여기서, WaveRNN 보코더(155)는 TTS 모델(222b)에 의해 예측된 스펙트로그램들(118)에 따라 24kHz로 샘플링된 16비트 신호를 생성할 수 있다. 일부 다른 구현예에서, 파형 합성기는 파형 인버터에 대한 트레이닝 가능한 스펙트로그램이다. 파형 합성기(150)가 파형을 생성한 후, 오디오 출력 시스템은 파형을 사용하여 스피치(152)를 생성하고 예를 들어, 사용자 디바이스에서 재생을 위해 생성된 스피치(152)을 제공하거나 생성된 파형을 다른 시스템에 제공하여 다른 시스템이 스피치(152)을 생성하고 재생할 수 있도록 한다. 일부 예에서, WaveNet 신경 보코더(155)는 파형 합성기(150)를 대체한다. WaveNet 신경 보코더는 파형 합성기(150)에 의해 생산된 합성 스피치와 비교하여 합성 스피치의 상이한 오디오 충실도를 제공할 수 있다. 따라서, 일부 예에서, 제1 TTS 시스템(210)은 종래의 파형 합성기(150)를 써서 품질이 감소된 중간 보이스로 중간 합성 스피치 표현(202)을 생성할 수 있지만, 의도된 운율을 정확하게 소유할 수 있는 반면, 제2 TTS 시스템(220)은 의도된 운율을 중간 합성 스피치 표현(202)에서 WaveNet 신경 보코더(155)에 의해 생산된 타겟 보이스의 합성된 스피치로 전송할 수 있다.
일부 구현예에서, 디코더 부분(400b)은 입력 텍스트 발화(320) 및 타겟 보이스와 연관된 화자 특성들을 제공하는 화자 임베딩 Z와 같은 추가 입력들에 기초하여 출력 로그-멜 스펙트로그램 프레임들의 시퀀스, 예를 들어 출력 멜 스펙트로그램(118)을 생성하도록 구성된 어텐션-기반 시퀀스-투-시퀀스 모델을 포함한다. 예를 들어, 디코더 부분(400b)은 Tacotron 2 모델(예를 들어, 본 명세서에서 참조로 통합되는 https://arxiv.org/abs/1712.05884에서, J. Shen, et al.의 "Natural TTS Synthesis by Conditioning WaveNet on Mel Spectrogram Predictions"을 참조)에 기초할 수 있다. 따라서, S2S-기반 제2 TTS 모델(222b)은 타겟 보이스에서 의도된 운율을 갖는 표현력 있는 스피치의 출력 오디오 신호(280)를 생산하기 위해 중간 합성 스피치 표현(202)에 포함된 의도된 운율을 발화 임베딩(204)으로 전송하고 추가 입력들(325)(예: 발화 임베딩 Z)로 발화 임베딩(204) 및 입력 텍스트 발화(320)를 처리하기 위한 향상된 TTS 모델을 제공한다. 발화 임베딩 Z, 언어 식별자 및 운율 버티컬 식별자와 같은 추가 입력들(325)은 시스템(200)이 트레이닝되는 임의의 의도된 운율에 대해 서로 상이한 언어에 걸쳐 서로 상이한 스피치의 전송을 허용하는 데 도움이 된다.
도 5는 입력 텍스트 발화를 타겟 보이스에서 의도된 운율을 갖는 표현력 있는 스피치로 합성하는 방법(500)에 대한 예시적인 동작 배열의 흐름도이다. 데이터 프로세싱 하드웨어(122)(도 1)는 메모리 하드웨어(124)에 저장된 명령어들을 실행함으로써 방법(500)에 대한 동작들을 수행할 수 있다. 동작(502)에서, 방법(500)은 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치(152)으로 합성될 입력 텍스트 발화(320)를 수신하는 단계를 포함한다. 동작(504)에서, 방법(500)은 제1 텍스트 스피치 변환(TTS) 모델(212)을 사용하여, 입력 텍스트 발화(320)에 대한 중간 합성 스피치 표현(202)을 생성하는 단계를 포함한다. 여기서, 중간 합성 스피치 표현(202)은 의도된 운율을 소유한다. 중간 합성 스피치 표현(202)은 오디오 파형 또는 의도된 운율을 캡처하는 멜-주파수 스펙트로그램들의 시퀀스를 포함할 수 있다. 또한, 중간 합성 스피치 표현(202)은 타겟 보이스의 화자 특성들이 결여되고 바람직하지 않은 음향 아티팩트를 포함하는 중간 보이스를 포함할 수 있다. 따라서, 중간 합성 스피치 표현(202)은 표현력을 제공하지만 요해도 및 자연스러움이 부족할 수 있다.
동작(506)에서, 방법(500)은 인코더 부분(300) 및 디코더 부분(400)을 포함하는 제2 TTS 모델(222)에 중간 합성 스피치 표현을 제공하는 단계를 포함한다. 인코더 부분(300)은 중간 합성 스피치 표현(202)을 의도된 운율을 특정하는 발화 임베딩(204)으로 인코딩하도록 구성된다. 디코더 부분(400)은 표현력 있는 스피치(152)의 출력 오디오 신호(280)를 생성하기 위해 입력 텍스트 발화(320) 및 발화 임베딩(204)을 처리하도록 구성된다. 여기서, 출력 오디오 신호는 발화 임베딩(204)에 의해 특정되는 의도된 운율 및 타겟 보이스의 화자 특성들을 갖는다.
일부 예에서, 방법(500)은 또한 타겟 보이스의 화자 특성들을 표현하는 화자 임베딩 Z의 추가 입력(325)을 획득하는 단계를 포함한다. 이러한 예에서, 디코더 부분(400)은 입력 텍스트 발화(320), 발화 임베딩(204) 및 화자 임베딩 Z를 처리하여 표현력 있는 스피치의 출력 오디오 신호를 생성하도록 구성된다. 제1 TTS 모델(212) 및 제2 TTS 모델(222)은 각각 동일하거나 상이한 타입의 신경 네트워크 아키텍처를 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 애플리케이션의 예로는 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 유지 보수 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들 및 게임 애플리케이션들이 포함되지만, 이에 제한되지 않는다.
비일시적 메모리는 컴퓨팅 디바이스에서 사용하기 위해 일시적 또는 영구적으로 프로그램(예: 명령 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 어드레서블 반도체 메모리일 수 있다. 비휘발성 메모리의 예로는 플래시 메모리 및 읽기-전용 메모리(ROM), 프로그래밍 가능한 읽기-전용 메모리(PROM)/지울 수 있는 프로그래밍 가능한 읽기-전용 메모리(EPROM)/전기적으로 지울 수 있는 프로그래밍 가능한 읽기-전용 메모리(EEPROM)(예: 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 포함되지만, 이에 제한되지 않는다. 휘발성 메모리의 예에는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 위상 변화 메모리(PCM) 및 디스크나 테이프가 포함되지만 이에 제한되지 않는다.
도 6은 이 문서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(600)의 개략도이다. 컴퓨팅 디바이스(600)는 랩탑, 데스크탑, 워크스테이션, 개인용 디지털 어시스턴트, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 구성요소, 연결 및 관계, 기능은 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 발명의 구현을 제한하지 않는다.
컴퓨팅 디바이스(600)는 프로세서(610), 메모리(620), 스토리지 디바이스(630), 메모리(620) 및 고속 확장 포트(650)에 연결되는 고속 인터페이스/컨트롤러(640), 저속 버스(670) 및 스토리지 디바이스(630)에 연결되는 저속 인터페이스/컨트롤러(660)를 포함한다. 구성 요소들(610, 620, 630, 640, 650 및 660) 각각은 다양한 버스들을 사용하여 상호 연결되며 공통의 마더보드 또는 적절한 다른 방식들로 마운트될 수 있다. 프로세서(610)는 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 고속 인터페이스(640)에 결합된 디스플레이(680)와 같은 외부 입력/출력 디바이스에 표시하기 위해 메모리(620) 또는 스토리지 디바이스(630)에 저장된 명령어들을 포함하여 컴퓨팅 디바이스(600) 내에서 실행하기 위한 명령어들을 처리할 수 있다. 다른 구현예에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리 및 메모리 타입과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(600)이 연결될 수 있으며, 각각의 디바이스는 필요한 동작들의 일부를 제공한다(예: 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템).
메모리(620)는 컴퓨팅 디바이스(600) 내에 비일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(620)는 컴퓨팅 디바이스(600)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예: 명령어들의 시퀀스들) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예로는 플래시 메모리 및 읽기-전용 메모리(ROM)/프로그래밍 가능한 읽기-전용 메모리(PROM)/지울 수 있는 프로그래밍 가능한 읽기-전용 메모리(EPROM)/전기적으로 지울 수 있는 프로그래밍 가능한 읽기-전용 메모리(EEPROM)(예: 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 포함되지만 이에 국한되지 않는다. 휘발성 메모리의 예에는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 위상 변화 메모리(PCM) 및 디스크나 테이프가 포함되지만 이에 제한되지 않는다.
스토리지 디바이스(630)는 컴퓨팅 디바이스(600)를 위한 대용량 스토리지를 제공할 수 있다. 일부 구현예에서, 스토리지 디바이스(630)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현예에서, 스토리지 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크(storage area network) 또는 기타 구성들의 디바이스들을 포함하는 디바이스들의 배열일 수 있다. 추가 구현예에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 매체는 메모리(620), 스토리지 디바이스(630) 또는 프로세서(610) 상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 컨트롤러(640)는 컴퓨팅 디바이스(600)에 대한 대역폭-집중(bandwidth-intensive) 동작들을 관리하는 반면, 저속 컨트롤러(660)는 낮은 대역폭-집중 동작들을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(640)는 메모리(620), 디스플레이(680)(예: 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(미도시)을 수용할 수 있는 고속 확장 포트(650)에 결합된다. 일부 구현예에서, 저속 컨트롤러(660)는 스토리지 디바이스(630) 및 저속 확장 포트(690)에 결합된다. 다양한 통신 포트들(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(690)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 디바이스, 스캐너 또는 스위치나 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스들에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이, 다양한 형태로 구현될 수 있다. 예를 들어, 그것은 표준 서버(600a)로서 또는 이러한 서버들(600a)의 그룹에서, 랩탑 컴퓨터(600b)로서 또는 랙 서버 시스템(600c)의 일부로서 여러 번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현예는 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASICs(애플리케이션 특정 집적 회로들), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예는 스토리지 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에서 데이터와 명령어들을 수신하고 데이터와 명령어들을 전송하기 위해 결합된 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능한 프로세서를 포함하는 프로그래밍 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 함)은 프로그래밍 가능한 프로세서를 위한 기계 명령어들을 포함하며 높은 레벨의 절차적 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어들은 기계 명령어들을 기계 판독 가능 신호로 수신하는 기계 판독 가능 매체를 포함하여, 프로그램 가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예: 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능한 논리 디바이스들(PLDs))를 의미한다. "기계 판독 가능 신호"라는 용어는 프로그램 가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다. "기계 판독 가능 신호"라는 용어는 프로그램 가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 데이터 프로세싱 하드웨어라고도 하는 하나 이상의 프로그래밍 가능한 프로세서들에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램들을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능들을 수행할 수 있다. 프로세스들 및 논리 흐름들은 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은 예를 들어 범용 및 특수 목적 마이크로프로세서들 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서들을 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어들과 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 수행하는 프로세서와 명령어들과 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스들, 예를 들어 자기, 광자기 디스크들 또는 광 디스크들로부터 데이터를 수신하거나 데이터를 전송하기 위해 또는 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 디바이스들이 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함한 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 발명의 하나 이상의 양태는 사용자에게 정보를 표시하기 위한 디스플레이 디바이스, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들을 사용하여 사용자와의 상호 작용도 제공할 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 디바이스로 문서를 보내고 디바이스로부터 문서를 수신함으로써 사용자와 상호 작용할 수 있다; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 보낸다.
많은 구현예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현예는 다음 청구 범위 내에 있다.
Claims (30)
- 방법(500)으로서,
데이터 프로세싱 하드웨어(122)에 의해, 상이한 운율 버티컬들(20, 20A-N) 각각에 대해, 제1 텍스트 스피치 변환(TTS) 모델(212) 및 제2 TTS 모델(222)을 포함하는 대응하는 운율 전송 시스템(200, 200A-N)을 트레이닝하는 단계, 상기 상이한 운율 버티컬들(20, 20A-N) 각각은 대응하는 운율 버티컬과 연관된 동일한 운율 스타일을 소유하는 상이한 보이스 특성들을 갖는 다양한 인간들에 의해 발화되는 발화들을 포함하며,
상기 데이터 프로세싱 하드웨어(122)에서, 의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치(expressive speech)(152)로 합성될 입력 텍스트 발화(320)를 수신하는 단계;
상기 데이터 프로세싱 하드웨어(122)에 의해, 트레이닝된 제1 TTS 모델(212)을 사용하여, 상기 입력 텍스트 발화(320)와 연관된 특정 운율 버티컬로부터 상기 의도된 운율을 캡처함으로써, 상기 입력 텍스트 발화(320)에 대한 중간 합성 스피치 표현(202)을 생성하는 단계, 상기 중간 합성 스피치 표현(202)은 상기 의도된 운율을 소유하고, 및
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 중간 합성 스피치 표현(202)을 트레이닝된 제2 TTS 모델(222)에 제공하는 단계를 포함하고, 상기 트레이닝된 제2 TTS 모델(222)은:
상기 중간 합성 스피치 표현(202)을 상기 의도된 운율을 특정하는 발화 임베딩(utterance embedding)(204)으로 인코딩하도록 구성된 인코더 부분(300); 및
상기 표현력 있는 스피치(152)의 출력 오디오 신호(280)를 생성하기 위해 상기 입력 텍스트 발화(320) 및 상기 발화 임베딩(204)을 처리하도록 구성된 디코더 부분(400)을 포함하고, 상기 출력 오디오 신호(280)는 상기 발화 임베딩(204)에 의해 특정되는 의도된 운율 및 상기 타겟 보이스의 화자 특성들을 갖는, 방법(500). - 제1항에 있어서,
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 중간 합성 스피치 표현(202)으로부터, 상기 중간 합성 스피치 표현(202)에 의해 소유된 의도된 운율을 표현하는 운율적 특징들을 제공하는 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 샘플링하는 단계를 더 포함하고,
상기 중간 합성 스피치 표현(202)을 상기 트레이닝된 제2 TTS 모델(222)에 제공하는 단계는 상기 중간 합성 스피치 표현(202)으로부터 샘플링된 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 인코더 부분(300)에 제공하는 단계를 포함하고, 상기 인코더 부분(300)은 상기 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하도록 구성되는, 방법(500). - 제2항에 있어서,
상기 중간 합성 스피치 표현(202)에 의해 소유된 의도된 운율을 표현하는 운율적 특징들은 지속 시간, 음높이 윤곽(contour), 에너지 윤곽, 또는 멜-주파수 스펙트로그램 윤곽 중 하나 이상을 포함하는, 방법(500). - 제2항에 있어서,
상기 인코더 부분(300)은 상기 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하도록 구성되며, 상기 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하는 것은, 상기 중간 합성 스피치 표현(202)의 각 음절(330)에 대해:
상기 음절(330)의 각 음소(321)와 연관된 음소-레벨 언어적 특징들(322)을 음소 특징-기반 음절 임베딩(332)으로 인코딩하고;
상기 음절(330)과 연관된 고정-길이 레퍼런스 프레임들(211)을 프레임-기반 음절 임베딩(334)으로 인코딩하고, 상기 프레임-기반 음절 임베딩(334)은 대응하는 음절(330)과 연관된 지속 시간, 음높이 또는 에너지 중 하나 이상을 나타내고, 그리고
상기 음절(330)과 연관된 음절-레벨 언어적 특징들(336), 상기 중간 합성 스피치 표현(202)과 연관된 문장-레벨 언어적 특징들(352), 및 상기 대응하는 음절(330)을 포함하는 단어(340)와 연관된 단어-레벨 언어적 특징들(342)을 갖는 음소 특징-기반 및 프레임-기반 음절 임베딩들(332, 334)을 상기 음절(330)에 대한 대응하는 운율적 음절 임베딩(335)으로 인코딩함으로써 수행되는, 방법(500). - 제4항에 있어서,
상기 단어-레벨 언어적 특징들(342)은 상기 입력 텍스트 발화(320)로부터 양방향 인코더 표현 변환기(Bidirectional Encoder Representations from Transformers)(BERT) 모델에 의해 생성된 단어 조각 임베딩들의 시퀀스로부터 획득된 단어 조각 임베딩을 포함하는, 방법(500). - 제2항에 있어서,
상기 디코더 부분(400)은 상기 입력 텍스트 발화(320)를 사용하여, 대응하는 발화 임베딩(204)을 입력 텍스트 발화(320)의 운율적 표현(302)을 제공하는 고정-길이 예측 프레임들(280)의 시퀀스로 디코딩함으로써 출력 오디오 신호(280)를 생성하기 위해 상기 입력 텍스트 발화(320) 및 상기 발화 임베딩(204)을 처리하도록 구성되며, 상기 운율적 표현(302)은 상기 발화 임베딩(204)에 의해 특정된 의도된 운율을 표현하는, 방법(500). - 제6항에 있어서,
상기 제2 TTS 모델(222)은 상기 디코더 부분(400)에 의해 디코딩된 고정-길이 예측 프레임들(280)의 수가 상기 중간 합성 스피치 표현(202)으로부터 샘플링된 고정-길이 레퍼런스 프레임들(211)의 수와 동일하도록 트레이닝되는, 방법(500). - 제1항에 있어서,
상기 발화 임베딩(204)은 고정-길이 수치 벡터(numerical vector)를 포함하는, 방법(500). - 제1항에 있어서,
상기 중간 합성 스피치 표현(202)은 오디오 파형 또는 의도된 운율을 캡처하는 멜-주파수 스펙트로그램들(502)의 시퀀스를 포함하고; 그리고
상기 중간 합성 스피치 표현(202)을 상기 트레이닝된 제2 TTS 모델(222)에 제공하는 단계는 상기 오디오 파형 또는 멜-주파수 스펙트로그램들(502)의 시퀀스를 상기 인코더 부분(300)에 제공하는 단계를 포함하고, 상기 인코더 부분(300)은 상기 오디오 파형 또는 멜-주파수 스펙트로그램들(502)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하도록 구성되는, 방법(500). - 제1항에 있어서,
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 타겟 보이스의 화자 특성들을 표현하는 화자 임베딩(116)을 획득하는 단계; 및
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 트레이닝된 제2 TTS 모델(222)의 디코더 부분(400)에 상기 화자 임베딩(116)을 제공하는 단계를 더 포함하고, 상기 디코더 부분(400)은 표현력 있는 스피치(152)의 출력 오디오 신호(280)를 생성하기 위해 상기 입력 텍스트 발화(320), 상기 발화 임베딩(204), 및 상기 화자 임베딩(116)을 처리하도록 구성되는, 방법(500). - 제1항에 있어서,
상기 트레이닝된 제1 TTS 모델(212)을 사용하여 생성된 상기 중간 합성 스피치 표현(202)은 상기 타겟 보이스의 화자 특성들이 부족하고 하나 이상의 바람직하지 않은 음향 아티팩트들을 포함하는 중간 보이스를 포함하는, 방법(500). - 제1항에 있어서,
상기 상이한 운율 버티컬들(20, 20A-N) 각각에 대해, 제1 TTS 모델(212) 및 제2 TTS 모델(222)을 포함하는 대응하는 운율 전송 시스템(200, 200A-N)을 트레이닝하는 단계는:
상기 데이터 프로세싱 하드웨어(122)에서, 복수의 트레이닝 오디오 신호들(104) 및 대응하는 트랜스크립트들(106)을 포함하는 트레이닝 데이터(10)를 수신하는 단계, 각각의 트레이닝 오디오 신호(104)는 의도된 운율과 연관된 운율 버티컬(vertical)에서 대응하는 화자가 말하는 의도된 운율을 갖는 인간 스피치의 발화를 포함하고, 각각의 트랜스크립트(106)는 대응하는 트레이닝 오디오 신호(104)의 텍스트 표현을 포함하고, 및
상기 트레이닝 데이터(10)의 각각의 대응하는 트랜스크립트(106)에 대해:
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 제1 TTS 모델(212)이 인간 스피치의 대응하는 발화의 의도된 운율을 캡처하는 트레이닝 합성 스피치 표현을 포함하는 대응하는 레퍼런스 오디오 신호를 생성하도록 트레이닝하는 단계,
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 대응하는 트레이닝 합성 스피치 표현을 상기 트레이닝 합성 스피치 표현에 의해 캡처된 의도된 운율을 표현하는 대응하는 발화 임베딩(204)으로 인코딩함으로써 상기 제2 TTS 모델(222)의 인코더 부분(300)을 트레이닝하는 단계;
상기 데이터 프로세싱 하드웨어(122)에 의해, 상기 트레이닝 데이터(10)의 대응하는 트랜스크립트(106)를 사용하여, 상기 인코더 부분(300)에 의해 인코딩된 대응하는 발화 임베딩(204)을 의도된 운율을 갖는 표현력 있는 스피치(152)의 예측된 출력 오디오 신호(280)로 디코딩함으로써 상기 제2 TTS 모델(222)의 디코더 부분(400)을 트레이닝하는 단계;
상기 예측된 출력 오디오 신호(280)와 대응하는 레퍼런스 오디오 신호 사이의 기울기/손실을 생성하는 단계; 및
상기 제2 TTS 모델(222)을 통해 상기 기울기/손실을 역-전파하는 단계를 포함하는, 방법(500). - 제1항에 있어서,
상기 제1 TTS 모델(212) 및 상기 제2 TTS 모델(222)은 개별적으로 트레이닝되는, 방법(500). - 제1항에 있어서,
상기 제1 TTS 모델(212)은 제1 신경 네트워크 아키텍처를 포함하고 상기 제2 TTS 모델(222)은 상기 제1 신경 네트워크 아키텍처와 상이한 제2 신경 네트워크 아키텍처를 포함하는, 방법(500). - 제1항에 있어서,
상기 제1 TTS 모델(212) 및 제2 TTS 모델(222)은 동일한 신경 네트워크 아키텍처를 포함하는, 방법(500). - 시스템(100)으로서,
데이터 프로세싱 하드웨어(122); 및 데이터 프로세싱 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 포함하고, 상기 메모리 하드웨어(124)는 상기 데이터 프로세싱 하드웨어(122)에서 실행될 때 상기 데이터 프로세싱 하드웨어(122)로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
상이한 운율 버티컬들(20, 20A-N) 각각에 대해, 제1 텍스트 스피치 변환(TTS) 모델(212) 및 제2 TTS 모델(222)을 포함하는 대응하는 운율 전송 시스템(200, 200A-N)을 트레이닝하는 동작, 상기 상이한 운율 버티컬들(20, 20A-N) 각각은 대응하는 운율 버티컬과 연관된 동일한 운율 스타일을 소유하는 상이한 보이스 특성들을 갖는 다양한 인간들에 의해 발화되는 발화들을 포함하며,
의도된 운율 및 타겟 보이스를 갖는 표현력 있는 스피치(152)로 합성될 입력 텍스트 발화(320)를 수신하는 동작;
트레이닝된 제1 TTS 모델(212)을 사용하여, 상기 입력 텍스트 발화(320)와 연관된 특정 운율 버티컬로부터 상기 의도된 운율을 캡처함으로써, 상기 입력 텍스트 발화(320)에 대한 중간 합성 스피치 표현(202)을 생성하는 동작; 상기 중간 합성 스피치 표현(202)은 상기 의도된 운율을 소유하고, 및
상기 중간 합성 스피치 표현(202)을 트레이닝된 제2 TTS 모델(222)에 제공하는 동작을 포함하고, 상기 트레이닝된 제2 TTS 모델(222)은:
상기 중간 합성 스피치 표현(202)을 상기 의도된 운율을 명시하는 발화 임베딩(204)으로 인코딩하도록 구성된 인코더 부분(300); 및
상기 표현력 있는 스피치(152)의 출력 오디오 신호(280)를 생성하기 위해 상기 입력 텍스트 발화(320) 및 상기 발화 임베딩(204)을 처리하도록 구성된 디코더 부분(400)을 포함하고, 상기 출력 오디오 신호(280)는 상기 발화 임베딩(204)에 의해 명시되는 의도된 운율 및 타겟 보이스의 화자 특성들을 갖는, 시스템(100). - 제16항에 있어서,
상기 동작들은:
상기 중간 합성 스피치 표현(202)으로부터, 상기 중간 합성 스피치 표현(202)에 의해 소유된 의도된 운율을 표현하는 운율적 특징들을 제공하는 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 샘플링하는 동작을 더 포함하고,
상기 중간 합성 스피치 표현(202)을 상기 트레이닝된 제2 TTS 모델(222)에 제공하는 동작은 상기 중간 합성 스피치 표현(202)으로부터 샘플링된 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 인코더 부분(300)에 제공하는 동작을 포함하고, 상기 인코더 부분(300)은 상기 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하도록 구성되는, 시스템(100). - 제17항에 있어서,
상기 중간 합성 스피치 표현(202)이 소유한 의도된 운율을 나타내는 운율적 특징들은 지속 시간, 음높이 윤곽, 에너지 윤곽, 또는 멜-주파수 스펙트로그램 윤곽 중 하나 이상을 포함하는, 시스템(100). - 제17항에 있어서,
상기 인코더 부분(300)은 상기 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하도록 구성되며, 상기 고정-길이 레퍼런스 프레임들(211)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하는 것은, 상기 중간 합성 스피치 표현(202)의 각 음절(330)에 대해:
상기 음절(330)의 각 음소(321)와 연관된 음소-레벨 언어적 특징들(322)을 음소 특징 기반-음절 임베딩(332)으로 인코딩하고;
상기 음절(330)과 연관된 고정-길이 레퍼런스 프레임들(211)을 프레임-기반 음절 임베딩(334)으로 인코딩하고, 상기 프레임-기반 음절 임베딩(334)은 대응하는 음절(330)과 연관된 지속 시간, 음높이 또는 에너지 중 하나 이상을 나타내고, 그리고
상기 음절(330)과 연관된 음절-레벨 언어적 특징들(336), 상기 중간 합성 스피치 표현(202)과 연관된 문장-레벨 언어적 특징들(352), 및 상기 대응하는 음절(330)을 포함하는 단어(340)와 연관된 단어-레벨 언어적 특징들(342)을 갖는 음소 특징-기반 및 프레임-기반 음절 임베딩들(332, 334)을 상기 음절(330)에 대한 대응하는 운율적 음절 임베딩(335)으로 인코딩함으로써 수행되는, 시스템(100). - 제19항에 있어서,
상기 단어-레벨 언어적 특징들(342)은 상기 입력 텍스트 발화(320)로부터 양방향 인코더 표현 변환기(BERT) 모델에 의해 생성된 단어 조각 임베딩의 시퀀스로부터 획득된 단어 조각 임베딩을 포함하는, 시스템(100). - 제16항에 있어서,
상기 디코더 부분(400)은 상기 입력 텍스트 발화(320)를 사용하여, 대응하는 발화 임베딩(204)을 상기 입력 텍스트 발화(320)의 운율적 표현(302)을 제공하는 고정-길이 예측 프레임들(280)의 시퀀스로 디코딩함으로써 출력 오디오 신호(280)를 생성하기 위해 상기 입력 텍스트 발화(320) 및 상기 발화 임베딩(204)을 처리하도록 구성되며, 상기 운율적 표현(302)은 상기 발화 임베딩(204)에 의해 명시된 의도된 운율을 표현하는, 시스템(100). - 제21항에 있어서,
상기 제2 TTS 모델(222)은 상기 디코더 부분(400)에 의해 디코딩된 고정-길이 예측 프레임들(280)의 수가 상기 중간 합성 스피치 표현(202)으로부터 샘플링된 고정-길이 레퍼런스 프레임들(211)의 수와 동일하도록 트레이닝되는, 시스템(100). - 제16항에 있어서,
상기 발화 임베딩(204)은 고정-길이 수치 벡터를 포함하는, 시스템(100). - 제16항에 있어서,
상기 중간 합성 스피치 표현(202)은 오디오 파형 또는 의도된 운율을 캡처하는 멜-주파수 스펙트로그램들(502)의 시퀀를 포함하고; 그리고
상기 중간 합성 스피치 표현(202)을 상기 트레이닝된 제2 TTS 모델(222)에 제공하는 동작은 상기 오디오 파형 또는 멜-주파수 스펙트로그램들(502)의 시퀀스를 상기 인코더 부분(300)에 제공하는 동작을 포함하고, 상기 인코더 부분(300)은 상기 오디오 파형 또는 멜-주파수 스펙트로그램들(502)의 시퀀스를 상기 발화 임베딩(204)으로 인코딩하도록 구성되는, 시스템(100). - 제16항에 있어서,
상기 동작들은:
상기 타겟 보이스의 화자 특성들을 표현하는 화자 임베딩(116)을 획득하는 동작; 및
상기 트레이닝된 제2 TTS 모델(222)의 디코더 부분(400)에 상기 화자 임베딩(116)을 제공하는 동작을 더 포함하고, 상기 디코더 부분(400)은 표현력 있는 스피치(152)의 출력 오디오 신호(280)를 생성하기 위해 상기 입력 텍스트 발화(320), 상기 발화 임베딩(204), 및 상기 화자 임베딩(116)을 처리하도록 구성되는, 시스템(100). - 제16항에 있어서,
상기 트레이닝된 제1 TTS 모델(212)을 사용하여 생성된 상기 중간 합성 스피치 표현(202)은 상기 타겟 보이스의 화자 특성들이 부족하고 하나 이상의 바람직하지 않은 음향 아티팩트들을 포함하는 중간 보이스를 포함하는, 시스템(100). - 제16항에 있어서,
상기 상이한 운율 버티컬들(20, 20A-N) 각각에 대해, 제1 텍스트 스피치 변환(TTS) 모델(212) 및 제2 TTS 모델(222)을 포함하는 대응하는 운율 전송 시스템(200, 200A-N)을 트레이닝하는 동작은:
복수의 트레이닝 오디오 신호들(104) 및 대응하는 트랜스크립트들(106)을 포함하는 트레이닝 데이터(10)를 수신하는 동작, 각각의 트레이닝 오디오 신호(104)는 의도된 운율과 연관된 운율 버티컬에서 대응하는 화자가 말하는 의도된 운율을 갖는 인간 스피치의 발화를 포함하고, 각각의 트랜스크립트(106)는 대응하는 트레이닝 오디오 신호(104)의 텍스트 표현을 포함하고, 및
상기 트레이닝 데이터(10)의 각각의 대응하는 트랜스크립트(106)에 대해:
상기 제1 TTS 모델(212)이 인간 스피치의 대응하는 발화의 의도된 운율을 캡처하는 트레이닝 합성 스피치 표현을 포함하는 대응하는 레퍼런스 오디오 신호를 생성하도록 트레이닝하는 동작,
상기 대응하는 트레이닝 합성 스피치 표현을 상기 트레이닝 합성 스피치 표현에 의해 캡처된 의도된 운율을 표현하는 대응하는 발화 임베딩(204)으로 인코딩함으로써 상기 제2 TTS 모델(222)의 인코더 부분(300)을 트레이닝하는 동작;
상기 트레이닝 데이터(10)의 대응하는 트랜스크립트(106)를 사용하여, 상기 인코더 부분(300)에 의해 인코딩된 대응하는 발화 임베딩(204)을 의도된 운율을 갖는 표현력 있는 스피치(152)의 예측된 출력 오디오 신호(280)로 디코딩함으로써 상기 제2 TTS 모델(222)의 디코더 부분(400)을 트레이닝하는 동작;
상기 예측된 출력 오디오 신호(280)와 대응하는 레퍼런스 오디오 신호 사이의 기울기/손실을 생성하는 동작; 및
상기 제2 TTS 모델(222)을 통해 상기 기울기/손실을 역-전파하는 동작을 포함하는, 시스템(100). - 제16항에 있어서,
상기 제1 TTS 모델(212) 및 상기 제2 TTS 모델(222)은 개별적으로 트레이닝되는, 시스템(100). - 제16항에 있어서,
상기 제1 TTS 모델(212)은 제1 신경 네트워크 아키텍처를 포함하고 상기 제2 TTS 모델(222)은 상기 제1 신경 네트워크 아키텍처와 상이한 제2 신경 네트워크 아키텍처를 포함하는, 시스템(100). - 제16항에 있어서,
상기 제1 TTS 모델(212) 및 제2 TTS 모델(222)은 동일한 신경 네트워크 아키텍처를 포함하는, 시스템(100).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020247019410A KR20240096867A (ko) | 2020-08-13 | 2021-07-27 | 2-레벨 스피치 운율 전송 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/992,410 | 2020-08-13 | ||
US16/992,410 US11514888B2 (en) | 2020-08-13 | 2020-08-13 | Two-level speech prosody transfer |
PCT/US2021/043334 WO2022035586A1 (en) | 2020-08-13 | 2021-07-27 | Two-level speech prosody transfer |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247019410A Division KR20240096867A (ko) | 2020-08-13 | 2021-07-27 | 2-레벨 스피치 운율 전송 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230034423A KR20230034423A (ko) | 2023-03-09 |
KR102677459B1 true KR102677459B1 (ko) | 2024-06-24 |
Family
ID=77398670
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237006493A KR102677459B1 (ko) | 2020-08-13 | 2021-07-27 | 2-레벨 스피치 운율 전송 |
KR1020247019410A KR20240096867A (ko) | 2020-08-13 | 2021-07-27 | 2-레벨 스피치 운율 전송 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247019410A KR20240096867A (ko) | 2020-08-13 | 2021-07-27 | 2-레벨 스피치 운율 전송 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11514888B2 (ko) |
EP (1) | EP4172984A1 (ko) |
JP (2) | JP7395792B2 (ko) |
KR (2) | KR102677459B1 (ko) |
CN (1) | CN116034424A (ko) |
WO (1) | WO2022035586A1 (ko) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7181332B2 (ja) * | 2020-09-25 | 2022-11-30 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 音声変換方法、装置及び電子機器 |
US11790884B1 (en) * | 2020-10-28 | 2023-10-17 | Electronic Arts Inc. | Generating speech in the voice of a player of a video game |
EP4310835A1 (en) * | 2021-03-16 | 2024-01-24 | Samsung Electronics Co., Ltd. | Electronic device and personalized text-to-speech model generation method by electronic device |
US11574131B2 (en) * | 2021-05-21 | 2023-02-07 | Google Llc | Machine-learned language models which generate intermediate textual analysis in service of contextual text generation |
US11694674B1 (en) * | 2021-05-26 | 2023-07-04 | Amazon Technologies, Inc. | Multi-scale spectrogram text-to-speech |
US11996083B2 (en) * | 2021-06-03 | 2024-05-28 | International Business Machines Corporation | Global prosody style transfer without text transcriptions |
US11830476B1 (en) * | 2021-06-08 | 2023-11-28 | Amazon Technologies, Inc. | Learned condition text-to-speech synthesis |
EP4293660A4 (en) * | 2021-06-22 | 2024-07-17 | Samsung Electronics Co Ltd | ELECTRONIC DEVICE AND ITS CONTROL METHOD |
US20230099732A1 (en) * | 2021-09-30 | 2023-03-30 | Microsoft Technology Licensing, Llc | Computing system for domain expressive text to speech |
CN114333762B (zh) * | 2022-03-08 | 2022-11-18 | 天津大学 | 基于表现力的语音合成方法、***、电子设备及存储介质 |
CN114708849A (zh) * | 2022-04-27 | 2022-07-05 | 网易(杭州)网络有限公司 | 语音处理方法、装置、计算机设备及计算机可读存储介质 |
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 |
CN114781377B (zh) * | 2022-06-20 | 2022-09-09 | 联通(广东)产业互联网有限公司 | 非对齐文本的纠错模型、训练及纠错方法 |
CN116092479B (zh) * | 2023-04-07 | 2023-07-07 | 杭州东上智能科技有限公司 | 一种基于对比文本-音频对的文本韵律生成方法和*** |
CN117636842B (zh) * | 2024-01-23 | 2024-04-02 | 北京天翔睿翼科技有限公司 | 基于韵律情感迁移的语音合成***及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190348020A1 (en) * | 2018-05-11 | 2019-11-14 | Google Llc | Clockwork Hierarchical Variational Encoder |
CN110782870A (zh) * | 2019-09-06 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 语音合成方法、装置、电子设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040054534A1 (en) * | 2002-09-13 | 2004-03-18 | Junqua Jean-Claude | Client-server voice customization |
TWI573129B (zh) * | 2013-02-05 | 2017-03-01 | 國立交通大學 | 編碼串流產生裝置、韻律訊息編碼裝置、韻律結構分析裝置與語音合成之裝置及方法 |
JP7178028B2 (ja) * | 2018-01-11 | 2022-11-25 | ネオサピエンス株式会社 | 多言語テキスト音声合成モデルを利用した音声翻訳方法およびシステム |
US10699695B1 (en) | 2018-06-29 | 2020-06-30 | Amazon Washington, Inc. | Text-to-speech (TTS) processing |
CN109036375B (zh) * | 2018-07-25 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 语音合成方法、模型训练方法、装置和计算机设备 |
KR20200015418A (ko) * | 2018-08-02 | 2020-02-12 | 네오사피엔스 주식회사 | 순차적 운율 특징을 기초로 기계학습을 이용한 텍스트-음성 합성 방법, 장치 및 컴퓨터 판독가능한 저장매체 |
KR20200080681A (ko) * | 2018-12-27 | 2020-07-07 | 삼성전자주식회사 | 음성 합성 방법 및 장치 |
US11289073B2 (en) * | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11380300B2 (en) * | 2019-10-11 | 2022-07-05 | Samsung Electronics Company, Ltd. | Automatically generating speech markup language tags for text |
KR20210089347A (ko) * | 2020-01-08 | 2021-07-16 | 엘지전자 주식회사 | 음성 인식 장치 및 음성데이터를 학습하는 방법 |
US11830473B2 (en) * | 2020-01-21 | 2023-11-28 | Samsung Electronics Co., Ltd. | Expressive text-to-speech system and method |
US11322133B2 (en) * | 2020-07-21 | 2022-05-03 | Adobe Inc. | Expressive text-to-speech utilizing contextual word-level style tokens |
-
2020
- 2020-08-13 US US16/992,410 patent/US11514888B2/en active Active
-
2021
- 2021-07-27 CN CN202180056199.8A patent/CN116034424A/zh active Pending
- 2021-07-27 WO PCT/US2021/043334 patent/WO2022035586A1/en active Application Filing
- 2021-07-27 KR KR1020237006493A patent/KR102677459B1/ko active IP Right Grant
- 2021-07-27 JP JP2023509803A patent/JP7395792B2/ja active Active
- 2021-07-27 KR KR1020247019410A patent/KR20240096867A/ko unknown
- 2021-07-27 EP EP21756135.6A patent/EP4172984A1/en active Pending
-
2022
- 2022-11-11 US US18/054,604 patent/US20230064749A1/en active Pending
-
2023
- 2023-11-28 JP JP2023200955A patent/JP2024023421A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190348020A1 (en) * | 2018-05-11 | 2019-11-14 | Google Llc | Clockwork Hierarchical Variational Encoder |
CN110782870A (zh) * | 2019-09-06 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 语音合成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11514888B2 (en) | 2022-11-29 |
EP4172984A1 (en) | 2023-05-03 |
US20220051654A1 (en) | 2022-02-17 |
JP2024023421A (ja) | 2024-02-21 |
CN116034424A (zh) | 2023-04-28 |
WO2022035586A1 (en) | 2022-02-17 |
JP7395792B2 (ja) | 2023-12-11 |
KR20240096867A (ko) | 2024-06-26 |
US20230064749A1 (en) | 2023-03-02 |
JP2023535230A (ja) | 2023-08-16 |
KR20230034423A (ko) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102677459B1 (ko) | 2-레벨 스피치 운율 전송 | |
US11664011B2 (en) | Clockwork hierarchal variational encoder | |
US20220068255A1 (en) | Speech Recognition Using Unspoken Text and Speech Synthesis | |
US11393453B2 (en) | Clockwork hierarchical variational encoder | |
US11881210B2 (en) | Speech synthesis prosody using a BERT model | |
KR102594081B1 (ko) | 운율적 특징들로부터 파라메트릭 보코더 파라미터들을 예측하기 | |
US11475874B2 (en) | Generating diverse and natural text-to-speech samples | |
US20230018384A1 (en) | Two-Level Text-To-Speech Systems Using Synthetic Training Data | |
CN118366430A (zh) | 一种拟人化的语音合成方法、装置及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |