KR20210095010A - 표현력 있는 텍스트-대-음성 시스템 및 방법 - Google Patents

표현력 있는 텍스트-대-음성 시스템 및 방법 Download PDF

Info

Publication number
KR20210095010A
KR20210095010A KR1020200062637A KR20200062637A KR20210095010A KR 20210095010 A KR20210095010 A KR 20210095010A KR 1020200062637 A KR1020200062637 A KR 1020200062637A KR 20200062637 A KR20200062637 A KR 20200062637A KR 20210095010 A KR20210095010 A KR 20210095010A
Authority
KR
South Korea
Prior art keywords
module
expressive
sub
representation
speech
Prior art date
Application number
KR1020200062637A
Other languages
English (en)
Inventor
지져스 몽게 알바레즈
성호상
홀리 프란코이스
주기현
최승도
박상준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US17/037,023 priority Critical patent/US11830473B2/en
Publication of KR20210095010A publication Critical patent/KR20210095010A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Landscapes

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

Abstract

개략적으로, 본 문서의 실시예들은 텍스트-대-음성 합성(text-to-speech synthesis)에 대한 방법 및 시스템에 관한 것으로, 특히 입력 텍스트로부터 표현력 있는 음성(expressive speech)이 합성되는 것을 가능하게 하는 시스템에 관한 것이다. 상기 시스템은 발화 속도 및 피치(pitch)와 같은 다른 음성 특성들 뿐만 아니라, 상기 출력되는 표현력 있는 음성의 스타일이 제어되는 것을 가능하게 한다. 따라서, 유리하게, 본 문서의 실시예들은 텍스트로부터 표현력 있는 합성 음성을 생성하는, 제어 가능하고 고객 맞춤 가능한 시스템을 제공한다.

Description

표현력 있는 텍스트-대-음성 시스템 및 방법{EXPRESSIVE TEXT-TO-SPEECH SYSTEM AND METHOD}
본 문서는 텍스트-대-음성 합성(text-to-speech synthesis)에 대한 시스템 및 방법에 관한 것으로, 특히 입력 텍스트로부터 표현력 있는 음성(expressive speech)이 합성되는 것을 가능하게 하는 시스템 및 방법에 관한 것이다.
일반적으로, 텍스트-대-음성(text-to-speech: TTS) 시스템은 (쓰여져 있는) 입력 언어 텍스트를 음성으로 자동 변환(convert)하는 것을 포함한다. TTS 시스템은 텍스트를 소리 내어 읽을 수 있는 컴퓨터 기반 시스템이며, 시각적으로 장애가 있거나 혹은 읽기에 어려움을 가지는 사람들에게 유용하거나, 혹은 언어 장애를 가지는 사람들을 돕는데 유용하다. 임의의 TTS 시스템은 2개의 메인 파트들로 구성된다. 메인 파트들은 프론트-엔드(front-end) 자연어 프로세싱 (natural language processing: NLP) 모듈 및 백-엔드(back-end) 디지털 신호 프로세싱 (digital signal processing: DSP) 모듈을 포함한다. 상기 NLP 모듈은 입력 텍스트의 분석을 수행하여 언어적 특징(feature)들을 식별하고(일 예로, 텍스트 노말라이제이션(text normalisation)을 수행하여, 혹은 문자소(grapheme)들을 음소(phoneme)들로 변환하여, 등), 이에 반해 상기 DSP 모듈은 상기 NLP 모듈에 의해 식별된 언어적 특징들을 사용하여 음성 파형 생성을 수행한다.
현재는, TTS 시스템을 구축하기 위한 연결 합성(concatenative synthesis) 및 통계 기반 파라미터 음성 합성(statistical parametric speech synthesis: SPSS)과 같은 두 가지 메인 접근 방식들이 존재한다.
연결 합성은 자연스럽고, 사전 녹음된 유닛들(단어들, 음절들, 다이폰(diphone)들, 음소들, 등과 같은)을 연결하여 음성을 생성하는 데이터-드리븐(data-driven) 접근 방식이다. 상기 연결 합성은 매우 양호한 음질을 제공하지만, 상기 시스템이 업데이트되어야 할 필요가 있을 때마다 사전 녹음된 유닛들의 인벤토리(inventory)가 다시 구축되어야만 하기 때문에 유연성이 부족하다. 또한, 상기 시스템의 강성(rigidity)은 특정 음성 특성(characteristic)들을 프로소딕(prosodic) 정보와 같은 상기 합성된 음성으로 전달하는 것을 어렵게 한다. 상기 프로소딕 정보는 개별적인 음성 세그먼트(phonetic segment)들이 아니지만, 음절들의 속성(property)들인 음성 엘리먼트(element)들, 혹은 억양, 톤, 스트레스 및 리듬과 같은 보다 큰 음성 단위들을 포함한다. 프로소딕 정보는 상기 발언자의 다양한 특징, 혹은 상기 발언이 진술, 질문 또는 명령인지, 혹은 상기 발언이 아이러니 혹은 풍자(sarcasm)를 포함하는 지와 같은 상기 발언 자체의 다양한 특징을 반영할 수 있다.
통계 기반 파라미터 음성 합성 (statistical parametric speech synthesis: SPSS)은 NLP로 식별된 상기 언어적 특징들을 상기 음성 파형을 생성하기 위해 보코더(vocoder)에 의해 사용될 수 있는 음향 특징들로 변환하는 통계 기반 모델을 구축하는 것을 목표로 한다. 기존의 SPSS 시스템들은 은닉 마르코프 모델들(hidden Markov models: HMM)을 기반으로 하는 통계 기반 음향 모델들을 포함한다. 이 접근 방식은 음성 특성들을 변경하는 유연성 및 강인성(robustness) 등과 같이 연결 합성에 비해 다양한 장점들을 가진다. 그러나, SPSS의 주요 제한 사항은 상기 보코더의 품질 및/또는 HMM을 기반으로 하는 상기 음향 모델의 품질로 인한 음성 품질의 저하이다.
최근에는, 딥 신경 네트워크들(deep neural networks: DNN)이 통계 기반 모델링을 수행하는 능력과 상기 통계 기반 모델링들을 구현하는 데 필요로 되는 하드웨어 및 소프트웨어의 유용성으로 인해 강력한 툴(tool)로 등장했다. 도 1은 기존의 딥 신경 네트워크 기반 텍스트-대-음성 시스템의 블록 다이어그램으로, 여기서 딥 신경 네트워크는 프론트-엔드 NLP 모듈, 음향 모델 모듈 및 보코더 모듈과 같은 3개의 모듈들을 구축하기 위해 SPSS 시스템 내에서 사용되고 있다. 지난 몇 년 동안, 여러 DNN 아키텍쳐(architecture)들이 클래식한 신호 프로세싱 기반 최신 TTS보다 그 성능이 뛰어났다. 일 예로, 음향 모델들인 Tacotron 2(Shen et. al., "Natural TTS synthesis by conditioning WaveNet on Mel spectrogram predictions"), Tacotron-GST(Wang et. al., "Style tokens: unsupervised style modelling, control and transfer in end-to-end speech synthesis"), 및 DC-TTS(Tachibana et. al., "Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention")와, 보코더들인 WaveNet(van den Oord et. al., "WaveNet: a generative model for raw audio"), 및 LPCNet(J-M Valin and J. Skoglund, "LPCNet: improving neural speech synthesis through linear prediction"). 또한, 전체 파이프라인(pipeline)을 커버하는 제안들도 있었다(일 예로, Char2Wav (Sotelo et. al., "Char2Wav: end-to-end speech synthesis").
상기에서 설명한 바와 같은 많은 음향 모델들은 단순히 중립 스타일(neutral style) 음성을 생성한다. 그러나, 청취자와의 보다 자연스러운 상호 작용은 다른 스타일들, 발화 속도(speaking rate) 및 피치(pitch)로 합성된 음성을 필요할 수 있다. Tacotron-GST는 스타일 전달을 수행하는 표현력 있는 TTS 엔진이다. 이 시스템에서, 상기 사용자는 상기 입력 텍스트뿐만 아니라 상기 합성된 음성으로 복사되어야만 하는 스타일을 가지는 오디오 기준 파일(audio reference file)을 제공한다. Tacotron-GST가 음성 품질을 심각하게 저하시키지 않으면서 우수한 스타일 변환을 제공할 지라도, 상기 Tacotron-GST의 메인 단점들은 상기 Tacotron-GST의 아키텍처에 포함되어 있는 많은 순환 계층(recurrent layer)들의 존재로 인한 긴 트레이닝 시간 및 상기 스타일 및 피치 혹은 발화 속도와 같은 다른 음성 속성(property)들의 제한된 제어 가능성(controllability)이다. 또한, WaveNet과 같은 신경 보코더들은 초당 수십억 개의 부동-소수점 연산들(GFLOPS)을 필요로 한다. 따라서, Tacotron-GST와 같은 음향 모델과 WaveNet과 같은 보코더를 함께 적용하는 것은 도 1의 상기 DSP 파트의 연산 복잡도가 그 연산 능력들 및 에너지 소모가 제한되는 디바이스들 상의 배치를 불가능하게 할 정도로 만든다.
본 문서는 표현력 있는 합성 음성을 생성할 수 있는 개선된 TTS 시스템에 대한 필요성을 인식하였다.
본 문서의 다양한 실시예에 따른 표현력 있는 음성(expressive speech)을 합성하는 시스템은 음성으로의 변환을 위한 입력 텍스트를 수신하는 인터페이스, 메모리 및 메모리에 연결되는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하고, 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 획득하고, 상기 획득한 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성할 수 있으며, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)일 수 있다.
다양한 실시예들에 따른 표현력 있는 음성(expressive speech)을 합성하는 방법은 표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하는 과정, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)이고; 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성하는 과정을 포함할 수 있다.
다양한 실시예들에 따른 비일시적 저장 매체에 있어서, 상기 프로그램은, 프로세서에 의한 실행 시, 상기 프로세서가, 표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하는 과정, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)이며, 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성하는 과정을 수행하도록 실행 가능한 명령을 포함할 수 있다.
본 문서의 다양한 실시예들은 텍스트-대-음성(text-to-speech) 합성에 대한 방법 및 시스템은 입력 텍스트로부터 표현력 있는 음성(expressive speech)이 합성되는 것을 가능하게 함으로써, 상기 시스템은 발화 속도(speaking rate) 및 피치(pitch)와 같은 다른 음성 특성(characteristic)들뿐만 아니라, 상기 출력되는 표현력 있는 음성의 스타일(style)이 제어되는 것을 가능하게 할 수 있다. 따라서, 본 문서의 다양한 실시예들은 텍스트로부터 표현력 있는 합성 음성을 생성하기 위한, 제어 가능하고, 고객 맞춤 가능한 시스템을 제공할 수 있다.
본 문서의 다양한 실시예들의 구현들은 이제 첨부 도면들을 참조하여 단지 일 예로서 설명 될 것이다:
도 1은 종래의 딥 신경 네트워크(deep neural network) 기반 텍스트-대-음성 시스템의 블록도이다;
도 2는 본 기술들에 따른 표현력있는 텍스트-대-음성 합성(expressive text-to-speech synthesis) 시스템의 블록도이다;
도 3은 도 2의 시스템을 사용하여 표현력 있는 음성을 합성하는 예제 단계들의 흐름도이다;
도 4a는 도 2의 시스템의 음향 모델 및 예제 표현성 특성화 모듈의 블록도이다;
도 4b는 도 2의 시스템의 보다 구체적인 블록도이다;
도 5a는 종래의 기준 인코더의 블록도이고, 도 5b는 표현성 특성화 모듈의 기준 인코더의 블록도이다;
도 6은 도 2의 시스템의 다른 예제 표현성 특성화 모듈의 블록도이다;
도 7은 조정 웨이팅(conditioning weighting)을 가지는 1D 확장된 컨볼루션 계층(1D dilated convolutional layer)의 블록도이다;
도 8은 도 2의 시스템을 사용하여 표현 벡터들을 생성하는 노말 추론 모드, 및 추가적인 표현 커스터마이제이션(customisation)을 위해 보간/외삽을 사용하여 새로운 표현 벡터들을 생성하는 추론 모드를 도시한 개략도이다;
도 9는 음성 특성들을 커스터마이징하는(customising) 노말 추론 모드와, 보간/외삽을 사용하여 음성 특성들을 추가적으로 커스터마이징하는 추론 모드를 도시하고 있는 개략도이다;
도 10은 낮은, 노말, 및 높은 피치(pitch)에 대한 표현 벡터의 3 가지 특징들의 박스플롯(boxplot) 리프리젠테이션(representation)들을 도시하고 있다;
도 11은 표현 벡터의 선형 특징에 대한 오프셋 연산의 리프리젠테이션을 도시하고 있다.
이하, 첨부된 도면들을 참조하여 일 실시예에 따른 텍스트-대-음성 합성 시스템에 대해서 살펴본다. 실시예들에서 이용되는 사용자라는 용어는 텍스트-대-음성 합성 시스템(예, 텍스트-대-음성 합성을 위한 전자 장치)을 사용하는 사람 또는 상기 시스템을 사용하는 장치(예를 들어, 인공지능 전자 장치)를 지칭할 수 있다.
도 2는 본 기술들에 따른 표현력 있는 텍스트-대-음성 합성 시스템(100)의 블록도이다.
일 실시예에 따른 표현력 있는 음성 합성 시스템은(도 1에 도시되어 있는 바와 같은) 기존의 딥 신경-네트워크(deep neural-network) 기반 SPSS 시스템들의 수정이다. 상기 시스템(100)은 소비자 전자 디바이스와 같은 장치 내에서 전체적으로 구현될 수 있다. 상기 소비자 전자 디바이스는 스마트 폰, 태블릿, 랩탑, 컴퓨터 또는 컴퓨팅 디바이스, 가상 보조 디바이스, 로봇 또는 로봇 디바이스, 소비자 상품/기기(일 예로, 스마트 냉장고), 사물 인터넷 디바이스, 또는 이미지 캡쳐 시스템/디바이스와 같은 임의의 사용자 디바이스가 될 수 있으며, 이에 제한되지는 않는다. 상기 시스템 (100)의 일부 파트들 또는 기능들은 디바이스들, 일 예로, 클라우드 스토리지(cloud storage) 또는 클라우드-기반/원격 서버들에 걸쳐 분산될 수 있다.
상기 시스템(100)은 음성으로의 변환(conversion)을 위한 입력 텍스트를 수신하는 인터페이스(102) 및 상기 합성된 음성을 출력하는 인터페이스(110)를 포함한다. 상기 시스템 (100)은 상기 시스템이 입력들을 수신 및/또는 출력들을 생성하는 것을 가능하게 하는 다른 인터페이스들(도시되어 있지 않음)을 포함할 수 있다(일 예로, 표현 벡터들의 사용자 선택들, 등).
상기 시스템(100)은 메모리(도시되어 있지 않음)에 연결되어 있는 적어도 하나의 프로세서를 포함할 수 있다. 상기 적어도 하나의 프로세서는 표현성 특성화 모듈(expressivity characterisation module)(104)을 사용하여 다수의 표현 벡터들을 생성한다. 여기서, 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서 프로소딕 정보(prosodic information)의 리프리젠테이션(representation)일 수 있다, 상기 시스템(100)은 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델(106)을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성한다.
상기 적어도 하나의 프로세서 또는 프로세싱 회로(도시되어 있지 않음)는 상기 시스템(100)의 신경 네트워크(들)의 전부 또는 일부를 실행시키는 것과 같이 상기 시스템(100)에 의해 수행되는 다양한 프로세싱 동작들을 제어한다. 상기 프로세서는 데이터를 프로세싱하고, 상기 프로세싱에 응답하여 출력 데이터를 생성하는 프로세싱 로직(processing logic)을 포함할 수 있다. 상기 프로세서는 마이크로프로세서, 마이크로제어기, 및 집적 회로 중 하나 혹은 그 이상을 포함할 수 있다. 상기 프로세서 자체는 신경 네트워크를 실행시키기 위해 상기 시스템(100)에 대해 유용한 컴퓨팅 자원들을 포함할 수 있다. 즉, 상기 시스템 (100)은 중앙 프로세싱 유닛(central processing unit: CPU), 그래픽 프로세싱 유닛(graphics processing unit: GPU), 신경 프로세싱 유닛 (neural processing unit: NPU) 및 디지털 신호 프로세서 (digital signal processor: DSP) 중 하나 혹은 이상을 포함할 수 있다. 이들 컴퓨팅 자원들 중 어느 하나는 상기 신경 네트워크(들)의 전부 또는 일부를 실행시키기 위해 상기 시스템(100)에 의해 사용될 수 있다.
상기 시스템(100)은 상기 표현력 있는 음향 모델(106)에 의해 생성되는 음향 특징(feature)들을 이용하여 음성(110)을 합성 및 출력하는 보코더(vocoder)(108)를 포함할 수 있다. 상기 보코더는 JM Valin 및 J. Skoglund의 "LPCNet: improving neural speech synthesis through linear prediction"에서 설명되어 있는 바와 같은, LPCNet 모델을 포함할 수 있다.
상기 시스템(100)은 상기 표현성 특성화 모듈(104)에 의해 생성되는 기준 오디오 스타일 파일들을 위한 표현 벡터들을 저장하는 스토리지(storage)(도시되어 있지 않음)를 포함할 수 있다. 스토리지는 임시 메모리로서 사용하기 위한 랜덤 억세스 메모리(random access memory: RAM)와 같은 휘발성 메모리 및/혹은 일 예로, 데이터, 프로그램들 또는 인스트럭션(instruction)들을 저장하는, 플래시, 리드 온니 메모리(read only memory: ROM) 또는 전기적 소거 가능 프로그램 가능 ROM(electrically erasable programmable ROM: EEPROM)과 같은 비-휘발성 메모리를 포함할 수 있다.
도 3은 도 2의 시스템을 사용하여 표현력 있는 음성을 합성하는 예제 단계들의 흐름도이다.
상기 시스템의 음향 모델이 트레이닝되면, 상기 음향 모델은 입력 텍스트로부터 실시간으로 혹은 거의 실시간으로 표현력 있는 음성을 합성하는데 사용될 수 있다. 상기 음성에 표현성을 포함시키기 위해서, 표현성 정보가 상기 음향 모델에 주입된다. 표현성 정보는 상기 표현성 특성화 모듈을 사용하여 복수의 표현 벡터들을 생성함으로써 성취될 수 있다.(단계 S100). 여기서 각 표현 벡터는 기준 오디오 스타일 파일에서 프로소딕 정보의 리프리젠테이션(representation)이다
시스템은 음성으로 합성될 입력 텍스트를 수신할 수 있다(단계 S102).
시스템은 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크를 포함하는 표현력 있는 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성할 수 있다.(단계 S104 및 단계 S106). 보다 구체적으로, 시스템은 상기 음향 모델로부터 음향 특징들을 출력하고(단계 S108), 이런 음향 특징들을 보코더로 입력시켜 상기 음향 특징들을 사용하여 표현력 있는 음성을 합성하도록 한다 (단계 S110).
도 4a는 도 2의 시스템의 음향 모델(106) 및 예제 표현성 특성화 모듈(104)의 블록도이다(대안적인 표현성 특성화 모듈이 도 6에 도시되어 있다).
상기에서 설명된 바와 같은 종래의 음향 모델들 중 일부에서, 표현성 정보는 어텐션 모듈(attention module)의 입력에서 상기 벡터들의 연결(concatenation)을 사용하여 음성 합성과 결합된다. 이 기술은 Tacotron GST와 같은 복잡한 순환 음향 모델들과 잘 작동하지만, 이 기술은 효율적인 컨볼루션 시퀀스-대-시퀀스 모델(sequence-to-sequence model)(여기에서 설명되는 본 음향 모델과 같은)과 함께 사용될 때는 효과적이지 않으며, 표현성이 획득되지 않는다. 이러한 타입의 아키텍쳐로 표현력 있는 합성을 성취하기 위해 신규한 표현 주입 방법이 개발되었다.
본 문서의 일 실시예의 표현력 있는 음향 모델(106)은 상기 입력 텍스트의 언어적 특징들(일 예로, 음소들)과 음향 특징들(일 예로, 상기 언어적 특징들에 상응하는 사운드(sound)들) 사이의 관계를 학습한다. 다시 말해서, 상기 표현력 있는 음향 모델은 시퀀스-대-시퀀스 모델링을 수행한다. 상기 표현력 있는 음향 모델은 모두 확장된 컨볼루션 계층(dilated convolutional layer)들을 기반으로 할 수 있거나, 혹은 확장된 컨볼루션 계층들을 포함할 수 있는 다수의 서브-모듈을 포함한다.
상기 신규한 표현 주입 기술은 조정 웨이팅 기술(conditioning weighting technique)을 포함하며, 이는 상기 오디오 인코더 및/또는 오디오 디코더 모듈들의 모든 컨볼루션 계층들에 적용된다. 도 4a에 도시되어 있는 예제에서, 상기 조정은 상기 오디오 인코더 및 오디오 디코더 둘 다에 적용된다. 일 실시예는 상기 조정 입력 - 즉, 상기 표현 벡터 - 및 상기 오디오 인코더 및 오디오 디코더 모듈의 각 계층에서 상기 확장된 컨볼루션 계층들의 원래 입력을 결합한다(도 7 참조). 이런 방식으로, 상기 음향 모델 (106)의 최종 출력은 상기 기본 시퀀스-대-시퀀스 TTS 문제점을 해결하고, 상기 상응하는 표현 벡터에 의해 상기 기준 파일에서의 스타일을 전달하는 역할을 한다.
도 7은 조정 웨이팅(conditioning weighting)을 가지는 1D 확장된 컨볼루션 계층(1D dilated convolutional layer)의 블록도이다.
상기 표현성 특성화 모듈의 출력은 기준 발화(utterance)의 표현성을 특성화하는 표현 벡터이다. 상기 표현력 있는 음향 모델(106)은 상기 합성된 음성으로 상기 표현성을 전달하기 위해 이 정보를 어떻게든 활용해야만 한다. 상기에서 설명한 바와 같이, 이 새로운 음향 모델 (106)은 상기 음향 모델(106)의 오디오 인코더 및/또는 오디오 디코더의 모든 확장된 컨볼루션 계층에 조정 웨이팅을 적용한다. 먼저, 완전-연결 (fully-connected: FC) 계층은 상기 표현성 특성화 모듈에 의해 출력되는 표현 벡터를 필요로 되는 차원(일 예로, 256 차원들)의 텐서(tensor)로 변환하는데 사용된다. 상기 텐서는 이 축에서 (상기 오디오 디코더/인코더의) 1D 확장된 컨볼루션 계층의 출력의 차원과 매치(match)되도록 시간 축에 타일된다(tiled). 두 텐서들(즉, 상기 1D 확장된 컨볼루션 계층의 출력 및 상기 조정 입력)은 엘리먼트-와이즈(element-wise) 추가된다. 최종적으로, 상기 필요로 되는 활성화 기능이 상기 결과에 적용된다. 이러한 방식으로, 상기 표현성은 상기 오디오 디코더에 의해 생성되는 상기 음향 특징들에 통합되었다.
도 4b는 도 2의 시스템의 보다 구체적인 블록도이다. 상기 시스템은 상기 표현성 특성화 모듈(104) 및 음향 모델(106)을 포함한다.
상기 표현성 특성화 모듈(104)은 트레이닝 가능한 신경 네트워크를 포함한다. 상기 표현성 특성화 모듈(104)은 상기 음향 모델(106)의 일부일 수 있거나, 상기 음향 모델(106)과 분리될 수 있다. 상기 표현성 특성화 모듈(104)은 노말 추론 모드(normal inference mode) 동안 사용될 수 있거나, 혹은 트레이닝 모드 동안 표현 벡터들을 생성하는데 사용될 수 있다. 사전-저장된 표현 벡터들이 보간/외삽 추론 모드에서 사용될 때, 상기 표현성 특성화 모듈(104)은 상기 보간/외삽 추론 모드에서는 필요로 되지 않을 수 있다(하기의 도 8 및 도 9를 참조할 것). 어느 한 케이스에서, 상기 표현성 특성화 모듈(104)은 상기 음향 모델(106)(즉, 상기 수정된 DC-TTS 음향 모델)의 상기 딥 컨볼루션 신경 네트워크 계층들을 조정하기 위해 사용되는 표현 벡터를 생성하는데 사용된다. 상기 표현성 특성화 모듈(104)은 입력 기준 파일의 표현성을 특성화하고, 이 표현성 정보의 리프리젠테이션을 생성하는 트레이닝 가능 서브-모듈들을 포함한다. 그 출력 또는 사전 저장된 벡터는 상기 표현력 있는 음향 모델(106) - 특히, 상기 음향 모델(106)의 오디오 인코더 및/혹은 오디오 디코더 서브-모듈들 - 에 대한 조정 입력으로 사용되고, 따라서 상기 기준 스타일이 상기 합성된 음성으로 복사될 수 있다.
상기 표현성 특성화 모듈(104)은 기준 오디오 스타일 파일을 수신하는 인터페이스(도시되어 있지 않음), 상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보를 고정 길이 벡터로 압축하는 기준 인코더 서브-모듈을 포함한다. 상기 기준 오디오 스타일 파일은 특정 스타일 또는 음성 특성을 나타내는 사전 녹음 오디오 파일이다. 일 예로, 상기 기준 오디오 스타일 파일은 "행복한(happy)", "친숙한(friendly)", "화가 나는(angry)", "엄격한(stern)" 등과 같은 스타일을 나타낼 수 있고, 및/혹은 빠른 발화 속도, 느린 발화 속도, 더 높은 평균 피치, 더 낮은 평균 피치, 노말 평균 피치, 노말 발화 속도, 등과 같은 음성 특성을 나타낼 수 있다.
상기 기준 인코더 서브-모듈은 상기 고정 길이 벡터를 생성하기 위한 다수의 2 차원 컨볼루션 계층들을 포함할 수 있다. 상기 기준 인코더 서브-모듈은 최대 풀링(max pooling) 계층들, 잔류 연결(residual connection)들, 게이트 순환 유닛(gated recurrent unit: GRU) 계층, 및 완전-연결 (fully-connected: FC) 계층을 더 포함할 수 있다.
상기 표현성 특성화 모듈(104)은: 어텐션 서브-모듈(attention sub-module)을 포함하며, 상기 어텐션 서브-모듈은 상기 기준 인코더 서브-모듈로부터 상기 고정 길이 벡터를 수신하고, 상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보에 상응하게 웨이트(weight)들의 집합을 생성하고, 상기 기준 오디오 스타일 파일에 대해, 상기 웨이트들의 집합을 포함하는 표현 벡터를 출력한다. 상기 표현 벡터는, 경우에 따라, 256-차원 표현 벡터가 될 수 있지만, 이는 비-제한적인 예제 벡터 사이즈이다. 상기 어텐션 서브-모듈은 멀티-헤드(multi-head) 어텐션 서브-모듈이 될 수 있다.
어텐션 서브-모듈 대신에, 상기 표현성 특성화 모듈은 상기 기준 인코더 서브-모듈 및 변형 자동인코더(variational autoencoder: VAE) 서브-모듈을 포함할 수 있다.
도 6은 도 2의 시스템의 다른 예제 표현성 특성화 모듈의 블록도이다. 여기서, 상기 표현성 특성화 모듈은 다수의 완전-연결 계층들을 포함하는 변형 자동인코더 서브-모듈을 포함하며, 상기 변형 자동인코더 서브-모듈은 상기 기준 인코더 서브-모듈로부터 상기 고정 길이 벡터를 수신하고, 상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보에 상응하게 잠재 공간(latent space)를 생성하고. 상기 기준 오디오 스타일 파일에 대한 표현 벡터를 출력한다. 상기 표현 벡터는, 경우에 따라, 64-차원 표현 벡터가 될 수 있지만, 이는 비-제한적인 예제 벡터 사이즈이다. 따라서, 어텐션 서브-모듈이 사용되던지 혹은 VAE 서브-모듈이 사용되던지, 상기 출력은 동일하다. 상기 표현 벡터는 상기 음향 모델(106)로 주입될 것이다.
상기 표현력 있는 음향 모델(106)은 트레이닝 가능한 신경 네트워크를 포함한다. 상기 표현력 있는 음향 모델(106)은 상기 입력 텍스트의 언어적 특징들(일 예로, 음소들)과 음향 특징들(일 예로, 상기 언어적 특징들에 상응하는 사운드들) 간의 관계를 학습한다. 다시 말해서, 상기 표현력 있는 음향 모델(106)은 시퀀스-대-시퀀스 모델링을 수행한다. 상기 표현력 있는 음향 모델은 모두 확장된 컨벌루션 계층들을 기반으로 할 수 있는, 혹은 확장된 컨벌루션 계층들을 포함할 수 있는 다수의 서브-모듈들을 포함한다. 도 4b에 도시되어 있는 예제에서, 상기 표현력 있는 음향 모델(106)은 텍스트 인코더, 오디오 인코더, 가이드 어텐션(guided attention), 및 오디오 디코더와 같은 4개의 서브-모듈들을 포함한다.
상기 오디오 인코더 서브-모듈은 사전-녹음된 혹은 사전-합성된 음성 특징들을 수신하고, 상기 수신된 음성에 상응하는 벡터를 생성하도록 구성될 수 있다. 상기 표현력 있는 음향 모델(106)은 두 가지 방식들로 사용될 수 있다. 첫 번째로, 상기 표현력 있는 음향 모델은 트레이닝을 위해, 즉 언어적 특징들과 음향적 특징들 간의 상기에서 설명한 바와 같은 관계를 학습하기 위해 사용될 수 있다. 이 경우, 상기 표현력있는 음향 모델은 입력 텍스트 및 상기 입력 텍스트에 상응하는 사전 녹음된 음성(또는 사전 합성된 음성)을 사용하여 트레이닝될 수 있다. 일 예로, 상기 입력 텍스트는 문장(예, "This is a patent application for a text-to-speech synthesis system")이 될 수 있다.그리고 상기 사전 녹음된 혹은 사전 합성된 음성은 이 문장을 읽고/말하는 인간의 혹은 컴퓨터 음성이다. 두 번째로, 상기 표현력 있는 음향 모델은 새로운 입력 텍스트로부터 새롭게 합성된 음성을 생성하기 위해 실시간으로 사용될 수 있다. 이 경우, 상기 표현력 있는 음향 모델은 생성된 음성의 이전 오디오 프레임을 사용할 수 있다(일 예로, 자기-회귀(auto-regression)를 통해).
경우에 따라, 상기 오디오 인코더 서브-모듈은 상기 다수의 생성된 표현 벡터들 중 적어도 하나를 수신하고, 상기 수신된 표현 벡터에 의해 조정되는, 상기 수신된 음성에 상응하는 벡터를 생성할 수 있다. 바람직하게는, 이는 상기 오디오 인코더 서브-모듈이 상기 수신된 표현 벡터에 의해 나타내지는 표현성을 고려하는 것을 가능하게 하므로 상기 합성된 음성은 표현성을 포함한다.
상기 다수의 생성된 표현 벡터들 중 적어도 하나를 수신하는 단계는 사용자-선택 표현 벡터를 수신하는 단계를 포함할 수 있다. 즉, 사용자는 상기 사용자가 상기 합성된 음성이 특정 스타일(일 예로, "행복한") 또는 특정 음성 특성(일 예로, "느린 발화 속도")을 갖기를 원한다고 명시할 수 있다. 대안적으로, 상기 다수의 생성된 표현 벡터들 중 적어도 하나를 수신하는 단계는 상기 수신된 입력 텍스트가 획득되는 컨텍스트(context)에 적합하도록 선택된 표현 벡터를 수신하는 단계를 포함한다. 일 예로, 상기 입력 텍스트가 뉴스 웹 사이트로부터 수신될 경우, 표현 벡터는 "차분한(sombre)" 혹은 "중립(neutral)" 스타일을 가지도록 선택될 수 있고, 따라서 상기 뉴스가 적합한 톤으로 읽혀 진다. 다른 예제에서, 상기 입력 텍스트가 어린이를 위한 이야기로부터 수신될 경우, 표현 벡터들은 "행복한" 또는 "친근한" 스타일 및 "느린 발화 속도"를 나타내도록 선택될 수 있다. 이런 선택은 상기 컨텍스트를 기반으로 자동으로 이루어질 수 있다.
상기 오디오 인코더 서브-모듈에 의해 수신되는 음성은 다수의 오디오 프레임들을 포함할 수 있고, 각 오디오 프레임은 특징 벡터를 포함한다. 상기 특징 벡터는 20 개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징을 포함할 수 있다. 상기 20개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징은 LPCNet 보코더에 의해 필요로 된다.
상기 오디오 인코더에 도달하기 전에, 상기 각 오디오 프레임의 특징 벡터는 노말라이즈되어 피드백 채널 선택 모듈을 통해 패스된다. 상기 노말라이제이션 프로세스는 전체 특징 집합의 평균 및 표준 편차를 사용할 수 있다. 여기서, 상기 특징 집합은 상기 입력 데이터를 구성하는 모든 특징 벡터들이다. 상기 원래의 DC-TTS는 디코딩 단계 별로 상기 음향 특징들의 매 4 개의 프레임들 중 하나만을 생성하고, 이후에 보조 업샘플링 네트워크(secondary upsampling network)(Tachibana 등에 의한 스펙트로그램 초해상화 네트워크(Spectrogram Super Resolution Network) 혹은 SSRN에서 설명된 바와 같은("Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention"))가 나머지 3개의 프레임들을 생성하기 위해 사용된다. 다양한 실시예들에서, 이 업샘플링 네트워크를 피하기 위해 피드백 선택 채널 모듈이 포함될 수 있고, 따라서 상기 모든 프레임들은 상기 시퀀스-대-시퀀스 아키텍처만을 사용하여 생성될 수 있다. 따라서, 상기 오디오 인코더로의 최종 입력은 각각이 상기 음향 특징 집합의 4 개의 인접 프레임을 나타내는 25 개의 특징들을 포함하는 특징 집합을 포함하는 다수의 오디오 프레임들이 될 수 있다. 구체적으로, 상기 25 개의 특징들은 상기 제 1 오디오 프레임의 22 개의 특징들, 및 상기 제 2, 제 3 및 제 4의 인접 프레임들의 DC 컴포넌트(component)(즉, 제 1 Bark-기반 캡스트럼 계수)를 포함할 수 있다.
상기 텍스트 인코더 서브-모듈은 상기 입력 텍스트의 언어적 특징을 기반으로 가이드 어텐션 모듈에 대한 키들 및 값들을 생성한다. 따라서, 상기 텍스트 인코더 서브-모듈은, Tachibana 등의 "Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention"에서 설명된 바와 같이, 상기 수신된 입력 텍스트에 상응하는 음소들 또는 문자소(grapheme)들을 수신하고, 상기 수신된 입력에서 각 음소 혹은 문자소의 값을 나타내는 제1 행렬 V를 생성하고, 각 값과 연관되는 고유 키를 나타내는 제2 행렬 K를 생성한다.
상기 가이드 어텐션 서브-모듈은 상기 생성된 행렬과 상기 생성된 제 1 및 제 2 행렬들을 비교하고, 상기 수신된 입력 텍스트에서의 각 문자(character) 혹은 음소와 상기 매트릭스에서 나타내지는 사운드(sound)와의 유사성을 결정하도록 구성될 수 있다. 다시 말해서, 상기 가이드 어텐션 서브-모듈은 상기 음향 특징들의 n 번째 음소 및 t 번째 프레임이 얼마나 강하게 관련되는지 평가한다. 이는 내적 기반 어텐션 메카니즘(dot-product-based attention mechanism)이다. 음소들의 순서와 음향 프레임들 간의 관계가 시간에 따라 거의 선형적이라는 사실을 활용하는 웨이팅 기능(weighting function)을 적용하기 때문에 '가이드(guided)'이다. 이 모듈은 Tachibana 등의 "Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention"에서 설명되는 바와 같이 상기 원래의 DC-TTS로부터 변경되지 않는다.
상기 오디오 디코더 서브-모듈은 상기 가이드 어텐션 서브-모듈의 출력을 기반으로, 상기 보코더에 대한 입력으로서 필요로 되는 상기 음향 특징들을 생성한다. 상기 오디오 디코더 서브-모듈은 상기 오디오 인코더에 의해 사용되는 상기 생성된 표현 벡터를 수신하고, 상기 수신된 표현 벡터에 의해 조정되는 상기 가이드 어텐션 서브-모듈의 출력에 상응하는 음향 특징들을 생성할 수 있다. 유리하게는, 이는 상기 오디오 디코더 서브-모듈이 상기 수신된 표현 벡터에 의해 나타내지는 표현성을 고려하는 것을 가능하게 할 수 있다.따라서 상기 표현력 있는 음향 모델의 출력은 상기 합성된 음성을 생성하기 위해 상기 표현력 있는 음향 모델의 출력이 상기 보코더로 송신되기 전에 표현성 정보를 포함한다.
상기 오디오 디코더 서브-모듈에 의해 생성된 음향 특징들은 다수의 오디오 프레임을 나타낼 수 있으며, 각 오디오 프레임은 20 개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징을 포함한다. 즉, 상기 오디오 디코더 서브-모듈의 출력은 상기 보코더에 대해 필요로 되는 포맷일 수 있다(상기 오디오 인코더에 관해 상기에서 설명된 바와 같이).
상기 시스템은 상기 오디오 디코더 서브-모듈에 의해 생성된 상기 음향 특징들을 사용하여 음성을 합성하는 보코더(108)를 더 포함할 수 있다. 상기 보코더는 J-M Valin 및 J. Skoglund의 "LPCNet: improving neural speech synthesis through linear prediction"에서 설명된 바와 같이 LPCNet 모델을 포함할 수 있다.
상기 오디오 디코더에 의해 출력된 음향 특징들이 상기 보코더(108)로 제공되기 전에, 재형성(reshaping)이 수행될 수 있다. 상기에서 설명된 바와 같이, 상기 새로운 음향 모델(106)은 디코딩 단계 별로 4개의 음향 특징들을 생성해야 하므로, 상기 음향 모델 출력과 보코더 입력 사이에 업샘플링이 필요로 되지 않는다. 이를 성취하기 위해, 상기 오디오 디코더에서 마지막 컨볼루션 계층의 사이즈(즉, 필터들의 개수)가 80(기존 DC-TTS 시스템에서의)에서 88로 수정되었다. 이후에, 이 출력은 도 4b에 도시되어 있는 바와 같이 재형성된다. 이러한 방식으로, 상기 새로운 음향 모델(106)은 각 디코딩 단계의 4개의 프레임들에 대해 필요한 22 개의 특징들을 생성할 수 있다.
상기 수정된 새로운 음향 모델(106)이 상기 LPCNet 보코더와 함께 작동하기 위해 상기 종래의 DC-TTS 시스템의 음향 모델에 대해 많은 다른 수정들이 이루어졌다.
트레이닝 하이퍼-파라미터들(Training hyper-parameters): 상기 원래의 DC-TTS는 고정 레이트 학습을 활용했다. 하지만, 상기 새로운 음향 모델은 기하 급수적으로 감소하는 학습 레이트가 사용될 때 보다 나은 성능을 달성한다.
정규화 방법들(Regularisation methods): 상기 원래의 DC-TTS는 어떤 정규화 방법도 사용하지 않는다. 상기 새로운 음향 모델은 다음과 같은 두 가지 종류의 정규화 방법들을 사용한다: (1) 드롭아웃 (Dropout) - 상기 표현력 있는 음향 모델(106)의 모든 계층들의 출력에서 적용된다; (2) L2 웨이트 정규화(L2 weight regularisation) - 이는 상기 표현력 있는 음향 모델(106)의 모든 계층들의 웨이트들에 적용된다.
트레이닝 손실들(Training losses): 상기 원래의 DC-TTS는 상기 출력 음향 특징들과 상기 입력 음향 특징들 사이의 평균 절대 오차 (mean absolute error: MAE)와, 상기 가이드 어텐션 모듈의 손실 (GAtt)과, 상기 이진 다이버전스(binary divergence: BinDiv) 손실을 합한 값을 사용하여 트레이닝되었다: LDC-TTS = LMAE + LGAtt + LBinDiv. 본 기술들에서, 상기 음향 모델 (106)은 상기 출력 음향 특징들과 입력 음향 특징들 사이의 평균 제곱 오차 (mean squared error: MSE)와, 상기 가이드 어텐션 모듈의 손실(GAtt)과, 상기 L2 웨이트 정규화 손실 (L2reg)과, KL 손실을 합한 값을 연산한다: LNEW = LMSE + LGAtt + LL2reg+ LKL.
도 5a는 종래의 기준 인코더의 블록도이고, 도 5b는 상기 표현성 특성화 모듈의 기준 인코더의 블록도이다. 기존의 기준 인코더(Skerry-Ryan 등의 "Toward end-to-end prosody transfer for expressive speech with Tacotron"에서 사용된 바와 같은)는 높은 차원의 스펙트럼 입력 -일 예로, 80-차원Mel 스펙트럼 특징들을 필요로 한다. 이 기존의 기준 인코더 아키텍쳐가 낮은 차원의 cepstral 입력과 함께 사용될 경우, 상기 스타일 전달은 심각하게 저하된다. 본 기술들의 신규한 기준 인코더는 낮은 차수의 cepstral 입력과 함께 사용될 때 상기 스타일 전달을 유지하도록 설계된다 (일 예로, 20개의 Bark Cepstral 특징들). 이런 낮은 차원의 cepstral 입력은 cepstral 입력을 필요로 하는 보코더들(일 예로, LPCNet)과 함께 사용될 때 도메인 미스매치(domain mismatch)를 피하기 위해 필요로 된다.
상기 표현성 특성화 모듈(104)의 새로운 기준 인코더 서브-모듈은 도 5b에 도시되어 있는 바와 같이 2D 컨볼루션 계층들, GRU 계층 및 완전-연결 계층으로 구성된다. 상기 기준 인코더 서브-모듈은 Skerry-Ryan 등에 의해 사용되는 80-차원 Mel-기반 스펙트럼 보다는, 20 개의 Bark-기반 캡스트럼 특징들을 (이러한 특징들의 노말라이즈된 버전(version)들은 또한 상기 오디오 인코더에 대한 입력의 일부로도 사용된다) 입력으로 수신한다. 이 입력은 상기 신호의 스펙트럼 컨텐트(content)의 매우 개략적인(coarse) 리프리젠테이션이기 때문에, 의미있는 프로소디(prosody)를 학습하기 위해서는 보다 복잡한 아키텍쳐가 필요로 되었었다. 따라서, 이를 성취하기 위해, 상기 새로운 기준 인코더 서브-모듈은 잔류 연결들과 선형 및 ReLU 활성화들 둘 다의 조합을 사용하여 특징 맵(feature map)들의 사이즈를 감소시키기 위해 상기 특성화 용량 및 최대-풀링 계층들을 부스트한다(boost). 마지막으로, 상기 GRU 계층은 상기 특징 맵들의 시간적 의존성을 파괴하고, 따라서 상기 전체 발화의 표현은 단일한 표현력 있는 벡터에 의해 나타내진다. 상기 완전-연결 계층은 상기 출력을 상기 희망하는 범위에 맞추기 위해 사용된다.
도 8은 도 2의 시스템을 사용하여 표현 벡터들을 생성하는 노말 추론 모드(normal inference mode), 및 추가적인 표현 커스터마이제이션(customisation)을 위해 보간/외삽(interpolation/extrapolation)을 사용하여 새로운 표현 벡터들을 생성하는 추론 모드를 도시한 개략도이다.
다양한 실시예들에 따른 시스템은 사용자에 의해 희망되는 스타일 및 음성 특성들을 포함하는, 고객 맞춤 가능한 음성이 합성되는 것을 가능하게 한다. 하지만, 가능한 많은 스타일들 및 음성 특성들이 존재하고, 모든 스타일 및 특성 및 그 조합에 대한 기준 오디오 스타일 파일들을 기록하고, 그리고 나서 그와 같은 각 기준 파일에 대한 표현 벡터들을 생성하는 데 시간이 많이 소모될 것이다. 따라서, 다양한 실시예들에 따른 시스템은 유리하게는 보간 및 외삽을 사용하여 일련의 기존 표현 벡터들로부터 희망하는 스타일들 및 특성들을 생성한다.
따라서, 상기 시스템의 메모리에 연결되어 있는, 상기 적어도 하나의 프로세서는 보간 및 외삽 모듈을 사용하여, 표현력 있는 음향 모델에 의해 사용되는 사용자-정의 표현 벡터를 생성하여 상기 입력 텍스트로부터 표현력 있는 음성을 생성하도록 더 구성될 수 있다.
상기 보간 및 외삽 모듈은 스토리지로부터, 각각이 별개의 스타일을 나타내는, 제 1 표현 벡터 및 제 2 표현 벡터를 획득하고, 사용자-정의 스케일러 값(scaler value)을 사용하여, 상기 제 1 표현 벡터와 제 2 표현 벡터 사이에서 선형 보간 또는 외삽을 수행하고, 상기 사용자-정의 표현 벡터를 생성하도록 구성될 수 있다. 상기 사용자-정의 표현 벡터가 생성되면, 새로운 입력 텍스트를 표현력 있는 합성 음성으로 변환하기 위해 실시간으로 상기 사용자-정의 표현 벡터가 사용될 수 있다. 따라서, 상기 사용자-정의 표현 벡터는 (새로운 수신된 입력 텍스트와 함께) 상기 표현력 있는 음향 모델로 입력되어 상기 수신된 입력 텍스트로부터 표현력 있는 음성을 생성할 수 있다.
보다 구체적으로, 본 방법은 상기 사용자가 특정 스타일들을 나타내는 2 개의 사전 저장된 표현 벡터들 사이에서 보간/외삽함으로써 상기 출력 표현을 제어하는 것을 허락하도록 설계되었다. 도 8의 좌측에 도시되어 있는 바와 같이, 다양한 다른 스타일들 또는 음성 특성들을 나타내는 사전 녹음된 음성에 대한 표현 벡터들(expression vectors: ExpVec) - 즉, 상기 표현성 특성화 모듈 (104)의 출력 - 이 생성되고 저장된다. 상기 상응하는 ExpVec는 하기 <수학식 1>과 같은 선형 함수를 기반으로 보간/외삽된다.
Figure pat00001
상기 <수학식 1>에서 파라미터 alpha 는 상기 스케일러의 역할을 한다.
alpha=0일 경우, ExpVec_final는 ExpVec_style1와 동일하다.
alpha=1일 경우, ExpVec_final는 ExpVec_style2와 동일하다.
ㆍ 0<alpha<1일 경우, 두 개의 스타일들간의 보간
alpha>1일 경우, style2 이상의 외삽(extrapolation beyond style2)
alpha<0일 경우, style1 이상의 외삽(extrapolation beyond style1)
상기 결과 ExpVec(ExpVec_final)가 저장되고, 또한 필요로 될 경우, 도 8의 우측에 도시되어 있는 바와 같이 상기 음향 모델(106)에 대한 조정 입력으로서 제공된다.
도 9는 (발화 속도 및 피치 변형들과 같은) 음성 특성들을 커스터마이징하는(customising) 노말 추론 모드와, 보간/외삽을 사용하여 음성 특성들을 추가적으로 커스터마이징하는 추론 모드를 도시하고 있는 개략도이다.
발화 속도 및 피치 변형들의 학습을 촉진하기 위해 데이터 증가(augmentation) 절차가 설계되었다. 트레이닝 데이터의 10 %의 두 개의 그룹들이 각각 상기 트레이닝 데이터 집합에 걸쳐 균등하게 선택된다. 상기 두 개의 그룹들 중 하나는 피치 변형을 위해 사용될 것이고, 상기 두 개의 그룹들 중 나머지 하나는 발화 속도 변형을 위해 사용될 것이다. 표준 오프-라인 툴(off-line tool)은 (1) 발화 속도 변형 학습을 위해, 상기 피치를 변경하지 않는 템포(tempo), 및 (2) 피치 변형 학습을 위해, 상기 템포를 변경하지 않는 피치를 수정하기 위해 사용된다. 발화 속도 변형을 위해서, 상기 상응하는 그룹이 두 번 변환된다: 20% 더 빠름 및 20% 더 느림. 피치 변형에 대해서, 상기 상응하는 그룹 역시 2번 변환된다: 2개의 반음(semitone)들 증가 및 2개의 반음들 감소. 따라서, 상기 추가 데이터는 원래 데이터 집합의 40%가 된다. 마지막으로, 상기 트레이닝 메타데이터(metadata)가 그에 따라 조정된다.
상기 데이터 증가 절차로부터 이익을 얻기 위해, 상기 합성된 음성의 평균 피치 및 발화 속도를 제어하는 방법이 개발되었다. 이 방법은 상기 스타일을 유지하고, 상기 평균 피치 및/또는 발화 속도를 수정하기 위해: 노말 피치 및 발화 속도 기준 오디오 파일의 표현 벡터에 오프셋을 적용하는 것으로 구성된다.
첫 번째 단계는 상기 오프셋 계산이다. 도 8의 왼쪽 부분에 도시되어 있는 상기 노말 추론 모드를 사용하여, 다음과 같은 기준 파일들의 5개의 그룹들(예, 빠른 발화 속도, 느린 발화 속도, 더 높은 평균 피치, 더 낮은 평균 피치, 및 노말 평균 피치 및 발화 속도)의 표현 벡터들이 추출되고 저장된다.
그리고 나서, 상기 피치 혹은 발화 속도 변형에 관련되는 선형 동작을 나타내는 상기 특징들 - 즉, 표현 벡터의 단일 컴포넌트 - 이 검출된다. 도 10은 각 그룹의 표현력 있는 벡터들의 박스플롯(boxplot)들을 사용하여 일부 예제들을 나타낸다 - 특히, 낮은, 노말, 및 높은 피치에 대한 표현 벡터의 3 가지 특징들의 박스플롯(boxplot) 리프리젠테이션들. 상기 기술은 보간/외삽을 할 수 있도록 하기 위해서 뿐만 아니라, 상기 변형 가능성을 고려하기 위해서 오직 선형 특징들에만 초점을 맞추고, 따라서, 상기 출력 평균 피치 또는 발화 속도가 점진적으로 수정된다.
상기 선형 특징들의 오프셋들은 상기에서 설명한 그룹들에 의해 생성되는 분포(distribution)들의 중앙값(median)들 사이의 차이로 계산된다. 이 아이디어는 도 11에 도시되어 있으며, 이는 상기 표현 벡터의 선형 특징에 대한 상기 오프셋 계산의 리프리젠테이션을 보여준다. 나머지 특징들에 대해서는, 상기 오프셋들은 0이다. 이 단계가 끝나면, 다음과 같은 4개의 오프셋 벡터들이 저장된다: 더 낮은 피치 수정을 위한 오프셋 벡터, 더 높은 피치 수정을 위한 오프셋 벡터, 더 느린 발화 속도 수정을 위한 오프셋 벡터, 및 더 빠른 발화 속도 수정을 위한 오프셋 벡터. 상기 오프셋 벡터들은 도 11에 도시되어 있는 바와 같이, 두 개의 스타일들의 보간/외삽으로 노말 추론 및 추론 둘 다에 적용될 수 있다. 상기 오프셋들의 적용은 다음과 같다.
Figure pat00002
상기 <수학식 2>에서 베타(beta)를 사용하여, 상기 사용자는 상기 출력 피치 또는 발화 속도의 변화 정도를 제어할 수 있다.
Figure pat00003
상기 스타일, 피치 및 발화 속도 수정 기술들은 상기 표현성 특성화 모듈의 MHA 서브-모듈 또는 VAE 서브-모듈 둘 다와 함께 사용될 수 있다. 보다 구체적으로, 상기 MHA 서브-모듈이 사용될 때, 발화 스타일(speaking style)(또는 표현)은 피치와 함께 수정될 수 있거나, 또는 발화 스타일은 발화 속도와 함께 수정될 수 있다. 상기 VAE 서브 모듈이 사용될 때, 발화 스타일, 피치 및 발화 속도의 이 세가지 모두는 동시에 그리고 독립적으로 수정될 수 있다. 어느 한 경우에서, 수정 기술들은 서로 호환 가능하며, 음성 품질을 저하시키지 않는다. 하지만, 상기 사전 저장된 표현 벡터들을 제공함으로써 상기 새로운 기준 인코더 및 MHA 모듈들이 추론 시에 실행되지 않기 때문에 상기 수정 기술들은 효율성을 향상시킨다. 따라서, 추론 시, 원래의 DC-TTS에서 Text2Mel이라고 칭해지는 - 원래의 시퀀스-대-시퀀스 모델과 비교하여 상기 새로운 음향 모델의 메인 추가 계산 로드(load)는 표현 주입을 위한 FC 계층들로 인한 것이다.
지금까지, 상기 원래의 DC-TTS 음향 모델의 수정은 LPCNet 보코더와 호환 가능한 표현력 있는 음향 모델을 제공하는 것으로 설명되었었다. 대안적인 구현은 LPCNet과 함께 동작하도록 Tacotron GST(Wang 등의, "Style tokens: unsupervised style modelling, control and transfer in end-to-end speech synthesis")를 직접 수정하는 것이다. 이는 상기에서 설명한 바와 같은, 컨볼루션 기반 음향 모델을 사용할 때 획득되는 더 빠른 트레이닝 시간을 제공하지는 않을 것이지만, Tacotron 기반 모델이 이미 사용 중일 경우 유용한 수정이 될 수 있다. 여기서 상기 LPCNet 보코더는 효율성 이득들을 위해 필요로 된다.
상기 원래의 DC-TTS와 마찬가지로, 상기 Tacotron-GST는 스펙트럼 기반 보코더와 함께 사용되도록 설계되었으므로 상기 음향 모델의 타겟(target)과 출력은 모두 80-차원 Mel-기반 스펙트럼이다. 하지만, 이전에서 설명된 바와 같이, LPCNet은 20개의 노말라이즈된 20 개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징과 같은 사항들을 포함하는 22-차원 특징 집합을 필요로 한다.. 그러므로, 상기 Tacotron-GST의 순환 오디오 디코더 모듈의 입력 및 출력은 상기 LPCNet 특징들을 수용하기 위해(상기에서 설명한 바와 같은) DC-TTS의 상기 오디오 인코더의 입력 및 오디오 디코더 서브-모듈의 출력과 유사한 방식으로 수정되어야만 한다.
상기 Tacotron-GST 기준 인코더는 또한 그 입력으로서 80-차원 Mel-기반 스펙트럼을 수신하도록 설계되었다. 그러나, 상기 음향 모델의 나머지가 상기 LPCNet 특징들을 사용하도록 수정될 경우, 이는 스타일 전달 및 음성 품질에 영향을 줄 것인 미스매치를 초래할 것이고, 따라서 대신에 상기 기준 인코더에 대한 입력으로서 20개의 노말라이즈되지 않은 Bark-기반 캡스트럼 특징들이 사용되어야만 한다. 이 입력은 상기 신호의 스펙트럼 컨텐트의 매우 개략적인 리프리젠케이션이기 때문에, 의미있는 프로소디를 학습하고, 작은 피치 변형과 연관되는 스타일들 - 일 예로, 따듯한(warm) 스타일-에 대한 성공적인 스타일 전달을 획득하기 위해서는 보다 복합한 기준 인코더가 필요로 된다. 따라서, LPCNet과 함께 성공적으로 동작하기 위해서는, 상기 원래의 Tacotron-GST 기준 인코더는 여기에서 제안되고, 도 5b를 참조하여 상기에서 설명된 바와 같은 상기 새로운 인코더로 대체되어야만 한다.
해당 기술 분야의 당업자는 상기에서 최선 모드로 고려될 수 있는 것과 본 기술들을 수행하는 적합한 다른 모드에 대해서 설명하였다고 할지라도, 본 기술들이 상기 바람직한 실시 예들의 설명에서 개시되는 특정 구성들 및 방법들로 제한되지 않아야만 한다는 것을 이해할 것이다. 해당 기술 분야의 당업자는 본 기술들이 넓은 범위의 응용들을 가지고, 상기 실시 예들이 첨부 청구항들에 정의되어 있는 바와 같은 임의의 발명의 개념으로부터 벗어남이 없이 넓은 범위의 수정을 취할 수 있다는 것을 인식할 것이다.
본 문서의 다양한 실시예들의 제1 접근 방식에서 표현력 있는 음성(expressive speech)을 합성하는 시스템을 제공할 수 있다. 상기 표현력 있는 음성을 합성하는 시스템은 음성으로의 변환을 위한 입력 텍스트를 수신하는 인터페이스, 메모리 및 메모리에 연결되는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하고, 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 획득하고, 상기 획득한 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성할 수 있으며, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)일 수 있다.
본 문서의 다양한 실시예는 소비자 전자 디바이스(일 예로, 랩탑들 및 스마트 폰들)와 같은, 제한된 계산 능력들 또는 전력 제약들을 갖는 디바이스들 상에서 구현되는 것이 가능한 표현력 있는 음성을 생성하는 시스템을 제공할 수 있다. 본 문서의 다양한 실시예들은 상기 음향 모델의 출력이 표현을 포함하도록, 표현 또는 표현성 정보 상에서 조정되는 새로운 음향 모델을 제공할 수 있다.
상기 표준 DC-TTS 모델은 순환적인 신경 네트워크 계층들 보다는, 확장된 컨볼루션 신경 네트워크 계층들을 사용하여 높은 효율에 도달한다. 예를 들어, 15 시간의 DC-TTS 트레이닝은 12 일의 Tacotron 트레이닝과 동일한 음성 품질을 제공한다. 그러나 DC-TTS는 표현력 있는 TTS 시스템이 아니며, 오직 중립적인 음성만 재생할 수 있다. 또한, 상기 DC-TTS는 원래 저-품질 스펙트럼 보코더 (Griffin-Lim)를 위해 설계되었었다.
마찬가지로, WaveNet보다 효율적인 다른 신경 보코더들이 존재한다. 예를 들어, LPCNet은 클래식 신호 프로세싱 기술들과 신경 네트워크들을 결합하여 그 계산 로드(load)를 감소시키면서 WaveNet에 균등한 음성 품질을 제공한다. LPCNet은 대략 2.8 GFLOPS를 필요하다. 따라서 스마트폰들 혹은 태블릿들과 같은 소형 디바이스들에서 실시간 합성이 성취될 수 있다. 그러나, LPCNet은 Griffin Lim과 같은 스펙트럼 기반 보코더들과 비교하여 다른 집합의 입력 특징들을 필요로 한다.
본 문서의 다양한 실시예에 따른 시스템은 자기 회귀 시퀀스-대-시퀀스 음향 모델(autoregressive sequence-to-sequence acoustic model)을 포함한다. 상기 음향 모델은 상기에서 설명한 딥 컨볼루션 텍스트-대-음성(deep convolutional text-to-speech: DC-TTS) 음향 모델의 수정이며, LPCNet 보코더와 함께 사용된다. 상기 표준 DC-TTS 음향 모델은 상기 LPCNet 보코더에 의해 필요로 되는 상기 음향 특징들을 생성하도록 본 기술들에서 수정된다. 구체적으로, 상기 표준 DC-TTS 음향 모델은 표현성을 포함하지 않고 스펙트럼 기반 보코더를 위해 설계되었었기 때문에, 본 문서의 다양한 실시예들은 상기 표준 DC-TTS 아키텍처를 수정하여 LPCNet 보코더에 적합한 cepstral 기반의 표현력 있는 음향 특징들을 생성하므로 실시간 음성 합성은 계산이 제한되거나 전력이 낮은 디바이스들에서도 성취될 수 있다. 상기 수정은 피드백 채널 선택 및 재형성(reshaping)을 위한 새로운 기술들, 새로운 기준 인코더 모듈 및 새로운 표현 주입 방법을 포함한다. 또한, 본 문서의 다양한 실시예들은 발화 속도 및 피치와 같은 다른 음성 특성들 뿐만 아니라, 상기 출력되는 표현력 있는 음성의 스타일이 제어되는 것을 가능하게 한다. 따라서, 유리하게, 본 문서의 다양한 실시예들은 텍스트로부터 표현력 있는 합성 음성을 생성하는 제어 가능하고 고객 맞춤 가능한(customisable) 시스템을 제공한다.
상기 표현성 특성화 모듈은 트레이닝 가능한 신경 네트워크를 포함한다. 상기 표현성 특성화 모듈은 상기 음향 모델의 일부일 수 있거나, 상기 음향 모델과 분리될 수 있다. 어느 한 케이스에서, 상기 표현성 특성화 모듈은 상기 음향 모델(즉, 상기 수정된 DC-TTS 음향 모델)의 상기 딥 컨볼루션 신경 네트워크 계층들을 조정하기 위해 사용되는 표현 벡터를 생성하는데 사용된다. 상기 표현성 특성화 모듈은 입력 기준 파일의 표현성을 특성화하고, 이 표현성 정보의 리프리젠테이션을 생성하는 트레이닝 가능 서브-모듈들을 포함한다. 그 출력은 상기 표현력 있는 음향 모델 - 특히, 상기 음향 모델의 오디오 디코더 및 선택적으로 오디오 인코더 서브-모듈들 - 에 대한 조정 입력으로 사용되고, 따라서 상기 기준 스타일이 상기 합성된 음성으로 복사될 수 있다.
상기 표현성 특성화 모듈은 기준 오디오 스타일 파일을 수신하는 인터페이스 및 상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보를 고정 길이 벡터로 압축하는 기준 인코더 서브-모듈을 포함한다. 상기 기준 오디오 스타일 파일은 특정 스타일 또는 음성 특성을 나타내는 사전 녹음 오디오 파일이다. 일 예로, 상기 기준 오디오 스타일 파일은 "행복한(happy)", "친숙한(friendly)", "화가 나는(angry)", "엄격한(stern)" 등과 같은 스타일을 나타낼 수 있고, 및/혹은 빠른 발화 속도, 느린 발화 속도, 더 높은 평균 피치, 더 낮은 평균 피치, 노말 평균 피치, 노말 발화 속도, 등과 같은 음성 특성을 나타낼 수 있다.
상기 기준 인코더 서브-모듈은 상기 고정 길이 벡터를 생성하기 위한 다수의 2 차원 컨볼루션 계층들을 포함할 수 있다. 상기 기준 인코더 서브-모듈은 최대 풀링(max pooling) 계층들, 잔류 연결(residual connection)들, 게이트 순환 유닛(gated recurrent unit: GRU) 계층, 및 완전-연결 (fully-connected: FC) 계층을 더 포함할 수 있다.
상기 표현성 특성화 모듈은 어텐션 서브-모듈(attention sub-module)을 포함하며, 상기 어텐션 서브-모듈은 상기 기준 인코더 서브-모듈로부터 상기 고정 길이 벡터를 수신하고, 상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보에 상응하게 웨이트(weight)들의 집합을 생성하고, 상기 기준 오디오 스타일 파일에 대해, 상기 웨이트들의 집합을 포함하는 표현 벡터를 출력한다. 상기 표현 벡터는, 경우에 따라, 256-차원 표현 벡터가 될 수 있지만, 이는 비-제한적인 예제 벡터 사이즈이다.
경우에 따라, 상기 어텐션 서브-모듈은 멀티-헤드(multi-head) 어텐션 서브-모듈이 될 수 있다.
어텐션 서브-모듈(attention sub-module) 대신에, 상기 표현성 특성화 모듈은 상기 기준 인코더 서브-모듈 및 다수의 완전-연결 계층들을 포함하는 변형 자동인코더 서브-모듈을 포함할 수 있으며, 상기 변형 자동인코더 서브-모듈은 상기 기준 인코더 서브-모듈로부터 상기 고정 길이 벡터를 수신하고, 상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보에 상응하게 잠재 공간(latent space)를 생성하고, 상기 기준 오디오 스타일 파일에 대한 표현 벡터를 출력한다. 상기 표현 벡터는, 경우에 따라, 64-차원 표현 벡터가 될 수 있지만, 이는 비-제한적인 예제 벡터 사이즈이다.
상기 시스템은 상기 표현성 특성화 모듈에 의해 생성되는 기준 오디오 스타일 파일들에 대한 표현 벡터들을 저장하는 스토리지(storage)를 더 포함할 수 있다.
상기 표현력 있는 음향 모델은 트레이닝 가능한 신경 네트워크를 포함한다. 상기 표현력 있는 음향 모델은 상기 입력 텍스트의 언어적 특징들(일 예로, 음소들)과 음향 특징들(일 예로, 상기 언어적 특징들에 상응하는 사운드들) 간의 관계를 학습한다. 다시 말해서, 상기 표현력 있는 음향 모델은 시퀀스-대-시퀀스 모델링을 수행한다. 상기 표현력 있는 음향 모델은 모두 확장된 컨벌루션 계층들을 기반으로 할 수 있는, 또는 확장된 컨벌루션 계층들을 포함할 수 있는 다수의 서브-모듈들을 포함한다.
상기 표현력 있는 음향 모델은 오디오 인코더 서브-모듈을 포함할 수 있고, 상기 오디오 인코더 서브-모듈은 음성을 수신하고, 상기 음성은 사전-녹음된 또는 사전-합성된 음성 특징들을 포함하며, 상기 수신된 음성에 상응하는 벡터를 생성한다. 상기 표현력 있는 음향 모델은 두 가지 방식들로 사용될 수 있다. 첫 번째로, 상기 표현력 있는 음향 모델은 트레이닝을 위해, 즉 언어적 특징들과 음향적 특징들 간의 상기에서 설명한 바와 같은 관계를 학습하기 위해 사용될 수 있다. 이 경우, 상기 표현력 있는 음향 모델은 입력 텍스트 및 상기 입력 텍스트에 상응하는 사전 녹음된 음성(또는 사전 합성된 음성)을 사용하여 트레이닝될 수 있다. 일 예로, 상기 입력 텍스트는 다음과 같은 문장이 될 수 있다: "This is a patent application for a text-to-speech synthesis system", 그리고 상기 사전 녹음된 혹은 사전 합성된 음성은 이 문장을 읽고/말하는 인간의 혹은 컴퓨터 음성이다. 두 번째로, 상기 표현력 있는 음향 모델은 새로운 입력 텍스트로부터 새롭게 합성된 음성을 생성하기 위해 실시간으로 사용될 수 있다. 이 경우, 상기 표현력 있는 음향 모델은 생성된 음성의 이전 오디오 프레임을 사용할 수 있다(일 예로, 자기-회귀(auto-regression)를 통해).
경우에 따라, 상기 오디오 인코더 서브-모듈은 상기 다수의 생성된 표현 벡터들 중 적어도 하나를 수신하고, 상기 수신된 표현 벡터에 의해 조정되는, 상기 수신된 음성에 상응하는 벡터를 생성할 수 있다. 바람직하게는, 이는 상기 오디오 인코더 서브-모듈이 상기 수신된 표현 벡터에 의해 나타내지는 표현성을 고려하는 것을 가능하게 하고, 따라서 상기 합성된 음성은 표현성을 포함한다.
상기 다수의 생성된 표현 벡터들 중 적어도 하나를 수신하는 단계는 사용자-선택 표현 벡터를 수신하는 단계를 포함할 수 있다. 즉, 사용자는 상기 사용자가 상기 합성된 음성이 특정 스타일 (일 예로, "행복한") 또는 특정 음성 특성 (일 예로, "느린 발화 속도")을 갖기를 원한다고 명시할 수 있다. 대안적으로, 상기 다수의 생성된 표현 벡터들 중 적어도 하나를 수신하는 단계는 상기 수신된 입력 텍스트가 획득되는 컨텍스트(context)에 적합하도록 선택된 표현 벡터를 수신하는 단계를 포함한다. 일 예로, 상기 입력 텍스트가 뉴스 웹 사이트로부터 수신될 경우, 표현 벡터는 "차분한(sombre)" 혹은 "중립(neutral)" 스타일을 가지도록 선택될 수 있고, 따라서 상기 뉴스가 적합한 톤으로 읽혀 진다. 다른 예제에서, 상기 입력 텍스트가 어린이를 위한 이야기로부터 수신될 경우, 표현 벡터들은 "행복한" 또는 "친근한" 스타일 및 "느린 발화 속도"를 나타내도록 선택될 수 있다. 이런 선택은 상기 컨텍스트를 기반으로 자동으로 이루어질 수 있다.
상기 오디오 인코더 서브-모듈에 의해 수신되는 음성은 다수의 오디오 프레임들을 포함할 수 있고, 각 오디오 프레임은 특징 벡터를 포함한다. 상기 특징 벡터는 20 개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징을 포함할 수 있다. 상기 20개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징은 LPCNet 보코더에 의해 필요로 된다.
상기 오디오 인코더에 도달하기 전에, 상기 각 오디오 프레임의 특징 벡터는 노말라이즈되어 피드백 채널 선택 모듈을 통해 패스된다. 상기 노말라이제이션 프로세스는 전체 특징 집합의 평균 및 표준 편차를 사용할 수 있다 (여기서, 상기 특징 집합은 상기 입력 데이터를 구성하는 모든 특징 벡터들이다). 상기 원래의 DC-TTS는 디코딩 단계 별로 상기 음향 특징들의 매 4 개의 프레임들 중 하나만을 생성하고, 이후에 보조 업샘플링 네트워크(secondary upsampling network)(Tachibana 등에 의한 스펙트로그램 초해상화 네트워크(Spectrogram Super Resolution Network) 혹은 SSRN에서 설명된 바와 같은("Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention"))가 나머지 3개의 프레임들을 생성하기 위해 사용된다. 본 기술들에서, 이 업샘플링 네트워크를 피하기 위해 피드백 선택 채널 모듈이 포함될 수 있고, 따라서 상기 모든 프레임들은 상기 시퀀스-대-시퀀스 아키텍처만을 사용하여 생성될 수 있다. 따라서, 상기 오디오 인코더로의 최종 입력은 각각이 상기 음향 특징 집합의 4 개의 인접 프레임을 나타내는 25 개의 특징들을 포함하는 특징 벡터를 포함하는 다수의 오디오 프레임들이 될 수 있다. 구체적으로, 상기 25 개의 특징들은 상기 제 1 오디오 프레임의 22 개의 특징들, 및 상기 제 2, 제 3 및 제 4의 인접 프레임들의 DC 컴포넌트(component)(즉, 제 1 Bark-기반 캡스트럼 계수)를 포함할 수 있다.
상기 표현력 있는 음향 모델은 상기 입력 텍스트의 언어적 특징을 기반으로 가이드 어텐션 모듈에 대한 키들 및 값들을 생성하는 텍스트 인코더 서브-모듈을 포함할 수 있다. 따라서, 상기 텍스트 인코더 서브-모듈은, Tachibana 등의 "Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention"에서 설명된 바와 같이, 상기 수신된 입력 텍스트에 상응하는 음소들 또는 문자소(grapheme)들을 수신하고; 상기 수신된 입력에서 각 음소 혹은 문자소의 값을 나타내는 제1 행렬 V를 생성하고; 각 값과 연관되는 고유 키를 나타내는 제2 행렬 K를 생성한다.
상기 표현력 있는 음향 모델은 가이드 어텐션 서브-모듈을 포함할 수 있고, 상기 가이드 어텐션 서브-모듈은 상기 생성된 행렬과 상기 생성된 제 1 및 제 2 행렬들을 비교하고; 상기 수신된 입력 텍스트에서의 각 문자(character)와 상기 매트릭스에서 나타내지는 사운드(sound)와의 유사성을 결정한다. 다시 말해서, 상기 가이드 어텐션 서브-모듈은 상기 음향 특징들의 n 번째 음소 및 t 번째 프레임이 얼마나 강하게 관련되는지 평가한다. 이는 내적 기반 어텐션 메카니즘(dot-product-based attention mechanism)이다. 음소들의 순서와 음향 프레임들 간의 관계가 시간에 따라 거의 선형적이라는 사실을 활용하는 웨이팅 기능(weighting function)을 적용하기 때문에 '가이드(guided)'이다. 이 모듈은 Tachibana 등의 "Efficiently trainable text-to-speech system based on deep convolutional networks with guided attention"에서 설명되는 바와 같이 상기 원래의 DC-TTS로부터 변경되지 않는다.
상기 표현력 있는 음향 모델은 상기 가이드 어텐션 서브-모듈의 출력을 기반으로, 상기 보코더에 대한 입력으로서 필요로 되는 상기 음향 특징들을 생성하는 오디오 디코더 서브-모듈을 포함할 수 있다. 상기 오디오 디코더 서브-모듈은 상기 오디오 인코더에 의해 사용되는, 상기 생성된 표현 벡터를 수신하고, 상기 수신된 표현 벡터에 의해 조정되는, 상기 가이드 어텐션 서브-모듈의 출력에 상응하는 음향 특징들을 생성할 수 있다. 유리하게는, 이는 상기 오디오 디코더 서브-모듈이 상기 수신된 표현 벡터에 의해 나타내지는 표현성을 고려하는 것을 가능하게 할 수 있고, 따라서 상기 표현력 있는 음향 모델의 출력은 상기 합성된 음성을 생성하기 위해 상기 표현력 있는 음향 모델의 출력이 상기 보코더로 송신되기 전에 표현성 정보를 포함한다.
상기 오디오 디코더 서브-모듈에 의해 생성된 음향 특징들은 다수의 오디오 프레임을 나타낼 수 있으며, 각 오디오 프레임은 20 개의 Bark-기반 캡스트럼 특징들, 주기 특징 및 상관 특징을 포함한다. 즉, 상기 오디오 디코더 서브-모듈의 출력은 상기 보코더에 대해 필요로 상기 특징들을 포함할 수 있다 (상기 오디오 인코더에 관해 상기에서 설명된 바와 같이). 상기 오디오 디코더 서브-모듈의 출력은 상기 디코더 서브-모듈의 출력이 상기 보코더에 대한 올바른 포맷이 되기 위해 재형성될 필요가 있을 수 있다. 이는 하기에서 보다 구체적으로 설명된다.
상기 시스템은 상기 오디오 디코더 서브-모듈에 의해 생성된 상기 음향 특징들을 사용하여 음성을 합성하는 보코더를 더 포함할 수 있다. 상기 보코더는 J-M Valin 및 J. Skoglund의 "LPCNet: improving neural speech synthesis through linear prediction"에서 설명된 바와 같이 LPCNet 모델을 포함할 수 있다.
상기에서 설명한 바와 같이, 본 문서의 다양한 실시예들은 사용자에 의해 희망되는 스타일 및 음성 특성들을 포함하는, 고객 맞춤 가능한 음성이 합성되는 것을 가능하게 한다. 하지만, 가능한 많은 스타일들 및 음성 특성들이 존재하고, 모든 스타일 및 특성 및 그 조합에 대한 기준 오디오 스타일 파일들을 기록하고, 그리고 나서 그와 같은 각 기준 파일에 대한 표현 벡터들을 생성하는 데 시간이 많이 소모될 것이다. 따라서, 본 문서의 다양한 실시예들은 유리하게는 보간 및 외삽을 사용하여 일련의 기존 표현 벡터들로부터 희망하는 스타일들 및 특성들을 생성한다.
상기 시스템의 메모리에 연결되어 있는, 상기 적어도 하나의 프로세서는 보간 및 외삽 모듈을 사용하여, 표현력 있는 음향 모델에 의해 사용되는 사용자-정의 표현 벡터를 생성하여 상기 입력 텍스트로부터 표현력 있는 음성을 생성하도록 더 구성될 수 있다.
상기 보간 및 외삽 모듈은 스토리지로부터, 각각이 별개의 스타일을 나타내는, 제 1 표현 벡터 및 제 2 표현 벡터를 획득하고, 사용자-정의 스케일러 값(scaler value)을 사용하여, 상기 제 1 표현 벡터와 제 2 표현 벡터 사이에서 선형 보간 또는 외삽을 수행하고, 상기 사용자-정의 표현 벡터를 생성하도록 구성될 수 있다. 상기 사용자-정의 표현 벡터가 생성되면, 새로운 입력 텍스트를 표현력 있는 합성 음성으로 변환하기 위해 실시간으로 상기 사용자-정의 표현 벡터가 사용될 수 있다. 따라서, 상기 사용자-정의 표현 벡터는 (새로운 수신된 입력 텍스트와 함께) 상기 표현력 있는 음향 모델로 입력되어 상기 수신된 입력 텍스트로부터 표현력 있는 음성을 생성할 수 있다.
본 문서의 다양한 실시예들의 제2 접근 방식에서, 표현력 있는 음성(expressive speech)을 합성하는 방법이 제공되고, 상기 표현력 있는 음성을 합성하는 방법은 표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하는 과정, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)이고; 상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성하는 과정을 포함한다.
상기 제1 접근 방식에 관해 설명된 바와 같은 특징들은 상기 제2 접근 방식에도 동일하게 적용된다.
본 문서의 다양한 실시예들의 관련되는 접근 방식에서, 프로세서 제어 코드를 전달하여 여기에서 설명되어 있는 방법들을 구현하는 비-일시적 데이터 캐리어가 제공된다.
해당 기술 분야의 당업자에 의해 이해할 수 있는 바와 같이, 본 기술들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 따라서, 본 기술들은 전체 하드웨어 실시 예, 전체 소프트웨어 실시 예, 또는 소프트웨어 및 하드웨어 측면들을 결합한 실시 예의 형태를 취할 수 있다.
또한, 본 문서의 다양한 실시예들은 그에 컴퓨터 리드 가능 프로그램 코드가 구현되어 있는 컴퓨터 리드 가능 매체(또는 저장 매체)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 상기 컴퓨터 리드 가능 매체는 컴퓨터 리드 가능 신호 매체 또는 컴퓨터 리드 가능 저장 매체가 될 수 있다. 컴퓨터 리드 가능 매체는, 예를 들어, 전자, 자기, 광, 전자기, 적외선 또는 반도체 시스템, 장치, 또는 디바이스, 또는 상기에서 설명한 바의 임의의 적합한 조합일 수 있으며, 그렇다고 이로 제한되는 것은 아니다.
본 문서의 다양한 실시예들의 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 객체 지향 프로그래밍 언어들 및 종래의 절차적 프로그래밍 언어들를 포함하는 하나 혹은 그 이상의 프로그래밍 언어들의 임의의 조합으로 라이트될 수 있다. 코드 컴포넌트(component)들은 절차들, 방법들 등으로 구현될 수 있고, 네이티브 인스트럭션(native instruction) 집합의 직접 머신 인스트럭션들로부터 상위-레벨 컴파일된 혹은 해석된 언어 구성들까지, 추상화 레벨들 중 어느 하나에서의 인스트럭션들 혹은 인스트럭션들의 시퀀스 형태를 취할 수 있는 서브-컴포넌트들을 포함할 수 있다.
본 문서의 다양한 실시 예들은 또한 프로세서 상에 구현될 때, 상기 프로세서가 여기에서 설명된 방법들 중 어느 하나를 수행하도록 하는 비-일시적 데이터 캐리어 코드(또는 비일시적 저장 매체)를 제공한다.
상기 기술들은 예를 들어 범용 컴퓨터 시스템 또는 디지털 신호 프로세서 (digital signal processor: DSP) 상에서 상기에서 설명한 바와 같은 방법들을 구현하는 프로세서 제어 코드를 제공한다. 본 문서의 다양한 실시예들은 또한 실행될 때, 특히 비-일시적 데이터 캐리어에서 상기와 같은 방법들 중 임의의 방법을 구현하는 프로세서 제어 코드를 전달하는 캐리어를 제공한다. 상기 코드는 디스크, 마이크로프로세서, CD - 또는 DVD-ROM과 같은 캐리어, 비-휘발성 메모리 (일 예로, 플래시) 또는 리드-온니 메모리 (펌웨어)와 같은 프로그램된 메모리, 또는 광 혹은 전기 신호 캐리어와 같은 데이터 캐리어 상에서 제공될 수 있다. 여기에서 설명되는 본 문서의 다양한 실시 예들을 구현하는 코드(및/또는 데이터)는 파이썬(Python), C, 혹은 어셈블리 코드(assembly code)와 같은 기존 프로그래밍 언어(해석되거나 컴파일되는)의 소스, 객체, 실행 가능 코드, 혹은 ASIC (Application Specific Integrated Circuit) 혹은 FPGA (Field Programmable Gate Array)를 설정 혹은 제어하는 코드, 혹은 Verilog (RTM) 혹은 VHDL (Very high speed integrated circuit Hardware Description Language)와 같은 하드웨어 디스크립션 언어(hardware description language)에 대한 코드의 소스, 객체 및 실행 가능 코드를 포함할 수 있다. 해당 기술 분야의 당업자라면 이해할 수 있는 바와 같이, 그와 같은 코드 및/또는 데이터는 서로 통신하는 복수의 연결된 컴포넌트들 사이에서 분산될 수 있다. 상기 기술들은 상기 시스템의 하나 혹은 그 이상의 컴포넌트들에 연결된 마이크로프로세서, 동작 메모리 및 프로그램 메모리를 포함하는 제어기를 포함할 수 있다.
해당 기술 분야의 당업자에게는 본 문서의 실시 예들에 따른 논리 방법의 전부 혹은 일부가 논리 장치에서 적합하게 구현될 수 있다는 것이 명백할 것이며, 상기 논리 장치는 상기에서 설명된 바와 같은 방법들의 단계들을 수행하는 논리 엘리먼트들을 포함하고, 상기 논리 엘리먼트들은 일 예로, 프로그램 가능 로직 어레이 혹은 주문형 집적 회로(application-specific integrated circuit)에서의 논리 게이트들과 같은 컴포넌트들을 포함할 수 있다. 상기와 같은 논리 배열은 일 예로, 저장되고, 고정된 혹은 송신 가능한 캐리어 매체들을 사용하여 송신될 수 있는, 가상 하드웨어 디스크립터 언어(virtual hardware descriptor language)를 사용하여 그와 같은 어레이 혹은 회로의 논리 구조들을 일시적으로 혹은 영구적으로 설정하는 엘리먼트들을 가능하게 하는 것으로 더 구현될 수 있다.
본 문서의 다양한 실시예들은 기능적 데이터를 가지는 데이터 캐리어의 형태로 시스템의 프로세서에서 실현될 수 있으며, 상기 기능적 데이터는 기능적 컴퓨터 데이터 구조들을 포함하며, 이는 컴퓨터 시스템 혹은 네트워크로 로딩되고, 동작될 때, 상기 컴퓨터 시스템이 상기에서 설명한 바와 같은 방법의 모든 단계들을 수행하는 것을 가능하게 한다.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 문서에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 문서의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나","A, B 또는 C", "A, B 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예, 시스템 또는 전자 장치)에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램으로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치)의 프로세서(예: 프로세서)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 표현력 있는 음성을 합성하는 시스템에 있어서,
    음성으로의 변환을 위한 입력 텍스트를 수신하는 인터페이스;
    메모리;
    상기 메모리에 연결되는 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는:
    표현성 특성화 모듈을 사용하여 복수의 표현 벡터들을 생성하고, 상기 복수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크를 포함하는 표현력 있는 음향 모델을 획득하고,
    상기 획득된 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성하며,
    상기 표현 벡터들 각각은 기준 오디오 스타일 파일에서의 프로소딕(prosodic) 정보의 리프리젠테이션(representation)인, 상기 시스템.
  2. 제1항에 있어서,
    상기 표현성 특성화 모듈은:
    기준 오디오 스타일 파일을 수신하는 인터페이스; 및
    상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보를 고정 길이 벡터로 압축하는 기준 인코더 서브-모듈을 포함하는, 상기 시스템.
  3. 제2항에 있어서,
    상기 기준 인코더 서브-모듈은 상기 고정-길이 벡터를 생성하기 위해 복수의 이차원 컨벌루션 계층들, 최대 풀링(pooling) 계층들 및 잔류 연결(residual connection)들을 포함하는, 상기 시스템.
  4. 제2항에 있어서,
    상기 표현성 특성화 모듈은:
    어텐션 서브-모듈(attention sub-module)을 포함하며,
    상기 어텐션 서브-모듈은:
    상기 기준 인코더 서브-모듈로부터 상기 고정 길이 벡터를 수신하고;
    상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보에 대응하는 웨이트(weight)들의 집합을 생성하고;
    상기 기준 오디오 스타일 파일에 대해, 상기 웨이트들의 집합을 포함하는 표현 벡터를 출력하며, 상기 어텐션 서브-모듈은 멀티-헤드(multi-head) 어텐션 서브-모듈인 상기 시스템.
  5. 제2항에 있어서,
    상기 표현성 특성화 모듈은:
    다수의 완전-연결 계층들을 포함하는 변형 자동인코더 서브-모듈을 포함하며, 상기 변형 자동인코더 서브-모듈은:
    상기 기준 인코더 서브-모듈로부터 상기 고정 길이 벡터를 수신하고;
    상기 수신된 기준 오디오 스타일 파일의 프로소딕 정보에 상응하게 잠재 공간(latent space)를 생성하고;
    상기 기준 오디오 스타일 파일에 대한 표현 벡터를 출력하는 상기 시스템.
  6. 제1항에 있어서,
    기준 오디오 스타일 파일들에 대한 표현 벡터들을 저장하는 스토리지(storage)를 더 포함하는 상기 시스템.
  7. 제1항에 있어서,
    상기 표현력 있는 음향 모델은 오디오 인코더 서브-모듈을 포함하며,
    상기 오디오 인코더 서브-모듈은:
    음성을 수신하고, 상기 음성은 사전-녹음된 또는 사전-합성된 음성 특징들을 포함하며,
    상기 수신된 음성에 상응하는 벡터를 생성하는 상기 시스템.
  8. 제7항에 있어서,
    상기 오디오 인코더 서브-모듈은:
    상기 복수의 생성된 표현 벡터들 중 적어도 하나를 수신하고,
    상기 수신된 표현 벡터에 의해 조정되는, 상기 수신된 음성에 상응하는 벡터를 생성하는 상기 시스템.
  9. 제8항에 있어서,
    상기 복수의 생성된 표현 벡터들 중 적어도 하나를 수신하는 것은 사용자-선택 표현 벡터를 수신하는 것을 포함하는 상기 시스템.
  10. 제8항에 있어서,
    상기 복수의 생성된 표현 벡터들 중 적어도 하나를 수신하는 것은 상기 수신된 입력 텍스트가 획득되는 컨텍스트(context)에 적합하도록 선택된 표현 벡터를 수신하는 것을 포함하는 상기 시스템.
  11. 제7항에 있어서,
    상기 오디오 인코더 서브-모듈에 의해 수신되는 상기 음성은 복수의 오디오 프레임들을 포함하고,
    상기 복수의 오디오 프레임들 각각은 20 개의 Bark-기반 캡스트럼(cepstrum) 특징들, 주기 특징 및 상관 특징을 포함하는 상기 시스템.
  12. 제7항에 있어서,
    상기 표현력 있는 음향 모델은 텍스트 인코더 서브-모듈을 포함하며,
    상기 텍스트 인코더 서브-모듈은:
    상기 수신된 입력 텍스트에 상응하는 음소(phoneme)들 또는 문자소(grapheme)들을 수신하고,
    상기 수신된 입력 텍스트에서 각 음소 또는 문자소의 값을 나타내는 제1 행렬 V를 생성하고,
    각 값과 연관되는 고유 키를 나타내는 제2 행렬 K를 생성하는 상기 시스템.
  13. 제12항에 있어서,
    상기 표현력 있는 음향 모델은 가이드 어텐션 서브-모듈(guided attention sub-module)을 포함하며,
    상기 가이드 어텐션 서브-모듈은:
    상기 생성된 행렬과 상기 생성된 제 1 및 제 2 행렬들을 비교하고;
    상기 수신된 입력 텍스트에서의 각 문자(character)와 상기 매트릭스에서 나타내지는 사운드(sound)와의 유사성을 결정하는 상기 시스템.
  14. 제13항에 있어서,
    상기 표현력 있는 음향 모델은 오디오 디코더 서브-모듈을 포함하며,
    상기 오디오 디코더 서브-모듈은:
    상기 오디오 인코더에 의해 사용되는, 상기 생성된 표현 벡터를 수신하고,
    상기 수신된 표현 벡터에 의해 조정되는, 상기 가이드 어텐션 서브-모듈의 출력에 상응하는 음향 특징들을 생성하는 상기 시스템.
  15. 제 14항에 있어서,
    상기 오디오 디코더 서브-모듈에 의해 생성되는 음향 특징들은 복수의 오디오 프레임들을 나타내며, 각 오디오 프레임은 20 개의 Bark-기반 캡스트럼(cepstrum) 특징들, 주기 특징 및 상관 특징을 포함하는 상기 시스템.
  16. 제14항에 있어서,
    상기 오디오 디코더 서브-모듈에 의해 생성된 상기 음향 특징들을 사용하여 음성을 합성하는 보코더를 더 포함하며,
    상기 보코더는 LPCNet 모델을 포함하는 상기 시스템.
  17. 제1항에 있어서,
    상기 메모리에 연결되어 있는, 상기 적어도 하나의 프로세서는:
    보간 및 외삽 모듈을 사용하여, 표현력 있는 음향 모델에 의해 사용되는 사용자-정의 표현 벡터를 생성하여 상기 입력 텍스트로부터 표현력 있는 음성을 생성하는 상기 시스템.
  18. 제17항에 있어서,
    상기 보간 및 외삽 모듈은:
    스토리지로부터, 각각이 별개의 스타일을 나타내는, 제 1 표현 벡터 및 제 2 표현 벡터를 획득하고;
    사용자-정의 스케일러 값(scaler value)을 사용하여, 상기 제 1 표현 벡터와 제 2 표현 벡터 사이에서 선형 보간 또는 외삽을 수행하고;
    상기 사용자-정의 표현 벡터를 생성하며, 상기 사용자-정의 표현 벡터 및 상기 수신된 입력 텍스트는 상기 표현력 있는 음향 모델로 입력되어 상기 수신된 입력 텍스트로부터 표현력 있는 음성을 생성하는 상기 시스템.
  19. 표현력 있는 음성(expressive speech)을 합성하는 방법에 있어서,
    표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하는 과정, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)이고;
    상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성하는 과정을 포함하는 상기 방법.
  20. 비일시적 저장 매체에 있어서, 상기 프로그램은, 프로세서에 의한 실행 시, 상기 프로세서가,
    표현성 특성화 모듈을 사용하여 다수의 표현 벡터들을 생성하는 과정, 여기서 각 표현 벡터는 기준 오디오 스타일 파일(reference audio style file)에서의 프로소딕 정보의 리프리젠테이션(representation)이고;
    상기 다수의 생성된 표현 벡터들 중 적어도 하나에 의해 조정되는 딥 컨볼루션 신경 네트워크(deep convolutional neural network)를 포함하는 표현력 있는 음향 모델을 사용하여 상기 입력 텍스트로부터 표현력 있는 음성을 합성하는 과정을 수행하도록 실행 가능한 명령을 포함하는, 비일시적 기록 매체.
KR1020200062637A 2020-01-21 2020-05-25 표현력 있는 텍스트-대-음성 시스템 및 방법 KR20210095010A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/037,023 US11830473B2 (en) 2020-01-21 2020-09-29 Expressive text-to-speech system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2000883.5A GB2591245B (en) 2020-01-21 2020-01-21 An expressive text-to-speech system
GB2000883.5 2020-01-22

Publications (1)

Publication Number Publication Date
KR20210095010A true KR20210095010A (ko) 2021-07-30

Family

ID=69636811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200062637A KR20210095010A (ko) 2020-01-21 2020-05-25 표현력 있는 텍스트-대-음성 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20210095010A (ko)
GB (1) GB2591245B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11848004B2 (en) 2021-06-22 2023-12-19 Samsung Electronics Co., Ltd. Electronic device and method for controlling thereof

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112951202B (zh) * 2021-03-11 2022-11-08 北京嘀嘀无限科技发展有限公司 语音合成方法、装置、电子设备以及程序产品
CN113611309B (zh) * 2021-07-13 2024-05-10 北京捷通华声科技股份有限公司 一种音色转换方法、装置、电子设备及可读存储介质
CN113838452B (zh) 2021-08-17 2022-08-23 北京百度网讯科技有限公司 语音合成方法、装置、设备和计算机存储介质
US11978475B1 (en) * 2021-09-03 2024-05-07 Wells Fargo Bank, N.A. Systems and methods for determining a next action based on a predicted emotion by weighting each portion of the action's reply
CN115985282A (zh) * 2021-10-14 2023-04-18 北京字跳网络技术有限公司 语速调整方法、装置、电子设备及可读存储介质
CN114255737B (zh) * 2022-02-28 2022-05-17 北京世纪好未来教育科技有限公司 语音生成方法、装置、电子设备
CN115116431B (zh) * 2022-08-29 2022-11-18 深圳市星范儿文化科技有限公司 基于智能朗读亭的音频生成方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195656B2 (en) * 2013-12-30 2015-11-24 Google Inc. Multilingual prosody generation
US10418025B2 (en) * 2017-12-06 2019-09-17 International Business Machines Corporation System and method for generating expressive prosody for speech synthesis
WO2019139428A1 (ko) * 2018-01-11 2019-07-18 네오사피엔스 주식회사 다중 언어 텍스트-음성 합성 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11848004B2 (en) 2021-06-22 2023-12-19 Samsung Electronics Co., Ltd. Electronic device and method for controlling thereof

Also Published As

Publication number Publication date
GB202000883D0 (en) 2020-03-04
GB2591245B (en) 2022-06-15
GB2591245A (en) 2021-07-28

Similar Documents

Publication Publication Date Title
KR20210095010A (ko) 표현력 있는 텍스트-대-음성 시스템 및 방법
JP7355306B2 (ja) 機械学習を利用したテキスト音声合成方法、装置およびコンピュータ読み取り可能な記憶媒体
US11929059B2 (en) Method, device, and computer readable storage medium for text-to-speech synthesis using machine learning on basis of sequential prosody feature
US11830473B2 (en) Expressive text-to-speech system and method
Wang et al. Uncovering latent style factors for expressive speech synthesis
KR102677459B1 (ko) 2-레벨 스피치 운율 전송
Wali et al. Generative adversarial networks for speech processing: A review
US11763797B2 (en) Text-to-speech (TTS) processing
CN113920977A (zh) 一种语音合成模型、模型的训练方法以及语音合成方法
KR20200111609A (ko) 음성 합성 장치 및 그 방법
US20240087558A1 (en) Methods and systems for modifying speech generated by a text-to-speech synthesiser
CN116783647A (zh) 生成多样且自然的文本到语音样本
EP4266306A1 (en) A speech processing system and a method of processing a speech signal
CN114387946A (zh) 语音合成模型的训练方法和语音合成方法
Ramos Voice conversion with deep learning
KR20190088126A (ko) 인공 지능 기반 외국어 음성 합성 방법 및 장치
KR20220070979A (ko) 발화 스타일 인코딩 네트워크 이용한 스타일 음성 합성 장치 및 음성 합성 방법
KR102626618B1 (ko) 감정 추정 기반의 감정 음성 합성 방법 및 시스템
KR20200111608A (ko) 음성 합성 장치 및 그 방법
KR102277205B1 (ko) 오디오 변환 장치 및 방법
JP5268731B2 (ja) 音声合成装置、方法およびプログラム
CN117678013A (zh) 使用合成的训练数据的两级文本到语音系统
d’Alessandro et al. Reactive statistical mapping: Towards the sketching of performative control with data
Kim et al. SC VALL-E: Style-Controllable Zero-Shot Text to Speech Synthesizer
Bargum et al. Reimagining Speech: A Scoping Review of Deep Learning-Powered Voice Conversion

Legal Events

Date Code Title Description
A201 Request for examination