KR100406655B1 - 피치검출장치 - Google Patents

피치검출장치 Download PDF

Info

Publication number
KR100406655B1
KR100406655B1 KR1019970001192A KR19970001192A KR100406655B1 KR 100406655 B1 KR100406655 B1 KR 100406655B1 KR 1019970001192 A KR1019970001192 A KR 1019970001192A KR 19970001192 A KR19970001192 A KR 19970001192A KR 100406655 B1 KR100406655 B1 KR 100406655B1
Authority
KR
South Korea
Prior art keywords
pitch
zero crossing
waveform
signal
pitch period
Prior art date
Application number
KR1019970001192A
Other languages
English (en)
Other versions
KR970060045A (ko
Inventor
다케시 다이소지
야스오 와카모리
도시히코 스즈키
야스케 야마모토
Original Assignee
야마하 가부시키가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP00524896A external-priority patent/JP3996221B2/ja
Priority claimed from JP00525196A external-priority patent/JP3707120B2/ja
Priority claimed from JP00525396A external-priority patent/JP3996222B2/ja
Priority claimed from JP524996A external-priority patent/JP3235445B2/ja
Priority claimed from JP525096A external-priority patent/JPH09198094A/ja
Priority claimed from JP00525296A external-priority patent/JP3707121B2/ja
Application filed by 야마하 가부시키가이샤 filed Critical 야마하 가부시키가이샤
Publication of KR970060045A publication Critical patent/KR970060045A/ko
Application granted granted Critical
Publication of KR100406655B1 publication Critical patent/KR100406655B1/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/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • 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
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • G10L19/125Pitch excitation, e.g. pitch synchronous innovation CELP [PSI-CELP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Measuring Frequencies, Analyzing Spectra (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)

Abstract

본 발명의 피치검출장치는 샘플링주파수를 가지며, 사람의 음성에 대응하는 입력디지탈신호를 수신하며, 상기 입력디지탈신호상에서 오버샘플링 동작이 행해져서 임의의 배수(즉, 4)로 상기 샘플링주파수를 승산한다. 따라서 상기 장치는 체배된 주파수를 가지는 디지탈음성신호를 생성하며, 이에 의해 2진 신호가 생성된다. 여기서 상기 2진 신호는 레벨이 시간의 경과에 따라서 변화하는 음성파형이 약 제로 레벨로 마스킹존을 통해 횡단하는 경우에만 역으로되며, 상기 2 진신호는 상기 음성파형이 상기 마스킹존내에서 이동하는 지속시간에서 그대로 유지된다. 다음으로 상기 장치는 음성파형이 제로 베벨라인을 교차하는 제로 교차 라인을 측정하며, 상기 측정된 제로 교차간격이 시간축 상에 연속으로 배치되며, 피치 주기가 '2n'제로 교차간격(여기서 n은 정수)의 합에 대응한다는 가정을 근거로 상기 장치는 파형 사이클간의 대응도를 연속으로 생성하도록 상기 제로교차 간격에 대한 연산을 수행한다. 상기 대응도 각각은 상기 음성파형에서 서로 인접위치한 'm'파형사이클(여기서 'm'은 '3'과 '4' 같은 정수)과 관련하여 연산되므로 상기 장치는 상기 계산된 대응도 중에서 가장높은 대응도를 구하도록 'n'에 대해 임의의 정수를 선택하므로서 피치주기를 구한다.

Description

피치검출장치
본 발명은 음성파형의 피치주기(pitch period) 즉 피치주파수를 검출할 수 있는 피치검출장치에 관한 것이다.
피치주기(즉 피치주파수)는 음성파형을 규정하는 하나의 파라미터로서 알려져 있다. 음성파형의 피치주기를 검출하는 기술은 일반적으로 음성분석/합성시스템, 음성코딩시스템 등의 분야에 이용된다. 최근 일부의 가라오케시스템은 자동연주되는 곡조에 따라서 노래를 부르는 싱어(즉 사람)가 생성한 음성의 피치주기를 검출하는 기능을 이용하고 있다. 따라서 이러한 가라오케시스템은 예를 들면 백 음계(a scale of a hundred)로 임의의 지점에 싱어가 노래한 노래를 마크하도록 상기 기능을 이용하고 있다.
음성의 피치주기를 검출하는 데에는 통상 다음의 방법이 이용되고 있다.
(1)제로 교차 방법
이 방법은 레벨이 시각에 따라 제로 레벨라인과 관련하여 변화하는 사인파에 가까운 음성파형을 가정하므로 상기 음성파형은 다음과 같이 그 레벨의 단조로운 변화를 반복한다.
음성파형의 레벨은 부의 측에서 정의 측으로 상향 방향에서 제로 레벨라인을 횡단한후(교차한후), 상기 레벨은 정의 측으로 부터 부의측으로 하향 방향에서 상기 제로 레벨라인을 횡단한다.
이후 상기 레벨은 다시 부의 측에서 정의 측으로 상향 방향으로 상기 제로 교차라인을 횡단한다.
따라서 피치주기는 상기 음성파형의 레벨이 상기와 동일 방향에서 제로 레벨라인을 교차하는 지점간의 시간의 간격으로 주어진다. 이 제로 교차방법은 2개의 제로 교차 지점사이의 시각의 간격이 피치주기를 검출하는데 측정되도록 상기의 아이디어를 기반으로 행해진다. 또한 상기의 방법과 유사하게 다른 방법을 제공할 수있는데 이 방법에서 음성 파형의 순시값이 최대값 또는 최소값과 일치하는 타이밍사이의 시간간격이 피치주기를 검출하도록 측정된다.
(2) 자기상관 방법
첫째로 음성파형이 시계열 샘플 x(1), x(2),....을 생성하도록 임의의 샘플링주기의 샘플링동작을 받는다. 따라서, 자기상관 방법은 다음식으로 표시되는 자기상관 함수 R(r)의 연산을 실행하도록 상기 시계열 샘플을 이용한다.
Figure pat00001
여기서 Σ는 '1'에서 'N · r' 범위의 임의의 범위와 관련하여 괄호 '{ }'에 포함된 값의 합을 연산하는 오퍼레이터를 나타낸다.
따라서 상기 자기상관 방법은 상기 연산의 결과에 따라서 피치주기를 검출한다. 즉 'r'의 값은 다양한 방식으로 변화하며, 상기 자기상관함수 R(r)은 'r'의 각 값과 관련하여 연산되며, 음성파형의 피치주기는 상기 자기상관합수 'R(r)'에 대해 최대값을 제공하는 'r'의 임의의 값에 의거 연산된다. 여기서 자기상관도가 최대로되면 상기 자기상관함수 'R(r)'에 대해 최대값이 연산된다. 상기 제로교차방법은 비교적 저 비용으로 피치주기의 고속의 검출을 할 수 있는데 장점이 있지만 일반적으로 인간의 음성은 복수의 오버톤 성분을 포함한다. 따라서 상기 제로교차방법은 정확하게 피치검출을 할 수 없는 문제가 있으며, 상기 자기상관방법은 다량의 연산을 필요로 하여 피치주기를 검출하는데 많은 시간을 요한다. 또한 상기 자기상관방법을 실현하는데 비교적 고비용이 들게된다.
본 발명의 목적은 고속이고 정확성있게 피치주기를 검출할 수 있으며, 저 비용으로 실현될 수 있는 피치검출장치를 제공하는데 있으며,
본 발명의 피치검출장치는 샘플링주파수를 가지며, 사람의 음성에 대응하는 입력디지탈신호를 수신하며, 임의의 배수(즉 4)로 상기 샘플링주파수를 승산하도록 오버샘플릭 동작이 상기 입력디지탈신호에서 실행되므로 상기 장치는 체배된 주파수를 가지는 디지탈음성신호를 생성하며, 상기 주파수에 의거 2 진신호가 생성된다. 여기서 디지탈음성신호는 원 샘플 및 보간 샘플을 이용하여 구성된 음성파형을 나타낸다. 상기 2진 신호는 레벨이 시간의 경과에 따라서 변화하는 음성파형이 약 제로 레벨로 마스킹존을 통해 횡단하는 경우에만 역으로되며, 상기 2 진신호는 상기 음성파형이 상기 마스킹존내에서 이동하는 지속시간에서 그대로 유지된다.
다음으로 상기 장치는 음성파형이 제로 레벨라인을 교차하는 제로 교차 간격을 측정하며, 여기서 상기 측정된 제로교차간격은 시간축 상에 연속으로 배치된다. 피치주기가 '2n' 제로 교차간격(여기서 'n'은 정수)의 합에 대응한다고 가정하여 상기 장치는 파형사이클 사이의 대응도를 연속으로 생성하도록 제로 교차간격에서 연산을 행하는데 상기 각각의 대응도는 상기 음성파형에서 서로 인접위치한 'm'파형사이클(여기서 'm'은 '3'과 '4'등의 정수)과 관련하여 연산된다. 따라서 상기 장치는 상기 계산된 대응도 중에서 가장높은 대응도를 구하도록 'n'에 대해 임의의 정수를 선택하므로서 피치주기를 구한다.
본 발명의 상기 및 다른 목적은 첨부 도면과 관련한 이하의 설명으로 부터명백해질 것이다.
도 1은 본 발명의 일 실시예에 따라 설계된 피치검출장치의 기능을 통합한 가라오케시스템의 구성의 일부를 도시하는 블록도.
도 2는 도 1에 도시한 4-배 오버샘플링부의 회로도.
도 3은 도 1에 도시한 2진 부분의 선택부분을 나타내는 일례의 회로구성을 도시하는 블록도.
도 4는 도 3의 회로구성의 일 부분으로서 사용될 수 있는 일 례의 회로구성을 도시하는 블록도.
도 5는 타이머 및 제어시스템으로서 RAM을 포함하는 도 1의 블록도의 선택부분에 대응하는 상세구성을 도시하는 블록도.
도 6A는 도 1에 도시한 4-배 오버샘플링부의 동작설명에 이용되는 사인파 형 신호파형을 도시하는 도면.
도 6B는 원 샘플만에 의거 생성된 2진 신호를 나타내는 파형을 도시하는 도면.
도 6C는 원 샘플 및 4-배 샘플링동작으로 생성된 보간샘플에 의거 생성된 2진신호를 나타내는 파형을 도시하는 도면.
도 7A는 도 3도시의 2진 부분의 동작 설명을 위해 제공되며 상기 4-배 오버샘플링 부분의 출력신호에 의거 형성된 사인파형 신호파형을 도시하는 도면.
도 7B는 샘플상태(S)와 홀드상태(H)간에 생성된 도 3도시의 S/H부분의 상태 천이를 도시하는 도면.
도 7C는 상기 S/H부분의 출력을 나타내는 파형을 도시한 도면.
도 7D는 도 3에 도시한 비교기로 부터 출력된 2진 신호를 나타내는 파형을 도시한 도면.
도 8은 도 5에 도시한 기록제어부분에 의해 수행된 기록제어루틴을 도시하는 플로우차트.
도 9A는 도 1에 도시한 피치연산부분에 의해 실행된 피치주기의 연산의 설명에 이용되며, 상기 2진화부분에 입력된 신호에 의거 형성된 파형을 도시하는 도면.
도 9B는 가정 1에 의거 연산된 피치주기를 나타내는 일련의 시각을 나타내는 도면.
도 9C는 가정 2에 의거 연산된 피치주기를 나타내는 일련의 시각을 나타내는 도면.
도 9D는 가정 3에 의거 연산된 피치주기를 나타내는 일련의 시각을 나타내는 도면.
도 9E는 가정 4에 의거 연산된 피치주기를 나타내는 일련의 시각을 나타내는 도면.
도 10은 피치주기를 연산하기 위한 절차를 도시하는 플로우차트.
도 11은 재현율을 연산하기 위한 절차를 도시하는 플로우차트.
도 12는 피치주기를 연산하기 위한 절차를 도시하는 플로우차트.
도 13은 피치주기의 검출에러를 측정하기 위한 측정의 결과를 도시하는 그래프.
도 14는 피치주기의 검출시 지연시각을 검출하기 위한 측정결과를 도시하는 그래프.
도 15는 피치주기의 에러 추출 및 평균화를 실행한 여러 실행결과 사이의 관계를 도시하는 그래프.
도 16은 피치주기 추출의 정확성과 여러 이전의 파형사이클간의 관계를 도시하는 도면.
* 도면의 주요부분에 대한 부호의 간단한 설명*
2 ; 보컬 추출부 5 : DC제거부
7 : 4배 오버샘플링부 8 : 2진화부
9 : 타이머 11 : 피치연산부
13 : 마킹부 14 : 표시장치
다음으로 도면을 참조해서 본 발명의 일 실시예의 피치검출장치에 대해 상세히 설명한다.
[A]실시예의 구성
도 1은 본 발명의 일 실시예에 따라 설계된 피치검출장치의 기능을 통합하는 가라오케시스템의 일부를 도시하는 블록도로서 특히 가라오케시스템의 전체 구성내에서 싱어의 곡의 마킹과 관련한 구성에 관한 것이다. 디지탈악곡신호가 콤팩트디스크(즉 CD:1)에 기록되며 그 디지탈악곡신호는 CD(1)로 부터 판독되어 샘플링주파수 fs(여기서 fs = 44.1 kHs)를 가지는 클럭신호와 동기하여 연속으로 재생된다. 보컬 추출부(2)는 상기 CD(1)로 부터 재생된 디지탈악곡신호로 부터 보컬사운드에 대응하는 신호를 추출한다. 이후 상기 신호는 간단히 "디지탈 모델신호"라하는 디지탈 보컬모델신호이다. 예를 들어 디지탈악곡신호로 부터 음성대역을 포함하는 임의의 주파수 대역의 신호를 추출하도록 대역통과필터를 이용하여 추출 프로세스가 수행되어 디지탈모델신호를 얻을 수 있다. 시스템이 단순히 보컬사운드가 기록된 기록매체를 조정할 수 있는 경우 기록매체등으로 부터 재생된 디지탈악곡신호는 디지탈모델신호로서 직접적으로 이용될 수 있다. 다음으로 마이크(3)는 CD(1)로 부터 재생된 악곡과 일치하여 싱어가 노래한 곡에 대응하는 음성을 취입한다. 따라서 마이크(3)는 아날로그음성신호를 출력한다. A/D컨버터(4)는 CD(1)의 재생과 같이 샘플링주파수 fs(여기서 fs = 44.1kHz)를 가지는 상기 클록신호와 동기하여마이크(3)로 부터 출력된 아날로그 음성신호상에서 샘플링동작을 수행한다. 따라서 상기 아날로그 음성신호는 디지탈음성신호로 변환된다.
DC제거부(5)는 그에 연속으로 공급되는 디지탈음성신호 및 디지탈모델신호를 수신한다. 따라서 DC제거부(5)는 예를 들어 0Hz 내지 50Hz 사이의 주파수 범위에 대응하는 저주파대역에 속하는 DC성분을 제거한다. 그래서 상기 디지탈음성신호 및 디지탈모델신호가 상기 DC제거부(5)에서 대역제거프로세스를 받게된다. 그러므로 상기 DC제거부(5)는 DC제거 디지탈음성신호 및 DC제거 디지탈모델신호를 저역필터(즉 LPF:6)에 출력한다. 상기 저역필터(6)는 상기 DC제거 디지탈음성신호 및 DC제거 디지탈모델신호로 부터 고주파성분을 제거한다. 예를 들어 고주파성분은 주파수가 500kHz 이상인 성분에 대응한다. DC제거부(5) 및 LPF(6)의 상기 동작으로 50Hz에서 500Hz 범위의 주파수 대역에 속하는 주파수성분 만이 상기 디지탈음성신호 및 디지탈모델신호에서 각각 선택된다. 따라서 LPF(6)는 그러한 선택된 주파수 범위의 디지탈음성신호 및 디지탈모델신호를 출력한다.
4-배 오버샘플링부(7)는 상기 LPF(6)으로 부터 출력된 디지탈음성신호 및 디지탈모델신호에 대한 보간연산을 수행한다. 여기서 상기 신호 모두는 샘플링주파수 fs(fs = 44.1kHz)를 가진다. 이 결과 상기 신호는 상기 샘플링주파수의 4배이상의 4-배샘플링주파수를 가지는 신호로 변환된다. 도 2는 상기 디지탈음성신호 및 디지탈모델신호(이하 간단히 입력디지탈신호라함)중 하나에서 4-배오버샘플링부(7)의 프로세싱을 수행하는데 필요한 일례의 회로구성을 도시하는데, 여기서 래치회로(71)는 그에 공급되는 샘플링주파수fs에 대응하는 클럭펄스에 따라서 입력디지탈신호를 입력해서 유지한다. 지연회로(동일 참조번호 72로 도시)는 상기 래치회로(71)를 따르도록 캐스케이드 접속방식으로 접속된다. 각각의 지연회로는 1-클럭지연을 실현한다. 모든 지연회로(72)는 샘플링주파수 fs의 4배이상인 4-배샘플링주파수를 가지는 클럭펄스를 수신한다. 따라서 상기 래치회로(71)에 유지된 입력디지탈신호는 지연신호를 생성하도록 상기 지연회로(72)에 의해 연속적으로 시프트된다. 여기서 제 1지연신호는 1 클럭 주기만큼 상기 입력디지탈신호 뒤로 지연되며, 상기 제 2지연신호를 따르는 지연신호 각각은 1 클럭주기 만큼 그 앞의 지연신호 뒤로 지연된다. 도 2의 회로구성은 또한 승산기(73) 및 가산기(74)를 구비하며, 이에 의해 래치회로(71)의 출력 및 지연회로(72)의 출력상에서 일련의 보간계수를 이용하여 콘볼루션 보간연산이 행해진다. 도 2의 상기회로구성에 따르면 4-배샘플링주파수를 가지는 클럭펄스와 동기하여 보간연산이 수행된다. 따라서 보간 연산의 결과를 나타내는 디지탈신호가 도 2의 최종단의 가산기(74)로 부터 연속으로 출력된다.
상기 4-배 오버샘플링부(7)는 상기 피치주기를 얻도록 정밀도가 높게 되어 있다. 본 시스템은 디지탈음성신호 및 디지탈모델신호와 관련하여 제로 교차점 사이의 시간 간격을 측정하도록 설계되어 상기 신호 각각과 관련하여 피치주기가 얻어진다. 피치주기에 대한 측정의 정밀도를 상승시키기 위하여 시간축상에 위치한 제로 교차점의 위치에 대한 검출의 정밀도를 상승시킬 필요가 있다. 이 때문에 상기 4-배오버샘플링부(7)는 디지탈음성신호 및 디지탈모델신호를 나타내는 샘플의 시간밀도를 4 배 상승시키도록 제공되어 제로 교차점의 위치에 대한 검출의 정밀도가 상승된다. 본 실시예는 오버샘플링을 수행하도록 '커브 보간'을 이용하지만 비용이 제한되는 경우 정밀도가 제한된 '선형보간'을 이용할 수 있다.
2 진화부(8)는 상기 4-배 오버샘플링부(7)로 부터 출력된 디지탈음성신호 및 디지탈모델신호를 2진수로 변환한다. 기본적으로 상기 2진화부(8)는 제로 레벨과 관련하여 그에 입력되는 입력디지탈신호에 대한 정/부의 결정을 수행한다. 따라서 입력디지탈신호가 정인 경우 숫자 '1'을 출력하며 입력디지탈신호가 부인 경우 숫자'0'을 출력한다. 환언하면 2진화부(8)로 부터 출력된 2진신호는 입력디지탈신호의 레벨이 제로레벨을 횡단하는 매 시간마다 숫자'0'과 '1'사이에서 역으로 된다. 본 실시예에 있어서, ±△의 마스킹존은 제로레벨과 관련하여 세트되어, 상기 입력디지탈신호의 레벨에서의 작은 변화에 대처한다. 따라서 상기 2진신호의 숫자는 ±△의 마스킹존내에서 입력디지탈신호의 레벨에서 발생하는 작은 변화와 무관하게 역으로되지 않는다.
도 3은 디지탈음성신호 및 디지탈모델신호(이하 간단히 입력디지탈신호라 함) 중하나에서 상기 2진화부(8)의 프로세싱을 수행하는데 필요한 일례의 회로구성을 나타낸다. 도 3에 있어서, 절대값검출부는 입력디지탈신호의 절대값을 검출한다. 비교기(82)는 상기 입력디지탈신호의 절대값과 소정의 값△을 비교한다. 따라서 비교기(82)는 절대값이 상기 소정의 값△을 초과하는 경우 숫자'1'을 출력하며, 상기 값을 초과하지 않는 경우 숫자'0'을 출력한다. 샘플홀드(S/H)부(83)는 비교기의 출력에 응답하여 입력디지탈신호상에서 샘플홀드동작을 수행한다. 특히 비교기(82)의 출력이 '1'로되는 지속시간에서 S/H부(83)에서 세트되어 상기S/H부(83)는 비교기(84)에 입력디지탈신호를 직접적으로 통과시킨다. 반면 상기 비교기(82)의 출력이 '0'으로되는 지속시간에서 상기 S/H부(83)에 홀드상태가 세트되어 상기 S/H부(83)는 비교기(82)의 출력이 '1'에서 '0'으로 바뀌기 바로 전에 입력되는 입력디지탈신호를 홀드시킨다. 상기 비교기(84)는 2진 신호를 생성하도록 상기 S/H부(83)의 출력상에서 정/부의 결정을 수행한다. 상기 S/H부(83)의 출력이 정이 되면 숫자 '1'이 2진 신호에 세트되고 상기 출력이 부인 경우 숫자 '0'이 2진 신호에 세트된다.
도 3의 상기의 회로구성에 의하면 상기 S/H부분(83)의 레벨이 ±△의 마스킹존의 외측에 있는 경우 입려디지탈신호가 상기 부분을 직접 통과한다. 대조적으로 상기 입력디지탈신호가 제로 레벨근처에 세트된 ±△의 마스킹존에 들어가는 경우 상기 S/H부(83)는 홀드상태로 세트되고 이 때 상기 S/H부(83)는 입력디지탈신호가 상기 마스킹존에 들어가기 바로 이전에 출력된 입력디지탈신호의 값을 유지한다. 이러한 홀딩동작이 연속적으로 실행되는 지속시간에서 비교기(84)로 부터 출력된 2진신호는 역으로되지 않는다. 따라서 약 제로레벨로 ±△의 마스킹존을 횡단하도록 입력디지탈신호가 변화되는 경우에 있어서, 상기 입력디지탈신호가 마스킹존을 완전이 횡단하는 타이밍에서 2진 신호가 역으로된다.
몇몇의 경우에 있어서, 상기 입력디지탈신호는 약 제로레벨로 ±△의 마스킹존에 들어가지만, 이 신호는 상기 마스킹존을 통해 횡단하지 않아서 상기 마스킹존내에서 상하로 변화된다. 이 경우 입력디지탈신호가 상기 마스킹존에서 제로레벨을 횡단하는 경우에도 S/H부(83)의 출력이 상기 입력디지탈신호가 상기 마스킹존으로들어가기 바로전에 출력되며, 상기 제로레벨을 횡단하지 않는 임의 값의 입력디지탈신호값으로 유지되어 2진 신호가 역으로되지 않는다.
도 3의 블록(84)내에 접속된 블록(81 내지 83)은 도 4에 도시한 바와 같이 블록(85 내지 89)로 대치될 수 있다. 도 4에 있어서, 각각의 비교기(85 및 86)는 입력디지탈신호와 임의의 기준값을 비교하여 상기 입력디지탈신호의 값이 기준레벨 이상인 경우 숫자 '1'을 출력하며, 기준값 이하인 경우 숫자 '0'을 출력한다. 특히 기준레벨±△가 비교기(85)에 인가되며, 기준레벨 -△가 비교기(86)에 인가된다. 래치회로(87)는 입력디지탈신호를 유지하며, 선택기(88)는 상기 입력디지탈신호 및 래치회로(87)의 출력 중 하나를 선택적으로 출력한다. 제어부(89)는 상기 비교기(85,86)의 출력에 의거하여 상기 래치회로(87) 및 선택기(88)를 제어한다. 상기 제어부(89)의 제어의 상세한 것은 다음의 두 경우(a)와 (b)를 참조하여 이하 설명한다.
(a) 상기 비교기(85, 86)의 출력이 모두 '1' 또는 '0'으로되는 첫째의 경우.
상기 첫째의 경우는 입력디지탈신호가 약 제로레벨로 ±△의 마스킹존의 외측에 존재하는 경우에 상당하며, 이 경우 제어부(89)는 샘플상태로 놓여질 래치회로(87)를 제어하며, 입력디지탈신호를 출력하도록 상기 선택기(88)를 제어한다.
(b)상기 비교기(85)의 출력이'0'이며 비교기(86)의 출력이 '1'로되는 둘째의 경우
이 경우는 상기 입력디지탈신호가 약 제로레벨로 ±△의 마스킹존의 내측에 존재하는 경우에 상당한다. 이 경우 상기 제어부(89)는 상기 입력디지탈신호가 마스킹존으로 들어가는 타이밍에서 홀드상태에 놓여지는 래치회로(87)를 제어하여, 상기 래치회로(87)의 출력을 선택하도록 상기 선택기(88)를 제어한다.
타이머(9)는 상기 2진화부(8)로 부터 선택된 디지탈음성신호 및 디지탈모델신호에 각각 대응하는 2진 신호의 반전 이벤트와 관련하여 시간 간격을 측정한다. 즉 타이머(9)는 디지탈신호의 제로교차점사이의 시간간격을 측정한다. 그후 RAM(10)은 타이머(9)에 의해 생성된 측정의 결과를 저장한다.
도 5는 타이머(9), RAM(10) 및 그 제어시스템을 포함하는 도 1의 시스템의 선택부분을 도시하는데, 디지탈음성신호 및 디지탈모델신호중 하나에 대응하는 2진 신호에 대한 측정의 프로세싱을 수행하는데 필요한 회로구성을 도시한다. 도 5에 있어서, 미분회로(90)는 지연회로(91) 및 배타적OR회로(92)로 이루어지며, 상기 2진화부(8)로 부터 출력된 2진신호에 대한 미분을 수행하도록 배치된다. 상기 미분회로(90)는 2진 신호에서 반전 이벤트가 발생하는 매시간마다 펄스를 출력한다. 타이머(9)는 상기 미분회로(90)로 부터 출력된 펄스에 의해 리세트된다. 리세팅후 타이머(9)는 다시 리세트되기 까지 4fs의 일정주파수를 가지는 다수의 클럭펄스를 카운트한다.
타이머(9)의 카운트값이 상기 래치회로(93)에 공급된다. 상기 미분회로(90)로 부터 출력된 펄스를 수신하는 경우 래치회로(93)는 리세팅 바로전에 타이머(9)가 출력하는 카운트값을 입력하여 유지한다. 상기 래치회로(93)에 유지된 카운트값은 주파수 4fs를 가지는 다수의 클럭펄스를 나타내는데 2진 신호의 이전의 반전이벤트가 검출되는 이전의 검출타이밍과 2진 신호의 현재의 반전이벤트가 검출되는현재의 검출타이밍사이에서 출력된다. 따라서 상기 카운트값은 제로 교차점 사이의 시간 간격을 나타낸다. 이후 상기 래치회로(93)에 유지된 카운트값을 '제로 교차간격데이터'라한다.
기록제어부(94)는 상기 미분회로(90)로 부터 출력된 펄스를 수신하는 매 시간마다 상기 래치회로(93)으로 부터의 제로 교차 간격데이터를 판독한다. 따라서 상기 기록제어부(94)는 상기 제로 교차 간격데이터를 연속으로 판독한다. 상기 제로 교차 간격데이터가 소정의 값이거나 그 이상인 경우 또는 상기 타이머(9)의 카운트값이 큰 경우 상기 제로 교차 간격데이터는 상기 RAM(10)에 기록되기 이전에 제한된다. 반면 상기 데이터가 소정의 값이하인 경우 즉 타이머(9)의 카운트값이 작은 경우 상기 제로 교차 간격데이터는 상기 RAM(10)에 기록되지 않고 폐기된다. 축약하면 단지 임의 범위의 제로 교차 간격데이터가 RAM(10)내에 선택적으로 기록된다. 상기 데이터 기록의 선택방식은 피치주기의 연산에 있어서 에러의 발생을 방지하도록 이용된다. 때문에 상기 제로 교차 간격데이터가 음성신호의 제로 교차점의 간격을 나타내는 데이터로서 적합하지 않고, 실수로 연산을 위해 이용되는 경우 연산에러가 발생하여 '잘못된' 피치주기가 연산되어야한다.
피치연산부(11)는 상기 RAM(10)에 축적된 제로 교차 간격데이터를 참조해서 상기 디지탈음성신호 및 디지탈모델신호 각각과 관련하여 피치주기를 연산한다.
이제 디지탈음성신호(또는 디지탈모델신호)의 레벨변화가 대략 제로레벨라인에서 형성된 사인파로 표시되는 간단한 경우를 상정한다. 사인파의 한 사이클에 있어서, 상기 디지탈음성신호의 레벨이 2제로 교차점을 형성하도록 그 시작점 및 종료점에서 상기 제로레벨라인을 교차한다. 또한 상기 디지탈음성신호의 레벨은 상기 두 개의 제로교차점 사이의 중간점에서 다시한번 교차한다.
그러므로 피치주기는 연속으로 생성된 2 제로 교차간격데이터를 가산하므로써 연산된다.
일반적으로 사람의 음성에 대응하는 음성파형을 나타내는 디지탈음성신호는 여러 오버톤성분을 포함하고 있다. 따라서 몇몇의 경우에 있어서, 1 사이클의 (즉 파형사이클)음성파형의 시작점과 종료점사이에는 3 또는 그 이상의 제로교차점이 존재한다. 이 경우 단순히 연속의 두 개의 제로 교차 간격데이터를 가산하므로서 '옳은' 피치주기가 얻어질 수 없다.
그러므로 본 실시예는 피치주기가 여러 제로 교차 간격데이터의 합에 대응하는 시간길이를 가진다는 가정을 이용하며, 상기 데이터의 수는 '2n'으로 표시되며, 여기서 'n'은 '1'이하의 정수이다. 본 명세서에서는 연구를 위해 정수 'n'으로서 여러 정수를 이용하고 있다. 따라서 상기의 가정하에서 여러 피치주기를 연산했다. 이 결과 제로교차점의 발생타이밍과 관련하여 파형사이클(또는 피치주기)사이의 대응도(상관도)를 검출할 수 있었다. 상기 대응도 검출을 이하 상세히 기술한다. 상기 연구를 통해 참의 피치주기로서 대응도가 자장높은 피치주기를 선택하였다. 그러한 선택은 음성신호의 특성과 관련하여 단 시주기내에서는 음성파형에서 커다란 변화가 발생치 않는다는 예비조건에 근거하여 선택이 행해졌다.
도 1에 있어서, 레벨검출부(12)는 A/D변환기(4)로 부터 출력된 디지탈음성신호의 레벨 및 보컬 추출부(2)로 부터 출력된 디지탈모델신호의 레벨을 검출한다.따라서 상기 레벨검출부(12)는 디지탈음성신호 및 디지탈모델신호의 레벨을 각각 나타내는 신호를 출력한다.
마킹부(13)는 전체의 평가결과를 기본으로 임의의 스코어로 싱어의 곡을 마크한다. 여기서 상기 마킹부(13)는 상기 디지탈음성신호와 디지탈모델신호 각각과 관련하여 상기 피치연산부(11)가 연산하는 피치주기사이의 편이 및 상기 레벨검출부(12)가 상기 디지탈음성신호 및 디지탈모델신호 각각과 관련하여 검출하는 레벨 사이의 편이에 대해 포괄적인 평가를 수행한다. 상기 마킹의 결과를 표시장치(14)의 스크린상에 시각적으로 디스플레이한다.
[B]실시예의 동작
다음으로 도 1의 시스템의 동작과 관련하여 설명한다. 첫째로 싱어는 곡을 선택한다. 이어서 상기 선택된 곡에 대응하는 CD(1)로부터 디지탈악곡데이터가 연속으로 재생된다. 보컬 추출부(2)는 상기 디지탈악곡신호로 부터 디지탈모델신호를 추출한다. 상기 디지탈모델신호는 상기 DC제거부(5) 및 레벨검출부(12)로 전달된다. 한편 싱어는 CD(1)로 부터 재생된 선택된 곡의 음악에 따라 노래를 부르기 시작한다. 따라서 가창의 음성이 마이크(3)에 의해 취입되며 이에 의해 대응 아날로그음성신호가 재생된다. 상기 아날로그음성신호는 A/D변환기(4)에 인가되어 디지탈음성신호로 변환된다. 상기 디지탈음성신호는 상기 DC제거부(5) 및 레벨검출부(12)에 인가된다.
상기 디지탈음성신호 및 디지탈모델신호는 상기 DC제거부(5) 및 LPF(6)를 통해 전송되어 불필요한 대역의 주파수 성분이 제거된다. 이 결과 디지탈음성신호 및디지탈모델신호가 사람 음성의 주파수대역 만의 주파수 성분만을 포함하는 파형을 나타내는 필터된 디지탈신호(즉 필터된 디지탈음성신호 및 필터된 디지탈모델신호)로 변환된다. 따라서 필터된 디지탈신호가 4-배 오버샘플링부(7)에 공급된다.
상기 4-배 오버샘플링부(7)는 시간축과 관련하여 상기 필터된 디지탈음성신호 및 디지탈모델신호에 대한 보간을 실행한다. 따라서 상기 신호들은 4-배 샘플링주파수를 가지는 디지탈신호로 변환된다. 그 후 디지탈신호가 상기 2진화부(8)에 의해 2진신호로 변환된다. 도 6A 내지 6C는 상기 4-배 오버샘플링부의 동작을 나타내는 파형례를 도시하는데 도 6A는 레벨이 제로 레벨라인근처에서 변화하는 사인웨이브형 파형을 도시하며, ' · '로 표시된 다수의 점이 디지탈음성신호(또는 디지탈모델신호)를 구성하는 원 샘플을 각각 나타낸다. 또한 'x'로 마크된 3 점이 ' · '으로 표시된 2점사이의 파형상에 구성된다. 'x'로 표시된 상기 점은 4-배 오버샘플링부(7)에 의해 생성된 보간 샘플을 각각 나타낸다.
도 6B는 상기 원 샘플만에 의거 상기 2진화부(8)에 의해 재생된 2진 신호를 나타내는 파형을 도시하는데 4-배 오버샘플링동작은 실행되지 않는다. 도 6C는 원 샘플 및 보간샘플에 의거 상기 2진화부(8)에 의해 생성된 2진 신호를 나타내는 파형을 도시하는데 여기서는 4-배 오버샘플링동작이 수행된다. 도 6B 및 6C는 레벨이 상기 2진화부(8)의 마스킹존보다 작은 소 변화도 포함치 않는 디지탈음성신호(또는 디지탈모델신호)에 의거한 파형례를 도시한다.
상기 디지탈음성신호(또는 디지탈모델신호)는 도 6A에 도시한 신호파형에 무관하게 일정샘플링주기를 가지는 샘플링동작을 수행하므로써 생성된다. 상기 디지탈음성신호가 동일 파형사이클을 반복하므로서 구성된 파형을 도시하는 경우 샘플링 동작을 위해 선택된 순시값은 도 6A에 도시한 각각의 파형과는 다르다. 따라서 샘플링율이 비교적 긴 경우 파형 사이클 사이의 변화점에서 도 6A의 신호파형과 일치하지 않는 파형(도 6B참조)을 2진신호가 나타내는 상황이 발생하게된다. 그러나 본 실시예에 있어서, 4-배 오버샘플링동작의 수행후 상기 디지탈음성신호에 대해서 2진화동작이 수행된다. 따라서 도 6A의 신호파형의 제로교차점에 가까운 타이밍에서 레벨이 역으로되는 2진신호(도 6C참조)를 얻을 수 있다. 이로써 신호파형과 상기 2진신호의 파형간의 비 정합상태의 발생(도6A, 6B)을 방지할 수 있다.
도 7A 내지 7D는 상기 2진화부(8)의 동작을 설명을 위한 파형을 도시하는데 도 7A는 4-배 오버샘플링부(7)에서 출력된 디지탈음성신호(또는 디지탈모델신호)에 대응하는 사인 웨이브형 신호파형을 도시하며, 이 신호파형은 제로레벨라인 주위에 형성되며, 도 7B는 도 3에 도시한 S/H부(83)의 동작을 설명하는 파형을 도시하는데 부호 'S'는 상기 제로레벨라인 주위에 설정된 ±△의 마스킹존의 외측에 입력디지탈신호(즉 디지탈은성신호 또는 디지탈모델신호)가 위치하는 샘플상태를 나타내며, 부호 'H'는 ±△의 마스킹존의 내측에 상기 입력디지탈신호가 위치하는 홀드상태를 나타낸다. 상기 S/H부(83)의 제어결과 그 출력신호는 예를 들어 도 7C에 도시한 바와 같은 신호파형을 나타내며, 비교기(84)는 예를 들어 도 7D에 도시한 바와 같이 파형을 나타내는 2진신호를 생성하도록 상기 S/H부(83)의 출력신호를 수신한다. 도 7A 내지 7D에 도시한 바와 같이 입력디지탈신호(디지탈음성신호 또는 디지탈모델신호)가 그 신호파형이 제로레벨라인 근처에서 ±△의 마스킹존을 횡단하도록 레벨에서 변화되는 경우 상기 2진신호는 상기 신호파형이 상기 마스킹존을 완전히 횡단하는 타이밍에서 레벨이 변화된다. 상기 입력디지탈신호가 레벨이 ±△의 마스킹존의 폭보다 약간 작은 소 진동을 포함하는 경우 상기 S/H부(83)는 입력디지탈신호가 ±△의 마스킹존의 내측에 위치하는한 이전의 값을 유지한다. 따라서 상기 소 진동에 무관하게 2진 신호에서 반전동작이 발생치않는다.
본 발명의 실시예는 피치주기를 얻도록 제로교차점사이에서 측정된 간격을 이용하여 연산을 실행한다. 이 때문에 비교적 큰 수의 간격이 신호파형의 1사이클과 관련하여 제로교차점사이에서 측정되는 경우 상기 피치주기의 연산에 비교적 큰 부하가 필요하다. 그러나 본 실시예는 2진화부(8)가 2진신호를 발생하도록 마스킹존을 이용하도록 설계된다. 상기 마스킹존에 의해 상기 제로레벨 근처에 놓여지는 피치주기의 연산에 별로 중요하지 않은 소 진동을 무시할 수 있다. 따라서 '0'과 '1'사이의 다수의 반전점을 포함하지 않는 파형을 나타내는 2진신호를 얻을 수 있다. 이 결과 제로교차간격을 얻을 수 있는데 다수가 피치주기의 연산에 적당하다.
상술한 바와 같이 디지탈음성신호 및 디지탈모델신호 각각과 관련하여 2진신호가 생성된다. 그러면 타이머(9)는 2진신호의 반전점사이의 시간간격을 각각 측정한다. 따라서 타이머(9)의 측정결과를 나타내는 제로교차간격데이터가 도 5에 도시한 바와 같이 래치회로(93)에 공급되어 유지된다. 기록제어부(94)의 제어하에 상기 래치회로(94)에 유지된 제로교차간격데이터가 상기 RAM(10)에 연속으로 기록된다. 환언하면 상기 기록제어부(94)는 상기 2진신호의 각각의 반전이벤트에 의해 상기 미분회로(90)으로 부터 출력된 펄스에 응답하여 기록제어루틴(도 8참조)을 수행한다.
도 8에 도시한 기록제어루틴의 제 1단계S1에 있어서, 기록제어부(94)는 래치회로(93)으로 부터 제로교차간격데이터't'를 판독한다. 단계S2에 있어서, 상기 판독된 제로교차간격데이터의 값이 하한값 '8' 또는 그 이하 인지에 대한 판단이 행해진다. 상기 판단의 결과가 'NO'인 경우 기록제어부(94)는 상기 제로교차간격데이터 t의 기록동작을 수행하지 않고 기록제어루틴의 수행을 종료한다. 상기 판단의 결과가 'YES'인 경우 상기 기록제어부(94)는 단계 S3으로 진행하여 여기서 상기 제로교차간격데이터 t가 상한값'8192' 이상인지에 대한 판단이 행해진다. 상기 판단의 결과가 'NO'이면 상기 제로교차간격데이터t는 단계S4에서 RAM(10)내에 기록되며, 기록제어루틴의 수행이 종료된다. 한편 상기 단계S3의 판단의 결과가 'YES'이면 상기 제로교차간격데이터 t대신에 상기 상한값 '8192'가 이용되며, 단계S5에서 RAM(10)내에 기록된다. 그러면 기록제어루틴의 수행이 종료된다. 상기 기록제어루틴의 실행에 따르면 '8'에서 '8192'범위의 제로교차간격데이터의 임의의 범위가 상기 RAM(10)내에 선택적으로 기록된다. 따라서 음성신호파형의 제로교차점간의 시간간격을 적절하게 나타내지 않는 제로교차간격이 '잘못된' 피치주기가 연산되도록 피치주기의 연산을 위해 이용되는 바람직하지 못한 상황을 방지할 수 있다.
전술한 바와 같이 상기 피치연산부(11)는 상기 RAM(10)에 저장된 제로교차간격데이터를 참조해서 상기 디지탈음성신호 및 디지탈모델신호 각각과 관련하여 피치주기를 연산한다. 다음으로 도 9A 내지 9E를 참조해서 디지탈음성신호의 피치주기에 대한 연산 프로세스의 요약을 설명한다. 도 9A에 도시한 파형을 나타내는 디지탈음성신호가 상기 2진화부(8)에 공급되어 현재의 타이밍으로 발생되는 일련의 제로간격데이터 t1, t2를 저장하는 것을 가정한다. 여기서 피치연산부(11)는 상기 제로교차간격데이터 t1, t2와 디지탈음성신호사이의 관계와 관련하여 4가지 가정을 한다. 따라서 피치연산부(11)는 각각의 가정의 타당성을 평가하는 절차에 따라서 피치주기를 연산한다.
(1)가정 1
디지탈음성신호의 피치주기가 두 개의 제로교차간격데이터 t1와 t2의 합에 대응하는 시간길이T1를 가진다. 상기의 가정에 따르면 각각의 시간 T11, T12.... (도 9B참조)는 디지탈음성신호의 피치주기를 나타낸다.
(2)가정 2
디지탈음성신호의 피치주기는 4 제로교차점 t1내지 t4의 합에 대응하는 시간길이T2를 가진다. 상기의 가정에 따르면 각각의 시간 T21, T22,.....( 도 9C참조)는 디지탈음성신호의 피치주기를 나타낸다.
(3)가정 3
디지탈음성신호의 피치주기는 6 제로교차점 t1내지 t6의 합에 대응하는 시간길이T3를 가진다. 상기의 가정에 따르면 각각의 시간 T31, T32,....... ( 도 9D참조)는 디지탈음성신호의 피치주기를 나타낸다.
(4)가정 4
디지탈음성신호의 피치주기는 8 제로교차점 t1내지 t8의 합에 대응하는 시간길이T4를 가진다. 상기의 가정에 따르면 각각의 시간 T41, T42,......( 도 9E참조)는 디지탈음성신호의 피치주기를 나타낸다.
도 10은 각각의 가정의 타당성의 평가를 실행하고 상기 평가의 결과에 의거 피치주기의 연산을 실행하는 단계의 흐름을 도시한다.
단계 S101에 있어서, 피치연산부(11)는 디지탈음성신호의 파형의 재현율 CR1를 연산하도록 상기 가정 1을 이용한다. 상기 재현율은 각각의 가정을 기본으로 파형사이클사이의 대응도를 나타낸다. 본 실시예에 있어서, 상기 재현율은 제로교차간격데이터 t1, t2....에 의거 연산된다.
도 11은 도 10의 상기 단계 S101에서의 재현율CR1를 연산하는 프로세스를 도시하는 플로우차트이다. 그러면 도 11을 참조해서 연산프로세스를 상세히 설명한다. 도 S201에 있어서, 초기값 '0'은 카운터 CNT에 설정되며, 초기값'1'이 제어변수 i 로 설정된다.
단계 S202에 있어서, 제어변수 i는 '2'증가되어 i =3이 된다. 단계 S203에 있어서, 조건 "0.9 t1- ti<0"가 설정되는지에 대한 판단이 행해진다. 즉 제로교차간격데이터 t3를 나타내는 수치값이 상기 제로교차간격데이터 t1의 90%를 나타내는 수치값 이상인지에 대한 판단이 행해진다. 상기 판단의 결과가 'YES'이면 시스템은 단계 S204로 진행하고 카운터 CNT는 '1'이 증가된다. 그러면 시스템은 단계S205로진행하고 한편 단계S203에서의 결과가 'NO'이면 시스템은 단계 S204를 수행하지 않고 직접적으로 단계 S205로 진행한다. 이 단계 S205에 있어서, "-1.1 t1+ ti< 0"의 조건이 설정되는지에 대한 판단이 행해진다. 즉 제로교차 간격데이터t3를 나타내는 치수 값이 제로교차간격데이터 t1의 110%를 나타내는 치수값 이하 인지에 대한 판단이 행해진다. 상기 판단의 결과가 'YES'이면 시스템은 단계S206으로 진행하고 여기서 카운터 CNT가 '1'이 증가된다. 그러면 시스템은 단계S207로 진행하고 한편 상기 단계S205의 판단의 결과가 'NO'이면 시스템은 단계S206을 수행하지 않고 직접적으로 단계 S207로 진행한다.
단계S207에 있어서, 상기 변수i가 '7'과 일치하는지에 대한 판단이 행해진다. 상기 판단의 결과가 'NO'이면 시스템프로세스는 다시 상기 단계 S202로 복귀한다. 그후 일련의 단계S202 내지 S207가 2회 반복적으로 수행된다. 따라서 상기 단계S203 및 S205의 판단이 제로교차간격데이터 t5와 t7와 관련하여 반복적으로 행해진다.
따라서 각각의 제로교차간격데이터t5와 t7가 제로교차간격데이터 t1의 90%이상인 경우 또는 110% 이하인 경우 상기 카운터CNT는 증가된다. (단계S204 및 S206참조)
그러면 "i = 7"의 이벤트가 검출되는 경우 상기 단계S207에서의 판단의 결과가 'YES'가되어 시스템 프로세스가 단계S208로 진행하고 여기서 제어변수 i에 '2'가 설정된다.
단계 S209에 있어서, 제어변수 i가 '2'가 증가되어 i = 4가된다. 단계 S210에 있어서, "0.9 t2- t1<0"이 설정되는지에 대한 판단이 행해진다. 즉 제로교차간격데이터t가 제로교차간격데이터t의 90% 이상인지에 대한 판단이 행해지며, 상기 판단의 결과가 'YES'이면 시스템프로세스가 단계S211로 진행하여 카운터 CNT가 '1'이 증가되고 시스템이 단계 S212로 진행하며, 한편 단계S210에서의 판단의 결과가 'NO'이면 시스템은 상기 단계S211을 수행하지 않고 직접적으로 단계S 212로 진행한다. 단계S212에 있어서, "-1.1 t2+ ti<0"의 조건이 설정되는지에 대한 판단이 행해진다. 즉 상기 제로교차간격데이터 t4가 제로교차간격데이터t2의 110%이하 인지에 대한 판단이 행해진다. 상기 판단의 결과가'YES'이면 단계 S213에서 카운터 CNT는 '1'이 증가된다. 그러면 시스템은 단계S214로 진행하고 반면 상기 판단의 결과가 'NO'이면 단계S213을 수행하지 않고 시스템은 단계S214로 직접적으로 진행한다.
단계S214에 있어서, 상기 변수 i가 '8'인지에 대한 판단이 행해진다. 판단의 결과가 'NO'이면 시스템은 다시 앞의 단계S209로 진행하고 그후 일련의 단계 S209 내지 S214가 반복적으로 2회수행되어 단계 S210 및 S212에 대한 판단이 각각의 제로교차간격데이터t6와 t8에 대해 행해진다. 따라서 각각의 제로교차간격데이터t6와 t8가 제로교차간격데이터 t2의 90%이상인 경우 또는 그 110%이하인 경우 상기 카운터 CNT가 증가된다.
(단계S211 및 S213참조)
"i = 8"의 이벤트가 검출되면 단계S214에서의 판단결과가 'YES'로되어 시스템이 단계S215로 진행하여 상기 제로 교차간격데이터와 관련하여 판단을 하도록 여러회에 걸쳐서 카운터 CNT의 값에 대한 정규화가 행해진다. 상기 정규화의 결과가 재현율 CR1를 나타낸다. 도 11의 플로우차트는 12회 실행된 결정을 포함한다. 따라서 "CNT/12"를 나타내는 값이 재현을 CR1를 나타낸다.
한편 피치주기가 2 제로교차 간격데이터의 합에 대응하는 시간길이T1을 가지도록 상기 가정 1이 타당한 경우 피치주기가 4회에 걸쳐 변화하여도 상기 디지탈음성신호의 파형이 변화하지 않는 이상적인 상태 즉 사실상 동일한 파형 사이클이 디지탈음성신호 파형에 있어서 4회 반복되는 이상적인 상태를 제공할 수 있다.
이러한 이상적인 상태는 이하의 두가지 조건 모두를 만족한다.
Figure pat00002
상기의 이상적인 상태에 있어서, 상기 연산프로세스는 상기 100%의 재현율 CR1를제공한다. 100%의 재현율CR1은 제로교차간격데이터의 작은 에러에 무관하게 지속된다. 즉 각각의 제로교차간격데이터 t3, t5, t7가 t1±10%의 t의 범위에 속하고 각각의 제로교차간격데이터 t4, t6, t8이 t2±10%의 범위에 속하는한 100%의 재현을 CR1이 지속된다.
상기 가정 1이 잘못된 경우 파형 사이클간의 각각의 변화에서 상호 서로 관련된 제로교차 간격데이터사이에 커다란 차이가 발생한다. 이 경우 부의 판단결과('NO')가 단계 S203와 같은 몇몇의 단계에서 쉽게 발생된다. 따라서 재현율CR1이 상기 부의 결과가 발생하는 회수의 증가에 응답하여 낮아져야한다.
상기 재현율 CR1의 연산의 완료후 프로그램의 제어가 도 10의 플로우차트로 환원된다. 따라서 상기 가정 2에 근거하여 디지탈음성신호파형에 대한 재현율 CR2를 연산하기 위해서 시스템은 단계 S102로 진행한다. 상기 가정 2는 4제로교차간격데이터의 합에 대응하는 시간길이T2를 가지는 것을 기술한다. 따라서 제 1피치주기는 4 제로교차간격데이터 t1내지 t4와 정합하며, 제 2피치주기는 4 제로교차 간격데이터 t5내지 t8와 정합하며, 제 3피치주기는 4 제로교차 간격데이터 t9내지 t12와 정합하며, 제 4피치주기는 4 제로교차간격데이터 t13내지 t15와 정합한다. 그러면 상기 제로 교차간격데이터사이의 대응과 관련하여 판단이 행해지는데 제 1피치주기의 제로교차간격데이터는 상기 판단을 참조하여 이용된다. 즉 상기 제로교차간격데이터 t5내지 t8, t9내지 t12그리고 t13내지 t15각각이 에러범위내에서 상기 제로교차데이터간격 t1내지 t4에 일치하는지에 대한 판단이 행해진다. 그러면 시스템은 긍정응답 ('YES')이 상기 판단에서 생기는 회수를 카운트하며, 판단이 행해진 전체회수에 의거 정규화가 행해져서 재현을 CR2가 연산된다.
상기 가정 2가 타당하여 피치주기의 시간길이가 4 제로교차간격데이터의 합에 대응하는 경우 피치주기가 4회에 걸쳐서 변화하는 경우에도 디지탈음성신호의파형이 변하지 않는 이상상태가 제공된다. 그러한 이상상태는 다음의 모든 조건을 만족한다.
Figure pat00003
상기의 이상상태에 있어서, 재현율CR2는 100%로 연산된다. 그러한 100%의 재현율 CR2는 제로교차간격데이터의 작은 에러에 무관하게 지속된다. 환언하면 각 조건의 제로교차간격데이터가 ±10% 에러 마진내에서 서로 동일한한 지속된다. 몇몇의 경우에 있어서, 피치의 주기가 변경되는 경우 몇개의 제로교차간격데이터가 상기 기준 제로교차간격데이터(즉 제 1피치주기의 제로교차간격데이터)로 부터 편이된다. 이 경우 상기 재현율CR2는 '편이된'제로교차간격데이터에 응답하여 낮아진다.
다음으로 시스템프로세스가 단계S103으로 진행되어 상기의 가정 3에 의거하여 디지탈음성신호의 파형과 관련하여 상기 재현율 CR3가 연산된다. 상기 가정 3은 피치주기가 6제로교차간격데이터의 합에 대응하는 시간길이T3를 가지는 것을 기술한다. 여기서 제로교차간격데이터 t1내지 t6은 제 1피치주기와 일치하며, t7내지 t12은 제 2피치주기와 일치하며, t13내지 t18은 제 3피치주기와 일치하며, t19내지t24은 제 4피치주기와 일치한다. 상기 제로교차간격데이터사이의 대응과 관련하여 판단이 행해지며, 여기서 상기 제 1피치주기의 제로교차간격데이터는 참조로 이용된다. 즉 제 2피치주기의 제로교차간격데이터t7내지 t12, 제 3피치주기의 제로교차간격데이터t13내지 t18및 제 4피치주기의 제로교차간격데이터t19내지 t24가 임의의 에러 범위내의 '기준'제로교차간격데이터 t1내지 t6와 각기 일치하는지에 대한 판단이 행해진다. 상기 시스템은 상기의 판단에서 긍정응답이 발생하는 회수를 카운트하며, 판단이 행해지는 전체 회수에 의거 정규화가 실행되어 재현율CR3가 연산된다.
시스템은 아래의 모든 조건을 만족하는 상황하에서 재현율CR3를 100% 연산한다.
Figure pat00004
100%의 재현율 CR3는 제로교차 간격데이터의 작은 에러에 무관하게 지속된다. 즉 각 조건의 제로교차간격데이터가 ±10%마진의 에러내에서 서로 사실상 동일한한 지속된다. 그러나 상기 재현율 CR3는 큰 에러를 가지는 다수의 재로교차 간격데이터에 응답하여 낮아진다.
다음으로 시스템은 단계 S104로 진행하여 상기 가정 4에 의거 디지탈음성신호의 파형과 관련하여 재현율 CR4가 연산된다. 상기 가정 4는 피치주기가 8제로교차간격데이터의 합에 대응하는 시간길이 T4를 가지는 것을 기술한다. 여기서 제로교차간격데이터 t1내지 t8는 제 1피치주기와 일치하며, t9내지 t16는 제 2피치주기와 일치하며, t17내지 t24는 제 3피치주기와 일치하며, 그러면 상기 제로교차간격데이터사이의 대응과 관련하여 판단이 행해지는데 상기 제 1피치주기의 제로교차간격데이터는 참조로 이용된다. 즉 제 2피치주기의 제로교차간격데이터t9내지 t16, 제 3피치주기의 제로교차간격데이터t17내지 t24가 임의의 에러 범위내의 '기준'제로교차간격데이터 t1내지 t8와 각기 일치하는지에 대한 판단이 행해진다. 상기 시스템은 상기의 판단에서 긍정응답이 발생하는 회수를 카운트하며, 판단이 행해지는 전체 회수에 의거 정규화가 실행되어 재현율CR4가 연산된다.
상기의 단계 S101 내지 S103은 4피치주기의 제로교차간격데이터를 다루며, 단계S104는 3피치주기의 제로교차간격데이터(도 9E에 도시한 T41내지 T43에 대응) F를 다는데 각 단계에서 다른 수의 피치주기가 이용되는 이유를 이하 설명한다.
상기 단계 S104는 8 제로교차간격데이터에 대응하는 시간길이를 가지는 것을기술하는 가정 4를 이용한다. 상기 단계 S104는 4피치주기의 제로교차간격데이터를 다루는 경우 상기 가정 4가 옳은 경우에도 4피치주기에 대응하는 아주 긴 주기의 시간에서 디지탈음성신호의 파장이 안정한한 상기 재현율 CR4가 낮게된다.
디지탈음성신호의 파장의 특성에 따르면 비교적 짧은 시주기 내에서 동일한 파형이 유지되지만 상기 파형은 시간 경과에 따라 변화한다. 따라서 상기 단계 S104가 4피치주기를 다루는 경우 상기 가정 4가 옳은 경우에도 디지탈음성신호의 파형의 시간비례변화 효과에 의해 불합리하게 낮은 재현율 CR4가 연산되야하는 가능성이 커지게된다.
이 때문에 단계S104는 3피치주기를 다룬다.
단계S104는 이하의 조건을 모두 만족하는 상태에서 '100'%의 재현율을 연산한다.
Figure pat00005
100%의 재현율 CR4가 제로교차간격데이터의 작은 변화에 무관하게 지속된다. 즉 각 조건의 제로교차간격데이터가 ±10%마진의 에러내에서 서로 사실상 동일한한 지속된다. 그러나 상기 재현율 CR4는 큰 에러를 가지는 다수의 재로교차 간격데이터에 응답하여 낮아진다.
상기 단계 S104의 완료후 시스템은 상기 단계 S101 내지 S104에서 연산된 재현율 CR1 내지 CR4에 대한 평가프로세스를 실행하므로써 1 내지 4의 가정하에 어느 가정이 가장 적합한지에 대한 판단이 단계 S105에서 행해진다. 평가프로세스를 도 12의 플로우차트에 의거 상세히 설명한다. 도 12의 단계S301에 있어서, 재현율 CR1 내지 CR4중에서 어느 재현율이 가장 하이인지에 대한 판단이 행해진다. 판단의 결과가 'YES'이면 시스템은 상기 가정 1이 타당한 것으로 결정한다. 따라서 2 제로교차간격데이터의 합에 대응하는 시간길이T1에 의거 피치주기를 연산한다. 다른 재현율 CR2 내지 CR4중 하나가 가장 하이 인지와 관련하여 유사한 판단이 행해진다. 즉 상기 재현을 중 하나가 기준값'ref' 이상인지에 대한 판단이 행해진다. (단계 S303 내지 S305참조) 상기 판단의 결과가 'YES'이면 시스템은 상기 2 내지 4의 가정중 하나가 타당한 것으로 판단한다. 따라서 다음과 같이 타당한 가정에 대응하는 임의의 시간길이에 의거 피치주기의 연산이 행해진다.
가정 2의 경우에 있어서, 4제로교차간격데이터의 합에 대응하는 시간길이T2에 의거 피치주기의 연산이 행해진다. 가정 3의 경우에 있어서, 6 제로교차간격데이터의 합에 대응하는 시간길이 T3에 의거 피치주기의 연산이 행해진다. 가정 4의 경우에 있어서, 8 제로교차간격데이터의 합에 대응하는 시간길이 T4에 의거 피치주기의 연산이 행해진다.
모든 재현율 CR1 내지 CR4에 대해 동일한 값이 연산되면 그 중하나가 다음의 부등식으로 표시된 우선순위에 따라 선택된다.
Figure pat00006
즉 상기 재현율 CR1이 가장 하이의 우선순위로 되어 첫째로 선택된다.
상기 재현율 CR1 내지 CR4중 가장 하이의 우선순위의 하나가 기준값 'ref'거나 그 이하이면 상기 단계 S302 내지 S305에 대한 모든 판단 결과가 'NO'로된다.이 경우 시스템은 가정 1 내지 4에 대한 타당성과 관련한 판단의 결론을 정하지 못하여 시스템은 어떤 가정도 선택되지 않는다고 판단한다.
도 12의 플로우차트에 도시한 평가프로세스의 완료후 프로그램제어가 다시 도 10의 플로우차트로 복귀하여 여기서 시스템은 단계S105의 판단의 결과에 대응하는 단계로 나아간다. 시스템이 2 제로교차간격데이터의 합에 대응하는 시간길이 T 에 의거 피치주기의 연산의 수행을 판단하면 시스템은 단계 S106으로 진행하고 여기서 각기 2제로교차간격데이터에 대응하는(도 9B의 T11내지 T14참조)4피치주기를 연산하는데 상기 데이터는 디지탈음성신호의 정규피치주기로서 이용되는 평균피치주기를 생성하도록 정규화처리를 받는다. 4 제로교차간격데이터의 합에 대응하는 시간길이 T2에 의거 시스템이 피치주기를 연산하도록 판단하는 경우 시스템은 단계S107로 진행하고 여기서 시스템은 4피치주기를 연산하는데 (도 9C의 T21내지 T24참조) 상기 주기는 디지탈음성신호의 정규 피치주기로서 이용되는 평균피치주기를 생성하도록 정규화처리를 받는다. 또한 6 제로교차간격데이터의 합에 대응하는 시간길이 T3에 의거 시스템이 피치주기를 연산하도록 판단하는 경우 시스템은 단계S108로 진행하고 여기서 시스템은 4피치주기를 연산하는데 (도 9D의 T31내지 T34참조) 상기 주기는 디지탈음성신호의 정규 피치주기로서 이용되는 평균피치주기를 생성하도록 정규화처리를 받는다. 더욱이 상기 8제로교차간격데이터의 합에 대응하는 시간길이 T4에 의거 시스템이 피치주기를 연산하도록 판단하는 경우 시스템은 단계S109로 진행하고 여기서 시스템은 4피치주기를 연산하는데 (도 9E의 T41내지 T43참조) 상기 주기는 디지탈음성신호의 정규 피치주기로서 이용되는 평균피치주기를 생성하도록 정규화처리를 받는다.
상기 프로세스의 완료후 상기 시스템은 단계 S101로 다시 돌아가서 디지탈음성신호의 피치주기를 연속으로 연산하도록 상기의 프로세스가 반복된다. 또한 도 12의 플로우차트에 있어서, 상기 시스템이 'NONE'의 결론에 도달하면 상기 시스템은 피치주기의 연산을 실행하지 않는다. 이 경우 상기 시스템은 피치주기의 연산이 실행되지 않는 것을 선언하는 신호를 출력한다. 그러면 상기 프로그램제어는 도 10의 단계S101로 복귀한다.
한편 상기 디지탈음성신호와 관련하여 피치주기의 일례의 연산을 기술한다. 그러나 그러한 연산은 또한 상기 디지탈모델신호에도 적용될 수 있다. 따라서 디지탈모델신호와 관련하여 피치주기를 연산할 수 있다.
전술한 바와 같이 본 실시예는 다음과 같이 피치주기의 연산과 관련하여 '세심한' 절차를 수행한다.
상기 1 내지 4의 모든 가정에 의거 재현율을 연산하므로 가장 하이의 우선순위의 재현율을 제공하는 가정이 선택될 수 있다. 그러면 상기 시스템은 그 재현율이 허용가능범위에 있는 경우에만 선택된 가정에 의거 피치주기의 연산을 실행한다. 그러나 상기 재현율이 허용가능 범위 밖에 있는 경우 시스템은 상기 연산을 실행하지 않는다.
다음으로 본 실시예의 시스템이 '세심한'절차를 실행하도록 설계된 이유와 관련하여 이하 설명한다.
(a)상기 본 실시예의 절차와는 다른 제 1의 대안의 절차를 제공할 수 있다. 이에 따르면 상기 시스템은 상기 1 내지 4의 가정에 의거 재현율을 연속으로 생성하도록 연산을 실행한다. 그후 시스템이 허용가능 범위의 재현율을 구한 경우 상기의 연산을 정지한다.
이어서 상기 재현율에 대응하는 가정이 피치주기의 연산을 위해 선택된다. 그러나 이 방안은 몇몇의 음성파형이 상기 1 내지 3의 가정에 대응하는 재현율이 상기 허용가능 범위에 속하며, 상기 가정 3의 재현율이 예를 들어 가정 1의 재현율보다 높은 우선순위에 있다고 정의하는 임의의 경우에는 적용되지 않는다. 이 경우 가정 3이 선택되어야한다. 그러나 상기 제 1대안의 절차는 실수로 가정 1을 선택하게되어 '잘못된' 피치주기가 연산되어야한다. 그러한 연산에러는 허용가능 범위를 좁혀서 해소된다. 그러나 상기 범위가 좁은 경우 시스템이 어느 가정도 선택되지 않는다는 것을 나타내는 'NONE'의 결론을 내기가 쉽게된다.
(b)본 실시예의 절차와는 다른 제 2대안의 절차를 제공할 수 있는데 이에 따르면 시스템은 가정 1 내지 4에 대응하는 모든 재현율을 연산하여 시스템은 아무 조건없이 가장 하이의 우선순위의 재현율을 제공하는 가정을 이용하여 상기 피치주기를 연산한다. 그러나 이러한 방안은 상기 가정의 모든 재현율이 동일하게 낮은 우선순위에 있지만 특정 가정의 재현율이 예를 들어 다른 것 보다 다소 높은 우선순위에 있는 임의의 경우에 대처하지 못한다. 이 경우 상기 특정의 가정을 임의로이용하여 '옳은' 피치주기가 얻어진다는 것을 보장할 수 없다. 디지탈음성신호의 파형이 레벨에 있어서 예리하게 변화하는 경우에 있어서, 상기 모든 가정의 재현율이 낮은 우선순위에 있게될 가능성이 크게된다.
(c) 상기 제 1 및 제 2대안의 절차가 (a),(b)에 기술한 바와 같은 문제에 직면하기 때문에 본 실시예의 절차가 효과적인 것으로 결론지어진다. 따라서 본 실시예는 '부적절한' 피치주기의 생성을 방지하기 위해서 상기 세심한 절차에 따라 피치주기의 연산을 실행한다.
전술한 바와 같이 디지탈음성신호 및 디지탈모델신호 각각에 대해 피치주기가 연산된다. 그러면 상기 피치주기는 상기 마킹부(13)에 연속적으로 보고된다. 그 후 상기 디지탈음성신호 및 디지탈모델신호 각각에 대해 연산된 피치주기 사이의 편이 및 상기 레벨검출부(12)에 의해 검출된 상기 신호들의 레벨사이의 편이에 대한 포괄적인 평가가 행해진다. 따라서 마킹부(13)는 임의의 보표로 싱어의 곡을 마크하는데 상기 보표는 표시장치(14)의 스크린 상에 시각적으로 디스플레이된다.
[C]실시예 실행의 연구결과
본 실시예의 피치검출장치의 실행에 대해 고찰한다. 여기서 본 실시예에서 연산된 피치주기와 관련하여 검출시간 및 검출에러를 평가하는데 여러 동작조건이 이용된다. 도 13 내지 16은 상기 고찰의 결과를 나타낸다. 도 13은 실제의 범위에 있어서, 피치주기의 검출에러를 측정하는 측정의 결과를 도시하는데 4-배 오버샘플링부(7)로서 이용되는 선형 보간을 실행하는 회로가 이용되며, 상기회로의 오버샘플링주파수는 여러 방식으로 변경된다. 도 13의 측정의 결과는 4-배 오버샘플링에 대응하는 보간을 실행하므로써 현저히 감소될 수 있는 실제범위의 검출에러를 도시한다. 도 14는 다음의 두가지 경우와 관련하여 각각의 입력주파수에 의해 피치주기의 검출에 이용되는 지연시간을 측정한 측정의 결과를 도시하는데
(i) 'm =3'으로 표시되며, 3피치주기사이의 상관관계에 의거 피치주기가 검출되는 첫번째 경우.
(ii) 'm =4'으로 표시되며, 4피치주기사이의 상관관계에 의거 피치주기가 검출되는 두번째 경우.
도 14의 측정의 결과는 m =3, m =4등의 경우에 적합한 범위에 놓여질 수 있는 피치주기의 검출을 위한 지연시간을 도시하며, 도 15는 평균화를 수행하는 회수 및 피치주기의 추출에러사이의 관계를 표시하는 그래프를 도시한다. 도 16은 정확한 피치주기를 얻도록 상호비교되는 적합한 수의 과거의 파형사이클을 검출하도록 행해진 실험의 결과를 도시한다. 상기 실험의 결과에 의하면 2 과거 파형사이클에 대한 비교를 실행하고 5 과거 파형사이클에 대한 비교를 실행하므로써 잘못된 피치주기가 검출되어야 하는 경우,
추출에러가 비교적 크게되는데 이는 상기 파형사이클들이 너무 앞선 것으로 피치주기의 검출에는 적합하지 않기 때문이다. 축약하면 도 16에 도시한 실험의 결과는 3 또는 4의 이전 파형사이클이 옳은 피치주기의 검출에 최적인 것을 나타낸다.
[D]변형례
본 실시예는 이하와 같이 여러가지로 변형될 수 있다.
(1)본 실시예의 시스템은 피치주기 각각과 관련하여 제로교차간격데이터사이의 대응도를 검출해서 피치주기가 '2n'제로교차간격데이터(여기서 n은 정수)의 합에 대응한다는 가정이 타당한지에 대한 판단이 행해진다. 이러한 피치검출방법은 다음과 같이 다른 방법으로 대체될 수 있다.
본 시스템은 'n'에 대해 선택되는 수 각각과 관련하여 '2n' 제로교차간격데이터의 합을 연산하므로써 임의 수의 피치주기를 연산하도록 재설계된다. 그러면 본 시스템은 연산된 피치주기사이의 어느 분산이 가장 작으냐에 따라 임의의 수 'n'을 선택해서 '적합한' 피치주기가 최종 선택된다. 예를 들어 시각 T11내지 T14사이의 분산이 도 9B 내지 9E에 도시한 회수 사이의 분산 중 가장 작은 것으로 선택되면 시각 T11내지 T14의 평균값이 피치주기로서 이용된다. 유사하게 시각 T21내지 T24사이의 분산이 가장 작은 것으로 선택되면 시각 T 내지 T의 평균값이 피치주기로서 이용된다. 따라서 시각 사이의 가장 작은 분산을 선택하므로써 피치주기가 구해진다.
상기 분산에 의거 피치주기를 구하는 상기 방법 및 제로교차간격데이터에 의거 피치주기를 구하는 상기 방법을 결합할 수 있다. 이 경우 제로교차간격데이터 및 피치주기의 시각(또는 시간길이)사이의 분산에 대한 포괄적인 평가가 행해져서 적합한 피치주기를 선택할 수 있다.
(2)본 실시예는 2진화부(8)에 대한 '고정' 마스킹존△을 이용하도록 설계되며, 일반적으로 음성파형의 제로레벨 주위에서 발생하는 작은 진동의 진폭은 전체적으로 음성파형의 전 진폭을 따르게된다.
따라서 몇몇의 경우에 있어서, 마스킹존 △에 대한 적합한 진폭을 설정하기기 어렵다. 이러한 문제에 대처하기 위해서 다음과 같이 2진화부(8)의 마스킹존△의 진폭을 설정(또는 제어)하기 위해서 새로운 방법이 도입될 수 있다.
디지탈음성신호 및 디지탈모델신호와 관련하여 진폭이 검출된다.
그러면 임의의 계수로 진폭이 승산된다. 따라서 상기 마스킹존 △은 승산된 진폭에 의거 제어된다.
(3)본 실시예는 디지탈프로세싱으로 피치주기를 검출하도록 설계된다. 그러나 상기 시스템은 아날로그 기술을 이용할 수 있도록 설계될 수 있다. 예를 들어 제로교차간격이 아날로그음성파형으로 부터 직접적으로 선택되어 그에 의거 피치주기가 검출된다.
최종으로 상기 실시예와 관련하여 본 발명을 기술하였지만 당업자라면 부속청구범위의 사상 및 영역을 일탈치 않는 범위내에서 여러가지로 본 발명을 변형실시할 수 있다.

Claims (15)

  1. 음성파형에서 연속으로 나타나는 제로교차간격(t1, t2...)을 측정하는 제로교차간격측정수단; 및
    피치주기가 '2n'제로교차간격(여기서 T = t1+ t2+.......+t2n)의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의 범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도록 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수 )에 대해 연산되어 상기 피치연산수단이 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하는데, 상기 정수 'n'은 소정의 수 이상이며, 상기 피치연산수단이 피치주기를 구하도록 상기 정수'm'을 감소시키는 것을 특징으로 하는 피치검출장치.
  2. 제 1항에 있어서, 상기 피치연산수단이 가장 높은 대응도의 정수'n'을 구하도록 정수 'n'에 대해 임의의 정수를 선택한후, 각각이 '2n'제로교차간격의 합에 대응하며, 'm'파형사이클과 관련하여 연산되는 피치주기를 평균화하는 평균화수단을 추가로 구비하는 것을 특징으로 하는 피치검출장치.
  3. 음성파형에서 연속으로 나타나는 제로교차간격(t1, t2......)을 측정하는 제로교차간격측정수단; 및
    피치주기가 '2n'제로교차간격(여기서 T = t1+ t2+........+t2n)의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의 범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도록 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수)에 대해 연산되어 상기 피치연산수단이 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하는 것을 특징으로 하는 피치검출장치.
  4. 제 3항에 있어서, 상기 피치연산수단에 있어서, 정수 'n'이 소정수 이상이 아닌 경우 정수 'm'으로 '4'가 설정되며, 정수 'n'이 소정수 이상인 경우 정수 'm'으로 '3'이 설정되는 것을 특징으로 하는 피치검출장치.
  5. 제 3항에 있어서, 상기 피치연산수단은 상기 피치주기에 대응하는 각각의 '2n'제로교차간격과 관련하여 임의의 에러 마진내에서 동일한 시간길이가 'm'파형사이클에서 반복적으로 나타나는 회수를 카운트하여 상기 피치연산수단이 '2n'제로교차간격 각각과 관련하여 카운트된 회수의 합에 근거하여 파형사이클 사이의 대응도를 연산하는 것을 특징으로 하는 피치검출장치.
  6. 음성파형에서 연속으로 나타나는 제로교차간격(t1, t2......)을 측정하는 제로교차간격측정수단; 및
    피치주기가 '2n'제로교차간격(여기서 T = t1+ t2+......+t2n)의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의 범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도륵 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수 )에 대해 연산되어 상기 피치연산수단이 임의의 허용가능 범위에 속하는 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하며, 상기 피치연산수단은 임의의 허용가능 범위로 부터 상기 대응도가 편이되는 경우 피치주기를 판단하지 않는 것을 특징으로 하는 피치검출장치.
  7. 음성파형에서 연속으로 나타나는 제로교차간격(t1, t2.....)을 측정하는 제로교차간격측정수단; 및
    피치주기가 '2n'제로교차간격(여기서 T = t1+ t2+.....+t2n)의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도록 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수 )에 대해 연산되어 상기 피치연산수단이 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하며,
    상기 제로교차간격측정수단은 하한 값이거나 그 이하인 측정된 제로교차간격을 무시하며, 상기 측정된 제로교차간격이 상한 값을 초과하는 경우 상기 측정된 제로교차간격 대신에 상기 상한 값을 이용하는 것을 특징으로 하는 피치검출장치.
  8. 주파수 체배된 디지탈음성신호를 생성하도록 임의의 배수로 입력디지탈음성신호의 샘플링주파수를 승산하는 오버샘플링수단;
    상기 오버샘플링수단으로 부터 출력된 디지탈음성신호와 임의의 레벨을 비교해서 상기 신호를 2진 신호로 변환하는 2진화수단;
    상기 2진신호에 의거 제로교차간격(t1, t2....)을 측정하는 제로교차간격측정수단을 구비하는데, 상기 제로교차간격은 상기 디지탈음성신호에 의거 형성된 음성파형에서 연속으로 나타나며, 피치주기가 '2n'제로교차간격(여기서 T = t1+ t2+..... +t2n)의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의 범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도록 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수 )에 대해 연산되어 상기 피치연산수단이 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하는 것을 특징으로 하는 피치검출장치.
  9. 기준제로레벨에 의거 음성파형의 2진화동작을 실행하여 2진신호를 생성하는 2진화수단;
    상기 2진신호에 의거 상기 음성파형에서 연속으로 나타나는 제로교차간격(t1, t2...)를 측정하는 제로교차간격측정수단;
    피치주기가 '2n'제로교차간격(여기서 T = t1+ t2+..... +t2n)의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의 범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도록 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수 )에 대해 연산되어 상기 피치연산수단이 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하며;
    상기 2진화수단은 기준제로레벨 주위에서 상기 마스킹존을 설정하여 음성파형레벨이 시간경과에 따라 변화하는 음성파형이 상기 마스킹존을 통과 횡단하는 경우에만 상기 2진신호를 역으로하며, 상기 음성파형이 상기 마스킹존내에서 이동하는 경우 상기 음성파형이 마스킹존으로 들어가기 바로 전에 생성된 2진신호를 유지하는 것을 특징으로 하는 피치검출장치.
  10. 제 9항에 있어서, 상기 음성파형의 진폭에 응답하여 마스킹존의 폭이 변경되도록 제어되는 것을 특징으로 하는 피치검출장치.
  11. 사람의 음성을 나타내는 입력디지탈신호를 입력받아 오버샘플링동작을 수행하여 임의의 배수를 이용하여 승산을 효과적으로 하도록 샘플링주파수를 증가시켜서 주파수 체배되고 음성파형을 가지는 디지탈음성신호를 생성하는 오버샘플링수단;
    상기 디지탈음성신호에 의거 2진신호를 생성하되, 상기 2진신호가 음성파형레벨이 시간의 경과에 따라 변화하는 음성파형이 제로레벨 주위에 설정된 마스킹존을 통과 횡단하는 경우에만 역으로되며, 상기 마스킹존내에서 음성파형이 이동하는 지속시간에서 그대로 유지되게된 2진화수단;
    음성파형이 제로레벨라인과 교차하는 시간축상에 연속으로 배치된 복수의 제로교차간격을 측정하는 제로교차간격측정수단; 및
    피치주기가 '2n'제로교차간격의 합에 대응하는 가정을 이용하는 피치연산수단을 구비하는데, 상기 수 'n'은 '1'이하의 정수의 범위에서 선택되며, 상기 피치연산수단은 파형사이클사이의 대응도를 연속으로 생성하도록 제로교차간격에 의거 연산을 실행하며, 상기 각각의 대응도는 음성파형의 일부를 형성하도록 음성파형에서 서로 인접하여 위치한 'm'파형사이클(여기서 'm'은 '2'이하의 정수 )에 대해 연산되어 상기 피치연산수단이 연산된 대응도 중에서 가장 높은 대응도를 구하도록 정수 n에 대해 임의의 정수를 선택하므로서 피치주기를 판단하는 것을 특징으로 하는 피치검출장치.
  12. 제 11항에 있어서, 상기 디지탈음성신호의 체배된 주파수가 상기 샐플링주파수의 4배이상이 되도록 임의의 배수로 설정되는 것을 특징으로 하는 피치검출장치.
  13. 제 11항에 있어서, 상기 정수 'm'은 피치주기에 대응하는 제로교차간격의 수이며, 적어도 '3'인 정수 '2n'에 응답하여 결정되는 것을 특징으로 하는 피치검출장치.
  14. 제 11항에 있어서, 상기 마스킹존의 폭은 상기 음성파형의 진폭에 응답하여 변경되도록 제어되는 것을 특징으로 하는 피치검출장치.
  15. 제 11항에 있어서, 상기 베로교차간격측정수단으로 측정되며, 소정의 범위에만 소하는 제로교차간격을 저장하는 저장수단을 구비하는데 상기 기억수단에 기억된 제로교차간격이 판독되어 상기 피치연산수단에 공급되는 것을 특징으로 하는 피치검출장치.
KR1019970001192A 1996-01-16 1997-01-16 피치검출장치 KR100406655B1 (ko)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
JP00524896A JP3996221B2 (ja) 1996-01-16 1996-01-16 ピッチ検出装置
JP00525196A JP3707120B2 (ja) 1996-01-16 1996-01-16 ピッチ検出装置
JP96-005248 1996-01-16
JP96-005249 1996-01-16
JP00525396A JP3996222B2 (ja) 1996-01-16 1996-01-16 ピッチ検出装置
JP524996A JP3235445B2 (ja) 1996-01-16 1996-01-16 ピッチ検出装置
JP525096A JPH09198094A (ja) 1996-01-16 1996-01-16 ピッチ検出装置
JP96-005250 1996-01-16
JP00525296A JP3707121B2 (ja) 1996-01-16 1996-01-16 ピッチ検出装置
JP96-005251 1996-01-16
JP96-005252 1996-01-16
JP96-005253 1996-01-16

Publications (2)

Publication Number Publication Date
KR970060045A KR970060045A (ko) 1997-08-12
KR100406655B1 true KR100406655B1 (ko) 2004-03-31

Family

ID=30773759

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970001192A KR100406655B1 (ko) 1996-01-16 1997-01-16 피치검출장치

Country Status (2)

Country Link
KR (1) KR100406655B1 (ko)
CN (1) CN1136536C (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715447B2 (en) * 2003-12-23 2010-05-11 Intel Corporation Method and system for tone detection
CN107808655B (zh) * 2017-10-27 2021-02-12 广州酷狗计算机科技有限公司 音频信号处理方法、装置、电子设备及存储介质
JP7395901B2 (ja) * 2019-09-19 2023-12-12 ヤマハ株式会社 コンテンツ制御装置、コンテンツ制御方法およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5447622A (en) * 1977-09-21 1979-04-14 Sony Corp Electronic musical instrument
US4388491A (en) * 1979-09-28 1983-06-14 Hitachi, Ltd. Speech pitch period extraction apparatus
US4634966A (en) * 1984-03-22 1987-01-06 Ricoh Company, Ltd. Binary processing of sound spectrum
JPH05315891A (ja) * 1992-05-12 1993-11-26 Victor Co Of Japan Ltd デジタル信号処理方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5447622A (en) * 1977-09-21 1979-04-14 Sony Corp Electronic musical instrument
US4388491A (en) * 1979-09-28 1983-06-14 Hitachi, Ltd. Speech pitch period extraction apparatus
US4634966A (en) * 1984-03-22 1987-01-06 Ricoh Company, Ltd. Binary processing of sound spectrum
JPH05315891A (ja) * 1992-05-12 1993-11-26 Victor Co Of Japan Ltd デジタル信号処理方式

Also Published As

Publication number Publication date
KR970060045A (ko) 1997-08-12
CN1136536C (zh) 2004-01-28
CN1162113A (zh) 1997-10-15

Similar Documents

Publication Publication Date Title
US6490562B1 (en) Method and system for analyzing voices
US5780759A (en) Method for pitch recognition, in particular for musical instruments which are excited by plucking or striking
JP4740609B2 (ja) 有声音および無声音の検出装置、並びにその方法
Rossignol et al. Vibrato: detection, estimation, extraction, modification
KR101049345B1 (ko) 오디오 신호 출력 장치
KR100406655B1 (ko) 피치검출장치
JP3707121B2 (ja) ピッチ検出装置
JP3707120B2 (ja) ピッチ検出装置
JP3996221B2 (ja) ピッチ検出装置
JP3996222B2 (ja) ピッチ検出装置
JP3235445B2 (ja) ピッチ検出装置
JP4076797B2 (ja) ノイズ除去方法及びノイズ除去フィルタ
KR0154991B1 (ko) 전자노래 반주기의 가창상태 표시장치 및 방법
JPH09198094A (ja) ピッチ検出装置
JP3092197B2 (ja) ピッチ抽出装置
WO2001078061A1 (en) Pitch estimation in a speech signal
JP5177657B2 (ja) 音響特性制御装置
JPH09152891A (ja) 非調和的周期検出法を用いた準周期的雑音の除去方式
KR930004739B1 (ko) Voice pitch 검출장치
KR970010947B1 (ko) 가라오케의 점수 채점장치
KR0136740B1 (ko) 가라오케 시스템의 점수 판정 방법
JPS6147570A (ja) デイジタル周波数検出装置
JP4236592B2 (ja) 電子弦楽器
Ishibashi et al. Analyses of Kagura musical signals using LMS-based Fourier Analyzer
JPH07234672A (ja) ピッチ検出装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121019

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20131018

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee