KR20230055083A - 전자 장치, 단말 장치 및 그 제어 방법 - Google Patents

전자 장치, 단말 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20230055083A
KR20230055083A KR1020210138343A KR20210138343A KR20230055083A KR 20230055083 A KR20230055083 A KR 20230055083A KR 1020210138343 A KR1020210138343 A KR 1020210138343A KR 20210138343 A KR20210138343 A KR 20210138343A KR 20230055083 A KR20230055083 A KR 20230055083A
Authority
KR
South Korea
Prior art keywords
vocoder
terminal device
learning
processor
module
Prior art date
Application number
KR1020210138343A
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 KR1020210138343A priority Critical patent/KR20230055083A/ko
Priority to EP22883711.8A priority patent/EP4325480A1/en
Priority to PCT/KR2022/009125 priority patent/WO2023068480A1/ko
Publication of KR20230055083A publication Critical patent/KR20230055083A/ko
Priority to US18/235,124 priority patent/US20230395060A1/en

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/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals

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)
  • Signal Processing (AREA)
  • Telephone Function (AREA)

Abstract

전자 장치, 단말 장치 및 그 제어 방법이 개시된다. 전자 장치는 입력 인터페이스 및 음향 특성을 추출하는 프로소디 모듈 및 음성 파형을 생성하는 보코더 모듈을 포함하는 프로세서를 포함하고, 프로세서는 입력 인터페이스를 통해 텍스트를 입력받고, 프로소디 모듈을 이용하여 입력된 텍스트로부터 제1 음향 특성을 식별하며, 식별된 제1 음향 특성에 기초하여 제1 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성하고, 제1 음향 특성 및 변형 음향 특성 각각에 기초하여 보코더 모듈을 학습시켜 복수의 보코더 학습 모델을 생성한다.

Description

전자 장치, 단말 장치 및 그 제어 방법{ELECTRONIC APPARATUS, TERMINAL APPARATUS AND CONTROLLING METHOD THEREOF}
본 개시는 전자 장치, 단말 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 텍스트로부터 음성 파형을 생성하여 출력하는 전자 장치, 단말 장치 및 그 제어 방법에 관한 것이다.
음성 처리 기술의 발전에 따라 음성 처리 기능을 수행하는 전자 장치가 활용되고 있다. 다양한 음성 처리 기능 중 하나는 TTS(Text to Speech) 기능이다. TTS 기능은 텍스트를 음성으로 변환하여 음성 신호로 출력하는 기능을 의미한다. 일 예로, TTS 기능은 프로소디(prosody)부와 보코더(vocoder)부를 이용하여 음성 변환 기능을 수행한다. 프로소디부는 텍스트에 기초하여 음향 특성(acoustic feature)을 추정한다. 즉, 프로소디부는 합성음의 발음, 운율 등을 추정할 수 있다. 추정된 음향 특성은 보코더부로 입력된다. 보코더부는 입력된 음향 특성으로부터 음성 파형을 추정한다. 보코더부에서 추정된 음성 파형이 스피커를 통해 출력됨으로써 TTS 기능이 수행될 수 있다.
일반적으로 프로소디부와 보코더부는 음향 특성으로부터 음성 파형을 추정하기 위해 훈련될 수 있는데 보코더부는 훈련에 사용된 음향 특성만 지원하기 때문에 고정된 샘플링 레이트(sampling rate)만의 음성 파형을 출력할 수 있다. 따라서, 다양한 샘플링 레이트의 음성 파형을 출력하기 위해서는 별개의 프로소디부와 보코더부가 필요하다.
하나의 전자 장치는 다양한 샘플링 레이트의 음성 신호를 출력할 수 있는 경우가 있고, 전자 장치에 따라 서로 다른 샘플링 레이트의 음성 신호를 출력하는 경우도 있다. 또한, 하나의 전자 장치에 연결되는 외부 스피커의 사양도 다양할 수 있다. 기존 방식은 훈련된 프로소디부와 보코더부를 범용적으로 사용하기 위해 별개의 프로소디부와 보코더부를 훈련시키고, 하나의 전자 장치에 복수의 프로소디부와 보코더부를 포함시키는 단점이 존재한다.
따라서, 하나의 프로소디부와 보코더부로 다양한 샘플링 레이트의 음성 신호를 출력할 수 있는 기술에 대한 필요성이 존재한다.
본 개시는 상술한 문제점을 해결하기 위한 것으로, 본 개시의 목적은 하나의 프로소디부에서 추정된 동일한 음향 특성을 이용하여 다양한 샘플링 레이트의 음성 파형을 출력하는 보코더부를 포함하는 전자 장치 및 그 제어 방법을 제공함에 있다. 또한, 본 개시는 전자 장치의 사양을 식별하고, 식별된 사양에 대응되는 오디오 특성을 포함하는 음성 신호를 출력하는 전자 장치 및 그 제어 방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치는 입력 인터페이스 및 음향 특성을 추출하는 프로소디(prosody) 모듈 및 음성 파형을 생성하는 보코더 모듈을 포함하는 프로세서를 포함하고, 상기 프로세서는 상기 입력 인터페이스를 통해 텍스트를 입력받고, 상기 프로소디 모듈을 이용하여 상기 입력된 텍스트로부터 제1 음향 특성을 식별하며, 상기 식별된 제1 음향 특성에 기초하여 상기 제1 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성하고, 상기 제1 음향 특성 및 상기 변형 음향 특성 각각에 기초하여 상기 보코더 모듈을 학습시켜 복수의 보코더 학습 모델을 생성한다.
본 개시의 일 실시 예에 따른 단말 장치는 프로소디(prosody) 모듈 및 서로 다른 샘플링 레이트로 학습된 복수의 보코더 학습 모델을 포함하는 보코더 모듈을 포함하는 프로세서 및 스피커를 포함하고, 상기 프로세서는 상기 단말 장치와 관련된 구성 요소(component)의 사양(specification)을 식별하고, 상기 식별된 구성 요소의 사양에 기초하여 상기 복수의 보코더 학습 모델 중 하나의 보코더 학습 모델을 선택하며, 상기 프로소디 모듈을 이용하여 텍스트로부터 음향 특성을 식별하고, 상기 식별된 보코더 학습 모델을 이용하여 상기 식별된 음향 특성에 대응되는 음성 파형을 생성하여 상기 스피커를 통해 출력한다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 텍스트를 입력받는 단계, 음향 특성을 추출하는 프로소디 모듈을 이용하여 상기 입력된 텍스트로부터 제1 음향 특성을 식별하는 단계, 상기 식별된 제1 음향 특성에 기초하여 상기 제1 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성하는 단계 및 상기 제1 음향 특성 및 상기 변형 음향 특성 각각에 기초하여 음성 파형을 생성하는 보코더 모듈을 학습시켜 복수의 보코더 학습 모델을 생성하는 단계를 포함한다.
본 개시의 일 실시 예에 따른 단말 장치의 제어 방법은 상기 단말 장치와 관련된 구성 요소(component)의 사양(specification)을 식별하는 단계, 상기 식별된 구성 요소의 사양에 기초하여 복수의 보코더 학습 모델 중 하나의 보코더 학습 모델을 선택하는 단계, 프로소디 모듈을 이용하여 텍스트로부터 음향 특성을 식별하는 단계 및 상기 식별된 보코더 학습 모델을 이용하여 상기 식별된 음향 특성에 대응되는 음성 파형을 생성하여 스피커를 통해 출력하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치와 단말 장치를 포함하는 시스템을 설명하는 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하는 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 단말 장치의 구성을 설명하는 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 단말 장치의 구체적인 구성을 설명하는 블록도이다.
도 5는 본 개시의 일 실시 예에 따른 프로세서의 구성을 설명하는 블록도이다.
도 6a 및 도 6b는 본 개시의 일 실시 예에 따른 보코더 모델을 학습시키는 과정을 설명하는 도면이다.
도 7a 및 도 7b는 본 개시의 일 실시 예에 따른 단말 장치에 대응되는 보코더 학습 모델을 선택하는 과정을 설명하는 도면이다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하는 흐름도이다.
도 9는 본 개시의 일 실시 예에 따른 단말 장치의 제어 방법을 설명하는 흐름도이다.
이하에서는 첨부된 도면을 참조하여 다양한 실시 예를 보다 상세하게 설명한다. 본 명세서에 기재된 실시 예는 다양하게 변형될 수 있다. 특정한 실시 예가 도면에서 묘사되고 상세한 설명에서 자세하게 설명될 수 있다. 그러나, 첨부된 도면에 개시된 특정한 실시 예는 다양한 실시 예를 쉽게 이해하도록 하기 위한 것일 뿐이다. 따라서, 첨부된 도면에 개시된 특정 실시 예에 의해 기술적 사상이 제한되는 것은 아니며, 개시의 사상 및 기술 범위에 포함되는 모든 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 구성요소들은 상술한 용어에 의해 한정되지는 않는다. 상술한 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
한편, 본 명세서에서 사용되는 구성요소에 대한 "모듈" 또는 "부"는 적어도 하나의 기능 또는 동작을 수행한다. 그리고, "모듈" 또는 "부"는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 의해 기능 또는 동작을 수행할 수 있다. 또한, 특정 하드웨어에서 수행되어야 하거나 적어도 하나의 프로세서에서 수행되는 "모듈" 또는 "부"를 제외한 복수의 "모듈들" 또는 복수의 "부들"은 적어도 하나의 모듈로 통합될 수도 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그 밖에도, 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다. 한편, 각 실시 예는 독립적으로 구현되거나 동작될 수도 있지만, 각 실시 예는 조합되어 구현되거나 동작될 수도 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치와 단말 장치를 포함하는 시스템을 설명하는 도면이다.
도 1을 참조하면, 시스템은 전자 장치(100)와 단말 장치(200)를 포함할 수 있다. 예를 들어, 전자 장치(100)는 서버, 클라우드 등을 포함할 수 있고, 서버 등은 관리 서버, 훈련 서버 등을 포함할 수 있다. 그리고, 단말 장치(200)는 스마트폰, 태블릿 PC, 네비게이션, 슬레이트 PC, 웨어러블 디바이스, 디지털 TV, 데스크탑 컴퓨터, 랩탑 컴퓨터, 가전기기, IoT 장치, 키오스크 등을 포함할 수 있다.
전자 장치(100)는 프로소디(prosody) 모듈 및 보코더(vocoder) 모듈을 포함한다. 프로소디 모듈은 하나의 프로소디 모델을 포함할 수 있고, 보코더 모듈은 복수의 보코더 모델을 포함할 수 있다. 프로소디 모델 및 보코더 모델은 인공지능 신경망 모델일 수 있다. 전자 장치(100)는 프로소디 모델을 이용하여 텍스트로부터 음향 특성을 추출할 수 있다. 프로소디 모델은 발음 오류 등의 오류가 발생할 수 있으므로 전자 장치(100)는 인공지능 학습 과정을 통해 프로소디 모델의 오류를 수정할 수 있다.
하나의 프로소디 모델은 한 종류의 샘플링 레이트의 음향 특성을 추출할 수 있다. 예를 들어, 프로소디 모델은 24kHz의 샘플링 레이트의 음향 특성을 추출할 수 있다. 전자 장치(100)는 프로소디 모델로부터 추출된 음향 특성에 기초하여 변형 음향 특성을 생성할 수 있다. 예를 들어, 전자 장치(100)는 24kHz의 샘플링 레이트의 음향 특성을 이용하여 16kHz, 8kHz의 샘플링 레이트의 음향 특성을 생성할 수 있다.
전자 장치(100)는 프로소디 모델로부터 추출된 음향 특성 및 변형 음향 특성을 이용하여 보코더 모듈의 보코더 모델을 학습시킬 수 있다. 보코더 모듈은 하나일 수 있지만, 각각 서로 다른 음향 특성으로 학습된 복수의 학습 모델을 포함할 수 있다. 예를 들어, 전자 장치는 24kHz의 샘플링 레이트의 음향 특성에 기초하여 제1 보코더 모델을 학습시키고, 16kHz의 샘플링 레이트의 음향 특성에 기초하여 제2 보코더 모델을 학습시키며, 8kHz의 샘플링 레이트의 음향 특성에 기초하여 제3 보코더 모델을 학습시킬 수 있다.
본 개시에 따른 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
전자 장치(100)에서 학습된 프로소디 모델 및 보코더 모델은 단말 장치(200)에 포함될 수 있다. 단말 장치(200)도 프로소디 모듈 및 보코더 모듈을 포함한다. 전자 장치(100)는 유무선 통신 방식을 이용하여 프로소디 모델 및 보코더 학습 모델을 단말 장치(200)로 전송할 수 있다. 또는, 단말 장치(200)는 제조시 프로소디 모델 및 보코더 학습 모델이 포함될 수 있다. 즉, 단말 장치(200)의 보코더 모듈은 다양한 샘플링 레이트에 의해 학습된 복수의 보코더 학습 모델을 포함할 수 있다. 단말 장치(200)는 단말 장치(200)의 사양, 스트리밍 출력 가부, 샘플링 레이트, 음질 등에 기초하여 복수의 보코더 학습 모델 중 최적의 보코더 학습 모델을 선택할 수 있다. 그리고, 단말 장치(200)는 선택된 보코더 학습 모델을 이용하여 텍스트를 음성 파형으로 출력할 수 있다.
지금까지, 전자 장치(100)에서 프로소디 모델 및 보코더 모델을 학습시키는 실시 예를 설명하였다. 그러나, 최초 학습 과정은 전자 장치(100)에서 수행될 수 있지만, 이후 오류를 수정하고 업데이트하는 계속적인 학습 과정은 단말 장치(200)에서 수행될 수 있다. 다른 실시 예로서, 전자 장치(100)는 학습된 프로소디 모델 및 보코더 학습 모델을 포함하고, 단말 장치(200)로부터 전송된 텍스트를 음성 파형으로 생성할 수 있다. 그리고, 생성된 음성 파형을 단말 장치(200)로 전송할 수 있다. 단말 장치(200)는 전자 장치(100)로부터 수신된 음성 파형을 스피커를 통해 출력할 수 있다.
아래에서는 전자 장치(100) 및 단말 장치(200)의 구성을 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하는 블록도이다.
도 2를 참조하면, 전자 장치(100)는 입력 인터페이스(110) 및 프로세서(120)를 포함한다.
입력 인터페이스(110)는 텍스트를 입력받는다. 또는, 입력 인터페이스(110)는 사용자로부터 명령을 입력받을 수 있다. 예를 들어, 입력 인터페이스(110)는 통신 인터페이스, 입출력 포트 등을 포함할 수 있다. 입력 인터페이스(110)는 텍스트를 입력받거나 사용자의 명령을 입력받는 기능을 수행하고, 입력부, 입력 장치, 입력 모듈 등으로 불릴 수 있다.
입력 인터페이스(110)가 통신 인터페이스로 구현되는 경우, 입력 인터페이스(110)는 외부 장치와 통신을 수행할 수 있다. 입력 인터페이스(110)는 외부 장치로부터 유무선 통신 방식을 이용하여 텍스트 데이터를 제공받을 수 있다. 예를 들어, 통신 인터페이스는 3G, LTE(Long Term Evolution), 5G, 와이파이, 블루투스, DMB(Digital Multimedia Broadcasting), ATSC(Advanced Television Systems Committee), DVB(Digital Video Broadcasting), LAN(Local Area Network) 등의 방식으로 통신을 수행할 수 있는 모듈을 포함할 수 있다. 외부 장치와 통신을 수행하는 통신 인터페이스는 통신부, 통신 장치, 통신 모듈, 송수신부 등으로 불릴 수도 있다.
입력 인터페이스(110)가 입출력 포트로 구현되는 경우, 입력 인터페이스(110)는 외부 장치(외장형 메모리 포함)로부터 텍스트 데이터를 제공받을 수 있다. 예를 들어, 입력 인터페이스(110)가 입출력 포트로 구현되는 경우, 입출력 포트는 HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), 썬더볼트, LAN 등의 포트를 포함할 수 있다.
한편, 입력 인터페이스(110)는 사용자로부터 제어 명령을 입력받을 수 있다. 예를 들어, 입력 인터페이스(110)는 키 패드, 터치 패드, 터치 스크린 등을 포함할 수 있다.
프로세서(120)는 전자 장치(100)의 각 구성을 제어할 수 있다. 예를 들어, 프로세서(120)는 텍스트를 입력받도록 입력 인터페이스(110)를 제어할 수 있다. 프로세서(120)는 음향 특성을 추출하는 프로소디 모듈 및 음성 파형을 생성하는 보코더 모듈을 포함한다. 프로세서(120)는 프로소디 모듈을 이용하여 입력된 텍스트로부터 음향 특성을 식별(추출)할 수 있다. 프로세서(120)는 식별된 음향 특성에 기초하여 식별된 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성할 수 있다. 예를 들어, 식별된 음향 특성이 24 kHz의 샘플링 레이트인 경우, 프로세서(120)는 24 kHz 샘플링 레이트의 음향 특성에 기초하여 16 kHz 샘플링 레이트의 음향 특성, 8 kHz의 음향 특성을 생성할 수 있다. 프로세서(120)는 식별된 음향 특성을 다운샘플링하거나 기 설정된 음향 특성에 근사화시키는 방식으로 변형 음향 특성을 생성할 수 있다.
프로세서(120)는 식별된 음향 특성 및 변형 음향 특성 각각을 이용하여 각 음향 특성에 대응되는 보코더 모델을 학습시키고 보코더 학습 모델을 생성할 수 있다. 예를 들어, 프로세서(120)는 식별된 음향 특성으로 학습된 보코더 학습 모델을 생성할 수 있다. 또는, 프로세서(120)는 다운샘플링된 변형 음향 특성으로 학습되거나 기 설정된 음향 특성에 근사화된 변형 음향 특성으로 학습된 보코더 학습 모델을 생성할 수 있다. 또는, 프로세서(120)는 기 설정된 음향 특성에 근사화된 제1 변형 음향 특성 및 제1 음향 특성을 다운샘플링하여 생성된 제2 변형 음향 특성을 모두 이용하여 학습된 보코더 학습 모델을 생성할 수 있다.
전자 장치(100)는 프로소디 모델 및 보코더 학습 모델을 단말 장치(200)로 전송할 수 있다. 예를 들어, 전자 장치(100)는 입출력 포트 또는 통신 인터페이스를 통해 단말 장치로 프로소디 모델 및 보코더 학습 모델을 단말 장치(200)로 전송할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 단말 장치의 구성을 설명하는 블록도이다.
도 3을 참조하면, 단말 장치(200)는 프로세서(210) 및 스피커(220)를 포함한다.
프로세서(210)는 단말 장치(200)의 각 구성을 제어할 수 있다. 그리고, 프로세서(210)는 음향 특성을 추출하는 프로소디 모듈 및 음성 파형을 생성하는 보코더 모듈을 포함한다. 프로세서(210)의 프로소디 모듈은 학습된 프로소디 모델을 포함하고, 보코더 모듈은 복수의 보코더 학습 모델을 포함할 수 있다. 복수의 보코더 학습 모델은 서로 다른 샘플링 레이트로 학습된 모델일 수 있다. 프로세서(210)는 단말 장치(200)와 관련된 구성 요소(component)의 사양(specification)을 식별할 수 있다. 예를 들어, 구성 요소의 사양은 프로세서의 리소스, 프로세서의 동작 유무, 메모리 용량, 메모리 대역폭, 스피커의 성능 등을 포함할 수 있다. 상술한 단말 장치(200)와 관련된 구성 요소의 사양은 내부 사양이라고 칭할 수 있다. 한편, 단말 장치(200)는 외부 스피커와 연결될 수 있다. 이 경우, 단말 장치(200)와 관련된 구성 요소의 사양은 외부 스피커의 다양한 정보를 포함할 수 있다.
프로세서(210)는 식별된 구성 요소의 사양에 기초하여 복수의 보코더 학습 모델 중 하나의 보코더 학습 모델을 선택할 수 있다. 예를 들어, 프로세서(210)는 구성 요소 중 단말 장치의 내부 요소의 사양 및 음성 파형의 스트리밍 출력의 가능 여부에 기초하여 후보 보코더 학습 모델을 식별할 수 있다. 그리고, 프로세서(210)는 후보 보코더 학습 모델 중 최고 샘플링 레이트 및 음질에 기초하여 하나의 보코더 학습 모델을 선택할 수 있다. 또는, 프로세서(210)는 프로세서의 리소스에 기초하여 하나의 보코더 학습 모델을 선택할 수 있다. 한편, 상술한 바와 같이, 단말 장치(200)는 외부 스피커와 연결될 수 있다. 이 경우, 프로세서(210)는 외부 스피커의 사양을 식별하고, 식별된 외부 스피커의 사양에 기초하여 하나의 보코더 학습 모델을 선택할 수 있다.
프로세서(210)는 프로소디 모듈을 이용하여 텍스트로부터 음향 특성을 식별할 수 있다. 예를 들어, 단말 장치(200)는 메모리를 더 포함하고, 프로세서(210)는 메모리에 내장된 텍스트 데이터로부터 음향 특성을 식별할 수 있다. 또는, 단말 장치(200)는 통신 인터페이스를 더 포함하고, 프로세서(210)는 통신 인터페이스를 통해 수신된 텍스트 데이터로부터 음향 특성을 식별할 수 있다. 또는, 단말 장치(200)는 입력 인터페이스를 더 포함하고, 프로세서(210)는 입력 인터페이스를 통해 입력된 텍스트 데이터로부터 음향 특성을 식별할 수 있다. 프로세서(210)는 식별된 하나의 보코더 학습 모델을 이용하여 식별된 음향 특성에 대응되는 음성 파형을 생성할 수 있다.
스피커(220)는 생성된 음성 파형을 출력할 수 있다. 또는, 스피커(220)는 사용자의 입력 명령, 단말 장치(200)의 상태 관련 정보 또는 동작 관련 정보 등을 음성이나 알림음으로 출력할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 단말 장치의 구체적인 구성을 설명하는 블록도이다.
도 4를 참조하면, 단말 장치(200)는 프로세서(210), 스피커(220), 입력 인터페이스(230), 통신 인터페이스(240), 카메라(250), 마이크(260), 디스플레이(270), 메모리(280) 및 센서(290)를 포함할 수 있다. 스피커(220)는 도 3에서 설명한 바와 동일하므로 구체적인 설명은 생략한다.
입력 인터페이스(230)는 사용자의 명령을 입력받을 수 있다. 또는, 입력 인터페이스(230)는 사용자로부터 텍스트 데이터를 입력받을 수 있다. 입력 인터페이스(230)는 외부로부터 사용자의 명령 또는 텍스트 데이터를 입력받는 기능을 수행하고, 입력부, 입력 장치, 입력 모듈 등으로 불릴 수 있다. 예를 들어, 입력 인터페이스(230)는 키 패드, 터치 패드, 터치 스크린 등을 포함할 수 있다.
통신 인터페이스(240)는 외부 장치와 통신을 수행할 수 있다. 통신 인터페이스(240)는 외부 장치로부터 유무선 통신 방식을 이용하여 텍스트 데이터를 제공받을 수 있다. 일 실시 예로서, 텍스트는 웹 서버, 클라우드 등을 통해 단말 장치(200)로 제공될 수 있다. 예를 들어, 통신 인터페이스(240)는 3G, LTE(Long Term Evolution), 5G, 와이파이, 블루투스, DMB(Digital Multimedia Broadcasting), ATSC(Advanced Television Systems Committee), DVB(Digital Video Broadcasting), LAN(Local Area Network) 등의 방식으로 통신을 수행할 수 있는 모듈을 포함할 수 있다. 외부 장치와 통신을 수행하는 통신 인터페이스(240)는 통신부, 통신 장치, 통신 모듈, 송수신부 등으로 불릴 수도 있다.
카메라(250)는 외부 환경을 촬영하고 촬영된 이미지를 입력받을 수 있다. 일 실시 예로서, 카메라(250)는 텍스트를 포함하는 이미지를 촬영하고, 프로세서(210)는 OCR(Optical Character Recognition) 기능으로 이미지에 포함된 텍스트를 인식할 수 있다. 예를 들어, 카메라(250)는 CCD 센서, CMOS 센서를 포함할 수 있다.
마이크(260)는 외부의 사운드 신호를 입력받을 수 있다. 프로세서(210)는 입력된 사운드 신호를 처리하고 대응되는 동작을 수행할 수 있다. 예를 들어, 외부의 사운드 신호가 사용자의 음성인 경우, 프로세서(210)는 입력된 음성에 기초하여 제어 명령을 인식하고, 인식된 제어 명령에 대응되는 제어 동작을 수행할 수 있다.
디스플레이(270)는 영상 처리가 수행된 영상 신호를 출력할 수 있다. 예를 들어, 디스플레이(270)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode), 플렉서블 디스플레이, 터치 스크린 등으로 구현될 수 있다. 디스플레이(270)가 터치 스크린으로 구현되는 경우, 단말 장치(200)는 터치 스크린을 통해 제어 명령을 입력받을 수 있다.
메모리(280)는 단말 장치(200)의 기능을 수행하는 데이터 등을 저장하고, 단말 장치(200)에서 구동되는 프로그램, 명령어 등을 저장할 수 있다. 예를 들어, 메모리(280)는 텍스트 데이터, 프로소디 모델 및 복수의 보코더 학습 모델을 저장할 수 있다. 그리고, 메모리(280)에 저장된 프로소디 모델 및 선택된 보코더 학습 모델은 프로세서(210)의 제어에 의해 프로세서(210)로 로딩되어 동작을 수행할 수 있다. 메모리(280)에 저장된 프로그램, AI 모델, 데이터 등은 프로세서(210)로 로딩되어 동작을 수행할 수 있다. 예를 들어, 메모리(280)는 롬, 램, HDD, SSD, 메모리 카드 등의 타입으로 구현될 수 있다.
센서(290)는 사용자의 동작, 거리, 위치 등을 감지할 수 있다. 프로세서(210)는 센서(290)에서 감지된 사용자의 동작, 거리, 위치 등에 기초하여 제어 명령을 인식하고, 인식된 제어 명령에 대응되는 제어 동작을 수행할 수 있다. 또는, 센서(290)는 단말 장치(200)의 주변 환경 정보를 감지할 수 있다. 프로세서(210)는 센서(290)에서 감지된 주변 환경 정보에 기초하여 대응되는 제어 동작을 수행할 수 있다. 예를 들어, 센서(290)는 가속도 센서, 중력 센서, 자이로 센서, 지자기 센서, 방향 센서, 모션 인식 센서, 근접 센서, 전압계, 전류계, 기압계, 습도계, 온도계, 조도 센서, 열 감지 센서, 터치 센서, 적외선 센서, 초음파 센서 등을 포함할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 프로세서의 구성을 설명하는 블록도이다.
도 5를 참조하면, 프로세서(210)는 프로소디 모듈(211) 및 보코더 모듈(212)을 포함할 수 있다. 프로소디 모듈(211)은 음향 특성을 추출하는 프로소디 모델을 포함하고, 보코더 모듈(212)은 추출된 음향 특성으로부터 음성 파형을 생성하는 보코더 학습 모델을 포함할 수 있다. 일 실시 예로서, 프로소디 모듈(211) 및 보코더 모듈(212)은 하드웨어 또는 소프트웨어로 구현될 수 있다. 프로소디 모듈(211) 및 보코더 모듈(212)이 하드웨어로 구현된 경우, 프로소디 모듈(211) 및 보코더 모듈(212)은 프로세서(210)의 일 구성 요소로 구현될 수 있다. 프로소디 모듈(211) 및 보코더 모듈(212)이 소프트웨어로 구현된 경우, 프로소디 모듈(211) 및 보코더 모듈(212)은 메모리에 저장되고, 단말 장치(200)가 TTS 기능을 실행할 때 메모리로부터 프로세서로 로딩될 수 있다. 또는, 프로소디 모델 및 보코더 학습 모델은 소프트웨어로 구현되어, 단말 장치(200)가 TTS 기능을 실행할 때 메모리로부터 프로세서로 로딩될 수 있다.
프로소디 모듈(211)은 텍스트로부터 음향 특성을 추출하는 프로소디 모델을 포함할 수 있다. 보코더 모듈(212)는 단말 장치(200)와 관련된 구성 요소의 사양 등에 기초하여 하나의 보코더 학습 모델을 포함할 수 있다. 프로소디 모듈(211)에서 추출된 음향 특성은 보코더 학습 모듈(212)로 입력되고, 보코더 학습 모듈(212)은 선택된 보코더 학습 모델을 이용하여 음향 특성에 대응되는 음성 파형을 생성할 수 있다. 생성된 음성 파형은 스피커를 통해 출력될 수 있다.
지금까지, 단말 장치(200)의 각 구성을 설명하였다. 아래에서는 보코더 모델을 훈련시키고, 복수의 보코더 학습 모델 중 최적의 보코더 학습 모델을 선택하는 과정을 설명한다.
도 6a 및 도 6b는 본 개시의 일 실시 예에 따른 보코더 모델을 학습시키는 과정을 설명하는 도면이다.
도 6a를 참조하면, 동일한 프로소디 모델을 이용하여 다양한 보코더 모델을 학습시키는 과정이 도시되어 있다. 예를 들어, 보코더 모델은 24 kHz 음성 파형(Waveform_24)에 기초하여 학습될 수 있다. 프로소디 모델은 24 kHz 음성 파형으로부터 24 kHz 음향 특성(feat_24)을 추출할 수 있다(S110). 추출된 24 kHz 음향 특성은 24 kHz 샘플링 레이트의 보코더 모델(11) 및 16 kHz 샘플링 레이트의 보코더 모델(12)을 학습시키는 과정에 이용될 수 있다. 24 kHz 음향 특성은 16 kHz 음성 파형의 정보를 모두 포함하고 있으므로 16 kHz 샘플링 레이트의 보코더 모델(12)의 학습에도 이용될 수 있다. 전자 장치는 16 kHz 샘플링 레이트의 보코더 모델(12)의 학습을 위해 24 kHz 음성 파형을 16 kHz 음성 파형(Waveform_16)으로 다운샘플링할 수 있다(S120).
추출된 24 kHz 음향 특성은 24 kHz 샘플링 레이트의 보코더 모델(11)로 입력될 수 있다. 그리고, 24 kHz 샘플링 레이트의 보코더 모델(11)은 입력된 24 kHz 음향 특성에 기초하여 24 kHz 샘플링 레이트의 음성 파형을 생성할 수 있다. 전자 장치는 생성된 음성 파형과 학습에 이용된 24 kHz 음성 파형에 기초하여 음성 파형의 손실을 식별할 수 있다(S130). 전자 장치는 식별된 음성 파형의 손실에 기초하여 24 kHz 샘플링 레이트의 보코더 모델(11)을 학습시켜 24 kHz 샘플링 레이트의 보코더 학습 모델을 생성할 수 있다.
유사한 방식으로, 추출된 24 kHz 음향 특성은 16 kHz 샘플링 레이트의 보코더 모델(12)로 입력될 수 있다. 그리고, 16 kHz 샘플링 레이트의 보코더 모델(12)은 입력된 24 kHz 음향 특성에 기초하여 16 kHz 샘플링 레이트의 음성 파형을 생성할 수 있다. 전자 장치는 생성된 음성 파형과 다운샘플링된 16 kHz 음성 파형에 기초하여 음성 파형의 손실을 식별할 수 있다(S140). 전자 장치는 식별된 음성 파형의 손실에 기초하여 16 kHz 샘플링 레이트의 보코더 모델(12)을 학습시켜 16 kHz 샘플링 레이트의 보코더 학습 모델을 생성할 수 있다.
도 6b를 참조하면, 근사화 과정을 수행하여 다양한 보코더 모델을 학습시키는 과정이 도시되어 있다. 예를 들어, 프로소디 모델은 24 kHz 음성 파형으로부터 24 kHz 음향 특성(feat_24)을 추출할 수 있다(S210). 추출된 24 kHz 음향 특성은 24 kHz 샘플링 레이트의 보코더 모델(11) 및 16 kHz 샘플링 레이트의 보코더 모델(12)을 학습시키는 과정에 이용될 수 있다. 전자 장치는 16 kHz 샘플링 레이트의 보코더 모델(12)의 학습을 위해 24 kHz 음성 파형을 16 kHz 음성 파형(Waveform_16)으로 다운샘플링할 수 있다(S220).
추출된 24 kHz 음향 특성은 24 kHz 샘플링 레이트의 보코더 모델(11)로 입력될 수 있다. 그리고, 24 kHz 샘플링 레이트의 보코더 모델(11)은 입력된 24 kHz 음향 특성에 기초하여 24 kHz 샘플링 레이트의 음성 파형을 생성할 수 있다. 전자 장치는 생성된 음성 파형과 학습에 이용된 24 kHz 음성 파형에 기초하여 음성 파형의 손실을 식별할 수 있다(S240). 전자 장치는 식별된 음성 파형의 손실에 기초하여 24 kHz 샘플링 레이트의 보코더 모델(11)을 학습시켜 24 kHz 샘플링 레이트의 보코더 학습 모델을 생성할 수 있다.
전자 장치는 프로소디 모듈로부터 추출된 24 kHz 음향 특성을 기 설정된 샘플링 레이트의 음향 특성으로 근사화시킬 수 있다(S230). 예를 들어, 전자 장치는 24 kHz 음향 특성을 16 kHz 음향 특성(feat_16)으로 근사화시킬 수 있다. 근사화된 16 kHz 음향 특성은 16 kHz 샘플링 레이트의 보코더 모델(12)의 학습에 이용될 수 있다. 근사화된 16 kHz 음향 특성은 16 kHz 샘플링 레이트의 보코더 모델(12)로 입력될 수 있다. 그리고, 16 kHz 샘플링 레이트의 보코더 모델(12)은 입력된 16 kHz 음향 특성에 기초하여 16 kHz 샘플링 레이트의 음성 파형을 생성할 수 있다. 전자 장치는 생성된 음성 파형과 다운샘플링된 16 kHz 음성 파형에 기초하여 음성 파형의 손실을 식별할 수 있다(S250). 전자 장치는 식별된 음성 파형의 손실에 기초하여 16 kHz 샘플링 레이트의 보코더 모델(12)을 학습시켜 16 kHz 샘플링 레이트의 보코더 학습 모델을 생성할 수 있다.
도 7a 및 도 7b는 본 개시의 일 실시 예에 따른 단말 장치에 대응되는 보코더 학습 모델을 선택하는 과정을 설명하는 도면이다.
도 6a 및 도 6b에서 설명한 과정을 통해 다양한 보코더 학습 모델이 생성될 수 있다. 생성된 보코더 학습 모델은 단말 장치(200)에 포함될 수 있다.
도 7a를 참조하면, 단말 장치(200)는 복수의 보코더 학습 모델(1)을 포함할 수 있다. 예를 들어, 제1 보코더 학습 모델은 (c1, q1, s1)의 특성을 포함하고, 제n 보코더 학습 모델은 (cn, qn, sn)의 특성을 포함할 수 있다. c는 보코더 모델의 복잡도를 의미하며, 복잡도가 클수록 연산량이 커질 수 있다. q는 음질을 의미하며, q가 클수록 SNR(Signal-to-Noise Ratio)가 높을 수 있다. s는 샘플링 레이트를 의미한다.
단말 장치(200)는 단말 장치와 관련된 사양에 기초하여 최적의 보코더 학습 모델을 식별할 수 있다(S310). 예를 들어, 단말 장치와 관련된 사양은 프로세서의 리소스, 프로세서의 동작 유무, 메모리 용량, 메모리 대역폭, 스피커의 성능, 외부 스피커가 연결된 경우 외부 스피커의 사양 등을 포함할 수 있다. 예를 들어, 단말 장치와 관련된 사양은 고정된 단말 장치의 내부 사양(예, 프로세서, 메모리 등) 및 가변하는 단말 장치의 외부 사양(스피커 등)을 포함할 수 있다. 단말 장치(200)는 내부 사양에 기초하여 스트리밍이 가능한 보코더 학습 모델의 후보군(2)을 식별할 수 있다. 그리고, 단말 장치(200)는 다른 내부 사양 또는 외부 사양에 기초하여 최적의 보코더 학습 모델(3)을 선택할 수 있다. 일 실시 예로서, 보코더 학습 모델의 후보군(2)은 (c1, 저음질, 16 kHz), (c2, 중음질, 16 kHz), (c3, 고음질, 16 kHz), (c4, 저음질, 24 kHz)일 수 있다. 단말 장치(200)는 고주파 표현력이 낮은 스마트폰 스피커로 출력하는 경우, 샘플링 레이트가 낮더라도 음질이 좋은 (c3, 고음질, 16 kHz)의 모델을 선택할 수 있다. 또는, 단말 장치(200)는 고급 헤드폰으로 출력하는 경우, 약간의 잡음이 있더라도 높은 대역폭을 제공하는 것이 유리할 수 있으므로 (c4, 저음질, 24 kHz)의 모델을 선택할 수 있다. 또는, 저가 헤드폰, 이어폰의 경우 왜곡 및 추가 잡음이 있을 수 있으므로, 단말 장치(200)는 (c2, 중음질, 16 kHz)의 모델을 선택할 수 있다.
단말 장치(200)는 프로소디 모델(31)을 이용하여 텍스트로부터 음향 특성을 추출하고, 추출된 음향 특성을 보코더 모듈(32)에 포함된 선택된 보코더 학습 모델(3)을 이용하여 음성 파형을 생성할 수 있다. 단말 장치(200)는 동일한 프로소디 모델 및 다양한 보코더 학습 모델을 포함할 수 있다. 만일, 프로소디 모델로부터 추출된 음향 특성의 샘플링 레이트와 선택된 보코더 학습 모델의 샘플링 레이트가 다른 경우, 단말 장치(200)는 추출된 음향 특성의 샘플링 레이트를 선택된 보코더 학습 모델의 샘플링 레이트에 근사화시킬 수 있다(33). 일 실시 예로서, 추출된 음향 특성의 샘플링 레이트가 24 kHz이고, 선택된 보코더 학습 모델의 샘플링 레이트가 16 kHz라면, 단말 장치(200)는 추출된 음향 특성의 샘플링 레이트를 16 kHz로 근사화시킬 수 있다.
도 7b를 참조하면, 단말 장치(200)는 복수의 보코더 학습 모델(1)을 포함할 수 있다. 단말 장치(200)는 단말 장치의 사양에 기초하여 보코더 학습 모델의 후보군(2)을 식별할 수 있다(S410). 단말 장치(200)는 단말 장치에 포함된 모든 보코더 학습 모델(1)로부터 사용 가능한 보코더 학습 모델의 후보군(2)을 식별할 수 있다. 그리고, 단말 장치(200)는 단말 장치의 리소스를 모니터링할 수 있다(S420). 단말 장치(200)는 단말 장치의 리소스 등에 기초하여 식별된 후보군으로부터 최적의 보코더 학습 모델(3)을 선택할 수 있다(S430). 일 실시 예로서, 단말 장치(200)에서 다른 앱이나 프로세스가 동작하지 않을 때는 높은 샘플링 레이트의 보코더 학습 모델이 선택될 수 있다. 다른 앱이나 프로세스가 동작하여 리소스가 적은 경우, 낮은 샘플링 레이트의 보코더 학습 모델이 선택될 수 있다. 또는, 메모리 사용량이 많은 경우, 단말 장치(200)는 복잡도가 낮고 샘플링 레이트가 낮은 보코더 학습 모델을 선택할 수 있다.
단말 장치(200)는 프로소디 모델(41)을 이용하여 텍스트로부터 음향 특성을 추출하고, 추출된 음향 특성을 보코더 모듈(42)에 포함된 선택된 보코더 학습 모델(3)을 이용하여 음성 파형을 생성할 수 있다. 단말 장치(200)는 동일한 프로소디 모델 및 다양한 보코더 학습 모델을 포함할 수 있다. 만일, 프로소디 모델로부터 추출된 음향 특성의 샘플링 레이트와 선택된 보코더 학습 모델의 샘플링 레이트가 다른 경우, 단말 장치(200)는 추출된 음향 특성의 샘플링 레이트를 선택된 보코더 학습 모델의 샘플링 레이트에 근사화시킬 수 있다(43).
지금까지 다양한 보코더 학습 모델을 학습시키고 최적의 보코더 학습 모델을 선택하는 과정을 설명하였다. 아래에서는 전자 장치 및 단말 장치의 흐름도를 설명한다.
도 8은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하는 흐름도이다.
도 8을 참조하면, 전자 장치는 텍스트를 입력받고(S810), 음향 특성을 추출하는 프로소디 모듈을 이용하여 입력된 텍스트로부터 제1 음향 특성을 식별한다(S820).
전자 장치는 제1 음향 특성에 기초하여 제1 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성한다(S830). 예를 들어, 전자 장치는 제1 음향 특성을 다운샘플링하여 변형 음향 특성을 생성할 수 있다. 또는, 전자 장치는 제1 음향 특성을 기 설정된 음향 특성에 근사화시켜 변형 음향 특성을 생성할 수 있다.
전자 장치는 제1 음향 특성 및 변형 음향 특성 각각에 기초하여 음성 파형을 생성하는 보코더 모듈을 학습시켜 복수의 보코더 학습 모델을 생성한다(S840). 예를 들어, 전자 장치는 기 설정된 음향 특성에 근사화된 제1 변형 음향 특성 및 제1 음향 특성을 다운샘플링하여 생성된 제2 변형 음향 특성에 기초하여 보코더 모듈을 학습시킬 수 있다.
도 9는 본 개시의 일 실시 예에 따른 단말 장치의 제어 방법을 설명하는 흐름도이다.
도 9를 참조하면, 단말 장치는 단말 장치와 관련된 구성 요소의 사양을 식별한다(S910). 예를 들어, 구성 요소의 사양은 프로세서의 리소스, 프로세서의 동작 유무, 메모리 용량, 메모리 대역폭, 스피커의 성능 등을 포함할 수 있다. 상술한 단말 장치(200)와 관련된 구성 요소의 사양은 내부 사양일 수 있다. 한편, 단말 장치(200)는 외부 스피커와 연결될 수 있다. 이 경우, 단말 장치(200)와 관련된 구성 요소의 사양은 외부 스피커의 다양한 정보를 포함할 수 있다.
단말 장치는 식별된 구성 요소의 사양에 기초하여 복수의 보코더 학습 모델 중 하나의 보코더 학습 모델을 선택한다(S920). 예를 들어, 단말 장치는 단말 장치의 내부 요소의 사양 및 음성 파형의 스트리밍 출력의 가능 여부에 기초하여 후보 보코더 학습 모델을 식별할 수 있다. 단말 장치는 후보 보코더 학습 모델 중 최고 샘플링 레이트 및 음질에 기초하여 하나의 보코더 학습 모델을 선택할 수 있다. 또는, 단말 장치는 프로세서의 리소스에 기초하여 하나의 보코더 학습 모델을 선택할 수 있다. 단말 장치에 외부 스피커가 연결된 경우, 단말 장치는 외부 스피커의 사양을 식별하고, 식별된 외부 스피커의 사양에 기초하여 하나의 보코더 학습 모델을 선택할 수 있다.
단말 장치는 프로소디 모듈을 이용하여 텍스트로부터 음향 특성을 식별하고(S930), 식별된 보코더 학습 모델을 이용하여 식별된 음향 특성에 대응되는 음성 파형을 생성하여 스피커로 출력한다(S940).
상술한 다양한 실시 예에 따른 전자 장치의 제어 방법 및 단말 장치의 제어 방법은 컴퓨터 프로그램 제품으로 제공될 수도 있다. 컴퓨터 프로그램 제품은 S/W 프로그램 자체 또는 S/W 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)를 포함할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 입력 인터페이스
120: 프로세서 200: 단말 장치
210: 프로세서 220: 스피커

Claims (20)

  1. 입력 인터페이스; 및
    음향 특성을 추출하는 프로소디(prosody) 모듈 및 음성 파형을 생성하는 보코더 모듈을 포함하는 프로세서;를 포함하고,
    상기 프로세서는,
    상기 입력 인터페이스를 통해 텍스트를 입력받고,
    상기 프로소디 모듈을 이용하여 상기 입력된 텍스트로부터 제1 음향 특성을 식별하며,
    상기 식별된 제1 음향 특성에 기초하여 상기 제1 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성하고,
    상기 제1 음향 특성 및 상기 변형 음향 특성 각각에 기초하여 상기 보코더 모듈을 학습시켜 복수의 보코더 학습 모델을 생성하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 음향 특성을 다운샘플링하여 상기 변형 음향 특성을 생성하는, 전자 장치.
  3. 제1항에 있어서,
    상기 프로세서는,
    상기 제1 음향 특성을 기 설정된 음향 특성에 근사화시켜 상기 변형 음향 특성을 생성하는, 전자 장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 기 설정된 음향 특성에 근사화된 제1 변형 음향 특성 및 상기 제1 음향 특성을 다운샘플링하여 생성된 제2 변형 음향 특성에 기초하여 상기 보코더 모듈을 학습시키는, 전자 장치.
  5. 단말 장치에 있어서,
    프로소디(prosody) 모듈 및 서로 다른 샘플링 레이트로 학습된 복수의 보코더 학습 모델을 포함하는 보코더 모듈을 포함하는 프로세서; 및
    스피커;를 포함하고,
    상기 프로세서는,
    상기 단말 장치와 관련된 구성 요소(component)의 사양(specification)을 식별하고,
    상기 식별된 구성 요소의 사양에 기초하여 상기 복수의 보코더 학습 모델 중 하나의 보코더 학습 모델을 선택하며,
    상기 프로소디 모듈을 이용하여 텍스트로부터 음향 특성을 식별하고,
    상기 식별된 보코더 학습 모델을 이용하여 상기 식별된 음향 특성에 대응되는 음성 파형을 생성하여 상기 스피커를 통해 출력하는, 단말 장치.
  6. 제5항에 있어서,
    상기 프로세서는,
    상기 구성 요소 중 상기 단말 장치의 내부 요소의 사양 및 상기 음성 파형의 스트리밍 출력의 가능 여부에 기초하여 후보 보코더 학습 모델을 식별하는, 단말 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 후보 보코더 학습 모델 중 최고 샘플링 레이트 및 음질에 기초하여 하나의 보코더 학습 모델을 선택하는, 단말 장치.
  8. 제6항에 있어서,
    상기 프로세서는,
    상기 프로세서의 리소스에 기초하여 하나의 보코더 학습 모델을 선택하는, 단말 장치.
  9. 제5항에 있어서,
    상기 스피커는 상기 단말 장치 내부에 포함된 스피커 및 상기 단말 장치와 연결된 외부 스피커 중 적어도 하나를 포함하는, 단말 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 외부 스피커의 사양을 식별하고, 상기 식별된 외부 스피커의 사양에 기초하여 하나의 보코더 학습 모델을 선택하는, 단말 장치.
  11. 텍스트를 입력받는 단계;
    음향 특성을 추출하는 프로소디 모듈을 이용하여 상기 입력된 텍스트로부터 제1 음향 특성을 식별하는 단계;
    상기 식별된 제1 음향 특성에 기초하여 상기 제1 음향 특성과 샘플링 레이트가 다른 변형 음향 특성을 생성하는 단계; 및
    상기 제1 음향 특성 및 상기 변형 음향 특성 각각에 기초하여 음성 파형을 생성하는 보코더 모듈을 학습시켜 복수의 보코더 학습 모델을 생성하는 단계;를 포함하는 전자 장치의 제어 방법.
  12. 제11항에 있어서,
    상기 변형 음향 특성을 생성하는 단계는,
    상기 제1 음향 특성을 다운샘플링하여 상기 변형 음향 특성을 생성하는, 전자 장치의 제어 방법.
  13. 제11항에 있어서,
    상기 변형 음향 특성을 생성하는 단계는,
    상기 제1 음향 특성을 기 설정된 음향 특성에 근사화시켜 상기 변형 음향 특성을 생성하는, 전자 장치의 제어 방법.
  14. 제13항에 있어서,
    상기 복수의 보코더 학습 모델을 생성하는 단계는,
    상기 기 설정된 음향 특성에 근사화된 제1 변형 음향 특성 및 상기 제1 음향 특성을 다운샘플링하여 생성된 제2 변형 음향 특성에 기초하여 상기 보코더 모듈을 학습시키는, 전자 장치의 제어 방법.
  15. 단말 장치의 제어 방법에 있어서,
    상기 단말 장치와 관련된 구성 요소(component)의 사양(specification)을 식별하는 단계;
    상기 식별된 구성 요소의 사양에 기초하여 복수의 보코더 학습 모델 중 하나의 보코더 학습 모델을 선택하는 단계;
    프로소디 모듈을 이용하여 텍스트로부터 음향 특성을 식별하는 단계; 및
    상기 식별된 보코더 학습 모델을 이용하여 상기 식별된 음향 특성에 대응되는 음성 파형을 생성하여 스피커를 통해 출력하는 단계;를 포함하는 단말 장치의 제어 방법.
  16. 제15항에 있어서,
    상기 구성 요소 중 상기 단말 장치의 내부 요소의 사양 및 상기 음성 파형의 스트리밍 출력의 가능 여부에 기초하여 후보 보코더 학습 모델을 식별하는 단계;를 더 포함하는 단말 장치의 제어 방법.
  17. 제16항에 있어서,
    상기 하나의 보코더 학습 모델을 선택하는 단계는,
    상기 후보 보코더 학습 모델 중 최고 샘플링 레이트 및 음질에 기초하여 하나의 보코더 학습 모델을 선택하는, 단말 장치의 제어 방법.
  18. 제16항에 있어서,
    상기 하나의 보코더 학습 모델을 선택하는 단계는,
    프로세서의 리소스에 기초하여 하나의 보코더 학습 모델을 선택하는, 단말 장치의 제어 방법.
  19. 제15항에 있어서,
    상기 스피커는 상기 단말 장치 내부에 포함된 스피커 및 상기 단말 장치와 연결된 외부 스피커 중 적어도 하나를 포함하는, 단말 장치의 제어 방법.
  20. 제19항에 있어서,
    상기 하나의 보코더 학습 모델을 선택하는 단계는,
    상기 외부 스피커의 사양을 식별하고, 상기 식별된 외부 스피커의 사양에 기초하여 하나의 보코더 학습 모델을 선택하는, 단말 장치의 제어 방법.
KR1020210138343A 2021-10-18 2021-10-18 전자 장치, 단말 장치 및 그 제어 방법 KR20230055083A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210138343A KR20230055083A (ko) 2021-10-18 2021-10-18 전자 장치, 단말 장치 및 그 제어 방법
EP22883711.8A EP4325480A1 (en) 2021-10-18 2022-06-27 Electronic device, terminal device, and method for controlling same
PCT/KR2022/009125 WO2023068480A1 (ko) 2021-10-18 2022-06-27 전자 장치, 단말 장치 및 그 제어 방법
US18/235,124 US20230395060A1 (en) 2021-10-18 2023-08-17 Electronic apparatus, terminal apparatus and controlling method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210138343A KR20230055083A (ko) 2021-10-18 2021-10-18 전자 장치, 단말 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230055083A true KR20230055083A (ko) 2023-04-25

Family

ID=86059236

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210138343A KR20230055083A (ko) 2021-10-18 2021-10-18 전자 장치, 단말 장치 및 그 제어 방법

Country Status (4)

Country Link
US (1) US20230395060A1 (ko)
EP (1) EP4325480A1 (ko)
KR (1) KR20230055083A (ko)
WO (1) WO2023068480A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110288981B (zh) * 2019-07-03 2020-11-06 百度在线网络技术(北京)有限公司 用于处理音频数据的方法和装置
US11430424B2 (en) * 2019-11-13 2022-08-30 Meta Platforms Technologies, Llc Generating a voice model for a user
KR102222597B1 (ko) * 2020-02-03 2021-03-05 (주)라이언로켓 콜미 서비스를 위한 음성 합성 장치 및 방법
CN111667816B (zh) * 2020-06-15 2024-01-23 北京百度网讯科技有限公司 模型训练方法、语音合成方法、装置、设备和存储介质
CN112599141B (zh) * 2020-11-26 2022-02-25 北京百度网讯科技有限公司 神经网络声码器训练方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
EP4325480A1 (en) 2024-02-21
US20230395060A1 (en) 2023-12-07
WO2023068480A1 (ko) 2023-04-27

Similar Documents

Publication Publication Date Title
WO2020155907A1 (zh) 用于生成漫画风格转换模型的方法和装置
JP6744314B2 (ja) クラウドソーシングに基づいてデジタルパーソナルアシスタントのための言語理解分類子モデルを更新すること
US10490184B2 (en) Voice recognition apparatus and method
US10540995B2 (en) Electronic device and method for recognizing speech
US20180144749A1 (en) Speech recognition apparatus and method
US10831440B2 (en) Coordinating input on multiple local devices
JP2021015264A (ja) 視覚支援スピーチ処理
US20200077023A1 (en) Image stabilization using machine learning
US10546574B2 (en) Voice recognition apparatus and method
US20220270590A1 (en) Unsupervised federated learning of machine learning model layers
WO2023005386A1 (zh) 模型训练方法和装置
US11568875B2 (en) Artificial intelligence apparatus and method for recognizing plurality of wake-up words
US10770094B2 (en) Routing audio streams based on semantically generated result sets
US20210327449A1 (en) Electronic device for speech recognition and control method thereof
KR20230055083A (ko) 전자 장치, 단말 장치 및 그 제어 방법
KR20210066651A (ko) 전자 장치 및 이의 제어 방법
US11817097B2 (en) Electronic apparatus and assistant service providing method thereof
CN118120010A (zh) 电子设备、终端设备及其控制方法
US20220394200A1 (en) Training data generation method, method and device for generating learned model, recording medium, program, and information processing device
JP2023027697A (ja) 端末装置、送信方法、送信プログラム及び情報処理システム
US20210314654A1 (en) Systems and methods for delayed pausing
KR20210054246A (ko) 전자장치 및 그 제어방법
US11997445B2 (en) Systems and methods for live conversation using hearing devices
WO2024077588A1 (en) Voice-based user authentication
KR102669100B1 (ko) 전자 장치 및 그 제어 방법