KR102389995B1 - Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor - Google Patents

Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor Download PDF

Info

Publication number
KR102389995B1
KR102389995B1 KR1020210128504A KR20210128504A KR102389995B1 KR 102389995 B1 KR102389995 B1 KR 102389995B1 KR 1020210128504 A KR1020210128504 A KR 1020210128504A KR 20210128504 A KR20210128504 A KR 20210128504A KR 102389995 B1 KR102389995 B1 KR 102389995B1
Authority
KR
South Korea
Prior art keywords
voice data
speaker
voice
identified
noise
Prior art date
Application number
KR1020210128504A
Other languages
Korean (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 KR1020210128504A priority Critical patent/KR102389995B1/en
Application granted granted Critical
Publication of KR102389995B1 publication Critical patent/KR102389995B1/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
    • 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
    • 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/04Segmentation; Word boundary detection
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • 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/26Speech to text systems

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Provided by the present invention is a method for generating a naturally-uttered voice which can be used for speech-recognition learning. The method comprises the steps of: identifying, by a voice data generating device, voice data from which all noise has been removed from a database provided in advance; identifying, by the voice data generating device, a speaker who recorded the voice data based on metadata matched to the voice data; identifying, by the voice data generating device, man-made noise corresponding to the identified speaker, and synthesizing the man-made noise into the voice data; and identifying, by the voice data generating device, background sound data corresponding to a pre-set environmental condition, and synthesizing the identified background sound data into the voice data synthesized with the artificial noise. In this case, the artificial noise is uttered according to the speech method, exclamation, or cheering words of the speaker of the voice data and thus can be a phoneme that has no verbal meaning. Accordingly, through the generation of voice data, the performance of the voice recognition system can be improved.

Description

자연발화 음성 생성 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor}Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor

본 발명은 인공지능(Artificial Intelligence, AI) 기계 학습용 데이터의 수집에 관한 것이다. 보다 상세하게는, 음성 인식의 학습에 사용될 수 있는 자연발화 음성을 생성할 수 있는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.The present invention relates to the collection of data for artificial intelligence (AI) machine learning. More particularly, it relates to a method for generating spontaneous speech that can be used for learning speech recognition, and a computer program recorded on a recording medium for executing the method.

인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.Artificial intelligence (AI) refers to a technology that artificially implements some or all of human learning ability, reasoning ability, and perception ability using computer programs. In relation to artificial intelligence (AI), machine learning refers to learning to optimize parameters with given data using a model composed of multiple parameters. Such machine learning is classified into supervised learning, unsupervised learning, and reinforcement learning according to the type of data for learning.

일반적으로, 인공지능(AI) 기계 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.In general, the design of data for artificial intelligence (AI) machine learning proceeds in the stages of data structure design, data collection, data purification, data processing, data expansion, and data verification.

각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하거나, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.To describe each step in more detail, the design of the data structure is made through the definition of an ontology, a definition of a classification system, and the like. Data collection is performed by collecting data through direct shooting, web crawling, or association/professional organizations. Data purification is performed by removing duplicate data from the collected data and de-identifying personal information. Data processing is performed by performing annotations or inputting metadata. Data expansion is performed by performing ontology mapping, and supplementing or extending the ontology as necessary. And, the verification of the data is performed by verifying the validity according to the set target quality using various verification tools.

한편, 음성 인식(speech recognition)은 음성 데이터 신호로부터 언어적 의미를 인식하는 기술을 의미한다. 이와 같은, 음성 인식은 인식의 대상에 따라, 단어 음성 인식(word recognition), 연속 음성 인식(continuous speech recognition) 및 화자 인식(speaker recognition)으로 분류된다.Meanwhile, speech recognition refers to a technology for recognizing a linguistic meaning from a voice data signal. As such, speech recognition is classified into word recognition, continuous speech recognition, and speaker recognition according to a recognition target.

일반적으로, 음성 인식의 분류 중 단어 음성 인식 및 연속 음성 인식은 음성을 통해 컴퓨팅 시스템의 호출, 명령의 지시 또는 정보의 입력 등을 위한 사용자 인터페이스(user interface)로 활용될 수 있다. 그리고, 화자 인식은 화자의 진위 여부 판정, 무리로부터 화자 식별 등의 보안 목적으로 활용될 수 있다.In general, word speech recognition and continuous speech recognition among the classification of speech recognition may be utilized as a user interface for calling a computing system through a voice, instructing a command, or inputting information. In addition, speaker recognition may be used for security purposes such as determining the authenticity of the speaker and identifying the speaker from the crowd.

음성 인식 과정에 대하여 보다 구체적으로 설명하면, 음성 인식은 기준 패턴(reference pattern)이 포함된 음향 모델(acoustic model)과 외부로부터 입력된 음성 데이터를 서로 비교하는 패턴 인식을 수행하여 이루어진다. 이러한 음성 인식에 사용되는 음향 모델은 크게 템플릿(template) 기반 방식과, 확률 분포(probability distribution)에 기초한 통계학적 방식으로 구분될 수 있다. 그리고, 음향 모델 중 템플릿 기반의 방식은 동적 정합(Dynamic Time Warping, DTW)이 널리 사용되며, 확률 분포에 기초한 통계학적 방식은 은닉 마르코프 모델(Hidden Markov Model, HMM)이 널리 사용되고 있다. To describe the speech recognition process in more detail, speech recognition is performed by performing pattern recognition by comparing an acoustic model including a reference pattern with voice data input from the outside. The acoustic model used for such speech recognition can be largely divided into a template-based method and a statistical method based on probability distribution. And, among acoustic models, dynamic time warping (DTW) is widely used as a template-based method, and a hidden Markov model (HMM) is widely used as a statistical method based on probability distribution.

한편, 사람의 음성은 동일한 뜻을 가지는 어휘 또는 문장이라 할지라도, 국가, 언어, 지역, 성별 또는 연령 등에 따라 서로 상이한 파형(wave form)을 가지고 있다. 따라서, 국가별, 언어별, 지역별, 성별 및 연령별로 음성 인식을 수행하기 위한 기준 패턴을 제각각 구축하기 위해서는 수많은 음성 데이터가 확보되어야 한다.On the other hand, human voices have different wave forms according to countries, languages, regions, genders, or ages, even if they are words or sentences having the same meaning. Therefore, in order to construct a reference pattern for performing voice recognition for each country, language, region, gender, and age, it is necessary to secure a lot of voice data.

대한민국 공개특허공보 제10-2014-0079988호, ‘이동 단말기 및 이를 이용한 음성 인식 처리 방법’, (2014.06.30. 공개)Republic of Korea Patent Publication No. 10-2014-0079988, 'Mobile terminal and voice recognition processing method using the same', (published on June 30, 2014)

본 발명의 일 목적은 음성 인식의 학습에 사용될 수 있는 자연발화 음성을 생성할 수 있는 방법을 제공하는 것이다.It is an object of the present invention to provide a method for generating spontaneous speech that can be used for learning speech recognition.

본 발명의 다른 목적은 자연발화 음성을 생성할 수 있는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.Another object of the present invention is to provide a computer program recorded on a recording medium for executing a method capable of generating spontaneous speech.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 음성 인식의 학습에 사용될 수 있는 자연발화 음성을 생성할 수 있는 방법을 제안한다. 상기 방법은 음성 데이터 생성 장치가 사전에 구비된 데이터베이스(database)로부터 모든 노이즈(noise)가 제거된 음성 데이터를 식별하는 단계; 상기 음성 데이터 생성 장치가 상기 음성 데이터에 매칭된 메타데이터(metadata)를 기준으로, 상기 음성 데이터를 녹음한 발화자를 식별하는 단계; 상기 음성 데이터 생성 장치가 상기 식별된 발화자에 대응하는 인위적인 노이즈(man-made noise)를 식별하고, 상기 음성 데이터에 상기 식별된 인위적인 노이즈를 합성하는 단계; 및 상기 음성 데이터 생성 장치가 사전에 설정된 환경 조건에 대응하는 배경 음향 데이터를 식별하고, 상기 인위적인 노이즈가 합성된 음성 데이터에 상기 식별된 배경 음향 데이터를 합성하는 단계를 포함할 수 있다. 이 경우, 상기 인위적인 노이즈는 상기 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새에 따라 발화되었으나, 단어적 의미를 가지지 않는 음소(phoneme)가 될 수 있다.In order to achieve the technical problem as described above, the present invention proposes a method capable of generating a spontaneous speech that can be used for learning speech recognition. The method includes: identifying, by a voice data generating apparatus, voice data from which all noise has been removed from a database provided in advance; identifying, by the voice data generating apparatus, a speaker who recorded the voice data based on metadata matched to the voice data; identifying, by the voice data generating device, a man-made noise corresponding to the identified speaker, and synthesizing the identified artificial noise into the voice data; and identifying, by the voice data generating apparatus, background sound data corresponding to a preset environmental condition, and synthesizing the identified background sound data with the artificial noise synthesized voice data. In this case, the artificial noise may be a phoneme that is uttered according to the utterance method, interjection, or chuimsae of the speaker of the voice data, but does not have a word meaning.

구체적으로, 상기 배경 음향 데이터를 합성하는 단계는 사전에 구비된 데이터베이스(database)로부터 상기 환경 조건을 만족하는 잡음 신호(noise signal) 및 반향 신호(echo signal)를 식별한 뒤, 상기 인위적인 노이즈가 합성된 음성 데이터에 상기 잡음 신호 및 반향 신호를 순서대로 합성할 수 있다.Specifically, in the step of synthesizing the background sound data, a noise signal and an echo signal satisfying the environmental conditions are identified from a database provided in advance, and then the artificial noise is synthesized. The noise signal and the echo signal may be sequentially synthesized with the obtained voice data.

상기 배경 음향 데이터를 합성하는 단계는 상기 데이터베이스로부터 상기 환경 조건을 만족하는 비가청 신호(inaudible signal)을 식별한 뒤, 상기 잡음 신호 및 반향 신호가 합성된 음성 데이터에 상기 비가청 신호를 합성할 수 있다.In the synthesizing of the background sound data, after identifying an inaudible signal that satisfies the environmental condition from the database, the inaudible signal can be synthesized with the voice data in which the noise signal and the echo signal are synthesized. there is.

상기 배경 음향 데이터를 합성하는 단계는 상기 음성 데이터의 재생 과정에서 상기 발화자의 방향성이 변화되도록, 상기 비가청 신호가 합성된 음성 데이터에 포함된 상기 음성 신호의 채널별 음량을 조정할 수 있다.In the synthesizing of the background sound data, the volume of each channel of the voice signal included in the voice data in which the inaudible signal is synthesized may be adjusted so that the direction of the speaker is changed in the process of reproducing the voice data.

한편, 상기 인위적인 노이즈를 합성하는 단계는 상기 음성 데이터를 STT(Speech To Text)하여 녹취록(transcript)을 생성하고, 상기 녹취록을 파싱(parsing)하여 상기 녹취록을 구성하고 있는 복수 개의 토큰(token)들을 식별하고, 상기 식별된 각각의 토큰에 대한 의미 분석(semantic analysis)을 수행할 수 있다.On the other hand, the step of synthesizing the artificial noise includes generating a transcript by STT (Speech To Text) of the voice data, and parsing the transcript to obtain a plurality of tokens constituting the transcript. It is possible to identify and perform semantic analysis on each of the identified tokens.

상기 인위적인 노이즈를 합성하는 단계는 상기 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 상기 하나 이상의 토큰을 기초로 상기 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다.In the synthesizing of the artificial noise, as a result of performing the semantic analysis, when one or more tokens predefined as expressing emotions exist, one emotional state that the speaker may have based on the one or more tokens can be estimated.

상기 인위적인 노이즈를 합성하는 단계는 상기 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 상기 식별된 하나 이상의 음소를 상기 음성 데이터에 합성할 수 있다.In the synthesizing of the artificial noise, one or more phonemes corresponding to the estimated emotional state and capable of generating artificial noise may be identified, and the identified one or more phonemes may be synthesized into the voice data.

이와 다르게, 상기 인위적인 노이즈를 합성하는 단계는 상기 발화자에 대한 메타데이터로부터 상기 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 상기 식별된 발화자의 국가, 언어, 지역, 성별 및 연령에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 상기 식별된 하나 이상의 음소를 상기 음성 데이터에 합성할 수 있다.Alternatively, the step of synthesizing the artificial noise may include identifying the speaker's country, language, region, gender and age from the metadata of the speaker, and corresponding to the identified speaker's country, language, region, gender and age. and one or more phonemes capable of generating artificial noise may be identified, and the identified one or more phonemes may be synthesized into the voice data.

또한, 상기 인위적인 노이즈를 합성하는 단계는 상기 발화자와 국가, 언어, 지역, 성별 및 연령 중 하나 이상이 상이한 다른 발화자와 관련된 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 상기 식별된 하나 이상의 음소를 상기 음성 데이터에 합성할 수도 있다.In addition, the step of synthesizing the artificial noise may include identifying one or more phonemes capable of generating artificial noise related to another speaker that is different from the speaker in at least one of country, language, region, gender, and age, and the identified one or more Phonemes may be synthesized into the voice data.

상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 자연발화 음성 합성 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 사전에 구비된 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별하는 단계; 상기 프로세서가 상기 음성 데이터에 매칭된 메타데이터를 기준으로, 상기 음성 데이터를 녹음한 발화자를 식별하는 단계; 상기 프로세서가 상기 식별된 발화자에 대응하는 인위적인 노이즈를 식별하고, 상기 음성 데이터에 상기 식별된 인위적인 노이즈를 합성하는 단계; 및 상기 프로세서가 사전에 설정된 환경 조건에 대응하는 배경 음향 데이터를 식별하고, 상기 인위적인 노이즈가 합성된 음성 데이터에 상기 식별된 배경 음향 데이터를 합성하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다. In order to achieve the technical problem as described above, the present invention proposes a computer program recorded on a recording medium for executing a spontaneous speech synthesis method. The computer program includes a memory; transceiver; and a processor for processing instructions resident in the memory. The computer program may further include: identifying, by the processor, voice data from which all noise has been removed from a database provided in advance; identifying, by the processor, a speaker who recorded the voice data based on metadata matched to the voice data; identifying, by the processor, an artificial noise corresponding to the identified speaker, and synthesizing the identified artificial noise into the voice data; and a computer program recorded on a recording medium for executing, by the processor, identifying background sound data corresponding to a preset environmental condition, and synthesizing the identified background sound data with the artificial noise synthesized voice data. this can be

기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.

본 발명의 실시 예들에 따르면, 음성 인식의 음향 모델에 포함될 기준 패턴들을 구축하기 위하여 요구되는 다양한 종류의 음성 데이터들을 생성할 수 있게 된다. 특히, 음성 인식 시스템이 발화자의 발성 화법, 감탄사 또는 추임새 등도 함께 학습할 수 있는 음성 데이터를 생성함으로써, 음성 인식 시스템의 성능을 향상시킬 수 있게 된다.According to embodiments of the present invention, it is possible to generate various types of voice data required to construct reference patterns to be included in an acoustic model of voice recognition. In particular, the voice recognition system can improve the performance of the voice recognition system by generating voice data that can also learn the speaker's utterance, exclamation, or chuimsae.

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은 본 발명의 일 실시예에 따른 음성 데이터 수집 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치의 논리적 구성도이다.
도 3은 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 논리적 구성도이다.
도 4은 본 발명의 일 실시예에 따른 데이터 가공부의 세부 구성도이다.
도 5는 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 하드웨어 구성도이다.
도 6 및 도 7은 본 발명의 일 실시예에 따라 음성 데이터를 분해하는 과정을 설명하기 위한 예시도이다.
도 8 및 도 9는 본 발명의 일 실시예에 따라 음성 데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 10은 본 발명의 일 실시예에 따라 호출어를 학습하는 과정을 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따라 음성 데이터를 녹음하는 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따라 발화자의 얼굴을 이용하여 메타데이터를 생성하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따른 음성 데이터 녹음 방법을 설명하기 위한 순서도이다.
도 14는 본 발명의 일 실시예에 따른 음성 데이터 생성 방법을 설명하기 위한 순서도이다.
도 15는 본 발명의 일 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
도 16은 본 발명의 다른 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.
1 is a block diagram of a voice data collection system according to an embodiment of the present invention.
2 is a logical configuration diagram of an apparatus for recording voice data according to an embodiment of the present invention.
3 is a logical configuration diagram of an apparatus for generating voice data according to an embodiment of the present invention.
4 is a detailed configuration diagram of a data processing unit according to an embodiment of the present invention.
5 is a hardware configuration diagram of an apparatus for generating voice data according to an embodiment of the present invention.
6 and 7 are exemplary views for explaining a process of decomposing voice data according to an embodiment of the present invention.
8 and 9 are exemplary views for explaining a process of generating voice data according to an embodiment of the present invention.
10 is an exemplary diagram for explaining a process of learning a calling word according to an embodiment of the present invention.
11 is an exemplary diagram for explaining a process of recording voice data according to an embodiment of the present invention.
12 is an exemplary diagram for explaining a process of generating metadata using a speaker's face according to an embodiment of the present invention.
13 is a flowchart illustrating a voice data recording method according to an embodiment of the present invention.
14 is a flowchart illustrating a method for generating voice data according to an embodiment of the present invention.
15 is a flowchart for explaining a voice data processing step according to an embodiment of the present invention.
16 is a flowchart for explaining a voice data processing step according to another embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in this specification should be interpreted as meanings generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise specifically defined in this specification, and excessively inclusive It should not be construed in the meaning of a human being or in an excessively reduced meaning. In addition, when the technical terms used in the present specification are incorrect technical terms that do not accurately express the spirit of the present invention, they should be understood by being replaced with technical terms that can be correctly understood by those skilled in the art. In addition, the general terms used in the present invention should be interpreted according to the definition in the dictionary or according to the context before and after, and should not be interpreted in an excessively reduced meaning.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, as used herein, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "consisting of" or "having" should not be construed as necessarily including all of the various components or various steps described in the specification, and some of the components or some steps are included. It should be construed that it may not, or may further include additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Also, terms including ordinal numbers such as first, second, etc. used herein may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but another component may exist in between. On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings. The spirit of the present invention should be interpreted as extending to all changes, equivalents or substitutes other than the accompanying drawings.

사람의 음성은 동일한 뜻을 가지는 어휘 또는 문장이라 할지라도, 국가, 언어, 지역, 성별 또는 연령 등에 따라 서로 상이한 파형(wave form)을 가지고 있다. 따라서, 국가별, 언어별, 지역별, 성별 및 연령별로 음성 인식을 수행하기 위한 기준 패턴을 제각각 구축하기 위해서는 수많은 음성 데이터가 확보되어야 한다.Human voices have different wave forms according to countries, languages, regions, genders, or ages, even if they are words or sentences having the same meaning. Therefore, in order to establish a reference pattern for performing voice recognition for each country, language, region, gender, and age, a lot of voice data must be secured.

이러한 필요에 대응하고자, 본 발명은 수많음 음성 데이터를 수집, 가공 및 생성할 수 있는 다양한 수단들을 제안하고자 한다.In order to respond to this need, the present invention intends to propose various means for collecting, processing and generating numerous voice data.

도 1은 본 발명의 일 실시예에 따른 음성 데이터 수집 시스템의 구성도이다.1 is a block diagram of a voice data collection system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 수집 시스템은 다종의 음성 데이터 녹음 장치(100a, 100b, …, 100n; 100), 음성 데이터 생성 장치(200) 및 음성 인식 학습 장치(300)를 포함하여 구성될 수 있다.1, the voice data collection system according to an embodiment of the present invention includes a variety of voice data recording devices 100a, 100b, ..., 100n; 100, a voice data generating device 200, and voice recognition learning. It may be configured to include device 300 .

이와 같은, 일 실시예에 따른 음성 데이터 수집 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, since the components of the voice data collection system according to an embodiment are merely functionally distinct elements, two or more components are implemented by being integrated with each other in an actual physical environment, or one component is an actual physical environment. may be implemented separately from each other.

각각의 구성 요소에 대하여 설명하면, 음성 데이터 녹음 장치(100)는 다양한 환경에서 음성 데이터들을 수집할 수 있다. 이와 같은, 음성 데이터 녹음 장치(100)의 전부 또는 일부는 클라우딩 서비스(clouding service)를 통해 음성 데이터를 수집할 수 있는 장치가 될 수도 있다. 또한, 음성 데이터 녹음 장치(100)에 의해 수집된 다양한 음성 데이터들은 음성 인식의 음향 모델에 포함될 수 있는 기준 패턴들을 구축하기 위해 활용될 수 있다.Each component will be described. The voice data recording apparatus 100 may collect voice data in various environments. As such, all or a part of the voice data recording apparatus 100 may be a device capable of collecting voice data through a clouding service. In addition, various voice data collected by the voice data recording apparatus 100 may be utilized to construct reference patterns that may be included in an acoustic model of voice recognition.

특징적으로, 음성 데이터 녹음 장치(100)는 음성 데이터 생성 장치(200)에 의해 지시되는 환경 조건을 만족하는 곳에 음성 데이터 녹음 장치(100)가 위치하는 경우에만 음성 데이터의 녹음을 수행할 수 있도록 통제될 수 있다.Characteristically, the voice data recording device 100 controls so as to record voice data only when the voice data recording device 100 is located in a place that satisfies the environmental conditions indicated by the voice data generating device 200 . can be

또한, 음성 데이터 녹음 장치(100)는 사용자로부터 음성 데이터를 입력(즉, 녹음)받는 과정에서 카메라를 통해 사용자의 안면이 포함된 영상을 시계열적으로 촬영할 수 있다. 이와 같이, 음성 데이터 녹음 장치(100)에 의해 촬영된 영상은 사용자의 감정 상태를 추정하기 위해 사용될 수 있다.Also, the voice data recording apparatus 100 may time-series images including the user's face through the camera while receiving (ie, recording) voice data from the user. In this way, the image captured by the voice data recording apparatus 100 may be used to estimate the user's emotional state.

이하 설명의 편의를 위하여, 음성 데이터 녹음 장치(100)가 음성 데이터를 녹음하는 과정에서 음성 데이터 녹음 장치(100)의 사용자(user)는 발화자(speaker)로 지칭될 수 있다.For convenience of description below, a user of the voice data recording apparatus 100 may be referred to as a speaker while the voice data recording apparatus 100 records voice data.

상술한 바와 같은, 음성 데이터 녹음 장치(100)는 음성 데이터의 녹음만을 위한 전용 장치에 해당되지 아니하며, 3GPP(3rd Generation Partnership Project)에서 규정하고 있는 UE(User Equipment), 또는 IEEE(Institute of Electrical and Electronics Engineers)에서 규정하고 있는 MS(Mobile Station) 등과 같은 범용 장치에 해당할 수 있다.As described above, the voice data recording apparatus 100 does not correspond to a dedicated device for only recording voice data, but UE (User Equipment) defined by the 3rd Generation Partnership Project (3GPP), or IEEE (Institute of Electrical and It may correspond to a general-purpose device such as MS (Mobile Station) specified by Electronics Engineers.

즉, 음성 데이터 녹음 장치(100)는 음성 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 음성 데이터 녹음 장치(100)는 스마트폰(smart phone), 랩탑(laptop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)와 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되지 않는다.That is, the voice data recording apparatus 100 may be any device as long as it is capable of transmitting and receiving data to and from the voice data generating apparatus 200 and performing an operation based on the transmitted/received data. For example, the voice data recording apparatus 100 includes a smart phone, a laptop, a tablet, a phablet, a portable multimedia player (PMP), and a personal portable terminal. It may be any one of a portable computing device such as (Personal Digital Assistants, PDA) or an E-book reader, but is not limited thereto.

이와 같은, 음성 데이터 녹음 장치(100)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 2를 참조하여 후술하기로 한다.A detailed configuration and operation of the voice data recording apparatus 100 will be described later with reference to FIG. 2 .

다음 구성으로, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들에 의해 수집된 음성 데이터들을 기초로, 음성 인식의 음향 모델에 사용될 수 있는 다양한 기준 패턴을 생성할 수 있다.With the following configuration, the voice data generating apparatus 200 may generate various reference patterns that can be used in an acoustic model of voice recognition based on the voice data collected by the plurality of voice data recording apparatuses 100 .

특징적으로, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들에 의해 수집된 음성 데이터들을 세부 구성요소들로 분해 관리할 수 있으며, 음성 인식 학습 장치(300)의 요구 사항에 대응하여 다양한 형태의 음성 데이터들을 생성할 수 있다. 또한, 음성 데이터 생성 장치(200)는 단순한 대화 음성과 호출어(wake-word)를 구별할 수 있는 기준을 설정할 수 있으며, 이를 기초로 호출어를 학습하기 위한 다양한 형태의 음성 데이터들도 생성할 수 있다. 나아가, 음성 데이터 생성 장치(200)는 발화자의 감정 상태를 인식할 수 있는 메타데이터를 생성할 수도 있다.Characteristically, the voice data generating apparatus 200 may disassemble and manage the voice data collected by the plurality of voice data recording apparatuses 100 into detailed components, and meet the requirements of the voice recognition learning apparatus 300 . Correspondingly, various types of voice data may be generated. In addition, the voice data generating apparatus 200 may set a criterion for distinguishing between a simple conversation voice and a wake-word, and may also generate various types of voice data for learning a wake-word based on this. can Furthermore, the voice data generating apparatus 200 may generate metadata for recognizing the emotional state of the speaker.

이와 같은, 음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100) 및 음성 인식 학습 장치(300)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 음성 데이터 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the voice data generating device 200 may transmit and receive data to and from the voice data recording device 100 and the voice recognition learning device 300, and any device capable of performing an operation based on the transmitted/received data is acceptable. can be For example, the voice data generating apparatus 200 may be any one of a fixed computing device such as a desktop, a workstation, or a server, but is not limited thereto.

이와 같은, 음성 데이터 생성 장치(200)에 대한 구체적인 구성 및 동작에 대해서는 추후 도 3 내지 도 5를 참조하여 후술하기로 한다.A detailed configuration and operation of the voice data generating apparatus 200 will be described later with reference to FIGS. 3 to 5 .

다음 구성으로, 음성 인식 학습 장치(300)는 음성 데이터 생성 장치(200)로부터 제공된 음성 데이터(즉, 기준 패턴)을 기초로 음향 모델을 구축하고, 구축된 음향 모델을 이용하여 음성 인식을 수행할 수 있다.With the following configuration, the voice recognition learning apparatus 300 builds an acoustic model based on the voice data (ie, a reference pattern) provided from the voice data generating device 200 , and performs voice recognition using the constructed acoustic model. can

구체적으로, 음성 인식 학습 장치(300)는 음향 모델을 구축하기 위한 요구 사항을 음성 데이터 생성 장치(200)에 전송할 수 있다. 음성 인식 학습 장치(300)는 음성 데이터 생성 장치(200)로부터 다수의 음성 데이터를 수신하고, 수신된 음성 데이터를 기준 패턴으로 설정하여 음향 모델을 구축할 수 있다. 그리고, 음성 인식 학습 장치(300)는 구축된 음향 모델을 이용하여 음성 인식을 수행할 수 있다.Specifically, the voice recognition learning apparatus 300 may transmit a requirement for building an acoustic model to the voice data generating apparatus 200 . The voice recognition learning apparatus 300 may receive a plurality of voice data from the voice data generating apparatus 200 , and may build an acoustic model by setting the received voice data as a reference pattern. In addition, the voice recognition learning apparatus 300 may perform voice recognition using the built acoustic model.

이와 같은, 음성 인식 학습 장치(300)는 음성 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 음성 인식 학습 장치(300)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.As such, the voice recognition learning apparatus 300 may transmit and receive data to and from the voice data generating apparatus 200, and any device capable of performing an operation using the transmitted/received data may be permitted. For example, the voice recognition learning apparatus 300 may be any one of a desktop, a workstation, or a stationary computing device such as a server, but is not limited thereto.

지금까지 상술한 바와 같은, 다종의 음성 데이터 녹음 장치(100), 음성 데이터 생성 장치(200) 및 음성 인식 학습 장치(300)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동 통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. As described above, various types of voice data recording apparatus 100, voice data generating apparatus 200, and voice recognition learning apparatus 300, as described above, are among the secure line, public wired communication network, or mobile communication network directly connecting the devices. One or more combined networks may be used to transmit/receive data.

예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다. 그리고, 이동 통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다. For example, public wired networks include Ethernet, x Digital Subscriber Line (xDSL), Hybrid Fiber Coax (HFC), and Fiber To The Home (FTTH). However, it is not limited thereto. In addition, the mobile communication network includes Code Division Multiple Access (CDMA), Wideband CDMA, WCDMA, High Speed Packet Access (HSPA), Long Term Evolution, LTE) and 5th generation mobile communication may be included, but are not limited thereto.

이하, 상술한 바와 같은 특징을 가지는 음성 데이터 녹음 장치(100)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the voice data recording apparatus 100 having the above-described characteristics will be described in more detail.

도 2는 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치의 논리적 구성도이다.2 is a logical configuration diagram of an apparatus for recording voice data according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 녹음 장치(100)는 단말기 통신부(105), 단말기 입출력부(110), 녹음 환경 식별부(115), 음성 녹음 제어부(120), 메타데이터 부여부(125) 및 수집 데이터 제공부(130)를 포함하여 구성될 수 있다.As shown in FIG. 2 , the apparatus 100 for recording voice data according to an embodiment of the present invention includes a terminal communication unit 105 , a terminal input/output unit 110 , a recording environment identification unit 115 , and a voice recording control unit 120 . ), the metadata granting unit 125 and the collection data providing unit 130 may be included.

이와 같은, 음성 데이터 녹음 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the voice data recording apparatus 100 merely represent functionally distinct elements, so that two or more components are integrated with each other in an actual physical environment, or one component is implemented with each other in an actual physical environment. It may be implemented separately.

각각의 구성 요소에 대하여 설명하면, 단말기 통신부(105)는 음성 데이터 생성 장치(200)와 데이터를 송수신할 수 있다. Each of the components will be described. The terminal communication unit 105 may transmit/receive data to and from the voice data generating apparatus 200 .

구체적으로, 단말기 통신부(105)는 음성 데이터 생성 장치(200)로부터 환경 조건을 수신할 수 있다. 여기서, 환경 조건은 음성 데이터를 녹음하는 상황에서 음성 데이터 생성 장치(200)가 만족해야 하는 조건들이다. 예를 들어, 환경 조건에는 음성 데이터를 녹음하는 상황에서 음성 데이터 생성 장치(200)가 위치해야 하는 장소, 음성 데이터 녹음을 진행할 수 있는 시간대 및 음성 데이터 생성 장치(200)가 위치하는 장소의 혼잡도 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.Specifically, the terminal communication unit 105 may receive the environmental condition from the voice data generating apparatus 200 . Here, the environmental conditions are conditions that the voice data generating apparatus 200 must satisfy in a situation where voice data is recorded. For example, environmental conditions include a place where the voice data generating device 200 should be located in a situation where voice data is recorded, a time period for recording voice data, and the congestion level of a place where the voice data generating device 200 is located, etc. may be included, but is not limited thereto.

단말기 통신부(105)는 녹음된 음성 데이터를 음성 데이터 생성 장치(200)에 전송할 수 있다. 그리고, 단말기 통신부(105)는 음성 데이터를 녹음하는 과정에서 촬영된 영상을 음성 데이터 생성 장치(200)에 전송할 수 있다.The terminal communication unit 105 may transmit the recorded voice data to the voice data generating apparatus 200 . In addition, the terminal communication unit 105 may transmit an image captured in the process of recording the audio data to the audio data generating apparatus 200 .

다음 구성으로, 단말기 입출력부(110)는 사용자 인터페이스(User Interface, UI)를 통해 음성 데이터 녹음 장치(100)의 사용자로부터 신호를 입력 받거나, 또는 연산 결과를 외부로 출력할 수 있다.With the following configuration, the terminal input/output unit 110 may receive a signal from the user of the voice data recording apparatus 100 through a user interface (UI), or may output a calculation result to the outside.

구체적으로, 단말기 입출력부(110)는 녹음 환경 식별부(115) 또는 음성 녹음 제어부(120)의 지시에 따라, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 활성화 또는 비활성화할 수 있다. 예를 들어, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)는 음성 데이터 녹음 장치(100)의 터치 스크린(touch screen)을 통해 입출력되는 인터페이스가 될 수 있다.Specifically, the terminal input/output unit 110 may activate or deactivate a user interface (UI) capable of controlling the start and end of recording according to the instruction of the recording environment identification unit 115 or the voice recording control unit 120 . there is. For example, a user interface (UI) capable of controlling the start and end of recording may be an interface input/output through a touch screen of the voice data recording apparatus 100 .

단말기 입출력부(110)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해, 사용자로부터 녹음 시작을 지시하는 명령 또는 녹음 종료를 지시하는 명령을 입력 받을 수 있다.The terminal input/output unit 110 may receive a command instructing the start of recording or a command instructing the end of the recording from the user through a user interface (UI) capable of controlling the start and end of the recording.

단말기 입출력부(110)는 음성 데이터 생성 장치(200)에 의해 사전에 설정된 스크립트(script)를 디스플레이를 통해 출력할 수 있다. 이 경우, 스크립트는 음성 데이터 녹음 장치(100)의 사용자가 음성 데이터 녹음 과정에서 따라 읽어야 하는 대본이 될 수 있다.The terminal input/output unit 110 may output a script preset by the voice data generating apparatus 200 through the display. In this case, the script may be a script to be read by the user of the voice data recording apparatus 100 during the voice data recording process.

단말기 입출력부(110)는 GPS(Global Positioning System)을 통해 음성 데이터 녹음 장치(100)가 위치하는 위치 정보를 수집할 수 있다. 단말기 입출력부(110)는 마이크를 통해 음성 데이터를 입력 받을 수 있다. 단말기 입력부(110)는 카메라를 통해 영상을 시계열적으로 촬영할 수 있다.The terminal input/output unit 110 may collect location information at which the voice data recording apparatus 100 is located through a global positioning system (GPS). The terminal input/output unit 110 may receive voice data through a microphone. The terminal input unit 110 may time-series images through a camera.

그리고, 단말기 입출력부(110)는 사용자의 제어에 따라, 스피커를 통해 음성 데이터를 재생할 수 있다. In addition, the terminal input/output unit 110 may reproduce voice data through a speaker according to the user's control.

다음 구성으로, 녹음 환경 식별부(115)는 음성 데이터를 녹음하기 위하여, 음성 데이터 녹음 장치(100)가 위치하는 환경에 관한 정보를 식별할 수 있다.With the following configuration, the recording environment identification unit 115 may identify information about an environment in which the voice data recording apparatus 100 is located in order to record voice data.

구체적으로, 녹음 환경 식별부(115)는 단말기 입출력부(110)의 마이크를 통해 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화되기 이전에, 단말기 입출력부(110)의 마이크를 통해 배경 음향 데이터를 입력 받을 수 있다. Specifically, the recording environment identification unit 115 is a microphone of the terminal input/output unit 110 before the user interface (UI) capable of controlling the start and end of recording is activated through the microphone of the terminal input/output unit 110 . can receive background sound data through

이 경우, 배경 음향 데이터는 사용자(즉, 발화자)의 음성이 포함되지 않은 음성 데이터가 될 수 있다. 이와 같은, 배경 음향 데이터에는 음향 반향(acoustic echo) 및 배경 잡음(background noise)이 포함될 수 있다.In this case, the background sound data may be voice data in which the user's (ie, the speaker)'s voice is not included. Such background sound data may include acoustic echo and background noise.

녹음 환경 식별부(115)는 입력된 배경 음향 데이터를 기초로 녹음 환경에 관한 정보를 식별할 수 있다. 이 경우, 녹음 환경에 관한 정보는 음성 데이터 녹음 장치(100)가 음성 데이터의 녹음을 수행할 수 있는 환경에 관한 정보이다. 예를 들어, 녹음 환경에 관한 정보에는 음향 반향의 크기 및 주파수, 배경 잡음의 크기 및 주파수 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The recording environment identification unit 115 may identify information about the recording environment based on the input background sound data. In this case, the information about the recording environment is information about the environment in which the voice data recording apparatus 100 can record voice data. For example, the information about the recording environment may include, but is not limited to, the magnitude and frequency of acoustic echo, and the magnitude and frequency of background noise.

또한, 녹음 환경 식별부(115)는 단말기 입력부(110)의 GPS를 통해 음성 데이터 녹음 장치(100)가 위치하고 있는 위치 정보를 수집할 수 있다. 그리고, 녹음 환경 식별부(115)는 수집된 위치 정보를 녹음 환경에 관한 정보에 더 포함시킬 수 있다.Also, the recording environment identification unit 115 may collect location information where the voice data recording apparatus 100 is located through the GPS of the terminal input unit 110 . In addition, the recording environment identification unit 115 may further include the collected location information in the information about the recording environment.

다음 구성으로, 음성 녹음 제어부(120)는 음성 데이터의 녹음을 제어할 수 있다.With the following configuration, the voice recording controller 120 may control recording of voice data.

구체적으로, 음성 녹음 제어부(120)는 녹음 환경 식별부(115)에 의해 식별된 녹음 환경에 관한 정보가 음성 데이터 생성 장치(200)에 의해 사전에 설정된 환경 조건을 만족하는지 여부를 판단할 수 있다. Specifically, the voice recording control unit 120 may determine whether the information about the recording environment identified by the recording environment identification unit 115 satisfies the environmental condition preset by the voice data generating apparatus 200 . .

이 경우, 환경 조건은 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 만족해야 하는 조건들이다. 예를 들어, 환경 조건에는 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 위치해야 하는 장소, 음성 데이터 녹음을 진행할 수 있는 시간대 및 음성 데이터 녹음 장치(100)가 위치하는 장소의 혼잡도 등이 포함될 수 있으며, 이에 한정되는 것은 아니다.In this case, the environmental conditions are conditions that the voice data recording apparatus 100 must satisfy in a situation where voice data is recorded. For example, the environmental conditions include a place where the voice data recording apparatus 100 should be located in a situation where voice data is recorded, a time period in which voice data recording can be performed, and the degree of congestion of the place where the voice data recording apparatus 100 is located, etc. may be included, but is not limited thereto.

즉, 음성 녹음 제어부(120)는 녹음 환경에 관한 정보에 포함된 음향 반향의 크기 및 주파수 및 배경 잡음의 크기 및 주파수 및 위치 정보가, 환경 조건에 포함된 장소, 시간대 및 혼잡도를 만족하는지 여부 등을 판단할 수 있다.That is, the voice recording control unit 120 determines whether the size and frequency of the acoustic echo and the size and frequency and location information of the background noise included in the information about the recording environment satisfy the location, time zone, and degree of congestion included in the environmental condition, etc. can be judged

예를 들어, 환경 조건에 의해 요구되는 실내(indoor)에 해당하는 경우, 음성 녹음 제어부(120)는 배경 음향 데이터에 포함된 음향 반향의 크기를 기준으로, 음성 데이터 녹음 장치(100)가 환경 조건에 의해 요구되는 위치를 만족하는지 여부를 판단할 수 있다.For example, if it corresponds to an indoor required by an environmental condition, the voice recording controller 120 controls the voice data recording apparatus 100 based on the size of the acoustic reverberation included in the background sound data. It can be determined whether the position required by the

음성 녹음 제어부(120)는 식별된 녹음 환경에 관한 정보가 환경 조건을 만족하는 경우, 단말기 입출력부(110)의 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 활성화시킬 수 있다.When the identified information on the recording environment satisfies the environmental condition, the voice recording control unit 120 may activate a user interface (UI) capable of controlling the start and end of the recording of the terminal input/output unit 110 .

그리고, 음성 녹음 제어부(120)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해 사용자로부터 녹음 시작을 지시하는 명령이 입력되면, 단말기 입출력부(110)의 마이크를 통해 음성 데이터를 입력 받을 수 있다.In addition, when a command for instructing the start of recording is input from the user through a user interface (UI) capable of controlling the start and end of recording, the voice recording control unit 120 receives voice data through the microphone of the terminal input/output unit 110 . can be input.

이 경우, 음성 데이터 녹음 장치(100)의 마이크는 둘 이상으로 구성될 수 있으며, 음성 녹음 제어부(120)는 음성 데이터 녹음 장치(100)를 구성하고 있는 둘 이상의 마이크를 통해 동시에 녹음된 둘 이상의 음성 신호를 포함할 수 있다.In this case, two or more microphones of the voice data recording apparatus 100 may be configured, and the voice recording control unit 120 includes two or more voices simultaneously recorded through two or more microphones constituting the voice data recording apparatus 100 . It may contain signals.

한편, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화된 이후, 음성 녹음 제어부(120)는 사전에 설정된 주기마다 음성 데이터 녹음 장치(100)의 위치를 재수집할 수 있다. 음성 녹음 제어부(120)는 재수집된 위치 정보, 음성 데이터의 크기 및 주파수가 환경 조건을 만족하지 않는 경우, 기 활성화된 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 비활성화시키거나, 또는 입력 중인 음성 데이터의 입력을 중단할 수 있다.Meanwhile, after a user interface (UI) capable of controlling the start and end of recording is activated, the voice recording controller 120 may re-collect the positions of the voice data recording apparatus 100 at preset intervals. When the size and frequency of the re-collected location information and the voice data do not satisfy the environmental conditions, the voice recording control unit 120 deactivates a user interface (UI) capable of controlling the start and end of the previously activated recording, or , or the input of the voice data being input may be stopped.

또한, 음성 녹음 제어부(120)는 음성 데이터 생성 장치(200)에 의해 환경 조건에 매칭하여 사전에 설정된 스크립트를 단말기 입출력부(110)를 통해 출력할 수 있다. 이 경우, 스크립트는 음성 데이터 녹음 장치(100)의 사용자가 음성 데이터 녹음 과정에서 따라 읽어야 하는 대본이 될 수 있다.Also, the voice recording control unit 120 may output a script set in advance by matching the environmental conditions by the voice data generating apparatus 200 through the terminal input/output unit 110 . In this case, the script may be a script to be read by the user of the voice data recording apparatus 100 during the voice data recording process.

음성 녹음 제어부(120)는 스크립트가 디스플레이를 통해 출력된 이후, 입력된 음성 데이터를 STT(Speech To Text)한 결과와 상기 스크립트가 서로 대응하는지 여부를 검증할 수 있다. 이 경우, 음성 녹음 제어부(120)는 녹음 환경 식별부(115)가 입력 받은 배경 음향 데이터를 기반으로, 음성 데이터에 포함된 잡음 신호(noise signal)를 제거할 수 있다. 그리고, 음성 녹음 제어부(120)는 잡음 신호가 제거된 음성 데이터를 대상으로 STT를 수행할 수 있다.After the script is output through the display, the voice recording controller 120 may verify whether the result of STT (Speech To Text) on the input voice data and the script correspond to each other. In this case, the voice recording control unit 120 may remove a noise signal included in the voice data based on the background sound data received by the recording environment identification unit 115 . In addition, the voice recording controller 120 may perform STT on voice data from which the noise signal has been removed.

음성 녹음 제어부(120)는 STT를 수행한 결과와 스크립트가 서로 대응하는지 대비한 결과, 사전에 설정된 개수 이상의 음절이 서로 상이한 경우 음성 데이터의 입력을 중단할 수도 있다.The voice recording control unit 120 may stop inputting voice data when, as a result of preparing for whether the STT result and the script correspond to each other, the number of syllables greater than or equal to a preset number are different from each other.

그리고, 음성 녹음 제어부(120)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면, 단말기 입출력부(110)의 마이크를 통한 음성 데이터의 입력을 종료할 수 있다. In addition, when a command for instructing the end of recording is input from the user through a user interface (UI) capable of controlling the start and end of recording, the voice recording control unit 120 receives voice data through the microphone of the terminal input/output unit 110 . input can be terminated.

한편, 음성 녹음 제어부(120)는 단말기 입출력부(110)의 마이크를 통해 사용자의 음성 데이터를 입력 받는 과정(즉, 녹음 시작을 지시하는 명령이 입력된 이후에서 녹음 종료를 지시하는 명령이 입력되기까지)에서, 사전에 설정된 주기마다 카메라를 통해 사용자의 안면이 포함된 영상을 시계열적으로 촬영할 수도 있다.On the other hand, the voice recording control unit 120 receives the user's voice data through the microphone of the terminal input/output unit 110 (that is, after the command instructing the start of recording is input, the command instructing the end of the recording is inputted) up to), it is also possible to time-series images including the user's face through the camera at preset intervals.

다음 구성으로, 메타데이터 부여부(125)는 녹음된 음성 데이터에 대한 메타데이터를 부여할 수 있다. 이 경우, 음성 데이터 녹음 장치(100)가 부여한 메타데이터는 완전성을 가지지 않으며, 음성 데이터 생성 장치(200)가 부여할 메타데이터의 기초 자료로서 활용될 수 있다.With the following configuration, the metadata granting unit 125 may provide metadata for the recorded voice data. In this case, the metadata provided by the voice data recording apparatus 100 does not have completeness, and may be used as basic data of the metadata to be provided by the voice data generating apparatus 200 .

구체적으로, 메타데이터 부여부(125)는 녹음 환경 식별부(115)에 의해 식별된 녹음 환경에 관한 정보를 이용하여, 음성 녹음 제어부(120)를 통해 입력된 음성 데이터를 위한 메타데이터(metadata)를 생성할 수 있다. Specifically, the metadata granting unit 125 uses the information on the recording environment identified by the recording environment identification unit 115 to generate metadata for voice data input through the voice recording control unit 120 . can create

이 경우, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면, 메타데이터 부여부(125)는 단말기 입출력부(110)를 통해 사용자로부터 감정 상태에 관한 정보를 입력 받을 수 있다. 그리고, 메타데이터 부여부(125)는 입력된 감정 상태에 관한 정보를 포함시켜 메타데이터를 생성할 수도 있다.In this case, when a command for instructing the end of recording is input from the user through a user interface (UI) capable of controlling the start and end of recording, the metadata granting unit 125 receives the information from the user through the terminal input/output unit 110 . You can receive information about your emotional state. Also, the metadata granting unit 125 may generate metadata by including information about the input emotional state.

또한, 메타데이터 부여부(125)는 음성 녹음 제어부(120)를 통해 사용자의 음성 데이터를 입력 받는 과정에서 촬영된 영상을 메타데이터에 더 포함시킬 수도 있다.Also, the metadata imparting unit 125 may further include an image captured in the process of receiving the user's voice data through the voice recording control unit 120 in the metadata.

그리고, 메타데이터 부여부(125)는 생성된 메타데이터를 음성 데이터와 서로 매칭하여 데이터베이스(database)에 저장할 수 있다. In addition, the metadata imparting unit 125 may match the generated metadata with voice data and store it in a database.

다음 구성으로, 수집 데이터 제공부(130)는 수집된 음성 데이터 및 메타데이터를 단말기 통신부(105)를 통해 음성 데이터 생성 장치(200)에 제공할 수 있다.With the following configuration, the collected data providing unit 130 may provide the collected voice data and metadata to the voice data generating apparatus 200 through the terminal communication unit 105 .

구체적으로, 수집 데이터 제공부(130)는 수집된 음성 데이터 및 메타데이터를 즉각적으로 음성 데이터 생성 장치(200)에 전송할 수 있으나, 이에 한정되지 않고, 수집된 음성 데이터 및 메타데이터를 데이터베이스에 누적 저장한 후 사전에 설정된 주기마다 누적 저장된 음성 데이터 및 메타데이터를 음성 데이터 생성 장치(200)에 전송할 수도 있다.Specifically, the collected data providing unit 130 may immediately transmit the collected voice data and metadata to the voice data generating apparatus 200, but is not limited thereto, and the collected voice data and metadata are accumulated and stored in a database. Then, the accumulated and stored voice data and metadata may be transmitted to the voice data generating apparatus 200 every preset period.

이하, 상술한 바와 같은 특징을 가지는 음성 데이터 생성 장치(200)의 구성에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the configuration of the voice data generating apparatus 200 having the above-described characteristics will be described in more detail.

도 3은 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 논리적 구성도이다.3 is a logical configuration diagram of an apparatus for generating voice data according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 생성 장치(200)는 서버 통신부(205), 서버 입출력부(210), 데이터 구조 설계부(215), 데이터 수집 및 정제부(220), 데이터 가공부(225) 및 음성 데이터 제공부(230)를 포함하여 구성될 수 있다.As shown in FIG. 3 , the apparatus 200 for generating voice data according to an embodiment of the present invention includes a server communication unit 205 , a server input/output unit 210 , a data structure design unit 215 , and a data collection and refinement unit ( 220 ), a data processing unit 225 , and a voice data providing unit 230 .

이와 같은, 음성 데이터 생성 장치(200)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the voice data generating apparatus 200 merely represent functionally distinct elements, so that two or more components are integrated with each other in an actual physical environment, or one component is implemented with each other in an actual physical environment. It may be implemented separately.

각각의 구성 요소에 대하여 설명하면, 서버 통신부(205)는 음성 데이터 녹음 장치(100) 및 음성 인식 학습 장치(300) 중 하나 이상과 데이터를 송수신할 수 있다.When each component is described, the server communication unit 205 may transmit/receive data to and from one or more of the voice data recording apparatus 100 and the voice recognition learning apparatus 300 .

구체적으로, 음성 인식 학습 장치(300)로부터 음향 모델을 구축하기 위한 요구 사항을 수신할 수 있다.Specifically, a requirement for building an acoustic model may be received from the voice recognition learning apparatus 300 .

서버 통신부(205)는 다수의 음성 데이터 녹음 장치(100)들에게 환경 조건 및 스크립트를 전송할 수 있다. 서버 통신부(205)는 다수의 음성 데이터 녹음 장치(100)들로부터 수집된 음성 데이터 및 메타데이터를 수신할 수 있다.The server communication unit 205 may transmit environmental conditions and scripts to a plurality of voice data recording apparatuses 100 . The server communication unit 205 may receive voice data and metadata collected from a plurality of voice data recording apparatuses 100 .

그리고, 서버 통신부(205)는 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 가공된 음성 데이터를 음성 인식 학습 장치(300)에 전송할 수 있다.In addition, the server communication unit 205 may transmit the processed voice data that can be used to construct reference patterns of the acoustic model to the voice recognition learning apparatus 300 .

다음 구성으로, 서버 입출력부(210)는 사용자 인터페이스(UI)를 통해, 음성 데이터 생성 장치(200)의 관리자로부터 신호를 입력 받거나, 또는 연산 결과를 외부로 출력할 수 있다.With the following configuration, the server input/output unit 210 may receive a signal from the manager of the voice data generating apparatus 200 through a user interface (UI) or may output an operation result to the outside.

구체적으로, 서버 입출력부(210)는 관리자로부터 음성 데이터의 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다. 서버 입출력부(210)는 관리자로부터 메타데이터의 데이터 구조를 설계하기 위한 제어 신호를 입력 받을 수 있다.Specifically, the server input/output unit 210 may receive a control signal for designing a data structure of voice data from a manager. The server input/output unit 210 may receive a control signal for designing a data structure of metadata from a manager.

서버 입출력부(210)는 다수의 음성 데이터 녹음 장치(100)들이 음성 데이터를 녹음하는 과정에서 만족해야 하는 환경 조건을 관리자로부터 입력 받을 수 있다. The server input/output unit 210 may receive, from a manager, an environmental condition that a plurality of voice data recording apparatuses 100 must satisfy in a process of recording voice data.

또한, 서버 입출력부(210)는 다수의 음성 데이터 녹음 장치(100)의 발화자가 따라 읽을 수 있는 스크립트를 관리자로부터 입력 받을 수 있다.In addition, the server input/output unit 210 may receive a script readable by the speakers of the plurality of voice data recording apparatuses 100 from the manager.

다음 구성으로, 데이터 구조 설계부(215)는 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다.With the following configuration, the data structure design unit 215 may design a data structure of voice data and metadata that may be a reference pattern of an acoustic model.

구체적으로, 데이터 구조 설계부(215)는 서버 입출력부(210)를 통해 관리자로부터 입력된 제어 신호, 또는 음성 인식 학습 장치(300)로부터 수신된 요구 사항을 기초로, 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다.Specifically, the data structure design unit 215 may be a reference pattern of the acoustic model based on a control signal input from the manager through the server input/output unit 210 or a requirement received from the voice recognition learning apparatus 300 . The data structure of voice data and metadata can be designed.

데이터 구조 설계부(215)는 관리자로부터 입력된 제어 신호 또는 수신된 요구 사항을 기초로, 음성 인식의 음향 모델을 위한 온톨로지(ontology), 음성 데이터 및 메타데이터의 분류 체계 등을 정의할 수 있다.The data structure design unit 215 may define an ontology for an acoustic model of speech recognition, a classification system of speech data and metadata, and the like, based on a control signal input from the manager or a received requirement.

다음 구성으로, 데이터 수집 및 정제부(220)는 데이터 구조 설계부(215)에 의해 설계된 데이터 구조를 기초로, 음성 데이터 및 메타데이터를 수집 및 정제할 수 있다.With the following configuration, the data collection and refinement unit 220 may collect and refine voice data and metadata based on the data structure designed by the data structure design unit 215 .

구체적으로, 데이터 수집 및 정제부(220)는 서버 통신부(205)를 통해 다수의 음성 데이터 녹음 장치(100)들을 대상으로, 환경 조건 및 스크립트를 전송할 수 있다. 데이터 수집 및 정제부(220)는 서버 통신부(205)를 통해 다수의 음성 데이터 녹음 장치(100)들로부터 음성 데이터 및 메타데이터를 수신할 수 있다.Specifically, the data collection and refinement unit 220 may transmit environmental conditions and scripts to the plurality of voice data recording apparatuses 100 through the server communication unit 205 . The data collection and refinement unit 220 may receive voice data and metadata from a plurality of voice data recording apparatuses 100 through the server communication unit 205 .

그러나, 이에 한정되지 아니하고, 데이터 수집 및 정제부(220)는 서버 통신부(205)를 통해 웹 크롤링(crawling)을 수행하여 음성 데이터를 직접 수집하거나, 또는 음성 데이터들을 보유하고 있는 외부 기관의 장치로부터 음성 데이터를 다운로드할 수도 있다.However, the present invention is not limited thereto, and the data collection and refinement unit 220 performs web crawling through the server communication unit 205 to directly collect voice data, or from an external device holding voice data. You can also download voice data.

데이터 수집 및 정제부(220)는 수집된 음성 데이터들 중에서 중복되거나 또는 극히 유사한 음성 데이터를 제거할 수 있다. 그리고, 데이터 수집 및 정제부(220)는 수집된 음성 데이터들에 포함된 개인정보를 비식별화(de-identification)할 수 있다.The data collection and refinement unit 220 may remove duplicate or extremely similar voice data from among the collected voice data. In addition, the data collection and refinement unit 220 may de-identify personal information included in the collected voice data.

다음 구성으로, 데이터 가공부(225)는 데이터 수집 및 정제부(220)에 의해 수집 및 정제된 음성 데이터 및 메타데이터를 기초로, 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터 및 메타데이터로 가공할 수 있다.With the following configuration, the data processing unit 225 is based on the voice data and metadata collected and refined by the data collection and refinement unit 220, voice data and meta data that can be utilized to build reference patterns of the acoustic model. data can be processed.

특징적으로, 데이터 가공부(225)는 다수의 음성 데이터들을 세부 구성요소들로 분해 관리할 수 있으며, 음성 인식 학습 장치(300)의 요구 사항에 대응하여 다양한 형태의 음성 데이터를 생성할 수 있다. 또한, 데이터 가공부(225)는 단순한 대화 음성과 호출어를 구별할 수 있는 기준을 설정할 수 있으며, 이를 기초로 호출어를 학습하기 위한 다양한 형태의 음성 데이터들도 생성할 수 있다. 나아가, 데이터 가공부(225)는 발화자의 감정 상태를 인식할 수 있는 메타데이터도 생성할 수 있다. Characteristically, the data processing unit 225 may disassemble and manage a plurality of voice data into detailed components, and may generate various types of voice data in response to the requirements of the voice recognition learning apparatus 300 . In addition, the data processing unit 225 may set a standard for distinguishing between a simple conversation voice and a calling word, and may also generate various types of voice data for learning a calling word based on this. Furthermore, the data processing unit 225 may also generate metadata for recognizing the emotional state of the speaker.

이와 같은 특징을 가지는, 데이터 가공부(225)에 대한 구체적인 설명은 도 4를 참조하여 후술하기로 한다.A detailed description of the data processing unit 225 having such a characteristic will be described later with reference to FIG. 4 .

다음 구성으로, 음성 데이터 제공부(230)는 데이터 가공부(225)에 의해 가공된 음성 데이터 및 메타데이터를 음성 인식 학습 장치(300)에 제공할 수 있다. 이 경우, 데이터 가공부(225)에 의해 가공된 음성 데이터 및 메타데이터는 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터가 될 수 있다. With the following configuration, the voice data providing unit 230 may provide the voice data and metadata processed by the data processing unit 225 to the voice recognition learning apparatus 300 . In this case, the voice data and metadata processed by the data processing unit 225 may be voice data that can be utilized to construct reference patterns of the acoustic model.

이하, 상술한 바와 같은 특징을 가지는 데이터 가공부(225)에 대하여 보다 구체적으로 설명하기로 한다.Hereinafter, the data processing unit 225 having the above-described characteristics will be described in more detail.

도 4은 본 발명의 일 실시예에 따른 데이터 가공부의 세부 구성도이다.4 is a detailed configuration diagram of a data processing unit according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 음성 데이터 생성 장치(200)의 데이터 가공부(225)는 음성 데이터 가공 모듈(225-1), 호출어 가공 모듈(225-2) 및 메타데이터 처리 모듈(225-3)을 포함하여 구성될 수 있다.As shown in FIG. 4 , the data processing unit 225 of the voice data generating apparatus 200 includes a voice data processing module 225-1, a call word processing module 225-2, and a metadata processing module 225- 3) may be included.

이와 같은, 데이터 가공부(225)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.As such, the components of the data processing unit 225 merely represent functionally distinct elements, so that two or more components are integrated with each other in the actual physical environment, or one component is separated from each other in the actual physical environment. and can be implemented.

각각의 세부 구성 요소에 대하여 설명하면, 음성 데이터 가공 모듈(225-1)은 수집된 음성 데이터를 분해하여 누적 저장하고, 분해 저장된 음성 데이터를 기반으로 다양한 음성 데이터를 생성할 수 있다.Each of the detailed components will be described. The voice data processing module 225 - 1 may decompose and accumulate the collected voice data, and may generate various voice data based on the decomposed and stored voice data.

우선적으로, 음성 데이터 가공 모듈(225-1)이 음성 데이터를 분해하여 누적 저장하는 특징에 대하여 설명한다.First, a feature in which the voice data processing module 225-1 decomposes and accumulates and stores voice data will be described.

음성 데이터 가공 모듈(225-1)은 수집된 음성 데이터의 파형(wave form)을 분석하여 음성 데이터로부터 배경 음향 데이터를 분리할 수 있다. The voice data processing module 225 - 1 may analyze a waveform of the collected voice data to separate background sound data from the voice data.

여기서, 수집된 음성 데이터는 음성 인식의 음향 모델에 포함될 기준 패턴들을 구축하기 위하여 음성 데이터 녹음 장치(100)를 통해 수집된 음성 데이터가 될 수 있다.Here, the collected voice data may be voice data collected through the voice data recording apparatus 100 in order to construct reference patterns to be included in the acoustic model of voice recognition.

그리고, 배경 음향 데이터는 사용자(즉, 발화자)의 음성이 포함되지 않은 음성 데이터가 될 수 있다. 이와 같은, 배경 음향 데이터에는 음향 반향 및 배경 잡음이 포함될 수 있다.Also, the background sound data may be voice data that does not include a user's (ie, a speaker) voice. Such background sound data may include acoustic echo and background noise.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 수집된 음향 데이터에 주파수 영역 필터(Frequency Domain Adaptive Filter, FDAF)를 적용하여 음성 데이터와 관련된 음성 데이터 녹음 장치(100)의 스피커와 마이크 사이의 전달 함수(transfer function)를 식별할 수 있다. More specifically, the voice data processing module 225 - 1 applies a frequency domain adaptive filter (FDAF) to the collected sound data so as to be used between the speaker and the microphone of the voice data recording apparatus 100 related to the voice data. A transfer function can be identified.

그리고, 음성 데이터 가공 모듈(225-1)은 식별된 전달 함수를 이용하여 음성 데이터로부터 반향 신호를 생성한 후, 음성 데이터로부터 반향 신호를 차감하여 음성 데이터에 포함된 반향 신호를 제거할 수 있다. In addition, the voice data processing module 225 - 1 may generate an echo signal from the voice data using the identified transfer function, and then subtract the echo signal from the voice data to remove the echo signal included in the voice data.

즉, 음성 데이터 가공 모듈(225-1)은 전달 함수를 이용하여 음성 데이터로부터 반향 신호를 분리할 수 있다.That is, the voice data processing module 225 - 1 may separate the echo signal from the voice data using a transfer function.

음성 데이터 가공 모듈(225-1)은 음성 데이터에 포함된 둘 이상의 음성 신호의 도착 시간 차이(Time Difference of Arrival, TDoA)를 기초로 음성 데이터 녹음 장치(100)와 발화자(즉, 음성 데이터 녹음 장치(100)의 사용자) 사이의 방향성을 추정할 수 있다.The voice data processing module 225 - 1 performs the voice data recording apparatus 100 and the speaker (ie, the voice data recording apparatus) based on a Time Difference of Arrival (TDoA) of two or more voice signals included in the voice data. You can estimate the directionality between (100) users.

음성 데이터 가공 모듈(225-1)은 추정된 방향성을 기초로, 음성 데이터로부터 잡음 신호를 생성할 수 있다. The voice data processing module 225 - 1 may generate a noise signal from the voice data based on the estimated directionality.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 둘 이상의 음성 신호에 대하여 최소 분산 비왜곡 응답(Minimum Variance Distortionless Response, MVDR) 필터를 적용한 이득(gain)이 사전에 설정된 상수 값으로 유지시킨 상태에서, 둘 이상의 음성 신호의 최종 출력 파워를 최소화할 수 있도록 설계된 블로킹 매트릭스(Blocking Matrix, BM)를 생성할 수 있다.More specifically, the voice data processing module 225-1 maintains a preset constant value in which the gain of applying a Minimum Variance Distortionless Response (MVDR) filter to two or more voice signals is maintained. In , it is possible to generate a blocking matrix (BM) designed to minimize the final output power of two or more voice signals.

음성 데이터 가공 모듈(225-1)은 음성 데이터를 상기 블로킹 매트릭스(BM)에 통과시켜 음성 데이터로부터 목적 방향(target direction)만의 음성 성분이 제거된 잡음 신호를 생성할 수 있다. 이 경우, 목적 방향은 음성 데이터 녹음 장치(100)를 기준으로 발화자가 위치하는 상대적인 방향(즉, 음성 데이터 녹음 장치(100)와 발화자 사이의 방향성)이다.The voice data processing module 225-1 may generate a noise signal in which voice components in only a target direction are removed from the voice data by passing the voice data through the blocking matrix BM. In this case, the target direction is a relative direction in which the speaker is located with respect to the voice data recording apparatus 100 (ie, the direction between the voice data recording apparatus 100 and the speaker).

그리고, 음성 데이터 가공 모듈(225-1)은 반향 신호가 제거된 음성 데이터로부터 잡음 신호를 차감하여 음성 데이터에 포함된 잡음 신호를 제거할 수 있다.In addition, the voice data processing module 225 - 1 may remove the noise signal included in the voice data by subtracting the noise signal from the voice data from which the echo signal has been removed.

즉, 음성 데이터 가공 모듈(225-1)은 음성 데이터 녹음 장치(100)와 발화자 사이의 방향성을 기초로, 음성 데이터로부터 잡음 신호를 분리할 수 있다.That is, the voice data processing module 225 - 1 may separate the noise signal from the voice data based on the directionality between the voice data recording apparatus 100 and the speaker.

이 경우, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 재생이 종료될 때까지, 둘 이상의 음성 신호의 도착 시간 차이(TDoA)에 대한 가중 교차 상관 관계(weighted cross correlation)의 총합이 최대인 상태로 유지되도록, 음성 데이터에 대한 목적 방향을 제어할 수 있다. In this case, the voice data processing module 225-1 determines that the sum of the weighted cross correlations for the arrival time difference (TDoA) of two or more voice signals is the maximum until the reproduction of the voice data is finished. It is possible to control the destination direction for the voice data so as to remain in the state.

이와 다르게, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 메타 데이터에 발화자의 안면이 포함된 영상이 포함되어 있는 경우, 음성 데이터 가공 모듈(225-1)은 영상 속 발화자의 안면 중 입의 개폐 여부를 기준으로, 해당 발화자의 음성 데이터 내에서 잡음 구간과 음성 구간을 서로 구별할 수 있다. 그리고, 음성 데이터 가공 모듈(225-1)은 구별된 음성 구간의 신호에서 잡음 구간의 신호를 차감함으로써, 음성 데이터에 포함된 잡음 신호를 제거할 수도 있다.On the other hand, when the voice data processing module 225-1 includes an image including the speaker's face in the metadata of the voice data, the voice data processing module 225-1 controls the mouth of the speaker in the video. Based on whether the speaker is open or closed, a noise section and a voice section can be distinguished from each other in the voice data of the corresponding speaker. In addition, the voice data processing module 225 - 1 may remove the noise signal included in the voice data by subtracting the signal of the noise section from the signal of the differentiated voice section.

음성 데이터 가공 모듈(225-1)은 배경 음향 데이터가 분리된 음성 데이터로부터 인위적인 노이즈(man-made noise)를 식별할 수 있다. The voice data processing module 225 - 1 may identify man-made noise from voice data from which background sound data is separated.

이 경우, 인위적인 노이즈는 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새 등에 따라 발화자로부터 발화되었으나, 단어적 의미를 가지지 않는 음소(phoneme)가 될 수 있다. In this case, the artificial noise may be a phoneme that is uttered by the speaker according to the speaker's utterance method, exclamation or chuimsae of the voice data, but does not have a word meaning.

예를 들어, "음 그것은 사과입니다"라는 어절 중에서 "음"은 발화자의 발성 화법에 따라 발화되긴 하였으나 특별한 단어적 의미를 가지지 않는 음소로서, 인위적인 노이즈에 해당될 수 있다.For example, in the phrase "Um, that's an apple", "um" is a phoneme that is uttered according to the speaker's utterance method, but does not have a special word meaning, and may correspond to artificial noise.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 배경 음향 데이터가 분리된 음성 데이터를 STT하여 녹취록(transcript)을 생성할 수 있다. 음성 데이터 가공 모듈(225-1)은 생성된 녹취록을 파싱(parsing)하여 녹취록을 구성하고 있는 복수 개의 토큰(token)들을 식별할 수 있다. 음성 데이터 가공 모듈(225-1)은 식별된 각각의 토큰에 대하여 의미 분석(semantic analysis)을 수행할 수 있다. 파싱된 토큰에 대하여 의미 분석을 수행하는 구체적인 수단들에 대해서는 널리 알려진 바와 동일하므로 기재하지 않는다.More specifically, the voice data processing module 225 - 1 may STT the voice data from which the background sound data is separated to generate a transcript. The voice data processing module 225 - 1 may parse the generated transcript to identify a plurality of tokens constituting the transcript. The voice data processing module 225 - 1 may perform semantic analysis on each identified token. Specific means for performing semantic analysis on the parsed token are not described as they are the same as widely known.

음성 데이터 가공 모듈(225-1)은 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈로 식별할 수 있다.As a result of semantic analysis, the speech data processing module 225 - 1 may identify the unclassified corresponding token as artificial noise when there is a token whose word meaning is not classified as a phoneme defined in advance.

또한, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 발화자에 대한 메타데이터로부터 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 식별된 발화자의 국가, 언어, 지역, 성별 및 연령을 기초로, 분류되지 않은 토큰으로부터 식별된 인위적인 노이즈가 올바른지 검증할 수도 있다.In addition, the voice data processing module 225-1 identifies the country, language, region, gender and age of the speaker from the metadata of the speaker of the voice data, and identifies the country, language, region, gender and age of the speaker. As a basis, we may verify that the artificial noise identified from the unclassified token is correct.

그리고, 음성 데이터 가공 모듈(225-1)은 식별된 인위적인 노이즈만을 음성 데이터로부터 분리할 수 있다.In addition, the voice data processing module 225-1 may separate only the identified artificial noise from the voice data.

한편, 음성 데이터 가공 모듈(225-1)은 메타데이터 처리 모듈(225-3)에 의해, 반향 신호, 잡음 신호, 인위적인 노이즈 및 인위적인 노이즈가 제거된 음성 데이터가 서로 매칭되도록 음성 데이터에 대한 메타데이터가 생성되면, 생성된 음성 데이터 및 메타데이터를 데이터베이스에 누적 저장할 수 있다.Meanwhile, the voice data processing module 225-1 is configured to match the voice data from which the echo signal, the noise signal, the artificial noise, and the artificial noise have been removed by the metadata processing module 225-3 to match the metadata for the voice data. When is generated, the generated voice data and metadata may be accumulated and stored in a database.

다음으로, 음성 데이터 가공 모듈(225-1)이 음성 신호들을 합성하여 새로운 음성 데이터를 생성하는 특징에 대하여 설명한다.Next, a feature in which the voice data processing module 225-1 generates new voice data by synthesizing voice signals will be described.

음성 데이터 가공 모듈(225-1)은 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 환경 조건을 만족하는 발화자의 국가, 언어, 지역, 성별 및 연령을 식별할 수 있다. 이 경우, 발화자는 음성 데이터 녹음 장치(100)의 사용자가 아닌, 음성 데이터를 발화하는 것으로 식별될 수 있는 가상의 인물이 될 수 있다.The voice data processing module 225-1 may identify the country, language, region, gender, and age of a speaker that satisfies a preset environmental condition in relation to voice data to be synthesized. In this case, the speaker may not be the user of the voice data recording apparatus 100 but a virtual person who can be identified as uttering the voice data.

음성 데이터 가공 모듈(225-1)은 식별된 발화자의 국가, 언어, 지역, 성별 및 연령을 기초로, 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들을 데이터베이스로부터 식별할 수 있다.The voice data processing module 225-1 identifies a plurality of voice signals corresponding to a preset script in relation to voice data to be synthesized from the database based on the country, language, region, gender and age of the identified speaker. can do.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 스크립트를 파싱하여 스크립트를 구성하고 있는 복수 개의 토큰을 식별할 수 있다. 음성 데이터 가공 모듈(225-1)은 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다. More specifically, the voice data processing module 225-1 may parse the script to identify a plurality of tokens constituting the script. The voice data processing module 225 - 1 may perform semantic analysis on each identified token.

음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 각각의 토큰에 대응하는 음성 신호를 식별하는 과정에서 해당 토큰은 인위적인 노이즈로 분류된 음성 신호를 식별할 수 있다.As a result of performing semantic analysis on each token, the voice data processing module 225-1 generates a voice signal corresponding to each token when there is a token whose word meaning is not classified into a predefined phoneme. In the process of identification, the corresponding token can identify a voice signal classified as artificial noise.

한편, 음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정(emotion)을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다.On the other hand, the voice data processing module 225-1 performs semantic analysis on each token, and as a result of performing semantic analysis, when one or more tokens predefined as expressing an emotion exist, based on the one or more tokens It is possible to estimate one emotional state that the speaker may have.

음성 데이터 가공 모듈(225-1)은 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 스크립트에 무작위로 추가할 수도 있다.The voice data processing module 225-1 may identify one or more phonemes that correspond to the estimated emotional state and can generate artificial noise from the database, and randomly add the identified one or more phonemes to the script.

음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대응하는 것으로 식별된 복수 개의 음성 신호들을 조합하여 어절(word segment) 단위의 음성 데이터를 생성할 수 있다.The speech data processing module 225 - 1 may generate speech data in units of word segments by combining a plurality of speech signals identified as corresponding to each token.

이 경우, 음성 데이터 가공 모듈(225-1)은 발화자의 국가, 언어, 지역, 성별 및 연령에 대응하는 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 어절 단위의 음성 데이터를 생성하는 과정에서 인위적인 노이즈를 발생시킬 수 있는 것으로 식별된 하나 이상의 음소에 대응하는 음성 신호를 추가시킬 수도 있다. In this case, the voice data processing module 225-1 identifies one or more phonemes that can generate artificial noise corresponding to the speaker's country, language, region, gender, and age, and generates word-based voice data. A voice signal corresponding to one or more phonemes identified as capable of generating artificial noise may be added.

그리고, 음성 데이터 가공 모듈(225-1)은 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터를 식별하고, 식별된 배경 음향 데이터를 어절 단위의 음성 데이터에 합성할 수 있다.In addition, the voice data processing module 225-1 may identify background sound data that satisfies a preset environmental condition in relation to the voice data to be synthesized, and synthesize the identified background sound data into voice data in units of words. there is.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 잡음 신호 및 반향 신호를 식별한 뒤, 어절 단위의 음성 데이터에 잡음 신호 및 반향 신호를 순서대로 합성할 수 있다.More specifically, the voice data processing module 225 - 1 may identify a noise signal and an echo signal satisfying an environmental condition from the database, and then sequentially synthesize the noise signal and the echo signal into the word unit voice data.

또한, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 비가청 신호(inaudible signal)을 식별한 뒤, 잡음 신호 및 반향 신호가 합성된 음성 데이터에 비가청 신호를 추가적으로 합성할 수도 있다.Also, the voice data processing module 225-1 may identify an inaudible signal that satisfies the environmental condition from the database, and then additionally synthesize the inaudible signal into the voice data in which the noise signal and the echo signal are synthesized. there is.

한편, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 재생 과정에서 발화자의 방향성이 변화되도록, 비가청 신호까지 합성된 음성 데이터에 포함된 음성 신호의 채널별 음량을 조정할 수도 있다.Meanwhile, the voice data processing module 225-1 may adjust the volume for each channel of the voice signal included in the voice data synthesized up to the inaudible signal so that the direction of the speaker is changed during the reproduction of the voice data.

다음으로, 음성 데이터 가공 모듈(225-1)이 기존에 분해 저장된 음성 데이터를 기반으로, 새로운 음성 데이터를 생성하는 특징에 대하여 설명한다.Next, a feature in which the voice data processing module 225-1 generates new voice data based on the previously decomposed and stored voice data will be described.

음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별할 수 있다. 이 경우, 모든 노이즈가 제거된 음성 데이터는 음성 데이터 녹음 장치(100)에 의해 녹음된 음성 데이터로부터 인위적인 노이즈, 반향 신호, 잡음 신호가 제거된 음성 데이터가 될 수 있다.The voice data processing module 225 - 1 may identify voice data from which all noise has been removed from the database. In this case, the voice data from which all noises have been removed may be voice data from which artificial noises, echo signals, and noise signals have been removed from the voice data recorded by the voice data recording apparatus 100 .

음성 데이터 가공 모듈(225-1)은 식별된 음성 데이터에 매칭된 메타데이터를 기준으로, 음성 데이터를 녹음한 발화자를 식별할 수 있다.The voice data processing module 225 - 1 may identify the speaker who recorded the voice data based on metadata matched to the identified voice data.

음성 데이터 가공 모듈(225-1)은 식별된 발화자에 대응하는 인위적인 노이즈를 식별하고, 식별된 인위적인 노이즈를 음성 데이터에 합성할 수 있다.The voice data processing module 225 - 1 may identify artificial noise corresponding to the identified speaker, and synthesize the identified artificial noise into voice data.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 음성 데이터를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 가공 모듈(225-1)은 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 가공 모듈(225-1)은 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.More specifically, the voice data processing module 225 - 1 may STT the voice data to generate a transcript. The voice data processing module 225-1 may parse the generated transcript to identify a plurality of tokens constituting the transcript. The voice data processing module 225 - 1 may perform semantic analysis on each identified token.

음성 데이터 가공 모듈(225-1)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다.As a result of performing semantic analysis on each token, the voice data processing module 225-1 performs semantic analysis on each token. As a result, when one or more tokens predefined as expressing emotions exist, the speaker can have based on the one or more tokens. One emotional state can be estimated.

음성 데이터 가공 모듈(225-1)은 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터 합성할 수 있다.The voice data processing module 225-1 may identify one or more phonemes that correspond to the estimated emotional state and may generate artificial noise from the database, and synthesize the identified one or more phonemes into voice data.

이와 다르게, 음성 데이터 가공 모듈(225-1)은 발화자에 대한 메타데이터로부터 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 식별된 발화자의 국가, 언어, 지역, 성별 및 연령에 대응하여 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터에 합성할 수 있다.Alternatively, the voice data processing module 225-1 identifies the country, language, region, gender and age of the speaker from the metadata about the speaker, and responds to the identified country, language, region, gender and age of the speaker. One or more phonemes capable of generating artificial noise may be identified, and the identified one or more phonemes may be synthesized into voice data.

이와 또 다르게, 음성 데이터 가공 모듈(225-1)은 발화자와 국가, 언어, 지역, 성별 및 연령 중 하나 이상이 상이한 다른 발화자에 관련된 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터에 합성할 수도 있다.Alternatively, the voice data processing module 225-1 identifies one or more phonemes that may generate artificial noise related to another speaker that is different from the speaker in at least one of country, language, region, gender, and age, and One or more phonemes may be synthesized into voice data.

그리고, 음성 데이터 가공 모듈(225-1)은 생성하고자 하는 음성 데이터와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터를 식별하고, 식별된 배경 음향 데이터를 인위적인 노이즈까지 합성된 음성 데이터에 합성할 수 있다.In addition, the voice data processing module 225-1 identifies background sound data that satisfies a preset environmental condition in relation to voice data to be generated, and synthesizes the identified background sound data into voice data synthesized up to artificial noise. can do.

보다 구체적으로, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 잡음 신호 및 반향 신호를 식별한 뒤, 어절 단위의 음성 데이터에 잡음 신호 및 반향 신호를 순서대로 합성할 수 있다.More specifically, the voice data processing module 225 - 1 may identify a noise signal and an echo signal satisfying an environmental condition from the database, and then sequentially synthesize the noise signal and the echo signal into the word unit voice data.

또한, 음성 데이터 가공 모듈(225-1)은 데이터베이스로부터 환경 조건을 만족하는 비가청 신호를 식별한 뒤, 잡음 신호 및 반향 신호가 합성된 음성 데이터에 비가청 신호를 추가적으로 합성할 수도 있다.Also, the voice data processing module 225 - 1 may identify an inaudible signal that satisfies the environmental condition from the database, and then additionally synthesize the inaudible signal into the voice data in which the noise signal and the echo signal are synthesized.

한편, 음성 데이터 가공 모듈(225-1)은 음성 데이터의 재생 과정에서 발화자의 방향성이 변화되도록, 비가청 신호까지 합성된 음성 데이터에 포함된 음성 신호의 채널별 음량을 조정할 수도 있다.Meanwhile, the voice data processing module 225-1 may adjust the volume for each channel of the voice signal included in the voice data synthesized up to the inaudible signal so that the direction of the speaker is changed during the reproduction of the voice data.

다음 구성으로, 호출어 가공 모듈(225-2)은 단순 대화 음성과 호출어를 구별할 수 있는 기준을 설정하고, 호출어를 학습하기 위한 다양한 형태의 음성 데이터들을 생성할 수 있다.With the following configuration, the calling word processing module 225 - 2 may set a standard for discriminating between a simple conversation voice and a calling word, and may generate various types of voice data for learning the calling word.

구체적으로, 호출어 가공 모듈(225-2)은 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터를 식별할 수 있다. 이 경우, 호출어는 대기 상태(standby status)인 인공지능(Artificial Intelligence, AI) 시스템을 활성화(activate)시키도록 사전에 설정된 단어가 될 수 있다.Specifically, the calling word processing module 225 - 2 may identify voice data classified as a calling word among voice data stored in the database. In this case, the calling word may be a word preset to activate an artificial intelligence (AI) system that is in a standby status.

이를 위하여, 호출어 가공 모듈(225-2)은 음성 데이터에 대한 메타데이터를 기준으로, 음성 데이터가 호출어로 분류되었는지 여부를 판단할 수 있다.To this end, the calling word processing module 225 - 2 may determine whether the voice data is classified as a calling word based on the metadata for the voice data.

다음으로, 호출어 가공 모듈(225-2)은 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서, 호출어로 분류된 음성 데이터와 음절(syllable)이 동일하나 호출어로 분류되지 않은 음성 데이터를 데이터베이스로부터 식별할 수 있다.Next, the calling word processing module 225 - 2 is configured to include, among voice data of the same speaker as the speaker of the voice data classified as the calling word, the voice data classified as the calling word and the syllable are the same but not classified as the calling word Data can be identified from the database.

만약, 데이터베이스로부터 호출어로 분류된 음성 데이터와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터를 식별할 수 없는 경우, 호출어 가공 모듈(225-2)은 둘 이상의 음소들의 조합으로 호출어의 음절과 동일한 음절을 구성할 수 있도록, 호출어의 음절과는 상이하나 호출어로 분류되지 않은 음성 데이터들을 각각 구성하고 있는 하나 이상의 음소들을 조합함으로써, 호출어로 분류된 음성 데이터와 음절이 동일하며 호출어로 분류되지 않은 음성 데이터를 생성할 수도 있다. If, from the database, the voice data classified as the calling word and the syllable are the same, but the voice data that is not classified as the calling word cannot be identified, the calling word processing module 225-2 may combine the syllable and the calling word with a combination of two or more phonemes. To compose the same syllable, by combining one or more phonemes that are different from the syllable of the calling word but not classified as the calling word, respectively, the voice data classified as the calling word and the syllable are the same and not classified as the calling word. It is also possible to generate non-voice data.

다음으로, 호출어 가공 모듈(225-2)은 호출어로 분류된 음성 데이터의 파형과 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여, 호출어로 분류된 음성 데이터와 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출할 수 있다. Next, the calling word processing module 225-2 compares the waveform of the voice data classified as the calling word with the waveform of the voice data not classified as the calling word with each other, and the voice data classified as the calling word and the voice data not classified as the calling word The difference between the values can be calculated.

이 경우, 호출어로 분류된 음성 데이터와 호출어로 분류되지 않은 음성 데이터 사이의 차이 값은 파형의 길이, 파형의 진폭, 파형의 주파수의 차이로 구성될 수 있으나, 이에 한정되는 것은 아니다.In this case, the difference value between the voice data classified as the calling word and the voice data not classified as the calling word may consist of a difference between the length of the waveform, the amplitude of the waveform, and the frequency of the waveform, but is not limited thereto.

다음으로, 호출어 가공 모듈(225-2)은 발화자에 관하여 기 생성된 메타데이터에 산출된 차이 값을 추가하여 데이터베이스에 저장할 수 있다. 특히, 호출어 가공 모듈(225-2)은 산출된 차이 값을 발화자의 속성과 매칭하여 데이터베이스에 누적 저장할 수 있다. 이 경우, 발화자의 속성에는 발화자의 국가, 언어, 지역, 성별 및 연령이 포함될 수 있다.Next, the call word processing module 225 - 2 may add the calculated difference value to the previously generated metadata about the speaker and store the difference value in the database. In particular, the call word processing module 225 - 2 may match the calculated difference value with the speaker's attribute and accumulate and store the same in the database. In this case, the speaker's attributes may include the speaker's country, language, region, gender, and age.

한편, 호출어 가공 모듈(225-2)은 데이터베이스에 누적 저장된 차이 값과 발화자의 속성에 대하여 상관 분석(correlation analysis)을 수행하여 상기 차이 값과 발화자의 속성 사이의 관련성을 평가할 수 있다. 호출어 가공 모듈(225-2)은 평가된 관련성에 대하여 요인 분석(factor analysis) 및 회귀 분석(regression)을 수행하여 발화자의 속성에 포함된 요소들 중에서 차이 값에 최대 영향을 미치는 요소를 식별할 수 있다.Meanwhile, the call word processing module 225 - 2 may perform correlation analysis on the difference value accumulated and stored in the database and the speaker's attribute to evaluate the correlation between the difference value and the speaker's attribute. The call word processing module 225-2 performs factor analysis and regression on the evaluated relevance to identify the factor that has the greatest influence on the difference value among the factors included in the speaker's attribute. can

그리고, 호출어 가공 모듈(225-2)은 차이 값에 최대 영향을 미치는 요소를 발화자에 대한 호출어와 비호출어 사이의 구별 기준으로 설정할 수 있다. 그리고, 호출어 가공 모듈(225-2)은 설정된 구별 기준을 발화자에 대한 메타데이터에 추가시켜 저장할 수 있다.In addition, the call word processing module 225 - 2 may set a factor that has the greatest influence on the difference value as a criterion for distinguishing between a call word and a non-call word for the speaker. In addition, the call word processing module 225 - 2 may store the set discrimination criterion by adding it to metadata about the speaker.

다음으로, 호출어 가공 모듈(225-2)은 동일한 발화자에 의해 발화되었으며 호출어로 분류되지 않은 음성 데이터들 중에서 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별할 수 있다. 이 경우, 호출어 등록 가능한 크기는 음성 데이터 생성 장치(200) 또는 음성 인식 학습 장치(300)에 의해 사전에 설정될 수 있다.Next, the calling word processing module 225 - 2 may identify one of voice data composed of syllables having a size that can be registered as a calling word from among voice data uttered by the same speaker and not classified as a calling word. In this case, the registerable size of the call word may be preset by the voice data generating apparatus 200 or the voice recognition learning apparatus 300 .

호출어 가공 모듈(225-2)은 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 발화자의 차이 값을 적용하여, 호출어로 분류될 수 있는 새로운 음성 데이터를 생성할 수 있다.The calling word processing module 225 - 2 may generate new voice data that can be classified as a calling word by applying the speaker difference value to the voice data identified as being composed of syllables of the calling word registerable size.

호출어 가공 모듈(225-2)은 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터의 메타데이터를 기준으로, 하나의 반향 신호를 식별한 후 식별된 반향 신호를 차이 값이 적용된 새로운 음성 데이터에 합성할 수 있다.The call word processing module 225-2 identifies one echo signal based on the metadata of the voice data identified as being composed of syllables of the call word registerable size, and then converts the identified echo signal into a new voice to which the difference value is applied. data can be synthesized.

그리고, 호출어 가공 모듈(225-2)은 데이터베이스에 포함된 복수 개의 잡음 신호를 무작위로 선택한 후, 무작위로 선택된 잡음 신호 각각을 반향 신호까지 합성된 새로운 음성 데이터에 추가 합성함으로써, 호출어를 인식하기 위한 복수 개의 기준 패턴들을 구축할 수 있다.Then, the calling word processing module 225-2 randomly selects a plurality of noise signals included in the database, and then adds each randomly selected noise signal to new voice data synthesized up to an echo signal to recognize the calling word. It is possible to construct a plurality of reference patterns for

다음 구성으로, 메타데이터 처리 모듈(225-3)은 음성 데이터 가공 모듈(225-1) 및 호출어 가공 모듈(225-2)에 의해 가공된 음성 데이터에 메타데이터를 부여할 수 있다.With the following configuration, the metadata processing module 225-3 may provide metadata to the voice data processed by the voice data processing module 225-1 and the call word processing module 225-2.

구체적으로, 메타데이터 처리 모듈(225-3)은 음성 데이터 가공 모듈(225-1)에 의해 분리된 반향 신호, 잡음 신호, 인위적인 노이즈 및 인위적인 노이즈까지 제거된 음성 데이터가 서로 매칭되도록, 해당 음성 데이터에 대한 메타데이터를 생성할 수 있다.Specifically, the metadata processing module 225-3 is configured to match the voice data from which the echo signal, the noise signal, the artificial noise, and the artificial noise separated by the voice data processing module 225-1 have been removed to match each other. You can create metadata for

그리고, 메타데이터 처리 모듈(225-3)은 생성된 메타데이터를 음성 데이터와 매칭하여 데이터베이스에 저장할 수 있다.In addition, the metadata processing module 225 - 3 may match the generated metadata with the voice data and store it in the database.

한편, 메타데이터 처리 모듈(225-3)은 서버 입출력부(205)를 통해 음성 데이터 녹음 장치(100)로부터 발화자의 안면이 포함된 영상을 수신한 경우, 영상 속에 포함된 발화자 안면의 변화를 기준으로, 발화자의 감정 상태를 추정할 수 있다.On the other hand, when the metadata processing module 225-3 receives an image including the speaker's face from the voice data recording apparatus 100 through the server input/output unit 205, the change in the speaker's face included in the image is the standard. , it is possible to estimate the speaker's emotional state.

보다 구체적으로, 메타데이터 처리 모듈(225-3)은 발화자의 안면이 포함된 영상으로부터 발화자의 눈, 코 및 입의 움직임을 추적할 수 있다. 메타데이터 처리 모듈(225-3)은 추적된 발화자의 눈, 코 및 입의 움직임을 기초로 인공지능(AI)에 질의하여, 발화자의 감정 상태를 추정할 수 있다. 이 경우, 인공지능(AI)은 기존에 다수 발화자의 안면 영상을 기초로 기계 학습된 인공지능이 될 수 있다.More specifically, the metadata processing module 225-3 may track movements of the speaker's eyes, nose, and mouth from an image including the speaker's face. The metadata processing module 225 - 3 may query artificial intelligence (AI) based on the tracked movements of the eyes, nose, and mouth of the talker to estimate the speaker's emotional state. In this case, the artificial intelligence (AI) may be an artificial intelligence machine learned based on the facial images of the existing multiple speakers.

메타데이터 처리 모듈(225-3)은 음성 데이터를 STT하여 녹취록을 생성할 수 있다. 메타데이터 처리 모듈(225-3)은 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 메타데이터 처리 모듈(225-3)은 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.The metadata processing module 225 - 3 may STT the voice data to generate a transcript. The metadata processing module 225 - 3 may parse the generated transcript to identify a plurality of tokens constituting the transcript. The metadata processing module 225 - 3 may perform semantic analysis on each identified token.

메타데이터 처리 모듈(225-3)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 인공지능(AI)에 의해 추정된 감정 상태가 정확한지 검증할 수 있다.As a result of performing semantic analysis on each token, the metadata processing module 225-3 performs artificial intelligence (AI) based on the one or more tokens when one or more tokens predefined as expressing emotions exist. ), it is possible to verify whether the estimated emotional state is accurate.

또한, 메타데이터 처리 모듈(225-3)은 각각의 토큰에 대하여 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈로 식별할 수 있다. 그리고, 메타데이터 처리 모듈(225-3)은 식별된 인위적인 노이즈의 속성을 기초로, 인공지능(AI)에 의해 추정된 감정 상태가 정확한지 검증할 수도 있다.In addition, the metadata processing module 225-3 performs semantic analysis on each token. As a result, when there is a token whose word meaning is not classified as a phoneme defined in advance, the unclassified corresponding token is artificially analyzed. can be identified as noise. In addition, the metadata processing module 225 - 3 may verify whether the emotional state estimated by the artificial intelligence (AI) is accurate, based on the identified attribute of the artificial noise.

한편, 메타데이터 처리 모듈(225-3)은 추적된 발화자의 눈 움직임을 기초로, 음성 데이터가 입력되는 과정(즉, 녹음 과정)에서의 발화자의 집중도를 평가할 수 있다. 그리고, 메타데이터 처리 모듈(225-3)은 평가된 발화자의 집중도를 더 포함시켜 메타데이터를 생성할 수도 있다.Meanwhile, the metadata processing module 225 - 3 may evaluate the speaker's concentration level in a process in which voice data is input (ie, a recording process) based on the tracked eye movement of the talker. In addition, the metadata processing module 225 - 3 may generate metadata by further including the evaluated speaker's concentration level.

그리고, 메타데이터 처리 모듈(225-3)은 인공지능(AI)에 의해 추정된 감정 상태에 관한 정보를 포함시켜 음성 데이터에 대한 메타데이터를 생성할 수 있다. 이 경우, 메타데이터 처리 모듈(225-3)은 추정된 감정 상태에 대응하는 일시정지 영상을 음성 데이터 녹음 장치(100)에 의해 시계열적으로 촬영된 영상으로부터 추출하고, 추출된 일시정지 영상을 더 포함시켜 메타데이터를 생성할 수도 있다.In addition, the metadata processing module 225-3 may generate metadata for the voice data by including information on the emotional state estimated by artificial intelligence (AI). In this case, the metadata processing module 225-3 extracts the pause image corresponding to the estimated emotional state from the image taken in time series by the audio data recording apparatus 100, and further adds the extracted pause image. You can also include it to create metadata.

이하, 상술한 바와 같은 음성 데이터 생성 장치(200)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.Hereinafter, hardware for implementing the logical components of the apparatus 200 for generating voice data as described above will be described in more detail.

도 5는 본 발명의 일 실시예에 따른 음성 데이터 생성 장치의 하드웨어 구성도이다.5 is a hardware configuration diagram of an apparatus for generating voice data according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 음성 데이터 생성 장치(200)는 프로세서(Processor, 250), 메모리(Memory, 255), 송수신기(Transceiver, 260), 입출력장치(Input/output device, 265), 데이터 버스(Bus, 270) 및 스토리지(Storage, 275)를 포함하여 구성될 수 있다. As shown in FIG. 5 , the voice data generating apparatus 200 includes a processor 250 , a memory 255 , a transceiver 260 , an input/output device 265 , and a data bus. (Bus, 270) and storage (Storage, 275) may be configured to include.

프로세서(250)는 메모리(255)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)에 따른 명령어를 기초로, 음성 데이터 생성 장치(200)의 동작 및 기능을 구현할 수 있다. 메모리(255)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)가 상주(loading)될 수 있다. 송수신기(260)는 음성 데이터 녹음 장치(100) 및 음성 인식 학습 장치(300)와 데이터를 송수신할 수 있다. 입출력장치(265)는 음성 데이터 생성 장치(200)의 동작에 필요한 데이터를 입력 받고, 가공된 음성 데이터 및 메타데이터를 출력할 수 있다. 데이터 버스(270)는 프로세서(250), 메모리(255), 송수신기(260), 입출력장치(265) 및 스토리지(275)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.The processor 250 may implement the operation and function of the voice data generating apparatus 200 based on a command according to the software 280a in which the method according to the embodiments of the present invention is implemented residing in the memory 255 . . In the memory 255, the software 280a in which the method according to the embodiments of the present invention is implemented may be loaded. The transceiver 260 may transmit/receive data to and from the voice data recording apparatus 100 and the voice recognition learning apparatus 300 . The input/output device 265 may receive data necessary for the operation of the voice data generating device 200 , and may output processed voice data and metadata. The data bus 270 is connected to the processor 250 , the memory 255 , the transceiver 260 , the input/output device 265 , and the storage 275 . can play a role.

스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(275)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(280b)를 저장할 수 있다. 또한, 스토리지(275)는 본 발명의 실시예들에 따른 방법의 수행에 필요한 정보 및 음성 데이터 및 메타데이터가 저장된 데이터베이스를 포함할 수 있다. The storage 275 stores an application programming interface (API), a library file, a resource file, etc. necessary for the execution of the software 280a in which the method according to the embodiments of the present invention is implemented. can be saved The storage 275 may store the software 280b in which the method according to the embodiments of the present invention is implemented. In addition, the storage 275 may include a database in which information necessary for performing the method according to the embodiments of the present invention, voice data, and metadata are stored.

본 발명의 일 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 음성 데이터 분해 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 음성 인식의 음향 모델에 포함될 기준 패턴들을 구축하기 위해 수집된 음성 데이터의 파형을 분석하여 음성 데이터로부터 배경 음향 데이터를 분리하는 단계, 프로세서(250)가 배경 음향 데이터가 분리된 음성 데이터로부터 인위적인 노이즈를 식별하는 단계, 및 프로세서(250)가 음성 데이터로부터 상기 식별된 인위적인 노이즈만을 분리하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to an embodiment of the present invention, the software (280a, 280b) for implementing the method of decomposing speech data resident in the memory 255 or stored in the storage 275 is included in the processor 250 to be included in the acoustic model of speech recognition. Separating the background sound data from the voice data by analyzing the waveform of the collected voice data to build reference patterns, the processor 250 identifying artificial noise from the voice data from which the background sound data is separated, and the processor ( 250) may be a computer program recorded on a recording medium to execute the step of separating only the identified artificial noise from the voice data.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 음성 데이터 합성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 사전에 설정된 환경 조건을 만족하는 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하는 단계, 프로세서(250)가 식별된 국가, 언어, 지역, 성별 및 연령을 기초로, 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들을 식별하는 단계, 프로세서(250)가 복수 개의 음성 신호들을 조합하여 어절 단위의 음성 데이터를 생성하는 단계, 및 프로세서(250)가 환경 조건을 만족하는 배경 음향 데이터를 식별하고, 식별된 배경 음향 데이터를 상기 어절 단위의 음성 데이터에 합성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the voice data synthesis method resident in the memory 255 or stored in the storage 275 satisfies the environmental conditions set in advance by the processor 250 identifying the country, language, region, gender and age of the speaker, the processor 250 identifies a plurality of voice signals corresponding to a preset script based on the identified country, language, region, gender and age step, the processor 250 combining the plurality of voice signals to generate word-based voice data, and the processor 250 identifying background sound data that satisfies an environmental condition, and using the identified background sound data It may be a computer program recorded on a recording medium in order to execute the step of synthesizing the speech data in word unit.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 호출어 학습 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 사전에 구비된 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터를 식별하는 단계, 프로세서(250)가 호출어로 분류된 음성 데이터의 발화자와 동일한 발화자의 음성 데이터들 중에서 호출어로 분류된 음성 데이터와 음절이 동일하나 호출어로 분류되지 않음 음성 데이터를 식별하는 단계, 프로세서(250)가 호출어로 분류된 음성 데이터의 파형과 호출어로 분류되지 않은 음성 데이터의 파형을 서로 비교하여 호출어로 분류된 음성 데이터와 호출어로 분류되지 않은 음성 데이터 사이의 차이 값을 산출하는 단계, 및 프로세서(250)가 발화자에 관한 메타데이터에 상기 차이 값을 추가하여 상기 데이터베이스에 저장하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the calling word learning method resident in the memory 255 or stored in the storage 275 is stored in a database in which the processor 250 is provided in advance. Recognizing, by the processor 250, voice data classified as a calling word from among voice data, the processor 250 classifies as a calling word even though the voice data classified as a calling word has the same syllable as the calling word among voice data of the same speaker as the speaker of the voice data classified as the calling word The step of identifying the not-noted voice data, the processor 250 comparing the waveform of the voice data classified as the calling word with the waveform of the voice data not classified as the calling word with each other to compare the voice data classified as the calling word and the voice data not classified as the calling word The computer program may be a computer program recorded on a recording medium to execute the steps of calculating the difference value between them, and the processor 250 adding the difference value to metadata about the speaker and storing the difference value in the database.

본 발명의 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 자연발화 음성 생성 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 사전에 구비된 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별하는 단계, 프로세서(250)가 음성 데이터에 매칭된 메타데이터를 기준으로 음성 데이터를 녹음한 발화자를 식별하는 단계, 프로세서(250)가 식별된 발화자에 대응하는 인위적인 노이즈를 식별하고 음성 데이터에 상기 식별된 인위적인 노이즈를 합성하는 단계, 및 프로세서(250)가 사전에 설정된 환경 조건에 대응하는 배경 음향 데이터를 식별하고 인위적인 노이즈가 합성된 음성 데이터에 식별된 배경 음향 데이터를 합성하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the spontaneous speech generation method resident in the memory 255 or stored in the storage 275 is the processor 250 from a database provided in advance. Identifying voice data from which all noise has been removed, the processor 250 identifying the speaker who recorded the voice data based on metadata matched to the voice data, the processor 250 artificially corresponding to the identified speaker identifying noise and synthesizing the identified artificial noise into voice data, and the processor 250 identifies background sound data corresponding to a preset environmental condition, and background sound data identified in the artificial noise synthesized voice data It may be a computer program recorded on a recording medium to execute the step of synthesizing the .

본 발명의 또 다른 실시예에 따르면, 메모리(255)에 상주되거나 또는 스토리지(275)에 저장된 메타데이터 부여 방법을 구현하기 위한 소프트웨어(280a, 280b)는 프로세서(250)가 송수신기(260)를 통해 음성 데이터 녹음 장치(100)로부터 음성 데이터 및 영상을 수신하되, 상기 영상은 음성 데이터 녹음 장치(100)가 마이크를 통해 발화자의 음성 데이터를 입력 받는 과정에서 카메라를 통해 시계열적으로 촬영한 상기 발화자의 안면이 포함된 영상인 단계, 프로세서(250)가 영상 속에 포함된 상기 안면의 변화를 기준으로 상기 발화자의 감정 상태를 추정하는 단계, 및 프로세서(250)가 추정된 감정 상태에 관한 정보를 포함시켜 상기 입력된 음성 데이터에 관한 메타데이터를 생성하고 상기 음성 데이터와 매칭하여 상기 생성된 메타데이터를 저장하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.According to another embodiment of the present invention, the software (280a, 280b) for implementing the metadata grant method resident in the memory 255 or stored in the storage 275 is the processor 250 via the transceiver 260. Receive voice data and images from the voice data recording device 100, but the images are of the talker captured in time series through a camera while the voice data recording device 100 receives the talker’s voice data through a microphone The step of the image including the face, the processor 250 estimating the emotional state of the speaker based on the change of the face included in the image, and the processor 250 including information about the estimated emotional state It may be a computer program recorded on a recording medium to execute the step of generating metadata regarding the input voice data and storing the generated metadata by matching with the voice data.

보다 구체적으로, 프로세서(250)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(255)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(260)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(265)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다. More specifically, the processor 250 may include an application-specific integrated circuit (ASIC), another chipset, a logic circuit, and/or a data processing device. The memory 255 may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and/or other storage devices. The transceiver 260 may include a baseband circuit for processing wired and wireless signals. The input/output device 265 includes an input device such as a keyboard, a mouse, and/or a joystick, and a liquid crystal display (LCD), an organic light emitting diode (OLED) and/or an input device such as a joystick. Alternatively, an image output device such as an active matrix OLED (AMOLED) may include a printing device such as a printer or a plotter.

본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(255)에 상주되고, 프로세서(250)에 의해 실행될 수 있다. 메모리(255)는 프로세서(250)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(250)와 연결될 수 있다.When the embodiment included in this specification is implemented in software, the above-described method may be implemented as a module (process, function, etc.) that performs the above-described function. Modules reside in memory 255 and may be executed by processor 250 . The memory 255 may be internal or external to the processor 250 , and may be coupled to the processor 250 by various well-known means.

도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Each component shown in FIG. 5 may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of implementation by hardware, an embodiment of the present invention provides one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs ( Field Programmable Gate Arrays), a processor, a controller, a microcontroller, a microprocessor, etc. may be implemented.

또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.In addition, in the case of implementation by firmware or software, an embodiment of the present invention is implemented in the form of a module, procedure, function, etc. that performs the functions or operations described above, and is stored in a recording medium readable through various computer means. can be recorded. Here, the recording medium may include a program command, a data file, a data structure, etc. alone or in combination. The program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. For example, the recording medium includes a magnetic medium such as a hard disk, a floppy disk, and a magnetic tape, an optical recording medium such as a compact disk read only memory (CD-ROM), a digital video disk (DVD), and a floppy disk. Magneto-Optical Media, such as a disk, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler. Such hardware devices may be configured to operate as one or more software to perform the operations of the present invention, and vice versa.

이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 음성 데이터 수집 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, the features of the voice data collection system according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.

도 6 및 도 7은 본 발명의 일 실시예에 따라 음성 데이터를 분해하는 과정을 설명하기 위한 예시도이다.6 and 7 are exemplary views for explaining a process of decomposing voice data according to an embodiment of the present invention.

도 6 및 도 7에 도시된 바와 같이, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들로부터 수집된 음성 데이터(10)를 분해하여 저장할 수 있다.6 and 7 , the voice data generating apparatus 200 may decompose and store the voice data 10 collected from the plurality of voice data recording apparatuses 100 .

구체적으로, 음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100)에 의해 수집된 음성 데이터(10)의 파형을 분석하여, 음성 데이터(10)로부터 배경 음향 데이터(20)를 분리할 수 있다. 이와 같은, 배경 음향 데이터(20)에는 음향 반향 및 배경 잡음이 포함될 수 있다.Specifically, the voice data generating apparatus 200 may analyze the waveform of the voice data 10 collected by the voice data recording apparatus 100 to separate the background sound data 20 from the voice data 10 . . As such, the background sound data 20 may include acoustic echo and background noise.

우선, 음성 데이터 생성 장치(200)는 수집된 음향 데이터(10)에 주파수 영역 필터(FDAF)를 적용하여 음성 데이터(10)와 관련된 음성 데이터 녹음 장치(100)의 스피커와 마이크 사이의 전달 함수를 식별할 수 있다. First, the voice data generating apparatus 200 applies a frequency domain filter (FDAF) to the collected sound data 10 to obtain a transfer function between the speaker and the microphone of the voice data recording apparatus 100 related to the voice data 10 . can be identified.

음성 데이터 생성 장치(200)는 식별된 전달 함수를 이용하여 음성 데이터(10)로부터 반향 신호를 생성한 후, 음성 데이터(10)로부터 반향 신호를 차감하여 음성 데이터(10)에 포함된 반향 신호를 제거할 수 있다. The voice data generating apparatus 200 generates an echo signal from the voice data 10 using the identified transfer function, and then subtracts the echo signal from the voice data 10 to generate the echo signal included in the voice data 10 . can be removed

음성 데이터 생성 장치(200)는 음성 데이터(10)에 포함된 둘 이상의 음성 신호의 도착 시간 차이(TDoA)를 기초로 음성 데이터 녹음 장치(100)와 발화자(즉, 음성 데이터 녹음 장치(100)의 사용자) 사이의 방향성을 추정할 수 있다.The voice data generating apparatus 200 is a voice data recording apparatus 100 and the speaker (ie, the voice data recording apparatus 100) based on the arrival time difference (TDoA) of two or more voice signals included in the voice data 10 . direction between users) can be estimated.

음성 데이터 생성 장치(200)는 둘 이상의 음성 신호에 대하여 최소 분산 비왜곡 응답(MVDR) 필터를 적용한 이득을 사전에 설정된 상수 값으로 유지시킨 상태에서, 둘 이상의 음성 신호의 최종 출력 파워를 최소화할 수 있도록 설계된 블로킹 매트릭스(BM)를 생성할 수 있다.The voice data generating apparatus 200 may minimize the final output power of two or more voice signals while maintaining the gain of applying the minimum variance non-distortion response (MVDR) filter to two or more voice signals as a preset constant value. It is possible to create a blocking matrix (BM) designed to be

음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터(10)를 상기 블로킹 매트릭스(BM)에 통과시켜, 음성 데이터로부터 목적 방향만의 음성 성분이 제거된 잡음 신호를 생성할 수 있다.The voice data generating apparatus 200 may generate a noise signal from which a voice component in a target direction is removed from the voice data by passing the voice data 10 from which the echo signal is removed through the blocking matrix BM.

그리고, 음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터로부터 잡음 신호를 차감하여, 음성 데이터에 포함된 잡음 신호를 제거할 수 있다.Also, the voice data generating apparatus 200 may subtract the noise signal from the voice data from which the echo signal has been removed to remove the noise signal included in the voice data.

다음으로, 음성 데이터 생성 장치(200)는 배경 음향 데이터(20)가 제거된 음성 데이터(30)로부터 인위적인 노이즈(32)를 식별할 수 있다. 이 경우, 인위적인 노이즈(32)는 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새 등에 따라 발화자로부터 발화되었으나, 단어적 의미를 가지지 않는 음소가 될 수 있다. Next, the voice data generating apparatus 200 may identify the artificial noise 32 from the voice data 30 from which the background sound data 20 is removed. In this case, the artificial noise 32 may be a phoneme that is uttered by the speaker according to the speaker's utterance method, exclamation or chuimsae of the voice data, but does not have a word meaning.

우선, 음성 데이터 생성 장치(200)는 배경 음향 데이터(20)가 분리된 음성 데이터(30)를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 생성 장치(200)는 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.First, the voice data generating apparatus 200 may generate a transcript by performing STT on the voice data 30 from which the background sound data 20 is separated. The voice data generating apparatus 200 may parse the generated transcript to identify a plurality of tokens constituting the transcript. The voice data generating apparatus 200 may perform semantic analysis on each identified token.

음성 데이터 생성 장치(200)는 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈(32)로 식별할 수 있다.As a result of performing semantic analysis, the voice data generating apparatus 200 may identify the unclassified corresponding token as artificial noise 32 when there is a token whose word meaning is not classified as a phoneme defined in advance. .

또한, 음성 데이터 생성 장치(200)는 음성 데이터(10)의 발화자에 대한 메타데이터로부터 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 식별된 발화자의 국가, 언어, 지역, 성별 및 연령을 기초로, 분류되지 않은 토큰으로부터 식별된 인위적인 노이즈(32)가 올바른지 검증할 수도 있다.In addition, the voice data generating apparatus 200 identifies the country, language, region, gender and age of the speaker from the metadata of the speaker of the voice data 10 , and the country, language, region, gender and age of the identified speaker Based on , it may be verified that the artificial noise 32 identified from the unclassified token is correct.

음성 데이터 생성 장치(200)는 식별된 인위적인 노이즈(32)만을 음성 데이터(30)로부터 분리하여, 모든 노이즈가 제거된 음성 데이터(34)를 생성할 수 있다.The voice data generating apparatus 200 may separate only the identified artificial noise 32 from the voice data 30 and generate the voice data 34 from which all noises are removed.

그리고, 음성 데이터 생성 장치(200)는 분리된 반향 신호, 잡음 신호, 인위적인 노이즈(32) 및 모든 노이즈가 제거된 음성 데이터(34)가 서로 매칭되도록 메타데이터를 생성하고, 생성된 메타데이터 및 음성 데이터를 데이터베이스에 저장할 수 있다.In addition, the voice data generating apparatus 200 generates metadata such that the separated echo signal, the noise signal, the artificial noise 32, and the voice data 34 from which all noises have been removed match each other, and the generated metadata and voice Data can be stored in a database.

도 8 및 도 9는 본 발명의 일 실시예에 따라 음성 데이터를 생성하는 과정을 설명하기 위한 예시도이다.8 and 9 are exemplary views for explaining a process of generating voice data according to an embodiment of the present invention.

도 8을 참조하면, 본 발명의 일 실시예에 따른 음성 데이터 생성 장치(200)는 음성 신호들을 합성하여 새로운 음성 데이터를 생성할 수 있다.Referring to FIG. 8 , the apparatus 200 for generating voice data according to an embodiment of the present invention may generate new voice data by synthesizing voice signals.

구체적으로, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들(40)을 데이터베이스로부터 식별할 수 있다.Specifically, the voice data generating apparatus 200 may identify a plurality of voice signals 40 corresponding to a preset script in relation to voice data to be synthesized from the database.

이를 위하여, 음성 데이터 생성 장치(200)는 스크립트를 파싱하여 스크립트를 구성하고 있는 복수 개의 토큰을 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 각각의 토큰에 대응하는 것으로 식별된 복수 개의 음성 신호들(40)을 조합하여 음성 데이터(30)를 생성할 수 있다.To this end, the voice data generating apparatus 200 may parse the script to identify a plurality of tokens constituting the script. In addition, the voice data generating apparatus 200 may generate the voice data 30 by combining a plurality of voice signals 40 identified as corresponding to each token.

이 경우, 음성 데이터 생성 장치(200)는 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 스크립트에 무작위로 추가할 수도 있다.In this case, as a result of performing semantic analysis on each token, the voice data generating apparatus 200 determines that if one or more tokens predefined as expressing emotions exist, the speaker will have One possible emotional state can be estimated. In addition, the voice data generating apparatus 200 may identify one or more phonemes that correspond to the estimated emotional state and can generate artificial noise from the database, and randomly add the identified one or more phonemes to the script.

그리고, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터(20)를 식별하고, 음성 신호들(40)의 조합으로 생성된 음성 데이터(30)에 배경 음향 데이터(20)를 합성할 수 있다.Then, the voice data generating apparatus 200 identifies the background sound data 20 satisfying a preset environmental condition in relation to the voice data 10 to be synthesized, and is generated by combining the voice signals 40 . The background sound data 20 may be synthesized with the voice data 30 .

도 9를 참조하면, 본 발명의 다른 실시예에 따른 음성 데이터 생성 장치(200)는 기존에 분해 저장된 음성 데이터를 기반으로 새로운 음성 데이터를 생성할 수 있다.Referring to FIG. 9 , the apparatus 200 for generating voice data according to another embodiment of the present invention may generate new voice data based on previously decomposed and stored voice data.

구체적으로, 음성 데이터 생성 장치(200)는 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터(34)를 식별할 수 있다. 이 경우, 모든 노이즈가 제거된 음성 데이터(34)는 음성 데이터 녹음 장치(100)에 의해 녹음된 음성 데이터로부터 인위적인 노이즈(32), 반향 신호 및 잡음 신호가 제거된 음성 데이터가 될 수 있다.Specifically, the voice data generating apparatus 200 may identify the voice data 34 from which all noise is removed from the database. In this case, the voice data 34 from which all noise has been removed may be voice data from which the artificial noise 32 , the echo signal, and the noise signal have been removed from the voice data recorded by the voice data recording apparatus 100 .

음성 데이터 생성 장치(200)는 식별된 음성 데이터(34)에 매칭된 메타데이터를 기준으로 음성 데이터를 녹음한 발화자를 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 발화자에 대응하는 인위적인 노이즈(32)를 식별하고 식별된 인위적인 노이즈(32)를 음성 데이터(34)에 합성할 수 있다.The voice data generating apparatus 200 may identify the speaker who recorded the voice data based on metadata matched to the identified voice data 34 . The voice data generating apparatus 200 may identify an artificial noise 32 corresponding to the identified speaker and synthesize the identified artificial noise 32 into the voice data 34 .

이 경우, 음성 데이터 생성 장치(200)는 음성 데이터(34)를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 생성 장치(200)는 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다.In this case, the voice data generating apparatus 200 may STT the voice data 34 to generate a transcript. The voice data generating apparatus 200 may parse the generated transcript to identify a plurality of tokens constituting the transcript. The voice data generating apparatus 200 may perform semantic analysis on each identified token.

음성 데이터 생성 장치(200)는 각각의 토큰에 대하여 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 추정된 감정 상태에 대응하며 인위적인 노이즈(32)를 발생시킬 수 있는 음소를 데이터베이스로부터 하나 이상 식별하고, 식별된 하나 이상의 음소를 음성 데이터(34)에 합성할 수 있다.As a result of performing semantic analysis on each token, the voice data generating apparatus 200 performs a semantic analysis on each token. As a result, when one or more tokens predefined as expressing emotions exist, one or more tokens that the speaker can have based on the one or more tokens. can estimate the emotional state of In addition, the voice data generating apparatus 200 identifies one or more phonemes that correspond to the estimated emotional state and can generate artificial noise 32 from the database, and synthesizes the identified one or more phonemes into the voice data 34 . can

그리고, 음성 데이터 생성 장치(200)는 생성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 배경 음향 데이터(20)를 식별하고, 기존에 분해 저장된 음성 데이터(34)로부터 생성된 음성 데이터(30)에 배경 음향 데이터(20)를 합성할 수 있다.Then, the voice data generating apparatus 200 identifies the background sound data 20 satisfying a preset environmental condition in relation to the voice data 10 to be generated, and generates it from the previously decomposed and stored voice data 34 . The background sound data 20 may be synthesized with the voice data 30 .

도 10은 본 발명의 일 실시예에 따라 호출어를 학습하는 과정을 설명하기 위한 예시도이다.10 is an exemplary diagram for explaining a process of learning a calling word according to an embodiment of the present invention.

도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 음성 데이터 생성 장치(200)는 단순 대화 음성과 호출어를 구별할 수 있는 기준을 설정하고, 호출어를 학습하기 위한 다양한 형태의 음성 데이터들을 생성할 수 있다.As shown in FIG. 10 , the apparatus 200 for generating voice data according to an embodiment of the present invention sets a standard for distinguishing between a simple conversation voice and a calling word, and various types of voices for learning the calling word. data can be created.

구체적으로, 음성 데이터 생성 장치(200)는 데이터베이스에 저장된 음성 데이터들 중에서 호출어로 분류된 음성 데이터(30_w)를 식별할 수 있다. 이 경우, 호출어는 대기 상태인 인공지능(AI) 시스템을 활성화시키도록 사전에 설정된 단어가 될 수 있다.Specifically, the voice data generating apparatus 200 may identify voice data 30_w classified as a calling word from among voice data stored in the database. In this case, the call word may be a word preset to activate the artificial intelligence (AI) system in the standby state.

음성 데이터 생성 장치(200)는 호출어로 분류된 음성 데이터(30w)의 발화자와 동일한 발화자의 음성 데이터들 중에서, 호출어로 분류된 음성 데이터(30_w)와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터(30_g)를 데이터베이스로부터 식별할 수 있다.The voice data generating apparatus 200 includes voice data that has the same syllable as the voice data 30_w classified as a calling word, but is not classified as a calling word, among voice data of the same speaker as the speaker of the voice data 30w classified as a calling word. 30_g) can be identified from the database.

만약, 데이터베이스로부터 호출어로 분류된 음성 데이터(30_w)와 음절이 동일하나 호출어로 분류되지 않은 음성 데이터(30_g)를 식별할 수 없는 경우, 음성 데이터 생성 장치(200)는 둘 이상의 음소들의 조합으로 호출어의 음절과 동일한 음절을 구성할 수 있도록, 호출어의 음절과는 상이하나 호출어로 분류되지 않은 음성 데이터들을 각각 구성하고 있는 하나 이상의 음소들을 조합함으로써, 호출어로 분류된 음성 데이터(30_w)와 음절이 동일하며 호출어로 분류되지 않은 음성 데이터(30_g)를 생성할 수도 있다. If, from the database, the voice data 30_w classified as the calling word and the syllable are the same, but the voice data 30_g that is not classified as the calling word cannot be identified, the voice data generating apparatus 200 calls a combination of two or more phonemes. The voice data 30_w classified as the calling word and the syllable by combining one or more phonemes that are different from the syllable of the calling word but composing the voice data that are not classified as the calling word, respectively, to form the same syllable as the syllable of the calling word It is also possible to generate the same voice data 30_g that is not classified as a calling word.

음성 데이터 생성 장치(200)는 호출어로 분류된 음성 데이터(30_w)의 파형과 호출어로 분류되지 않은 음성 데이터(30_g)의 파형을 서로 비교하여, 호출어로 분류된 음성 데이터(30_w)와 호출어로 분류되지 않은 음성 데이터(30_g) 사이의 차이 값을 산출할 수 있다. The voice data generating apparatus 200 compares the waveform of the voice data 30_w classified as the calling word with the waveform of the voice data 30_g that is not classified as the calling word, and classifies the voice data 30_w classified as the calling word and the calling word. It is possible to calculate a difference value between the unresolved voice data 30_g.

이 경우, 호출어로 분류된 음성 데이터(30_w)와 호출어로 분류되지 않은 음성 데이터(30_g) 사이의 차이 값은 파형의 길이(T_w - T_g), 파형의 진폭(A_w - A_g), 파형의 주파수(F_w - F_g)의 차이로 구성될 수 있으나, 이에 한정되는 것은 아니다.In this case, the difference value between the voice data classified as the calling word (30_w) and the voice data not classified as the calling word (30_g) is the length of the waveform (T_w - T_g), the amplitude of the waveform (A_w - A_g), and the frequency of the waveform ( It may be composed of a difference between F_w - F_g), but is not limited thereto.

그리고, 음성 데이터 생성 장치(200)는 발화자에 관하여 기 생성된 메타데이터에 산출된 차이 값을 추가하여 데이터베이스에 저장할 수 있다.In addition, the voice data generating apparatus 200 may add the calculated difference value to the previously generated metadata about the speaker and store it in the database.

한편, 음성 데이터 생성 장치(200)는 동일한 발화자에 의해 발화되었으며 호출어로 분류되지 않은 음성 데이터들 중에서 호출어 등록 가능 크기의 음절로 구성된 음성 데이터 중 하나를 식별할 수 있다. 이 경우, 호출어 등록 가능한 크기는 음성 데이터 생성 장치(200) 또는 음성 인식 학습 장치(300)에 의해 사전에 설정될 수 있다.Meanwhile, the voice data generating apparatus 200 may identify one of voice data composed of syllables having a size that can be registered as a calling word from among voice data uttered by the same speaker and not classified as a calling word. In this case, the registerable size of the call word may be preset by the voice data generating apparatus 200 or the voice recognition learning apparatus 300 .

음성 데이터 생성 장치(200)는 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터에 발화자의 차이 값을 적용하여, 호출어로 분류될 수 있는 새로운 음성 데이터를 생성할 수 있다.The voice data generating apparatus 200 may generate new voice data that can be classified as a calling word by applying a speaker difference value to voice data identified as being composed of syllables having a size that can be registered as a calling word.

음성 데이터 생성 장치(200)는 호출어 등록 가능 크기의 음절로 구성된 것으로 식별된 음성 데이터의 메타데이터를 기준으로, 하나의 반향 신호를 식별한 후 식별된 반향 신호를 차이 값이 적용된 새로운 음성 데이터에 합성할 수 있다.The voice data generating apparatus 200 identifies one echo signal on the basis of the metadata of the voice data identified as being composed of syllables with a size that can be registered as a call word, and then applies the identified echo signal to the new voice data to which the difference value is applied. can be synthesized.

그리고, 음성 데이터 생성 장치(200)는 데이터베이스에 포함된 복수 개의 잡음 신호를 무작위로 선택한 후, 무작위로 선택된 잡음 신호 각각을 반향 신호까지 합성된 새로운 음성 데이터에 추가 합성함으로써, 호출어를 인식하기 위한 복수 개의 기준 패턴들을 구축할 수 있다.In addition, the voice data generating apparatus 200 randomly selects a plurality of noise signals included in the database, and then adds each randomly selected noise signal to new voice data synthesized up to an echo signal to recognize a call word. A plurality of reference patterns may be constructed.

도 11은 본 발명의 일 실시예에 따라 음성 데이터를 녹음하는 과정을 설명하기 위한 예시도이다.11 is an exemplary diagram for explaining a process of recording voice data according to an embodiment of the present invention.

도 11에 도시된 바와 같이, 음성 데이터 녹음 장치(100)는 음성 데이터 생성 장치(200)에 의해 지시되는 환경 조건을 만족하는 곳에 음성 데이터 녹음 장치(100)가 위치하는 경우에만 음성 데이터의 녹음을 수행할 수 있도록 통제될 수 있다.As shown in FIG. 11 , the voice data recording apparatus 100 records voice data only when the voice data recording apparatus 100 is located in a place that satisfies the environmental conditions indicated by the voice data generating apparatus 200 . can be controlled to perform.

구체적으로, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)가 활성화되기 이전에, 마이크를 통해 배경 음향 데이터를 입력 받을 수 있다. 음성 데이터 녹음 장치(100)는 GPS를 통해 음성 데이터 녹음 장치(100)가 위치하고 있는 위치 정보를 수집할 수 있다.Specifically, the voice data recording apparatus 100 may receive background sound data through a microphone before the user interface 150 capable of controlling the start and end of recording is activated. The voice data recording apparatus 100 may collect location information where the voice data recording apparatus 100 is located through GPS.

음성 데이터 녹음 장치(100)는 입력된 배경 음향 데이터 및 위치 정보를 기초로 녹음 환경에 관한 정보를 식별할 수 있다. 이 경우, 녹음 환경에 관한 정보는 음성 데이터 녹음 장치(100)가 음성 데이터의 녹음을 수행할 수 있는 환경에 관한 정보이다. The voice data recording apparatus 100 may identify information about the recording environment based on the input background sound data and location information. In this case, the information about the recording environment is information about the environment in which the voice data recording apparatus 100 can record voice data.

음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 음성 데이터 생성 장치(200)에 의해 사전에 설정된 환경 조건(50)을 만족하는지 여부를 판단할 수 있다. 이 경우, 환경 조건(50)은 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 만족해야 하는 조건들이다.The voice data recording apparatus 100 may determine whether the information about the recording environment satisfies the environmental condition 50 preset by the voice data generating apparatus 200 . In this case, the environmental conditions 50 are conditions that the voice data recording apparatus 100 must satisfy in a situation of recording voice data.

음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 환경 조건을 만족하는 경우, 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 활성화시킬 수 있다.When the information about the recording environment satisfies the environmental condition, the voice data recording apparatus 100 may activate the user interface 150 capable of controlling the start and end of the recording.

음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 통해 사용자로부터 녹음 시작을 지시하는 명령이 입력되면, 마이크를 통해 음성 데이터를 입력 받을 수 있다.The voice data recording apparatus 100 may receive voice data through a microphone when a command for instructing the start of recording is input from the user through the user interface 150 capable of controlling the start and end of the recording.

한편, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화된 이후, 사전에 설정된 주기마다 음성 데이터 녹음 장치(100)의 위치를 재수집할 수 있다. 음성 데이터 녹음 장치(100)는 재수집된 위치 정보, 음성 데이터의 크기 및 주파수가 환경 조건을 만족하지 않는 경우, 기 활성화된 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 비활성화시키거나, 또는 입력 중인 음성 데이터의 입력을 중단할 수 있다.On the other hand, the voice data recording apparatus 100 may re-collect the location of the voice data recording apparatus 100 every preset period after a user interface (UI) capable of controlling the start and end of recording is activated. . The voice data recording apparatus 100 deactivates the user interface 150 capable of controlling the start and end of the previously activated recording when the re-collected location information, the size and frequency of the voice data do not satisfy the environmental conditions. Alternatively, the input of the voice data being input may be stopped.

음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면, 마이크를 통한 음성 데이터의 입력을 종료할 수 있다. The voice data recording apparatus 100 may end the input of voice data through the microphone when a command for instructing the end of the recording is input from the user through the user interface 150 capable of controlling the start and end of the recording.

음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보를 이용하여, 음성 데이터를 위한 메타데이터를 생성할 수 있다. 그리고, 음성 데이터 녹음 장치(100)는 생성된 메타데이터를 음성 데이터와 서로 매칭하여 데이터베이스에 저장한 후, 음성 데이터 생성 장치(200)에 전송할 수 있다. The voice data recording apparatus 100 may generate metadata for voice data by using information about the recording environment. In addition, the voice data recording apparatus 100 may match the generated metadata with the voice data, store it in a database, and then transmit it to the voice data generating apparatus 200 .

도 12는 본 발명의 일 실시예에 따라 발화자의 얼굴을 이용하여 메타데이터를 생성하는 과정을 설명하기 위한 예시도이다.12 is an exemplary diagram for explaining a process of generating metadata using a speaker's face according to an embodiment of the present invention.

도 11에 도시된 바와 같이, 음성 데이터 생성 장치(200)는 발화자의 감정 상태를 인식할 수 있는 메타데이터를 생성할 수도 있다.11 , the voice data generating apparatus 200 may generate metadata for recognizing the emotional state of the speaker.

구체적으로, 음성 데이터 녹음 장치(100)는 마이크를 통해 사용자의 음성 데이터를 입력 받는 과정(즉, 녹음 시작을 지시하는 명령이 입력된 이후에서 녹음 종료를 지시하는 명령이 입력되기까지)에서, 사전에 설정된 주기마다 카메라를 통해 사용자의 안면(60)이 포함된 영상을 시계열적으로 촬영할 수 있다.Specifically, the voice data recording apparatus 100 receives the user's voice data through the microphone (that is, after a command instructing to start recording is input until a command instructing end of recording is input), in advance An image including the user's face 60 may be captured in time series through the camera at every cycle set in .

음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100)로부터 발화자의 안면(60)이 포함된 영상이 수신된 경우, 영상 속에 포함된 발화자 안면(60)의 변화를 기준으로 발화자의 감정 상태를 추정할 수 있다.When an image including the speaker's face 60 is received from the voice data recording apparatus 100, the voice data generating apparatus 200 determines the speaker's emotional state based on the change in the speaker's face 60 included in the image. can be estimated

이를 위하여, 음성 데이터 생성 장치(200)는 발화자의 안면(60)이 포함된 영상으로부터 발화자의 눈, 코 및 입의 움직임을 추적할 수 있다. 음성 데이터 생성 장치(200)는 추적된 발화자의 눈, 코 및 입의 움직임을 기초로 인공지능(AI)에 질의하여, 발화자의 감정 상태를 추정할 수 있다. 이 경우, 인공지능(AI)은 기존에 다수 발화자의 안면 영상을 기초로 기계 학습된 인공지능이 될 수 있다.To this end, the voice data generating apparatus 200 may track movements of the talker's eyes, nose, and mouth from the image including the talker's face 60 . The voice data generating apparatus 200 may query an artificial intelligence (AI) based on the tracked movements of the eyes, nose, and mouth of the talker to estimate the speaker's emotional state. In this case, the artificial intelligence (AI) may be an artificial intelligence machine learned based on the facial images of the existing multiple speakers.

그리고, 음성 데이터 생성 장치(200)는 인공지능(AI)에 의해 추정된 감정 상태에 관한 정보를 포함시켜 음성 데이터(34)에 대한 메타데이터를 생성할 수 있다.In addition, the voice data generating apparatus 200 may generate metadata for the voice data 34 by including information about the emotional state estimated by artificial intelligence (AI).

한편, 음성 데이터 생성 장치(200)는 추적된 발화자의 눈 움직임을 기초로, 음성 데이터가 입력되는 과정(즉, 녹음 과정)에서의 발화자의 집중도를 평가할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 평가된 발화자의 집중도를 더 포함시켜 메타데이터를 생성할 수도 있다.Meanwhile, the voice data generating apparatus 200 may evaluate the speaker's concentration level in a process in which voice data is input (ie, a recording process) based on the tracked eye movement of the talker. Also, the voice data generating apparatus 200 may generate metadata by further including the evaluated speaker's concentration level.

이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 음성 데이터 수집 시스템의 구성요소들의 동작에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.Hereinafter, the operation of the components of the voice data collection system according to various embodiments of the present invention as described above will be described in detail with reference to the drawings.

도 13은 본 발명의 일 실시예에 따른 음성 데이터 녹음 방법을 설명하기 위한 순서도이다.13 is a flowchart illustrating a voice data recording method according to an embodiment of the present invention.

도 13을 참조하면, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(150)가 활성화되기 이전에, 마이크를 통해 배경 음향 데이터를 입력 받을 수 있다(S110). 또한, 음성 데이터 녹음 장치(100)는 GPS를 통해 음성 데이터 녹음 장치(100)가 위치하고 있는 위치 정보를 수집할 수 있다.Referring to FIG. 13 , the voice data recording apparatus 100 may receive background sound data through a microphone before the user interface 150 capable of controlling the start and end of recording is activated ( S110 ). Also, the voice data recording apparatus 100 may collect location information where the voice data recording apparatus 100 is located through GPS.

음성 데이터 녹음 장치(100)는 입력된 배경 음향 데이터 및 위치 정보를 기초로 녹음 환경에 관한 정보를 식별할 수 있다(S120). 이 경우, 녹음 환경에 관한 정보는 음성 데이터 녹음 장치(100)가 음성 데이터의 녹음을 수행할 수 있는 환경에 관한 정보이다. The voice data recording apparatus 100 may identify information about the recording environment based on the input background sound data and location information ( S120 ). In this case, the information about the recording environment is information about the environment in which the voice data recording apparatus 100 can record voice data.

음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 음성 데이터 생성 장치(200)에 의해 사전에 설정된 환경 조건을 만족하는지 여부를 판단할 수 있다(S130). 이 경우, 환경 조건은 음성 데이터를 녹음하는 상황에서 음성 데이터 녹음 장치(100)가 만족해야 하는 조건들이다.The voice data recording apparatus 100 may determine whether the information on the recording environment satisfies the environmental condition preset by the voice data generating apparatus 200 ( S130 ). In this case, the environmental conditions are conditions that the voice data recording apparatus 100 must satisfy in a situation where voice data is recorded.

판단 결과, 녹음 환경에 관한 정보가 환경 조건을 만족하지 않는 경우, 음성 데이터 녹음 장치(100)는 녹음 환경에 관한 정보가 환경 조건을 만족할 때가지, 배경 음향 데이터를 입력 받고(S110), 녹음 환경에 관한 정보를 식별(S120)하는 단계를 반복적으로 수행할 수 있다.As a result of the determination, when the information on the recording environment does not satisfy the environmental condition, the voice data recording apparatus 100 receives the background sound data until the information on the recording environment satisfies the environmental condition ( S110 ), and the recording environment The step of identifying information about ( S120 ) may be repeatedly performed.

판단 결과, 녹음 환경에 관한 정보가 환경 조건을 만족하는 경우, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 활성화시킬 수 있다(S140).As a result of the determination, when the information on the recording environment satisfies the environmental condition, the voice data recording apparatus 100 may activate a user interface for controlling the start and end of the recording ( S140 ).

음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 통해 사용자로부터 녹음 시작을 지시하는 명령이 입력되면, 마이크를 통해 음성 데이터를 입력 받을 수 있다(S150).The voice data recording apparatus 100 may receive voice data through a microphone when a command for instructing a recording start is input from a user through a user interface capable of controlling the start and end of the recording (S150).

한편, 음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스(UI)가 활성화된 이후, 사전에 설정된 주기마다 음성 데이터 녹음 장치(100)의 위치를 재수집할 수도 있다. 그리고, 음성 데이터 녹음 장치(100)는 재수집된 위치 정보, 음성 데이터의 크기 및 주파수가 환경 조건을 만족하지 않는 경우, 기 활성화된 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 비활성화시키거나, 또는 입력 중인 음성 데이터의 입력을 중단할 수도 있다.On the other hand, the voice data recording apparatus 100 may re-collect the location of the voice data recording apparatus 100 every preset period after a user interface (UI) capable of controlling the start and end of recording is activated. . In addition, the voice data recording apparatus 100 deactivates a user interface capable of controlling the start and end of the previously activated recording when the size and frequency of the re-collected location information, voice data, and frequency do not satisfy environmental conditions, or , or the input of the voice data being input may be stopped.

음성 데이터 녹음 장치(100)는 녹음의 시작과 종료를 제어할 수 있는 사용자 인터페이스를 통해 사용자로부터 녹음 종료를 지시하는 명령이 입력되면 마이크를 통한 음성 데이터의 입력을 종료한 후, 녹음 환경에 관한 정보를 이용하여 음성 데이터를 위한 메타데이터를 생성할 수 있다(S160).The voice data recording apparatus 100 terminates the input of voice data through a microphone when a command for instructing the end of recording is input from the user through a user interface capable of controlling the start and end of recording, and then information on the recording environment can be used to generate metadata for voice data (S160).

그리고, 음성 데이터 녹음 장치(100)는 생성된 메타데이터를 음성 데이터와 서로 매칭하여 데이터베이스에 저장한 후, 음성 데이터 생성 장치(200)에 전송할 수 있다(S170). Then, the voice data recording apparatus 100 may match the generated metadata with the voice data, store it in a database, and then transmit it to the voice data generating apparatus 200 ( S170 ).

도 14는 본 발명의 일 실시예에 따른 음성 데이터 생성 방법을 설명하기 위한 순서도이다.14 is a flowchart illustrating a method for generating voice data according to an embodiment of the present invention.

도 14를 참조하면, 음성 데이터 생성 장치(200)는 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다(S210). Referring to FIG. 14 , the voice data generating apparatus 200 may design a data structure of voice data and metadata that may be a reference pattern of an acoustic model ( S210 ).

구체적으로, 음성 데이터 생성 장치(200)는 관리자로부터 입력된 제어 신호, 또는 음성 인식 학습 장치(300)로부터 수신된 요구 사항을 기초로, 음향 모델의 기준 패턴이 될 수 있는 음성 데이터 및 메타데이터의 데이터 구조를 설계할 수 있다.Specifically, the voice data generating apparatus 200 is a control signal input from the manager, or based on the requirements received from the voice recognition learning apparatus 300, voice data and metadata that can be a reference pattern of the acoustic model. You can design data structures.

음성 데이터 생성 장치(200)는 설계된 데이터 구조를 기초로, 음성 데이터 및 메타데이터를 수집 및 정제할 수 있다(S220, 230). The voice data generating apparatus 200 may collect and refine voice data and metadata based on the designed data structure (S220 and 230).

구체적으로, 음성 데이터 생성 장치(200)는 다수의 음성 데이터 녹음 장치(100)들로부터 음성 데이터 및 메타데이터를 수신할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 수집된 음성 데이터들 중에서 중복되거나 또는 극히 유사한 음성 데이터를 제거하고, 수집된 음성 데이터들에 포함된 개인정보를 비식별화할 수 있다.Specifically, the voice data generating apparatus 200 may receive voice data and metadata from a plurality of voice data recording apparatuses 100 . In addition, the voice data generating apparatus 200 may remove duplicate or extremely similar voice data from among the collected voice data and de-identify personal information included in the collected voice data.

음성 데이터 생성 장치(200)는 수집 및 정제된 음성 데이터 및 메타데이터를 기초로, 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터 및 메타데이터로 가공할 수 있다(S240). 음성 데이터의 가공 단계에 대한 구체적인 설명은 도 15 및 도 16을 참고하여 후술하기로 한다.The voice data generating apparatus 200 may process the collected and refined voice data and metadata into voice data and metadata that can be used to construct reference patterns of an acoustic model ( S240 ). A detailed description of the processing step of voice data will be described later with reference to FIGS. 15 and 16 .

음성 데이터 생성 장치(200)는 가공된 음성 데이터 및 메타데이터를 음성 인식 학습 장치(300)에 제공할 수 있다(S250). 이 경우, 음성 데이터 및 메타데이터는 음향 모델의 기준 패턴들을 구축하는데 활용될 수 있는 음성 데이터가 될 수 있다. The voice data generating apparatus 200 may provide the processed voice data and metadata to the voice recognition learning apparatus 300 ( S250 ). In this case, the voice data and metadata may be voice data that can be utilized to construct reference patterns of the acoustic model.

도 15는 본 발명의 일 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.15 is a flowchart for explaining a voice data processing step according to an embodiment of the present invention.

도 15를 참조하면, 음성 데이터 생성 장치(200)는 음성 데이터 녹음 장치(100)에 의해 수집된 음성 데이터의 파형을 분석하여, 음성 데이터로부터 반향 신호를 식별하여 분리할 수 있다(S241). Referring to FIG. 15 , the voice data generating apparatus 200 may analyze the waveform of the voice data collected by the voice data recording apparatus 100 to identify and separate an echo signal from the voice data ( S241 ).

구체적으로, 음성 데이터 생성 장치(200)는 수집된 음향 데이터에 주파수 영역 필터(FDAF)를 적용하여 음성 데이터와 관련된 음성 데이터 녹음 장치(100)의 스피커와 마이크 사이의 전달 함수를 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 식별된 전달 함수를 이용하여 음성 데이터로부터 반향 신호를 생성한 후, 음성 데이터(10)로부터 반향 신호를 차감하여 음성 데이터(10)에 포함된 반향 신호를 제거할 수 있다. Specifically, the voice data generating apparatus 200 may identify a transfer function between the speaker and the microphone of the voice data recording apparatus 100 related to the voice data by applying a frequency domain filter (FDAF) to the collected sound data. Then, the voice data generating apparatus 200 generates an echo signal from the voice data using the identified transfer function, and then subtracts the echo signal from the voice data 10 to remove the echo signal included in the voice data 10 . can do.

음성 데이터 생성 장치(200)는 반향 신호가 분리 제거된 음성 데이터로부터 잡음 신호를 식별하여 분리할 수 있다(S242). The voice data generating apparatus 200 may identify and separate the noise signal from the voice data from which the echo signal is separated and removed ( S242 ).

구체적으로, 음성 데이터 생성 장치(200)는 음성 데이터(10)에 포함된 둘 이상의 음성 신호의 도착 시간 차이(TDoA)를 기초로 음성 데이터 녹음 장치(100)와 발화자(즉, 음성 데이터 녹음 장치(100)의 사용자) 사이의 방향성을 추정할 수 있다. 음성 데이터 생성 장치(200)는 둘 이상의 음성 신호에 대하여 최소 분산 비왜곡 응답(MVDR) 필터를 적용한 이득을 사전에 설정된 상수 값으로 유지시킨 상태에서, 둘 이상의 음성 신호의 최종 출력 파워를 최소화할 수 있도록 설계된 블로킹 매트릭스(BM)를 생성할 수 있다. 음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터를 상기 블로킹 매트릭스(BM)에 통과시켜, 음성 데이터로부터 목적 방향만의 음성 성분이 제거된 잡음 신호를 생성할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 반향 신호가 제거된 음성 데이터로부터 잡음 신호를 차감하여, 음성 데이터에 포함된 잡음 신호를 제거할 수 있다.Specifically, the voice data generating apparatus 200 includes the voice data recording apparatus 100 and the talker (ie, the voice data recording apparatus ( 100) of users) can be estimated. The voice data generating apparatus 200 may minimize the final output power of two or more voice signals while maintaining the gain of applying a minimum variance non-distortion response (MVDR) filter to two or more voice signals as a preset constant value. It is possible to create a blocking matrix (BM) designed to be The voice data generating apparatus 200 may generate a noise signal from which a voice component in a target direction is removed from the voice data by passing the voice data from which the echo signal is removed through the blocking matrix BM. In addition, the voice data generating apparatus 200 may subtract the noise signal from the voice data from which the echo signal is removed to remove the noise signal included in the voice data.

음성 데이터 생성 장치(200)는 잡음 신호가 분리 제거된 음성 데이터로부터 인위적인 노이즈를 식별하여 분리할 수 있다(S243).The voice data generating apparatus 200 may identify and separate artificial noise from the voice data from which the noise signal is separated and removed ( S243 ).

구체적으로, 음성 데이터 생성 장치(200)는 배경 음향 데이터가 분리된 음성 데이터를 STT하여 녹취록을 생성할 수 있다. 음성 데이터 생성 장치(200)는 생성된 녹취록을 파싱하여 녹취록을 구성하고 있는 복수 개의 토큰들을 식별할 수 있다. 음성 데이터 생성 장치(200)는 식별된 각각의 토큰에 대하여 의미 분석을 수행할 수 있다. 음성 데이터 생성 장치(200)는 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 분류되지 않은 해당 토큰을 인위적인 노이즈로 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 식별된 인위적인 노이즈만을 음성 데이터로부터 분리하여, 모든 노이즈가 제거된 음성 데이터를 생성할 수 있다.Specifically, the voice data generating apparatus 200 may generate a transcript by performing STT on voice data from which background sound data is separated. The voice data generating apparatus 200 may parse the generated transcript to identify a plurality of tokens constituting the transcript. The voice data generating apparatus 200 may perform semantic analysis on each identified token. As a result of performing semantic analysis, the voice data generating apparatus 200 may identify the unclassified corresponding token as artificial noise when there is a token whose word meaning is not classified as a phoneme defined in advance. In addition, the voice data generating apparatus 200 may generate voice data from which all noises are removed by separating only the identified artificial noise from the voice data.

음성 데이터 생성 장치(200)는 분리된 반향 신호, 잡음 신호, 인위적인 노이즈(32) 및 모든 노이즈가 제거된 음성 데이터(34)가 서로 매칭되도록 메타데이터를 생성할 수 있다(S244).The voice data generating apparatus 200 may generate metadata such that the separated echo signal, the noise signal, the artificial noise 32, and the voice data 34 from which all noises have been removed match each other ( S244 ).

그리고, 음성 데이터 생성 장치(200)는 생성된 메타데이터 및 음성 데이터를 서로 매칭하여 데이터베이스에 저장할 수 있다(S245).Then, the voice data generating apparatus 200 may match the generated metadata and the voice data with each other and store them in the database (S245).

도 16은 본 발명의 다른 실시예에 따른 음성 데이터 가공 단계를 설명하기 위한 순서도이다.16 is a flowchart for explaining a voice data processing step according to another embodiment of the present invention.

도 16을 참조하면, 음성 데이터 생성 장치(200)는 음성 신호들을 합성하여 새로운 음성 데이터를 생성하거나, 또는 기존에 분해 저장된 음성 데이터를 기반으로 새로운 음성 데이터를 생성할 수 있다(S246).Referring to FIG. 16 , the voice data generating apparatus 200 may generate new voice data by synthesizing voice signals or may generate new voice data based on previously decomposed and stored voice data ( S246 ).

구체적으로, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트에 대응하는 복수 개의 음성 신호들을 데이터베이스로부터 식별할 수 있다. 그리고, 음성 데이터 생성 장치(200)는 식별된 복수 개의 음성 신호들을 조합하여 음성 데이터(30)를 생성할 수 있다.Specifically, the voice data generating apparatus 200 may identify a plurality of voice signals corresponding to a preset script in relation to voice data to be synthesized from the database. In addition, the voice data generating apparatus 200 may generate the voice data 30 by combining the plurality of identified voice signals.

이와 다르게, 음성 데이터 생성 장치(200)는 데이터베이스로부터 모든 노이즈가 제거된 음성 데이터를 식별할 수도 있다.Alternatively, the voice data generating apparatus 200 may identify voice data from which all noise is removed from the database.

음성 데이터 생성 장치(200)는 인위적인 노이즈를 음성 데이터에 합성할 수 있다(S247).The voice data generating apparatus 200 may synthesize artificial noise into the voice data (S247).

구체적으로, 음성 데이터 생성 장치(200)는 합성하고자 하는 음성 데이터와 관련하여 사전에 설정된 스크립트를 파싱하여 스크립트를 구성하고 있는 복수 개의 토큰을 식별하고, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우 해당 하나 이상의 토큰을 기초로 발화자가 가질 수 있는 하나의 감정 상태를 추정하고, 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 무작위로 추가할 수도 있다.Specifically, the voice data generating apparatus 200 identifies a plurality of tokens constituting the script by parsing a script preset in relation to voice data to be synthesized, and one token predefined as expressing emotion If there is an abnormality, one emotional state that the speaker may have is estimated based on the one or more tokens, and phonemes that correspond to the estimated emotional state and generate artificial noise may be randomly added.

이와 다르게, 음성 데이터 생성 장치(200)는 식별된 음성 데이터에 매칭된 메타데이터를 기준으로 음성 데이터를 녹음한 발화자를 식별하고, 식별된 발화자에 대응하는 인위적인 노이즈를 음성 데이터에 합성할 수도 있다.Alternatively, the voice data generating apparatus 200 may identify a speaker who recorded voice data based on metadata matched to the identified voice data, and may synthesize artificial noise corresponding to the identified speaker into the voice data.

음성 데이터 생성 장치(200)는 합성 또는 생성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 잡음 신호를 식별하고, 인위적인 노이즈가 합성된 음성 데이터에 식별된 잡음 신호를 추가적으로 합성할 수 있다(S248).The voice data generating apparatus 200 identifies a noise signal that satisfies a preset environmental condition with respect to the voice data 10 to be synthesized or generated, and additionally synthesizes the identified noise signal in the voice data synthesized with artificial noise. It can be done (S248).

그리고, 음성 데이터 생성 장치(200)는 합성 또는 생성하고자 하는 음성 데이터(10)와 관련하여 사전에 설정된 환경 조건을 만족하는 반향 신호를 식별하고, 잡음 신호가 합성된 음성 데이터에 식별된 반향 신호를 추가적으로 합성할 수 있다(S249).In addition, the voice data generating apparatus 200 identifies an echo signal that satisfies a preset environmental condition with respect to the voice data 10 to be synthesized or generated, and generates the echo signal identified in the voice data synthesized with the noise signal. It can be additionally synthesized (S249).

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.As described above, although preferred embodiments of the present invention have been disclosed in the present specification and drawings, it is in the technical field to which the present invention pertains that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein. It is obvious to those with ordinary knowledge. In addition, although specific terms have been used in the present specification and drawings, these are only used in a general sense to easily explain the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention. Accordingly, the above detailed description should not be construed as restrictive in all respects but as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

음성 데이터 녹음 장치: 100 음성 데이터 생성 장치: 200
음성 인식 학습 장치: 300
단말기 통신부: 105 단말기 입출력부: 110
녹음 환경 식별부: 115 음성 녹음 제어부: 120
메타데이터 부여부: 125 수집 데이터 제공부: 130
서버 통신부: 205 서버 입출력부: 210
데이터 구조 설계부: 215 데이터 수집 및 정제부: 220
데이터 가공부: 225 음성 데이터 제공부: 230
음성 데이터 가공 모듈: 225-1 호출어 가공 모듈: 225-2
메타데이터 처리 모듈: 225-3
Voice data recording device: 100 Voice data generating device: 200
Speech recognition learning device: 300
Terminal communication unit: 105 Terminal input/output unit: 110
Recording environment identification unit: 115 Voice recording control unit: 120
Metadata granting unit: 125 Collecting data providing unit: 130
Server communication unit: 205 Server input/output unit: 210
Data structure design department: 215 Data collection and refinement department: 220
Data processing unit: 225 Voice data providing unit: 230
Voice data processing module: 225-1 Call word processing module: 225-2
Metadata processing module: 225-3

Claims (10)

음성 데이터 녹음 장치가, 마이크를 통해 발화자의 음성 데이터를 입력 받는 과정에서, 카메라를 통해 상기 발화자의 안면이 포함된 영상을 시계열적으로 촬영하는 단계;
음성 데이터 생성 장치가, 상기 영상 속에 포함된 상기 안면의 변화를 기준으로, 상기 발화자의 감정 상태를 추정하는 단계;
상기 음성 데이터 생성 장치가, 상기 추정된 감정 상태에 관한 정보를 포함시켜 상기 입력된 음성 데이터에 관한 메타데이터(metadata)를 생성하고, 상기 음성 데이터와 매칭하여 상기 생성된 메타데이터를 데이터베이스(database)에 저장하는 단계;
상기 음성 데이터 생성 장치가, 상기 데이터베이스로부터 모든 노이즈(noise)가 제거된 음성 데이터를 식별하는 단계;
상기 음성 데이터 생성 장치가, 상기 음성 데이터에 매칭된 메타데이터(metadata)를 기준으로, 상기 음성 데이터를 녹음한 발화자를 식별하는 단계;
상기 음성 데이터 생성 장치가, 상기 식별된 발화자에 대응하는 인위적인 노이즈(man-made noise)를 식별하고, 상기 음성 데이터에 상기 식별된 인위적인 노이즈를 합성하는 단계; 및
상기 음성 데이터 생성 장치가, 사전에 설정된 환경 조건에 대응하는 배경 음향 데이터를 식별하고, 상기 인위적인 노이즈가 합성된 음성 데이터에 상기 식별된 배경 음향 데이터를 합성하는 단계를 포함하고,
상기 감정 상태를 추정하는 단계는
상기 발화자의 안면이 포함된 영상으로부터 상기 발화자의 눈, 코 및 입의 움직임을 추적하고, 기존에 다수 발화자의 안면 영상을 기초로 기계 학습된(machine learning)된 인공지능(Artificial Intelligence, AI)에 상기 눈, 코 및 입의 움직임을 기초로 질의하여, 상기 발화자의 감정 상태를 추정하는 것을 특징으로 하며,
상기 감정 상태를 추정하는 단계는
상기 음성 데이터를 STT(Speech To Text)하여 녹취록(transcript)을 생성하고, 상기 녹취록을 파싱(parsing)하여 상기 녹취록을 구성하고 있는 복수 개의 토큰(token)들을 식별하고, 상기 식별된 각각의 토큰에 대한 의미 분석(semantic analysis)을 수행하는 것을 특징으로 하고,
상기 감정 상태를 추정하는 단계는
상기 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 상기 분류되지 않은 토큰을 인위적인 노이즈로 식별하며,
상기 배경 음향 데이터를 합성하는 단계 및 상기 감정 상태를 추정하는 단계의 상기 각 인위적인 노이즈는
상기 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새에 따라 발화되었으나, 단어적 의미를 가지지 않는 음소(phoneme)인 것을 특징으로 하는, 자연발화 음성 생성 방법.
In a process in which the voice data recording apparatus receives voice data of a speaker through a microphone, time-series recording of an image including the speaker's face through a camera;
estimating, by the voice data generating apparatus, the emotional state of the speaker based on the change in the face included in the image;
The apparatus for generating voice data includes information on the estimated emotional state to generate metadata about the input voice data, and matches the voice data with the generated metadata to a database. saving to;
identifying, by the voice data generating device, voice data from which all noise has been removed from the database;
identifying, by the voice data generating device, a speaker who recorded the voice data based on metadata matched to the voice data;
identifying, by the voice data generating device, a man-made noise corresponding to the identified speaker, and synthesizing the identified artificial noise into the voice data; and
identifying, by the voice data generating apparatus, background sound data corresponding to a preset environmental condition, and synthesizing the identified background sound data with the artificial noise synthesized voice data;
The step of estimating the emotional state
From the image containing the face of the talker, the movements of the eyes, nose, and mouth of the talker are tracked, and machine-learning based on the facial images of the multiple talkers is applied to artificial intelligence (AI). It is characterized in that the emotional state of the speaker is estimated by querying based on the movements of the eyes, nose and mouth,
The step of estimating the emotional state
The voice data is STT (Speech To Text) to generate a transcript, and the transcript is parsed to identify a plurality of tokens constituting the transcript, and to each of the identified tokens It is characterized in that semantic analysis is performed on
The step of estimating the emotional state
As a result of performing the semantic analysis, if there is a token whose word meaning is not classified as a phoneme defined in advance, the unclassified token is identified as artificial noise,
Each of the artificial noises in the step of synthesizing the background sound data and the step of estimating the emotional state is
The spontaneous speech generating method, characterized in that the phoneme is uttered according to the speaker's utterance method, interjection, or chuimsae of the voice data, but does not have a word meaning.
제1 항에 있어서, 상기 배경 음향 데이터를 합성하는 단계는
사전에 구비된 데이터베이스(database)로부터 상기 환경 조건을 만족하는 잡음 신호(noise signal) 및 반향 신호(echo signal)를 식별한 뒤, 상기 인위적인 노이즈가 합성된 음성 데이터에 상기 잡음 신호 및 반향 신호를 순서대로 합성하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 1, wherein synthesizing the background sound data comprises:
After identifying a noise signal and an echo signal that satisfy the environmental condition from a database provided in advance, the noise signal and the echo signal are sequentially arranged in the voice data synthesized with the artificial noise. A method for generating spontaneous speech, characterized in that it is synthesized as
제2 항에 있어서, 상기 배경 음향 데이터를 합성하는 단계는
상기 데이터베이스로부터 상기 환경 조건을 만족하는 비가청 신호(inaudible signal)을 식별한 뒤, 상기 잡음 신호 및 반향 신호가 합성된 음성 데이터에 상기 비가청 신호를 합성하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 2, wherein the synthesizing the background sound data comprises:
After identifying an inaudible signal that satisfies the environmental condition from the database, the inaudible signal is synthesized with voice data in which the noise signal and the echo signal are synthesized. .
제3 항에 있어서, 상기 배경 음향 데이터를 합성하는 단계는
상기 음성 데이터의 재생 과정에서 상기 발화자의 방향성이 변화되도록, 상기 비가청 신호가 합성된 음성 데이터에 포함된 음성 신호의 채널별 음량을 조정하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 3, wherein the synthesizing the background sound data comprises:
The method of claim 1, wherein the volume of each channel of the voice signal included in the voice data synthesized with the inaudible signal is adjusted so that the direction of the speaker is changed in the process of reproducing the voice data.
제1 항에 있어서, 상기 인위적인 노이즈를 합성하는 단계는
상기 음성 데이터를 STT(Speech To Text)하여 녹취록(transcript)을 생성하고, 상기 녹취록을 파싱(parsing)하여 상기 녹취록을 구성하고 있는 복수 개의 토큰(token)들을 식별하고, 상기 식별된 각각의 토큰에 대한 의미 분석(semantic analysis)을 수행하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 1 , wherein synthesizing the artificial noise comprises:
The voice data is STT (Speech To Text) to generate a transcript, and the transcript is parsed to identify a plurality of tokens constituting the transcript, and to each of the identified tokens A method for generating spontaneous speech, characterized in that the semantic analysis is performed.
제5 항에 있어서, 상기 인위적인 노이즈를 합성하는 단계는
상기 의미 분석을 수행한 결과, 감정을 표현하는 것으로 사전에 정의된 토큰이 하나 이상 존재하는 경우, 상기 하나 이상의 토큰을 기초로 상기 발화자가 가질 수 있는 하나의 감정 상태를 추정하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 5, wherein the synthesizing of the artificial noise comprises:
As a result of performing the semantic analysis, when one or more tokens predefined as expressing emotions exist, one emotional state that the speaker may have is estimated based on the one or more tokens, A method for generating spontaneous speech.
제6 항에 있어서, 상기 인위적인 노이즈를 합성하는 단계는
상기 추정된 감정 상태에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 상기 식별된 하나 이상의 음소를 상기 음성 데이터에 합성하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
7. The method of claim 6, wherein synthesizing the artificial noise comprises:
and identifying one or more phonemes corresponding to the estimated emotional state and capable of generating artificial noise, and synthesizing the identified one or more phonemes into the voice data.
제1 항에 있어서, 상기 인위적인 노이즈를 합성하는 단계는
상기 발화자에 대한 메타데이터로부터 상기 발화자의 국가, 언어, 지역, 성별 및 연령을 식별하고, 상기 식별된 발화자의 국가, 언어, 지역, 성별 및 연령에 대응하며 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 상기 식별된 하나 이상의 음소를 상기 음성 데이터에 합성하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 1 , wherein synthesizing the artificial noise comprises:
The country, language, region, gender and age of the speaker are identified from the metadata about the speaker, and a phoneme that corresponds to the country, language, region, gender and age of the identified speaker and can generate artificial noise is one An abnormality is identified, and the identified one or more phonemes are synthesized into the voice data.
제1 항에 있어서, 상기 인위적인 노이즈를 합성하는 단계는
상기 발화자와 국가, 언어, 지역, 성별 및 연령 중 하나 이상이 상이한 다른 발화자와 관련된 인위적인 노이즈를 발생시킬 수 있는 음소를 하나 이상 식별하고, 상기 식별된 하나 이상의 음소를 상기 음성 데이터에 합성하는 것을 특징으로 하는, 자연발화 음성 생성 방법.
The method of claim 1 , wherein synthesizing the artificial noise comprises:
Identifying one or more phonemes capable of generating artificial noise related to another speaker different from the speaker in at least one of country, language, region, gender and age, and synthesizing the identified one or more phonemes into the voice data A method for generating spontaneous speech.
메모리(memory);
송수신기(transceiver); 및
상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
상기 프로세서가, 상기 송수신기를 통해 음성 데이터 녹음 장치로부터 음성 데이터 및 영상을 수신하되, 상기 영상은 상기 음성 데이터 녹음 장치가 마이크를 통해 발화자의 상기 음성 데이터를 입력 받는 과정에서 카메라를 통해 시계열적으로 촬영한 상기 발화자의 안면이 포함된 영상인 단계;
상기 프로세서가, 상기 영상 속에 포함된 상기 안면의 변화를 기준으로, 상기 발화자의 감정 상태를 추정하는 단계;
상기 프로세서가, 상기 추정된 감정 상태에 관한 정보를 포함시켜 상기 입력된 음성 데이터에 관한 메타데이터(metadata)를 생성하고, 상기 음성 데이터와 매칭하여 상기 생성된 메타데이터를 데이터베이스(database)에 저장하는 단계;
상기 프로세서가, 상기 데이터베이스로부터 모든 노이즈(noise)가 제거된 음성 데이터를 식별하는 단계;
상기 프로세서가, 상기 음성 데이터에 매칭된 메타데이터를 기준으로, 상기 음성 데이터를 녹음한 발화자를 식별하는 단계;
상기 프로세서가, 상기 식별된 발화자에 대응하는 인위적인 노이즈를 식별하고, 상기 음성 데이터에 상기 식별된 인위적인 노이즈를 합성하는 단계; 및
상기 프로세서가, 사전에 설정된 환경 조건에 대응하는 배경 음향 데이터를 식별하고, 상기 인위적인 노이즈가 합성된 음성 데이터에 상기 식별된 배경 음향 데이터를 합성하는 단계를 실행시키고,
상기 감정 상태를 추정하는 단계는
상기 발화자의 안면이 포함된 영상으로부터 상기 발화자의 눈, 코 및 입의 움직임을 추적하고, 기존에 다수 발화자의 안면 영상을 기초로 기계 학습된(machine learning)된 인공지능(Artificial Intelligence, AI)에 상기 눈, 코 및 입의 움직임을 기초로 질의하여, 상기 발화자의 감정 상태를 추정하는 것을 특징으로 하며,
상기 감정 상태를 추정하는 단계는
상기 음성 데이터를 STT(Speech To Text)하여 녹취록(transcript)을 생성하고, 상기 녹취록을 파싱(parsing)하여 상기 녹취록을 구성하고 있는 복수 개의 토큰(token)들을 식별하고, 상기 식별된 각각의 토큰에 대한 의미 분석(semantic analysis)을 수행하는 것을 특징으로 하고,
상기 감정 상태를 추정하는 단계는
상기 의미 분석을 수행한 결과, 단어적 의미가 사전에 정의된 음소로 분류되지 않은 토큰이 존재하는 경우, 상기 분류되지 않은 토큰을 인위적인 노이즈로 식별하며,
상기 배경 음향 데이터를 합성하는 단계 및 상기 감정 상태를 추정하는 단계의 상기 각 인위적인 노이즈는
상기 음성 데이터의 발화자의 발성 화법, 감탄사 또는 추임새에 따라 발화되었으나, 단어적 의미를 가지지 않는 음소(phoneme)인 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
memory;
transceiver; and
Combined with a computing device configured to include a processor (processor) for processing instructions resident in the memory,
The processor receives audio data and an image from the audio data recording device through the transceiver, wherein the video is captured in time series through a camera while the audio data recording device receives the voice data of the speaker through a microphone an image including the face of one of the talkers;
estimating, by the processor, the emotional state of the speaker based on the change in the face included in the image;
The processor generates metadata about the input voice data by including information about the estimated emotional state, and stores the generated metadata in a database by matching the voice data step;
identifying, by the processor, voice data from which all noise has been removed from the database;
identifying, by the processor, a speaker who recorded the voice data based on metadata matched to the voice data;
identifying, by the processor, an artificial noise corresponding to the identified speaker, and synthesizing the identified artificial noise into the voice data; and
executing, by the processor, identifying background sound data corresponding to a preset environmental condition, and synthesizing the identified background sound data with the artificial noise synthesized voice data;
The step of estimating the emotional state
From the image containing the face of the talker, the movements of the eyes, nose, and mouth of the talker are tracked, and machine-learning based on the facial images of the multiple talkers is applied to artificial intelligence (AI). It is characterized in that the emotional state of the speaker is estimated by querying based on the movements of the eyes, nose and mouth,
The step of estimating the emotional state
The voice data is STT (Speech To Text) to generate a transcript, and the transcript is parsed to identify a plurality of tokens constituting the transcript, and to each of the identified tokens Characterized in performing semantic analysis for
The step of estimating the emotional state
As a result of performing the semantic analysis, if there is a token whose word meaning is not classified as a phoneme defined in advance, the unclassified token is identified as artificial noise,
Each of the artificial noises in the step of synthesizing the background sound data and the step of estimating the emotional state is
A computer program recorded on a recording medium, characterized in that it is a phoneme that is uttered according to the utterance method, interjection, or chuimsae of the speaker of the voice data, but does not have a word meaning.
KR1020210128504A 2021-09-29 2021-09-29 Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor KR102389995B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210128504A KR102389995B1 (en) 2021-09-29 2021-09-29 Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210128504A KR102389995B1 (en) 2021-09-29 2021-09-29 Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor

Publications (1)

Publication Number Publication Date
KR102389995B1 true KR102389995B1 (en) 2022-04-27

Family

ID=81390204

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210128504A KR102389995B1 (en) 2021-09-29 2021-09-29 Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor

Country Status (1)

Country Link
KR (1) KR102389995B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115909820A (en) * 2022-11-04 2023-04-04 上海华模科技有限公司 Training method and system for coping with air traffic control and corresponding storage medium
US12033659B1 (en) 2023-01-03 2024-07-09 Actionpower Corp. Method for determining and linking important parts among STT result and reference data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140079988A (en) 2012-12-20 2014-06-30 주식회사 팬택 Mobile device and method for voice recognition processing using the same
KR101855336B1 (en) * 2016-11-28 2018-05-09 주식회사 사운들리 Method and system for adjusting volume in audio outputting device
KR20210019534A (en) * 2018-07-19 2021-02-22 돌비 인터네셔널 에이비 Object-based audio content creation method and system
KR20210089347A (en) * 2020-01-08 2021-07-16 엘지전자 주식회사 Voice recognition device and voice data learning method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140079988A (en) 2012-12-20 2014-06-30 주식회사 팬택 Mobile device and method for voice recognition processing using the same
KR101855336B1 (en) * 2016-11-28 2018-05-09 주식회사 사운들리 Method and system for adjusting volume in audio outputting device
KR20210019534A (en) * 2018-07-19 2021-02-22 돌비 인터네셔널 에이비 Object-based audio content creation method and system
KR20210089347A (en) * 2020-01-08 2021-07-16 엘지전자 주식회사 Voice recognition device and voice data learning method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115909820A (en) * 2022-11-04 2023-04-04 上海华模科技有限公司 Training method and system for coping with air traffic control and corresponding storage medium
US12033659B1 (en) 2023-01-03 2024-07-09 Actionpower Corp. Method for determining and linking important parts among STT result and reference data

Similar Documents

Publication Publication Date Title
KR102509464B1 (en) Utterance classifier
US11232808B2 (en) Adjusting speed of human speech playback
US11417343B2 (en) Automatic speaker identification in calls using multiple speaker-identification parameters
US10516782B2 (en) Conference searching and playback of search results
US10522151B2 (en) Conference segmentation based on conversational dynamics
US10057707B2 (en) Optimized virtual scene layout for spatial meeting playback
US20200127865A1 (en) Post-conference playback system having higher perceived quality than originally heard in the conference
US11076052B2 (en) Selective conference digest
Aloufi et al. Emotionless: Privacy-preserving speech analysis for voice assistants
EP3254279B1 (en) Conference word cloud
KR20190104941A (en) Speech synthesis method based on emotion information and apparatus therefor
US11138334B1 (en) Use of ASR confidence to improve reliability of automatic audio redaction
KR102389995B1 (en) Method for generating spontaneous speech, and computer program recorded on record-medium for executing method therefor
US11545136B2 (en) System and method using parameterized speech synthesis to train acoustic models
WO2017020011A1 (en) Searching the results of an automatic speech recognition process
US11270691B2 (en) Voice interaction system, its processing method, and program therefor
KR102408455B1 (en) Voice data synthesis method for speech recognition learning, and computer program recorded on record-medium for executing method therefor
KR102395399B1 (en) Voice data disassemble method for speech recognition learning, and computer program recorded on record-medium for executing method therefor
Johar Paralinguistic profiling using speech recognition
US10282417B2 (en) Conversational list management
KR102378895B1 (en) Method for learning wake-word for speech recognition, and computer program recorded on record-medium for executing method therefor
KR102378885B1 (en) Method for generating metadata using face of speaker, and computer program recorded on record-medium for executing method therefor
KR102356915B1 (en) Voice data recording device for speech recognition learning, and method therefor
Mandel et al. Learning a concatenative resynthesis system for noise suppression
Koolagudi et al. Real life emotion classification using spectral features and gaussian mixture models

Legal Events

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