KR20240060961A - 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체 - Google Patents

음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20240060961A
KR20240060961A KR1020220142064A KR20220142064A KR20240060961A KR 20240060961 A KR20240060961 A KR 20240060961A KR 1020220142064 A KR1020220142064 A KR 1020220142064A KR 20220142064 A KR20220142064 A KR 20220142064A KR 20240060961 A KR20240060961 A KR 20240060961A
Authority
KR
South Korea
Prior art keywords
voice
speaker
speakers
voice data
segment
Prior art date
Application number
KR1020220142064A
Other languages
English (en)
Inventor
박진석
임윤규
김병열
이영로
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020220142064A priority Critical patent/KR20240060961A/ko
Priority to US18/383,261 priority patent/US20240144934A1/en
Publication of KR20240060961A publication Critical patent/KR20240060961A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • 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/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

일 실시예에 따른 음성 데이터 생성 방법은, 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고; 상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고; 상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것;을 포함하고, 상기 음성 세그먼트들을 배치하는 것은, 상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함한다.

Description

음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체{METHOD FOR GENERATING VOICE DATA, APPARATUS FOR GENERATING VOICE DATA AND COMPUTER-READABLE RECORDING MEDIUM}
개시된 발명은 학습에 사용되는 음성 데이터를 생성하는 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체에 관한 것이다.
음성 인식 기술을 이용하면 화자가 발화한 내용을 텍스트로 변환할 수 있고, 변환된 텍스트를 저장함으로써 화자가 발화한 내용을 기록하거나 변환된 텍스트에 자연어 이해 기술을 적용하여 화자의 발화 의도를 파악할 수 있다.
이러한 음성 인식 기술은 전자 기기의 제어, 질의 응답 서비스, 회의록 작성, 콜 센터의 통화 내용 기록, 의료진과 환자의 진료 내용 기록 등 다양한 분야에 적용될 수 있다.
한편, 화자가 복수인 경우에는 정확한 음성 인식을 위해 발화된 음성 신호를 화자 별로 분리하는 작업이 선행되어야 한다.
일 예로, 이러한 화자 분리(Speaker Diarization) 작업을 수행하기 위해, 학습된 화자 분리 모델을 이용할 수 있다. 화자 분리 모델의 학습을 위해서는 복수의 화자의 음성 데이터가 섞여 있는 대량의 음성 데이터가 요구된다.
개시된 발명은 실제 복수의 화자에 의한 대화와 유사한 자연스러운 음성 데이터를 생성할 수 있는 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 음성 데이터 생성 방법을 수행하는 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체를 제공한다.
일 실시예에 따른 음성 데이터 생성 방법은, 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고; 상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고; 상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것;을 포함하고, 상기 음성 세그먼트들을 배치하는 것은, 상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함한다.
상기 음성 세그먼트들을 배치하는 것은, 상기 일 화자의 음성 세그먼트의 끝점으로부터 임의의 시간 간격만큼 이격된 위치에 상기 다른 화자의 음성 세그먼트의 시작점을 배치하는 것을 포함할 수 있다.
상기 임의의 시간 간격은, 정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나의 확률 분포에 따라 결정될 수 있다.
상기 음성 세그먼트들을 배치하는 것은, 상기 다른 화자의 음성 세그먼트의 시작점을 상기 일 화자의 음성 세그먼트의 끝점으로부터 앞 또는 뒤에 배치하는 것을 포함하는 음성 데이터 생성 방법.
상기 음성 세그먼트들을 배치하는 것은, 상기 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트를 배치하고, 상기 동일한 인덱스를 갖는 음성 세그먼트의 배치가 완료되면 다음 인덱스를 갖는 음성 세그먼트를 배치하는 것을 포함할 수 있다.
상기 배치된 음성 세그먼트들에는, 상기 복수의 화자 중 어느 화자의 음성 세그먼트인지 나타내는 태그가 레이블링되어 있다.
상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하여 생성된 음성 데이터는, 화자 분리를 위한 학습에 이용될 수 있다.
일 실시예에 따른 음성 데이터 생성 장치는, 복수의 화자의 음성이 포함된 음성 데이터를 생성하는 적어도 하나의 프로세서; 및 상기 생성된 음성 데이터를 저장하는 적어도 하나의 메모리;를 포함하고, 상기 적어도 하나의 프로세서는, 상기 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고, 상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고, 상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것을 포함하고, 상기 음성 세그먼트들을 배치하는 것은, 상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함한다.
상기 적어도 하나의 프로세서는, 상기 일 화자의 음성 세그먼트의 끝점으로부터 임의의 시간 간격만큼 이격된 위치에 상기 다른 화자의 음성 세그먼트의 시작점을 배치할 수 있다.
상기 임의의 시간 간격은, 정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나의 확률 분포에 따라 결정될 수 있다.
상기 적어도 하나의 프로세서는, 상기 다른 화자의 음성 세그먼트의 시작점을 상기 일 화자의 음성 세그먼트의 끝점으로부터 앞 또는 뒤에 배치할 수 있다.
상기 적어도 하나의 프로세서는, 상기 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트를 배치하고, 상기 동일한 인덱스를 갖는 음성 세그먼트의 배치가 완료되면 다음 인덱스를 갖는 음성 세그먼트를 배치할 수 있다.
상기 배치된 음성 세그먼트들에는, 상기 복수의 화자 중 어느 화자의 음성 세그먼트인지 나타내는 태그가 레이블링되어 있다.
상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하여 생성된 음성 데이터는, 화자 분리를 위한 학습에 이용될 수 있다.
음성 데이터 생성 방법을 수행하기 위한 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체에 있어서, 상기 음성 데이터 생성 방법은, 상기 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고, 상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고, 상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것을 포함하고, 상기 음성 세그먼트들을 배치하는 것은, 상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함한다.
상기 음성 세그먼트들을 배치하는 것은, 상기 일 화자의 음성 세그먼트의 끝점으로부터 임의의 시간 간격만큼 이격된 위치에 상기 다른 화자의 음성 세그먼트의 시작점을 배치하는 것을 포함할 수 있다.
상기 임의의 시간 간격은, 정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나의 확률 분포에 따라 결정될 수 있다.
상기 음성 세그먼트들을 배치하는 것은, 상기 다른 화자의 음성 세그먼트의 시작점을 상기 일 화자의 음성 세그먼트의 끝점으로부터 앞 또는 뒤에 배치하는 것을 포함할 수 있다.
상기 음성 세그먼트들을 배치하는 것은, 상기 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트를 배치하고, 상기 동일한 인덱스를 갖는 음성 세그먼트의 배치가 완료되면 다음 인덱스를 갖는 음성 세그먼트를 배치하는 것을 포함할 수 있다.
상기 배치된 음성 세그먼트들에는, 상기 복수의 화자 중 어느 화자의 음성 세그먼트인지 나타내는 태그가 레이블링되어 있다.
일 실시예에 따른 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 음성 데이터 생성 방법을 수행하는 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체에 의하면, 실제 복수의 화자에 의한 대화와 유사한 자연스러운 음성 데이터를 생성할 수 있다.
도 1은 화자 분리 기술이 적용되는 상황의 예시를 나타내는 도면이다.
도 2는 화자 분리가 적용된 음성 신호의 예시를 나타내는 도면이다.
도 3은 화자 분리를 위해 필요한 학습 데이터의 형태를 나타낸 도면이다.
도 4는 일 실시예에 따른 음성 데이터 생성 장치의 구성을 간략하게 나타낸 블록도이다.
도 5는 음성 데이터의 생성에 사용되는 음성 세그먼트들을 나타낸 도면이다.
도 6 은 음성 데이터를 생성하는 종래의 알고리즘을 나타내는 도면이다.
도 7은 종래의 알고리즘을 통해 생성된 음성 데이터를 나타내는 도면이다.
도 8은 일 실시예에 따른 음성 데이터 생성 방법의 순서도이다.
도 9는 도 8에 도시된 음성 데이터 생성 방법에 있어서 음성 세그먼트를 배치하는 과정을 구체화한 순서도이다.
도 10은 일 실시예에 따른 음성 데이터 생성 방법에 따라 생성되는 음성 데이터를 나타낸 도면이다.
도 11은 종래의 방식에 따라 생성된 음성 데이터의 예시를 나타낸 도면이다.
도 12는 일 실시예에 따른 방법에 따라 생성된 음성 데이터의 일 예시를 나타낸 도면이다.
도 13 내지 도 16은 종래의 방식에 따라 생성된 음성 데이터의 특징, 일 실시예에 따라 생성된 음성 데이터의 특징 및 실제 대화의 특징을 나타낸 그래프이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA(field-programmable gate array)/ASIC(application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.
또한, 본 명세서에서 설명되는 구성요소 앞에 사용되는 "제1~", "제2~"와 같은 서수는 구성요소들을 상호 구분하기 위해 사용되는 것일 뿐, 이들 구성요소들 사이의 연결 순서, 사용 순서, 우선 순위 등의 다른 의미를 갖는 것은 아니다.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
명세서에서 요소들의 리스트를 언급할 때 사용되는 "적어도 하나의~"의 표현은, 요소들의 조합을 변경할 수 있다. 예를 들어, "a, b, 또는 c 중 적어도 하나"의 표현은 오직 a, 오직 b, 오직 c, a 와 b 둘, a와 c 둘, b와 c 둘, 또는 a, b, c 모두의 조합을 나타내는 것으로 이해될 수 있다.
이하에서는 첨부된 도면을 참조하여 발명의 실시예를 상세하게 설명하도록 한다.
도 1은 화자 분리 기술이 적용되는 상황의 예시를 나타내는 도면이고, 도 2는 화자 분리가 적용된 음성 신호의 예시를 나타내는 도면이며, 도 3은 화자 분리를 위해 필요한 학습 데이터의 형태를 나타낸 도면이다.
음성 인식 기술을 이용하면, 도 1에 도시된 바와 같이, 복수의 화자(speaker1, speaker2, speaker3)가 참여하는 회의 중에 발화된 음성을 텍스트로 변환하고 변환된 텍스트를 기록함으로써 회의록을 자동으로 작성하는 것이 가능하다.
음성 인식은 ASR(Automatic Speech Recognition) 엔진에 의해 수행될 수 있다. 예를 들어, ASR 엔진은 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 사용자의 발화에서 특징 벡터를 추출할 수 있다.
그리고, 추출된 특징 벡터와 훈련된 기준 패턴과의 비교를 통하여 인식 결과를 얻을 수 있다. 이를 위해, 음성의 신호적인 특성을 모델링하여 비교하는 음향 모델(Acoustic Model) 또는 인식 어휘에 해당하는 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델(Language Model)이 사용될 수 있다.
또한, ASR 엔진은 머신 러닝 또는 딥 러닝에 의해 학습된 음성 인식 모델에 기반하여 사용자의 발화를 텍스트로 변환하는 것도 가능하다.
화자가 복수인 경우에 정확한 음성 인식을 위해서는, 마이크에 입력된 음성 신호를 화자 별로 분리하는 작업이 선행되어야 한다. 즉, 도 2에 도시된 바와 같이, 마이크에 입력된 음성 신호를 구성하는 복수의 음성 세그먼트 중 어느 음성 세그먼트가 어떤 화자에 의해 발화된 것인지를 구분해야 한다.
이러한 작업을 화자 분리(Speaker Diarization)이라 한다. 일 예로, 머신 러닝 또는 딥 러닝 등의 학습을 통해 화자 분리 모델을 생성할 수 있다.
화자 분리 모델을 학습시키기 위해서는 도 3에 도시된 바와 같이, 복수의 화자의 음성이 녹음된 오디오 파일(eg. Wav 파일)과 각각의 화자가 언제부터 언제까지 발화했는지 표시해 놓은 레이블이 필요하다.
그러나, 실제 복수의 화자 간 대화가 녹음된 오디오 파일을 수집하고 수집된 오디오 파일들에 대해 각각의 화자가 발화한 음성 구간을 표시하는 것은 시간과 비용이 많이 드는 작업이다.
따라서, 일 실시예에 따른 음성 데이터 생성 방법 및 음성 데이터 생성 장치는 복수의 화자 각각에 대한 복수의 음성 세그먼트를 이용하여 화자 분리 모델의 학습에 이용될 학습 데이터를 직접 생성할 수 있다.
도 4는 일 실시예에 따른 음성 데이터 생성 장치의 구성을 간략하게 나타낸 블록도이고, 도 5는 음성 데이터의 생성에 사용되는 음성 세그먼트들을 나타낸 도면이다.
도 4를 참조하면, 일 실시예에 따른 음성 데이터 생성 장치(100)는 후술하는 동작을 수행하는 프로그램이 저장된 적어도 하나의 메모리(110)와 저장된 프로그램을 실행하는 적어도 하나의 프로세서(120)를 포함한다.
프로세서(120)는 화자 분리 모델의 학습에 이용될 음성 데이터를 생성할 수 있고, 생성된 음성 데이터는 메모리(110)에 저장될 수 있다.
음성 데이터를 생성하기 위해, 도 5에 도시된 바와 같이 복수의 화자 각각에 대한 복수의 음성 세그먼트가 필요하다. 예를 들어, 화자의 수가 L명이고(L명의 서로 다른 화자에 대한 음성 세그먼트들이 마련되었음을 의미함), 각각의 화자에 대한 음성 세그먼트의 수가 P개인 경우, 하나의 음성 데이터를 만들기 위해 1이상 L이하의 범위에서 화자의 수(M)를 설정하고, 1 이상 P이하의 범위에서 음성 세그먼트의 수(N)를 설정할 수 있다.
프로세서(120)는 음성 데이터의 생성에 사용된 복수의 음성 세그먼트 각각이 어느 화자의 음성 세그먼트인지에 대한 정보를 갖고 있다. 따라서, 프로세서(120)에 의해 생성된 음성 데이터는 도 4에 도시된 바와 같이, 복수의 화자 각각이 발화한 음성 구간이 레이블링 되어 있다.
도 6 은 음성 데이터를 생성하는 종래의 알고리즘을 나타내는 도면이고, 도 7은 종래의 알고리즘을 통해 생성된 음성 데이터를 나타내는 도면이다.
도 6에 도시된 종래의 알고리즘은 2명의 화자에 대한 음성 데이터를 생성하는 방법에 관한 것이다. 도 6 및 도 7을 함께 참조하면, 2명의 화자 중 첫 번째 화자의 음성 세그먼트들이 먼저 배치된다.
이를 위해, 음성 데이터의 생성에 사용될 첫 번째 화자의 음성 세그먼트의 개수를 결정하고, 임의의 확률 분포에 따라 사일런스(silence) 길이를 선택하고, 선택된 사일런스 길이만큼 이격시켜 음성 세그먼트를 배치한다.
결정된 개수의 음성 세그먼트들 각각에 대해, 선택된 사일런스 길이만큼 이격하여 배치하는 과정을 반복한 후, 결정된 개수의 음성 세그먼트들 모두가 배치되어 첫 번째 화자에 대한 음성 데이터가 완성되면 다음 화자의 음성 세그먼트들을 배치한다.
전술한 과정에 따라 두 화자에 대한 음성 데이터가 각각 생성되면, 생성된 각각의 음성 데이터를 합산하여 복수의 화자의 음성이 포함된 하나의 음성 데이터를 생성할 수 있다.
종래의 방식에 따라 생성된 음성 데이터는 각각의 화자에 대한 음성 데이터가 독립적으로 생성된 후 하나로 합성된 것이기 때문에, 실제의 대화처럼 자연스럽지가 않다. 따라서, 이와 같은 방식으로 생성된 음성 데이터를 이용하여 학습된 화자 분리 모델을 실제 대화에 대한 음성 신호에 적용하게 되면, 화자 분리 결과의 정확도가 떨어질 수 있다.
도 8은 일 실시예에 따른 음성 데이터 생성 방법의 순서도이고, 도 9는 도 8에 도시된 음성 데이터 생성 방법에 있어서 음성 세그먼트를 배치하는 과정을 구체화한 순서도이다. 도 10은 일 실시예에 따른 음성 데이터 생성 방법에 따라 생성되는 음성 데이터를 나타낸 도면이다.
일 실시예에 따른 음성 데이터 생성 방법은 전술한 음성 데이터 생성 장치(100)에 의해 수행될 수 있다. 따라서, 음성 데이터 생성 방법을 수행하기 위한 프로그램은 음성 데이터 생성 장치(100)의 적어도 하나의 메모리(110)에 저장될 수 있고, 음성 데이터 생성 방법은 적어도 하나의 프로세서(120)가 메모리(110)에 저장된 프로그램을 실행함으로써 구현될 수 있다.
앞서 설명한 음성 데이터 생성 장치(100)의 동작에 관한 내용은 별도의 언급이 없더라도 음성 데이터 생성 방법의 실시예에도 동일하게 적용될 수 있다. 반대로, 후술하는 음성 데이터 생성 방법에 관한 내용 역시 별도의 언급이 없더라도 음성 데이터 생성 장치(100)의 실시예에도 동일하게 적용될 수 있다.
도 8을 참조하면, 먼저 음성 데이터의 생성에 사용될 화자의 수 M(M은 1이상의 정수)을 설정한다(1100).
음성 데이터 생성 장치(100)가 L명의 서로 다른 화자에 대한 음성 세그먼트들을 가지고 있는 경우, M은 L과 같거나 L보다 작을 수 있다.
사용할 음성 세그먼트의 수 N(N은 1 이상의 정수)를 설정한다(1200).
음성 데이터 생성 장치(100)가 L명의 화자 각각에 대해 P개의 음성 세그먼트들을 가지고 있는 경우, N은 P와 같거나 P보다 작을 수 있다. 각각의 음성 세그먼트에는 어느 화자에 의해 발화된 것인지를 나타내는 태그가 레이블링 되어 있다.
음성 세그먼트의 인덱스 k를 1로 놓고(1300), M명의 화자 각각에 대해 해당 인덱스의 음성 세그먼트를 배치한다(1400). 이러한 세그먼트의 배치를 인덱스 k가 N이 될 때까지 반복할 수 있고(1500의 아니오), 그 방법으로 K의 값을 K+1로 1씩 증가시킬 수 있다(1450). 인덱스 k가 N이 되면(1500의 예), 즉 복수의 화자 각각에 대해 모든 음성 세그먼트의 배치가 완료되면, 최종 오디오 파일을 생성된 음성 데이터로서 출력할 수 있다(1600).
즉, 각각의 화자에 대한 음성 세그먼트들을 독립적으로 배치하는 것이 아니라, 복수의 화자 각각에 대한 세그먼트들 중 동일한 인덱스를 갖는 세그먼트들을 서로의 위치에 영향을 받도록 배치함으로써 서로 다른 화자의 음성 세그먼트가 일부 중첩되는 등 실제 대화와 유사한 음성 데이터를 생성할 수 있다.
이하, 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트들을 배치하는 구체적인 과정을 도 9, 도 10 및 도 11을 참조하여 구체적으로 설명한다.
도 9를 참조하면, 화자 집합은 화자 1부터 화자 M까지 포함하고(1410), 위치 r은 0부터 시작한다(1420).
화자의 음성 세그먼트가 시작되는 위치, 즉 음성 세그먼트의 시작점이 배치되는 위치 r은 이전 단계에서의 위치 r로부터 임의의 시간 간격만큼 이격되어 있다(1430). 예를 들어, 이전 단계에서의 위치 r로부터 임의의 확률분포에 따라 이격된 위치 r에 음성 세그먼트의 시작점을 배치할 수 있다.
여기서, 임의의 확률분포는 정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나일 수 있다.
화자 집합에서 화자 i를 랜덤하게 선택하고(1440), 화자 집합에서 화자 i를 제거한다(1450).
위치 r을 시작으로 하여 화자 i의 음성 세그먼트를 배치한다(1460). 즉, 위치 r에 화자 i의 음성 세그먼트의 시작점을 배치한다.
도 10은 M=2인 경우, 즉 화자가 2명인 경우에 배치되는 음성 세그먼트의 예시를 나타낸 도면이다. 도 10을 참조하면, 화자 1의 음성 세그먼트(인덱스k=1)의 시작점이 위치 r=r1(r1=r0+임의의 확률분포)에 배치됨을 확인할 수 있다.
화자 i의 음성 세그먼트가 배치되면, 위치 r은 해당 음성 세그먼트의 끝점(r2)으로 반환되고(1470), 화자 집합에 화자가 남아있으면(1480의 아니오), 다시 위치 r이 이전 화자의 음성 세그먼트의 끝점(r2)으로부터 임의의 시간 간격만큼 이격된 위치(r3)가 된다(1430).
그 다음 단계들을 동일하게 진행하여 다음 화자의 음성 세그먼트를 배치하면, 도 10에 도시된 바와 같이 다음 화자(Speaker 2)의 음성 세그먼트는 이전 화자(Speaker 1)의 음성 세그먼트의 끝점(r2)으로부터 임의의 시간 간격만큼 이격된 위치(r3)에 그 시작점이 배치된다.
다시 도 8 및 도 9를 함께 참조하면, 인덱스 k=1을 갖는 음성 세그먼트들의 배치가 완료되면, 1400단계에서 인덱스 k=2를 갖는 음성 세그먼트들의 배치가 수행되고, 인덱스 k=N을 갖는 음성 세그먼트들의 배치까지 완료되면(1500의 예) 최종 오디오 파일이 반환된다(1600).
도 10을 함께 참조하면, 화자 1의 인덱스 k=2를 갖는 음성 세그먼트는 화자 2의 인덱스 k=1을 갖는 음성 세그먼트의 끝점의 위치(r4)로부터 임의의 시간 간격만큼 이격된 위치(r5)에 그 시작점이 위치할 수 있다.
다음 화자의 음성 세그먼트는 이전 화자의 음성 세그먼트의 끝점으로부터 시간적으로 앞선 위치에 그 시작점이 위치할 수도 있고 시간적으로 뒤의 위치에 그 시작점이 위치할 수도 있다. 당해 예시에서는 위치 r5가 위치 r4보다 시간적으로 앞서 있고, 이로 인해 화자 1의 인덱스 k=2를 갖는 음성 세그먼트와 화자 2의 인덱스 k=1을 갖는 음성 세그먼트가 서로 중첩된다.
화자 1의 인덱스 k=2를 갖는 음성 세그먼트의 끝점의 위치(r6)으로부터 임의의 시간 간격만큼 이격된 위치(r7)에 화자 2의 인덱스 k=2를 갖는 음성 세그먼트의 시작점을 배치할 수 있다.
도 11은 종래의 방식에 따라 생성된 음성 데이터의 예시를 나타낸 도면이고, 도 12는 일 실시예에 따른 방법에 따라 생성된 음성 데이터의 일 예시를 나타낸 도면이다.
도 11은 종래의 방식에 따라 두 명의 화자의 음성 세그먼트들을 배치하여 생성된 음성 데이터를 나타낸 도면이고, 도 12는 일 실시예에 따른 음성 데이터의 생성 방법에 따라 두 명의 화자의 음성 세그먼트들을 배치하여 생성된 음성 데이터를 나타낸 도면이다.
도 11과 도 12를 비교하면, 종래의 방식에 따라 생성된 음성 데이터는 일정 시간 구간에서만 화자 1의 음성 세그먼트와 화자 2의 음성 세그먼트가 일부 중첩되어 있고 일정 시간 이후에는 화자1의 음성 세그먼트만 존재한다.
그러나, 일 실시예에 따른 방법에 의해 생성된 음성 데이터는 전 시간 구간에 걸쳐 두 명의 화자의 발화가 적절하게 중첩되어 있기도 하고 분리되어 있기도 하다. 즉, 일 실시예에 따른 방법에 의하면 실제의 대화와 더 유사하게 자연스러운 음성 데이터를 생성할 수 있음을 확인할 수 있다.
도 13 내지 도 16은 종래의 방식에 따라 생성된 음성 데이터의 특징, 일 실시예에 따라 생성된 음성 데이터의 특징 및 실제 대화의 특징을 나타낸 그래프이다.
도 13 및 도 14의 그래프는 종래의 방식에 따라 생성된 음성 데이터에 있어서, 사일런스 구간, 단일 화자의 발화 구간 및 중첩 구간의 비율을 나타낸 그래프이다.
도 15의 그래프는 일 실시예에 따라 생성된 음성 데이터에 있어서, 사일런스 구간, 단일 화자의 발화 구간 및 중첩 구간의 비율을 나타낸 그래프이고, 도 16의 그래프는 실제 대화를 분석하여 통계를 낸 결과이다.
전술한 바와 같이, 종래의 방식에 따르면 의 확률 분포에 따라 음성 세그먼트를 배치할 수 있다. 여기서, β는 정수값으로서 값이 클수록 사일런스 구간의 길이가 길어지는 경향이 있다.
도 13의 그래프는 β를 2로 설정하여 생성한 음성 데이터의 특징을 나타낸 것이고, 도 14의 그래프는 β를 5로 설정하여 생성한 음성 데이터의 특징을 나타낸 것이다. 앞서 언급한 바와 같이 β 값이 클수록 사일런스 구간의 길이가 길어짐을 확인할 수 있다.
도 15의 그래프는 의 확률 분포(σ=1)에 따라 음성 세그먼트를 배치하여 생성된 음성 데이터에 관한 것이다. 도 13, 도 14, 도 15 및 도 16의 그래프에 나타난 음성 데이터의 특징을 비교하면, 일 실시예에 따른 방법에 의해 생성된 음성 데이터가 실제 대화의 음성 데이터와 가장 유사한 특징을 가짐을 확인할 수 있다.
한편, 전술한 음성 데이터 생성 방법은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체에 기록될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때 개시된 실시예들의 동작을 수행할 수 있다.
기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있고, 여기서 기록매체는 비일시적으로 데이터를 저장하는 기록매체(Non-transitory computer-readable medium)이다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
전술한 실시예에 따라 생성된 음성 데이터는 화자 분리 모델을 학습시키는데 사용될 수 있다. 학습된 화자 분리 모델은 복수의 화자의 발화가 포함된 음성 데이터에서 각각의 화자 별로 음성 구간을 분리하는데 사용될 수 있다.
지금까지 설명한 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 음성 데이터 생성 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체에 의하면, 다른 화자의 음성 세그먼트의 끝점을 기준으로 음성 세그먼트의 시작점을 배치함으로써 실제 대화와 같이 자연스러운 음성 데이터를 생성할 수 있다.
이와 같이 생성된 음성 데이터를 이용하여 화자 분리 모델을 학습시킴으로써 화자 분리 결과의 정확도가 향상될 수 있고, 학습 데이터 확보의 어려움을 효율적으로 극복할 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
100: 음성 데이터 생성 장치
110: 메모리
120: 프로세서

Claims (20)

  1. 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고;
    상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고;
    상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것;을 포함하고,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함하는 음성 데이터 생성 방법.
  2. 제 1 항에 있어서,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 일 화자의 음성 세그먼트의 끝점으로부터 임의의 시간 간격만큼 이격된 위치에 상기 다른 화자의 음성 세그먼트의 시작점을 배치하는 것을 포함하는 음성 데이터 생성 방법.
  3. 제 2 항에 있어서,
    상기 임의의 시간 간격은,
    정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나의 확률 분포에 따라 결정되는 음성 데이터 생성 방법.
  4. 제 2 항에 있어서,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 다른 화자의 음성 세그먼트의 시작점을 상기 일 화자의 음성 세그먼트의 끝점으로부터 앞 또는 뒤에 배치하는 것을 포함하는 음성 데이터 생성 방법.
  5. 제 1 항에 있어서,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트를 배치하고, 상기 동일한 인덱스를 갖는 음성 세그먼트의 배치가 완료되면 다음 인덱스를 갖는 음성 세그먼트를 배치하는 것을 포함하는 음성 데이터 생성 방법.
  6. 제 1 항에 있어서,
    상기 배치된 음성 세그먼트들에는,
    상기 복수의 화자 중 어느 화자의 음성 세그먼트인지 나타내는 태그가 레이블링되어 있는 음성 데이터 생성 방법.
  7. 제 1 항에 있어서,
    상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하여 생성된 음성 데이터는, 화자 분리를 위한 학습에 이용되는 음성 데이터 생성 방법.
  8. 복수의 화자의 음성이 포함된 음성 데이터를 생성하는 적어도 하나의 프로세서; 및
    상기 생성된 음성 데이터를 저장하는 적어도 하나의 메모리;를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고,
    상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고,
    상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것을 포함하고,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함하는 음성 데이터 생성 장치.
  9. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 일 화자의 음성 세그먼트의 끝점으로부터 임의의 시간 간격만큼 이격된 위치에 상기 다른 화자의 음성 세그먼트의 시작점을 배치하는 음성 데이터 생성 장치.
  10. 제 9 항에 있어서,
    상기 임의의 시간 간격은,
    정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나의 확률 분포에 따라 결정되는 음성 데이터 생성 장치.
  11. 제 9 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 다른 화자의 음성 세그먼트의 시작점을 상기 일 화자의 음성 세그먼트의 끝점으로부터 앞 또는 뒤에 배치하는 음성 데이터 생성 장치.
  12. 제 8 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트를 배치하고, 상기 동일한 인덱스를 갖는 음성 세그먼트의 배치가 완료되면 다음 인덱스를 갖는 음성 세그먼트를 배치하는 음성 데이터 생성 장치.
  13. 제 8항에 있어서,
    상기 배치된 음성 세그먼트들에는,
    상기 복수의 화자 중 어느 화자의 음성 세그먼트인지 나타내는 태그가 레이블링되어 있는 음성 데이터 생성 장치.
  14. 제 8 항에 있어서,
    상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하여 생성된 음성 데이터는, 화자 분리를 위한 학습에 이용되는 음성 데이터 생성 장치.
  15. 음성 데이터 생성 방법을 수행하기 위한 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체에 있어서,
    상기 음성 데이터 생성 방법은,
    상기 음성 데이터의 생성에 사용될 복수의 화자의 수를 설정하고,
    상기 복수의 화자 각각에 대한 음성 세그먼트의 개수를 설정하고,
    상기 복수의 화자 각각에 대해 상기 설정된 개수의 음성 세그먼트들을 배치하는 것을 포함하고,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 복수의 화자 중 일 화자의 음성 세그먼트의 끝점을 기준으로 다른 화자의 음성 세그먼트의 시작점을 결정하는 것을 포함하는 컴퓨터로 판독 가능한 기록매체.
  16. 제 15 항에 있어서,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 일 화자의 음성 세그먼트의 끝점으로부터 임의의 시간 간격만큼 이격된 위치에 상기 다른 화자의 음성 세그먼트의 시작점을 배치하는 것을 포함하는 음성 데이터 생성 방법.
  17. 제 16 항에 있어서,
    상기 임의의 시간 간격은,
    정규 분포, 연속 균등 분포 및 스튜던트 t 분포를 포함하는 확률 분포 그룹에서 선택되는 하나의 확률 분포에 따라 결정되는 음성 데이터 생성 방법.
  18. 제 16 항에 있어서,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 다른 화자의 음성 세그먼트의 시작점을 상기 일 화자의 음성 세그먼트의 끝점으로부터 앞 또는 뒤에 배치하는 것을 포함하는 음성 데이터 생성 방법.
  19. 제 15 항에 있어서,
    상기 음성 세그먼트들을 배치하는 것은,
    상기 복수의 화자 각각에 대해 동일한 인덱스를 갖는 음성 세그먼트를 배치하고, 상기 동일한 인덱스를 갖는 음성 세그먼트의 배치가 완료되면 다음 인덱스를 갖는 음성 세그먼트를 배치하는 것을 포함하는 음성 데이터 생성 방법.
  20. 제 15 항에 있어서,
    상기 배치된 음성 세그먼트들에는,
    상기 복수의 화자 중 어느 화자의 음성 세그먼트인지 나타내는 태그가 레이블링되어 있는 음성 데이터 생성 방법.








KR1020220142064A 2022-10-31 2022-10-31 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체 KR20240060961A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220142064A KR20240060961A (ko) 2022-10-31 2022-10-31 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체
US18/383,261 US20240144934A1 (en) 2022-10-31 2023-10-24 Voice Data Generation Method, Voice Data Generation Apparatus And Computer-Readable Recording Medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220142064A KR20240060961A (ko) 2022-10-31 2022-10-31 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR20240060961A true KR20240060961A (ko) 2024-05-08

Family

ID=90834226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220142064A KR20240060961A (ko) 2022-10-31 2022-10-31 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체

Country Status (2)

Country Link
US (1) US20240144934A1 (ko)
KR (1) KR20240060961A (ko)

Also Published As

Publication number Publication date
US20240144934A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
US7280968B2 (en) Synthetically generated speech responses including prosodic characteristics of speech inputs
US7869999B2 (en) Systems and methods for selecting from multiple phonectic transcriptions for text-to-speech synthesis
US5791904A (en) Speech training aid
US8494853B1 (en) Methods and systems for providing speech recognition systems based on speech recordings logs
JP6440967B2 (ja) 文末記号推定装置、この方法及びプログラム
JP2002304190A (ja) 発音変化形生成方法及び音声認識方法
Aggarwal et al. Performance evaluation of sequentially combined heterogeneous feature streams for Hindi speech recognition system
Muhammad et al. Voice content matching system for quran readers
KR20230056741A (ko) 목소리 변환 및 스피치 인식 모델을 사용한 합성 데이터 증강
US20230230576A1 (en) Text-to-speech synthesis method and system, and a method of training a text-to-speech synthesis system
CN112489629A (zh) 语音转写模型、方法、介质及电子设备
US6546369B1 (en) Text-based speech synthesis method containing synthetic speech comparisons and updates
JP2016186515A (ja) 音響特徴量変換装置、音響モデル適応装置、音響特徴量変換方法、およびプログラム
Nagano et al. Data augmentation based on vowel stretch for improving children's speech recognition
US7308407B2 (en) Method and system for generating natural sounding concatenative synthetic speech
JP3081108B2 (ja) 話者分類処理装置及び方法
Yavuz et al. A Phoneme-Based Approach for Eliminating Out-of-vocabulary Problem Turkish Speech Recognition Using Hidden Markov Model.
KR20240060961A (ko) 음성 데이터 생성 방법, 음성 데이터 생성 장치 및 컴퓨터로 판독 가능한 기록 매체
Takaki et al. Overview of NIT HMM-based speech synthesis system for Blizzard Challenge 2012
Tunalı A speaker dependent, large vocabulary, isolated word speech recognition system for turkish
CN115547296B (zh) 一种语音合成方法、装置、电子设备及存储介质
Martens et al. Word Segmentation in the Spoken Dutch Corpus.
Gereg et al. Semi-automatic processing and annotation of meeting audio recordings
CN112820297A (zh) 声纹识别方法、装置、计算机设备及存储介质
EP1638080B1 (en) A text-to-speech system and method