KR101616112B1 - Speaker separation system and method using voice feature vectors - Google Patents
Speaker separation system and method using voice feature vectors Download PDFInfo
- Publication number
- KR101616112B1 KR101616112B1 KR1020140095570A KR20140095570A KR101616112B1 KR 101616112 B1 KR101616112 B1 KR 101616112B1 KR 1020140095570 A KR1020140095570 A KR 1020140095570A KR 20140095570 A KR20140095570 A KR 20140095570A KR 101616112 B1 KR101616112 B1 KR 101616112B1
- Authority
- KR
- South Korea
- Prior art keywords
- speaker
- speech
- section
- feature vector
- unit
- Prior art date
Links
- 239000013598 vector Substances 0.000 title claims abstract description 105
- 238000000926 separation method Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000001186 cumulative effect Effects 0.000 claims abstract description 15
- 238000003909 pattern recognition Methods 0.000 claims abstract description 13
- 238000012937 correction Methods 0.000 claims description 23
- 238000000605 extraction Methods 0.000 claims description 18
- 238000005070 sampling Methods 0.000 claims description 17
- 239000000284 extract Substances 0.000 claims description 8
- 210000003205 muscle Anatomy 0.000 claims description 4
- 230000005236 sound signal Effects 0.000 claims description 4
- 241000124008 Mammalia Species 0.000 claims description 3
- 230000005484 gravity Effects 0.000 claims description 3
- 230000001788 irregular Effects 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000009223 counseling Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Telephonic Communication Services (AREA)
Abstract
본 발명은 적어도 한 명 이상의 화자를 포함하는 단일 채널(single-channel) 상에서 음성 신호의 특징 벡터를 이용하여 화자 분리가 가능한 시스템 및 방법에 관한 것으로, 이의 시스템 구성은 적어도 한 명 이상의 화자를 포함하는 음성 신호로부터 특징 벡터를 추출하는 특징 벡터 추출부와, 특징 벡터 추출부를 통해 추출한 특징 벡터를 음성 구간 또는 비음성 구간으로 분류하여 저장하는 특징 벡터 저장부, 특징 벡터 저장부에서 저장된 음성 구간의 특징 벡터가 누적되면 누적 데이터를 근거로 패턴 인식 기법을 이용하여 화자를 분리하는 화자 분리부, 및 화자 분리부를 통해 출력되는 화자 분리 데이터와 특징 벡터 저장부에 기 저장된 비음성 구간의 누적 데이터를 타임라인 상에 동기화하여 화자별 발화 구간의 시작 및 끝 시간을 탐지하는 발화 구간 탐지부를 포함한다. The present invention relates to a system and method capable of speaker separation using a feature vector of a speech signal on a single channel including at least one speaker, and a system configuration thereof includes at least one speaker A feature vector extracting unit for extracting a feature vector from a speech signal, a feature vector storing unit for storing the feature vector extracted through the feature vector extracting unit as a speech segment or a non-speech segment, A speaker separator for separating the speaker using the pattern recognition technique based on the accumulated data, and a speaker separator for outputting the speaker separated data output through the speaker separator and the cumulative data of the non- To detect the start and end times of the speaker's per-speaker interval It includes chapters.
Description
본 발명은 음성 분리(Speech separation)에 관한 것으로, 상세하게는 적어도 한 명 이상의 화자를 포함하는 단일 채널(single-channel) 상에서 음성 신호의 특징 벡터를 이용하여 화자 분리가 가능한 화자 분리 시스템 및 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to speech separation, and more particularly to a speaker separation system and method capable of speaker separation using a feature vector of a speech signal on a single channel including at least one speaker .
일반적으로 콜 센터에서는 상담원과 고객간 착발신 호가 연결되면 해당 호를 1개의 상담으로 정의하여 상담 내용을 녹취한 뒤 저장해 둔다. 저장된 녹취 파일은 고객 민원이 발생한 경우 증빙자료로 사용하거나 상담원 평가를 위한 표본 선정 및 근거 자료로 사용할 수 있다. Generally, in a call center, when an incoming call is made between an agent and a customer, the call is defined as one consultation, and the consultation contents are recorded and stored. The recorded recording file can be used as evidence for customer complaints or as a sample for the evaluation of the counselor.
이때, 콜 센터에서는 전문적인 녹음 환경을 마련하지 않으면 상담원 회선, 고객 회선을 구분하여 녹취 저장하는 것이 어렵다. 따라서, 단일 채널에 상담원과 고객의 음성을 함께 녹취하여 저장할 수 있다. At this time, it is difficult to record and store counseling line and customer line separately if a professional recording environment is not provided in the call center. Therefore, the voice of the agent and the customer can be recorded and stored together in a single channel.
예를 들어, 상담원과 고객의 회선을 구분하여 녹취하는 경우 스테레오(Stereo)로 구분되어 좌, 우에 각각 상담원 음성, 고객의 음성을 구분하여 청취하는 것이 가능하다. 회선의 구분 없이 단일채널로 녹취하는 경우 좌, 우 모두 상담원의 음성, 고객의 음성을 함께 청취할 수 있다. For example, when the agent and the client line are recorded separately, it is divided into stereo, and it is possible to listen to the agent voice and the customer voice separately in the left and right. When recording on a single channel without dividing the line, both the voice of the agent and the voice of the customer can be heard together.
그런데, 최근 콜 센터의 녹취 파일을 활용한 서비스가 다양화 됨에 따라 상담원, 고객 등 화자를 구분되지 않은 단일채널의 녹취 파일의 활용성에 한계가 있는 것이 현실이다.However, as the service using the recording file of the call center has diversified recently, it is a reality that there is a limit to the utilization of the recording file of the single channel which does not distinguish the speaker such as the agent and the customer.
관련 선행기술로는 한국등록특허공보 제10-0642455호(발명의 명칭: 기업 전화응대에 대한 고객만족도 자동평가 서비스 방법, 공고일자: 2006년 11월 02일) 등이 있다.Related prior arts include Korean Patent Registration No. 10-0642455 entitled " Method of Automatically Evaluating Customer Satisfaction for Corporate Telephone Service, Date of Notification: November 02, 2006 ".
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 적어도 한 명 이상의 화자를 포함하는 단일 채널 상에서의 음성 신호로부터 음성 특징 벡터를 추출하여 특징 벡터와 패턴 인식 기술을 근간으로 화자 및 각 화자의 발화 구간을 분리할 수 있는 시스템 및 그 방법을 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to extract a speech feature vector from a speech signal on a single channel including at least one speaker, The present invention also provides a system and a method for separating the ignition section.
이를 위하여, 본 발명의 실시예에 따른 음성 특징 벡터를 이용한 화자 분리 시스템은, 적어도 한 명 이상의 화자를 포함하는 음성 신호에 대하여 미리 설정된 프레임 단위로 분할하고 상기 프레임 구간의 음성 신호로부터 특징 벡터를 추출하는 특징 벡터 추출부; 상기 특징 벡터 추출부를 통해 추출한 특징 벡터를 음성 구간 또는 비음성 구간으로 분류하여 저장하는 특징 벡터 저장부; 상기 특징 벡터 저장부에서 저장된 음성 구간의 특징 벡터가 누적되면 누적 데이터를 근거로 패턴 인식 기법을 이용하여 화자를 분리하는 화자 분리부; 및 상기 화자 분리부를 통해 출력되는 화자 분리 데이터와 상기 특징 벡터 저장부에 기 저장된 비음성 구간의 누적 데이터를 타임라인 상에 동기화하여 화자별 발화 구간의 시작 및 끝 시간을 탐지하는 발화 구간 탐지부를 포함한다. To this end, a speaker separation system using speech feature vectors according to an embodiment of the present invention divides a speech signal including at least one speaker into a predetermined frame unit and extracts a feature vector from the speech signal of the frame interval A feature vector extractor; A feature vector storage unit for classifying and storing feature vectors extracted through the feature vector extracting unit into a speech segment or a non-speech segment; A speaker separator for separating the speaker using the pattern recognition technique based on the accumulated data when the feature vectors of the voice segments stored in the feature vector storage unit are accumulated; And a speech segment detection unit for detecting the start and end times of the speech segment for each speaker by synchronizing the speaker separation data output through the speaker separation unit and the cumulative data of the non-speech segment previously stored in the feature vector storage unit on the time line do.
한편, 본 발명의 실시예에 따른 음성 특징 벡터를 이용한 화자 분리 방법은, 적어도 한 명 이상의 화자를 포함하는 음성 신호로부터 화자를 분리하는 화자 분리 시스템에서의 방법으로서, 상기 화자 분리 시스템이 입력되는 음성 신호로부터 특징 벡터를 추출하는 단계; 상기 화자 분리 시스템이 추출한 특징 벡터를 음성 구간 또는 비음성 구간으로 분류하여 저장하는 단계; 상기 저장된 음성 구간의 특징 벡터가 누적되면 상기 화자 분리 시스템이 누적 데이터를 근거로 패턴 인식 기법을 이용하여 화자를 분리하는 단계; 및 상기 화자 분리 시스템이 상기 화자 분리를 통해 출력되는 화자 분리 데이터와 상기 비음성 구간으로 분류 저장된 데이터를 타임라인 상에 동기화하여 화자별 발화 구간의 시작 및 끝 시간을 탐지하는 단계를 포함할 수 있다.Meanwhile, a speaker separation method using a voice feature vector according to an embodiment of the present invention is a method in a speaker separation system for separating a speaker from a voice signal including at least one speaker, Extracting a feature vector from the signal; Classifying and storing the feature vector extracted by the speaker separation system into a speech section or a non-speech section; If the feature vectors of the stored speech segments are accumulated, separating the speakers using the pattern recognition technique based on the accumulated data; And a step of the speaker separation system synchronizing the speaker separation data outputted through the speaker separation and the data classified and stored in the non-speech interval on the time line to detect the start and end time of the speaker-specific speaking interval .
이러한 본 발명에 따르면, 적어도 두 화자 이상이 포함된 음성 신호로부터 음성 특징 벡터 및 패턴 인식을 이용하여 화자 및 화자의 발화 구간을 분리할 수 있다. According to the present invention, a speaker and a speaker can be separated from each other by using a speech feature vector and pattern recognition from a speech signal including at least two or more speakers.
또한, 상기의 화자 분리 기술로 인해 오디오 플레이어 및 동영상 플레이어에서 음성 데이터간 이동 시 시간이나 프레임 단위가 아닌 특정 인물의 발화 구간 단위로 이동이 가능해지며, 특히 어학용 학습기에 적용하는 경우 문장 단위의 이동에도 활용할 수 있어 그 활용 범위가 다양하다.In addition, due to the above-described speaker separation technique, it is possible to move not only in time or frame unit but also in a speech unit of a specific character when moving between voice data in an audio player and a moving picture player. And the application range is varied.
나아가, 음성 인식 기술을 이용한 음성 명령 및 음성을 문자로 변환하는 STT(Sound To Text) 기술을 활용한 받아쓰기(Dictation) 기능에도 단어나 문장 단위의 범위를 적용해 더 나은 분석을 제공하는 데 활용할 수 있을 것이다.Furthermore, it can be applied to the dictation function utilizing the STT (Sound To Text) technology, which converts voice commands and voice to text using speech recognition technology, in order to provide a better analysis by applying a range of words or phrases There will be.
도 1은 본 발명의 실시예에 따른 화자 분리 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 화자 분리 시스템에서의 특징 벡터 추출부의 상세 구성도.
도 3은 본 발명의 실시예에 따른 화자 분리 시스템에서의 오류 보정 필터부의 상세 구성도.
도 4는 본 발명의 실시예에 따른 화자 분리 방법을 설명하기 위해 나타낸 흐름도.1 is a configuration diagram of a speaker separation system according to an embodiment of the present invention;
2 is a detailed configuration diagram of a feature vector extracting unit in a speaker separation system according to an embodiment of the present invention;
3 is a detailed configuration diagram of an error correction filter unit in a speaker separation system according to an embodiment of the present invention;
4 is a flowchart illustrating a speaker separation method according to an embodiment of the present invention.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. It is noted that the technical terms used herein are used only to describe specific embodiments and are not intended to limit the invention. It is also to be understood that the technical terms used herein are to be interpreted in a sense generally understood by a person skilled in the art to which the present invention belongs, Should not be construed to mean, or be interpreted in an excessively reduced sense.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular forms "as used herein include plural referents unless the context clearly dictates otherwise. In the present application, the term "comprising" or "comprising" or the like should not be construed as necessarily including the various elements or steps described in the specification, Or may be further comprised of additional components or steps.
또한, 본 명세서에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.Further, the suffix "module" and "part" for components used in the present specification are given or mixed in consideration of ease of specification, and do not have their own meaning or role.
이하, 첨부된 도면을 참조하여 본 실시 예를 상세하게 설명한다. Hereinafter, the present embodiment will be described in detail with reference to the accompanying drawings.
먼저 도 1 및 도 2를 참조하면, 도 1은 본 발명의 실시예에 따른 화자 분리 시스템의 구성도이고, 도 2는 본 발명의 실시예에 따른 특징벡터 추출부의 상세 구성도이다. 1 and 2, FIG. 1 is a configuration diagram of a speaker separation system according to an embodiment of the present invention, and FIG. 2 is a detailed configuration diagram of a feature vector extracting unit according to an embodiment of the present invention.
본 발명의 실시예에 따른 화자 분리 시스템은 도 1에 도시한 바와 같이 특징벡터 추출부(10), 특징벡터 저장부(20), 화자 분리부(30), 발화구간 탐지부(40)를 포함한다. 추가로, 화자 분리된 데이터를 보정하여 각 화자의 음역대를 명확하게 구분하기 위한 오류 보정 필터부(50)를 더 포함할 수 있다. 1, a speaker separation system according to an embodiment of the present invention includes a feature
이러한 각 구성요소의 동작은 시스템에 의해서 제어될 수 있다. The operation of each of these components can be controlled by the system.
특징벡터 추출부(10)는 적어도 한 명 이상의 화자를 포함하는 단일 채널 상에서의 음성 신호로부터 신호적 특징을 이용하여 적어도 하나 이상의 특징 벡터를 추출한다. 특징 벡터는 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC: Mel Frequency Cepstral Coefficients)을 이용하여 추출한 적어도 하나 이상의 특징 벡터들이며, 음성 신호의 분석에는 샘플링 윈도우(sampling window)를 적용한 분할 프레임을 사용한다. The feature
이를 구현하기 위한 특징 벡터 추출부(10)는 도 2에 도시한 바와 같이 음성신호 분할부(11), 샘플링 윈도윙부(13), 특징벡터 발생부(15), 비음성 구간 추출부(17)를 포함할 수 있다. 2, the feature
음성신호 분할부(11)는 단일 채널 상에 발생한 음성 신호를 미리 정해진 프레임 단위로 분할한다. 이는 음성 신호를 보다 작은 단위로 잘라내어 특징 벡터 추출의 정확도를 향상시킴과 동시에 시간에 따른 특징의 변화를 정확하게 알 수 있도록 하기 위함이다.The voice signal dividing unit 11 divides a voice signal generated on a single channel into a predetermined frame unit. This is to improve the accuracy of the extraction of the feature vector by cutting out the speech signal into smaller units and at the same time to accurately recognize the change of the feature with time.
샘플링 윈도윙부(13)는 프레임 단위로 분할된 음성 신호에 대하여 일정 중복 범위만큼의 윈도우(window)를 곱하여 출력할 수 있다. 샘플링 윈도윙부(13)는 분할된 신호를 주파수 분석에 사용할 수 있도록 샘플링하는 과정을 수행하며, 이를 통해 불필요한 신호를 감소시키고 필요한 신호를 두드러지게 하여 분석의 신뢰도를 높인다. 예컨대, 본 실시예에서는 윈도우 함수로서 해밍 윈도우(Hamming Window)를 적용함으로써, 원하지 않는 고주파 성분이 특징 추출에 주는 영향을 감소시킬 수 있다. The sampling windowing unit 13 can multiply the audio signal divided by frame units by a window of a predetermined overlap range and output the result. The sampling windowing unit 13 performs a process of sampling the divided signals so as to be used for frequency analysis, thereby reducing unnecessary signals and enhancing the reliability of analysis by emphasizing necessary signals. For example, in this embodiment, by applying a Hamming window as a window function, it is possible to reduce the influence of undesired high-frequency components on the feature extraction.
또한, 샘플링 윈도윙부(13)는 윈도우 함수로서 해닝(Hanning) 윈도우, 삼각(Triangluar) 윈도우 등 필요에 따라 다양하게 선택할 수 있다.In addition, the sampling windowing unit 13 may be variously selected as needed as a window function, such as a hanning window, a triangle window, and the like.
특징벡터 발생부(15)는 샘플링 윈도윙부(13)를 통해 샘플링한 음성 신호를 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상의 추출 기법을 이용하여 특징 벡터를 추출할 수 있다. 피치(Pitch)는 음성 신호 주파수의 고저를 의미하는 것으로 음성 신호의 분석을 위한 가장 기본적이면서 중요한 특징 요소가 될 수 있다. 에너지(Energy)는 해당 음성이 차지하는 신호의 크기를 나타내는 지표로서 녹음 환경이나 화자 특성에 민감하게 반응하는 특징 중의 하나이다. 멜 캠스트럽(MFCC)는 음성 신호의 모델링을 위한 다수의 수학적 계수들을 추출할 수 있다. 멜 캠스트럽(MFCC)란 멜 스케일(Mel-Scale)로 표현된 음성 신호의 주파수별 파워 스펙트럼의 형태를 정현파 성분으로 나타낸 것이다. 쉽게 표현하면, 주파수 분포를 사람의 귀가 소리를 듣는 특성과 비슷할 수 있도록 다르게 표현한 것이다.The feature vector generating unit 15 generates a feature vector by using at least one extraction technique of pitch, energy, and mel-cam stream (MFCC) from the voice signal sampled through the sampling windowing unit 13 Can be extracted. Pitch refers to the high and low of the speech signal frequency, which can be the most basic and important feature element for analyzing the speech signal. Energy is an indicator of the size of the signal occupied by the voice, and is one of the characteristics that react sensitively to the recording environment or speaker characteristics. The Mel-Cam Strobe (MFCC) can extract a number of mathematical coefficients for modeling speech signals. The Mel-Cam Strobe (MFCC) is a sinusoidal wave form of the frequency spectrum of a voice signal expressed in Mel-Scale. Expressed easily, the frequency distribution is expressed differently so that it can be similar to the characteristic of listening to the human ear.
또한, 특징벡터 발생부(15)는 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상에 대한 특징 벡터 외, 이들에 대한 평균 및 표준편차 값을 추가적으로 산출할 수 있다. 여기서, 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC)에 대한 평균 및 표준편차 값을 음성 신호 발신자의 특징 분석을 위한 특징 벡터로 활용될 수 있다.The feature vector generator 15 may further include a feature vector for at least one of a pitch, an energy, and a mammal's muscle (MFCC) of the speech signal, Can be calculated. Here, the mean and standard deviation values of the pitch, energy, and mel-cam signal (MFCC) of the voice signal can be used as feature vectors for analyzing the characteristics of the voice signal sender.
또한, 특징벡터 발생부(15)는 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상에 대한 시간적 변화량을 추출하기 위한 델타값 추출 기능을 더 포함할 수 있다. 이때, 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC)에 대한 시간적 변화량도 음성 신호 발신자의 특징 분석을 위한 특징 벡터로 활용될 수 있다. The feature vector generating unit 15 may further include a delta value extracting function for extracting a temporal change amount of at least one of a pitch, energy and melancholy muscle (MFCC) . In this case, the temporal variation of the pitch, energy, and mel-cam stream (MFCC) of the voice signal can be used as a feature vector for analyzing the characteristics of the voice signal sender.
또한, 특징벡터 발생부(15)는 추가적으로 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상에 대한 델타값의 평균 및 표준편차 값을 산출할 수 있다. 이 경우에도, 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상에 대한 델타값의 평균 및 표준편차 값도 음성 신호 발신자의 특징 분석을 위한 특징 벡터로 활용될 수 있다. The feature vector generator 15 may further calculate an average and a standard deviation value of a delta value with respect to at least one of a pitch, an energy, and a mammal's muscle (MFCC) of a speech signal . In this case, the mean and standard deviation values of the delta value for at least one of the pitch, energy and MFCC of the speech signal are also used as characteristic vectors for the characteristics analysis of the speech signal sender Can be utilized.
비음성 구간 추출부(17)는 음성 신호에서 비음성 구간을 추출한다. 이는, 하기에서 설명할 패턴인식 과정에서 음성의 특징 데이터만을 바르게 분석할 수 있도록 데이터를 제한하여 시스템의 성능을 향상시키기 위함이다. The non-speech section extracting section 17 extracts a non-speech section from the speech signal. This is to improve the performance of the system by limiting the data so that only the feature data of the voice can be correctly analyzed in the pattern recognition process described below.
이러한 비음성 구간 추출부(17)는 음성신호 분할부(11)와 샘플링 윈도윙부(13)의 전후, 그 사이 어디라도 위치할 수 있다. The non-speech section extracting section 17 may be located before, after, or between the speech signal dividing section 11 and the sampling windowing section 13.
이렇게 비음성 구간 추출부(17)를 통해 추출된 비음성 프레임은 시간 정보만을 추출하여 무음 구간으로 별도로 누적하여 저장될 수 있다. 또한, 비음성 구간 추출부(17)를 통해 음성으로 판별된 프레임에 대해서는 시간 정보를 포함하는 특징 벡터들을 누적하여 저장될 수 있다. 저장은 특징벡터 저장부(도 1의 20)에서 이루어진다. The non-speech frames extracted through the non-speech interval extracting unit 17 may be stored separately in the silent interval by extracting only the time information. In addition, the feature vectors including the time information can be accumulated and stored for the frames discriminated by speech through the non-speech interval extracting unit 17. [ The storage is performed in a feature vector storage unit (20 in Fig. 1).
다시 도 1을 참조하면, 특징벡터 저장부(20)는 특징벡터 추출부(10)에서 추출한 비음성 구간의 데이터(프레임)과 음성 구간의 데이터(프레임)를 분류하여 저장한다. 이처럼, 음성 구간과 비음성구간을 구분하는 이유는, 화자 분리부(30)에 음성 구간의 신호만을 제공하여 비음성 구간의 신호에 의한 오차를 줄이기 위함이다. Referring again to FIG. 1, the feature
음성으로 판정된 구간의 화자 분리를 위한 입력 데이터로는 시간정보를 포함하는 특징벡터로 누적되며, 비음성 구간으로 판정된 데이터는, 음성 구간만을 포함하는 화자 분리 데이터를 기존 타임라인으로 복원하기 위해 개별적으로 시간정보만을 기록한다.The input data for the speaker separation in the section determined as the voice is accumulated as a feature vector including the time information. The data determined as the non-speech section is used for restoring the speaker separation data including only the voice section into the existing time line Only time information is recorded separately.
화자 분리부(30)는 음성 구간의 특징 벡터를 추출하여 누적한 데이터를 근거로 패턴 인식 기술을 이용하여 적어도 한 명 이상 포함된 화자를 인식한다. The
패턴 인식을 위한 학습법은 크게 두 가지로 나누어 지는데, 지도학습(Supervised Learning)기법과 자율학습(Unsupervised Learning)기법이 있다. 지도학습기법은 분류하고자 하는 목표의 수와 종류가 확정된 경우, 해당 데이터를 훈련용으로 사용하여 알고 있는 결과를 기계가 잘 구분할 수 있도록 분류 기준을 훈련시켜 도출하는 방법이다. 자율학습기법은 기계가 데이터 집합 자체를 스스로 분석하여 임의의 패턴을 도출하는 방법을 말한다. 본 실시예에서는 임의의 화자를 인식하고 각 화자의 목소리를 분리하는 화자 독립형 시스템이기 때문에, 자율학습기법을 이용하여 주어진 데이터에서 임의의 패턴을 탐지, 누적 데이터를 분류하는 방법을 사용한다. Learning methods for pattern recognition are divided into two categories: supervised learning and unsupervised learning. When the number and type of targets to be classified are determined, the map learning method is a method of training the classification standard so that the machine can distinguish the result known by using the data for training. The autonomous learning method refers to a method in which a machine analyzes the data set itself to derive an arbitrary pattern. In this embodiment, since a speaker-independent system recognizes an arbitrary speaker and separates the voices of the respective speakers, a method of detecting an arbitrary pattern in a given data and classifying cumulative data is used by using an autonomous learning technique.
본 실시예에서는 자율학습기법 중 대표적인 K-means 알고리즘을 사용해 데이터를 군집화(Clustering)하는 예를 설명하기로 한다.In this embodiment, an example of clustering data using a representative K-means algorithm among autonomous learning techniques will be described.
K-means 알고리즘은 입력 데이터를 K개의 군집(Cluster)으로 구분하는 것을 목표로 하는 알고리즘으로서, 각 군집의 중심과 멤버 데이터간의 거리 차이의 분산을 최소화하는 집합을 찾게 된다. 음성구간의 특징 데이터로 구성된 입력 데이터 집합에서 시스템에 정의된 K개의 군집을 분류하기 위해 K-means 알고리즘은 K개의 초기 군집의 대표값(중심)을 정의할 수 있다. 이때, 군집 대표값(중심)의 정의에는 임의의 값을 사용할 수도 있으며, 데이터의 최대 및 최소값 사이의 차이를 이용하여 데이터 분포 범위를 K개로 분할해 사용할 수도 있다.The K-means algorithm aims to divide the input data into K clusters, and finds a set that minimizes the variance of the distance difference between the center of each cluster and the member data. In order to classify the K clusters defined in the system in the input data set composed of the feature data of the speech interval, the K-means algorithm can define the representative value (center) of the K initial clusters. At this time, an arbitrary value may be used for defining the cluster representative value (center), or the data distribution range may be divided into K by using the difference between the maximum and minimum values of the data.
위 수학식 1은 K-means 알고리즘을 수식으로 나타낸 공식으로서, 음성 구간의 특징 벡터 집합 S를 포함하는 모든 x에 대해 k개의 군집을 대표하는 대표값 μ와의 거리를 최소화하는 값 V를 찾는 것을 그 목적으로 한다. Equation (1) is a formula expressing the K-means algorithm as an equation. It finds a value V that minimizes the distance from the representative value mu representing k clusters for all x including the feature vector set S of the speech interval. The purpose.
K-means 알고리즘을 통해 초기 군집 대표가 정의되면, ① 각 군집의 대표값과 입력 데이터 집합이 포함하는 모든 데이터와의 관계도를 측정한다. 본 실시예에서의 관계도 측정은 유클리디안 거리(Euclidean Distance)를 이용한다. If the initial cluster representation is defined by the K-means algorithm, ① measure the relationship between representative values of each cluster and all the data included in the input data set. The relationship diagram measurement in this embodiment uses the Euclidean distance.
아래 수학식 2는 n-차원의 공간에 존재하는 두 점 사이의 거리를 구하는 유클리디안 공식을 표현하고 있다.Equation (2) below expresses a Euclidian formula for finding the distance between two points in an n-dimensional space.
② 모든 입력 데이터에 대해 각 군집별 거리가 구해지면, 각 입력 데이터를 거리가 가장 가까운 군집에 할당하는 과정을 거치게 된다. 할당 과정이 끝나면 이번엔 각 군집의 데이터만을 이용해 새로운 군집의 중심을 정의한다.(2) When the distance for each cluster is obtained for all the input data, each input data is allocated to the closest cluster. At the end of the assignment process, the center of the new cluster is defined using only the data of each cluster.
K-means 알고리즘은 군집의 중심을 구하고, 군집의 중심과 각 데이터 사이의 관계(거리)를 측정해 가까운 군집에 할당하는 위의 ①, ②과정을 반복하며 최적의 분류를 찾아나가며, 이는 군집의 중심이 더 이상 변하지 않을 때까지 수행한다. 군집의 중심이 더 이상 변하지 않는다는 것은 해당 데이터 집합을 K개의 군집으로 나눌 수 있는 최적의 경계를 찾았다는 의미이다. 최적의 경계는 적어도 한 명 이상의 화자를 구분하여 분리할 수 있는 기준점으로 볼 수 있다. The K-means algorithm searches the center of the cluster, finds the optimal classification by repeating the above steps ① and ② to measure the relationship (distance) between the center of the cluster and each data (distance) Perform until the center no longer changes. The fact that the center of the cluster no longer changes means that it has found an optimal boundary to divide the data set into K clusters. The optimal boundary can be regarded as a reference point separating at least one speaker.
발화구간 탐지부(40)는 화자 분리부(30)에서 모든 데이터와 각 군집 중심간의 거리를 최소화하는 결과에 수렴하게 되면, 앞서 보관하고 있던 비음성 구간의 누적 데이터와 화자 분리 결과를 합쳐 다시 본래의 음성 신호가 표현하는 타임라인과 데이터를 동기화하는 과정을 거친다.When the
다음으로 시스템에서 정의하는 필터 설정에 따라 일정 기준 미만의 데이터는 주변 상황을 고려하여 오차를 강제로 보정하는 오류 보정 필터부(50)를 거칠 수 있다. 오류 보정 필터부(50)를 통과하여 출력되는 데이터는 모든 화자와 비음성 구간(무음 구간)을 포함하는 각 분류별 발화 구간의 시작과 끝 시간으로 정의할 수 있다. Next, according to the filter setting defined by the system, the data less than a certain standard may pass through the error
도 3은 본 발명의 실시예에 따른 화자 분리 시스템에서의 오류 보정 필터부의 상세 구성도이다. 3 is a detailed configuration diagram of an error correction filter unit in a speaker separation system according to an embodiment of the present invention.
본 실시 예에 따른 오류 보정 필터부(50)는 크게 2단계로 진행되며, 1단계는 추출 단위에서, 2단계는 분석 단위에서 적용된다.The error
먼저 제1차 보정부(51)는, 추출 단위로 존재하는 화자 분리 결과에서 연속되는 흐름간 순간적으로 나타나는 불규칙적인 데이터를 강제로 보정한다.First, the
예컨대, 화자 A를 지칭하는 30개의 데이터 사이에 임계치로 설정된 1개의 다른 데이터가 섞여있을 경우, 해당 데이터는 강제로 A로 보정될 수 있다. 다른 화자의 데이터 사이에 낀 100분의 1초 동안의 음성에 대해서는 주파수의 모호함으로 인해 발생한 오차이거나, 실제 다른 화자의 목소리라 해도 의미 없는 부분으로 간주하는 것이다. 오류 보정 필터부(50)는 이러한 데이터를 오차로 판정하고 보정하기 위한 제1 임계치를 제공하며, 제1 임계치는 적용 사이트 또는 음성 신호에 따라 추가 및 수정이 가능하다. For example, when one other data set as a threshold value is mixed among 30 pieces of data indicating the speaker A, the corresponding data can be forcibly corrected to A. For a voice for a hundredth of a second between data of another speaker, it is regarded as an error due to the ambiguity of the frequency, or even a voice of another speaker is meaningless. The error
다음으로 제2차 보정부(53)를 위해서는 앞서 따로 누적했던 무음 구간의 데이터를 통합하여 본래 음성 신호의 타임라인을 복구하는 과정이 필요하다. 화자분리 데이터와 무음 구간 데이터를 통합하여 본래 입력 데이터가 포함하는 모든 시간에 대한 분류 결과를 산출하고, 이를 다시 분석단위 시간인 1초로 변환하는 절차를 거친다. 예컨대, 본 실시예에서 제공하는 설정 값에 의하면 분석단위 시간인 1초 동안 50개의 추출단위 데이터가 포함될 수 있다. 50개 단위로 결과를 통합하며, 매 분석단위마다 각 화자와 무음구간의 개수 및 비중 데이터를 산출하여 저장한다.Next, for the
여기서, 도출된 각 화자의 비중 데이터를 살펴보면 특정 비중을 중심으로 상위의 데이터는 해당 화자를 대표하는 구간으로, 하위의 데이터는 2단계 보정 대상으로 판정할 수 있다. 이때, 대표 구간을 중심으로 주변에 분산되어 있는 보정 대상을 강제로 수정하는 작업을 수행한다. 보정 대상 구간 중 간격이 짧은 것부터 긴 것까지 비중값을 근거로 해당 구간을 보정할 수 있다. 해당 보정 단계는 사이트 혹은 음성 데이터의 특성에 따라 조절이 필요한 부분으로서, 신뢰도에 적지 않은 영향을 주는 만큼 사용자의 주의 깊은 설정이 요구된다.Here, if we look at the weighted data of the derived speakers, the upper data centered on a specific weight can be determined as a section representing the speaker, and the lower data can be determined as a two-stage correction target. At this time, an operation of forcibly correcting the correction target distributed around the representative section is performed. The corresponding section can be corrected based on the specific gravity value from the shortest interval to the longest interval among the correction target sections. The correction step is a part that needs to be adjusted according to the characteristics of the site or voice data, and it requires a careful setting of the user as it has a small influence on the reliability.
이렇게 제1차 보정부(51) 및 제2차 보정부(53)를 통과하여 산출되는 결과는 각 화자와 무음구간을 포함하는 K+1개의 분류로 구분될 수 있다. 따라서, 발화구간 탐지부(40)가 분석단위로 존재하는 각 화자 및 무음 구간의 비중 데이터를 근거로 가장 높은 비중을 차지하는 데이터를 해당 분류로 정의할 수 있다.
The result calculated through the first correcting
도 4는 본 발명의 실시예에 따른 화자 분리 방법을 설명하기 위해 나타낸 흐름도이다. 4 is a flowchart illustrating a speaker separation method according to an embodiment of the present invention.
먼저 처음 S10단계에서, 화자 분리 시스템으로 음성 신호가 입력되면 시스템 내 특징 벡터 추출부(10)가 음성신호 분할부(11)를 통해 하나의 음성 신호를 미리 정해진 프레임 단위로 분할한다.First, in a first step S10, when a speech signal is input to the speaker separation system, the feature
다음으로 S11 단계에서, 특징 벡터 추출부(10)가 프레임 단위로 분할된 음성 신호에 대하여 샘플링 윈도윙부(13)에서 일정 범위를 갖는 윈도우를 곱하여 샘플링을 수행한다. 이때, 윈도우 함수는 해밍 윈도우(Hamming Window)를 적용하여 원하지 않는 고주파 성분이 특징 벡터 추출에 미치는 영향을 감소하도록 할 수 있다. 이 외, 해닝(Hanning) 윈도우, 삼각(Triangluar) 윈도우 등 필요에 따라 다양하게 선택할 수 있다.Next, in step S11, the feature
다음으로 S12 단계에서, 특징 벡터 추출부(10)가 샘플링 윈도윙부(13)를 통해 샘플링한 음성 신호를 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 등을 이용하여 적어도 하나 이상의 특징 벡터를 추출한다.Next, in step S12, the feature
특징 벡터의 추출 시, 특징 벡터 추출부(10)는 음성 신호 발신자의 특징 분석을 위한 특징 벡터로, 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상에 대한 평균 및 표준편차 값을 추가적으로 산출할 수 있다. 또, 필요에 따라 음성 신호의 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 등에 대한 시간적 변화량을 나타내는 델타값, 이 델타값의 평균 및 표준편차 값 등을 산출할 수 있다. In extracting the feature vector, the feature
이후 S13 단계에서, 특징 벡터 추출부(10)가 비음성 구간 추출부(17)를 통해 음성 신호로부터 비음성 구간을 추출한다. 이의 추출은 앞서 설명한 바와 같이 차후 패턴 인식 과정에서 음성의 특징 데이터만을 바르게 분석할 수 있도록 데이터를 제한하여 시스템의 성능을 향상시키기 위함이다. In step S13, the feature
추출 후, 특징 벡터 추출부(10)는 비음성으로 판별된 프레임을 시간 정보만을 추출하여 무음 구간으로 누적하여 특징 벡터 저장부(20)에 저장한다. 또한, 음성으로 판별된 프레임은 시간 정보를 포함하는 특징 벡터들을 누적하여 특징 벡터 저장부(20)에 저장한다. After extracting, the feature
모든 음성구간의 특징 벡터가 누적되면, 다음 S14 단계에서, 화자 분리부(30)가 누적된 특징 벡터를 근거로 적어도 한 명 이상이 포함된 화자를 인식하여 분리한다. 이때, 화자 분리부(30)는 K-means 알고리즘을 이용한 패턴 인식 기술을 적용할 수 있다. If the feature vectors of all the speech sections are accumulated, the
예를 들어, 두 화자의 대화를 녹음한 데이터로부터 화자를 분리하는 경우, 시스템은 2명의 화자를 인식하여 구분해야 하기 때문에 K-means 알고리즘의 초기 군집 대표 K 에 2 라는 설정값을 정의할 수 있다. K-means 알고리즘은 각 군집(클러스터)의 중심과 멤버 데이터간 거리차의 분산을 최소화 하는 구성을 찾기 위해 군집(클러스터)의 중심을 정의하는 단계와 새로운 군집중심과 멤버 데이터간의 거리를 근거로 새로운 군집에 할당하는 단계를 반복적으로 수행한다.For example, if a speaker is separated from the recorded data of a conversation between two speakers, the system can define a set value of 2 in the initial cluster representative K of the K-means algorithm since the system needs to recognize and distinguish two speakers . The K-means algorithm is based on the step of defining the center of the cluster (cluster) to find the configuration that minimizes the dispersion of the distance difference between the center of each cluster (cluster) and the member data, And assigning it to the cluster is repeatedly performed.
이후 S15 단계에서, 화자 분리부(30)는 K-means 알고리즘을 통해 군집(클러스터)의 중심이 이동하는지 여부를 확인한다. 이 단계는 K-means 알고리즘을 적용한 경우에 한하여 수행하는 과정으로, 다른 기법의 패턴 인식 기술을 적용하는 경우 상기의 과정은 알고리즘의 제어에 따라 삭제 또는 변형이 가능하다. Thereafter, in step S15, the
확인 결과 군집(클러스터)의 중심이 이동하면, 군집의 중심과 각 데이터 사이의 관계(거리)를 측정해 가까운 군집에 할당하는 과정을 반복하면서 최적의 분류를 찾아나가며, 군집(클러스터)의 중심이 더 이상 변하지 않을 때까지 수행한다. When the center of the cluster (cluster) moves, the relationship (distance) between the center of the cluster and each data is measured and assigned to the nearby cluster, and the optimum classification is searched for. Perform it until it no longer changes.
확인 결과 군집(클러스터)의 중심이 이동하지 않고 멈추면, 해당 데이터 집합을 K개의 군집으로 나눌 수 있는 최적의 경계를 찾은 것이다.As a result, if the center of the cluster (cluster) stops moving, it finds an optimal boundary that divides the data set into K clusters.
이렇게 화자 분리가 이루어지면, 다음 S16 단계에서, 오류 보정 필터부(50)가 일정 기준 미만의 데이터에 대하여 주변 상황 등을 고려하여 오차를 강제로 보정할 수 있다. 예컨대, 화자 A를 지칭하는 30개의 데이터 사이에 임계치로 설정된 1개의 다른 데이터가 섞여있을 경우 해당 데이터는 강제로 A로 보정될 수 있다. When the speaker separation is performed, the error
다음으로 S17 단계에서, 발화구간 탐지부(40)는 오류 보정 필터부(50) 또는 화자 분리부(30)를 통해 출력되는 화자 분리 결과와 앞서 저장해 두었던 비음성 구간의 누적 데이터를 합쳐 다시 본래의 음성 신호가 표현하는 타임 라인과 데이터를 동기화한다. 따라서, 모든 화자와 비음성 구간(무음 구간)을 토대로 발화 구간의 시작과 끝 시간을 탐지한다.Next, in step S17, the speech
일반적으로, 음성 신호에서 추출한 특징벡터를 근간으로 화자를 분리하는 것은 한계가 있다. 이는 특징 벡터의 주파수 성분이 갖는 특성 때문인데, 남자와 여자 목소리의 경우 보통 다른 주파수 대역에 존재하기 때문에 특징을 이용한 분별력이 높은 편에 속한다. 하지만, 남자와 남자, 여자와 여자 등 같은 성별의 목소리를 분리해야 하는 경우에는 두 화자 음역대에 유사성이 크기 때문에 오류가 발생할 수 있다. 이 경우, 화자분리 결과에 모호함을 강제로 잡아줄 수 있는 보정 알고리즘을 적용할 필요가 있다.In general, there is a limitation in separating a speaker based on a feature vector extracted from a speech signal. This is because of the characteristics of the frequency components of the feature vector. In the case of the male and female voices, the voice is usually located in a different frequency band. However, in cases where the voice of a gender such as a man, a man, a woman and a woman is to be separated, an error may occur because the similarity is large between the two speaker ranges. In this case, it is necessary to apply a correction algorithm capable of forcing ambiguity in the speaker separation result.
데이터 보정을 위해서는 데이터의 분석시간 단위를 넓혀서 비중의 개념을 도입한다. 이를 위해 시스템은 2가지 단위 시간을 관리하게 되는데, 하나는 음성의 프레임을 분할하고 특징을 추출하는 추출단위 시간이고, 다음은 추출단위로 분류된 화자분리 결과를 묶어 비중을 산출하기 위한 분석단위 시간이다. 예컨대, 본 발명의 실시예에서는 8Khz 샘플링 레이트를 기준으로 20ms의 추출단위 시간을 이용해 초당 50개의 특징벡터를 추출하고 화자를 분리한다.For the data correction, we introduce the concept of weight by expanding the data analysis time unit. In order to achieve this, the system manages two unit times: one is the extraction unit time for dividing the frame of the speech and extracting the features, the next is the analysis unit time for calculating the specific weight by grouping the speaker separation results classified by the extraction unit to be. For example, in the embodiment of the present invention, 50 feature vectors are extracted per second using an extraction unit time of 20 ms based on the 8 KHz sampling rate, and the speakers are separated.
화자분리 및 보정작업을 마친 산출 결과는 각 화자와 무음구간을 포함하는 K+1개의 분류로 구분될 수 있다. 발화구간 탐지부(40)는 분석단위로 존재하는 각 화자 및 무음 구간의 비중 데이터를 근거로 가장 높은 비중을 차지하는 데이터를 해당 분류로 정의한다.The result of the speaker separation and correction work can be divided into K + 1 classifications including each speaker and a silent section. The utterance
이러한 과정에 따르면, 단일 채널 상에 발생한 음성 신호로부터 화자 및 각 화자의 발화 구간을 구분할 수 있으므로, 음악 플레이어 및 동영상 플레이어와 같은 재생 장치에서 음성 신호를 시간이나 프레임 단위의 이동이 아닌 화자 및 특정 화자의 발화 구간 단위로 이동할 수 있다. 또한, 어학용 학습기의 경우 문장 단위의 이동에도 활용할 수 있다. 나아가, 음성 인식 기술을 이용한 음성 명령 및 음성을 문자로 변환하는 STT(Sound To Text)기술을 활용한 받아쓰기(Dictation) 기능에도 단어나 문장단위의 범위를 적용해 더 나은 분석을 제공하는데 활용할 수 있을 것이다.According to this process, the speaker and the speaker can be distinguished from the speech signal generated on the single channel. Therefore, in the reproducing apparatus such as the music player and the moving picture player, the speech signal is not moved in time or frame unit, In the unit of the ignition interval. Also, in the case of a language learning machine, it can be used for movement of a sentence unit. Furthermore, it is possible to apply a range of words or sentences to the dictation function utilizing the STT (Sound To Text) technology for converting voice commands and voice to characters using the voice recognition technology to provide a better analysis will be.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시 예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.The foregoing description is merely illustrative of the present invention, and various modifications may be made by those skilled in the art without departing from the spirit of the present invention. Accordingly, the embodiments disclosed in the specification of the present invention are not intended to limit the present invention. The scope of the present invention should be construed according to the following claims, and all the techniques within the scope of equivalents should be construed as being included in the scope of the present invention.
10: 특징 벡터 추출부 20: 특징 벡터 저장부
30: 화자 분리부 40: 발화구간 탐지부
50: 오류 보정 필터부 11: 음성신호 분할부
13: 샘플링 윈도윙부 15: 특징 벡터 발생부
17: 비음성 구간 추출부 51: 제1차 보정부
53: 제2차 보정부10: feature vector extraction unit 20: feature vector storage unit
30: speaker separation unit 40: ignition interval detection unit
50: error correction filter unit 11: audio signal division unit
13: sampling windowing part 15: feature vector generating part
17: Non-speech section extraction section 51: First speech recognition section
53: Second correction unit
Claims (10)
상기 특징 벡터 추출부를 통해 추출한 특징 벡터를 음성 구간 또는 비음성 구간으로 분류하여 저장하는 특징 벡터 저장부;
상기 특징 벡터 저장부에서 저장된 음성 구간의 특징 벡터가 누적되면 누적 데이터를 근거로 패턴 인식 기법을 이용하여 화자를 분리하는 화자 분리부;
상기 화자 분리부를 통해 분리된 화자별 음성 구간의 누적 데이터와 상기 특징 벡터 저장부에 기 저장된 비음성 구간의 누적 데이터를 타임라인 상에 동기화하고, 동기화된 화자별 음성 신호로부터 상기 비음성 구간을 토대로 화자별 발화 구간의 시작 및 끝 시간을 탐지하는 발화 구간 탐지부;
오류 보정 필터부를 포함하고,
상기 특징 벡터 저장부는,
상기 음성 구간으로 분류한 프레임 구간에 대하여 시간 정보를 포함하는 특징 벡터들을 저장하여 누적시키고, 상기 비음성 구간으로 분류한 프레임 구간에 대해서는 시간 정보만을 추출하여 저장하며,
상기 오류 보정 필터부는,
상기 화자를 분리하기 전에 추출 단위로 존재하는, 상기 음성 구간의 누적 데이터에 대하여 연속되는 흐름 사이에서 순간적으로 나타나는 불규칙적인 데이터를 보정하는 제1차 보정부;
상기 화자 분리부를 통해 분리된 화자별 음성 구간의 누적 데이터와 상기 비음성 구간의 누적 데이터를 타임라인 상에 동기화한 본래의 음성 신호로부터 각 화자 및 비음성 구간의 비중값을 산출하여 가장 높은 비중을 차지하는 데이터로 보정하는 제2차 보정부
를 포함하는 것을 특징으로 하는 음성 특징 벡터를 이용한 화자 분리 시스템.A feature vector extracting unit for dividing a speech signal including at least one speaker into a predetermined frame unit and extracting a feature vector from the speech signal of the frame period;
A feature vector storage unit for classifying and storing feature vectors extracted through the feature vector extracting unit into a speech segment or a non-speech segment;
A speaker separator for separating the speaker using the pattern recognition technique based on the accumulated data when the feature vectors of the voice segments stored in the feature vector storage unit are accumulated;
Accumulating cumulative data of a speaker-specific voice section separated through the speaker separating section and cumulative data of a non-voice section pre-stored in the feature vector storing section on a time line and extracting, based on the non- A loudspeaker section detecting section for detecting the start and end times of the loudspeaker section per speaker;
And an error correction filter unit,
Wherein the feature vector storage unit stores,
And storing and accumulating feature vectors including time information for a frame section classified into the voice section, extracting and storing only time information for a frame section classified into the non-voice section,
Wherein the error correction filter unit comprises:
A first correcting unit correcting irregular data instantaneously appearing between consecutive flows with respect to cumulative data of the voice section existing in an extraction unit before the speaker is separated;
Calculating a specific weight value of each speaker and a non-speech section from the original voice signal obtained by synchronizing the cumulative data of the speaker's voice section separated by the speaker separating section and the cumulative data of the non-voice section on the time line, A second correcting unit
Wherein the speech characteristic vector is a speech signal.
상기 특징 벡터 추출부는
적어도 한 명 이상의 화자를 포함하는 음성 신호에 대하여 미리 설정된 프레임 단위로 분할하는 음성신호 분할부;
상기 음성신호 분할부를 통해 분할된 각 프레임 단위로 일정 크기의 윈도우 함수를 곱하여 샘플링하는 샘플링 윈도윙부;
상기 샘플링 윈도윙부를 통해 출력되는 음성 신호에 대하여 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상을 이용한 특징 벡터들을 산출하는 특징 벡터 발생부; 및
상기 특징 벡터 발생부에서 산출된 특징 벡터로부터 비음성 구간(무음 구간)을 추출하여 음성 구간과 비음성 구간으로 분류하는 비음성 구간 추출부
를 포함하는 음성 특징 벡터를 이용한 화자 분리 시스템.The method according to claim 1,
The feature vector extracting unit
A speech signal dividing unit for dividing a speech signal including at least one speaker into a predetermined frame unit;
A sampling windowing unit for sampling and multiplying a window function having a predetermined size by each divided frame unit through the audio signal dividing unit;
A feature vector generating unit for calculating feature vectors using at least one of pitch, energy, and MFCC for a speech signal output through the sampling windowing unit; And
A non-speech section extracting section for extracting a non-speech section (silence section) from the feature vector calculated by the feature vector generating section and classifying the speech section into a speech section and a non-
Wherein the speech feature vector comprises a speech feature vector.
상기 화자 분리부는
상기 패턴 인식 기법으로서 하기 수학식에 따른 K-means 알고리즘을 이용하여, 상기 음성 구간의 누적 데이터를 화자별 군집(cluster)으로 구분하기 위해 각 군집의 대표값을 정의하고, 상기 군집의 대표값과 상기 누적 데이터간의 거리를 구하여 가까운 군집에 할당하는 과정을 반복적으로 수행하는 것을 특징으로 하는 음성 특징 벡터를 이용한 화자 분리 시스템.
(여기서, x는 음성 구간의 특징 벡터 집합s를 포함하는 모든 입력 데이터, 모든 x에 대해 k개의 군집을 대표하는 대표값 μ와의 거리를 최소화하는 값 V을 산출함을 의미한다)The method according to claim 1,
The speaker separator
A representative value of each cluster is defined to classify cumulative data of the voice interval into clusters by a speaker using the K-means algorithm according to the following equation as the pattern recognition technique, And a step of determining a distance between the accumulated data and allocating the distance to the nearby cluster is repeatedly performed.
(Where x means to calculate a value V that minimizes the distance between all the input data including the feature vector set s of the speech interval and the representative value mu representing k clusters for all x)
상기 화자 분리 시스템이 입력되는 음성 신호로부터 특징 벡터를 추출하는 단계;
상기 화자 분리 시스템이 추출한 특징 벡터를 음성 구간 또는 비음성 구간으로 분류하여 저장하는 단계;
상기 저장된 음성 구간의 특징 벡터가 누적되면 상기 화자 분리 시스템이 누적 데이터를 근거로 패턴 인식 기법을 이용하여 화자를 분리하는 단계;
상기 화자 분리 시스템이 상기 화자를 분리하는 단계를 통해 분리된 화자별 음성 구간의 누적 데이터와 상기 분류하여 저장하는 단계를 통해 기 저장된 비음성 구간의 누적 데이터를 타임라인 상에 동기화하고, 동기화된 화자별 음성 신호로부터 상기 비음성 구간을 토대로 화자별 발화 구간의 시작 및 끝 시간을 탐지하는 단계;
상기 화자를 분리하는 단계 전후로 오류를 보정하는 단계를 포함하고,
상기 특징 벡터를 음성 구간 또는 비음성 구간으로 분류하여 저장하는 단계는,
상기 화자 분리 시스템이 상기 음성 구간으로 분류한 프레임 구간에 대하여 시간 정보를 포함하는 특징 벡터들을 저장하여 누적시키고, 상기 비음성 구간으로 분류한 프레임 구간에 대하여 시간 정보만을 추출하여 저장하며,
상기 오류를 보정하는 단계는,
상기 화자를 분리하기 전에 추출 단위로 존재하는, 상기 음성 구간의 누적 데이터에 대하여 연속되는 흐름 사이에서 순간적으로 나타나는 불규칙적인 데이터를 보정하는 제1차 보정단계;
상기 화자를 분리하는 단계를 통해 분리된 화자별 음성 구간의 누적 데이터와 상기 비음성 구간의 누적 데이터를 타임라인 상에 동기화한 본래의 음성 신호로부터 각 화자 및 비음성 구간의 비중값을 산출하여 가장 높은 비중을 차지하는 데이터로 보정하는 제2차 보정단계
를 포함하는 것을 특징으로 하는 음성 특징 벡터를 이용한 화자 분리 방법.A method in a speaker separation system for separating a speaker from a speech signal comprising at least one speaker,
Extracting a feature vector from a speech signal input by the speaker separation system;
Classifying and storing the feature vector extracted by the speaker separation system into a speech section or a non-speech section;
If the feature vectors of the stored speech segments are accumulated, separating the speakers using the pattern recognition technique based on the accumulated data;
Wherein the speaker separation system synchronizes the accumulative data of the separated voice section of the speaker with the accumulated data of the non-voice section pre-stored through the step of classifying and storing the divided voice section on the timeline, Detecting a start and end time of a speaker-based speech section based on the non-speech section from a star speech signal;
And correcting the error before and after the step of separating the speaker,
The step of classifying and storing the feature vector into a speech section or a non-
Wherein the speaker separation system stores and accumulates feature vectors including time information for a frame section classified into the voice section, extracts and stores only time information for a frame section classified into the non-voice section,
The step of correcting the error includes:
A first correcting step of correcting irregular data instantaneously appearing between consecutive flows with respect to cumulative data of the voice section existing in an extraction unit before the speaker is separated;
Calculating a specific weight value of each speaker and a non-speech section from the original voice signal obtained by synchronizing the cumulative data of the speaker-specific voice section and the accumulated data of the non-voice section on the time line through the step of separating the speaker, A second correction step of correcting the data to occupy a high specific gravity
And extracting a speech feature vector from the speech feature vector.
상기 특징 벡터를 추출하는 단계는,
상기 적어도 한 명 이상의 화자를 포함하는 음성 신호를 미리 설정된 프레임 단위로 분할하는 단계;
상기 분할한 각 프레임 구간에 일정 크기의 윈도우 함수를 곱하여 샘플링하는 단계;
상기 샘플링된 음성 신호에 대하여 피치(Pitch), 에너지(Energy), 멜 캠스트럽(MFCC) 중 적어도 하나 이상을 이용한 특징 벡터들을 추출하는 단계;
추출한 특징 벡터로부터 비음성 구간(무음 구간)을 추출하여 음성 구간과 비음성 구간으로 분류하는 단계
를 포함하는 것을 특징으로 하는 음성 특징 벡터를 이용한 화자 분리 방법.The method according to claim 6,
Wherein the extracting of the feature vector comprises:
Dividing a speech signal including the at least one speaker into a predetermined frame unit;
Multiplying each of the divided frame periods by a window function of a predetermined size and sampling;
Extracting feature vectors using at least one of a pitch, an energy, and a mammal's muscle (MFCC) for the sampled speech signal;
Extracting non-speech sections (silence sections) from the extracted feature vectors and classifying them into speech sections and non-speech sections
And extracting a speech feature vector from the speech feature vector.
상기 화자를 분리하는 단계는
하기 수학식을 이용하여,
상기 음성 구간의 누적 데이터를 화자별 군집(cluster)으로 구분하기 위해 각 군집의 대표값을 정의하고, 상기 군집의 대표값과 상기 누적 데이터간의 거리를 구하여 가까운 군집에 할당하는 과정을 반복적으로 수행하여 화자를 분리하는 것을 특징으로 하는 음성 특징 벡터를 이용한 화자 분리 방법.
(여기서, x는 음성 구간의 특징 벡터 집합s를 포함하는 모든 입력 데이터, 모든 x에 대해 k개의 군집을 대표하는 대표값 μ와의 거리를 최소화하는 값 V을 산출함을 의미한다)The method according to claim 6,
The step of separating the speaker
Using the following equation,
A representative value of each cluster is defined to divide the cumulative data of the voice interval into clusters by speaker and a representative value of the cluster and a distance between the cumulative data are obtained and assigned to nearby clusters repeatedly A speaker separation method using a speech feature vector characterized by separating a speaker.
(Where x means to calculate a value V that minimizes the distance between all the input data including the feature vector set s of the speech interval and the representative value mu representing k clusters for all x)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140095570A KR101616112B1 (en) | 2014-07-28 | 2014-07-28 | Speaker separation system and method using voice feature vectors |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140095570A KR101616112B1 (en) | 2014-07-28 | 2014-07-28 | Speaker separation system and method using voice feature vectors |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160013592A KR20160013592A (en) | 2016-02-05 |
KR101616112B1 true KR101616112B1 (en) | 2016-04-27 |
Family
ID=55353439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140095570A KR101616112B1 (en) | 2014-07-28 | 2014-07-28 | Speaker separation system and method using voice feature vectors |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101616112B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220075550A (en) * | 2020-11-30 | 2022-06-08 | 네이버 주식회사 | Method, system, and computer program to speaker diarisation using speech activity detection based on spearker embedding |
US11514890B2 (en) | 2018-07-13 | 2022-11-29 | Samsung Electronics Co., Ltd. | Method for user voice input processing and electronic device supporting same |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102224500B1 (en) * | 2018-03-23 | 2021-03-08 | 주식회사 포지큐브 | System and method for providing interactive customer response service using virtual host character based on artificial intelligence |
KR102313387B1 (en) * | 2019-11-07 | 2021-10-14 | 연세대학교 산학협력단 | Method and Apparatus for Separating Speaker Based on Machine Learning |
KR102560019B1 (en) * | 2021-01-15 | 2023-07-27 | 네이버 주식회사 | Method, computer device, and computer program for speaker diarization combined with speaker identification |
CN113066507B (en) * | 2021-03-15 | 2024-04-19 | 上海明略人工智能(集团)有限公司 | End-to-end speaker separation method, system and equipment |
KR20230061016A (en) | 2021-10-28 | 2023-05-08 | 한국전자통신연구원 | Speaker diarization system and method from voice signal comprising plurality of speakers |
KR20230061015A (en) | 2021-10-28 | 2023-05-08 | 한국전자통신연구원 | Speaker diarization method and system from voice signal comprising plurality of speakers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026361A (en) * | 2008-07-23 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | Speech collection method, system and program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050049207A (en) * | 2003-11-21 | 2005-05-25 | 한국전자통신연구원 | Dialogue-type continuous speech recognition system and using it endpoint detection method of speech |
-
2014
- 2014-07-28 KR KR1020140095570A patent/KR101616112B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010026361A (en) * | 2008-07-23 | 2010-02-04 | Internatl Business Mach Corp <Ibm> | Speech collection method, system and program |
Non-Patent Citations (1)
Title |
---|
이윤정 외 3명, ‘경계 차감 클러스터링에 기반한 클러스터 개수 추정 화자식별’, 한국음향학회지, 제26권 제5호, pp.199~206, 2007.* |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514890B2 (en) | 2018-07-13 | 2022-11-29 | Samsung Electronics Co., Ltd. | Method for user voice input processing and electronic device supporting same |
KR20220075550A (en) * | 2020-11-30 | 2022-06-08 | 네이버 주식회사 | Method, system, and computer program to speaker diarisation using speech activity detection based on spearker embedding |
KR102482827B1 (en) * | 2020-11-30 | 2022-12-29 | 네이버 주식회사 | Method, system, and computer program to speaker diarisation using speech activity detection based on spearker embedding |
Also Published As
Publication number | Publication date |
---|---|
KR20160013592A (en) | 2016-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101616112B1 (en) | Speaker separation system and method using voice feature vectors | |
CN108305615B (en) | Object identification method and device, storage medium and terminal thereof | |
CN105161093B (en) | A kind of method and system judging speaker's number | |
US9875742B2 (en) | Word-level blind diarization of recorded calls with arbitrary number of speakers | |
CN105405439B (en) | Speech playing method and device | |
US9466289B2 (en) | Keyword detection with international phonetic alphabet by foreground model and background model | |
JP4568371B2 (en) | Computerized method and computer program for distinguishing between at least two event classes | |
US9368116B2 (en) | Speaker separation in diarization | |
CN111128223B (en) | Text information-based auxiliary speaker separation method and related device | |
Kos et al. | Acoustic classification and segmentation using modified spectral roll-off and variance-based features | |
US8145486B2 (en) | Indexing apparatus, indexing method, and computer program product | |
JP7342915B2 (en) | Audio processing device, audio processing method, and program | |
Venter et al. | Automatic detection of African elephant (Loxodonta africana) infrasonic vocalisations from recordings | |
CN107480152A (en) | A kind of audio analysis and search method and system | |
Pao et al. | Combining acoustic features for improved emotion recognition in mandarin speech | |
KR20160089103A (en) | Device and method for sound classification in real time | |
US20210134300A1 (en) | Speech processing device, speech processing method and speech processing program | |
JP6487650B2 (en) | Speech recognition apparatus and program | |
JP2012032557A (en) | Device, method and program for detecting ingressive in voice | |
JP2011053569A (en) | Audio processing device and program | |
KR20080018658A (en) | Pronunciation comparation system for user select section | |
Unnibhavi et al. | LPC based speech recognition for Kannada vowels | |
Kamble et al. | Emotion recognition for instantaneous Marathi spoken words | |
KR101023211B1 (en) | Microphone array based speech recognition system and target speech extraction method of the system | |
WO2014155652A1 (en) | Speaker retrieval system and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190306 Year of fee payment: 4 |