KR102576754B1 - Deep learning-based speech improvement conversion device, system control method, and computer program - Google Patents

Deep learning-based speech improvement conversion device, system control method, and computer program Download PDF

Info

Publication number
KR102576754B1
KR102576754B1 KR1020220007882A KR20220007882A KR102576754B1 KR 102576754 B1 KR102576754 B1 KR 102576754B1 KR 1020220007882 A KR1020220007882 A KR 1020220007882A KR 20220007882 A KR20220007882 A KR 20220007882A KR 102576754 B1 KR102576754 B1 KR 102576754B1
Authority
KR
South Korea
Prior art keywords
voice
text
user
audio data
processor
Prior art date
Application number
KR1020220007882A
Other languages
Korean (ko)
Other versions
KR20230111884A (en
Inventor
이은주
장민욱
김동욱
이동진
이재희
Original Assignee
한림대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한림대학교 산학협력단 filed Critical 한림대학교 산학협력단
Priority to KR1020220007882A priority Critical patent/KR102576754B1/en
Publication of KR20230111884A publication Critical patent/KR20230111884A/en
Application granted granted Critical
Publication of KR102576754B1 publication Critical patent/KR102576754B1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은, 타겟 음성을 생성하기 위한 인공지능 모델이 저장된, 메모리, 및 메모리와 연결된 프로세서를 포함하는 전자 장치를 제공하고, 이때, 프로세서는, 일 텍스트를 발화하는 사용자의 제1 음성의 오디오 데이터와 텍스트를 발화하는 정상적인 음성의 오디오 데이터를 바탕으로 인공지능 모델을 훈련시키고, 사용자의 제2 음성이 입력되면, 입력된 제2 음성의 오디오 데이터를 인공지능 모델에 입력하여, 인공지능 모델의 출력을 기반으로 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.The present invention provides an electronic device including a memory in which an artificial intelligence model for generating a target voice is stored, and a processor connected to the memory, wherein the processor includes audio data of a first voice of a user uttering a text. The artificial intelligence model is trained based on the audio data of the normal voice uttering the text and when the second voice of the user is input, the audio data of the input second voice is input to the artificial intelligence model, and the output of the artificial intelligence model A target voice obtained by converting the user's second voice may be obtained based on .

Description

딥러닝 기반 구음 장애 음성 개선 변환 장치, 시스템의 제어 방법, 및 컴퓨터 프로그램{DEEP LEARNING-BASED SPEECH IMPROVEMENT CONVERSION DEVICE, SYSTEM CONTROL METHOD, AND COMPUTER PROGRAM}Deep learning-based dysarthria voice improvement conversion device, system control method, and computer program

본 발명은 일 텍스트를 발화하는 환자의 음성이 입력되는 즉시, 환자의 음성이 변환된, 정상적인 음성인 타겟 음성을 출력하기 위한 딥러닝 기반 구음 장애 음성 개선 변환 기술에 관한 것으로, 타겟 음성은 환자의 선택에 따라, 본인의 음성, 남성의 음성, 여성의 음성, 중년인의 음성, 특정인의 음성 등 다양한 음성으로 변환되어 출력될 수 있다.The present invention relates to a deep learning-based dysarthria voice improvement conversion technology for outputting a target voice, which is a normal voice, in which the patient's voice is converted as soon as the patient's voice uttering a text is input, wherein the target voice is the patient's voice. Depending on the selection, various voices such as the voice of the person, a male voice, a female voice, a middle-aged voice, and a specific person's voice may be converted and output.

구음 장애를 갖는 환자의 경우, 일상생활에서의 의사소통이 어려우며, 이 경우, 평가를 통해 재활을 실시할 수 있으나, 시간적 제약으로 인해, 당장 의사소통이 필요한 상황에 도움이 되지는 못한다는 문제점이 존재한다.In the case of patients with dysarthria, it is difficult to communicate in daily life, and in this case, rehabilitation can be performed through evaluation, but due to time constraints, the problem is that it is not helpful in situations where communication is needed right away. exist.

이와 관련하여, 특허문헌 1과 같은 구음 장애에 대한 평가를 실시하는 기술은, 평가를 실시하는데 그칠뿐이며, 복잡한 절차에 따른 언어 능력 테스트 수행 및 설문지의 작성은 시간적 제약이 존재하여 비효율적으로 이루어졌다.In this regard, the technology for evaluating dysarthria, such as Patent Document 1, stops at just performing the evaluation, and performing a language ability test and filling out a questionnaire according to a complicated procedure is inefficient due to time constraints.

한편, 상기의 배경기술로서 설명된 사항들은 본 발명의 배경에 대한 이해 증진을 위한 것일 뿐, 이 기술분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술에 해당함을 인정하는 것으로 받아들여져서는 안 될 것이다.On the other hand, the matters described as the background art above are only for improving understanding of the background of the present invention, and should not be taken as an admission that they correspond to prior art already known to those skilled in the art. will be.

등록특허공보 제10-1921890호, 2018.11.20.Registered Patent Publication No. 10-1921890, 2018.11.20.

본 발명이 해결하고자 하는 과제는 실시간으로 의사 소통을 수행하는데 있어서, 구음 장애를 갖는 환자의 음성을 정상적인 음성으로 출력하는 딥러닝 기반 구음 장애 음성 개선 변환 기술을 제공하는 것이다.The problem to be solved by the present invention is to provide a deep learning-based dysarthria voice improvement conversion technology that outputs the voice of a patient with dysarthria as a normal voice in real-time communication.

본 발명의 또 다른 목적으로는, 환자가 입력한 음성을 정상적인 음성인 타겟 음성으로 출력하여 제공함으로써 즉석에서 구음 장애 개선을 위한 재활 훈련을 실시할 수 있도록 하는 딥러닝 기반 구음 장애 음성 개선 변환 기술을 제공하는 것이다.Another object of the present invention is a deep learning-based dysarthria voice improvement conversion technology that enables immediate rehabilitation training for dysarthria improvement by outputting and providing a target voice, which is a normal voice, from a voice input by a patient. is to provide

또한 본 발명은, 한국지능정보사회진흥원, 인공지능 학습용 데이터 구축사업의 구음장애 음성 데이터(과제고유번호 21002131305088212100101BS)로 2021.06.01부터 2021.12.31의 기간에 연구된 기술이다.In addition, the present invention is a technology researched from 2021.06.01 to 2021.12.31 with voice data for dysarthria (task identification number 21002131305088212100101BS) of the Korea Institute for Intelligence and Information Society Promotion, AI learning data construction project.

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

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 전자 장치에 있어서, 타겟 음성을 생성하기 위한 인공지능 모델이 저장된, 메모리, 및 메모리와 연결된 프로세서를 포함한다.An electronic device according to an aspect of the present invention for solving the above problems includes a memory in which an artificial intelligence model for generating a target voice is stored, and a processor connected to the memory.

여기서, 프로세서는, 일 텍스트를 발화하는 사용자의 제1 음성의 오디오 데이터와 텍스트를 발화하는 정상적인 음성의 오디오 데이터를 바탕으로 인공지능 모델을 훈련시키고, 사용자의 제2 음성이 입력되면, 입력된 제2 음성의 오디오 데이터를 인공지능 모델에 입력하여, 인공지능 모델의 출력을 기반으로 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.Here, the processor trains an artificial intelligence model based on audio data of a user's first voice uttering a text and audio data of a normal voice uttering a text, and when the user's second voice is input, the input second voice is input. Audio data of the two voices may be input to the artificial intelligence model, and a target voice obtained by converting the second voice of the user may be obtained based on the output of the artificial intelligence model.

또한, 인공지능 모델은, 제1 음성의 오디오 데이터로부터 추출된, 복수의 제1 특징 벡터와, 제2 음성의 오디오 데이터로부터 추출된 복수의 제2 특징 벡터를 비교하여, 제2 음성의 발화 대상인 텍스트를 식별하고, 식별된 텍스트에 매칭되도록, 제2 음성이 변환된 타겟 음성을 획득할 수 있다.In addition, the artificial intelligence model compares a plurality of first feature vectors extracted from the audio data of the first voice with a plurality of second feature vectors extracted from the audio data of the second voice, and the speech target of the second voice The text may be identified, and a target voice obtained by converting the second voice to be matched with the identified text may be obtained.

이때, 프로세서는, 제1 음성에 대한 오디오 데이터의 주파수 대역을 사용자 표준 데이터로 획득하고, 사용자 표준 데이터의 주파수 대역을 기반으로, 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.In this case, the processor may obtain a frequency band of audio data for the first voice as user standard data, and obtain a target voice obtained by converting the second voice of the user based on the frequency band of the user standard data.

추가로, 프로세서는, 제2 음성의 발화 대상인 텍스트에 대한 제2 음성의 발음 정확도를 판단하고, 발음 정확도가 임계치 이상인 경우, 제2 음성을 타겟 음성으로 출력하고, 발음 정확도가 임계치 미만인 경우, 인공지능 모델의 출력을 기반으로 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.In addition, the processor determines the pronunciation accuracy of the second voice for the text that is the speech target of the second voice, outputs the second voice as a target voice when the pronunciation accuracy is greater than or equal to a threshold value, and outputs the second voice as a target voice when the pronunciation accuracy is less than the threshold value. Based on the output of the intelligence model, a target voice obtained by converting the user's second voice may be obtained.

바람직하게는, 프로세서는, 제2 음성의 발화 대상인 텍스트를 구성하는 제1 서브 텍스트 및 제2 서브 텍스트를 획득하고, 제2 음성의 오디오 데이터 중 제1 서브 텍스트 및 제2 서브 텍스트 각각이 매칭된 오디오 구간을 식별한다.Preferably, the processor obtains first subtext and second subtext constituting text that is an utterance target of the second voice, and matches each of the first subtext and the second subtext among the audio data of the second voice. Identifies an audio segment.

이후, 프로세서는, 제1 서브 텍스트에 대한 제1 오디오 구간의 발음 정확도 및 제2 서브 텍스트에 대한 제2 오디오 구간의 발음 정확도를 식별하고, 제1 서브 텍스트에 대한 발음 정확도가 임계치 미만이고, 제2 서브 텍스트에 대한 발음 정확도가 임계치 이상이면, 제1 서브 텍스트가 입력된 인공지능 모델의 출력을 기반으로 제1 서브 텍스트에 대한 타겟 음성을 획득한다.Then, the processor identifies pronunciation accuracy of the first audio section with respect to the first subtext and pronunciation accuracy of the second audio section with respect to the second subtext, the pronunciation accuracy with respect to the first subtext is less than a threshold value, and If the pronunciation accuracy of the 2 subtexts is equal to or greater than the threshold value, a target voice for the first subtext is obtained based on an output of the artificial intelligence model to which the first subtext is input.

이에 따라, 프로세서는, 제1 서브 텍스트에 대한 타겟 음성 및 제2 오디오 구간을 포함하는 오디오 데이터를 바탕으로, 제2 음성이 변환된 음성을 출력할 수 있다.Accordingly, the processor may output a converted voice of the second voice based on audio data including the target voice of the first subtext and the second audio section.

이를 위해, 프로세서는, 복수의 텍스트 각각에 대한 사용자의 음성을 획득하여, 음성 인식을 실시함으로써 복수의 텍스트 각각에 대한 발음 정확도를 매칭하여 저장한다.To this end, the processor obtains a user's voice for each of a plurality of texts, performs voice recognition, and matches and stores pronunciation accuracy for each of a plurality of texts.

한편, 프로세서는, 복수의 텍스트 중, 기 매칭된 발음 정확도가 임계치 미만인 제1 텍스트를 발화하는, 사용자의 새로 입력된 음성의 발음 정확도가 임계치 이상인 경우, 제1 텍스트를 발화하는 사용자의 음성인, 제1 테스트 음성을 일정 횟수만큼 획득하고, 일정 횟수만큼 획득된 제1 테스트 음성의 발음 정확도에 대한 평균이 임계치 이상이면, 제1 테스트 음성의 발음 정확도에 대한 평균을 바탕으로 제1 텍스트에 매칭된 발음 정확도를 업데이트할 수 있다.On the other hand, the processor, among the plurality of texts, when the pronunciation accuracy of the user's newly input voice, which utters the first text whose pronunciation accuracy is less than the threshold value, is greater than or equal to the threshold value, the user's voice that utters the first text, If the first test voice is acquired a certain number of times, and the average pronunciation accuracy of the first test voice obtained a certain number of times is greater than or equal to a threshold value, the first test voice is matched to the first text based on the average pronunciation accuracy of the first test voice. Pronunciation accuracy can be updated.

반면, 프로세서는, 복수의 텍스트 중, 기 매칭된 발음 정확도가 임계치 이상인 제2 텍스트를 발화하는, 사용자의 새로 입력된 음성의 발음 정확도가 임계치 미만인 경우, 제2 텍스트를 발화하는 사용자의 음성인, 제2 테스트 음성을 일정 횟수만큼 획득하고, 일정 횟수만큼 획득된 테스트 음성의 발음 정확도에 대한 평균이 임계치 미만이면, 제2 테스트 음성의 발음 정확도에 대한 평균을 바탕으로 제2 텍스트에 매칭된 발음 정확도를 업데이트할 수 있다.On the other hand, the processor, among the plurality of texts, when the pronunciation accuracy of the user's newly input voice, which utters the second text with previously matched pronunciation accuracy equal to or greater than the threshold value, is less than the threshold value, the user's voice that utters the second text, If the second test voice is acquired a certain number of times and the average pronunciation accuracy of the test voice obtained a certain number of times is less than the threshold value, the pronunciation accuracy matched to the second text is based on the average pronunciation accuracy of the second test voice. can be updated.

추가로, 프로세서는, 오디오 데이터를 노이즈 필터링(noise filtering)하고, 필터링된 오디오 데이터를 복수의 구간으로 구간화하되, 인접한 구간 간에 일정 시간만큼 중첩하여 프레이밍(framing)하고, 프레이밍된 오디오 데이터로부터 복수의 음향(aqoustic) 특징 벡터 및 복수의 MFCC(Mel Frequency Cepstral Coefficients) 특징 벡터를 추출하는 것을 특징으로 할 수 있다.In addition, the processor performs noise filtering on the audio data, sections the filtered audio data into a plurality of sections, overlaps adjacent sections by a predetermined time, and frames the audio data from the framed audio data. It may be characterized by extracting an acoustic feature vector and a plurality of MFCC (Mel Frequency Cepstral Coefficients) feature vectors.

이때, 프로세서는, 프레이밍된 오디오 데이터에 MFCC 기법을 적용하여 적어도 하나의 제1 MFCC 특징 벡터를 획득하고, 적어도 하나의 제1 MFCC 특징 벡터의 값을 미분하여 적어도 하나의 제2 MFCC 특징 벡터를 획득하고, 적어도 하나의 제2 MFCC 특징 벡터의 값을 미분하여 적어도 하나의 제3 MFCC 특징 벡터를 획득하며, 복수의 MFCC 특징 벡터는, 적어도 하나의 제1 MFCC 특징 벡터, 적어도 하나의 제2 MFCC 특징 벡터, 및 적어도 하나의 제3 MFCC 특징 벡터를 포함하는 것을 특징으로 할 수 있다.At this time, the processor obtains at least one first MFCC feature vector by applying the MFCC technique to the framed audio data, and obtains at least one second MFCC feature vector by differentiating a value of the at least one first MFCC feature vector. and differentiating the value of the at least one second MFCC feature vector to obtain at least one third MFCC feature vector, wherein the plurality of MFCC feature vectors include at least one first MFCC feature vector and at least one second MFCC feature vector, and at least one third MFCC feature vector.

한편, 본 발명의 이 면에 따른 서버에 의한 딥러닝 기반 구음 장애 음성 개선 변환 시스템의 제어 방법에 있어서, 일 사용자 단말로부터, 일 텍스트를 발화하는 사용자의 제1 음성의 오디오 데이터를 획득하는 단계, 텍스트를 발화하는 정상적인 음성의 오디오 데이터를 획득하는 단계, 제1 음성의 오디오 데이터 및 정상적인 음성의 오디오 데이터를 바탕으로, 타겟 음성을 출력하도록 인공지능 모델을 훈련시키는 단계, 사용자 단말로부터 사용자의 제2 음성을 수신하면, 수신된 제2 음성의 오디오 데이터를 인공지능 모델에 입력하는 단계, 인공지능 모델로부터 제2 음성이 변환된 타겟 음성을 획득하는 단계, 및 사용자 단말을 통해, 제2 음성이 변환된 타겟 음성을 출력하는 단계를 포함할 수 있다.On the other hand, in the method for controlling a deep learning-based dysarthria voice improvement conversion system by a server according to another aspect of the present invention, obtaining audio data of a first voice of a user uttering a text from a user terminal; Acquiring audio data of a normal voice uttering text, training an artificial intelligence model to output a target voice based on the audio data of the first voice and the audio data of the normal voice, training the user's second voice from the user terminal. When the voice is received, inputting audio data of the received second voice into an artificial intelligence model, acquiring a target voice converted to the second voice from the artificial intelligence model, and converting the second voice through a user terminal. and outputting the target voice.

이때, 제2 음성이 변환된 타겟 음성을 획득하는 단계는, 제1 음성의 오디오 데이터로부터 추출된, 복수의 제1 특징 벡터와, 제2 음성의 오디오 데이터로부터 추출된 복수의 제2 특징 벡터를 비교하여, 제2 음성의 발화 대상인 텍스트를 식별하는 단계, 및 식별된 텍스트에 매칭되도록, 제2 음성이 변환된 타겟 음성을 획득하는 단계를 포함하고, 복수의 특징 벡터는, 일 오디오 데이터로부터 추출된 복수의 음향(aqoustic) 특징 벡터 및 복수의 MFCC(Mel Frequency Cepstral Coefficients) 특징 벡터를 포함할 수 있다.At this time, the step of acquiring the target voice converted from the second voice includes a plurality of first feature vectors extracted from the audio data of the first voice and a plurality of second feature vectors extracted from the audio data of the second voice. Comparing, identifying a text that is an utterance target of the second voice, and obtaining a target voice converted from the second voice to match the identified text, wherein the plurality of feature vectors are extracted from one audio data. It may include a plurality of acoustic feature vectors and a plurality of MFCC (Mel Frequency Cepstral Coefficients) feature vectors.

바람직하게, 타겟 음성을 출력하도록 인공지능 모델을 훈련시키는 단계는, 제1 음성에 대한 오디오 데이터의 주파수 대역을 사용자 표준 데이터로 획득하는 단계, 및 사용자 표준 데이터의 주파수 대역을 기반으로, 사용자의 제2 음성이 변환된 타겟 음성을 획득하는 단계를 포함할 수 있다.Preferably, the step of training the artificial intelligence model to output the target voice includes acquiring a frequency band of audio data for the first voice as user standard data, and based on the frequency band of the user standard data, the user's control 2 may include obtaining a target voice converted from the voice.

한편, 본 발명은 하드웨어인 컴퓨터와 결합되어, 본 발명의 이 면에 따른 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램을 포함한다.On the other hand, the present invention includes a computer program stored in a computer-readable recording medium to be combined with a computer, which is hardware, to perform the method according to another aspect of the present invention.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명의 딥러닝 기반 구음 장애 음성 개선 변환 기술에 의하면, 사용자의 음성 입력만으로도 사용자가 발화하는 텍스트를 식별하고, 텍스트에 대한 정상적인 음성을 타겟 음성으로 출력하여 제공함으로써, 구음 장애를 갖는 환자가 실시간 의사소통을 정확하고 빠르게 진행할 수 있도록 한다.According to the deep learning-based voice improvement conversion technology based on dysarthria of the present invention, the text uttered by the user is identified only by the user's voice input, and the normal voice for the text is output and provided as a target voice, so that patients with dysarthria can be improved in real time. To ensure that communication is accurate and fast.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The 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 below.

도 1은 본 발명의 일 실시예에 따른 전자 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 딥러닝 기반 구음 장애 음성 개선 변환 기본 흐름도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 다양한 시스템 구성도이다.
도 5는 본 발명의 일 실시예에 따른 시스템의 동작 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 음성 개선 변환 실험 결과도이다.
도 7은 본 발명의 이 실시예에 따른 사용자 단말을 통한 실생활 사용 예시도이다.
도 8은 본 발명의 일 실시예에 다른 서버 구성도이다.
1 is a configuration diagram of an electronic device according to an embodiment of the present invention.
2 is a basic flowchart of voice improvement conversion based on deep learning according to an embodiment of the present invention.
3 and 4 are various system configuration diagrams according to an embodiment of the present invention.
5 is an operation flow diagram of a system according to an embodiment of the present invention.
6 is a diagram showing results of a voice enhancement conversion experiment according to an embodiment of the present invention.
7 is an exemplary view of real-life use through a user terminal according to this embodiment of the present invention.
8 is a server configuration diagram according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only these embodiments are intended to complete the disclosure of the present invention, and are common in the art to which the present invention belongs. It is provided to fully inform the person skilled in the art of the scope of the invention, and the invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" and/or "comprising" does not exclude the presence or addition of one or more other elements other than the recited elements. Like reference numerals throughout the specification refer to like elements, and “and/or” includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various components, these components are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first element mentioned below may also be the second element within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used with meanings commonly understood by those skilled in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.The term "unit" or "module" used in the specification means a hardware component such as software, FPGA or ASIC, and "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. A “unit” or “module” may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a “unit” or “module” may refer to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Functions provided within components and "units" or "modules" may be combined into smaller numbers of components and "units" or "modules" or may be combined into additional components and "units" or "modules". can be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓일 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.The spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe a component's correlation with other components. Spatially relative terms should be understood as including different orientations of elements in use or operation in addition to the orientations shown in the drawings. For example, if you flip a component that is shown in a drawing, a component described as "below" or "beneath" another component will be placed "above" the other component. can Thus, the exemplary term “below” may include directions of both below and above. Components may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer means any kind of hardware device including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to an embodiment. For example, a computer may be understood as including a smartphone, a tablet PC, a desktop computer, a laptop computer, and user clients and applications running on each device, but is not limited thereto.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 전자 장치의 구성도이다.1 is a configuration diagram of an electronic device according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 일 면에 따른 전자 장치(100)는, 타겟 음성을 생성하기 위한 인공지능 모델(111)이 저장된, 메모리(110), 및 메모리(110)와 연결된 프로세서(120)를 포함한다.As shown, the electronic device 100 according to an aspect of the present invention includes a memory 110 in which an artificial intelligence model 111 for generating a target voice is stored, and a processor 120 connected to the memory 110. includes

일 실시예로, 전자 장치(100)는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device), 인공지능 스피커(AI speaker) 중 적어도 하나를 포함할 수 있다.In one embodiment, the electronic device 100 includes a smartphone, a tablet personal computer (PC), a mobile phone, a video phone, an e-book reader, and a desktop PC. ), laptop PC, netbook computer, workstation, server, personal digital assistant (PDA), portable multimedia player (PMP), MP3 player, mobile medical device, camera, or wearable device It may include at least one of (wearable device) and artificial intelligence speaker (AI speaker).

도 2는 본 발명의 일 실시예에 따른 딥러닝 기반 구음 장애 음성 개선 변환 기본 흐름도이다.2 is a basic flowchart of voice improvement conversion based on deep learning according to an embodiment of the present invention.

프로세서(120)는, 일 텍스트를 발화하는 일 사용자의 제1 음성의 오디오 데이터와 텍스트를 발화하는 정상적인 음성의 오디오 데이터를 바탕으로 일 사용자에 대해 학습된 인공지능 모델(111)을 통해, 딥러닝 기반 구음 장애 음성 개선 변환을 실행할 수 있다.The processor 120 performs deep learning through the artificial intelligence model 111 learned for one user based on the audio data of the first voice of one user uttering one text and the audio data of normal voice uttering text. Based dysarthria speech improvement conversion can be performed.

구체적으로, 도 2에 도시된 바와 같이, 일 사용자의 제2 음성이 입력되면, 입력된 제2 음성의 오디오 데이터(음성으로부터 추출되는 디지털화된 음원)를 획득(S210)하고, 이를 일 사용자의 음성에 대해 학습된 인공지능 모델(111)에 입력하여, 인공지능 모델(111)의 출력을 기반으로 사용자의 제2 음성이 변환된 타겟 음성을 획득(S220)하여 사용자에게 제공(S230)할 수 있다.Specifically, as shown in FIG. 2, when a user's second voice is input, audio data (digitized sound source extracted from the voice) of the input second voice is obtained (S210), and the user's voice is obtained. It is input to the artificial intelligence model 111 learned for , and based on the output of the artificial intelligence model 111, a target voice obtained by converting the second voice of the user is obtained (S220) and provided to the user (S230). .

이를 위해, 인공지능 모델(111)은, 제1 음성의 오디오 데이터로부터 추출된, 복수의 제1 특징 벡터와, 제2 음성의 오디오 데이터로부터 추출된 복수의 제2 특징 벡터를 비교하여, 제2 음성의 발화 대상인 텍스트를 식별하고, 식별된 텍스트에 매칭되도록, 제2 음성이 변환된 타겟 음성을 획득한다.To this end, the artificial intelligence model 111 compares a plurality of first feature vectors extracted from the audio data of the first voice with a plurality of second feature vectors extracted from the audio data of the second voice, A text that is a speech target of the voice is identified, and a target voice obtained by converting the second voice to be matched with the identified text is obtained.

이 경우, 각 텍스트 별로, 사용자의 음성(: 제1 음성)의 복수의 특징 벡터의 값이 저장될 수 있다. 이때, 각 텍스트 별로 저장된 복수의 특징 벡터를 활용하여, 적어도 하나의 제1 음성 인식 모델이 훈련될 수도 있다. 그 결과, 제1 음성 인식 모델은, 사용자(ex. 구음 장애 환자)에게 맞춤형으로 훈련되어, 사용자가 발화한 텍스트를 인식할 수 있다.In this case, values of a plurality of feature vectors of the user's voice (first voice) may be stored for each text. In this case, at least one first speech recognition model may be trained using a plurality of feature vectors stored for each text. As a result, the first speech recognition model is trained customized for the user (eg, dysarthria patient), and can recognize text uttered by the user.

한편, 프로세서(120)는 구음 장애를 갖는 사용자의 음성이 입력되면, 음성에 따른 텍스트를 식별하고, 식별된 텍스트에 대해 기 저장된 성우 음성, 또는 TTS(Text-To-Speech) 기술에 의해 생성된 음성 등의 정상적인 음성을 타겟 음성으로 출력할 수 있다.On the other hand, when the voice of the user with dysarthria is input, the processor 120 identifies text according to the voice, and for the identified text, the processor 120 uses pre-stored voice acting or TTS (Text-To-Speech) technology. A normal voice such as a voice can be output as a target voice.

구체적으로, 타겟 음성을 획득하는데 있어서, 프로세서(120)는 제1 음성에 대한 오디오 데이터의 주파수 대역을 사용자 표준 데이터로 획득하고, 사용자 표준 데이터의 주파수 대역을 기반으로, 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.Specifically, in acquiring the target voice, the processor 120 obtains a frequency band of audio data for the first voice as user standard data, and based on the frequency band of the user standard data, the user's second voice is converted. A target voice can be obtained.

이때, 프로세서(120)는, 일 텍스트에 대한 복수의 타겟 음성을 획득할 수 있으며, 복수의 타겟 음성은 각각 주파수 대역이 다르게 설정되어, 다른 음색으로 출력되도록 한다.At this time, the processor 120 may acquire a plurality of target voices for one text, and each of the plurality of target voices has a different frequency band set, so that different tones are output.

이에 따라, 복수의 타겟 음성은, 남성 음색, 여성 음색, 노인 음색, 어린이 음색, 특정 인물 음색, 및 사용자 표준 데이터에 기반한 사용자 음색 등에 따라 구성될 수 있다.Accordingly, the plurality of target voices may be configured according to a male tone, a female tone, an elderly tone, a child's tone, a specific person's tone, and a user tone based on user standard data.

한편, 구음 장애는, 후천적 또는 선천적인 요인에 의한 장애 및/또는 질병에 의해 발성 기관에 생긴 기능 이상으로 말하기 어려운 상태가 된 것을 뜻하며, 구음 장애 유형으로는, 구마비, 가성구마비, 청각 장애, 후두 장애, 언어 장애, 파킨슨병 등이 포함된다.On the other hand, dysarthria refers to a condition in which it is difficult to speak due to abnormalities in the vocal organs due to disorders and / or diseases caused by acquired or congenital factors. , laryngeal disorders, speech disorders, and Parkinson's disease.

도 3 및 도 4는 본 발명의 일 실시예에 따른 다양한 시스템 구성도이고, 도 5는 본 발명의 일 실시예에 따른 시스템의 동작 흐름도이다.3 and 4 are various system configuration diagrams according to an embodiment of the present invention, and FIG. 5 is an operational flowchart of the system according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 전자 장치(100)는, 딥러닝 기반 구음 장애 시각화 및 재활을 수행하는데 있어서, 음성 입출력부(130)를 포함하여, 음성 입출력부(130)의 마이크(130a)로부터 사용자의 오디오 데이터를 획득하고, 음성 입출력부(130)의 스피커(130b)를 통해 제2 음성이 변환된 타겟 음성을 출력할 수 있다.As shown in FIG. 3 , the electronic device 100 of the present invention includes a voice input/output unit 130 in performing deep learning-based dysarthria visualization and rehabilitation, including a microphone ( The user's audio data may be obtained from 130a, and the target voice converted from the second voice may be output through the speaker 130b of the voice input/output unit 130.

이때, 전자 장치(100)는 디스플레이(140)를 포함하여, 사용자가 원하는 타겟 음성의 음색에 대한 UI의 선택에 대한 사용자 명령을 획득할 수 있다.In this case, the electronic device 100 may include the display 140 to obtain a user command for selecting a UI for a target voice tone desired by the user.

또한, 도 4에 도시된 바와 같이, 본 발명의 전자 장치(100)는, 통신부(150)를 포함하여 사용자 단말(200)과 통신함으로써, 사용자 단말(200)을 통해 오디오 데이터를 획득하여, 제2 음성이 변환된 타겟 음성을 출력한다.In addition, as shown in FIG. 4, the electronic device 100 of the present invention obtains audio data through the user terminal 200 by communicating with the user terminal 200, including the communication unit 150, and 2 Outputs the target voice converted from the voice.

이때, 도 5에 도시된 바와 같이, 사용자 단말(200)을 통해 사용자가 원하는 타겟 음성의 음색에 대한 UI의 선택에 대한 사용자 명령을 획득할 수 있다.At this time, as shown in FIG. 5 , a user command for selecting a UI for a desired tone of a target voice may be obtained through the user terminal 200 .

이때, 사용자 단말은 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device), 인공지능 스피커(AI speaker) 중 적어도 하나를 포함할 수 있다.At this time, the user terminal is a smartphone, a tablet personal computer (tablet PC), a mobile phone (mobile phone), a video phone, an e-book reader, a desktop PC (desktop PC), a laptop PC (laptop) PC), netbook computer, workstation, server, personal digital assistant (PDA), portable multimedia player (PMP), MP3 player, mobile medical device, camera, or wearable device, artificial It may include at least one of an AI speaker.

도 5에 도시된 바와 같이, 복수의 특징 벡터를 획득하는데 있어서, 획득된 오디오 데이터는, 프로세서(120)에 의해, 노이즈 필터링(noise filtering) 작업을 거치며, 프로세서(120)는 필터링된 오디오 데이터를 복수의 구간으로 구간화하되, 인접한 구간 간에 일정 시간만큼 중첩하여 프레이밍(framing)하고, 프레이밍된 오디오 데이터로부터 복수의 음향(aqoustic) 특징 벡터 및 복수의 MFCC(Mel Frequency Cepstral Coefficients) 특징 벡터를 추출하며, 복수의 특징 벡터는, 복수의 음향 특징 벡터 및 복수의 MFCC 특징 벡터를 포함한다.As shown in FIG. 5, in obtaining a plurality of feature vectors, the obtained audio data is subjected to noise filtering by the processor 120, and the processor 120 converts the filtered audio data into Sectioning into a plurality of sections, framing by overlapping adjacent sections by a certain amount of time, extracting a plurality of acoustic feature vectors and a plurality of MFCC (Mel Frequency Cepstral Coefficients) feature vectors from the framed audio data, , the plurality of feature vectors include a plurality of acoustic feature vectors and a plurality of MFCC feature vectors.

이때, 복수의 음향 특징 벡터는, meanF0Hz, stdevF0Hz, meanF1Hz, stdevF1Hz, meanF2Hz, stdevF2Hz, HNR, localjitter, localabsolutejitter, rapjitter, ppq5jitter, ddpjitter, localShimmer, localdbShimmer, apq3Shimmer, apq5Shimmer, apq11Shimmer, ddaShimmer, pitch_max 및 pich_min 중 적어도 하나를 포함하여, 프레이밍된 오디오 데이터로부터 프로세서(120)에 의해 추출될 수 있다.At this time, the plurality of acoustic feature vectors are at least among meanF0Hz, stdevF0Hz, meanF1Hz, stdevF1Hz, meanF2Hz, stdevF2Hz, HNR, localjitter, localabsolutejitter, rapjitter, ppq5jitter, ddpjitter, localShimmer, localdbShimmer, apq3Shimmer, apq5Shimmer, apq11Shimmer, ddaShimmer, pitch_max, and pich_min. can be extracted by processor 120 from framed audio data, including one.

이때, 복수의 MFCC 특징 벡터는, 적어도 하나의 제1 MFCC 특징 벡터, 적어도 하나의 제2 MFCC 특징 벡터, 및 적어도 하나의 제3 MFCC 특징 벡터를 포함한다.At this time, the plurality of MFCC feature vectors include at least one first MFCC feature vector, at least one second MFCC feature vector, and at least one third MFCC feature vector.

제1 MFCC 특징 벡터는, 프로세서(120)가 프레이밍된 오디오 데이터에 MFCC 기법을 적용함으로써 최대 13개의 벡터로 추출된다.The first MFCC feature vector is extracted as a maximum of 13 vectors by applying the MFCC technique to the framed audio data by the processor 120.

제2 MFCC 특징 벡터는, 프로세서(120)에 의해, 적어도 하나의 제1 MFCC 특징 벡터의 값을 미분하여 추출되며, 제3 MFCC 특징 벡터는, 프로세서(120)에 의해, 적어도 하나의 제2 MFCC 특징 벡터의 값을 미분하여 추출될 수 있다.The second MFCC feature vector is extracted by differentiating the value of at least one first MFCC feature vector by the processor 120, and the third MFCC feature vector is extracted by the processor 120 at least one second MFCC It can be extracted by differentiating the value of the feature vector.

이에 따라, 프로세서(120)는, 음향 특징 벡터 최대 20개, MFCC 특징 벡터 최대 78개(각 프레임 마다, 제1 MFCC 특징 벡터의 최대 개수인 13개, 1회 미분으로 인한 최대 개수인 13개, 3회 미분으로 인한 최대 개수인 13개, 총 13*3=39개를 구한 다음 이들 각각을 모든 프레임에 대하여 구한 평균 및 표준편차를 구하여 특징 벡터로 사용, 따라서 하나의 오디오 데이터에 대하여 최대 13*3*2=78개의 MFCC 특징 벡터를 추출)를 포함하여 최대 98개의 특징 벡터를 오디오 데이터로부터 추출할 수 있다.Accordingly, the processor 120 has a maximum of 20 acoustic feature vectors and a maximum of 78 MFCC feature vectors (for each frame, the maximum number of first MFCC feature vectors is 13, the maximum number due to one-time differentiation is 13, After obtaining the maximum number of  13,  total 13*3=39, which is the maximum number due to 3 derivatives, and then calculating the average and standard deviation of each of them for all frames, use them as a feature vector. Up to 98 feature vectors including 3*2=78 MFCC feature vectors can be extracted from audio data.

프로세서(120)는 수집된 사용자의 음성에 대한 오디오 데이터를 학습용 데이터와 예측용 데이터를 일정 비율(ex. 학습용 8: 예측용 2)로 분류하여 학습용 데이터를 통해 인공지능 모델(111)을 학습시키고, 예측용 데이터를 학습된 인공지능 모델(111)에 입력하여 출력된 분류 결과를 바탕으로 인공지능 모델(111)의 정확도를 판단할 수 있다.The processor 120 classifies the collected audio data of the user's voice into training data and prediction data at a certain ratio (eg, 8 for learning: 2 for prediction), and trains the artificial intelligence model 111 through the training data. , It is possible to determine the accuracy of the artificial intelligence model 111 based on the output classification result by inputting prediction data to the learned artificial intelligence model 111.

이에 따라, 구음 장애가 발생한 음성을 타겟 음성으로 변환하는 인공지능 모델(111)의 정확도는 99% 이상을 목표로 하여, 학습이 수행될 수 있다.Accordingly, learning may be performed with the accuracy of the artificial intelligence model 111 for converting the voice with dysarthria into the target voice as a target of 99% or more.

한편, 인공지능 모델(111)은 타겟 음성 생성 모델을 포함할 수 있다.Meanwhile, the artificial intelligence model 111 may include a target speech generation model.

타겟 음성 생성 모델은 사용자 음성 신호인 소스 음성 신호, 사용자 음서의 발화 대상인 텍스트, 및 사용자 음성으로 변환한 타겟 음성에 대한 타겟 음성 신호를 입력받는 인코더를 포함한다.The target speech generation model includes an encoder that receives a source speech signal that is a user speech signal, text that is an utterance target of a user speech book, and a target speech signal for a target speech converted into a user speech.

또한, 타겟 음성 생성 모델은 attention 기반 스펙트로그램(spectrogram) 디코더 및 자동음성인식(ASR) 디코더(보조적으로 추가 사용하는 디코더, 출력 타겟 음성 신호의 텍스트를 예층하는 과정을 통해 타겟 음성 생성 모델의 학습 결과에 대한 정확도를 향상시킴, attention 기반 LSTM)를 포함하며, 이때, 인코더와 디코더 사이에 attention mechanism을 사용함으로써 모델이 텍스트와 스펙트로그램 간의 관계를 학습하도록 한다.In addition, the target speech generation model is an attention-based spectrogram decoder and an automatic speech recognition (ASR) decoder (additionally used decoder, and the learning result of the target speech generation model through the process of pre-layering the text of the output target speech signal). , attention-based LSTM), which uses an attention mechanism between the encoder and decoder to allow the model to learn the relationship between the text and the spectrogram.

이에 따른, 타겟 음성 생성 모델은 스펙트로그램 디코더로부터 출력된 스펙트로그램을 Griffin-Lim 알고리즘(GLA, 손실된 phase 정보를 유추하여 선형 스펙트로그램을 음성으로 복원시키는 기술) 기반의 음성 합성기를 통해 변환하여 타겟 음성 신호를 생성할 수 있다.Accordingly, the target speech generation model converts the spectrogram output from the spectrogram decoder through a speech synthesizer based on the Griffin-Lim algorithm (GLA, a technology for restoring a linear spectrogram into speech by inferring lost phase information), A voice signal can be generated.

한편, 모델링 알고리즘에 있어서, end-to-end sequence-to-sequence 모델 구조를 적용할 수 있으며, 이때 역시, 입력 데이터는 사용자의 음성 신호이고, 출력 데이터는 음성 신호가 변환된 타겟 음성 신호이다.Meanwhile, in the modeling algorithm, an end-to-end sequence-to-sequence model structure may be applied. In this case, the input data is the user's voice signal, and the output data is a target voice signal converted from the voice signal.

학습 과정에 있어서, 사용자 음성 신호인 소스 음성 신호, 사용자 음서의 발화 대상인 텍스트, 및 사용자 음성으로 변환한 타겟 음성에 대한 타겟 음성 신호 각각에 대한 데이터가 요구된다.In the learning process, data for each of a source voice signal that is a user voice signal, a text that is an utterance target of a user voice, and a target voice signal for a target voice converted into a user voice is required.

end-to-end sequence-to-sequence 모델 구조의 적용 예시로써, 신경망을 구성하는 인코더, 디코더 및 보코더는 각각 하나씩 적용되며, 이때, 디코더는 attention 기반 디코더이다.As an example of application of the end-to-end sequence-to-sequence model structure, one encoder, one decoder, and one vocoder constituting the neural network are applied, and at this time, the decoder is an attention-based decoder.

이에 따르면, 인코더는 음성 신호를 프레임별 히든 특징벡터로 생성하고, 디코더는 인코더로부터 출력된 데이터를 바탕으로, 음성 신호의 스펙트로그램을 출력하고, 보코더는 디코더의 출력을 바탕으로, 시간 영역의 wave 신호를 출력할 수 있다.According to this, the encoder generates a voice signal as a hidden feature vector for each frame, the decoder outputs a spectrogram of the voice signal based on the data output from the encoder, and the vocoder generates a wave in the time domain based on the output of the decoder. signal can be output.

구체적으로, 인코더는, 16kHz 단위로 샘플링된 음성 신호를 프로세서(120)로부터 입력받아, 512-dimentional 인코더 represntation을 출력함에 있어, 다음과 같은 과정을 수행할 수 있다.Specifically, the encoder may perform the following process in receiving a voice signal sampled in units of 16 kHz from the processor 120 and outputting a 512-dimentional encoder represntation.

16kHz 단위로 샘플링된 음성 신호는 80 dimensional log-mel spectrogram features over a range of 125-7600Hz, 2개의 convolutional layers with ReLU activations(다운샘플링 by 4), 주파수 영역에 대해서만 convolving하는 하나의 bidirectional convolutional LSTM layers, 및 3개의 bidirectional LSTM layers를 차례로 통과하여, 출력 데이터인 512-dimentional 인코더 represntation을 출력할 수 있다.The audio signal sampled at 16 kHz has 80 dimensional log-mel spectrogram features over a range of 125-7600 Hz, 2 convolutional layers with ReLU activations (downsampling by 4), one bidirectional convolutional LSTM layers convolving only in the frequency domain, And 512-dimentional encoder represntation, which is output data, can be output by sequentially passing through three bidirectional LSTM layers.

이후, 디코더는, 인코더의 출력을 입력받아, 이를 스펙트로그램을 한번에 한 프레임씩 예측하는 하나의 autoregressive RNN을 통과시킴으로써 타겟 스펙트로그램, 즉, 타겟 음성 신호를 출력할 수 있다.도 6은 본 발명의 일 실시예에 따른 음성 개선 변환 실험 결과도이다.Then, the decoder receives the output of the encoder and passes it through an autoregressive RNN that predicts the spectrogram one frame at a time, thereby outputting a target spectrogram, that is, a target speech signal. It is a diagram of a result of a voice improvement conversion experiment according to an embodiment.

프로세서(120)로의 일 텍스트(ex. 전화, 동물원, 자동차, 땅콩, 엄마, 귀, 짹짹, 병원 등)를 발화하는 환자의 음성의 입력에 대해, google TTS를 통해 유사 발음 또는 동일한 발음의 타겟 음성을 획득할 수 있었으며, 프로세서(120)에 의한 인공지능 모델(111)의 학습 횟수에 따라, Train loss가 감소함이 증명되었다.In response to input of a patient's voice uttering a text (eg, phone, zoo, car, peanut, mother, ear, tweet, hospital, etc.) to the processor 120, a similar pronunciation or a target voice with the same pronunciation through google TTS It was possible to obtain, and it was proved that the train loss decreased according to the number of learning times of the artificial intelligence model 111 by the processor 120.

도 7은 본 발명의 이 실시예에 따른 사용자 단말(200)을 통한 실생활 사용 예시도이다.7 is an exemplary view of real life use through the user terminal 200 according to this embodiment of the present invention.

실시예로써, 환자의 보호자가 AI 스피커를 통해 상황에 따른 문장 리스트를 요청하면, AI 스피커로부터 상황에 따른 문장 리스트가 생성한다.As an example, when the patient's guardian requests a sentence list according to the situation through the AI speaker, the sentence list according to the situation is generated from the AI speaker.

이때, AI 스피커는, 환자의 제1 음성에 대해 학습된 인공지능 모델(111)을 통해 환자의 음색을 갖는 타겟 음성을 문장 리스트에 적용하여 환자의 단말로 전송할 수 있다.At this time, the AI speaker may apply the target voice having the patient's tone to the sentence list through the artificial intelligence model 111 learned for the patient's first voice and transmit it to the patient's terminal.

환자가 상황에 따른 의사소통을 실시할 때, 환자의 단말은 환자의 제2 음성 및 문장 리스트를 바탕으로, 별도의 변환 작업 없이 빠른 속도로 타겟 음성을 출력할 수 있다.When the patient communicates according to the situation, the patient's terminal can output the target voice at high speed without a separate conversion operation based on the patient's second voice and the sentence list.

한편, 실시예로써, 프로세서(120)는, 제2 음성의 발화 대상인 텍스트에 대한 제2 음성의 발음 정확도를 판단하고, 발음 정확도가 임계치 이상인 경우, 제2 음성을 타겟 음성으로 출력하고, 발음 정확도가 임계치 미만인 경우, 인공지능 모델(111)의 출력을 기반으로 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.Meanwhile, as an embodiment, the processor 120 determines the pronunciation accuracy of the second voice for the text that is the speech target of the second voice, and when the pronunciation accuracy is greater than or equal to a threshold value, outputs the second voice as the target voice, and pronounces the accuracy of the second voice. When is less than the threshold value, a target voice obtained by converting the user's second voice may be obtained based on the output of the artificial intelligence model 111 .

예컨대, 프로세서(120)는 일 사용자의 복수의 텍스트에 대한 음성과 관련하여, 타겟 음성의 변환 없이 의사소통이 가능한 텍스트에 높은 발음 정확도를 부여하고, 그렇지 않은 텍스트에 낮은 발음 정확도를 부여할 수 있다. 예를 들어, 음성 인식 결과에 따라 획득된 결과 텍스트와 사용자가 발화를 의도한 텍스트 간의 차이가 클수록 발음 정확도가 낮은 것으로 식별될 수 있다. 여기서, 음성 인식은, 일반적인 정상인의 음성을 인식하여 텍스트를 변환하도록 훈련된 적어도 하나의 제2 음성 인식 모델에 의해 수행될 수 있다.For example, the processor 120 may assign a high pronunciation accuracy to a text that can be communicated without converting a target voice, and assign a low pronunciation accuracy to a text that does not, with respect to voices of a plurality of texts of one user. . For example, pronunciation accuracy may be identified as low as the difference between the resultant text obtained according to the speech recognition result and the text intended to be uttered by the user increases. Here, the voice recognition may be performed by at least one second voice recognition model trained to recognize a normal person's voice and convert text.

그 결과, 일 텍스트에 대해 발음 정확도가 임계치 이상인 경우, 프로세서(120)는 해당 텍스트가 타겟 음성의 변환 없이 의사소통이 가능한 텍스트인 것으로 판단하고, 해당 텍스트에 대한 사용자의 음성을 변환 없이 출력한다.As a result, when the pronunciation accuracy of one text is equal to or higher than the threshold value, the processor 120 determines that the text is communicable without converting the target voice, and outputs the user's voice for the corresponding text without conversion.

반면, 일 텍스트에 대해 발음 정확도가 임계치 미만인 경우, 프로세서(120)는 해당 텍스트에 대한 사용자의 음성을 타겟 음성으로 변환하여 출력한다.On the other hand, when the pronunciation accuracy of one text is less than the threshold value, the processor 120 converts the user's voice for the corresponding text into a target voice and outputs it.

이를 위해, 프로세서(120)는, 복수의 텍스트 각각에 대한 사용자의 음성을 획득하여, 음성 인식을 실시함으로써 복수의 텍스트 각각에 대한 발음 정확도를 매칭하여 저장할 수 있다.To this end, the processor 120 may obtain a user's voice for each of a plurality of texts, perform voice recognition, and match and store pronunciation accuracy for each of a plurality of texts.

한편, 프로세서(120)는, 복수의 텍스트 중, 기 매칭된 발음 정확도가 임계치 미만인 제1 텍스트를 발화하는, 사용자의 새로 입력된 음성의 발음 정확도가 임계치 이상인 경우, 제1 텍스트를 발화하는 사용자의 음성인, 제1 테스트 음성을 일정 횟수만큼 획득하고, 일정 횟수만큼 획득된 제1 테스트 음성의 발음 정확도에 대한 평균이 임계치 이상이면, 제1 테스트 음성의 발음 정확도에 대한 평균을 바탕으로 제1 텍스트에 매칭된 발음 정확도를 업데이트할 수 있다.On the other hand, the processor 120, among the plurality of texts, if the pronunciation accuracy of the user's newly input voice, which utters the first text with previously matched pronunciation accuracy less than the threshold value, is greater than or equal to the threshold value, the user who utters the first text If the first test voice, which is a voice, is acquired a certain number of times, and the average pronunciation accuracy of the first test voice acquired a certain number of times is greater than or equal to a threshold value, the first test voice is determined based on the average pronunciation accuracy of the first test voice. Pronunciation accuracy matched to can be updated.

예를 들어, 사용자의 제1 텍스트에 대한 발음 정확도가 40%이고, 임계치가 50%인 경우를 가정한다.For example, it is assumed that the pronunciation accuracy of the user's first text is 40% and the threshold is 50%.

프로세서(120)로 사용자가 제1 텍스트를 발화한 음성이 새로 입력되었을 때, 프로세서(120)가 해당 음성의 제1 텍스트에 대한 발음 정확도가, 임계치보다 높은 60%인 것으로 산출된 경우, 프로세서(120)는 제1 텍스트를 발화하는 사용자의 음성에 있어서, 임계치보다 높아진 발음 정확도의 구체적인 수치를 획득하기 위한 테스트를 실시할 수 있다.When a voice in which the user utters the first text is newly input to the processor 120, if the processor 120 calculates that the pronunciation accuracy of the first text of the corresponding voice is 60% higher than the threshold value, the processor ( 120) may perform a test to obtain a specific numerical value of pronunciation accuracy higher than a threshold in the voice of the user who utters the first text.

구체적으로, 프로세서(120)는 제1 텍스트를 발화하는 사용자의 음성인, 제1 테스트 음성을 일정 횟수(ex. 5회)만큼 획득하고, 5개의 제1 테스트 음성 각각이 제1 텍스트에 대해 갖는 발음 정확도를 산출할 수 있다.Specifically, the processor 120 acquires the first test voice, which is the voice of the user who utters the first text, a predetermined number of times (eg, 5 times), and each of the five first test voices has a corresponding value for the first text. Pronunciation accuracy can be calculated.

이때, 5개의 제1 테스트 음성 각각이 제1 텍스트에 대해 갖는 발음 정확도가 48%, 55%, 52%, 63%, 72%인 경우, 프로세서(120)는 5개의 제1 테스트 음성 각각이 제1 텍스트에 대해 갖는 발음 정확도의 평균 값인 58%를 산출하고, 해당 평균 값을 제1 텍스트에 대해 매칭하여 저장함으로써, 제1 텍스트에 대한 발음 정확도를 업데이트할 수 있다.At this time, when the pronunciation accuracy of each of the five first test voices with respect to the first text is 48%, 55%, 52%, 63%, and 72%, the processor 120 determines that each of the five first test voices Pronunciation accuracy for the first text may be updated by calculating 58%, which is an average value of pronunciation accuracy for one text, and matching and storing the average value with the first text.

반면, 프로세서(120)는, 복수의 텍스트 중, 기 매칭된 발음 정확도가 임계치 이상인 제2 텍스트를 발화하는, 사용자의 새로 입력된 음성의 발음 정확도가 임계치 미만인 경우, 제2 텍스트를 발화하는 사용자의 음성인, 제2 테스트 음성을 일정 횟수만큼 획득하고, 일정 횟수만큼 획득된 테스트 음성의 발음 정확도에 대한 평균이 임계치 미만이면, 제2 테스트 음성의 발음 정확도에 대한 평균을 바탕으로 제2 텍스트에 매칭된 발음 정확도를 업데이트할 수 있다.On the other hand, the processor 120, among the plurality of texts, when the pronunciation accuracy of the user's newly input voice, which utters the second text with previously matched pronunciation accuracy equal to or greater than the threshold value, is less than the threshold value, the processor 120 determines the accuracy of the user uttering the second text. If the second test voice, which is a voice, is acquired a certain number of times, and the average pronunciation accuracy of the test voice obtained a certain number of times is less than a threshold value, the second test voice is matched to the second text based on the average pronunciation accuracy of the second test voice. pronunciation accuracy can be updated.

예를 들어, 사용자의 제2 텍스트에 대한 발음 정확도가 60%이고, 임계치가 50%인 경우를 가정한다.For example, it is assumed that the pronunciation accuracy of the user's second text is 60% and the threshold is 50%.

프로세서(120)로 사용자가 제2 텍스트를 발화한 음성이 새로 입력되었을 때, 프로세서(120)가 해당 음성의 제2 텍스트에 대한 발음 정확도가, 임계치보다 낮은 32%인 것으로 산출된 경우, 프로세서(120)는 제2 텍스트를 발화하는 사용자의 음성에 있어서, 임계치보다 낮아진 발음 정확도의 구체적인 수치를 획득하기 위한 테스트를 실시할 수 있다.When a voice in which the user utters the second text is newly input to the processor 120, if the processor 120 calculates that the pronunciation accuracy of the second text of the corresponding voice is 32% lower than the threshold value, the processor ( 120) may perform a test to obtain a specific numerical value of pronunciation accuracy that is lower than a threshold value in the voice of the user who utters the second text.

구체적으로, 프로세서(120)는 제2 텍스트를 발화하는 사용자의 음성인, 제2 테스트 음성을 일정 횟수(ex. 5회)만큼 획득하고, 5개의 제2 테스트 음성 각각이 제2 텍스트에 대해 갖는 발음 정확도를 산출할 수 있다.Specifically, the processor 120 acquires second test voices a predetermined number of times (eg, 5 times), which is the voice of a user who utters the second text, and each of the five second test voices has a corresponding value for the second text. Pronunciation accuracy can be calculated.

이때, 5개의 제2 테스트 음성 각각이 제2 텍스트에 대해 갖는 발음 정확도가 44%, 55%, 48%, 33%, 28%인 경우, 프로세서(120)는 5개의 제2 테스트 음성 각각이 제2 텍스트에 대해 갖는 발음 정확도의 평균 값인 41.6%를 산출하고, 해당 평균 값을 제2 텍스트에 대해 매칭하여 저장함으로써, 제2 텍스트에 대한 발음 정확도를 업데이트할 수 있다.At this time, when the pronunciation accuracy of each of the five second test voices with respect to the second text is 44%, 55%, 48%, 33%, and 28%, the processor 120 determines that each of the five second test voices is the second text. Pronunciation accuracy for the second text may be updated by calculating an average pronunciation accuracy of 41.6% for the two texts, matching the average value with the second text, and storing the result.

일 실시예로, 사용자의 음성에 복수의 텍스트가 획득된 경우, 프로세서(120)는 각각의 텍스트에 대한 발음 정확도를 식별하고, 발음 정확도를 바탕으로 각각의 텍스트에 대한 타겟 음성 생성 여부를 판단할 수 있다.In one embodiment, when a plurality of texts are acquired for the user's voice, the processor 120 identifies pronunciation accuracy for each text and determines whether to generate a target voice for each text based on the pronunciation accuracy. can

구체적으로, 프로세서(120)는, 제2 음성의 발화 대상인 텍스트를 구성하는 제1 서브 텍스트 및 제2 서브 텍스트를 획득하고, 제2 음성의 오디오 데이터 중 제1 서브 텍스트 및 제2 서브 텍스트 각각이 매칭된 오디오 구간을 식별한다.Specifically, the processor 120 acquires first subtext and second subtext constituting text that is a speech target of the second voice, and each of the first subtext and the second subtext among the audio data of the second voice Identifies the matched audio segment.

이후, 프로세서(120)는, 제1 서브 텍스트에 대한 제1 오디오 구간의 발음 정확도 및 제2 서브 텍스트에 대한 제2 오디오 구간의 발음 정확도를 식별한다.Then, the processor 120 identifies pronunciation accuracy of the first audio section for the first subtext and pronunciation accuracy of the second audio section for the second subtext.

이때, 제1 서브 텍스트에 대한 발음 정확도가 임계치 미만이고, 제2 서브 텍스트에 대한 발음 정확도가 임계치 이상이면, 인공지능 모델(111)의 출력을 기반으로 제1 서브 텍스트에 대한 타겟 음성을 획득하고, 제1 서브 텍스트에 대한 타겟 음성 및 제2 오디오 구간을 포함하는 오디오 데이터를 바탕으로, 제2 음성이 변환된 음성을 출력할 수 있다.At this time, if the pronunciation accuracy of the first subtext is less than the threshold and the pronunciation accuracy of the second subtext is greater than or equal to the threshold, a target voice for the first subtext is obtained based on the output of the artificial intelligence model 111; , based on the audio data including the target voice for the first subtext and the second audio section, a voice converted from the second voice may be output.

한편, 텍스트는, 도 5, 7, 및 9에 도시된 바와 같이, 단음절(monosyllabic word/language), 단모음(monopthong) 및 단어(word)일 수 있으며, 다양한 실시예로써, 음소(phoneme), 문장(sentence), 형태소(morpheme) 등일 수 있다.On the other hand, as shown in FIGS. 5, 7, and 9, the text may be a monosyllable word/language, a monopthong, and a word, and in various embodiments, a phoneme, a sentence (sentence), morpheme (morpheme), and the like.

한편, 본 발명의 이 면에 따른 딥러닝 기반 구음 장애 음성 개선 변환 시스템을 제어하기 위한 인공지능 모델(111)의 학습에 있어서, 서버(300)는 일 사용자 단말(200)로부터, 일 텍스트를 발화하는 사용자의 제1 음성의 오디오 데이터를 획득하고, 텍스트를 발화하는 정상적인 음성의 오디오 데이터를 획득하여, 제1 음성의 오디오 데이터 및 정상적인 음성의 오디오 데이터를 바탕으로, 타겟 음성을 출력하도록 인공지능 모델(111)을 훈련시킨다.Meanwhile, in learning the artificial intelligence model 111 for controlling the deep learning-based dysarthria voice improvement conversion system according to another aspect of the present invention, the server 300 utters one text from one user terminal 200. The artificial intelligence model obtains audio data of the first voice of the user who speaks text, obtains audio data of normal voice uttering text, and outputs a target voice based on the audio data of the first voice and the audio data of normal voice. (111) is trained.

한편, 사용자 단말(200)로부터 사용자의 제2 음성을 수신(S210)하면, 서버(300)는 수신된 제2 음성의 오디오 데이터를 인공지능 모델(111)에 입력하고, 인공지능 모델(111)로부터 제2 음성이 변환된 타겟 음성을 획득(S220)할 수 있다.On the other hand, when the user's second voice is received from the user terminal 200 (S210), the server 300 inputs the audio data of the received second voice to the artificial intelligence model 111, and the artificial intelligence model 111 A target voice obtained by converting the second voice may be acquired from (S220).

이때, 서버(300)는 사용자 단말(200)을 통해, 제2 음성이 변환된 타겟 음성을 출력(S230)한다.At this time, the server 300 outputs the target voice converted from the second voice through the user terminal 200 (S230).

추가로, 서버(300)가 단계 S220을 수행하는데 있어서, 서버(300)는 제1 음성의 오디오 데이터로부터 추출된, 복수의 제1 특징 벡터와, 제2 음성의 오디오 데이터로부터 추출된 복수의 제2 특징 벡터를 비교하여, 제2 음성의 발화 대상인 텍스트를 식별함으로써, 식별된 텍스트에 매칭되도록, 제2 음성이 변환된 타겟 음성을 획득할 수 있다.In addition, in the server 300 performing step S220, the server 300 includes a plurality of first feature vectors extracted from the audio data of the first voice and a plurality of first feature vectors extracted from the audio data of the second voice. By comparing the two feature vectors to identify a text that is a speech target of the second voice, a target voice obtained by converting the second voice to be matched with the identified text may be obtained.

이때, 복수의 특징 벡터는, 일 오디오 데이터로부터 추출된 복수의 음향(aqoustic) 특징 벡터 및 복수의 MFCC(Mel Frequency Cepstral Coefficients) 특징 벡터를 포함할 수 있다.In this case, the plurality of feature vectors may include a plurality of acoustic feature vectors and a plurality of Mel Frequency Cepstral Coefficients (MFCC) feature vectors extracted from one audio data.

또한, 서버(300)가, 타겟 음성을 출력하도록 인공지능 모델(111)을 훈련시키는데 있어서, 서버(300)는 제1 음성에 대한 오디오 데이터의 주파수 대역을 사용자 표준 데이터로 획득하고, 사용자 표준 데이터의 주파수 대역을 기반으로, 사용자의 제2 음성이 변환된 타겟 음성을 획득할 수 있다.In addition, when the server 300 trains the artificial intelligence model 111 to output the target voice, the server 300 obtains the frequency band of the audio data for the first voice as user standard data, and the user standard data Based on the frequency band of , a target voice obtained by converting the user's second voice may be obtained.

실시예로써, 프로세서는, 사용자의 구음 장애 유형을 식별하고, 구음 장애 유형에 따른 발음하기 어려운 텍스트를 분류하여, 해당 텍스트에 대한 제1 음성을 획득하여 추출한 오디오 데이터를 바탕으로 인공지능 모델(111)을 학습할 수 있다.As an embodiment, the processor identifies the type of dysarthria of the user, classifies difficult-to-pronounce text according to the type of dysarthria, obtains a first voice for the text, and based on the extracted audio data, the artificial intelligence model (111 ) can be learned.

이를 위해, 본 발명 일 면 및/또는 이 면에 따른 인공지능 모델(111)은, 선택된 특징 벡터들을 적어도 하나의 구음 장애 유형에 따라 분류하여, 구음 장애 유형에 따라 군집화를 실시하는데 있어서, 구음 장애 유형을 분류하기 위한, 별도의 제1 모델 및 제2 모델을 더 포함할 수 있다.To this end, the artificial intelligence model 111 according to one or more aspects of the present invention classifies the selected feature vectors according to at least one type of dysarthria, and performs clustering according to the type of dysarthria. A separate first model and a second model for classifying the type may be further included.

구체적으로, 제1 모델은 입력된 복수의 특징 벡터 중 적어도 하나의 특징 벡터를 선택하고, 프로세서(120)는 선택된 특징 벡터를 제2 모델에 입력한다.Specifically, the first model selects at least one feature vector from among a plurality of input feature vectors, and the processor 120 inputs the selected feature vector to the second model.

이때, 제1 모델은 ica(: 독립 성분 분석법, independent component analysis), pca(: 주성분 분석법, principal component analysis), rp(: 랜덤 투영법, random projection), 및 dae(: 딥 오토인코더, deep auto-encoder)를 포함하는 방법 중 적어도 하나의 방법으로 적어도 하나의 특징 벡터를 선택할 수 있다.At this time, the first model is ica (: independent component analysis, independent component analysis), pca (: principal component analysis, principal component analysis), rp (: random projection, random projection), and dae (: deep autoencoder, deep auto- At least one feature vector may be selected by at least one of methods including an encoder).

제2 모델은 입력된 특징 벡터를 분류함으로써 구음 장애 유형을 판단할 수 있으며, svm(: 서포트 벡터 머신, support vector machine), rf(: 무작위 (결정)숲, random forest), mlp(: 다층 퍼셉트론, multi-layer perceptron) 및 cnn(: 합성곱 신경망, convolutional deep neural networks)를 포함하는 분류 방법 중 적어도 하나의 방법으로 특징 벡터를 분류할 수 있다.The second model can determine the type of dysarthria by classifying the input feature vector, svm (: support vector machine, support vector machine), rf (: random (decision) forest, random forest), mlp (: multilayer perceptron , multi-layer perceptron) and cnn (: convolutional deep neural networks), the feature vector may be classified by at least one of classification methods.

제1 모델이 선택하는 특징 벡터는, 적어도 하나의 구음 장애 유형에 해당하는 환자의 오디오 데이터가 정상인의 오디오 데이터와 비교된 결과에 따라 설정될 수 있다.The feature vector selected by the first model may be set according to a result of comparing audio data of a patient corresponding to at least one type of dysarthria with audio data of a normal person.

예를 들어, 정상인의 오디오 데이터의 특징 벡터 각각과 구음 장애를 가진 환자의 오디오 데이터의 특징 벡터 각각을 비교했을 때, 임계치 이상의 차이를 가지는 특징 벡터가 제1 모델이 선택하는 특징 벡터일 수 있다.For example, when feature vectors of audio data of a normal person and feature vectors of audio data of a patient with dysarthria are compared, a feature vector having a difference greater than or equal to a threshold value may be a feature vector selected by the first model.

구체적인 예로, 복수의 정상인의 오디오 데이터에 대하여 제1 특징 벡터의 평균 값이 산출되고, 복수의 환자의 오디오 데이터에 대하여 제1 특징 벡터의 평균 값이 산출될 수 있으며, 만약 상술한 평균 값들 간의 차이가 일정 수치 이상인 경우, 제1 특징 벡터는 제1 모델에 의해 선택되는 특징 벡터로 설정될 수 있다.As a specific example, an average value of first feature vectors may be calculated for the audio data of a plurality of normal persons, and an average value of the first feature vectors may be calculated for the audio data of a plurality of patients. When is greater than a certain value, the first feature vector may be set as a feature vector selected by the first model.

한편, 일 실시 예로, 구음 장애 유형에 따라, 서로 다른 그룹의 특징 벡터에 대한 정보가 저장될 수 있다. Meanwhile, according to an embodiment, information on feature vectors of different groups may be stored according to the type of dysarthria.

예를 들어, 제1 구음 장애 유형에 대해서는 제1 그룹의 특징 벡터가 매칭되는 것으로 설정되고, 제2 구음 장애 유형에 대해서는 제2 그룹의 특징 벡터가 매칭되는 것으로 설정될 수 있다.For example, the feature vectors of the first group may be set to match for the first type of dysarthria, and the feature vectors of the second group may be set to match for the second type of dysarthria.

구체적으로, 프로세서(120)는, 구음 장애 유형 별로, 정상인과의 차이가 임계치 이상인 특징 벡터를 식별하여, 해당 특징 벡터를 구음 장애 유형에 매칭되는 그룹으로 저장할 수 있다.Specifically, the processor 120 may identify, for each type of dysarthria, a feature vector having a difference from a normal person greater than or equal to a threshold value, and store the corresponding feature vector as a group matched to the type of dysarthria.

여기서, 각 구음 장애 유형에 매칭되는 복수의 (특징 벡터) 그룹에 대해, 제2 모델로 입력되는 순서가 설정될 수 있으며, 순서는, 각 구음 장애 유형의 발생 빈도에 따라 설정될 수 있다.Here, for a plurality of (feature vector) groups matched to each type of dysarthria, the order of being input to the second model may be set, and the order may be set according to the frequency of occurrence of each type of dysarthria.

예를 들어, 제1 구음 장애 유형, 제2 구음 장애 유형, 제3 구음 장애 유형의 순서로 발생 빈도가 높은 경우를 가정한다.For example, it is assumed that the frequency of occurrence is high in the order of the first dysarthria type, the second dysarthria type, and the third dysarthria type.

이 경우, 프로세서(120)는 사용자의 오디오 데이터로부터 먼저 제1 구음 장애 유형에 매칭되는 제1 특징 벡터 그룹을 추출하도록 제1 모델을 제어하고, 추출된 제1 특징 벡터 그룹을 제2 모델로 입력할 수 있다. 그 결과, 사용자가 제1 구음 장애 유형에 해당하는지 여부가 출력될 수 있다.In this case, the processor 120 first controls the first model to extract a first feature vector group matching the first dysarthria type from the user's audio data, and inputs the extracted first feature vector group to the second model. can do. As a result, whether the user corresponds to the first type of dysarthria may be output.

다음으로, 프로세서(120)는 제1 특징 벡터 그룹의 다음 순서인 제2 특징 벡터 그룹을 제2 모델로 입력하여, 그 결과, 사용자가 제2 구음 장애 유형에 해당하는지 여부가 출력될 수 있으며, 프로세서(120)에 의해, 다음 순서인 제3 특징 벡터 그룹이 제2 모델에 입력되어, 그 결과인, 사용자가 제3 구음 장애 유형에 해당하는지 여부가 출력된다.Next, the processor 120 inputs the second feature vector group, which is the next order of the first feature vector group, as a second model, and as a result, whether the user corresponds to the second dysarthria type can be output, The processor 120 inputs the third feature vector group in the next order to the second model, and as a result, whether the user corresponds to the third dysarthria type is output.

추가 실시예로, 프로세서(120)는 구음 장애 유형 간의 연관성에 따라 각 특징 벡터 그룹이 제2 모델로 입력되는 순서를 유동적으로 변경할 수 있다.As an additional embodiment, the processor 120 may flexibly change the order in which each feature vector group is input to the second model according to the association between speech disorder types.

구체적으로, 프로세서(120)는 각 구음 장애 유형의 발생 이력을 바탕으로 둘 이상의 구음 장애 유형이 동시에 발생한 빈도/확률을 식별할 수 있다. 그리고, 프로세서(120)는 식별된 빈도/확률에 따라 구음 장애 유형 간의 매칭 여부를 설정할 수 있다.Specifically, the processor 120 may identify the frequency/probability of simultaneous occurrence of two or more types of dysarthria based on the occurrence history of each type of dysarthria. In addition, the processor 120 may set whether to match between speech disorder types according to the identified frequency/probability.

예를 들어, 제1 구음 장애 유형과 제3 구음 장애 유형이 동시에 발생한 빈도가 일정 수 이상인 경우, 프로세서(120)는 제1 구음 장애 유형과 제3 구음 장애 유형이 서로 매칭되는 것으로 설정할 수 있다.For example, if the frequency of simultaneous occurrence of the first type of dysarthria and the third type of dysarthria is equal to or greater than a certain number, the processor 120 may set the first type of dysarthria and the third type of dysarthria to match each other.

관련하여, 일 실시 예로, 제1 특징 벡터 그룹, 제2 특징 벡터 그룹, 제3 특징 벡터 그룹의 순서대로 제2 모델로 입력되는 것으로 기설정된 상황을 가정한다.In this regard, as an example, it is assumed that the first feature vector group, the second feature vector group, and the third feature vector group are input to the second model in order.

이 경우, 일반적으로, 프로세서(120)는 제1 특징 벡터 그룹을 제2 모델로 입력하여, 사용자가 제1 구음 장애 유형에 해당하는지 여부를 출력하고, 이어서, 제1 특징 벡터 그룹의 다음 순서인 제2 특징 벡터 그룹을 제2 모델로 입력하여, 사용자가 제2 구음 장애 유형에 해당하는지 여부를 출력한다.In this case, in general, the processor 120 inputs the first feature vector group as a second model, outputs whether the user corresponds to the first dysarthmic disorder type, and then, the next order of the first feature vector group The second feature vector group is input as the second model, and whether the user corresponds to the second dysarthria type is output.

다만, 제1 특징 벡터 그룹이 입력된 결과 사용자가 제1 구음 장애 유형으로 판단되면, 프로세서(120)는, 제1 특징 벡터 그룹의 다음 순번인 제2 특징 벡터 그룹이 아닌, 제3 특징 벡터 그룹을 제2 모델로 입력할 수 있다.However, if it is determined that the user has the first dysarthria type as a result of the input of the first feature vector group, the processor 120 replaces the second feature vector group, which is next to the first feature vector group, with the third feature vector group. can be input as the second model.

구체적으로, 프로세서(120)는, 사용자가 제1 구음 장애 유형으로 판단된 경우, 제1 구음 장애 유형에 매칭된 구음 장애 유형인 제3 구음 장애 유형을 식별하고, 제3 구음 장애 유형에 매칭된 제3 특징 벡터 그룹을 제2 모델로 입력한다.Specifically, when the user is determined to be the first dysarthria type, the processor 120 identifies a third dysarthria type that is a dysarthria type matched to the first dysarthria type, and matches the third dysarthria type to the third dysarthria type. The third feature vector group is input as the second model.

그 결과, 사용자가 제3 구음 장애 유형에 해당하는지 여부를 출력할 수 있다.As a result, it is possible to output whether the user corresponds to the third dysarthria type.

이후, 사용자가 제3 구음 장애 유형이 아닌 것으로 판단되거나, 또는 사용자가 제3 구음 장애 유형으로 판단되되, 제3 구음 장애 유형에 매칭된 구음 장애 유형이 존재하지 않는 경우, 프로세서(120)는 제1 특징 벡터 그룹의 다음 순번인 제2 특징 벡터 그룹을 제2 모델로 입력하여, 사용자가 제2 구음 장애 유형에 해당하는지 여부를 출력할 수 있다.Thereafter, if it is determined that the user is not the third dysarthria type, or if the user is determined to be the third dysarthria type, but the dysarthria type matched to the third dysarthria type does not exist, the processor 120 determines the third dysarthria type. By inputting the second feature vector group, which is the next sequential number of the first feature vector group, as the second model, it is possible to output whether the user corresponds to the second dysarthria type.

반면, 사용자가 제3 구음 장애 유형으로 판단되되, 제3 구음 장애 유형에 매칭된 구음 장애 유형으로 제4 구음 장애 유형이 식별된 경우, 프로세서(120)는, 제4 구음 장애 유형에 매칭된 제4 특징 벡터 그룹을 제2 모델에 우선 입력할 수 있다.On the other hand, if the user is determined to be the third dysarthria type and the fourth dysarthria type is identified as the dysarthria type matched to the third dysarthria type, the processor 120 may perform the first dysarthria matched to the fourth dysarthria type. A group of 4 feature vectors may be first input into the second model.

추가로, 제1 모델은 오디오 데이터로부터 추출된, 복수의 음향 특징 벡터 및 복수의 MFCC 특징 벡터 중, 텍스트에 따라 적어도 하나의 특징 벡터를 선택할 수 있다.Additionally, the first model may select at least one feature vector from among the plurality of acoustic feature vectors and the plurality of MFCC feature vectors extracted from the audio data, according to the text.

구체적으로, 제1 모델은, 텍스트에 따라 적어도 하나의 특징 벡터를 선택하고, 제2 모델은, 선택된 특징 벡터를 바탕으로, 텍스트를 발화하는 정상인의 음성의 오디오 데이터를 오디오 데이터와 비교한다.Specifically, the first model selects at least one feature vector according to the text, and the second model compares audio data of a voice of a normal person uttering the text with the audio data based on the selected feature vector.

이를 위해, 오디오 데이터는 텍스트에 매칭되어 프로세서(120)에 입력되며, 프로세서(120)는 오디오 데이터를 전처리하여 복수의 특징 벡터를 텍스트와 함께 제1 모델로 입력한다.To this end, audio data is matched with text and input to the processor 120, and the processor 120 pre-processes the audio data to input a plurality of feature vectors together with the text into the first model.

한편, 프로세서(120)는, 사용자의 실제 구음 장애 유형이 인공지능 모델(111)로부터 출력된 구음 장애 유형과 일치하지 않는 경우, 텍스트에 매칭된 오차 발생 횟수를 업데이트하고, 오차 발생 횟수가 일정 값을 초과하면, 텍스트에 대하여 다른 특징 벡터를 선택하도록 제1 모델을 업데이트할 수 있다.On the other hand, if the user's actual dysarthria type does not match the type of dysarthria output from the artificial intelligence model 111, the processor 120 updates the number of occurrences of errors matched to the text, and the number of occurrences of errors is a certain value. If , we can update the first model to select a different feature vector for the text.

이때, 업데이트된 제1 모델을 통한 선택 및 기존 제2 모델에 의한 분류로 획득된 구음 장애 유형이 실게 구음 장애 유형과 일치하지 않는 경우, 프로세서(120)는, 텍스트에 대하여 다른 방식으로 분류를 실시하도록 제2 모델을 업데이트할 수 있다.At this time, if the speech impairment type obtained by selection through the updated first model and classification by the existing second model does not actually match the speech impairment type, the processor 120 classifies the text in a different method. The second model can be updated to

예를 들어, 기존 구음 장애 분류 방법으로 본 발명에 의한 제1 모델이 ica를 적용하여 98개의 특징 벡터 중 40개의 특징 벡터(1차 선택 특징 벡터)를 선택하고, 제2 모델이 mlp(1차 분류 방식)를 적용하여 분류를 실시하는 경우, 텍스트 "낮새"에 대한 사용자의 구음 장애 유형이 파킨슨인 반면, 제2 모델에 의해 후두로 출력되면, 프로세서(120)는 텍스트 "낮새"에 매칭된 98개의 특징 벡터 중 1차 선택 특징 벡터를 제외한 나머지 58개의 특징 벡터로부터 신규 40개의 특징 벡터(2차 선택 특징 벡터)를 선택하도록 제1 모델을 업데이트 할 수 있다.For example, as an existing dysarthria classification method, the first model according to the present invention applies ica to select 40 feature vectors (primary selection feature vectors) among 98 feature vectors, and the second model is mlp (primary selection feature vector). When classification is performed by applying the classification method), while the user's dysarthria type for the text "day bird" is Parkinson's, if it is output to the larynx by the second model, the processor 120 matches the text "day bird" The first model may be updated to select 40 new feature vectors (secondary selected feature vectors) from the remaining 58 feature vectors excluding the first selected feature vectors among the 98 feature vectors.

이 경우, 인공지능 모델(111)은, 업데이트 이후 획득된, 텍스트 "낮새"에 대한 오디오 데이터에 매칭된 복수의 특징 벡터가 입력되면, 기 매칭된 2차 선택 특징 벡터를 자동으로 선택하여 분류를 실시함으로써 텍스트 "낮새"에 대한 구음 장애 분류의 정확도를 높일 수 있다.In this case, the artificial intelligence model 111, when a plurality of feature vectors matched to the audio data for the text “day bird” obtained after the update is input, automatically selects the pre-matched secondary selection feature vector to perform classification. By doing this, it is possible to increase the accuracy of speech disorder classification for the text “day bird”.

이때, 텍스트 "낮새"에 대한 제1 모델의 업데이트에도 불구하고 제2 모델로부터의 출력이 파킨슨이 아닌 경우, 프로세서(120)는 제2 모델의 분류 방식을 1차 분류 방식 외의 다른 방식으로 선택할 수 있으며, 다른 방식을 각각 적용하여 후두형으로 분류되는 방식(2차 분류 방식)을 획득하고, 텍스트 "낮새"에 매칭된 제2 모델의 분류 방식을 2차 분류 방식으로 업데이트함으로써, 텍스트 "낮새"에 대한 구음 장애 분류의 정확도를 높일 수 있다.At this time, if the output from the second model is not Parkinson's despite the update of the first model for the text "day bird", the processor 120 may select a classification method of the second model as a method other than the primary classification method. And, by applying different methods to obtain a method (secondary classification method) classified as laryngeal type, and updating the classification method of the second model matched to the text "day bird" to the second classification method, the text "day bird" It can improve the accuracy of the classification of dysarthria.

또한, 프로세서(120)는 텍스트에 대한 오류 발생 횟수가 일정 값을 초과하면, 일 텍스트에 대하여 선택되는 특징 벡터의 수를 변동하도록 제1 모델을 업데이트 할 수 있다.Also, when the number of occurrences of errors in text exceeds a predetermined value, the processor 120 may update the first model to change the number of feature vectors selected for one text.

예를 들어, 제1 모델 및 제2 모델 각각의 업데이트 이후에도 텍스트 "낮새"에 대한 제2 모델의 구음 장애 분류 결과가 사용자의 구음 장애 유형과 다른 유형인 경우, 총 3회의 오류가 발생되었으므로, 프로세서(120)는 텍스트 "낮새"에 매칭된 오류 발생 횟수를 3회로 업데이트 할 수 있다.For example, even after each update of the first model and the second model, if the speech impairment classification result of the second model for the text "daytime" is a different type from the user's speech impairment type, a total of three errors have occurred, so the processor (120) may update the number of occurrences of errors matched with the text "daytime" to three times.

이때, 오류 발생 횟수가 2회를 초과한 것에 대해, 프로세서(120)는 일정 값(2회)을 초과한 것으로 판단하고, 텍스트 "낮새"를 발화하는 오디오 데이터에 대해 제1 모델의 특징 벡터 선택 수를 20개로 변동하도록 업데이트 할 수 있다.At this time, with respect to the number of errors exceeding 2 times, the processor 120 determines that a certain value (2 times) has been exceeded, and selects a feature vector of the first model for the audio data that utters the text “daytime”. You can update the number to fluctuate to 20.

한편, 본 발명은 하드웨어인 컴퓨터와 결합되어, 본 발명의 이 면에 따른 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램을 포함할 수 있다.Meanwhile, the present invention may include a computer program stored in a computer-readable recording medium to be combined with a computer, which is hardware, to perform the method according to another aspect of the present invention.

도 8은 본 발명의 일 실시예에 다른 서버 구성도이다.8 is a server configuration diagram according to an embodiment of the present invention.

도시된 바와 같이, 서버(300)는 메모리(310), 통신부(320) 및 프로세서(330)를 포함할 수 있다.As shown, the server 300 may include a memory 310 , a communication unit 320 and a processor 330 .

메모리(310)는 서버(300)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(310)는 비휘발성 메모리(310), 휘발성 메모리(310), 플래시메모리(310)(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.The memory 310 may store various programs and data necessary for the operation of the server 300 . The memory 310 may be implemented as a non-volatile memory 310, a volatile memory 310, a flash-memory, a hard disk drive (HDD), or a solid state drive (SSD).

통신부(320)는 외부 장치와 통신을 수행할 수 있다. 특히, 통신부(320)는 와이파이 칩, 블루투스 칩, 무선 통신 칩, NFC칩, 저전력 블루투스 침(BLE 칩) 등과 같은 다양한 통신 칩을 포함할 수 있다. 이때, 와이파이 칩, 블루투스 칩, NFC 칩은 각각 LAN 방식, WiFi 방식, 블루투스 방식, NFC 방식으로 통신을 수행한다. 와이파이 칩이나 블루투스칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신 하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신칩은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), 5G(5th Generation) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다.The communication unit 320 may communicate with an external device. In particular, the communication unit 320 may include various communication chips such as a Wi-Fi chip, a Bluetooth chip, a wireless communication chip, an NFC chip, and a Bluetooth Low Energy (BLE) chip. At this time, the Wi-Fi chip, the Bluetooth chip, and the NFC chip perform communication in a LAN method, a WiFi method, a Bluetooth method, and an NFC method, respectively. In the case of using a Wi-Fi chip or a Bluetooth chip, various connection information such as an SSID and a session key is first transmitted and received, and various information can be transmitted and received after communication is connected using this. The wireless communication chip refers to a chip that performs communication according to various communication standards such as IEEE, ZigBee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), and 5th Generation (5G).

프로세서(330)는 메모리(310)에 저장된 각종 프로그램을 이용하여 서버(300)의 전반적인 동작을 제어할 수 있다. 프로세서(330)는 RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 및 버스로 구성될 수 있다. 이때, RAM, ROM, 그래픽 처리부, 메인 CPU, 제1 내지 n 인터페이스 등은 버스를 통해 서로 연결될 수 있다.The processor 330 may control overall operations of the server 300 using various programs stored in the memory 310 . The processor 330 may include a RAM, a ROM, a graphic processing unit, a main CPU, first through n interfaces, and a bus. At this time, the RAM, ROM, graphic processing unit, main CPU, first to n interfaces, etc. may be connected to each other through a bus.

RAM은 O/S 및 어플리케이션 프로그램을 저장한다. 구체적으로, 서버(300)가 부팅되면 O/S가 RAM에 저장되고, 사용자가 선택한 각종 어플리케이션 데이터가 RAM에 저장될 수 있다.RAM stores O/S and application programs. Specifically, when the server 300 is booted, O/S is stored in RAM, and various application data selected by the user may be stored in RAM.

ROM에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴 온 명령이 입력되어 전원이 공급되면, 메인 CPU는 ROM에 저장된 명령어에 따라 메모리(310)에 저장된 O/S를 RAM에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다. 부팅이 완료되면, 메인 CPU는 메모리(310)에 저장된 각종 어플리케이션 프로그램을 RAM에 복사하고, RAM에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.The ROM stores instruction sets for system booting. When a turn-on command is input and power is supplied, the main CPU copies the O/S stored in the memory 310 to the RAM according to the command stored in the ROM, and executes the O/S to boot the system. When booting is completed, the main CPU copies various application programs stored in the memory 310 to RAM, and executes the application programs copied to RAM to perform various operations.

그래픽 처리부는 연산부(미도시) 및 렌더링부(미도시)를 이용하여 아이템, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다. 여기서, 연산부는 입력부로부터 수신된 제어 명령을 이용하여 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성값을 연산하는 구성일 수 있다. 그리고, 렌더링부는 연산부에서 연산한 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성하는 구성이 일 수 있다. 이러한 렌더링부에서 생성된 화면은 디스플레이의 디스플레이 영역 내에 표시될 수 있다.The graphic processing unit uses a calculation unit (not shown) and a rendering unit (not shown) to create a screen including various objects such as items, images, and text. Here, the calculation unit may be configured to calculate attribute values such as coordinate values, shape, size, color, etc. of each object to be displayed according to the layout of the screen by using a control command received from the input unit. And, the rendering unit may be configured to generate screens of various layouts including objects based on the attribute values calculated by the calculation unit. The screen created by the rendering unit may be displayed within the display area of the display.

메인 CPU는 메모리(310)에 액세스하여, 메모리(310)에 저장된 OS를 이용하여 부팅을 수행한다. 그리고, 메인 CPU는 메모리(310)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.The main CPU accesses the memory 310 and performs booting using the OS stored in the memory 310 . And, the main CPU performs various operations using various programs, contents, data, etc. stored in the memory 310 .

제1 내지 n 인터페이스는 상술한 각종 구성요소들과 연결된다. 제1 내지 n 인터페이스 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.The first through n interfaces are connected to the various components described above. One of the first through n interfaces may be a network interface connected to an external device through a network.

한편, 나아가, 프로세서(330)는 인공지능 모델을 제어할 수 있다. 이 경우, 프로세서(330)는 인공지능 모델을 제어하기 위한 그래픽 전용 프로세서(예: GPU)를 포함할 수 있음은 물론이다.On the other hand, further, the processor 330 may control the artificial intelligence model. In this case, of course, the processor 330 may include a graphics-only processor (eg, GPU) for controlling the artificial intelligence model.

한편, 본 발명에 따른 인공지능 모델은 교사 지도학습(supervised learning) 또는 비교사 지도학습(unsupervised learning)기반의 모델일 수 있다. 나아가, 본 발명에 따른 인공지능 모델은 SVM(support vector machine), Decision tree, neural network 등 및 이들이 응용된 방법론을 포함할 수 있다.Meanwhile, the artificial intelligence model according to the present invention may be a model based on supervised learning or unsupervised learning. Furthermore, the artificial intelligence model according to the present invention may include a support vector machine (SVM), a decision tree, a neural network, and the like, and methodologies to which they are applied.

일 실시예로, 본 발명에 따른 인공지능 모델은 학습데이터를 입력하여 학습된 합성곱 신경망(Convolutional deep Neural Networks, CNN) 기반의 인공지능 모델일 수 있다. 다만, 이에 한정되는 것은 아니며, 다양한 인공지능 모델이 본 발명에 적용될 수 있음은 물론이다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 인공지능 모델로서 사용될 수 있으나, 이에 한정되지 않는다.As an embodiment, the artificial intelligence model according to the present invention may be an artificial intelligence model based on convolutional deep neural networks (CNN) learned by inputting training data. However, it is not limited thereto, and it goes without saying that various artificial intelligence models can be applied to the present invention. For example, models such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN) may be used as an artificial intelligence model, but are not limited thereto.

이때, 합성곱 신경망(Convolutional deep Neural Networks, CNN)은 최소한의 전처리(preprocess)를 사용하도록 설계된 다계층 퍼셉트론(multilayer perceptrons)의 한 종류이다. 합성곱 신경망은 하나 또는 여러개의 합성곱 계층(convolutional layer)과 그 위에 올려진 일반적인 인공신경망 계층들로 이루어져 있으며, 가중치와 통합 계층(pooling layer)들을 추가로 활용한다. 이러한 구조 덕분에 합성곱 신경망은 2차원 구조의 입력 데이터를 충분히 활용할 수 있다. 또한, 합성곱 신경망은 표준 역전달을 통해 훈련될 수 있다. 합성곱 신경망은 다른 피드포워드 인공신경망 기법들보다 쉽게 훈련되는 편이고 적은 수의 매개변수를 사용한다는 이점이 있다.At this time, convolutional deep neural networks (CNNs) are a type of multilayer perceptrons designed to use a minimum of preprocessing. A convolutional neural network consists of one or several convolutional layers and general artificial neural network layers placed on top of them, and additionally utilizes weights and pooling layers. Thanks to this structure, convolutional neural networks can fully utilize input data with a two-dimensional structure. Also, convolutional neural networks can be trained via standard back-propagation. Convolutional neural networks are easier to train than other feedforward artificial neural network techniques and have the advantage of using fewer parameters.

또한, 심층 신경망(Deep Neural Networks, DNN)은 입력 계층(input layer)과 출력 계층(output layer) 사이에 복수개의 은닉 계층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다.In addition, deep neural networks (DNNs) are artificial neural networks (ANNs) consisting of a plurality of hidden layers between an input layer and an output layer.

이때, 심층 신경망의 구조는 퍼셉트론(perceptron)으로 구성될 수 있다. 퍼셉트론은 여러 개의 입력 값(input)과 하나의 프로세서(prosessor), 하나의 출력 값으로 구성된다. 프로세서는 여러 개의 입력 값에 각각 가중치를 곱한 후, 가중치가 곱해진 입력 값들을 모두 합한다. 그 다음 프로세서는 합해진 값을 활성화함수에 대입하여 하나의 출력 값을 출력한다. 만약 활성화함수의 출력 값으로 특정한 값이 나오기를 원하는 경우, 각 입력 값에 곱해지는 가중치를 수정하고, 수정된 가중치를 이용하여 출력 값을 다시 계산할 수 있다. 이때, 각각의 퍼셉트론은 서로 다른 활성화함수를 사용할 수 있다. 또한 각각의 퍼셉트론은 이전 계층에서 전달된 출력들을 입력으로 받아들인 다음, 활성화 함수를 이용해서 출력을 구한다. 구해진 출력은 다음 계층의 입력으로 전달된다. 상술한 바와 같은 과정을 거치면 최종적으로 몇 개의 출력 값을 얻을 수 있다.At this time, the structure of the deep neural network may be composed of a perceptron. Perceptron consists of several inputs, one processor, and one output value. The processor multiplies each of a plurality of input values by a weight, and then sums all the input values multiplied by the weight. Then, the processor substitutes the summed value into the activation function and outputs one output value. If a specific value is desired as an output value of the activation function, a weight value multiplied with each input value may be modified, and an output value may be recalculated using the corrected weight value. At this time, each perceptron may use a different activation function. In addition, each perceptron accepts the outputs passed from the previous layer as inputs, and then obtains the outputs using the activation function. The obtained output is passed as input to the next layer. Through the process as described above, several output values can finally be obtained.

순환 신경망(Reccurent Neural Network, RNN)은 인공신경망을 구성하는 유닛 사이의 연결이 Directed cycle을 구성하는 신경망을 말한다. 순환 신경망은 앞먹임 신경망과 달리, 임의의 입력을 처리하기 위해 신경망 내부의 메모리를 활용할 수 있다.Recurrent Neural Network (RNN) refers to a neural network in which the connections between units constituting an artificial neural network constitute a directed cycle. Unlike feed-forward neural networks, recurrent neural networks can utilize the memory inside the neural network to process arbitrary inputs.

심층 신뢰 신경망(Deep Belief Networks, DBN)이란 기계학습에서 사용되는 그래프 생성 모형(generative graphical model)으로, 딥 러닝에서는 잠재변수(latent variable)의 다중계층으로 이루어진 심층 신경망을 의미한다. 계층 간에는 연결이 있지만 계층 내의 유닛 간에는 연결이 없다는 특징이 있다.Deep Belief Networks (DBN) is a generative graphical model used in machine learning. In deep learning, it means a deep neural network consisting of multiple layers of latent variables. There are connections between layers, but there is no connection between units within a layer.

심층 신뢰 신경망은 생성 모형이라는 특성상 선행학습에 사용될 수 있고, 선행학습을 통해 초기 가중치를 학습한 후 역전파 혹은 다른 판별 알고리즘을 통해 가중치의 미조정을 할 수 있다. 이러한 특성은 훈련용 데이터가 적을 때 굉장히 유용한데, 이는 훈련용 데이터가 적을수록 가중치의 초기값이 결과적인 모델에 끼치는 영향이 세지기 때문이다. 선행학습된 가중치 초기값은 임의로 설정된 가중치 초기값에 비해 최적의 가중치에 가깝게 되고 이는 미조정 단계의 성능과 속도향상을 가능케 한다.Due to the characteristics of a generative model, the deep trust neural network can be used for prior learning, and after learning initial weights through prior learning, the weights can be fine-tuned through backpropagation or other discrimination algorithms. This characteristic is very useful when there is little training data, because the smaller the training data, the stronger the influence of the initial weight values on the resulting model. The pre-learned initial value of the weight becomes closer to the optimal weight than the arbitrarily set initial value of the weight, which enables the performance and speed of the fine-tuning step to be improved.

상술한 인공지능 및 그 학습방법에 관한 내용은 예시를 위하여 서술된 것이며, 상술한 실시 예들에서 이용되는 인공지능 및 그 학습방법은 제한되지 않는다. 예를 들어, 당 업계의 통상의 기술자가 동일한 과제해결을 위하여 적용할 수 있는 모든 종류의 인공지능 기술 및 그 학습방법이 개시된 실시 예에 따른 시스템을 구현하는 데 활용될 수 있다.The above-described artificial intelligence and its learning method are described for illustrative purposes, and the artificial intelligence and its learning method used in the above-described embodiments are not limited. For example, all kinds of artificial intelligence technologies and learning methods that can be applied by a person skilled in the art to solve the same problem can be used to implement the system according to the disclosed embodiment.

한편, 프로세서(330)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.Meanwhile, the processor 330 may include one or more cores (not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus) for transmitting and receiving signals to and from other components. can

일 실시예에 따른 프로세서(330)는 메모리(310)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 발명과 관련하여 설명된 방법을 수행한다.Processor 330 according to one embodiment performs the method described in connection with the present invention by executing one or more instructions stored in memory 310 .

예를 들어, 프로세서(330)는 메모리(310)에 저장된 하나 이상의 인스트럭션을 실행함으로써 신규 학습용 데이터를 획득하고, 학습된 모델을 이용하여, 상기 획득된 신규 학습용 데이터에 대한 테스트를 수행하고, 상기 테스트 결과, 라벨링된 정보가 소정의 제1 기준값 이상의 정확도로 획득되는 제1 학습용 데이터를 추출하고, 상기 추출된 제1 학습용 데이터를 상기 신규 학습용 데이터로부터 삭제하고, 상기 추출된 학습용 데이터가 삭제된 상기 신규 학습용 데이터를 이용하여 상기 학습된 모델을 다시 학습시킬 수 있다.For example, the processor 330 acquires new training data by executing one or more instructions stored in the memory 310, performs a test on the acquired new training data using a learned model, and performs the test. As a result, first training data for which the labeled information is obtained with an accuracy equal to or higher than a predetermined first reference value is extracted, the extracted first training data is deleted from the new training data, and the new training data from which the extracted training data is deleted The learned model may be retrained using the training data.

한편, 프로세서(330)는 프로세서(330) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(330)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.Meanwhile, the processor 330 includes RAM (Random Access Memory, not shown) and ROM (Read-Only Memory) temporarily and/or permanently storing signals (or data) processed in the processor 330. , not shown) may be further included. In addition, the processor 330 may be implemented in the form of a system on chip (SoC) including at least one of a graphics processing unit, RAM, and ROM.

메모리(310)에는 프로세서(330)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(310)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 310 may store programs (one or more instructions) for processing and control of the processor 330 . Programs stored in the memory 310 may be divided into a plurality of modules according to functions.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.Steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented in a software module executed by hardware, or implemented by a combination thereof. A software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art to which the present invention pertains.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.Components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, such as C, C++ , Java (Java), can be implemented in a programming or scripting language such as assembler (assembler). Functional aspects may be implemented in an algorithm running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features of the present invention. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

100 : 전자 장치
110 : 메모리
111 : 인공지능 모델
120 : 프로세서
130 : 음성 입출력부
130a : 마이크
130b : 스피커
140 : 디스플레이
150 : 통신부
200 : 사용자 단말
300 : 서버
310 : 메모리
320 : 통신부
330 : 프로세서
100: electronic device
110: memory
111: AI model
120: processor
130: voice input/output unit
130a: microphone
130b: speaker
140: display
150: Ministry of Communication
200: user terminal
300: server
310: memory
320: communication department
330: processor

Claims (12)

전자 장치에 있어서,
타겟 음성을 생성하기 위한 인공지능 모델이 저장된, 메모리; 및
상기 메모리와 연결된 프로세서;를 포함하고,
상기 프로세서는,
일 텍스트를 발화하는 사용자의 제1 음성의 오디오 데이터와 상기 텍스트를 발화하는 정상적인 음성의 오디오 데이터를 바탕으로 상기 인공지능 모델을 훈련시키고,
상기 사용자의 제2 음성이 입력되면, 상기 입력된 제2 음성의 오디오 데이터를 상기 인공지능 모델에 입력하여, 상기 인공지능 모델의 출력을 기반으로 상기 사용자의 제2 음성이 변환된 타겟 음성을 획득하고,
상기 제2 음성의 발화 대상인 텍스트에 대한 제2 음성의 발음 정확도를 판단하고,
상기 제2 음성의 발음 정확도가 임계치 이상인 경우, 상기 제2 음성을 타겟 음성으로 출력하고,
상기 제2 음성의 발음 정확도가 임계치 미만인 경우, 상기 인공지능 모델의 출력을 기반으로 상기 사용자의 제2 음성이 변환된 타겟 음성을 획득하고,
상기 제2 음성의 발화 대상인 텍스트를 구성하는 제1 서브 텍스트 및 제2 서브 텍스트를 획득하고,
상기 제2 음성의 오디오 데이터 중 상기 제1 서브 텍스트 및 상기 제2 서브 텍스트 각각이 매칭된 오디오 구간을 식별하고,
상기 제1 서브 텍스트에 대한 제1 오디오 구간의 발음 정확도 및 상기 제2 서브 텍스트에 대한 제2 오디오 구간의 발음 정확도를 식별하고,
상기 제1 서브 텍스트에 대한 발음 정확도가 임계치 미만이고, 상기 제2 서브 텍스트에 대한 발음 정확도가 임계치 이상이면, 상기 제1 서브 텍스트가 입력된 상기 인공지능 모델의 출력을 기반으로 상기 제1 서브 텍스트에 대한 타겟 음성을 획득하고,
상기 제1 서브 텍스트에 대한 타겟 음성 및 상기 제2 오디오 구간을 포함하는 오디오 데이터를 바탕으로, 제2 음성이 변환된 음성을 출력하고,
복수의 텍스트 각각에 대한 상기 사용자의 음성을 획득하여, 음성 인식을 실시함으로써 상기 복수의 텍스트 각각에 대한 발음 정확도를 매칭하여 저장하고,
상기 복수의 텍스트 중, 기 매칭된 발음 정확도가 임계치 미만인 제1 텍스트를 발화하는, 상기 사용자의 새로 입력된 음성의 발음 정확도가 임계치 이상인 경우, 상기 제1 텍스트를 발화하는 사용자의 음성인, 제1 테스트 음성을 일정 횟수만큼 획득하고,
상기 일정 횟수만큼 획득된 제1 테스트 음성의 발음 정확도에 대한 평균이 임계치 이상이면, 상기 제1 테스트 음성의 발음 정확도에 대한 평균을 바탕으로 상기 제1 텍스트에 매칭된 발음 정확도를 업데이트하고,
상기 복수의 텍스트 중, 기 매칭된 발음 정확도가 임계치 이상인 제2 텍스트를 발화하는, 상기 사용자의 새로 입력된 음성의 발음 정확도가 임계치 미만인 경우, 상기 제2 텍스트를 발화하는 사용자의 음성인, 제2 테스트 음성을 일정 횟수만큼 획득하고,
상기 일정 횟수만큼 획득된 테스트 음성의 발음 정확도에 대한 평균이 임계치 미만이면, 상기 제2 테스트 음성의 발음 정확도에 대한 평균을 바탕으로 상기 제2 텍스트에 매칭된 발음 정확도를 업데이트하는, 전자 장치.
In electronic devices,
a memory in which an artificial intelligence model for generating a target voice is stored; and
Including; a processor connected to the memory;
the processor,
training the artificial intelligence model based on audio data of a user's first voice uttering a text and audio data of a normal voice uttering the text;
When the user's second voice is input, audio data of the input second voice is input to the artificial intelligence model, and a target voice obtained by converting the user's second voice is obtained based on the output of the artificial intelligence model. do,
Determining pronunciation accuracy of a second voice for a text that is a speech target of the second voice;
When the pronunciation accuracy of the second voice is equal to or greater than a threshold value, outputting the second voice as a target voice;
When the pronunciation accuracy of the second voice is less than a threshold value, obtaining a target voice converted from the second voice of the user based on an output of the artificial intelligence model;
obtaining a first subtext and a second subtext constituting text that is a speech target of the second voice;
Among the audio data of the second voice, an audio section in which the first subtext and the second subtext are matched is identified;
identify pronunciation accuracy of a first audio interval for the first subtext and pronunciation accuracy of a second audio interval for the second subtext;
If the pronunciation accuracy of the first subtext is less than the threshold and the pronunciation accuracy of the second subtext is greater than or equal to the threshold, the first subtext is based on the output of the artificial intelligence model to which the first subtext is input. Obtaining a target voice for
Based on audio data including a target voice for the first subtext and the second audio section, outputting a converted voice of the second voice;
Obtaining the user's voice for each of a plurality of texts, performing voice recognition to match and store pronunciation accuracy for each of the plurality of texts,
Among the plurality of texts, when the pronunciation accuracy of the user's newly input voice, which utters the first text with previously matched pronunciation accuracy less than the threshold value, is greater than or equal to the threshold value, the first text is the voice of the user who utters the first text. Acquire a certain number of test voices,
If the average of the pronunciation accuracies of the first test voice obtained the predetermined number of times is equal to or greater than a threshold, updating the pronunciation accuracy matched to the first text based on the average of the pronunciation accuracies of the first test voice;
Among the plurality of texts, when the pronunciation accuracy of the user's newly input voice, which utters the second text with previously matched pronunciation accuracy equal to or greater than the threshold value, is less than the threshold value, the second text is the voice of the user who utters the second text. Acquire a certain number of test voices,
If the average of the pronunciation accuracies of the test voices obtained the predetermined number of times is less than a threshold, updating the pronunciation accuracy matched to the second text based on the average of the pronunciation accuracies of the second test voice.
제1 항에 있어서,
상기 인공지능 모델은,
상기 제1 음성의 오디오 데이터로부터 추출된, 복수의 제1 특징 벡터와, 상기 제2 음성의 오디오 데이터로부터 추출된 복수의 제2 특징 벡터를 비교하여, 상기 제2 음성의 발화 대상인 텍스트를 식별하고,
상기 식별된 텍스트에 매칭되도록, 상기 제2 음성이 변환된 타겟 음성을 획득하는, 전자 장치.
According to claim 1,
The artificial intelligence model,
A plurality of first feature vectors extracted from the audio data of the first voice are compared with a plurality of second feature vectors extracted from the audio data of the second voice to identify text that is a speech target of the second voice; ,
Acquiring a target voice converted from the second voice to match the identified text.
제1 항에 있어서,
상기 프로세서는,
상기 제1 음성에 대한 오디오 데이터의 주파수 대역을 사용자 표준 데이터로 획득하고,
상기 사용자 표준 데이터의 주파수 대역을 기반으로, 상기 사용자의 제2 음성이 변환된 타겟 음성을 획득하는, 전자 장치.
According to claim 1,
the processor,
Obtaining a frequency band of audio data for the first voice as user standard data;
Acquiring a target voice converted from the second voice of the user based on the frequency band of the user standard data.
삭제delete 삭제delete 삭제delete 제1 항에 있어서,
상기 프로세서는,
오디오 데이터를 노이즈 필터링(noise filtering)하고,
상기 필터링된 오디오 데이터를 복수의 구간으로 구간화하되, 인접한 구간 간에 일정 시간만큼 중첩하여 프레이밍(framing)하고,
상기 프레이밍된 오디오 데이터로부터 복수의 음향(aqoustic) 특징 벡터 및 복수의 MFCC(Mel Frequency Cepstral Coefficients) 특징 벡터를 추출하는 것을 특징으로 하는, 전자 장치.
According to claim 1,
the processor,
noise filtering the audio data;
Sectioning the filtered audio data into a plurality of sections, overlapping adjacent sections by a predetermined time and framing;
The electronic device characterized in that a plurality of acoustic feature vectors and a plurality of Mel Frequency Cepstral Coefficients (MFCC) feature vectors are extracted from the framed audio data.
제7 항에 있어서,
상기 프로세서는,
상기 프레이밍된 오디오 데이터에 MFCC 기법을 적용하여 적어도 하나의 제1 MFCC 특징 벡터를 획득하고,
상기 적어도 하나의 제1 MFCC 특징 벡터의 값을 미분하여 적어도 하나의 제2 MFCC 특징 벡터를 획득하고,
상기 적어도 하나의 제2 MFCC 특징 벡터의 값을 미분하여 적어도 하나의 제3 MFCC 특징 벡터를 획득하며,
상기 복수의 MFCC 특징 벡터는,
상기 적어도 하나의 제1 MFCC 특징 벡터, 상기 적어도 하나의 제2 MFCC 특징 벡터, 및 상기 적어도 하나의 제3 MFCC 특징 벡터를 포함하는 것을 특징으로 하는, 전자 장치.
According to claim 7,
the processor,
Obtaining at least one first MFCC feature vector by applying an MFCC technique to the framed audio data;
Obtaining at least one second MFCC feature vector by differentiating a value of the at least one first MFCC feature vector;
Obtaining at least one third MFCC feature vector by differentiating a value of the at least one second MFCC feature vector;
The plurality of MFCC feature vectors,
The electronic device characterized in that it comprises the at least one first MFCC feature vector, the at least one second MFCC feature vector, and the at least one third MFCC feature vector.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020220007882A 2022-01-19 2022-01-19 Deep learning-based speech improvement conversion device, system control method, and computer program KR102576754B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220007882A KR102576754B1 (en) 2022-01-19 2022-01-19 Deep learning-based speech improvement conversion device, system control method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220007882A KR102576754B1 (en) 2022-01-19 2022-01-19 Deep learning-based speech improvement conversion device, system control method, and computer program

Publications (2)

Publication Number Publication Date
KR20230111884A KR20230111884A (en) 2023-07-26
KR102576754B1 true KR102576754B1 (en) 2023-09-07

Family

ID=87427623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220007882A KR102576754B1 (en) 2022-01-19 2022-01-19 Deep learning-based speech improvement conversion device, system control method, and computer program

Country Status (1)

Country Link
KR (1) KR102576754B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195227A1 (en) * 2011-07-25 2014-07-10 Frank RUDZICZ System and method for acoustic transformation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101921890B1 (en) 2017-10-13 2018-11-28 대한민국 Patient classification method for customized language rehabilitation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140195227A1 (en) * 2011-07-25 2014-07-10 Frank RUDZICZ System and method for acoustic transformation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ko-Chiang Chen et al. ‘A joint-feature learning-based voice conversion system for dysarthric user based on deep learning technology’, 41st Annual International Conference of the IEEE EMBC, July 2019.*
Yunxin Zha et al., ‘VOICE CONVERSION FOR PERSONS WITH AMYOTROPHIC LATERAL SCLEROSIS’, IEEE J Biomed Health Inform., 24(10), October 2020.*

Also Published As

Publication number Publication date
KR20230111884A (en) 2023-07-26

Similar Documents

Publication Publication Date Title
JP7355306B2 (en) Text-to-speech synthesis method, device, and computer-readable storage medium using machine learning
US20230043916A1 (en) Text-to-speech processing using input voice characteristic data
US11538455B2 (en) Speech style transfer
US20230197057A1 (en) Speech Recognition Using Unspoken Text and Speech Synthesis
EP3752964B1 (en) Speech style transfer
US11562739B2 (en) Content output management based on speech quality
KR102365433B1 (en) Method and apparatus for emotion recognition based on cross attention model
US20200043495A1 (en) Method and apparatus for performing multi-language communication
CN111081230A (en) Speech recognition method and apparatus
US11705105B2 (en) Speech synthesizer for evaluating quality of synthesized speech using artificial intelligence and method of operating the same
KR20200111609A (en) Apparatus for synthesizing speech and method thereof
US11942077B2 (en) Electronic device and operating method thereof
JP2024505076A (en) Generate diverse, natural-looking text-to-speech samples
KR102576754B1 (en) Deep learning-based speech improvement conversion device, system control method, and computer program
KR20200132645A (en) Method and device for providing voice recognition service
JP6846310B2 (en) Distance measuring device, data conversion device, distance measuring method, and program
CN117882131A (en) Multiple wake word detection
KR102563856B1 (en) Device, control method, and program for performing visualization and rehabilitation of deep learning-based speech disorder
KR102277205B1 (en) Apparatus for converting audio and method thereof
KR102673384B1 (en) Deep learning-based sound impairment classification apparatus, system control method, and computer program
KR20230087872A (en) Deep learning-based sound impairment classification apparatus, system control method, and computer program
KR102382191B1 (en) Cyclic Learning Method and Apparatus for Speech Emotion Recognition and Synthesis
US20240104311A1 (en) Hybrid language translation on mobile devices
KR102526173B1 (en) Technique for extracting a voice of a specific speaker from voice data
KR102677459B1 (en) Two-level speech prosody transfer

Legal Events

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