KR20210122071A - 음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법 - Google Patents

음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법 Download PDF

Info

Publication number
KR20210122071A
KR20210122071A KR1020210024743A KR20210024743A KR20210122071A KR 20210122071 A KR20210122071 A KR 20210122071A KR 1020210024743 A KR1020210024743 A KR 1020210024743A KR 20210024743 A KR20210024743 A KR 20210024743A KR 20210122071 A KR20210122071 A KR 20210122071A
Authority
KR
South Korea
Prior art keywords
name
information
characteristic vector
pronunciation
module
Prior art date
Application number
KR1020210024743A
Other languages
English (en)
Other versions
KR102352987B1 (ko
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 KR1020210024743A priority Critical patent/KR102352987B1/ko
Publication of KR20210122071A publication Critical patent/KR20210122071A/ko
Application granted granted Critical
Publication of KR102352987B1 publication Critical patent/KR102352987B1/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/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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 콜미 서비스를 위한 음성 합성 장치 및 방법에 관한 것이다. 이를 위하여, 상기 이름 텍스트 정보 수신 모듈에서 상기 이름 텍스트 정보를 수신하고, 수신된 상기 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 이름 발음 정보 생성 모듈;을 이용하는 것을 제공할 수 있다. 본 발명의 일실시예에 따르면, 다양한 화자의 음성/영상에 대하여 해당 화자의 음성으로 사용자를 호출하는 서비스가 가능해지는 효과가 발생된다.

Description

음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법{Voice synthesis apparatus and method for 'Call me' service using acoustic feature vector}
본 발명은 음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법에 관한 것이다.
음성합성(speech synthesis)은 인위적으로 사람의 소리를 합성하여 만들어내는 것으로, 텍스트를 음성으로 변환하는 텍스트 음성변환(text-to-speech, TTS)이 대표적인 음성합성 방법으로 이용되고 있다.
기존의 TTS 알고리즘은 주로 Unit selection approach가 활용되고 있었고, 이러한 알고리즘은 입력되는 텍스트 정보에서 linguistic feature를 추출하고 waveform으로 붙여넣어 출력하는 접근이었다. 여기서의 핵심은 오디오 세그먼트들을 기존의 waveform dictionary와 어떻게 잘 매칭할지가 관건이었다. 이후 Statistical parametic approach가 출현하였으며, Statistical parametric approach는 추출된 linguistic feature를 확률적으로 acoustic feature로 변환하는 모듈을 더 포함한 접근이었지만, 음질이나 노이즈 문제가 많아 상용화되기는 어려웠다.
딥러닝의 출현 이후 기존의 TTS와 달리 End-to-end approach가 발달하게 되었고, 대표적인 알고리즘으로 Wavenet, Tacotron, Tacotron2 등이 있다. 이러한 딥러닝 알고리즘들은 음절이나 음소의 임베딩 벡터(linguistic feature)를 생성하는 인코딩 단계, linguistic feature를 확률적으로 acoustic feature로 변환하는 디코딩 단계, acoustic feature를 waveform으로 변환하는 Vocoder 단계를 포함하며, 각각의 단계에서 RNN/LSTM 등의 딥러닝이 활용될 수 있다.
대한민국 등록특허 10-1716013, 다수의 언어들에 대한 콘텐츠의 음성 합성 처리, 애플 인크.
하지만, 이러한 TTS 서비스들은 단순히 텍스트에서 특정 음성 특성을 지니는 음성을 출력하는데에 그치고 있고, 사용자 측면에서 감정적으로 와닿고 인간적인 교감을 주는 서비스는 출현하지 못하고 있는 실정이다.
따라서, 본 발명의 목적은 다양한 화자의 음성/영상에 사용자의 이름에 대한 음성을 합성함으로써 사용자가 깊이 교감할 수 있는 콜미 서비스를 위한 음성 합성 장치 및 방법을 제공하는 데에 있다.
이하 본 발명의 목적을 달성하기 위한 구체적 수단에 대하여 설명한다.
본 발명의 목적은, 사용자 클라이언트(100) 또는 특정 서비스 서버(200)에서 사용자 또는 제3자에 대한 이름 텍스트 정보를 수신하는 이름 텍스트 정보 수신 모듈; 상기 이름 텍스트 정보 수신 모듈에서 상기 이름 텍스트 정보를 수신하고, 수신된 상기 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 이름 발음 정보 생성 모듈; 상기 이름 발음 정보 생성 모듈에서 생성된 상기 이름 발음 정보를 수신하고, 상기 이름 발음 정보를 기초로 상기 이름 발음 정보의 텍스트에 대한 언어 특성 벡터를 생성하는 언어 특성 벡터 생성 모듈; 상기 언어 특성 벡터 생성 모듈의 상기 언어 특성 벡터를 수신하고, 상기 언어 특성 벡터를 기초로 n개의 스펙트로그램 정보를 포함하는 음향 특성 벡터를 생성하는 음향 특성 벡터 생성 모듈; 상기 음향 특성 벡터 생성 모듈에서 출력된 상기 음향 특성 벡터를 수신하고, 상기 음향 특성 벡터를 Griffin-Lim 모듈에 입력하여 이름 음성 정보를 생성하는 이름 음성 정보 생성 모듈; 및 이름 영역이 기설정된 특정 화자의 음성 정보 또는 영상 정보의 상기 이름 영역에 상기 이름 음성 정보 생성 모듈에서 생성된 상기 이름 음성 정보를 삽입하여 상기 이름 음성 정보와 상기 특정 화자의 상기 음성 정보 또는 상기 영상 정보를 병합하는 이름 음성 정보 병합 모듈;을 포함하는, 콜미 서비스를 위한 음성 합성 장치를 제공하여 달성될 수 있다.
본 발명의 다른 목적은, 사용자 클라이언트 또는 특정 서비스 서버에서 사용자 또는 제3자에 대한 이름 텍스트 정보를 수신하는 이름 텍스트 정보 수신 모듈; 상기 이름 텍스트 정보 수신 모듈에서 상기 이름 텍스트 정보를 수신하고, 수신된 상기 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 이름 발음 정보 생성 모듈; 상기 이름 발음 정보 생성 모듈에서 생성된 상기 이름 발음 정보를 수신하고, 상기 이름 발음 정보를 기초로 상기 이름 발음 정보의 텍스트에 대한 언어 특성 벡터를 생성하는 언어 특성 벡터 생성 모듈; 상기 언어 특성 벡터 생성 모듈의 상기 언어 특성 벡터를 수신하고, 상기 언어 특성 벡터를 기초로 스펙트로그램 정보에 관한 음향 특성 벡터를 생성하는 음향 특성 벡터 생성 모듈; 상기 음향 특성 벡터 생성 모듈에서 출력된 상기 음향 특성 벡터를 수신하고, 상기 음향 특성 벡터를 이용하여 이름 음성 정보를 생성하는 이름 음성 정보 생성 모듈; 및 이름 영역이 기설정된 특정 화자의 음성 정보 또는 영상 정보인 병합 대상 콘텐츠 정보의 상기 이름 영역에 상기 이름 음성 정보 생성 모듈에서 생성된 상기 이름 음성 정보를 삽입하여 상기 이름 음성 정보와 상기 특정 화자의 상기 병합 대상 정보를 병합하고 병합 콘텐츠 정보를 생성하는 이름 음성 정보 병합 모듈;을 포함하여, 상기 특정 화자의 음성 특성으로 상기 이름 텍스트 정보를 호출하며 상기 병합 대상 콘텐츠 정보를 출력하도록 상기 병합 콘텐츠 정보를 생성하는 콜미 서비스를 구성하는 것을 특징으로 하는, 콜미 서비스를 위한 음성 합성 장치를 제공하여 달성될 수 있다.
또한, 상기 음향 특성 벡터 생성 모듈은, 상기 언어 특성 벡터를 기초로 생성된 콘텍스트 벡터와 특정 프레임의 상기 음향 특성 벡터를 입력으로 하고, 상기 특정 프레임 이후의 프레임의 상기 음향 특성 벡터를 출력으로 하는 인공신경망으로 구성되는 것을 특징으로 할 수 있다.
또한, 상기 이름 발음 정보 생성 모듈은, 상기 이름 텍스트 정보를 발음 문자열 형태로 변환한 뒤, 유사 발음열을 통일하여 상기 이름 발음 정보를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 이름 텍스트 정보가 한글 이외의 언어인 외국어로 구성된 경우, 상기 이름 발음 정보 생성 모듈은, 외국어의 상기 이름 텍스트 정보를 한글의 상기 이름 텍스트 정보로 전환한 뒤에, 상기 이름 텍스트 정보를 발음 문자열 형태로 변환하여 상기 이름 발음 정보를 생성하는 것을 특징으로 할 수 있다.
본 발명의 다른 목적은, 이름 텍스트 정보 수신 모듈이, 사용자 클라이언트 또는 특정 서비스 서버에서 사용자 또는 제3자에 대한 이름 텍스트 정보를 수신하는 이름 텍스트 정보 수신 단계; 이름 발음 정보 생성 모듈이, 상기 이름 텍스트 정보 수신 모듈에서 상기 이름 텍스트 정보를 수신하고, 수신된 상기 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 이름 발음 정보 생성 단계; 언어 특성 벡터 생성 모듈이, 상기 이름 발음 정보 생성 모듈에서 생성된 상기 이름 발음 정보를 수신하고, 상기 이름 발음 정보를 기초로 상기 이름 발음 정보의 텍스트에 대한 언어 특성 벡터를 생성하는 언어 특성 벡터 생성 단계; 음향 특성 벡터 생성 모듈이, 상기 언어 특성 벡터 생성 모듈의 상기 언어 특성 벡터를 수신하고, 상기 언어 특성 벡터를 기초로 스펙트로그램 정보에 관한 음향 특성 벡터를 생성하는 음향 특성 벡터 생성 단계; 이름 음성 정보 생성 모듈이, 상기 음향 특성 벡터 생성 모듈에서 출력된 상기 음향 특성 벡터를 수신하고, 상기 음향 특성 벡터를 이용하여 이름 음성 정보를 생성하는 이름 음성 정보 생성 단계; 및 이름 음성 정보 병합 모듈이, 이름 영역이 기설정된 특정 화자의 음성 정보 또는 영상 정보인 병합 대상 콘텐츠 정보의 상기 이름 영역에 상기 이름 음성 정보 생성 모듈에서 생성된 상기 이름 음성 정보를 삽입하여 상기 이름 음성 정보와 상기 특정 화자의 상기 병합 대상 정보를 병합하고 병합 콘텐츠 정보를 생성하는 이름 음성 정보 병합 단계;을 포함하여, 상기 특정 화자의 음성 특성으로 상기 이름 텍스트 정보를 호출하며 상기 병합 대상 콘텐츠 정보를 출력하도록 상기 병합 콘텐츠 정보를 생성하는 콜미 서비스를 구성하는 것을 특징으로 하는, 콜미 서비스를 위한 음성 합성 방법을 제공하여 달성될 수 있다.
또한, 상기 이름 발음 정보 생성 단계에서, 상기 이름 발음 정보 생성 모듈은 상기 이름 텍스트 정보를 발음 문자열 형태로 변환한 뒤, 유사 발음열을 통일하여 상기 이름 발음 정보를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 이름 텍스트 정보가 한글 이외의 언어인 외국어로 구성된 경우, 상기 이름 발음 정보 생성 단계에서, 상기 이름 발음 정보 생성 모듈은 외국어의 상기 이름 텍스트 정보를 한글의 상기 이름 텍스트 정보로 전환한 뒤에, 상기 이름 텍스트 정보를 발음 문자열 형태로 변환하여 상기 이름 발음 정보를 생성하는 것을 특징으로 할 수 있다.
상기한 바와 같이, 본 발명에 의하면 이하와 같은 효과가 있다.
첫째, 본 발명의 일실시예에 따르면, 다양한 화자의 음성/영상에 대하여 해당 화자의 음성으로 사용자를 호출하는 서비스가 가능해지는 효과가 발생된다.
둘째, 본 발명의 일실시예에 따르면, 다양한 언어에 대하여 각각 발음규칙을 기설정하지 않아도 되는 효과가 발생된다.
셋째, 본 발명의 일실시예에 따르면, 발음 통일 및 외국어의 한글 전환에 의해 음성 합성 엔진의 정확도가 향상되고, 필요 학습 데이터의 양이 저감되는 효과가 발생된다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일실시예에 따른 콜미 서비스를 위한 음성 합성 장치를 도시한 모식도,
도 2, 3은 본 발명의 일실시예에 따라 이름 발음 정보 생성 모듈이 이름 발음 정보를 생성하는 흐름도를 도시한 모식도,
도 4는 본 발명의 다른 실시예에 따른 이름 발음 정보 생성 모듈의 발음 통일 인공신경망을 도시한 모식도,
도 5는 언어 특성 벡터 생성 모듈의 언어 특성 벡터 생성을 도시한 모식도,
도 6은 본 발명의 일실시예에 다른 음향 특성 벡터 생성 모듈의 음향 특성 벡터 생성을 도시한 모식도,
도 7은 본 발명의 일실시예에 따른 이름 음성 정보 병합 모듈의 이름 음성 정보의 병합을 도시한 모식도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 쉽게 실시할 수 있는 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작원리를 상세하게 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다. 명세서 전체에서, 특정 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고, 간접적으로 연결되어 있는 경우도 포함한다. 또한, 특정 구성요소를 포함한다는 것은 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 발명의 설명에서, 한글은 낱소리(음소) 문자로서 자음(닿소리)과 모음(홑소리)으로 구성되며, 음절(소리마디)은 첫소리(초성), 가운뎃소리(중성), 끝소리(종성)의 낱소리(음소) 세 벌로 이루어지는데, 첫소리(초성)와 끝소리(종성)에는 닿소리(자음)를 쓰고 가운뎃소리(중성)에는 홀소리(모음)를 쓴다.
현대 한글에서 단음을 내는 닿소리(자음)에는 ㄱ,ㄴ,ㄷ,ㄹ,ㅁ 등 14자가 있고, 홑소리(모음)에는 ㅏ,ㅑ, ㅓ, ㅕ 등 10자가 있다. 복음을 내는 겹닿소리(쌍자음)에는 ㄲ, ㄸ, ㅃ, ㅆ, ㅉ 의 5자가 있고, 겹홑소리(쌍모음)에는 ㅐ, ㅒ, ㅔ, ㅖ 등 11자가 있다. 또한, 현대 한글에서 끝소리(종성)가 있을 때 활용되는 받침은 홑받침 또는 곁받침이 있고, 홑받침에는 모든 닿소리(자음)가 쓰이며, 곁받침에는 ㄲ,ㅆ,ㄳ,ㄵ 등 13자가 있다.
현대 한글은 낱자를 엮어 11,172(첫소리 19 × 가운뎃소리 21 × (끝소리 27 + 끝소리 없음 1))글자 마디를 쓸 수 있다. 11,172자 중 399자는 무받침 글자이며 10,773자는 받침 글자이다.
어문 규정에 의하여, 현대 한국어 표준어에서 실제 사용하는 음절은 이보다 적다. 한국어의 소리는 첫소리+가운뎃소리(+끝소리)로 이루어지는데, 표준어에서 첫소리에는 19가지 닿소리가 모두 쓰이되 첫소리에 놓인 ㅇ은 소리 나지 않는다. 끝소리는 7종성법에 따라 7갈래로 모이며 끝소리가 없는 것까지 더하여 모두 8갈래이므로 현대 한국어의 발음은 첫소리 19 × 가운뎃소리 21 × 끝소리 8 = 3,192가지 소리가 된다. 표준 발음법을 따르면 구개음 ㅈ, ㅉ, ㅊ 뒤의 이중 모음 ㅑ, ㅒ, ㅕ, ㅖ, ㅛ, ㅠ는 단모음 ㅏ, ㅐ, ㅓ, ㅔ, ㅗ, ㅜ로 소리나므로 첫소리 3 × 가운뎃소리 6 × 끝소리 8 = 144소리가 빠지고, 아울러 소리나는 첫소리 (ㅇ이 아닌 첫소리 뒤에 오는)를 얹은 가운뎃소리 [ㅢ]는 ㄴ을 제외하면(ㄴ의 경우는 구개음화에 따른 다른 음소로 인정하고 있다.) [ㅣ]로 소리나므로(한글 맞춤법 제9항 및 표준 발음법 제5항 단서 3) 첫소리 17 × 가운뎃소리 1 × 끝소리 8 = 136 소리가 다시 빠진다. 따라서, 현재 한국어 표준어에서 실제 사용하는 소리마디는 3192 - 144 - 136 = 2,912가지가 된다.
본 발명의 범위는 한글에 한정되지 않고 영어, 일본어, 중국어 등 다양한 국가의 언어로 콜미 서비스가 적용되는 범위를 포함할 수 있다.
콜미 서비스를 위한 음성 합성 장치 및 방법
도 1은 본 발명의 일실시예에 따른 콜미 서비스를 위한 음성 합성 장치(1)를 도시한 모식도이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 콜미 서비스를 위한 음성 합성 장치(1)는, 이름 텍스트 정보 수신 모듈(10), 이름 발음 정보 생성 모듈(11), 언어 특성 벡터 생성 모듈(12), 음향 특성 벡터 생성 모듈(13), 이름 음성 정보 생성 모듈(14), 이름 음성 정보 병합 모듈(15)을 포함한다.
이름 텍스트 정보 수신 모듈(10)는, 사용자 클라이언트(100) 또는 특정 서비스 서버(200)에서 사용자 또는 특정인에 대한 이름 텍스트 정보(문자열)를 수신하는 모듈이다. 이름 텍스트 정보는, 예를 들어, '김민아', 'Serena', 'Johnson', 'Daniel James' 등과 같이 성_이름, 이름, 성, 이름_성의 텍스트를 포함하는 정보를 의미한다. 사용자 클라이언트(100)에서는, 특정 웹사이트 또는 특정 애플리케이션의 인터페이스에 구성된 입력창에 사용자가 사용자 또는 특정인에 대한 이름 텍스트 정보를 입력하고, 입력된 이름 텍스트 정보를 사용자 클라이언트(100) 또는 해당 웹사이트 또는 해당 애플리케이션의 서비스 서버(200)에서 유무선 네트워크를 통해 이름 텍스트 정보 수신 모듈(10)에 송신하도록 구성될 수 있다. 특정 서비스 서버(200)에서는, 상기 서비스 서버(200)에서 서비스하는 특정 웹사이트 또는 특정 애플리케이션에서 사용자의 요청(콜미 서비스 요청, 특정 페이지 유입과 같은 기설정된 특정 액션 등)을 기초로 상기 서비스 서버(200)와 연결된 데이터베이스에 기저장된 사용자 또는 특정인에 대한 이름 텍스트 정보를 불러오고, 불러온 이름 텍스트 정보를 서비스 서버(200)에서 유무선 네트워크를 통해 이름 텍스트 정보 수신 모듈(10)에 송신하도록 구성될 수 있다. 이에 따르면, 사용자가 직접 이름을 입력하여 콜미 서비스를 요청하는 UX/UI 이외에도, 사용자의 선택에 의해 제3의 사용자 계정에 대한 이름 텍스트 정보가 적용된 콜미 영상을 SMS나 KakaoTalk, Line, Facebook messanger 등의 메신저 애플리케이션, Facebook, Instagram, Snap, Snow 등의 소셜 미디어 애플리케이션을 통해 이모티콘이나 기프티콘과 유사한 UX/UI로 활용할 수 있게 되는 효과가 발생된다.
이름 발음 정보 생성 모듈(11)은 이름 텍스트 정보 수신 모듈(10)에서 이름 텍스트 정보를 수신하고, 수신된 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 모듈이다. 이름 발음 정보는, 예를 들어, '김미나', 'suruna', 'joanson', 'daeniul jaims' 등과 같이 발음되는 그대로의 문자열 형태로 변환된 텍스트 정보를 의미한다. 도 2, 3은 본 발명의 일실시예에 따라 이름 발음 정보 생성 모듈(11)이 이름 발음 정보를 생성하는 흐름도를 도시한 것이다. 도 2, 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 이름 발음 정보 생성 모듈(11)의 이름 발음 정보 생성은, 음소 단위 분해 단계, 발음 규칙 적용 단계, 발음 통일 단계, 이름 발음 정보 생성 단계를 포함한 프로그램 코드로 수행될 수 있고, 발음 통일 인공신경망 및 한글 전환 인공신경망을 포함할 수 있다.
음소 단위 분해 단계는, 이름 발음 정보 생성 모듈(11)이 수신된 이름 텍스트 정보를 음운론상의 최소 단위인 음소(낱소리)로 분해하여 음소 정보를 생성하는 단계이다. 음소는 해당 언어의 화자들이 동일하다고 인지하는 말소리들의 최소 묶음이며, 자음(또는, 자음 음소)과 모음(또는, 모음 음소)으로 구성될 수 있다. 이름 텍스트 정보가 한글인 경우, 음소 단위 분해 단계에서는 이름 텍스트 정보를 아래와 같은 자음 음소 및 모음 음소로 분해하여 음소 정보를 생성하도록 구성될 수 있다. 현대 한글에서 단음을 내는 닿소리(자음)에는 ㄱ,ㄴ,ㄷ,ㄹ,ㅁ 등 14자가 있고, 홑소리(모음)에는 ㅏ,ㅑ, ㅓ, ㅕ 등 10자가 있다. 복음을 내는 겹닿소리(쌍자음)에는 ㄲ, ㄸ, ㅃ, ㅆ, ㅉ 의 5자가 있고, 겹홑소리(쌍모음)에는 ㅐ, ㅒ, ㅔ, ㅖ 등 11자가 있다. 또한, 현대 한글에서 끝소리(종성)가 있을 때 활용되는 받침은 홑받침 또는 곁받침이 있고, 홑받침에는 모든 닿소리(자음)가 쓰이며, 곁받침에는 ㄲ,ㅆ,ㄳ,ㄵ 등 13자가 있다.
발음 규칙 적용 단계는, 이름 발음 정보 생성 모듈(11)이 음소 단위 분해 단계에서 생성한 이름 텍스트 정보에 대한 음소 정보에 발음 규칙을 적용하여 상기 음소 정보의 일부를 발음열로 변환하여 발음열 정보를 생성하는 단계이다. 발음 규칙 적용 단계에서 이름 발음 정보 생성 모듈(11)은 경음화, 자음동화, 구개음화 등의 표준어 규정 제2부의 표준발음법의 발음 규칙을 기초로 음소 정보의 일부를 발음열로 변환하도록 구성될 수 있다.
이름 발음 정보 생성 모듈(11)에서 음소 정보에 적용하는 발음 규칙으로는 끝소리 규칙(받침소리로는 'ㄱ,ㄴ,ㄷ,ㄹ,ㅁ,ㅂ,ㅇ'의 7개 자음만으로 발음열 구성, 밖[ㅂㅏㄱ], 꽃[ㄲㅗㄷ], 무릎[ㅁㅜㄹㅡㅂ]), 연음 규칙(받침이 모음으로 시작되는 음소와 결합되는 경우에는 뒤 음절 첫소리로 옮겨서 발음열 구성, 밥이[ㅂㅏㅂㅣ], 꽃을[ㄲㅗㅊㅡㄹ]), 자음동화 제1규칙(받침 ㄱ(ㄲ, ㅋ, ㄱㅅ, ㄹㄱ), ㄷ(ㅅ, ㅆ, ㅈ, ㅊ, ㅌ, ㅎ), ㅂ(ㅍ, ㄹㅂ, ㄹㅍ, ㅂㅅ)은 'ㄴ,ㅁ' 앞에서 [ㅇ,ㄴ,ㅁ]으로 발음열 구성, 먹는[ㅁㅓㅇㄴㅡㄴ], 있는[ㅇㅣㄴㄴㅡㄴ], 앞마당[ㅇㅏㅁㅁㅏㄷㅏㅇ]), 자음동화 제2규칙(받침 'ㅁ,ㅇ' 뒤에 연결되는 'ㄹ'은 [ㄴ]으로 발음열 구성), 자음동화 제3규칙('ㄴ'은 'ㄹ'의 앞이나 뒤에서 [ㄹ]로 발음열 구성), 구개음화 규칙(받침 'ㄷ,ㅌ(ㄹㅌ)'이 모음'ㅣ'와 결합되는 경우에는 [ㅈ,ㅊ]로 바꾸어서 뒤 음절 첫소리로 옮겨 발음열 구성), 격음화 규칙('ㅂ,ㄷ,ㅈ,ㄱ'이 'ㅎ'의 앞 또는 뒤에 위치하는 경우 격음화하여 [ㅍ,ㅌ,ㅊ,ㅋ]으로 발음열 구성), 경음화 규칙(받침 ㄱ(ㄲ, ㅋ, ㄱㅅ, ㄹㄱ), ㄷ(ㅅ, ㅆ, ㅈ, ㅊ, ㅌ, ㅎ), ㅂ(ㅍ, ㄹㅂ, ㄹㅍ, ㅂㅅ)의 뒤에 연결되는 'ㄱ,ㄷ,ㅂ,ㅅ,ㅈ'는 된소리로 발음열 구성, 받침 'ㄴ(ㄴㅈ),ㅁ(ㄹㅁ),ㄹ'의 뒤에 결합되는 어미의 첫소리가 'ㄱ,ㄷ,ㅅ,ㅈ'인 경우에는 된소리로 발음열 구성), 사잇소리 'ㄴ' 첨가 규칙(앞 음절의 끝이 자음이고 뒤 음절이 '이,야,여,요,유'인 경우에는 'ㄴ'음을 첨가하여 [니,냐,녀,뇨,뉴]로 발음열 구성하고, 'ㄹ' 받침 뒤에 첨가되는 'ㄴ'음은 [ㄹ]로 발음열 구성), 사잇소리 'ㅅ' 첨가 규칙('ㄱ,ㄷ,ㅂ,ㅅ,ㅈ'로 시작하는 음절 앞에 사이시옷이 올 때는 사이시옷을 제외하고 발음열 구성(깃발[기빨])하고, 사이시옷 뒤에 'ㄴ,ㅁ'이 결합되는 경우에는 [ㄴ]으로 발음열 구성(콧물[콘물])하며, 사이시옷 뒤에 '이'가 결합되는 경우에는 [ㄴㄴ]으로 발음열 구성(깻잎[깬닙])) 등이 포함될 수 있다.
발음 통일 단계는, 이름 발음 정보 생성 모듈(11)이 발음 규칙 적용 단계에서 생성한 발음열 정보에서 중복되는 발음열(유사 발음열)을 통일하여 수정 발음열 정보를 생성하는 단계이다. 예를 들어, 발음 통일 단계에서는 'ㅞ', 'ㅚ', 'ㅙ' 등의 발음열을 'ㅙ'로 통일하여 수정 발음열 정보를 생성하게 된다. 일예로 'ㅇ ㅣ ㅁ ㅎ ㅖ ㅇ ㅕ ㄴ'의 음소 정보가 입력되면 'ㅁㅎ'를 'ㅁ'로 통일하고, 'ㅖ'를 유사 발음열인 'ㅐ'로 통일하여 'ㅇㅣㅁㅐㅇㅕㄴ'의 수정 발음열 정보를 생성하게 된다. 본 발명의 일실시예에 따른 발음 통일 단계에 따르면, 음향 특성 벡터 생성 모듈의 정확도 등의 성능이 향상되고 학습 시간이 단축되는 효과가 발생된다.
본 발명의 일실시예에 따른 이름 발음 정보 생성 모듈(11)은 음소 사이의 발음 거리를 기초로 생성된 유사 발음열을 이용하여 수정 발음열 정보를 생성하도록 구성될 수 있다. 음소 간의 발음 거리는 본 발명의 일실시예에 따른 음향 특성 벡터 생성 모듈(13)에 각 음소를 입력하여 생성되는 음향 특성 벡터 사이의 거리를 의미할 수 있다. 이에 따르면, 음향 특성 벡터 생성 모듈(13)의 학습에 활용된 화자의 음성 특성에 따라 유사 발음열이 화자 맞춤형으로 생성될 수 있는 효과가 발생된다.
본 발명의 다른 실시예에 따른 이름 발음 정보 생성 모듈(11)은 입력 데이터를 발음열 정보로 하고 출력 데이터를 수정 발음열 정보로 하는 기학습된 Sequance to sequance 인공신경망 모듈인 발음 통일 인공신경망을 포함할 수 있다. 도 4는 본 발명의 다른 실시예에 따른 이름 발음 정보 생성 모듈의 발음 통일 인공신경망을 도시한 모식도이다. 도 4에서 <go>는 수정 발음열 정보의 시작, <eos>는 수정 발음열 정보의 끝을 나타내는 시그널이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 발음 통일 인공신경망은 입력 데이터를 발음열 정보로 하고 출력 데이터를 수정 발음열 정보로 하는 GRU(Gated recurrent unit) 셀 또는 LSTM(Long-Short Term Memory) 셀을 포함하는 순환신경망(RNN, Recurrent Neural Network)으로 구성될 수 있으며, 학습 단계에서는 입력된 발음열 정보에 의해 발음 통일 인공신경망에서 출력된 수정 발음열 정보와 음소 사이의 발음 거리를 기초로 생성된 유사 발음열을 이용하여 생성된 수정 발음열 정보(Ground truth)와의 차이를 기초로 한 Back Propagation 등의 방법으로 인공신경망을 학습시킬 수 있다. 특히, 발음 통일 인공신경망의 Loss function은 입력 데이터인 발음열 정보의 음향 특성 벡터(음향 특성 벡터 생성 모듈(13)에 발음열 정보를 입력하여 생성)와 출력 데이터인 수정 발음열 정보의 음향 특성 벡터(음향 특성 벡터 생성 모듈(13)에 수정 발음열 정보를 입력하여 생성)에 대한 MSE(Mean Squared Error) 또는 크로스 엔트로피(Cross Entropy) 등의 손실함수로 구성될 수 있다. 이에 따르면, 음소나 음절의 사용을 기초로 음소 또는 단어를 임베딩하는 Word2Vec 등의 임베딩 모듈로 임베딩된 발음열 정보 및 수정 발음열 정보의 거리(차이)를 저감시키는 방향으로 발음 통일 인공신경망 모듈이 학습되는 것이 아니라, 발음열 정보 및 수정 발음열 정보의 음성적인 차원에서의 거리(차이)를 저감시키는 방향으로 발음 통일 인공신경망 모듈이 학습되는 효과가 발생된다.
또한, 본 발명의 다른 실시예에 따르면, 발음 통일 인공신경망의 Loss function은 입력 데이터인 발음열 정보의 음향 특성 벡터(음향 특성 벡터 생성 모듈(13)에 발음열 정보를 입력하여 생성)와 출력 데이터인 수정 발음열 정보의 음향 특성 벡터(음향 특성 벡터 생성 모듈(13)에 수정 발음열 정보를 입력하여 생성)에 대한 MSE(Mean Squared Error) 또는 크로스 엔트로피(Cross Entropy) 등의 손실함수(단어 손실함수) 및 발음열 정보를 구성하는 음소 중 발음 통일의 대상이 되는 제1음소의 음향 특성 벡터와 수정 발음열 정보를 구성하는 음소 중 상기 제1음소가 발음 통일이 되어 변경된 제2음소의 음향 특성 벡터에 대한 대한 MSE(Mean Squared Error) 또는 크로스 엔트로피(Cross Entropy) 등의 손실함수(음소 손실함수)를 포함하는 손실함수로 구성될 수 있다. 이에 따르면, 발음열 정보와 수정 발음열 정보의 발음 유사도 및 치환된 음소의 발음 유사도를 모두 고려하여 발음 통일 인공신경망 모듈이 학습되는 효과가 발생된다.
본 발명의 다른 실시예에 따른 이름 발음 정보 생성 모듈(11)의 RNN 모듈의 hidden layer인 현재인 시간 t 상태(state)의 hidden vector는 이하 수학식 1과 같이 이전 시간인 t-1의 상태(state)와 입력 벡터의 함수로 업데이트 되도록 구성될 수 있다.
Figure pat00001
위 수학식에서, ht는 시간 t의 Hidden vector, Whh는 이전 시간인 t-1의 Hidden vector ht-1에 대한 가중치, wxh는 시간 t의 입력 벡터 xt에 대한 가중치, bh는 상수를 의미할 수 있다.
이에 따르면, 이름 텍스트 정보, 발음열 정보에 대하여 유사 발음열의 규칙을 모두 기설정하지 않아도, 다양한 이름 텍스트 정보 또는 발음열 정보에 대하여 수정 발음열 정보를 생성할 수 있게 되는 효과가 발생된다.
이름 발음 정보 생성 단계는, 이름 발음 정보 생성 모듈(11)이 발음 통일 단계의 수정 발음열 정보를 결합하여 이름 발음 정보를 생성하는 단계이다. 예를 들어, 수정 발음열 정보가 'ㅇ ㅣ ㅁ ㅐ ㅇ ㅕ ㄴ'인 경우, '이매연'으로 이름 발음 정보를 생성하게 된다.
본 발명의 일실시예에 따른 이름 발음 정보 생성 모듈(11)은 기저장된 발음 규칙을 기초로 아래의 단계로 이름 발음 정보를 생성하도록 구성될 수 있다.
① [음소 단위 분해 단계] 수신된 이름 텍스트 정보를 음소 단위인 자모로 분해. 예를 들어, '김민아' -> 'ㄱ ㅣ ㅁ ....'
② [발음 규칙 적용 단계] 기저장된 발음 규칙을 기초로 발음열 변환. 예를 들어, 경음화 법칙('이국비[이국삐]', '김국증[김국쯩]'), 자음동화, 구개음화 등의 표준어 규정 제2부의 표준발음법의 발음 규칙을 기초로 함.
③ [발음 통일 단계] 발음상 크게 차이가 없는 발음들을 통일. 예를 들어, 'ㅞ/ㅚ' 발음을 'ㅙ' 발음으로 통일함.
④ [이름 발음 정보 생성 단계] 자모로 분해된 텍스트 정보를 결합하여 이름 발음 정보를 생성.
이에 따르면, 언어 특성 벡터 생성 모듈(12), 음향 특성 벡터 생성 모듈(13), 이름 음성 정보 생성 모듈(14)에 포함된 인공신경망의 연산이 최적화되어 이름 음성 정보 생성 성능이 향상되고, 학습 시간이 저감되며, 특정 수준의 이름 음성 정보 생성 성능을 위해 필요한 학습 데이터의 양이 저감되는 효과가 발생된다.
본 발명의 다른 실시예에 따른 이름 발음 정보 생성 모듈(11)은 이름 텍스트 정보를 입력 데이터로 하고 이름 발음 정보를 출력 데이터로 하는 기학습된 RNN(LSTM 셀 또는 GRU 셀 등) 구조의 인공신경망 모듈을 포함하도록 구성될 수 있다.
이름 텍스트 정보가 영어 등의 외국어인 경우, 이름 발음 정보 생성 모듈(11)은 음소 단위 분해 단계 이전에 외국어의 이름 텍스트 정보를 한글의 이름 텍스트 정보로 전환하는 한글 전환 단계를 더 포함하여 수행하도록 구성될 수 있다. 이름 발음 정보 생성 모듈(11)의 한글 전환 단계는 외국어의 이름 텍스트 정보를 외래어 표기법에 따라 한글 발음열로 전환하여 한글의 이름 텍스트 정보를 생성하게 되고, 생성된 한글의 이름 텍스트 정보를 이용하여 음소 단위 분해 단계 이후의 단계를 수행하도록 구성된다. 이에 따르면, 이름 발음 정보 생성 모듈(11)을 외국어에 따라 별도로 구성하지 않아도 되는 효과가 발생된다. 본 발명의 일실시예에 따라 특정 외국어에 대하여 별도의 이름 발음 정보 생성 모듈(11)을 구성하지 않게 되면, 각 언어의 다양한 발음 규칙 때문에 모듈의 복잡도가 증가되고 성능이 저감되는 문제가 발생되지 않는 효과가 있다.
특히 영어와 같이 표음성이 낮은 언어에 대해서는 한글 전환 인공신경망이 이름 발음 정보 생성 모듈(11)에 포함되어 이용될 수 있다. 한글 전환 인공신경망은 입력 데이터를 외국어의 이름 텍스트 정보를 입력 데이터로 하고 출력 데이터를 한글의 이름 텍스트 정보로 하는 GRU(Gated recurrent unit) 셀 또는 LSTM(Long-Short Term Memory) 셀을 포함하는 순환신경망(RNN, Recurrent Neural Network)으로 구성될 수 있으며, 학습 단계에서는 입력된 외국어의 이름 텍스트 정보에 의해 한글 전환 인공신경망에서 출력된 한글의 이름 텍스트 정보와 외래어 표기법을 기초로 생성된 한글의 이름 텍스트 정보(Ground truth)와의 차이를 기초로 한 Back Propagation 등의 방법으로 인공신경망을 학습시킬 수 있다. 이에 따르면, 영어와 같이 표음성이 낮은 언어에 대해서도 외국어의 이름 텍스트 정보를 한글의 이름 텍스트 정보로 전환할 수 있게 되는 효과가 발생된다. 이에 따르면, 'though[도]', 'through[스루]', 'rough[러프]', 'cough[코프]', 'thought[소트]', 'bough[바우]' 등과 같이 'ough'에 대해 다양한 발음을 가지는 영어의 낮은 표음성에도 불구하고 영어를 한글의 발음열로 구성된 이름 발음 정보로 생성할 수 있게 되는 효과가 발생된다. 또한, 영어의 모음 음소에 대한 모음비음화 규칙, 모음 상승 규칙, 모음 하강 규칙, 모음 무성화 규칙, 슈와융합 규칙, 그리고 영어의 자음 음소에 대한 기식음화 규칙, 연구개음화 규칙, 음절성 자음화 규칙, 비개방음화 규칙, 치음화 규칙, 탄설음화 규칙, 경음화 규칙, 원순음화 규칙, 무성음화 규칙, 유성음화 규칙, 순치음화 규칙 등의 복잡한 발음 규칙을 이름 발음 정보 생성 모듈(11)에 구성하지 않아도 영어의 발음열을 출력할 수 있게 되는 효과가 발생된다.
언어 특성 벡터 생성 모듈(12)은 상기 이름 발음 정보 생성 모듈(11)에서 생성된 이름 발음 정보를 수신하고, 이름 발음 정보를 기초로 이름 발음 정보의 텍스트에 대한 언어 특성 벡터를 생성하는 인코딩 모듈이다. 도 5는 언어 특성 벡터 생성 모듈(12)의 언어 특성 벡터 생성을 도시한 모식도이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 언어 특성 벡터 생성 모듈(12)은 아래의 단계로 언어 특성 벡터를 생성하도록 구성될 수 있다.
① 이름 발음 정보의 자모를 분해하고, 각 자모를 임베딩하여 각각의 자모에 대한 기설정된 캐릭터 임베딩 정보(Character embedding data)인 자모 벡터 생성.
② 자모 벡터를 입력데이터로 하고, 해당 이름 발음 정보를 가장 잘 나타내는 벡터를 의미하는 각 자모에 대한 텍스트 임베딩 정보(Text embedding data)인 언어 특성 벡터를 출력데이터로 하는 기학습된 인공신경망 모듈(임베딩 인공신경망)에 ①단계의 자모 벡터를 입력.
③ 이름 발음 정보에 대한 텍스트 임베딩 정보인 언어 특성 벡터를 출력.
본 발명의 일실시예에 따르면, ②단계의 기학습된 인공신경망 모듈(임베딩 인공신경망)은 FC(Fully Connected Layer)-ReLU-Dropout-FC-ReLU-Dropout의 n개의 FC Layer 구조로 구성된 Pre-net, n-D Convolution layer, Bidirectional RNN 모듈(forward sequence와 backward sequence를 결합하여 출력)이 연결되어 이름 발음 정보에 대한 텍스트 임베딩 정보인 언어 특성 벡터가 출력되도록 구성될 수 있다.
이때, Pre-net은 dropout 기법을 적용한 2층의 fully connected layer로서 과적합을 방지하고 트레이닝이 수렴하는 것을 돕는 네트워크이다.
특히, n-D Convolution layer는 1D Convolution Bank를 이용하여 unigram 부터 K-gram까지의 길이를 가지는 필터로 상기 이름 발음 정보를 convolution하고, 그 결과들을 Stacking하도록 구성될 수 있다. 이후 local invariance를 향상시키기 위해 max pooling이 구성되고, 이때 시간 축의 해상도를 유지하기 위해 stride=1로 구성될 수 있다. 이후의 high level feature들을 추출하기 위해 몇 층의 1D Convolution을 연산한 뒤 residual connection을 적용하여 1D Convolution의 결과에 상기 이름 발음 정보를 더한 값이 highway network를 거쳐서 Bidirectional RNN 모듈에 입력되도록 구성될 수 있다. 이때, Highway network는 한 층의 신경망을 거친 결과와 최초 입력 정보인 상기 이름 발음 정보를 weighted sum 하는 구조로 구성될 수 있다.
음향 특성 벡터 생성 모듈(13)은 언어 특성 벡터 생성 모듈(12)의 언어 특성 벡터를 수신하고, 언어 특성 벡터를 기초로 스펙트로그램 정보 등의 음향 특성(시간, 주파수, 진폭)에 관한 음향 특성 벡터를 생성하는 디코딩 모듈이다. 보다 구체적으로, 음향 특성 벡터 생성 모듈(13)은 특정 time step 프레임의 음향 특성 벡터를 입력으로 받고, 상기 언어 특성 벡터를 기초로 콘텍스트 모듈(context module)에서 생성되는 콘텍스트 벡터(context vector)와 콘텍스트 인공신경망 모듈의 hidden state vector의 concatenate된 벡터를 기초로 다음 time step 프레임의 음향 특성 벡터를 출력하도록 구성될 수 있다. 특히, 본 발명의 일실시예에 따른 음향 특성 벡터 생성 모듈(13)은 time step 당 하나가 아닌 여러 프레임의 음향 특성 벡터를 출력함으로써 트레이닝 시간, 합성 시간, 모델 사이즈를 저감시킬 수 있다.
학습 세션에서는, 음향 특성 벡터 생성 모듈(13)은 이름 음성 정보 병합 모듈(15)에서 병합될 특정 화자의 음성 정보/영상 정보에 대한 언어 특성 벡터를 입력 정보로 하고 및 해당 특성 화자의 음성 정보를 출력 정보 및 Ground truth로 하여 학습될 수 있다.
도 6은 본 발명의 일실시예에 다른 음향 특성 벡터 생성 모듈(13)의 음향 특성 벡터 생성을 도시한 모식도이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 음향 특성 벡터 생성 모듈(13)은, 콘텍스트 모듈(context module), 콘텍스트 인공신경망 모듈(RNN), 디코더 인공신경망 모듈(RNN), 멜 스펙트로그램 인공신경망 모듈을 포함할 수 있고, 아래의 단계로 음향 특성 벡터를 생성하도록 구성될 수 있다.
① 콘텍스트 모듈이 언어 특성 벡터 및 콘텍스트 인공신경망 모듈(이전 시기의 음향 특성 벡터의 적어도 일부 스펙트로그램 정보가 입력 벡터)의 히든 스테이트 벡터(hidden state vector) 및 콘텍스트 인공신경망 모듈의 출력 벡터를 입력받아 콘텍스트 벡터(context vector)를 출력.
② 디코더 인공신경망 모듈이 콘텍스트 벡터 및 언어 특성 벡터를 결합(Concatenation)한 입력 벡터를 Sequence의 형태로 입력받고, 음향 특성 벡터를 Sequence의 형태로 출력. 특히, 디코더 인공신경망 모듈은 순환 인공신경망(RNN)으로 구성되어 Sequence 형태의 입력 벡터가 입력된 이후부터는 이전 시기의 음향 특성 벡터의 적어도 일부 스펙트로그램 정보(이전 시기가 t=initial 인 경우에는 <go>)가 입력 벡터로서 입력되어 현재 시기의 음향 특성 벡터를 출력.
③ 멜 스펙트로그램 인공신경망 모듈(CNN, Convolutional Neural Network)이 음향 특성 벡터를 입력받아 상기 음향 특성 벡터에 대한 보코더 입력 정보인 멜 스펙트로그램(Mel-Spectrogram)을 생성
이때, 예를 들어, 본 발명의 일실시예에 따른 콘텍스트 인공신경망 모듈은 256-unit GRU 1 Layer로 구성될 수 있고, 디코더 인공신경망 모듈은 모델의 보다 빠른 수렴을 위하여 residual connection을 포함한 256-unit GRU 2 Layer로 구성될 수 있다.
본 발명의 일실시예에 따른 콘텍스트 벡터는, 디코더 인공신경망 모듈에 입력되는 언어 특성 벡터의 Sequence 중 일부에 대한 Sequence 형태의 가중치 벡터를 의미하고, 디코더 인공신경망 모듈에서 출력되는 현재 시기의 음향 특성 벡터가 언어 특성 벡터의 Sequence 중 어느 일부에 의해 주로 출력될지를 결정하게 되어 기학습되지 않은 이름 텍스트 정보에 대해서도 음향 특성 벡터를 안정적으로 출력할 수 있게 되는 효과가 발생된다.
본 발명의 일실시예에 따른 멜 스펙트로그램 인공신경망 모듈은 n-layer의 ConvNet(CNN, Convolutional Neural Network)으로 구성되어 입력 데이터를 음향 특성 벡터로 하고, 출력 데이터를 해당 음향 특성 벡터의 멜 스펙트로그램(보코더 입력 정보)으로 하는 인공신경망 모듈이다.
본 발명에서는 설명의 편의를 위하여 멜 스케일의 스펙트로그램인 멜 스펙트로그램으로 기재하였으나 본 발명의 범위는 이에 한정되지 않으며, 본 발명의 일실시예에 따른 보코더 입력 정보는 멜 스펙트로그램에 한정되지 않으며, mel-filterbank를 거치지 않은 기본적인 spectrogram, 스펙트럼, Fundamental frequency를 의미하는 f0 등 Fourier Transform을 활용한 주파수 정보, 신호에서의 비주기성 구성요소와 음성 신호간 비율을 의미하는 aperiodicity 등을 포함할 수 있다.
이름 음성 정보 생성 모듈(14)은 디코더 인공신경망에서 출력된 음향 특성 벡터에 대한 보코더 입력 정보인 멜 스펙트로그램(Mel-Spectrogram)를 수신하고, 음향 특성 벡터의 멜 스펙트로그램(예를 들어, 80 밴드의 멜 스케일 스펙트로그램)을 Griffin-Lim, WaveNet 등의 음성 생성 모듈에 입력하여 이름 음성 정보(예를 들어, 1025차 선형 스케일 스펙트로그램)를 생성하는 보코더 모듈(vocoder module)이다. 즉, 이름 음성 정보 생성 모듈(14)은 멜 스케일의 음향 특성 벡터를 선형 스케일로 변환하기 위한 후처리 네트워크이다.
이름 음성 정보 병합 모듈(15)은 이름 영역이 기설정된 특정 화자의 음성 정보 또는 상기 특정 화자의 영상 정보(병합 대상 콘텐츠 정보)의 이름 영역에 이름 음성 정보 생성 모듈(14)에서 생성된 이름 음성 정보를 삽입하여 이름 음성 정보와 해당 특정 화자의 음성 정보 또는 영상 정보를 병합하여 병합 콘텐츠 정보를 생성하는 모듈이다. 도 7은 본 발명의 일실시예에 따른 이름 음성 정보 병합 모듈(15)의 이름 음성 정보의 병합을 도시한 모식도이다. 본 발명의 일실시예에 따른 이름 영역은, 특정 화자의 음성 정보 또는 영상 정보 내에서 이름 음성 정보가 삽입될 영역의 시작 시간과 종료 시간으로 구성될 수 있다.
본 발명의 일실시예에 따르면, 사용자 또는 서버의 이름 텍스트 정보 입력에 의해, 입력된 이름을 특정 화자가 해당 특정 화자의 목소리로 호출/언급해주는 맞춤형 음성 정보 또는 영상 정보의 생성(콜미 서비스)이 가능해지는 효과가 발생된다.
이상에서 설명한 바와 같이, 본 발명이 속하는 기술 분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 상술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함하는 것으로 해석되어야 한다.
본 명세서 내에 기술된 특징들 및 장점들은 모두를 포함하지 않으며, 특히 많은 추가적인 특징들 및 장점들이 도면들, 명세서, 및 청구항들을 고려하여 당업자에게 명백해질 것이다. 더욱이, 본 명세서에 사용된 언어는 주로 읽기 쉽도록 그리고 교시의 목적으로 선택되었고, 본 발명의 주제를 묘사하거나 제한하기 위해 선택되지 않을 수도 있다는 것을 주의해야 한다.
본 발명의 실시예들의 상기한 설명은 예시의 목적으로 제시되었다. 이는 개시된 정확한 형태로 본 발명을 제한하거나, 빠뜨리는 것 없이 만들려고 의도한 것이 아니다. 당업자는 상기한 개시에 비추어 많은 수정 및 변형이 가능하다는 것을 이해할 수 있다.
그러므로 본 발명의 범위는 상세한 설명에 의해 한정되지 않고, 이를 기반으로 하는 출원의 임의의 청구항들에 의해 한정된다. 따라서, 본 발명의 실시예들의 개시는 예시적인 것이며, 이하의 청구항에 기재된 본 발명의 범위를 제한하는 것은 아니다.
1: 콜미 서비스를 위한 음성 합성 장치
10: 이름 텍스트 정보 수신 모듈
11: 이름 발음 정보 생성 모듈
12: 언어 특성 벡터 생성 모듈
13: 음향 특성 벡터 생성 모듈
14: 이름 음성 정보 생성 모듈
15: 이름 음성 정보 병합 모듈
100: 사용자 클라이언트
200: 서비스 서버

Claims (6)

  1. 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 이름 발음 정보 생성 모듈;
    상기 이름 발음 정보 생성 모듈에서 생성된 상기 이름 발음 정보를 수신하고, 상기 이름 발음 정보를 기초로 상기 이름 발음 정보의 텍스트에 대한 언어 특성 벡터를 생성하는 언어 특성 벡터 생성 모듈;
    상기 언어 특성 벡터 생성 모듈의 상기 언어 특성 벡터를 수신하고, 상기 언어 특성 벡터를 기초로 음향 특성 벡터를 생성하는 음향 특성 벡터 생성 모듈;
    상기 음향 특성 벡터 생성 모듈에서 출력된 상기 음향 특성 벡터를 수신하고, 상기 음향 특성 벡터를 이용하여 이름 음성 정보를 생성하는 이름 음성 정보 생성 모듈; 및
    이름 영역이 기설정된 특정 화자의 음성 정보 또는 영상 정보인 병합 대상 콘텐츠 정보의 상기 이름 영역에 상기 이름 음성 정보 생성 모듈에서 생성된 상기 이름 음성 정보를 삽입하여 상기 이름 음성 정보와 상기 특정 화자의 상기 병합 대상 정보를 병합하고 병합 콘텐츠 정보를 생성하는 이름 음성 정보 병합 모듈;
    을 포함하며,
    상기 이름 발음 정보 생성 모듈은, 상기 이름 텍스트 정보를 발음 문자열 형태로 변환한 뒤, 각 음소에 대하여 유사 발음열을 통일하여 상기 이름 발음 정보를 생성하고,
    상기 음향 특성 벡터 생성 모듈은,
    이전 시기의 상기 음향 특성 벡터를 입력 데이터로 하는 콘텍스트 인공신경망 모듈;
    상기 언어 특성 벡터 및 상기 콘텍스트 인공신경망 모듈의 히든 스테이트 벡터(hidden state vector)를 입력 데이터로 하고, 콘텍스트 벡터를 출력 데이터로 하는 콘텍스트 모듈; 및
    상기 콘텍스트 벡터 및 상기 언어 특성 벡터를 입력 데이터로 하고, 상기 음향 특성 벡터를 출력 데이터로 하는 디코더 인공신경망 모듈;
    를 포함하며,
    상기 특정 화자의 음성 특성으로 상기 이름 텍스트 정보를 호출하며 상기 병합 대상 콘텐츠 정보를 출력하도록 상기 병합 콘텐츠 정보를 생성하는 콜미 서비스를 구성하는 것을 특징으로 하는,
    음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치.
  2. 제1항에 있어서,
    상기 디코더 인공신경망 모듈은 순환 인공신경망(RNN)으로 구성되고, 입력 데이터인 상기 콘텍스트 벡터 및 상기 언어 특성 벡터를 Sequence의 형태로 입력 받으며, 출력 데이터인 상기 음향 특성 벡터를 Sequence의 형태로 출력하는,
    음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치.
  3. 제1항에 있어서,
    상기 이름 음성 정보 생성 모듈은,
    상기 음향 특성 벡터를 입력 데이터로 하고, 상기 음향 특성 벡터에 대한 멜 스펙트로그램(Mel-Spectrogram)을 출력 데이터로 하는 멜 스펙트로그램 인공신경망 모듈; 및
    상기 음향 특성 벡터에 대한 멜 스펙트로그램(Mel-Spectrogram)을 입력 데이터로 하고, 상기 이름 음성 정보를 출력 데이터로 하는 보코더;
    를 포함하는,
    음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치.
  4. 이름 발음 정보 생성 모듈이, 이름 텍스트 정보가 발음 문자열 형태로 변환된 이름 발음 정보를 생성하는 이름 발음 정보 생성 단계;
    언어 특성 벡터 생성 모듈이, 상기 이름 발음 정보 생성 모듈에서 생성된 상기 이름 발음 정보를 수신하고, 상기 이름 발음 정보를 기초로 상기 이름 발음 정보의 텍스트에 대한 언어 특성 벡터를 생성하는 언어 특성 벡터 생성 단계;
    음향 특성 벡터 생성 모듈이, 상기 언어 특성 벡터 생성 모듈의 상기 언어 특성 벡터를 수신하고, 상기 언어 특성 벡터를 기초로 스펙트로그램 정보에 관한 음향 특성 벡터를 생성하는 음향 특성 벡터 생성 단계;
    이름 음성 정보 생성 모듈이, 상기 음향 특성 벡터 생성 모듈에서 출력된 상기 음향 특성 벡터를 수신하고, 상기 음향 특성 벡터를 이용하여 이름 음성 정보를 생성하는 이름 음성 정보 생성 단계; 및
    이름 음성 정보 병합 모듈이, 이름 영역이 기설정된 특정 화자의 음성 정보 또는 영상 정보인 병합 대상 콘텐츠 정보의 상기 이름 영역에 상기 이름 음성 정보 생성 모듈에서 생성된 상기 이름 음성 정보를 삽입하여 상기 이름 음성 정보와 상기 특정 화자의 상기 병합 대상 정보를 병합하고 병합 콘텐츠 정보를 생성하는 이름 음성 정보 병합 단계;
    을 포함하며,
    상기 이름 발음 정보 생성 단계에서, 상기 이름 발음 정보 생성 모듈은 상기 이름 텍스트 정보를 발음 문자열 형태로 변환한 뒤, 각 음소에 대하여 유사 발음열을 통일하여 상기 이름 발음 정보를 생성하고,
    상기 음향 특성 벡터 생성 모듈은,
    이전 시기의 상기 음향 특성 벡터를 입력 데이터로 하는 콘텍스트 인공신경망 모듈;
    상기 언어 특성 벡터 및 상기 콘텍스트 인공신경망 모듈의 히든 스테이트 벡터(hidden state vector)를 입력 데이터로 하고, 콘텍스트 벡터를 출력 데이터로 하는 콘텍스트 모듈; 및
    상기 콘텍스트 벡터 및 상기 언어 특성 벡터를 입력 데이터로 하고, 상기 음향 특성 벡터를 출력 데이터로 하는 디코더 인공신경망 모듈;
    를 포함하며,
    상기 특정 화자의 음성 특성으로 상기 이름 텍스트 정보를 호출하며 상기 병합 대상 콘텐츠 정보를 출력하도록 상기 병합 콘텐츠 정보를 생성하는 콜미 서비스를 구성하는 것을 특징으로 하는,
    음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 방법.
  5. 제4항에 있어서,
    상기 디코더 인공신경망 모듈은 순환 인공신경망(RNN)으로 구성되고, 입력 데이터인 상기 콘텍스트 벡터 및 상기 언어 특성 벡터를 Sequence의 형태로 입력 받으며, 출력 데이터인 상기 음향 특성 벡터를 Sequence의 형태로 출력하는,
    음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 방법.
  6. 제4항에 있어서,
    상기 이름 음성 정보 생성 모듈은,
    상기 음향 특성 벡터를 입력 데이터로 하고, 상기 음향 특성 벡터에 대한 멜 스펙트로그램(Mel-Spectrogram)을 출력 데이터로 하는 멜 스펙트로그램 인공신경망 모듈; 및
    상기 음향 특성 벡터에 대한 멜 스펙트로그램(Mel-Spectrogram)을 입력 데이터로 하고, 상기 이름 음성 정보를 출력 데이터로 하는 보코더;
    를 포함하는,
    음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 방법.

KR1020210024743A 2020-02-03 2021-02-24 음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법 KR102352987B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210024743A KR102352987B1 (ko) 2020-02-03 2021-02-24 음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20200012848 2020-02-03
KR1020200037641A KR102222597B1 (ko) 2020-02-03 2020-03-27 콜미 서비스를 위한 음성 합성 장치 및 방법
KR1020210024743A KR102352987B1 (ko) 2020-02-03 2021-02-24 음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200037641A Division KR102222597B1 (ko) 2020-02-03 2020-03-27 콜미 서비스를 위한 음성 합성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210122071A true KR20210122071A (ko) 2021-10-08
KR102352987B1 KR102352987B1 (ko) 2022-01-20

Family

ID=75163898

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020200037641A KR102222597B1 (ko) 2020-02-03 2020-03-27 콜미 서비스를 위한 음성 합성 장치 및 방법
KR1020210024743A KR102352987B1 (ko) 2020-02-03 2021-02-24 음향 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법
KR1020210024741A KR102401243B1 (ko) 2020-02-03 2021-02-24 유사 발음열을 이용한 콜미 서비스의 음성 합성 장치 및 방법
KR1020210024742A KR102352986B1 (ko) 2020-02-03 2021-02-24 언어 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200037641A KR102222597B1 (ko) 2020-02-03 2020-03-27 콜미 서비스를 위한 음성 합성 장치 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210024741A KR102401243B1 (ko) 2020-02-03 2021-02-24 유사 발음열을 이용한 콜미 서비스의 음성 합성 장치 및 방법
KR1020210024742A KR102352986B1 (ko) 2020-02-03 2021-02-24 언어 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법

Country Status (1)

Country Link
KR (4) KR102222597B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023068480A1 (ko) * 2021-10-18 2023-04-27 삼성전자주식회사 전자 장치, 단말 장치 및 그 제어 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023136605A1 (en) * 2022-01-11 2023-07-20 Samsung Electronics Co., Ltd. Method and electronic device for intelligently reading displayed contents

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990083596A (ko) * 1998-04-30 1999-11-25 모리시타 요이찌 음성인식을사용하는자동화된호텔안내시스템
KR20160124920A (ko) * 2012-03-02 2016-10-28 애플 인크. 이름 발음을 위한 시스템 및 방법
KR20170017545A (ko) * 2015-08-07 2017-02-15 네이버 주식회사 운율 정보 기반의 자소열 음소열 변환 방법과 시스템 그리고 기록 매체
KR101716013B1 (ko) 2012-03-06 2017-03-13 애플 인크. 다수의 언어들에 대한 콘텐츠의 음성 합성 처리

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5320363B2 (ja) * 2010-03-26 2013-10-23 株式会社東芝 音声編集方法、装置及び音声合成方法
KR102332729B1 (ko) * 2014-07-28 2021-11-30 삼성전자주식회사 발음 유사도를 기반으로 한 음성 인식 방법 및 장치, 음성 인식 엔진 생성 방법 및 장치
KR102072162B1 (ko) * 2018-01-05 2020-01-31 서울대학교산학협력단 인공 지능 기반 외국어 음성 합성 방법 및 장치
EP3739572A4 (en) * 2018-01-11 2021-09-08 Neosapience, Inc. METHOD AND DEVICE FOR TEXT-TO-LANGUAGE SYNTHESIS USING MACHINE LEARNING AND COMPUTER-READABLE STORAGE MEDIUM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990083596A (ko) * 1998-04-30 1999-11-25 모리시타 요이찌 음성인식을사용하는자동화된호텔안내시스템
KR20160124920A (ko) * 2012-03-02 2016-10-28 애플 인크. 이름 발음을 위한 시스템 및 방법
KR101716013B1 (ko) 2012-03-06 2017-03-13 애플 인크. 다수의 언어들에 대한 콘텐츠의 음성 합성 처리
KR20170017545A (ko) * 2015-08-07 2017-02-15 네이버 주식회사 운율 정보 기반의 자소열 음소열 변환 방법과 시스템 그리고 기록 매체

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jingbei Li et al., ‘Knowledge-based linguistic encoding for end-to-end Mandarin text-to-speech synthesis’, INTERSPEECH 2019, September 2019.* *
최연주 외 4명, ‘한국어 text-to-speech(TTS)시스템을 위한 엔드투엔드 합성 방식 연구’, 말소리와 음성과학, Vol.10, No.1, pp.39~48, 2018.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023068480A1 (ko) * 2021-10-18 2023-04-27 삼성전자주식회사 전자 장치, 단말 장치 및 그 제어 방법

Also Published As

Publication number Publication date
KR20210122069A (ko) 2021-10-08
KR102222597B1 (ko) 2021-03-05
KR102352986B1 (ko) 2022-01-20
KR20210122070A (ko) 2021-10-08
KR102352987B1 (ko) 2022-01-20
KR102401243B1 (ko) 2022-05-24

Similar Documents

Publication Publication Date Title
CN110534089B (zh) 一种基于音素和韵律结构的中文语音合成方法
CN111292720B (zh) 语音合成方法、装置、计算机可读介质及电子设备
JP7464621B2 (ja) 音声合成方法、デバイス、およびコンピュータ可読ストレージ媒体
US10559299B1 (en) Reconciliation between simulator and speech recognition output using sequence-to-sequence mapping
US11488577B2 (en) Training method and apparatus for a speech synthesis model, and storage medium
EP2958105B1 (en) Method and apparatus for speech synthesis based on large corpus
CN113168828A (zh) 基于合成数据训练的会话代理管线
CN112352275A (zh) 具有多级别文本信息的神经文本到语音合成
KR102352986B1 (ko) 언어 특성 벡터를 이용한 콜미 서비스의 음성 합성 장치 및 방법
CN113808571B (zh) 语音合成方法、装置、电子设备以及存储介质
KR20180025559A (ko) 발음 사전 학습 방법 및 장치
Hanifa et al. Malay speech recognition for different ethnic speakers: an exploratory study
Unnibhavi et al. Development of Kannada speech corpus for continuous speech recognition
Akmuradov et al. A novel algorithm for dividing Uzbek language words into syllables for concatenative text-to-speech synthesizer
Cherifi et al. Arabic grapheme-to-phoneme conversion based on joint multi-gram model
CN113571037A (zh) 一种汉语盲文语音合成方法及系统
Azim et al. Using Character-Level Sequence-to-Sequence Model for Word Level Text Generation to Enhance Arabic Speech Recognition
CN113439301B (zh) 用于机器学习的方法和系统
Qian et al. A survey of technologies for automatic Dysarthric speech recognition
Jayasankar et al. Word and syllable based concatenative model of text to speech synthesis of Tamil language
Kaur et al. Formant Text to Speech Synthesis Using Artificial Neural Networks
Anand et al. Email access by visually impaired
Dhoundiyal et al. A Multilingual Text to Speech Engine Hindi-English: Hinglish
Bharthi et al. Unit selection based speech synthesis for converting short text message into voice message in mobile phones
JP2023030678A (ja) 学習装置、データ生成装置及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right