KR20220127096A - 음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치 - Google Patents

음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치 Download PDF

Info

Publication number
KR20220127096A
KR20220127096A KR1020210031686A KR20210031686A KR20220127096A KR 20220127096 A KR20220127096 A KR 20220127096A KR 1020210031686 A KR1020210031686 A KR 1020210031686A KR 20210031686 A KR20210031686 A KR 20210031686A KR 20220127096 A KR20220127096 A KR 20220127096A
Authority
KR
South Korea
Prior art keywords
speech
signal
speech speed
calculated
fundamental frequency
Prior art date
Application number
KR1020210031686A
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 KR1020210031686A priority Critical patent/KR20220127096A/ko
Publication of KR20220127096A publication Critical patent/KR20220127096A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • 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/90Pitch determination of speech signals
    • 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/93Discriminating between voiced and unvoiced parts of speech signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Monitoring And Testing Of Transmission In General (AREA)

Abstract

음성 인식 장치의 동작 방법으로서, 입력되는 음성 신호를 감지하여 추정된 발화 구간의 시간을 측정하는 단계, 음성 신호에서 음색 정보를 제거하여 피치 정보를 측정하고, 상기 피치 정보를 기준으로 하나 이상의 샘플링을 수행하여 기본 주파수를 추출하는 단계, 기본 주파수의 변화 횟수와 발화 구간의 시간에 기초하여 발화 속도를 산출하는 단계, 그리고 산출된 발화 속도와 미리 설정된 기준 발화 속도가 일치한 경우, 음성 신호에 대한 음성 인식을 수행하고, 산출된 발화 속도와 기준 발화 속도가 상이한 경우, 산출된 발화 속도를 기준 발화 속도에 기초하여 발화속도를 변환한 후, 변환된 발화 속도를 가지는 음성 신호에 대한 음성 인식을 수행하는 단계를 포함한다.

Description

음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치{SPEECH SPEED MEASUREMENT METHOD USING SPEECH CHARACTERISTICS, SPEECH RECOGNITION METHOD AND APPARATUS USING THE SAME METHOD}
본 발명은 발화 속도를 이용한 음성 인식 기술에 관한 것이다.
최근 음성 인식 기술의 발달로 음성인식 로봇과 고객의 원활한 대화가 가능하도록 하는 보이스 봇의 보급이 활발히 진행되고 있다.
다만, 고객의 성별, 발화 패턴 그리고 발화 속도 등과 같이 다양한 요인에 따라 음성 인식률의 편차가 발생한다. 특히, 음성 인식을 위한 학습된 음성 인식 모델에서 학습 데이터의 발화 특성과 고객의 발화 특성의 격차가 클수록 음성 인식률의 크게 저하된다.
이에 음성 인식률을 향상시키기 위해 다양한 발화 특성에 대한 음성을 수집하여 학습 데이터를 확장하기에는 시간 및 비용이 많이 소요되어 한계가 있다.
그러므로, 인식된 고객의 발화 특성에 기초하여 발화 속도를 측정하고, 측정된 발화 속도를 조절하여 음성 인식률을 향상시키는 기술이 요구된다.
해결하고자 하는 과제는, 음성 신호의 발화 속도를 산출하고, 산출된 발화 속도를 기준 발화 속도로 변환하여 음성 인식을 수행하는 음성 특성을 이용한 발화 속도 측정 방법, 음성 인식 방법 및 장치를 제공하는 것이다.
한 실시예에 따른 음성 인식 장치의 동작 방법으로서, 입력되는 음성 신호를 감지하여 추정된 발화 구간의 시간을 측정하는 단계, 음성 신호에서 음색 정보를 제거하여 피치 정보를 측정하고, 피치 정보를 기준으로 하나 이상의 샘플링을 수행하여 기본 주파수를 추출하는 단계, 기본 주파수의 변화 횟수와 발화 구간의 시간에 기초하여 발화 속도를 산출하는 단계, 그리고 산출된 발화 속도와 미리 설정된 기준 발화 속도가 일치하는 경우, 음성 신호에 대한 음성 인식을 수행하고, 산출된 발화 속도와 기준 발화 속도와 상이한 경우, 산출된 발화 속도를 기준 발화 속도에 기초하여 발화 속도를 변환하고, 변환된 발화 속도를 가지는 음성 신호에 대한 음성 인식을 수행하는 단계를 포함한다.
기본 주파수를 추출하는 단계는, 음성 신호에서 상기 음색 정보에 해당하는 포락선 정보를 제거하고 음성 신호의 주기성 정보를 강화하는 단계, 그리고 주기성 정보가 강화된 음성 신호에서 피치 정보를 측정하여 기본 주파수를 추출하는 단계를 포함할 수 있다.
음성 신호의 주기성 정보를 강화하는 단계는, 음성 신호에서 자기 상관 계수를 구하여 초기 주파수를 산출하는 단계, 초기 주파수를 기준으로 선형 예측 계수를 산출하고, 선형 예측 계수를 역필터로 음성 신호를 필터링하는 단계, 그리고 지각 가중치 필터를 적용하여 음성 신호의 주기성 정보를 강화하는 단계를 포함할 수 있다.
기본 주파수를 추출하는 단계는, 주기성 정보가 강화된 음성 신호의 원신호와 원신호에 대한 다운 샘플링된 신호들을 생성하고 생성된 신호들마다 N개의 부분으로 나누어 각 부분에 대한 후보 주파수를 측정하는 단계, 후보 주파수의 히스토그램을 생성하고, 각 히스토그램에서 빈도수가 가장 높은 제1 후보 주파수를 포함하여 계수 값이 임계치 이상인 후보 주파수들을 선택하고, 선택된 후보 주파수들의 평균으로 기본 주파수를 설정하는 단계를 포함할 수 있다.
발화 속도를 산출하는 단계는, 기본 주파수의 변화 횟수를 산출하고, 산출된 변화 횟수를 발화 구간의 시간으로 나누어 발화 속도를 산출할 수 있다.
음성 인식을 수행하는 단계는, 기준 발화 속도를 산출된 발화 속도로 나누어 변환값을 산출하고, 변환값만큼 산출된 발화 속도를 재표본화하여 산출된 발화속도를 변환할 수 있다.
한 실시예에 따른 컴퓨팅 장치로서, 메모리, 그리고 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고, 프로그램은 입력되는 음성 신호를 감지하여 발화 구간의 시간을 측정하는 단계, 음성 신호에서 음색 정보를 제거하여 피치 정보를 측정하고, 피치 정보를 기준으로 하나 이상의 샘플링을 수행하여 기본 주파수를 추출하는 단계, 기본 주파수의 변화 횟수와 발화 구간의 시간에 기초하여 발화 속도를 산출하는 단계, 그리고 산출된 발화 속도와 미리 설정된 기준 발화 속도가 일치하는 경우, 음성 신호의 음성 인식을 수행하고, 산출된 발화 속도와 기준 발화 속도가 상이한 경우, 산출된 발화 속도를 기준 발화 속도에 기초하여 발화속도를 변환하고, 변환된 발화 속도를 가지는 음성 신호의 음성 인식을 수행하는 단계를 실행하도록 기술된 명령들을 포함한다.
기본 주파수를 추출하는 단계는, 음성 신호에서 자기 상관 계수를 산출하고, 자기 상관 계수에 따른 초기 주파수를 산출하고, 초기 주파수를 기준으로 선형 예측 계수를 산출하여 선형 예측 계수를 역필터로 음성 신호를 필터링하여 음색 정보를 제거할 수 있다.
기본 주파수를 추출하는 단계는, 음색 정보가 제거된 음성 신호에 대해 지각 가중치 필터를 적용하여 음성 신호의 주기성 정보를 강화할 수 있다.
기본 주파수를 추출하는 단계는, 주기성 정보가 강화된 음성 신호의 원신호, 원신호에 대한 다운 샘플링된 하나 이상의 신호를 생성하여, 생성된 신호들마다 후보 주파수를 측정하고 후보 주파수마다 히스토그램을 생성하여, 각 히스토그램에서 빈도수가 가장 높은 제1 후보 주파수를 포함하여 계수 값이 임계치 이상인 후보 주파수들을 선택하고, 선택된 후보 주파수들의 평균으로 기본 주파수를 설정할 수 있다.
발화 속도를 산출하는 단계는, 기본 주파수의 변화 횟수를 산출하고, 해당 변화 횟수를 발화 구간의 시간으로 나누어 발화 속도를 산출할 수 있다.
음성 인식을 수행하는 단계는, 기준 발화 속도를 산출된 발화 속도로 나누어 변환값을 산출하고, 변환값만큼 산출된 발화 속도를 재표본화하여 산출된 발화속도를 변환할 수 있다.
음성 인식을 수행하는 단계는, 기준 발화 속도로 생성된 학습 데이터에 기초하여 학습이 완료된 언어 모델에 음성 신호를 입력하여 음성 신호에 대한 음성 인식을 수행할 수 있다.
본 발명의 실시예에 따르면, 입력된 음성 신호의 발화 속도를 연산하여 기준 발화 속도로 변환함으로써, 기준 발화 속도에 기초하여 학습된 언어 모델을 유지하면서도 음성 신호에 대한 음성 인식률을 향상시킬 수 있다.
본 발명의 실시예에 따르면, 다양한 환경에 대해 훈련할 수 없는 언어 모델에 대하여 높은 음성인식률을 제공함으로써 훈련에 따른 시간과 비용을 최소화할 수 있다.
본 발명의 실시예에 따르면, 기존의 방법에서와 같이, 고속 푸리에 변환을 이용하지 않고도 입력된 음성 신호의 시간축에서 기본 주파수를 추출함으로써 연산량을 최소화할 수 있다.
도 1은 한 실시예에 따른 음성 인식 장치를 나타낸 구성도이다.
도 2는 한 실시예에 따른 음성 인식 장치의 동작을 나타낸 순서도이다.
도 3은 한 실시예에 따른 음성 신호에서 주기성 정보를 강화하는 과정을 나타낸 순서도이다.
도 4는 한 실시예에 따른 주기성 정보가 강화된 음성 신호에서 기본 주파수를 추출하는 과정을 나타낸 순서도이다
도 5는 한 실시예에 따른 음성 신호에 기초하여 측정된 기본 주파수를 나타낸 예시도이다.
도 6은 한 실시예에 따른 컴퓨팅 장치의 하드웨어를 나타낸 구성도이다.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 네트워크를 구성하는 장치들은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, 명세서에 기재된 "……부", "……기", "……모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.
본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.
도 1은 한 실시예에 따른 음성 인식 장치를 나타낸 예시도이다.
도 1에 도시한 바와 같이, 음성 인식 장치(100)는 입력되는 음성 신호를 감지하여 발화 구간을 측정하는 발화 구간 측정기(110), 음성 신호에 대한 기본 주파수를 추출하여 피치 정보 측정하는 피치 정보 측정기(120), 기본 주파수의 피치 정보와 발화 구간 시간에 기초하여 발화 속도를 산출하는 발화 속도 측정기(130), 발화 속도에 기초하여 음성을 변환하는 음성 변환기(140), 그리고 음성 신호를 인식하여 인식 결과를 제공하는 음성 인식기(150)를 포함한다.
발화 구간 측정기(110), 피치 정보 측정기(120), 발화 속도 측정기(130), 음성 변환기(140), 그리고 음성 인식기(150)는 적어도 하나의 프로세서에 의해 동작할 수 있다. 음성 인식 장치(100)를 구성하는 일부 장치는 분리되어 구현될 수 있으며, 설명의 편의를 위해 통합 구현된 것으로 설명한다. . 별도의 컴퓨팅 장치에 분산 구현된 경우, 발화 구간 측정기(110), 피치 정보 측정기(120), 발화 속도 측정기(130), 음성 변환기(140), 그리고 음성 인식기(150)는 통신 인터페이스를 통해 서로 통신할 수 있다. 컴퓨팅 장치는 본 발명을 수행하도록 작성된 소프트웨어 프로그램을 실행할 수 있는 장치이면 충분하고, 예를 들면, 서버, 랩탑 컴퓨터 등일 수 있다.
예를 들면, 음성 변환기(140) 또는 음성 인식기(150)는 음성 신호에 기초하여 산출된 음성의 발화 속도를 수신하면 되므로, 발화 구간 측정기(110), 피치 정보 측정기(120), 그리고 발화 속도 측정기(130)와 항상 함께 구현될 필요가 없다.
발화 구간 측정기(110)는 입력되는 음성 신호를 감지하여 발화 구간에 대한 시간을 측정한다.
상세하게는 발화 구간 측정기(110)는 음성의 시작점과 끝점을 감지하여 하나의 문장을 발화 구간으로 추정하고, 하나의 문장을 발화하는 시간을 측정할 수 있다.
피치 정보 측정기(120)는 음성 신호의 발화 속도를 측정하기 위해 음성 신호의 피치 정보를 측정한다. 여기서, 피치 정보는 음성 신호의 음의 높이와 같이, 음의 진동수를 의미하며, 초당 지동 횟수라는 단위로 표시할 수 있다.
피치 정보 측정기(120)는 음성 신호에서 포락선 정보를 제거하고 음성 신호의 초기 기본 주파수에 대한 주기성만을 확보한 후, 음성 신호에서의 피치 더블링을 제거하여 피치 정보를 정확하게 판단할 수 있다. 여기서, 포락선 정보는 음색 정보에 해당하는 정보를 의미하며, 이러한 음색 정보는 음성 신호에 기초하여 산출한 선형 예측 계수를 역필터로 사용함으로써 제거될 수 있다.
상세하게는 피치 정보 측정기(120)는 음성 신호에서 피치 정보를 정확하게 판단하기 위해서 선형 예측 계수를 역필터를 사용하고, 지각 가중치 필터(perceptual weighting filter)를 사용한다.
이를 통해 피치 정보 측정기(120)는 추출한 피치 정보에 기초하여 기본 주파수를 선정할 수 있다.
상세하게는 피치 정보 측정기(120)는 입력된 신호를 sub-세트로 여러 개 나누어서 피치를 추출하는 방법(Multi-section Pitch Detection)을 사용하여 기본 주파수를 측정할 수 있다.
발화 속도 측정기(130)는 발화 구간 측정기(110)에서 측정된 발화 구간의 시간과 피치 정보 측정기(120)에서 측정한 기본 주파수 변화 횟수를 이용하여 발화 속도를 산출한다.
발화 속도 측정기(130)는 신호의 특성 중에서 low-level description을 이용하여 발화 속도를 측정할 수 있다. 여기서, low-level description은 피치(pitch), 선형 예측 계수(Linear Prediction Coefficients, LPC), 에너지(energy), 스펙트럼 평탄도(spectrum flatness) 등이 있다.
상세하게는 발화 속도 측정기(130)는 기본 주파수 변화 횟수를 발화 구간 시간으로 나누어 발화 속도를 산출할 수 있다.
이때 발화 속도 측정기(130)는 측정된 발화 속도와 기준 발화 속도를 비교하여 서로 상이하면, 음성 변환기(140)로 전달하고, 서로 동일하며 음성 인식기(150)로 전달할 수 있다.
여기서, 기준 발화 속도는 언어모델에 적용된 학습 데이터의 발화 속도를 의미하며, 추후에 용이하게 변경 및 설정 가능하다.
다음으로 음성 변환기(140)는 측정된 발화 속도에 대해서 기준 발화 속도에 기초하여 변환값을 산출하고, 변환값만큼 측정된 발화 속도에 재표본화를 진행하여 음성 신호의 발화 속도를 변환한다.
그리고 음성 인식기(150)는 측정된 발화 속도의 음성 신호 또는 변환된 발화 속도의 음성 신호에 대해서 연계된 언어 모델 DB, 음향학 모델 DB를 이용하여 음성 인식을 수행한다.
음성 인식기(150)는 음성 인식 결과를 연동되는 단말, 서버 또는 음성 인식 장치 내의 별도의 프로그램으로 전달할 수 있다.
이하에서는 음성 인식 장치의 동작방법에 대해서 상세하게 설명한다.
도 2는 한 실시예에 따른 음성 인식 장치(100)의 동작 방법을 나타낸 순서도이다.
도 2에 도시한 바와 같이, 음성 인식 장치(100)는 음성 신호를 수신하여 발화 구간을 측정한다(S110). 음성 인식 장치(100)는 감지된 음성 신호에 기초하여 발화 구간의 시간을 측정할 수 있다.
그리고 음성 인식 장치(100)는 음성 신호에서 포락선 정보를 제거하여 음성 신호의 주기성 정보를 강화한다(S120). 음성 인식 장치(100)는 선형 예측 계수를 산출하여 음성 신호에서 포락선 정보를 제거하고, 지각 가중치 필터를 적용하여 음성 신호의 주기성 정보 강화할 수 있다.
다음으로 음성 인식 장치(100)는 주기성 정보가 강화된 신호에서 피치 정보를 측정하여 최종기본 주파수 추출한다(S130).
음성 인식 장치(100)는 자기 상관 계수를 이용한 기본 주파수 추출 방법에서 빈번하게 발생하는 피치 더블링(pitch doubling)을 제거하고, 높은 정확도의 피치 정보를 측정하여 후보 기본 주파수들에 기초하여 기본 주파수를 추출한다.
음성 인식 장치(100)는 기본 주파수의 변화 횟수와 발화 구간의 시간에 기초하여 발화 속도 산출한다(S140).
여기서, 기본 주파수의 변화 횟수는 옥타브 밴드(octave band)를 기준으로 음정이 바뀌는 횟수를 의미하며, 발화 속도는 기본 주파수의 변화 횟수를 발화 구간 시간으로 나눈 값을 나타낸다.
음성 인식 장치(100)는 산출된 발화 속도와 기준 발화 속도를 비교하여 동일한 속도 여부를 확인한다(S150).
예를 들어, 기준 발화 속도가 3으로 정의하는 경우, 한 개의 발화를 300 ms로 나타낼 수 있다.
다시 말해, 발화 구간 시간이 1초 이고, 기본 주파수 변화 횟수가 5이면, 발화 속도는 5를 의미하며, 한 개의 발화 속도는 200ms로 기준 발화 속도보다 빠른 발화 속도를 가진다.
그러므로 발화 구간(s)에 대해 기본 주파수 발화 횟수에 따라 발화 속도를 나타낼 수 있다.
다음으로 음성 인식 장치(100)는 산출된 발화 속도와 기준 발화 속도가 동일한 속도가 아닌 경우, 산출된 발화 속도를 기준 발화 속도에 기초하여 재표본화 수행한다(S160).
음성 인식 장치(100)는 다음 수학식 1을 통해 변환값을 산출하고, 변환값만큼 산출된 발화 속도를 재표본화를 진행하여 산출된 발화속도를 변환할 수 있다.
Figure pat00001
그리고 음성 인식 장치(100)는 산출된 발화 속도 또는 변환된 발화 속도에 대한 음성 신호의 음성 인식을 수행한다(S170).
음성 인식 장치(100)는 미리 학습이 완료된 음성 모델을 통해 해당 산출된 발화 속도의 음성 신호를 입력하여 음성 인식 결과를 제공할 수 있다.
또한, S150 단계에서 산출된 발화 속도와 기준 발화속도와 동일한 경우, 음성 인식 장치(100)는 S170 단계로 진행하여 음성 신호의 음성 인식을 수행할 수 있다.
이하에서는 도 3 내지 도 5를 이용하여 음성 인식 장치(100)가 음성 신호에서 기본 주파수를 추출하는 구성에 대해서 상세하게 설명한다.
도 3은 한 실시예에 따른 음성 신호에서 주기성 정보를 강화하는 과정을 나타낸 순서도이다.
도 3에 도시한 바와 같이, 음성 인식 장치(100)는 음성 신호에서 자기상관 계수를 구하여 기본 주파수를 신출한다(S121).
음성 인식 장치(100)은 다음 수학식 2를 통해 음성 신호에 대한 자기상관계수를 구한다.
Figure pat00002
여기서, rc는 자기상관계수를 나타내며, swend는 가중치 윈도우를 적용한 음성 신호를 나타낸다.
예를 들어, 20ms를 하나의 프레임으로 연산하여, 12.8kHz sampling rate의 기준으로 256 samples를 한 프레임으로 하면, L은 256이되고, k는 delay값으로 1에서 128으로 설정될 수 있다.
음성 인식 장치(100)는 음성 신호의 한 프레임에 대한 시간축의 기본 주파수를 산출한다.
이때, 음성 인식 장치(100)는 연산량을 최소화하기 위해 별도의 고속 푸리에 변환 기법을 사용하지 않고 시간 축에서 기본 주파수를 추출한다.
다음으로 음성 인식 장치(100)는 기본 주파수를 기준으로 선형 예측 계수(LPC)를 산출한다(S122).
음성 인식 장치(100)는 기본 주파수를 기준으로 가중치 윈도우(windows)를 적용하여 Levinson-Durbin 알고리즘을 통해 LPC 계수를 구할 수 있다.
그리고 음성 인식 장치(100)는 선형 예측 계수의 역필터를 구하여 음성 신호를 필터링한다(S123).
음성 인식 장치(100)는 선형 예측 계수의 역필터로 필터링을 수행함으로써 음성 신호의 원신호에서 포락선에 대한 정보를 제거하고 음성 신호의 주기성만을 남기게 된다.
다음으로 음성 인식 장치(100)는 필터링된 음성 신호에 대해서 지각 가중치 필터(perceptual weighting filter)를 적용하여 음성 신호의 주기성 정보 강화한다(S124).
음성 인식 장치(100)는 주기성만을 가지는 음성 신호에 대해 주기성 정보를 더 강화시키기 위해 수학식 3과 같은 지각 가중치 필터(W)를 적용할 수 있다.
Figure pat00003
여기서, Z는 주파수 변환의 도메인, A()는 가중치 함수, pre=emph는 0.68, γ는 0.92를 사용한다.
이와 같이, 음성 인식 장치(100)는 음성 신호에서 음색 정보인 포락선 정보를 제거하고, 음성 신호의 주기성 정보를 강화합니다.
도 4는 한 실시예에 따른 주기성 정보가 강화된 음성 신호에서 기본 주파수를 추출하는 과정을 나타낸 순서도이다.
도 4는 주기성 정보가 강화된 음성 신호에서 피치 정보를 정확하게 판단하는 두가지 방법을 통해 기본 주파수를 추출한다.
상세하게는 음성 인식 장치(100)는 다중 섹션 피치 감지 방법(Multi-section Pitch Detection)과 안정적인 고음 피치 정보 감지 방법(Stable High Pitch Detection)을 이용한다.
여기서, 강화된 피치 정보에 기초하여 피치 더블링(pitch doubling)을 제거하기 위해 다중 섹션 피치 감지 방법을 사용한다.
먼저, 음성 인식 장치(100)는 주기성 정보가 강화된 음성 신호에서 원신호와 원신호에 대한 다운 샘플링된 신호들을 생성한다(S210).
예를 들어 음성 인식 장치(100)는 원신호와 함께 2배 다운 샘플링과 4배 다운 샘플링된 신호를 생성할 수 있다.
그리고 음성 인식 장치(100)는 생성된 신호들에서 N개의 부분으로 나누어 각 부분마다 기본 주파수를 측정한다(S220).
다시 말해, 다중 섹션 피치 감지 방법은 음성 인식 장치(100)는 주기성 정보가 강화된 음성 신호를 복수개의 서브 셋(Sub-set)으로 분류하여 피치 정보를 추출한다.
예를 들어, 음성 신호를 3개의 set인 원신호, 2배 다운 샘플링(down sampling)된 신호, 4배 다운 샘플링(down sampling)된 신호로 분류한다고 가정하면, 음성 인식 장치(100)는 해당 set 마다 4개의 section을 나누어서 각각의 기본 주파수를 측정한다. 여기서, 다운 샘플링된 배수나 set 또는 부분의 개수 등은 추후에 관리자에 의해 용이하게 변경 및 설정 가능하다.
상세하게는 예시에 대응하여 set과 section을 정의한 표이다.
Figure pat00004
표 1에서와 같이, 원신호와 다운 샘플링된 신호에 대응하여 서브 셋이 각 생성되면, 모든 set과 section에 대해 후보 주파수를 산출한다.
기본 주파수 C(d)를 산출하는 수학식 3은 다음과 같으며, 후보 주파수도 수학식 4를 통해 산출한다.
Figure pat00005
여기서, C는 자기상관계수를 나타내고, shd는 LPC를 이용해 포락선 정보를 제거하고 지각 가중치 필터를 통해 적용한 음성 신호를 나타낸다.
그리고 Lsec는 d는 분석 신호의 길이를 나타낸다.
다음으로 음성 인식 장치(100)는 각 후보 주파수의 히스토그램(histogram)을 생성한다(S310).
그리고 음성 인식 장치(100)는 기본 주파수의 히스토그램에서 빈도수가 가장 높은 제1 후보 주파수와 계수가 임계치 이상인 후보 주파수들을 선택하여, 선택한 후보 주파수의 평균으로 기본 주파수를 설정한다(S320).
음성 인식 장치(100)는 안정적 높은 피치 감지 방법(Stable High Pitch Detection)을 이용하여 각 후보 주파수의 히스토그램을 산출하여 빈도수가 가장 높은 기본주파수와 두 번째, 세 번째 기본 주파수의 coefficient가 0.7이상이면 3값을 평균을 구하여 기본 주파수로 할 수 있다.
상세하게는 임계치가 0.7로 설정되면, 빈도수가 가장 높은 제1 후보 주파수를 선택하고, 이후에 두번째 높은 제2 후보 주파수와 세번째 높은 제3 후보 주파수의 계수가 0.7 이상이면, 음성 인식 장치(100)는 제1 후보 주파수, 제2 후보 주파수 그리고 제3 후보 주파수의 평균을 구하여 해당 평균을 기본 주파수로 설정할 수 있다.
도 5는 한 실시예에 따른 음성 신호에 기초하여 측정된 기본 주파수를 나타낸 예시도이다.
도 5의 (a)는 음성 신호에 대한 스펙트로그램(분음 파형도)를 나타내고, (b)는 기본 주파수 추출 결과를 나타낸 예시도이다.
도 5의 (a)에서와 같이, 음성 신호를 시각화하면, 파형(waveform)과 스펙트럼(spectrum)의 특징이 조합되어 있다.
파형에서는 시간축의 변화에 따른 진폭 축의 변화를 볼 수 있고, 스펙트럼에서는 주파수 축의 변화에 따른 진폭 축의 변화를 볼 수 있는 반면, 스펙트로그램에서는 시간축과 주파수 축의 변화에 따라 진폭의 차이를 인쇄 농도 / 표시 색상의 차이로 알 수 있다.
이러한 음성 신호에서 아래 단을 제외한 포락선 정보를 제외하여 앞서 설명한 도 4에 의해 기본 주파수만을 추출하면 도 5의 (b)와 같다.
도 6는 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.
도 6를 참고하면, 음성 인식 장치(100)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치로 구현될 수 있다. 컴퓨팅 장치(200)는 하나 이상의 프로세서(210), 프로세서(210)에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리(220), 컴퓨터 프로그램 및 각종 데이터를 저장하는 스토리지(230), 통신 인터페이스(240), 그리고 이들을 연결하는 버스를 포함할 수 있다.
프로세서(210)는 컴퓨팅 장치(200)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령어들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다.
메모리(220)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(220)는 본 개시의 동작을 실행하도록 기술된 명령어들이 프로세서(210)에 의해 처리되도록 해당 컴퓨터 프로그램을 스토리지(230)로부터 로드할 수 있다. 메모리(220)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다.
스토리지(230)는 컴퓨터 프로그램, 각종 데이터를 비임시적으로 저장할 수 있다. 스토리지(230)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
통신 인터페이스(240)는 유/무선 통신을 지원하는 유/무선 통신 모듈일 수 있다. 그리고 버스는 컴퓨팅 장치(200)의 구성 요소 간 통신 기능을 제공한다.
컴퓨터 프로그램은, 프로세서(210)에 의해 실행되는 명령어들(instructions)을 포함하고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장되며, 명령어들은 프로세서(210)가 본 개시의 동작을 실행하도록 만든다. 컴퓨터 프로그램은 네트워크를 통해 다운로드되거나, 제품 형태로 판매될 수 있다
본 발명에 따르면, 입력된 음성 신호의 발화 속도를 연산하여 기준 발화 속도로 변환함으로써, 기준 발화 속도에 기초하여 학습된 언어 모델을 유지하면서도 음성 신호에 대한 음성 인식률을 향상시킬 수 있다.
또한, 다양한 환경에 대해 훈련할 수 없는 언어 모델에 대하여 높은 음성인식률을 제공함으로써 훈련에 따른 시간과 비용을 최소화할 수 있다.
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.

Claims (13)

  1. 음성 인식 장치의 동작 방법으로서,
    입력되는 음성 신호를 감지하여 추정된 발화 구간의 시간을 측정하는 단계,
    음성 신호에서 음색 정보를 제거하여 피치 정보를 측정하고, 상기 피치 정보를 기준으로 하나 이상의 샘플링을 수행하여 기본 주파수를 추출하는 단계,
    상기 기본 주파수의 변화 횟수와 상기 발화 구간의 시간에 기초하여 발화 속도를 산출하는 단계, 그리고
    상기 산출된 발화 속도와 미리 설정된 기준 발화 속도가 일치하는 경우, 상기 음성 신호에 대한 음성 인식을 수행하고, 상기 산출된 발화 속도와 기준 발화 속도와 상이한 경우, 상기 산출된 발화 속도를 기준 발화 속도에 기초하여 발화 속도를 변환하고, 변환된 발화 속도를 가지는 음성 신호에 대한 음성 인식을 수행하는 단계
    를 포함하는 동작 방법.
  2. 제1항에서,
    상기 기본 주파수를 추출하는 단계는,
    상기 음성 신호에서 상기 음색 정보에 해당하는 포락선 정보를 제거하고 상기 음성 신호의 주기성 정보를 강화하는 단계, 그리고
    주기성 정보가 강화된 상기 음성 신호에서 피치 정보를 측정하여 상기 기본 주파수를 추출하는 단계,
    를 포함하는, 동작 방법.
  3. 제2항에서,
    상기 음성 신호의 주기성 정보를 강화하는 단계는,
    상기 음성 신호에서 자기 상관 계수를 구하여 초기 주파수를 산출하는 단계,
    상기 초기 주파수를 기준으로 선형 예측 계수를 산출하고, 상기 선형 예측 계수를 역필터로 상기 음성 신호를 필터링하는 단계, 그리고
    지각 가중치 필터를 적용하여 음성 신호의 주기성 정보를 강화하는 단계,
    를 포함하는, 동작 방법.
  4. 제2항에서,
    상기 기본 주파수를 추출하는 단계는,
    주기성 정보가 강화된 음성 신호의 원신호와 상기 원신호에 대한 다운 샘플링된 신호들을 생성하고 생성된 신호들마다 N개의 부분으로 나누어 각 부분에 대한 후보 주파수를 측정하는 단계,
    상기 후보 주파수의 히스토그램을 생성하고, 각 히스토그램에서 빈도수가 가장 높은 제1 후보 주파수를 포함하여 계수 값이 임계치 이상인 후보 주파수들을 선택하고, 선택된 후보 주파수들의 평균으로 기본 주파수를 설정하는 단계
    를 포함하는 동작 방법.
  5. 제1항에서,
    상기 발화 속도를 산출하는 단계는,
    기본 주파수의 변화 횟수를 산출하고, 산출된 변화 횟수를 발화 구간의 시간으로 나누어 상기 발화 속도를 산출하는 동작 방법.
  6. 제1항에서,
    상기 음성 인식을 수행하는 단계는,
    상기 기준 발화 속도를 산출된 발화 속도로 나누어 변환값을 산출하고, 상기 변환값만큼 상기 산출된 발화 속도를 재표본화하여 상기 산출된 발화속도를 변환하는 동작 방법.
  7. 컴퓨팅 장치로서,
    메모리, 그리고
    상기 메모리에 로드된 프로그램의 명령들(instructions)을 실행하는 적어도 하나의 프로세서를 포함하고,
    상기 프로그램은
    입력되는 음성 신호를 감지하여 발화 구간의 시간을 측정하는 단계,
    음성 신호에서 음색 정보를 제거하여 피치 정보를 측정하고, 상기 피치 정보를 기준으로 하나 이상의 샘플링을 수행하여 기본 주파수를 추출하는 단계,
    상기 기본 주파수의 변화 횟수와 상기 발화 구간의 시간에 기초하여 발화 속도를 산출하는 단계, 그리고
    상기 산출된 발화 속도와 미리 설정된 기준 발화 속도가 일치하는 경우, 상기 음성 신호의 음성 인식을 수행하고, 상기 산출된 발화 속도와 기준 발화 속도가 상이한 경우, 상기 산출된 발화 속도를 기준 발화 속도에 기초하여 발화속도를 변환하고, 변환된 발화 속도를 가지는 음성 신호의 음성 인식을 수행하는 단계
    를 실행하도록 기술된 명령들을 포함하는, 컴퓨팅 장치.
  8. 제1항에서,
    상기 기본 주파수를 추출하는 단계는,
    상기 음성 신호에서 자기 상관 계수를 산출하고, 상기 자기 상관 계수에 따른 초기 주파수를 산출하고, 상기 초기 주파수를 기준으로 선형 예측 계수를 산출하여 상기 선형 예측 계수를 역필터로 상기 음성 신호를 필터링하여 상기 음색 정보를 제거하는 컴퓨팅 장치.
  9. 제8항에서,
    상기 기본 주파수를 추출하는 단계는,
    상기 음색 정보가 제거된 상기 음성 신호에 대해 지각 가중치 필터를 적용하여 음성 신호의 주기성 정보를 강화하는 컴퓨팅 장치.
  10. 제9항에서,
    상기 기본 주파수를 추출하는 단계는,
    주기성 정보가 강화된 음성 신호의 원신호, 상기 원신호에 대한 다운 샘플링된 하나 이상의 신호를 생성하여, 생성된 신호들마다 후보 주파수를 측정하고 상기 후보 주파수마다 히스토그램을 생성하여, 각 히스토그램에서 빈도수가 가장 높은 제1 후보 주파수를 포함하여 계수 값이 임계치 이상인 후보 주파수들을 선택하고, 선택된 후보 주파수들의 평균으로 기본 주파수를 설정하는 컴퓨팅 장치.
  11. 제7항에서,
    상기 발화 속도를 산출하는 단계는,
    기본 주파수의 변화 횟수를 산출하고, 해당 변화 횟수를 발화 구간의 시간으로 나누어 상기 발화 속도를 산출하는 컴퓨팅 장치.
  12. 제7항에서,
    상기 음성 인식을 수행하는 단계는,
    상기 기준 발화 속도를 산출된 발화 속도로 나누어 변환값을 산출하고, 상기 변환값만큼 상기 산출된 발화 속도를 재표본화하여 상기 산출된 발화속도를 변환하는 컴퓨팅 장치.
  13. 제7항에서,
    상기 음성 인식을 수행하는 단계는,
    상기 기준 발화 속도로 생성된 학습 데이터에 기초하여 학습이 완료된 언어 모델에 상기 음성 신호를 입력하여 상기 음성 신호에 대한 음성 인식을 수행하는 컴퓨팅 장치.
KR1020210031686A 2021-03-10 2021-03-10 음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치 KR20220127096A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210031686A KR20220127096A (ko) 2021-03-10 2021-03-10 음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210031686A KR20220127096A (ko) 2021-03-10 2021-03-10 음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220127096A true KR20220127096A (ko) 2022-09-19

Family

ID=83460699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210031686A KR20220127096A (ko) 2021-03-10 2021-03-10 음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20220127096A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101668A1 (ko) * 2022-11-11 2024-05-16 삼성전자주식회사 전자 장치 및 이의 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024101668A1 (ko) * 2022-11-11 2024-05-16 삼성전자주식회사 전자 장치 및 이의 제어 방법

Similar Documents

Publication Publication Date Title
KR101988222B1 (ko) 대어휘 연속 음성 인식 장치 및 방법
Dhingra et al. Isolated speech recognition using MFCC and DTW
JP4264841B2 (ja) 音声認識装置および音声認識方法、並びに、プログラム
JP4989618B2 (ja) カオス論的指標値計算システム
CN108305639B (zh) 语音情感识别方法、计算机可读存储介质、终端
JP4572218B2 (ja) 音楽区間検出方法、音楽区間検出装置、音楽区間検出プログラム及び記録媒体
CN108682432B (zh) 语音情感识别装置
JP5846043B2 (ja) 音声処理装置
JP4587854B2 (ja) 感情解析装置、感情解析プログラム、プログラム格納媒体
JP4705414B2 (ja) 音声認識装置、音声認識方法、音声認識プログラムおよび記録媒体
KR20220127096A (ko) 음성 특성을 이용한 발화 속도 측정 방법, 이를 이용한 음성 인식 방법 및 장치
Chadha et al. Optimal feature extraction and selection techniques for speech processing: A review
US11580989B2 (en) Training method of a speaker identification model based on a first language and a second language
CN112151066A (zh) 基于声音特征识别的语言冲突监测方法、介质及设备
JP6724290B2 (ja) 音響処理装置、音響処理方法、及び、プログラム
JP4839970B2 (ja) 韻律識別装置及び方法、並びに音声認識装置及び方法
JP2010060846A (ja) 合成音声評価システム及び合成音声評価方法
Płonkowski Using bands of frequencies for vowel recognition for Polish language
CN113593604A (zh) 检测音频质量方法、装置及存储介质
JP4177751B2 (ja) 声質モデル生成方法、声質変換方法、並びにそれらのためのコンピュータプログラム、当該プログラムを記録した記録媒体、及び当該プログラムによりプログラムされたコンピュータ
JP4537821B2 (ja) オーディオ信号分析方法、その方法を用いたオーディオ信号認識方法、オーディオ信号区間検出方法、それらの装置、プログラムおよびその記録媒体
JP4576612B2 (ja) 音声認識方法および音声認識装置
JP2016080767A (ja) 周波数成分抽出装置、周波数成分抽出方法及び周波数成分抽出プログラム
KR102300599B1 (ko) 가중치를 이용한 음성 신호의 스트레스 판별 방법 및 그를 위한 장치
JP6234134B2 (ja) 音声合成装置

Legal Events

Date Code Title Description
A201 Request for examination