KR20070062550A - 오디오 신호에 내재된 멜로디의 추출 방법 및 장치 - Google Patents

오디오 신호에 내재된 멜로디의 추출 방법 및 장치 Download PDF

Info

Publication number
KR20070062550A
KR20070062550A KR1020077008255A KR20077008255A KR20070062550A KR 20070062550 A KR20070062550 A KR 20070062550A KR 1020077008255 A KR1020077008255 A KR 1020077008255A KR 20077008255 A KR20077008255 A KR 20077008255A KR 20070062550 A KR20070062550 A KR 20070062550A
Authority
KR
South Korea
Prior art keywords
segment
time
melody
spectral
line
Prior art date
Application number
KR1020077008255A
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 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우.
Publication of KR20070062550A publication Critical patent/KR20070062550A/ko

Links

Images

Classifications

    • 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
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/125Extracting or recognising the pitch or fundamental frequency of the picked up signal
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K15/00Acoustics not otherwise provided for
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/066Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for pitch analysis as part of wider processing for musical purposes, e.g. transcription, musical performance evaluation; Pitch recognition, e.g. in polyphonic sounds; Estimation or use of missing fundamental
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/086Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for transcription of raw audio or music data to a displayed or printed staff representation or to displayable MIDI-like note-oriented data, e.g. in pianoroll format
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/025Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
    • G10H2250/031Spectrum envelope processing
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/161Logarithmic functions, scaling or conversion, e.g. to reflect human auditory perception of loudness or frequency
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/235Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

본 발명은, 주 멜로디는 인간이 최대로 크게 그리고 가장 명료하게 인식하는 악곡의 일부라는 가정을 충분히 고려하여, 더욱 안정적이고 가능하다면 저렴하게 구현될 수 있는 멜로디 추출 내지 자동 트랜스크립션을 제공한다. 이와 관련하여, 본 발명에 따르면, 인지-관련 시간/스펙트럼에 기초하여 오디오 신호의 멜로디를 결정하기 위하여, 인간의 볼륨 인지를 반영한 등가 볼륨 곡선 (774)를 이용하여 관심 오디오 신호의 상기 시간/스펙트럼 내지 스펙트로그램이 스케일링된다.
멜로디, 추출, 시간, 스펙트럼, 표현, 노트,

Description

오디오 신호에 내재된 멜로디의 추출 방법 및 장치{METHOD AND DEVICE FOR EXTRACTING A MELODY UNDERLYING AN AUDIO SIGNAL}
본 발명은 오디오 신호에 내재된 멜로디의 추출 방법 및 장치에 관한 것이다. 이러한 멜로디 추출은, 아날로그 형태 또는 디지털 샘플링 형태로 존재할 수 있는 단일음 또는 다중음 오디오 신호에 내재된 멜로디의 트랜스크라이브된 표현 (a transcribed illustration) 내지 음악적 표현을 얻기 위해 이용될 수도 있다. 멜로디 추출은, 노래, 허밍 (humming), 또는 휘파람 등의 오디오 신호로부터, 휴대폰의 벨소리(ring tone)을 생성하는 것을 가능케 한다.
이미 몇 해 전부터, 휴대폰 벨소리는 호 (call)를 시그널링하는 데에 이용되고 있다. 이것은 또한, 모바일 기기들의 멜로디 관련 성능이 향상됨으로써, 청소년들 간에는 하나의 엔터테인먼트 요소 내지 지위 표시 (status symbol)로 되었다.
초기의 휴대폰은, 그 자체로 단일음 벨소리를 생성하는 능력을 부분적으로만 제공하였다. 그 생성 과정은 복잡하여, 음악에 대한 지식이 적은 사용자는 당황스러워 하고, 그 결과 또한 만족스럽지 못하였다. 따라서, 이러한 능력 내지 기능은 새로운 휴대폰에서는 대체로 사라지게 되었다.
특히, 다중음 멜로디 내지 벨소리로 시그널링하는 최신의 휴대폰에서, 많은 조합들이 제공됨으로써, 이러한 휴대폰 기기에서 멜로디를 독립적으로 작곡하는 것은 거의 불가능하게 되었다. 대부분, 완제형 (readymade) 멜로디와 반주 패턴 (accompaniment pattern)을 새로이 조합하여, 제한된 의미에서의 독립적인 벨소리를 구성할 수 있도록 하고 있다.
예로서, 이러한 완제형 멜로디와 반주 패턴을 조합할 수 있도록 하는 것이, 소니 에릭손 모델 T610 휴대폰에 구현되어 있다. 또한, 사용자는 상용의 완제형 벨소리를 구입할 수도 있다.
바람직하게는, 높은 음악 교육을 받지 않은 사용자라도 적절한 시그널링 멜로디를 생성하고, 그 자체로서 다중음 멜로디로 변환할 수 있는 직관적 동작 인터페이스를 제공 할 수 있어야 한다.
오늘날 대부분의 키보드에는, 사용될 코드 (chord)가 미리 결정되어 있는 경우에, 멜로디를 자동으로 반주할 수 있는 소위 "반주 자동화"라 불리는 기능이 존재한다. 이러한 키보드가, 반주곡이 부여된 멜로디를 인터페이스를 통해 컴퓨터로 전송하는 기능을 제공하지 않고 이를 적절한 휴대폰 포맷으로 변환되도록 한다는 것과는 별개로, 휴대폰용의 다중음 시그널링 멜로디를 생성하기 위한 키보드의 사용은 악기를 연주할 수 없는 대부분의 사용자에게는 옵션사상이 아닌 것이다.
본 출원의 발명자의 선출원인 DE 102004010878.1 (발명의 명칭, "Vorrichtung und Verfahren zum Liefern einer Signalisierungs-Melodie" 으로 2004년 3월 5일에 독일 특허 상표청에 출원됨)에는, 자바 애플릿을 이용하여 서버 소프트웨어 단일음 및 다중음 벨소리를 생성하고 이를 모바일 기기에 전송하는 방 법이 개시되어 있다. 여기에 개시된, 오디오 신호로부터 멜로디를 추출하는 기술들은 에러가 쉽게 발생하고 제한적으로 이용될 수 있었다. 이들 기술 중에는, 오디오 신호로부터 특징적 특성 (characteristic feature)를 추출하고, 이를 미리 저장된 멜로디의 대응하는 특성과 비교하고, 미리 저장된 멜로디 중에서 최적의 일치 결과를 주는 멜로디를 선택하는 것으로써, 그 오디오 신호의 멜로디를 얻는 것을 제안한 것이 있다. 하지만, 이 기술도 미리 저장된 멜로디의 세트에 대해만 멜로디 인식을 하는 본질적인 제약이 있다.
본 출원의 발명자의 선출원인 DE 102004033867.1 (발명의 명칭, “Verfahren und Vorrichtung zur rhythmischen Aufbereitung von Audiosignalen”)과 DE 102004033829.9 (발명의 명칭, “Verfahren und Vorrichtung zur Erzeugung einer polyphonen Melodie”) (이들은 동일자로, 독일 특허 상표청에 출원됨)에는, 실제의 멜로디 인식에 대해 상세히 고려하지 않았지만, 리듬이 포함된 멜로디로부터 반주곡을 도출하고 하모니에 의존하여 멜로디를 처리하는 일련의 과정을 포함하고 있는, 오디오 신호로부터의 멜로디 생성을 개시하고 있다.
한편, Bello, J.P.의 문헌 (Towards the Automated Analysis of Simple Polyphonic Music: A Knowledge-based Approach, 런던 대학교, 2003년 1월 발표)에는, 시간 신호내의 국소 에너지 또는 주파수 도메인에서의 분석에 기초한, 노트 (note)의 초기 시점의 인식에 대해 여러 형태가 개시되어 있다. 이와는 별개로, 멜로디 라인 인식에 대한 다양한 방법도 설명되어 있다. 이들 논문의 공통점은, 오디오 신호의 시간/스펙트럼 표현에 있어서 그 초기에 여러 궤적 (trajectory)가 처리되고 추적되고 이들 궤적 중에서만 멜로디 라인 내지 멜로디가 선택된다는 사실을 이용하여 우회적인 방식으로 최종적인 멜로디가 얻어진다는 점에서, 이들이 복잡하다는 것이다.
또한, Martin, K.D.의 논문 (A Blackboard System for Automatic Transcription of Simple Polyphonic Music, M.I.T. Media Laboratory Perceptual Computing Section Technical Report No. 385, 1996년) 에는, 자동 트랜스크립션의 가능성이 개시되어 있는데, 이는 또한 오디오 신호의 시간/스펙트럼 일러스트레이션 또는 오디오 신호의 스펙트로그램에서의 여러 하모니 트레이스를 평가하는 것에 기초하고 있다.
또한, Klapuri, A.P.의 논문 (Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Summary Diss., 2003년 12월에 발표함), Klapuri, A.P.의 논문 (Signal Processing Methods for the Automatic Transcription of Music, Tampere University of Technology, Diss., 2003년 12월에 발표함), Klapuri, A.P.의 논문 (“Number Theoretical Means of Resolving a Mixture of several Harmonic Sounds”. In Proceedings European Signal Processing Conference, 그리스 로도스 (Rhodos), 1998년에 발표함), Klapuri, A.P.의 논문 (“Sound Onset Detection by Applying Psycho-acoustic Knowledge”, in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, 미국 아리조나주의 피닉스 소재, 1999년에 발표함), Klapuri, A.P.의 논문 (“Multipitch Estimation and sound separation by the Spectral Smoothness Principle”, in Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing, 미국 유타주 솔트레이크 시티, 2001년에 발표함) Klapuri A.P.와 Astola J.T.의 논문 (“Efficient Calculation of a Physiologically-motivated Representation for Sound”, in Proceedings 14th IEEE International Conference on Digital Signal Processing, 그리스 산도린 (Santorin), 2002년에 발표함), Klapuri, A.P.의 논문 (“Multiple Fundamental Frequency Estimation based on Harmonicity and Spectral Smoothness”, IEEE Trans. Speech and Audio Proc., 11 (6), pp.804-816, 2003년에 발표함), Klapuri A.P.와 Eronen A.J.와 Astola J.T.의 저서 (“Automatic Estimation of the Meter of Acoustic Musical Signals”, Tempere University of Technology Institute of Signal Processing, Report 1-2004, 필란드 탐페르 (Tampere), 2004에 발표함, ISSN: 1459:4595, ISBN: 952-15-1149-4)에는, 음악의 자동 트랜스크립션에 관한 다양한 방법이 설명되어 있다..
다중음 트랜스크립션의 특수한 경우오서 주요 멜로디의 추출에 대한 기초적 연구에 대하여는, Bauman, U.의 논문 (Ein Verfahren zur Erkennung und Trennung multipler akustischer Objekte, Diss., Lehrstuhl fur Mensch-Maschine-Kommunikation, Technische Universitat Munchen, 1995년에 발표함)에 설명되어 있다.
멜로디 인식 내지 자동 트랜스크립션에 대한, 상술한 다양한 기술은 입력 신호에 대해 특별한 요구 사항을 제시하고 있다. 예를 들면, 피아노 음악 또는 일정 한 수의 악기만을 허용하고, 타악기 등은 배제하고 있다.
이들 중, 현재의 인기 있는 음악에 대한 가장 실용적인 기술로서, Goto, M.의 논문 (A Robust Predominant-FO Estimation Method for Real-time Detection of Melody and Bass Lines in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, pp. II-757-760, 2000년 6월에 발표함)에 기재되어 있는 기술이 있다. 이 방법은 주요 멜로디와 베이스 라인을 추출하는 것을 목적으로 하고, 라인 탐색에 대한 우회는 소위 "에이전트"를 이용하여 여러 궤적 중에서의 선택으로 통해 이루어진다. 따라서, 이 방법은 비용이 많이 들게 된다.
또한, Paiva R.P. 등의 논문 ( A Methodology for Detection of Melody in Polyphonic Musical Signals, 116th AES Convention, 독일 베를린, 2004년 5월에 발표함)에는, 멜로디 검출이 개시되어 있다. 이에 제안된 기술은, 시간/스펙트럼 표현에서의 궤적 추적의 경로를 취하는 것으로써 이루어진다. 이 논문은, 노트 시퀀스에 후처리가 동일하게 이루어질 때까지 수행되는 개개의 궤적의 세그멘트화에 관한 것이다.
더욱 많은 다양한 종류의 오디오 신호에 대해 더욱 로버스트하고 신뢰성 있는 기능으로서의, 멜로디 추출 또는 자동 트랜스크립션의 방법을 구현하는 것이 바람직할 것이다. 이러한 로버스트한 시스템은, 시간 및 비용을 크게 절약할 수 있는 "질의 허밍" (query by humming) 시스템을 구현할 수 있게 하는데, 사용자는 시스템 데이터 베이스의 참조 파일을 위한 자동 트랜스크립션으로 이들을 허밍함으로 써 데이터베이스 내에서 노래를 탐색할 수 있게 된다. 로버스트한 기능성 트랜스크립션 또한, 수신 전단부로서 이용될 수 있다. 또한, 자동 트랜스크립션은, 그에 포함된 지문으로 오디오 파일을 인식하게 하는 오디오 ID 시스템에의 부속물로서 이용될 수 있는데, 예로서 누락된 (missing) 지문 등으로 인하여 오디오 ID 시스템에 의해 인식되지 않으면, 자동 트랜스크립션은 입력하는 오디오 파일을 평가하기 위한 대체 수단으로서 이용될 수도 있다.
안정적인 기능성 자동 트랜스크립션은 또한, 예로서 "추천 엔진"을 위한 키 (key), 하모니, 및 리듬 등의 그 밖의 음악적 특성과 연계하여 유사성 관계를 생성하는 것을 제공할 수 있다. 음악 과학 분야에서, 안정적 자동 트랜스크립션은 새로운 방식을 제공하고 기존의 음악에 대한 재해석을 제공하게 될 것이다. 또한, 음악곡들 (pieces of music)의 객관적 비교를 통해 저작권을 유지하는 데에, 이 자동 트랜스크립션은 안전적으로 이용될 수 있을 것이다.
요약하면, 멜로디 인식 및 자동 트랜스트립션의 응용은 상술한 휴대폰의 벨소리 생성 등에만 제한되는 것이 아니라, 음악가 내지 음악에 관심이 있는 사람들을 위해 일반적으로 제공될 수 있다.
본 발명의 목적은, 더욱 안정적인 멜로디 인식으로서, 다양한 오디오 신호에 대해 정확히 동작하는 기법을 제공하는 것이다.
본 발명의 목적은 청구의 범위 제1항에 따른 장치 및 제33항에 따른 방법에 의해 성취된다.
본 발명은, 주 멜로디는 인간이 최대로 크게 그리고 가장 명료하게 인식하는 악곡의 일부라는 가정을 충분히 고려하여, 더욱 안정적이고 가능하다면 저렴하게 구현될 수 있는 멜로디 추출 내지 자동 트랜스크립션을 제공한다. 이와 관련하여, 본 발명에 따르면, 인지-관련 시간/스펙트럼에 기초하여 오디오 신호의 멜로디를 결정하기 위하여, 인간의 볼륨 인지를 반영한 등가 볼륨 곡선 (774)를 이용하여 관심 오디오 신호의 상기 시간/스펙트럼 내지 스펙트로그램이 스케일링된다.
본 발명에 따르면, 주 멜로디는 인간이 최대로 크게 그리고 가장 명료하게 인식하는 악곡의 일부라는 가정하에서, 멜로디 추출 내지 자동 트랜스크립션을 더욱 안정적으로 하게 하고, 가능하다면 저렴하게 구현하게 한다. 이와 관련하여, 본 발명에 따르면, 관심있는 오디오 신호의 시간/스펙트럼 표현 내지 스펙트로그램은 인간의 볼륨 인지를 반영한 각각의 볼륨의 곡선을 이용하여 스케일링되어, 결과적인 인지-관련 시간/스펙트럼 표현에 기초하여 오디오 신호의 멜로디를 결정하는 것이다.
본 발명의 바람직한 실시예에 따르면, 상술한 음악학적 진술, 즉, 주 멜로디는 인간이 최대로 크게 그리고 가장 명료하게 인식하는 음악곡의 일부이다 라는 진술은, 2개의 관점을 고려하고 있다는 것이다. 처음에 오디오 신호의 멜로디를 결정하는 멜로디 라인이 시간/스텍트럼 표현으로 연장되어 결정되고, 시간/스텍트럼 의 하나의 스텍트럼 성분 또는 주파수 빈이 프레임의 타임섹션과 연합되는데, 즉 각각 단일의 방식으로 최대 강도로 되는 사운드로 인도한다. 특히 본 발명의 실시예에 의하면, 오디오 신호의 스펙트로그램은 일차적으로 대수화되어, 그 대수화된 스펙트럼 값이 음향 압력 레벨을 지시하도록 하게 한다. 계속하여, 그 대수화된 스펙트로그램의 대수화된 스펙트럼 값은, 그 대응하는 값과 이들이 속하는 스펙트럼 성분에 의존하여 인지-관련 스펙트럼 값으로 매핑된다. 이렇게 함으로써, 기능들이, 스펙트럼 성분에 의존하는 또는 주파수에 의존하는 음향 압력으로서 등가 볼륨의 곡선을 표현하는 데에 이용되고, 서로 볼륨과 연계되도록 한다. 그 인지-관련 스펙트럼은 다시 대수화되어, 소정의 스펙트럼 성분에 대한 프레임당 대수화된 인지-관련 스펙트럼 값들의 합산을 함으로써 그 결과로부터 시간/사운드 스펙트럼을 생성하게 된다. 이들 합산은, 각각의 스펙트럼 성분에서의 대수화된 인지-관련 스펙트럼 값과, 각각의 스펙트럼 성분에 대한 오버톤 (overtone)을 형성하는 스펙트럼 성분에서의 그 대수화된 인지-관련 스펙트럼 값을 포함한다. 이렇게 얻어진 시간/사운드 스펙트럼은, 그들로부터 도출되는 시간/스펙트럼 표현의 버전을 표현한다.
본 발명의 바람직한 실시예는 다음과 같은 첨부된 도면을 참조하여 상세히 설명될 것이다:
도 1은 다중음 멜로디를 생성하는 장치의 블록 다이어그램이고,
도 2는 도 1의 장치중의 추출 수단의 기능을 나타내는 플로우차트이고,
도 3은 다중음 오디오 입력 신호의 경우를 위해, 도 1의 장치중의 추출 수단의 기능을 상세히 나타내는 플로우차트이고,
도 4는 도 3의 주파수 분석 결과를 줄 수 있는, 오디오 신호의 시간/스펙트 럼 표현 내지 스펙트로그램의 예시적인 실시예를 나타내는 도이고,
도 5는 도3의 대수화 후의 결과로서, 대수화된 스펙트로그램을 나타내는 도이고,
도 6은 도 3의 스펙트로그램의 평가의 기초가 되는 것으로서, 동일 볼륨의 곡선들을 가진 다이어그램을 나타내는 도이고,
도 7은 대수화를 위한 기준 값을 얻기 위해, 도 3의 실제적인 대수화의 수행 전에 이용되는, 오디오 신호의 그래프를 나타내는 도이고,
도 8은 도 3에서 도 5의 스펙트로그램의 평가 후에 얻어지는, 예측-관련 스펙트로그램을 나타내는 도이고,
도 9는 도3의 멜로디 라인 판정에 의해 도8의 예측-관련 스펙트럼으로부터 얻어진 시간/스펙트럼 도메인에 각각 지시된 멜로디 라인 내지 기능을 나타내는 도이고,
도 10은 도3의 일반적 세그멘트화를 나타내는 플로우차트이고,
도 11은 시간/스펙트럼 도메인에서 예시적인 멜로디 라인 과정을 개략적으로 나타내는 도이고,
도 12는 도 10의 일반적 세그멘트화에서 필터링 동작을 나타내기 위한, 도 11에 도시된 멜로디 라인 과정으로부터의 섹션을 개략적으로 나내는 도이고,
도 13은 도 10의 일반적인 세그멘트화에서의 주파수 범위의 제한 후에의, 도 10의 멜로디 라인 과정을 나타내는 도이고,
도 14는 도 10의 일반적인 세그멘트화에서의 펜얼디메이트 (penultimate) 단 계의 동작을 나타내기 위한, 멜로디 라인의 섹션을 개략적으로 나타내는 도이고,
도 15는 도 10의 일반적인 세그멘트화에서의 세그멘트 분류의 동작을 나타내기 위한, 멜로디 라인의 섹션을 개략적으로 나타내는 도이고,
도 16은 도 3의 갭 클로징 (gap-closing)을 나타내는 플로우차트이고,
도 17은 도 3의 가변 세미-톤 벡터를 위치지정하기 위한 절차를 개략적으로 나타내는 도이고,
도 18은 도 16의 갭 클로징을 개략적으로 나타내는 도이고,
도 19는 도 3의 하모니 매핑을 나타내는 플로우차트이고,
도 20은 도 19의 하모니 매핑의 동작을 나타내기 위한, 멜로디 라인 과정에서의 섹션을 개략적으로 나타내는 도이고,
도 21은 도 3의 진동자 인식 및 진동자 밸런스를 나타내는 플로우차트이고,
도 22는 도 21의 절차를 나타내기 위한, 세그멘트 과정을 개략적으로 나타내는 도이고,
도 23은 도 3의 통계적 보정에서의 절차를 나타내기 위한, 멜로디 라인 과정에서의 섹션을 개략적으로 나타내는 도이고,
도 24는 도 3의 온셋 인식 및 보정에서의 절차를 나타내기 위한 플로우차트이고,
도 25는 도 24의 온셋 인식에 이용하기 위한, 예시적인 전달 함수를 나타내는 그래프이고,
도 26은 도 24의 온셋 인식 및 보정에 이용하기 위한, 2-웨이 정류 필터링된 오디오 신호 및 포락선을 개략적으로 나타내는 도이고,
도 27은 단음 오디오 인력 신호의 경우에, 도 1의 추출 수단의 기능을 나타내는 플로우차트이고,
도 28은 도 27의 톤 분리를 나타내는 플로우차트이고,
도 29는 도 28의 톤 분리의 기능을 나타내기 위한, 세그멘트 중의 오디오 신호의 스펙트로그램의 진폭 과정으로부터의 섹션을 개략적으로 나타내는 도이고,
도 30a 및 도 30b는 도 28의 톤 분리의 기능을 나타내기 위한, 세그멘트 중의 오디오 신호의 스펙트로그램의 진폭 과정으로부터의 섹션을 개략적으로 나타내는 도이고,
도 31은 도 27의 톤 스무드화 (smoothing)를 나타내는 플로우차트이고,
도 32는 도 31의 톤 스무드화의 절차를 나타내기 위한, 멜로디 라인 과정으로부터의 섹션을 개략적으로 나타내는 도이고,
도 33은 도 27의 오프셋 인식 및 보정을 나타내는 플로우차트이고,
도 34는 도 33의 절차는 나타내기 위한, 2웨이 정류 필터링된 오디오 신호 및 그 내삽화로부터의 섹션을 개략적으로 나타내는 도이고,
도 35는 잠재적 세그멘트 연장화의 경우를 위한, 2웨이 정류 필터링된 오디오 신호 및 그 내삽화로부터의 섹션을 나타내는 도이다.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다. 본 발명은, 오디오 신호로부터 다중음 벨소리 멜로디를 생성하는 응용의 특별한 경우를 단지 예시적으로 설명하고 있다. 이점에 있어서, 본 발명은 이러한 응용의 특별한 경우에만 한정되는 것이 아니라, 데이터베이스의 검색, 음악곡의 인식, 음악곡들의 객관적 비교를 통한 저작권의 유지, 음악가에게 트랜스크립션의 결과를 알려주기 위한 오디오 신호의 단순한 트랜스크립션 등에도 본 발명의 멜로디 추출 내지 자동 트랜스립션이 이용될 수 있음에 유의하여야 한다.
도 1은, 원하는 멜로디를 포함하는 오디오 신호로부터 다중음 멜로디를 생성하기 위한 장치의 실시예를 나타내고 있다. 다시 말하면, 도 1은, 멜로디를 표현하는 오디오 신호의 리듬 및 하모니 표현 및 새로운 악기편성 (instrumentation)을 위한, 그리고 그 결과적인 멜로디에 적절한 반주를 추가하기 위한 장치를 나타내고 있다.
도 1에서 도면부호 300으로 일반적으로 지시된 이 장치는, 오디오 신호를 수신하는 입력부 (302)를 포함한다. 본 실시예에서, 장치 (300) 내지 입력부 (302)는 각각 WAV 파일과 같은 시간 샘플링 표현의 오디오 신호를 기다리고 있는 것으로 가정한다. 이 오디오 신호는, 비압축 형태, 압축 형태, 또는 주파수 대역 표현형태 등의 다른 형태로 입력부 (302)에 존재할 수도 있다. 장치 (300)은, 임의의 형태로 다중음 멜로디를 출력하는 출력부 (304)를 더 포함하며, 본 실시예에서는, 예로서, MIDI (musical instrument digital interface) 포맷으로 다중음 멜로디를 출력하는 것을 가정한다. 입력부 (302)와 출력부 (304) 사이에는, 추출 수단 (304), 리듬 수단 (306), 키 수단 (308), 하모니 수단 (310), 및 합성 수단 (312)이 이 순서로 직렬 연결되어 있다. 또한, 장치 (300)는 멜로디 저장부 (314)을 더 포함하 고 있다.. 키 수단 (308)의 입력은 후속하는 하모니 수단 (310)의 출력뿐만 아니라, 멜로디 수단 (314)의 출력에도 연결되어 있다. 하모니 수단 (310)의 입력은 상류에 배치된 키 수단 (308)의 출력뿐만 아니라, 멜로디 저장부 (314)의 출력에도 연결되어 있다. 멜로디 저장부 (314)의 입력이, 저장 식별 번호 ID를 수신하기 위해 제공된다. 합성 수단 (312)의 입력이, 스타일 정보를 수신하기 위해 제공된다. 스타일 정보 및 저장 식별 번호 ID의 의미는, 다음의 기능에 관한 설명에서 더욱 명확히 이해될 것이다. 추출 수단 (304)은 리듬 수단 (306)과 함께, 리듬 렌더링 수단 (316)을 구성한다.
이하, 상술한 구성을 가진 도 1의 장치 (300)의 기능에 대해 설명한다.
추출 수단 (304)은, 오디오 신호로부터 노트 시퀀스를 얻기 위해 입력부 (302)에 수신된 오디오 신호를 처리하도록 구성되어 있다. 본 발명에 있어서, 추출 수단 (304)를 통해 리듬 수단 (306)으로 통과하는 노트 시퀀스 (318)은 다음과 같은 형태로 존재한다. 즉, 노트 n 마다, 톤 내지 노트의 시작을 지시하는 초 단위의 노트 시작 시간 tn, 노트의 노트 지속 시간을 지시하는 초 단위의 톤 내지 노트 지속 시간 τn, 예로서 MIDI 노트와 같은 C, F샵 등의 양자화된 노트 내지 톤 피치, 노트의 볼륨 Ln, 및 톤 내지 노트의 정확한 주파수 fn이 노트 시퀀스에 포함된 형태로 존재하며, 여기서 n은 후속하는 노트들의 순서로 증가하는 노트 시퀀스에서 각각의 노트의 인덱스를 나타내고 그 노트 시퀀스내의 각각의 노트의 위치를 지시하고 있다.
노트 시퀀스 (318)을 생성하는 수단 (304)에 의해 수행된 멜로디 인식 내지 자동 트랜스크립션은, 도 2 내지 도 35을 참조하여 더욱 자세히 후술될 것이다.
노트 시퀀스 (318)는 오디오 신호 (302)에 의해 나타낸 바와 같이 멜로디를 표현한다. 그리고, 노트 시퀀스 (318)는 리듬 수단 (306)에 공급된다. 리듬 수단 (306)은, 그 공급된 노트 시퀀스를 분석하여, 노트 시퀀스에 대한 시간길이, 여린박 (upbeat), 즉, 시간 래스터를 결정하고, 이로써, 노트 시퀀스의 개개의 노트에 일정한 시간 동안 적절한 정량화된 시간길이, 즉, 전체 노트 (whole note), 절반 노트 (half note), 4분 음표, 8분 음표 등을 적용하고, 노트의 노트 시간을 타임 래스터에 대해 조절하도록 구성되어 있다. 이로써, 리듬 수단 (306)에서 출력된 노트 시퀀스는, 리듬 렌더링된 노트 시퀀스 (324)를 나타내게 된다.
리듬 렌더링된 노트 시퀀스 (324)에 대해서, 키 수단 (308)은 키 결정을 수행하고, 가능하다면, 키 보정을 수행한다. 특히, 키 수단 (308)은, 노트 시퀀스 (324)에 기초하여, 예로서 연주되었던 악곡의 모드, 즉, 장조 또는 단조를 포함하는, 노트 시퀀스 (324) 내지 오디오 신호 (302)에 의해 표현된 사용자 멜로디의 주요 키 내지 키를 결정한다. 다음, 스케일에 포함되지 않은 노트 시퀀스 (114)내의 톤 내지 노트가 인식되고, 이를 보정함으로써, 하모니 사운드로서의 최종 결과, 즉, 하모니 수단 (310)으로 통과된 리듬 렌더링된 및 키 보정된 노트 시퀀스 (700)가 얻어지고, 사용자가 요청한 멜로디의 키 보정된 형태가 표현된다.
키 결정된 관련된 수단 (324)의 기능은, 다양한 방식으로 구현될 수 있다. 예로서, Krumhansl, Carol L.의 논문 (Cognitive Foundations of Musical Pitch, Oxford University Press, 1990년) 또는 Temperley, David의 논문 (The cognition of basical musical structures, The MIT Press, 2001년)에는, 이러한 키 결정을 수행하는 방법들이 개시되어 있다.
하모니 수단 (310)은, 수단 (308)로부터 노트 시퀀스 (700)를 수신하여, 그 노트 시퀀스 (700)에 의해 표현된 멜로디를 위한 적절한 반주를 탐색하도록 구성되어 있다. 이 목적으로, 하모니 수단 (310)은, 바 (bar) 마다 동작하도록 되어 있다. 특히, 하모니 수단 (310)은 모든 바 마다 동작하여, 이를 리듬 수단 (306)에 의해 결정된 시간 래스터에 의해 결정되게 함으로써, 각각의 시간에서 발생하는 노트 Tn의 톤 내지 톤 피치에 대한 통계를 생성한다. 톤 발생에 대한 통계는, 키 수단 (308)에 의해 결정된 주요 키의 스케일의 가능성 있는 코드와 비교된다. 특히, 하모니 수단 (310)은, 그 통계에 의해 지시된, 각각의 시간에서의 톤과 최적으로 일치하는 톤을 가진 가능성 있는 코드들 중에서 하나의 코드를 선택한다. 이러한 방식으로, 하모니 수단 (310)은, 예로서 연주되었던 각각의 시간에서의 톤 내지 노트와 최적으로 일치하는 모든 시간에 대한 하나의 코드를 결정하게 된다. 다시 말하면, 하모니 수단 (310)은, 모드에 의존하여 수단 (306)에 의해 탐색된 시간들에 기본 키의 코드 단계를 연계시킴으로써, 코드 진행을 멜로디 진행에 수반되도록 형성한다. 하모니 수단 (310)의 출력에서는, NL을 포함하는 리듬 렌더링된 그리고 키 보정된 노트 시퀀스와는 별개로, 매 시간마다 코드 단계 지시를 합성 수단 (312)으로 출력하고 있다.
합성을 수행하여 최종적으로 다중음 멜로디를 생성하기 위한 합성 수단 (312)은, 사용자가 입력하며 도면 부호 702로 지시된 스타일 정보를 이용한다. 예를 들면, 이 스타일 정보에 의해, 사용자는 팝 음악, 테크노 음악, 라틴 음악, 레게 음악 등으로 다중음 멜로디가 생성되도록, 4개의 서로 다른 스타일 내지 음악 장르를 선택할 수 있다. 이들 스타일 각각에 대해, 하나 또는 여러 가지의 반주 패턴이 합성 수단 (312)에 저장되어 있다. 이제, 반주를 생성하기 위해, 합성 수단 (312)는 스타일 정보 (702)에 의해 지시된 반주 패턴 (들)을 이용한다. 반주를 생성하기 위해, 합성 수단 (312)는, 바 마다 반주 패턴을 배치한다. 수단 (310)에 의해 결정된 시간에 대한 코드가 그 반주 패턴이 이미 존재하는 코드 버전이면, 합성 수단 (312)는 그 반주를 위한 시간에 현재의 스타일에 대한 대응하는 반주 패턴을 선택하기만 하면 된다. 하지만, 어떤 시간에, 수단 (310)에 의해 결정된 코드가 수단 (312)에서 반주 패턴이 부여된 것이 아니면, 합성 수단 (312)는 세미톤의 개수에 대응하여 그 반주 패턴의 노트를 이동시키거나, 제3의 것을 변경하고 다른 모드의 경우에 제6 및 제5의 것을 1 세미톤만큼 변경시킨다. 즉, 메이저 코드의 경우에는 1 세미톤만큼 상방으로 이동시키고, 마이너 코드의 경우에는 다른 방식으로 이동시킨다.
도한, 합성 수단 (312)는, 주 멜로디를 얻고 출력 (304)에서 예로서 MIDI 파일의 형태로 현재 출력되는 다중음 멜로디 반주 및 주 멜로디를 결합하기 위해, 하모니 수단 (310)으로부터 합성 수단 (312)로 통과되는 노트 시퀀스 (700)에 의해 표현된 멜로디에 대한 악기 편성을 한다.
키 수단 (308)은 또한, 그 노트 시퀀스 (700)을 저장 식별 번호를 부여하여 멜로디 저장부 (314)에 저장하도록 구성되어 있다. 하지만, 사용자가 그 출력 (304)에서의 다중음 멜로디의 결과에 만족하지 않으면, 도 1의 장치로 다시 새로운 스타일 정보와 함께 그 저장 식별 번호를 입력할 수도 있다. 이로써, 멜로디 저장부 (314)는 그 저장 식별 번호로 저장된 시퀀스 (700)를 하모니 수단 (310)으로 통과시키고, 여기서, 상술한 바와 같이, 코드를 결정하게 된다. 이로써, 합성 수단 (312)는 그 코드에 의존하는 새로운 스타일 정보를 이용하여, 그 노트 시퀀스 (700)에 의존하는 새로운 반주 및 새로운 주 멜로디를 생성하고 이들을 결합하여 새로운 다중음 멜로디를 출력부 (304)에 출력한다.
이제, 추출 수단 (304)를 도 2 내지 35를 참조하여 설명한다. 여기서, 우선, 도 2 내지 26을 참조하여, 추출 수단 (304)의 입력에서 다중음 오디오 신호 (302)의 경우에 대한 멜로디 인식의 절차가 설명된다.
우선, 도 2는 멜로디 추출 내지 자동 트랜스크립션의 개략적 절차를 나타내고 있다. 단계 (750)에서 오디오 파일의 판독 내지 입력으로부터 시작하며, 이 오디오 파일은 상술한 바와 같이 WAV 파일로 존재할 수 있다. 다음, 수단 (304)는, 단계 (752)에서 오디오 파일에 대해 주파수 분석을 수행하여, 그 파일에 포함된 오디오 신호의 시간/주파수 표현 내지 스펙트로그램을 제공한다. 특히, 단계 (752)는 오디오 신호를 주파수 대역별로 분할하는 것을 포함한다. 여기서, 오디오 신호는, 스펙트럼별로 분할된 윈도우의 범위 내에서, 바람직하게는 시간적으로 중첩하는 시간 섹션들로 분리되어, 스펙트럼 성분의 각각의 세트에서의 각각의 시간 섹션 내지 각각의 프레임에 대한 스펙트럼 값을 얻는다. 스펙트럼 성분의 세트는 주파수 분석 (752)에 포함된 변환의 선택에 의존하며, 그에 대한 본 실시예의 특별한 예가 도 4를 참조하여 설명될 것이다.
단계 (752) 후에, 수단 (304)는 단계 (754)에서 가중된 진폭 스펙트럼 내지 인지-관련 스펙트로그램을 결정한다. 인지-관련 스펙트로그램의 결정에 대한 상세한 절차는, 도 3 내지 8을 참조하여 상세히 후술될 것이다. 단계 (754)의 결과는, 그 스펙트로그램을 인간의 인지 감각에 적응시키기 위해 인간의 인지 감각을 반영한 등가 볼륨의 곡선을 이용하는 주파수 분석 (752)으로부터 그 스펙트로그램을 재-스케일링한 것이다.
단계 (754)에 후속하는 처리 (756)에서는, 단계 (754)에서 얻어진 인지-관력 스펙트로그램을 이용하여, 노트 세그멘트에 조직화된 멜로디 라인의 형태로, 즉, 톤 피치와 연계된 일련의 프레임의 그룹의 형태로, 출력 신호의 멜로디를 최종적으로 얻으면, 이들 그룹은 하나의 프레임 내지 수개의 프레임으로 서로 이격되어 있어, 서로 중첩하지 않고, 따라서, 단일음 멜로디의 노트 세그멘트에 대응하게 된다.
도 2를 참조하면, 처리 (756)은 3개의 서브 단계 (758, 760, 및 762)로 구성되어 있다. 첫 번째 서브 단계에서, 인지-관련 스펙트로그램은 시간/기본 주파수 표현을 얻기 위해 이용되고, 시간/기본 주파수를 이용하여 멜로디 라인을 결정함으로써, 하나의 스펙트럼 성분 또는 하나의 주파수 빈이 엄밀하게 일의적으로 각각의 프레임에 연계된다. 시간/기본 주파수 표현은, 사운드를 부분 톤들로 분리하는 것 을 고려한다. 이는, 단계 (754)의 인지-관련 스펙트로그램이 역-대수화되어 (delogarithmized), 각각의 주파수 빈의 오버톤을 표현하는 주파수 빈 또는 이들 주파수 빈들에서의 역-대수화된 인지-관련 스펙트럼 값을 통해 각각의 프레임에 대해 또는 각각의 주파수에 대해 합산을 수행한다는 사실에 기초하여 이루어진다. 그 결과는, 프레임 당 사운드의 범위가 된다. 이 사운드 범위로부터, 그 사운드 범위가 최대가 되는 각각의 프레임에 대한 키 노트, 주파수, 또는 주파수 빈을 선택함으로써, 멜로디의 결정이 수행된다. 따라서, 단계 (758)의 결과는, 각각 프레임에 하나의 주파수 빈을 엄밀하게 일의적으로 연계시키는 멜로디 라인 함수가 된다. 이 멜로디 라인 함수는, 가능성 있는 스펙트럼 성분 또는 그 빈 및, 다른 한편으로는, 가능성 있는 프레임에 의해 전개되는 2차원 멜로디 매트릭스 내에의 또는 시간/주파수 도메인 내에의 멜로디 라인 과정을 다시 정의하게 된다.
그 다음 서브 단계들 (760 및 762)는, 연속적읜 멜로디 라인을 세그멘트화하여 개개의 노트로 되게 하기 위해 제공된다. 도 2는, 세그멘트화가 입력 주파수의 해상도, 즉, 주파수 빈 해상도로 이루어져 있는 지의 여부에 의존하는, 또는, 세그멘트화가 세미톤 해상도로, 즉, 주파수를 세미톤 주파수로 양자화한 후의 해상도로 이루어져 있는지의 여부에 의존하는 2개의 서브 단계 (760 및 762)로 구성되어 있다.
처리 (756)의 결과는, 단계 (764)에서 처리되어, 멜로디 라인 세그멘트로부터 일련의 노트를 생성하고, 초기 노트 시점, 노트 지속기간, 양자화된 톤 피치, 정확한 노트 피치 등이 각각의 노트에 연계된다.
도 1의 추출 수단 (304)의 기능은 도 2를 참조하여 일반적으로 설명되어 있다. 이하, 도 3을 참조하여, 그 기능은, 입력부 (302)에서 오디오 파일에 의해 표현된 음악이 다중음 음원인 경우에 대해, 더욱 상세히 설명될 것이다. 다중음 오디오 신호와 단일음 오디오 신호의 차이는, 단일음 오디오 신호가 음악에 대한 지식이 적은 사람으로부터 자주 생성되며 따라서 세그멘트화에 대해 약간 다른 처리를 요구하는 음악적 단점을 포함하게 된다는 관찰 사실로부터 연유한다.
처음의 2단계 (750 및 752)에서, 도 3은 도 2에 대응하여, 오디오 신호가 제공되고 (단계 750), 이에 대한 주파수 분석이 수행된다 (단계 752). 본 발명의 일 실시예에 따르면, WAV 파일은 예로서, 개개의 오디오 샘플이 16kHz의 샘플링 주파수로 샘플링되는 포맷으로 존재한다. 예를 들면, 그 개개의 샘플은 16bit 포맷으로 존재한다. 또한, 바람직하게는, 다음과 같이, 오디오 샘플은 모노 파일로 존재한다.
주파수 분석 (752)는, 예로서, 와프형 (warped) 필터 뱅크와 FFT (fast Fourier transformation)를 이용하여 수행된다. 특히, 이 주파수 분석 (752)에 있어서, 오디오 값의 시퀀스는 512개의 샘플의 윈도우 길이로 윈도우화되며, 128개의 샘플의 호프 (hop) 크기가 이용된다. 즉, 매 128개의 샘플마다, 윈도우화가 반복된다. 16kHz의 샘플 레이트와 16 bit의 양자화 해상도와 함께, 이들 파라미터는 사간 해상도와 주파수 해상도 사이에서 최선의 절충점을 나타내게 된다. 이들의 예시적인 설정으로서, 하나의 시간 섹션 내지 하나의 프레임이 8ms의 시간 주기에 대응할 수 있다.
와프형 필터 뱅크는, 대략 1,550 Hz까지의 주파수 범위에 대한 특별한 실시예에 대응하여 이용된다. 이것은, 깊은 주파수에 대한 충분한 해상도를 얻기 위해 요구된다. 양호한 세미톤 해상도에 대한, 충분한 주파수 대역이 이용 가능하여야 하다. 100Hz의 주파수에서 16kHz의 샘플 레이트에서의 -0.85의 람다 값을 가진, 대략 2개 내지 4개의 주파수 대역이 하나의 세미톤에 대응하게 된다. 저주파에서, 각각의 주파수 대역은 하나의 세미톤에 연계될 수도 있다. 그래서, 8kHz까지의 주파수 범위에서, FFT가 이용된다. FFT의 주파수 해상도는 대략 1,550Hz로부터 양호한 세미톤 표현을 얻기에 충분하다. 여기서, 대략 2개 내지 6개의 주파수 대역이 세미톤에 대응하게 된다.
예시적으로 상술한 구현예에서는, 와프형 필터 뱅크이 과도적 성능을 가진다는 것에 유의하여야 한다. 바람직하게는, 이 때문에, 시간적 동기화가 2개의 변환의 조합으로 수행된다. 예로서, 그 필터 뱅크의 출력 중, 최초의 16개의 프레임은 폐기되고, 마찬가지로 FFT의 출력 스펙트럼 중, 최후의 16개의 프레임은 고려되지 않는다. 적절한 해석을 통해서, 진폭 레벨은 필터 뱅크와 FFT에서 동등하게 되어, 조절할 필요가 없게 된다.
도 4는 오디오 신호의 시간/주파수 표현 내지 스펙트로그램 또는 진폭 스펙트럼을 예시적으로 나타내는 도이고, 이는 상술한 실시예에서의 와프형 필터 뱅크와 FFT의 조합에 의해 얻어진다. 도 4의 수평 축은 시간 t를 초단위로 나타낸 것이고, 수직 축은 주파수 f를 Hz단위로 나타낸 것이다. 개개의 스펙트럼 값의 높이는 계조화되어 있다. 다시 말하면, 오디오 신호의 시간/주파수 표현은, 일측 (수 평 축)이 가능성 있는 주파수 빈 내지 스펙트럼 성분에 의해 전개되고 타측 (수직 축)이 시간 섹션 내지 프레임에 의해 전개되는 2차원 필드이고, 여기서 스펙트럼 값 또는 진폭은 일정한 투펠 (tupel)의 프레임 내지 주파수 빈에서 이 필드의 각각의 위치에 연계되어 있다.
특별한 실시예에 따르면, 도 4의 스펙트럼의 진폭은 주파수 분석 (752)의 범위 내에서 후처리되고, 와프형 필터 뱅크에 의해 계산된 그 진폭은 때때로 후속하는 처리에서 충분할 만큼 정확하게 되지 않을 수도 있다. 주파수 대역의 중심 주파수에 정확히 위치하는 않은 주파수는, 주파수 대역의 중심 주파수에 정확히 대응하는 주파수보다 낮은 진폭 값을 가지게 된다. 또한, 와프형 필터 뱅크의 출력 스펙트럼에서, 주변 주파수 대역과의 혼선 (crosstalk)가 빈 내지 주파수 빈이라고 하는 결과로서 나타나게 된다.
오류가 있는 진폭을 보정하기 위해, 혼선의 영향이 이용될 수 있다. 각각의 방향에 대해, 최대 2개의 주변 주파수 대역이 이들 오류에 의해 영향을 받을 수 있다. 일 실시예에 따르면, 이러한 이유로, 각각의 프레임 내에 도 4의 스펙트로그램에서, 주변의 빈들의 진폭이 중심 빈의 진폭 값에 가산되어, 모든 빈에 대해 유효한 결과를 유지하게 된다. 2개의 톤 주파수가 음악 신호 내에서 특히 서로 근접하는 경우에, 오류가 있는 진폭 값이 계산될 위험이 있고, 그래서 2개의 원시 신호 부분보다 더 큰 값을 가지는 팬텀 주파수가 생성되며, 바람직한 실시예에 따르면, 직접적으로 인접하는 주변 빈의 진폭들만이 원시 신호 부분의 진폭에 가산된다. 이것은, 정확도와, 직접 인접하는 빈의 가산으로부터 야기되는 부작용적 효과 사이 의 절충점을 나타낸다. 진폭 값의 정확도가 낮아짐에도 불구하고, 이러한 절충은 멜로디 추출과 연계하여 허용될 수 있고, 그 계산된 진폭 값의 변화는 3개 내지 5개의 주파수 대역은 가산에 있어서 무시될 수 있다. 이와 대조적으로, 팬텀 주파수의 개발은 더욱 더 중요하게 된다. 팬텀 주파수의 생성은, 음악곡에서 동시에 발생하는 사운드의 개수에 따라 증가된다. 멜로디 라인의 탐색에 있어서, 이것은 나쁜 결과를 초래하게 될 수도 있다. 정확한 진폭의 계산은, 바람직하게는, 와프형 필터 뱅크와 FFT 모두에 대해서 수행됨으로써, 음악 신호가 진폭 레벨에 의해 주파수 스펙트럼 전체에 걸쳐 계속적으로 표현되게 된다.
와프형 필터 뱅크와 FFT의 조합으로부터의 신호 해석을 위한 상술한 실시예에 의해, 오디션-적응 주파수 해상도 및 세미톤 당 충분한 개수의 주파수의 존재가 가능케 된다. 이러한 구현예에 대한 더욱 상세한 설명은, Claas Derboven 의 논문 (“Implementierung und Untersuchung eines Verfahrens zur Erkennung von Klangobjekten aus polyphonen Audiosignalen”, Technical University of Ilmenau, 2003년에 발표됨)과 Olaf Schleusing의 논문 (“Untersuchung von Frequenzbereichstransformationen zur Metadaten-extraktion aus Audiosignalen”, Technical University of Ilmenau, 2002년에 발표됨) 을 참조할 수 있다.
상술한 바와 같이, 주파수 분석 (752)의 분석 결과는 스펙트럼 값의 매트릭스 내지 필드이다. 이들 스펙트럼 값은 진폭으로 볼륨을 나타낸다. 하지만, 인간의 볼륨 백분율은 대수적 분할을 가진다. 따라서, 이는 진폭 스펙트럼을 이러한 분할로 조절함으로써 감지 가능하게 된다. 이것은, 단계 (752)에 후속하는 대수화 (770)에서 수행된다. 대수화 (770)에서는, 모든 스펙트럼 값이 음향 압력 레벨로 대수화되며, 이들 레벨은 인간의 대수적 볼륨 인지 능력에 대응한다. 특히, 주파수 분석 (752)로부터 얻어진, 스펙트로그램내의 스펙트럼 값 p에 대한 대수화 (770)에 있어서, p는 음향 압력 레벨 값 내지 대수화된 스펙트럼 값 L로 다음과 같은 수학식에 의해 매핑된다.
Figure 112007027857561-PCT00001
(1)
여기서, p0는 기준 음향 압력, 즉, 1,000Hz에서 최소의 인지가능 음향 압력을 가지는 볼륨 레벨을 나타낸다.
대수화 (770)에서는, 우선, 이러한 기준 값이 결정되어야 한다. 아날로그 분석에서는 최소의 인지가능 음향 압력 p0 을 기준 값으로 이용하지만, 이러한 규칙이 디지털 신호 처리에 그대로 이용되기는 쉽지 않다. 이러한 목적으로, 일 실시예에 따르면, 기준 값을 결정하기 위해서, 도 7에 도시된 바와 같은 샘플 오디오 신호가 이용된다. 도 7은 시간 t에 대한 샘플 오디오 신호 (772)를 나타내며, 여기서 Y 방향에는 진폭 A가, 도시된 바와 같은 최소의 디지털 단위로 표시되어 있다. 도시된 바와 같이, 샘플 오디오 신호 내지 기준 신호 (772) 는 하나의 LSB의 진폭 값을 가지거나 최소의 디지털 값을 가지는 것으로 표현되어 있다. 다시 말하면, 기준 신호 (772)의 진폭은 1비트로만 진동하는 것이다. 기준 신호 (772)의 주파수는, 인간의 가청 한계의 최고 감도의 주파수에 대응한다. 하지만, 기준 값의 그 밖의 결정 방식이 이 경우에 더욱 큰 이점을 줄 수 있다.
도 5에는, 도 4의 스펙트로그램의 대수화 (770)이 예시적으로 도시되어 있다. 대수화된 스펙트로그램의 일분가 그 대수화에 의해 음수 값의 범위에 존재한다면, 이러한 음수의 스펙트럼 내지 진폭 값은, 후속하는 처리에서 감지 불가능의 결과를 방지하기 위해 0dB로 설정되어, 주파수 범위 전체에 걸쳐 양수의 결과를 얻을 수 있게 한다. 일종의 예방적 처리로서, 도 5에 도시된 대수화된 스펙트럼 값이 도 4와 동일한 방식으로 도시되어 있고, 즉, 시간 t와 주파수 f로 전개된 매트릭스로 배열되어 있고, 그값이 계조화되어, 어두울수록 각각의 스펙트럼 값이 높아지는 방식으로 되어 있다.
인간의 볼륨의 평가는 주파수에 의존한다. 따라서, 대수화 (770)에서 도출되는 대수화된 스펙트럼은 후속하는 단계 (772)에서 평가되어, 인간의 주파수-의존 평가에 대해 조절을 하게 된다. 이러한 목적으로, 등가 볼륨 곡선 (774)이 이용된다. 특히 평가 (772)는, 주파수 범위에 걸쳐 음악 사운드의 서로 다른 진폭 평가 값을 인간의 인지 능력에 대해 조절하기 위해 요구되며, 인간의 인지 능력에 따라 더욱 낮은 저주파수의 진폭이 더 높은 고주파수의 진폭 보다 더 낮은 평가 값을 가지게 된다.
등가 볼륨의 곡선 (774)의 예로서, 참고 문헌 (Deutsches Institut fur Normung e.V., Grundlagen der Schallmessung, Normalkurven gleicher Lautstarke, DIN 45630 페이지 2, 1967년 발행됨)에 개시된 것이 이용되었다. 이 그래프화 과정은 도 6에 도시되어 있다. 도 6에 도시된 바와 같이, 등가 볼륨 곡선 (774)은 폰 (phone)으로 지시된 서로 다른 볼륨 레벨과 연계되어 있다. 특히, 이들 곡선 (774)는, dB 단위의 음향 압력 레벨을 각각의 주파수에 연계시켜 각각의 곡선에 위치하는 음향 압력 레벨이 각각의 곡선에서 동일한 레벨에 대응하도록 하게 하는 함수를 나타낸다.
바람직하게는, 등가 볼륨 곡선 (774)은 수단 (204)에서 해석적 형태로 존재하며, 볼륨 레벨 값을 주파수 빈과 음향 압력 레벨 양자화 값의 쌍에 연계시키는 룩업 테이블을 제공하는 것도 물론 가능하게 될 것이다. 최저의 볼륨 레벨을 가진 볼륨 곡선에 대한 예가, 다음의 수학식 2로 표현될 수 있다.
Figure 112007027857561-PCT00002
(2)
하지만, 독일의 공업 표준에 따르면, 이 곡선의 형태와 가청 한계 사이에는, 저주파수 범위와 고주파수 범위에서 편차가 존재한다. 이를 조절하기 위해, 무의미한 가청 한계의 함수 파라미터를 상기의 수학식에 따라 변경하여, 도 6의 독일 공업 표준에 따른 최저의 볼륨 곡선의 형태에 대응하도록 하게 할 수도 있다. 이로써, 이 곡선은, 10dB의 간격으로 가지고 볼륨 레벨이 증가하는 방향으로 수직으로 이용하고, 함수 파라미터는 함수 그래프 (774)의 각각의 특성에 대해 조절된다. 중간 값들은, 선형 내삽법에 따라 1dB의 단계로 결정된다. 바람직하게는, 최고의 값의 범위를 가진 함수는 100dB의 레벨을 평가할 수 있다. 이것은, 16 bit의 워드 폭이 98dB의 동적 범위에 대응하도록 하는 데에 충분하다.
등가 볼륨 곡선 (774)에 기초하여, 단계 (772)에서 수단 (304)는, 대수화된 스펙트럼 값 각각을, 즉, 도 5의 배열내의 각각의 값을, 이들이 속하는 주파수 f 내지 주파수 빈에 의존하여, 그리고 음향 압력 레벨을 나타내는 값에 의존하여, 그 볼륨 레벨을 나타내는 인지-관련 스펙트럼 값에 매칭한다.
도 5의 대수화된 스펙트로그램의 경우에 대한 이러한 처리의 결과가 도8에 도시되어 있다. 도시된 바와 같이, 도 8의 스펙트로그램에 있어서, 저주파수는 더 이상 특별한 의미를 가지지 않게 된다. 고주파수 및 그들의 오버톤이, 이러한 평가를 통해서 더욱 강하게 강조된다. 이것은 또한, 서로 주파수에 대한 볼륨의 평가를 위한 인간 인지 능력에 대응한다.
상술한 단계들 (770 내지 774)는, 도 2의 단계 (754)의 가능성 있는 서브 단계를 나타낸다.
도 3의 방법은, 스펙트럼 평가 (772) 후에 단계 (776)이 후속하여, 기본 주파수 결정이 계속되거나, 오디오 신호의 각각의 사운드의 전체적 강도의 계산이 계속된다. 이러한 목적으로, 단계 (776)에서, 각각의 키 노트의 강도가 그에 연계된 고조파 (harmonic)에 가산된다. 물리적 관점에서, 사운드는 이들 연계된 부분 톤들 간의 키 노트로 구성된다. 여기서, 부분 톤이란 사운드의 기본 주파수의 정수배이다. 부분 톤 내지 오버톤은 또한, 고조파라 불린다. 각각의 키 노트에 대해 그 강도와 그 연계된 고조파를 합산하기 위해, 단계 (776)에서는, 고조파 래스터 (778)가, 모든 가능성 있는 키 노트, 즉, 모든 주파수 빈에 대해 각각의 키 노트의 정수배인 오버톤 내지 오버톤들을 탐색하기는 데에 이용된다. 일종의 키 노트인 어떤 주파수 빈에 대해, 그 키 노트의 주파수 빈의 정수배에 대응하는 다른 주파수 빈이 오버톤 주파수에 연계된다.
단계 (776)에서는, 모든 가능성 있는 키 노트 주파수에 대해, 오디오 신호의 스펙트로그램의 강도가 각각의 키 노트 및 그 오버톤에서 가산된다. 이렇게 함으로써, 개개의 강도의 값의 가중화가 수행되고, 음악곡내의 동시에 발생하는 사운드가 수개 있기 때문에, 사운드의 키 노트는 더 낮은 저주파수 키 노트를 가진 다른 사운드의 오버톤에 의해 마스킹될 가능성이 있다. 또한, 사운드의 오버톤은 다른 사운드의 오버톤에 의해 마스킹될 수도 있다.
다른 방식으로 사운드의 톤을 결정하기 위해, 단계 (776)에서는, Mosataka Goto의 모델의 원리에 기초하여 주파수 분석 (752)의 스펙트럼 해상도에 대해 조절하는 톤 모델을 이용한다. Goto의 모델은, 그의 논문 (A Robust Predominant-F0 Estimation Method for Real-time Detection of Melody and Bass Lines, in CD Recordings, Proc. IEEE International Conference on Acoustics, Speech and Signal Processing, 터키의 이스탐블, 2000년에 발표함)에 설명되어 있다.
사운드의 가능성 있는 기본 주파수에 기초하여, 각각의 주파수 대역 또는 주파수 빈에 대해 고조파 래스터 (778)에 의해, 그에 속하는 오버톤 주파수가 연계된다. 바람직한 실시예에 따르면, 기본 주파수에 대한 오버톤은 예로서 80Hz 내지 4,100Hz의 특정 주파수 빈 범위 내에서만 탐색되고, 그 고조파는 15차수만이 고려된다. 이렇게 함으로써, 서로 다른 사운드의 오버톤이 수개의 기본 주파수의 톤 모델과 연계될 수 있다. 이러한 효과에 의해, 그 탐색된 사운드의 진폭 비가 실질적으로 변경될 수 있다. 이러한 효과를 약화시키기 위해, 부분 톤의 진폭이 이등분형 가우시안 필터에 의해 평가된다. 여기서, 기본 톤은 그 최고의 값 (valency) 을 수용하게 된다. 후속하는 부분 톤은 그들의 차수에 따라 더 낮은 가중치를 수용하게 되고, 여기서 그 가중치는 차수가 증가함에 따라 가우스 형태로 감소하게 된다. 따라서, 실제의 오버톤을 마스킹하는 다른 사운드의 오버톤 진폭은 그 탐색된 음성의 전체적인 결과에 특별한 영향을 미치지 않게 된다. 더 높은 고주파의 스펙트럼의 주파수 해상도가 감소함에 따라, 더 높은 차수의 모든 오버톤에 대해 그 대응하는 주파수를 가진 빈이 존재하는 것은 아니다. 그 탐색된 오버톤의 주파수 환경에서 서로 인접한 빈들 사이의 혼선에 의해, 가우시안 필터를 이용하여 그 탐색된 오버톤의 진폭은 가장 근접한 주파수 대역에 걸쳐 상당히 양호하게 재생될 수도 있다. 따라서, 오버톤 주파수 내지 그 강도는 주파수 빈의 단위로 결정될 뿐만 아니라, 오버톤 주파수에서의 강도 값을 엄밀하게 결정하기 위해 내삽법이 이용될 수도 있다.
하지만, 강도 값들에 대한 합산은, 단계 (772)에서 인지-관련 스펙트럼에 대해 직접 수행되지는 않는다. 오히려, 단계 (776)의 초기에, 도 8의 인지-관련 스펙트럼이 먼저 단계 (770)의 기준 값을 이용하여 대수화된다. 그 결과는, 대수화된 인지-관련 스펙트럼, 즉, 주파수 빈 및 프레임의 모든 투펠에 대한 대수화된 인지-관련 스펙트럼 값의 배열로 된다. 이 대수화된 인지-관련 스펙트럼 내에서, 모든 가능성 있는 키 톤에 대하여, 그 키 톤의 스펙트럼 값 및 가능하다면 내삽된 스펙트럼 값이 그 연계된 고조파에 고조파 래스터 (778)을 이용하여 가산되면, 그 결과 모든 가능성 있는 키 노트 주파수의 주파수 범위에 대한 사운드 강도 값이 얻어지며, 모든 프레임 각각에 대해서 상술한 실시예에서는 80Hz 내지 4,000Hz의 범위 만이 해당된다. 다시 말하면, 단계 (776)의 결과는 사운드 스펙트럼이며, 단계 (776) 자체는 오디오 신호의 스펙트로그램 내에서의 레벨 가산에 대응한다. 예로서, 단계 (776)의 결과는, 각각의 프레임에 대한 열 (column) 및 모든 가능성 있는 주파수의 주파수 범위 내의 각각의 주파수 빈에 대한 하나의 라인을 포함하는 새로운 매트릭스로 기입되며, 그 매트릭스의 각각의 성분, 즉, 행과 열의 교차점에서 그 대응하는 주파수 빈에 대한 합산의 결과가 키 노트로서 기입된다.
다음, 단계 (780)에서는, 잠재적 멜로디 라인의 예비적인 결정이 수행된다. 멜로디 라인은 시간에 대한 함수에, 즉, 하나의 프레임 대역 내지 하나의 주파수 빈을 각각의 프레임에 엄밀하게 연계시기는 함수에 대응한다. 다시 말하면, 단계 (780)에서 결정된 멜로디 라인은 단계 (776)의 사운드 스펙트로그램 내지 매트릭스의 정의 역을 따라 트레이스 (trace)를 정의하며, 주파수 축을 따르는 그 트레이스는 서로 중첩되거나 불명료하게 되지 않는다.
이러한 결정은 단계 (780)에서, 사운드 스펙트럼의 주파수 범위 전체에 걸쳐 각각의 프레임에 대하여 최대의 진폭이, 즉, 최고의 합산 값이 결정되도록 수행된다. 그 결과, 즉, 멜로디 라인은, 오디오 신호 (302)에 내재된 음악 타이틀의 멜로디의 기본적 과정에 대체로 대응한다.
단계 (772)의 등가 볼륨 곡선을 가진 스펙트로그램의 평가 및 단계 (780)의 최대 강도를 가진 음성 결과의 탐색은, 주 멜로디가 인간이 최대로 크고 가장 명료하게 인지하는 음악 타이틀의 부분이라는 음악 과학에서의 명제를 지지하게 된다.
상술한 단계들 (776 내지 780)은 도 2의 단계 (758)의 가능성 있는 서브 단 계를 나타낸다.
단계 (780)의 잠재적 멜로디 라인에서, 세그멘트는 멜로디에 속하지 않도록 위치된다. 멜로디의 중지 내지 멜로디 노트들 사이에서, 예로서 베이스 과정 내지 다른 반주 악기로부터의 세그멘트가 발견될 수도 있다. 이들 멜로디 중지는, 도 3의 후반부의 단계들에 의해 제거되어야 한다. 이와 별개로, 짧은 개개의 성분 결과는 그 타이들의 어떤 범위에도 연계되지 않을 수도 있다. 예를 들면, 이들은 3x3의 평균치 필터를 이용하여 제거될 수 있으면, 이는 다음과 같이 설명된다.
단계 (780)의 잠재적 멜로디 라인의 결정 후에, 단계 (782)에서, 우선 일반적 세그멘트화 (782)가 수행되어, 명백히 실제의 멜로디 라인에 속하지 않을 수도 있는 잠재적 멜로디 라인의 부분들이 제거되도록 할 수 있다. 도 9에는, 예로서 단계 (780)의 멜로디 라인 결정 단계의 결과가, 도 8의 인지-관련 스펙트럼의 경우를 예시하여 도시되어 있다. 도 9는 시간 t에 대해 또는 사간 축에 따른 프레임에 시퀀스에 대해 표시된 멜로디 라인을 나타내며, y축에는 주파수 f 또는 주파수 빈이 표시되어 있다. 다시 말하면, 도 9에는, 단계 (780)의 멜로디 라인이, 주파수 빈의 행과 프레임의 열을 포함하는 이하에서 멜로디 매트릭스라고도 불리는 이진 이미지 배열의 형태로 도시되어 있다. 멜로디 라인이 존재하지 않는 배열의 모든 점은 0의 값을 가지고 백색이며, 멜로디 라인이 존재하는 배열의 모든 점은 1의 값을 가지고 흑색이다. 이들 점은, 단계 (780)의 멜로디 라인에 의해 서로 연계된 주파수 빈 및 프레임의 투펠에 연속하여 배치되어 있다.
도 9에서 도면 부호 784로 지시된, 도 9의 멜로디 라인에서, 일반적 세그멘 트화의 단계 (782)가 동작하며, 그 가능성 있는 구현예는 도 10을 참조하여 상세히 설명될 것이다.
이 일반적 세그멘트화 (782)는, 주파수/시간 표현의 범위 내에서 멜로디 라인 (784)를 필터링하는 단계 (786)에서 시작하며, 그 표현에 있어서 도 9에 도시된 멜로디 라인 (784)는, 일측이 주파수 빈으로, 타측이 프레임으로 전개된 배열내의 이진 트레이스로 지시되어 있다. 도 9의 픽셀 배열은 예로서 XY 픽셀 배열이다, 여기서 X는 프레임의 개수를, Y는 주파수 빈의 개수에 각각 대응한다.
단계 (786)은 멜로디 라인내의 작은 아우트라이어 (outlier) 또는 아티팩트 (artifact)를 제거하기 위해 제공된다. 도 11은, 도 9에 따른 표현내의 멜로디 라인 (784)의 가능성 있는 형태를 개략적으로 나타내는 예시도이다. 도시된 바와 같이, 픽셀 배열은, 그 짧은 지속 시간 때문에 실제의 멜로디에 속하지 않게 되는 잠재적 멜로디 라인 (784)의 섹션에 대응하여 개개의 흑색 픽셀 요소가 배치되어 있는 영역 (788)을 나타내고 있고, 따라서 이들은 제거되어야 한다.
단계 (786)에서는, 이러한 이유로, 멜로디 라인이 이진 방식으로 도시되어 있는 도 9 또는 도 11의 픽셀 배열로부터, 그 대응하는 픽셀 및 그 픽셀의 이웃하는 픽셀들에서 이진 값의 합산에 대응하는 각각의 픽셀의 값을 기입함으로써, 제2의 픽셀 배열이 최초로 생성된다. 이 목적으로, 도 12a를 참조한다. 도 9 또는 도 11의 이진 이미지내의 멜로디 라인의 과정의 예시적인 섹션이 도시되어 있다. 도 12a의 예시적인 섹션은, 서로 다른 주파수 빈 1 내지 5에 대응하는 5개의 행과, 서로 다른 이웃 프레임에 대응하는 5개의 열 A 내지 E를 포함한다. 멜로디 라인의 과정은 도 12에, 멜로디 라인의 부분을 나타내는 대응하는 픽셀 요소가 해칭됨으로써 심볼화되어 있다. 도 12a의 실시예에 따르면, 멜로디 라인에 의해, 주파수 빈 (4)는 프레임 (B)에 연계되고, 주파수 빈 (3)은 프레임 (C)에 연계되는 방식으로 되어 있다. 또한, 프레임 (A)에는 멜로디 라인에 의해 주파수 빈이 연계되어 있지만, 이는 도 12a의 섹션의 5개의 주파수 빈에는 배치되어 있지 않다.
단계 (786)의 필터링에서, 상술한 바와 같이, 우선, 각각의 픽셀 (790)에 대해서, 그 픽셀의 이진 값과 그 이웃 픽셀의 이진 값이 합산된다. 이것은, 도 12a에 예로서 픽셀 (792)에 대해 도시되어 있고, 도면 부호 794는 그 픽셀 (792)과 그 픽셀 (792)에 이웃하는 픽셀들을 둘러싸도록 도시된 정사각형의 영역을 지시한다. 그 결과로서, 픽셀 (792)에 대해서, 합산 값 2가 얻어지면, 픽셀 (792) 주위의 영역 (794)에는, 2개의 픽셀만이, 즉, 픽셀 (792)와 픽셀 (C3)만이, 그 멜로디 라인에 속하도록 프레임 (C)와 빈 (3)에 배치되어 있다. 이 합산은, 영역 (794)를 이동시키면서 다른 픽셀들에 대해서도 반복됨으로써, 이하에서 때때로 중간 매트릭스라고 불리는 제2 픽셀 이미지 결과가 얻어진다.
제2 픽셀 이미지는, 픽셀별로 매핑되며, 그 픽셀 이미지내의 0 또는 1의 모든 합산 값들은 0에, 2 또는 그 이상의 합산 값들은 1에 매핑된다. 이러한 매핑의 결과가, 도 12a의 예시적인 경우에 대한 개개의 픽셀 (790)내의 0의 개수 및 1의 개수와 함께 도 12a에 도시되어 있다. 도시된 바와 같이, 3x3 합산 및 그에 후속하는 임계값 2를 이용한 1 및 0으로의 매핑을 조합함으로써, 멜로디 라인들이 "스미어 (smear)"하는 결과를 얻게 된다. 이러한 조합은, 저역 통과 필터로서 동작하 는 것으로 되어, 바람직하지 않게 된다. 그래서, 단계 (786)의 범위 내에서, 도 9 또는 도 11로부터의 제1 픽셀 이미지 또는 도 12에서의 해칭된 픽셀로 심볼화된 픽셀 이미지가, 도 12a의 0 및 1로 표현된 제2 픽셀 배열과 승산된다. 이러한 승산은, 필터링 (786)에 의해 멜로디 라인이 저역 통과 필터로 되는 것을 방지하고, 주파수 빈을 프레임에 명료하게 연계시키는 것을 보장하게 된다.
도 12a의 섹션에 대한 승산의 결과는, 필터링 (786)이 멜로디 라인에서 아무것도 변경하지 않는 것이다. 이것은, 멜로디 라인이 그 영역에서 분명히 코히어런트하고, 단계 (786)의 필터링이 아우트라이어 또는 아티팩트 (788)을 제거하는 데에만 제공되게 하여, 바람직하다.
필터링 (786)의 효과를 보여주기 위해, 도 12b는 도 9 또는 도 11의 멜로디 매트릭스로부터의 예시적인 섹션을 도시하고 있다. 도시된 바와 같이, 합산과 임계값 매핑을 조합함으로써 중간 매트릭스가 도출되며, 멜로디 라인이 이들 픽셀에 존재하는 것을 해칭으로 도시하고 있는 12b에서, 멜로디 매트릭스가 픽셀 (P4 및 R2)의 위치에서 이진 값 1을 가질 지라도, 이 중간 매트릭스는 2개의 개개의 픽셀 (P4 및 R2)이 이진 값 0를 가진다. 따라서, 멜로디 라인에 종종 나타나는 아우트라이어가, 상기의 승산 후에 단계 (786)에서의 필터링을 수행함으로써 제거된다.
단계 (786)후에, 단계 (796)이 일반적 세그멘트화 (782)의 범위 내에서 후속하며, 이때 멜로디 라인 (784)의 부분들이, 소정의 주파수 범위 내에 존재하지 않는 멜로디 라인의 부분들을 제거하는 방식으로, 제거된다. 다시 말하면, 단계 (796)에서, 단계 (780)의 멜로디 라인 함수의 그 값의 범위가 소정의 주파수 범위 로 제한된다. 또한, 다시 말하면, 단계 (796)에서, 도 9 또는 도 11의 멜로디 라인의 모든 픽셀은 0으로 설정되어, 소정의 주파수 범위 밖에 존재하게 된다. 현재 가정하고 있는 다중음 분석의 경우에, 그 주파수 범위는 예로서 100 - 200 Hz 내지 1,000 - 1,100 Hz 이며, 바람직하게는 150 ? 1,050 Hz 이다. 도 27 ff를 참조하여 가정되는 단일음 분석의 경우에. 그 주파수 범위는 예로서 50 - 150 Hz 내지 1,000 - 1,100 Hz 이며, 바람직하게는 80 ? 1,050 Hz 이다. 이러한 대역으로 주파수 범위를 제한하는 것은, 대부분의 인기 곡의 멜로디는 인간의 언어와 같은 주파수 범위에 존재하여 연주되는 것이라는 관찰 사실을 뒷받침한다.
단계 (796)을 도시하기 위한 도 9에서, 150 - 1,050 Hz의 주파수 범위는, 하부 차단 주파수 라인 (798)과 상부 차단 주파수 라인 (800)에 의해 지시된다. 도 13은 단계 (786)에 의해 필터링되고 단계 (796)의 의해 클리핑된 멜로디 라인을 도시하며, 도 13의 도면 부호 802는 미분을 나타낸다.
단계 (796) 후에, 단계 (804)에서, 너무 적은 진폭을 가진 멜로디 라인 (802)의 섹션의 제거가 수행되며, 이에 따라서 추출 단계 (304)는 다시 도 5의 단계 (770)의 대수화 스펙트럼으로 돌아간다. 특히, 추출 단계 (304)는, 멜로디 라인 (802)가 통과하는 주파수 빈과 프레임의 각각의 투펠에 대한 대응하는 대수화된 스펙트럼 값을 도 5의 대수화된 스펙트럼에서 탐색하고, 그 대수화된 스펙트럼 값이 도 5의 대수화된 스펙트럼에 있어서 최대 진폭의 소정의 백분율보다 적은지 또는 최대의 대수화된 스펙트럼 값인지를 판정한다. 다중음 분석의 경우에, 이 백분율은 바람직하게는 50%과 70% 사이이며, 더욱 바람직하게는 60%이다. 한편, 단일 음 분석의 경우에, 이 백분율은 바람직하게는 20%과 40% 사이이며, 더욱 바람직하게는 30%이다. 이 경우에 멜로디 라인 (802)의 부분들은 무시된다. 이러한 진행은, 멜로디는 통상적으로 근사적으로 동일한 볼륨을 가지고 특별히 극단적인 볼륨 요동을 거의 나타나지 않는다는 조건을 뒷받침한다. 다시 말하면, 단계 (804)에서, 도 9 또는 도 17의 멜로디 매트릭스의 모든 픽셀은 0으로 설정되고, 그 대수화된 스펙트럼 값은 최대의 대수화된 스펙트럼 값의 소정의 백분율보다 작게 된다.
단계 (804)후에, 단계 (806)에서, 나머지 멜로디 라인의 섹션의 제거가 수행되면, 이때 멜로디 라인의 과정은 대체로 연속적인 멜로디 라인을 간략히 나타내기 위해 주파수 방향으로 비정상적으로 변화한다. 이를 설명하기 위해, 계속하는 프레임들 A - M에 대한 멜로디 매트릭스로부터의 섹션을 도시하는 도 14를 참조하며, 이들 프레임은 그 매트릭스의 열에 배치되어 있고, 그 주파수는 열 방향을 따라 하측에서 상측으로 가면서 증가한다. 주파수 빈 해상도는, 도 14를 간명하게 하게 위해 도시되어 있지 아니하다.
단계 (804)로부터 얻어진 멜로디 라인은 예시적으로 도면 부호 808로 도 14에 도시되어 있다. 도시된 바와 같이, 멜로디 라인 (808)은 프레임 A - D 내의 하나의 주파수 빈상에 일정하게 유지되어, 세미톤 거리 HT 보다 긴 프레임 D와 E사이의 주파수 점프를 도시한다. 따라서, 프레임 E와 H 사이의 멜로디 라인 (808)은 하나의 주파수 빈상에서 일정하게 유지되어, 세미톤 거리 HT 보다 긴 거리만큼 프레임 H로부터 프레임 I로 떨어지게 된다. 세미톤 거리 HT 보다 긴 주파수 점프는 프레임 J와 K 사이에서도 일어난다. 이로써, 멜로디 라인 (808)은 프레임 J와 M 사이에서도 하나의 주파수 빈상에 일정하게 유지된다.
단계 (806)를 수행하기 위해, 수단 (304)는 멜로디 라인을 프레임 단위로 예로서 전방으로부터 후방으로 스캐닝한다. 이렇게 함으로써, 수단 (304)는, 그 프레임과 다음 프레임 사이에서 주파수 점프가 세미톤 거리 HT 보다 길게 일어나는 지의 여부를 판단한다. 만약 그러하면, 수단 (302)는 이들 프레임을 마스킹한다. 도 14에는, 이 마스킹 결과가, 원으로 둘러싸인 프레임들, 즉, 프레임 D, H, 및 J에 의해 도시되어 있다. 제2의 단계에서, 수단 (304)는, 소정의 프레임 수보다 적은 마스킹된 프레임들이 배치되어 있는지를 판단하며, 이 경우에 소정의 프레임 수는 바람직하게는 3이다. 이렇게 함으로써, 멜로디 라인 (808)의 섹션들은, 4개의 프레임 요소 길이 보다 적은 그 계속되는 프레임들 사이에서 하나의 세미톤 길이만큼 주파수 점프를 하도록 선택된다. 본 실시예에서는, 프레임 D와 H 사이에 3개의 프레임이 존재한다. 이것은, 프레임들 E - H 에 걸쳐 멜로디 라인 (808)이 하나의 세미톤만을 점프한다는 것을 의미한다. 하지만, 마스킹된 프레임 H와 J 사이에는, 단 하나의 프레임만이 존재한다. 이것은, 프레임 I와 J 의 영역에서, 멜로디 라인 (808)은 시간 방향에 있어서 전방으로 그리고 후방으로 하나의 세미톤만큼을 점프한다는 것을 의미한다. 따라서, 멜로디 라인 (808)의 섹션, 즉, 프레임 I와 J의 영역은, 멜로디 라인에 대한 후속하는 처리 중에 무시된다. 이러한 이유로, 현재의 멜로디 매트릭스에는, 대응하는 멜로디 라인 요소가 프레임 I와 J에서 0으로, 즉, 백색으로 설정된다. 이렇게 배제하는 것은, 대체로, 24ms에 대응하는 3개의 계속되는 프레임을 포함한다. 30ms 보다 짧은 톤은, 오늘날의 음악에서 거의 생성 되지 아니하므로, 단계 (806) 후에 이러한 배제는 트랜스크립션 결과를 악화시키지 않게 된다.
단계 (806) 후에, 일반적 세그멘트화 (782)의 범위에서의 처리가 단계 (810)으로 진행하며, 여기서 수단 (304)는 단계 (780)의 이전의 잠재적 멜로디 라인의 잔여 라인을 일련의 세그멘트로 분할한다. 세그멘트들로의 분할에 있어서, 멜로디 매트릭스의 모든 요소는 하나의 세그멘트 내지 하나의 궤적으로 통합되어, 서로 직접 인접하게 된다. 이를 설명하기 위해, 도 15는 단계 (806) 후의 결과로서 멜로디 라인 (812)로부터의 섹션을 도시한다. 도 15에는, 멜로디 매트릭스로부터의 개개의 매트릭스 요소 (814)가 멜로디 라인 (812)가 진행하는 방향으로 도시되어 있다. 어떤 매트릭스 요소 (814)가 하나의 세그멘트로 통합되어 있는지를 판단하기 위해, 수단 (304)는 예로서 다음과 같은 방식을 스캐닝을 수행한다. 먼저, 수단 (304)는, 멜로디 매트릭스가 제1 프레임에서 마스킹된 매트릭스 요소 (814)를 포함하고 있는지 여부를 판단한다. 만약 그러하지 아니하면, 수단 (304)는 후속 매트릭스 요소로 진행하여, 대응하는 매트릭스 요소가 상기 후속 매트릭스에 존재하는지 여부를 판단한다. 만약 그렇지 아니하면, 즉, 멜로디 라인 (812)의 일부인 매트릭스 요소가 존재하면, 수단 (304)는 그 후속 프레임에 상기 멜로디 라인 (812)의 일부인 매트릭스 요소가 존재하는지 여부를 판단한다. 만약 그러하다면, 수단 (304)는 이 매트릭스 요소가 이전의 프레임의 매트릭스 요소에 직접 인접하고 있는지 여부를 판단한다. 이들이 행 방향으로 서로 인접하거나, 또는, 이들이 대각선 방향에서의 꼭지점에 존재한다면, 하나의 매트릭스 요소가 다른 매트릭스 요소에 직접 인접하고 있는 것이다. 이웃 관계 (neighboring relation)가 존재하면, 수단 (304)는 그 후속 프레임에 대해서 이웃 관계가 존재하는지를 테스트한다. 만약 그러하지 아니하면, 즉, 이웃 관계가 존재하지 아니하면, 현재 인식된 세그멘트는 이전의 프레임에서 종료하고, 새로운 세그멘트가 현재의 프레임에서 시작하는 것이다.
도 15에 도시된 멜로디 라인 (812)로부터의 섹션은, 멜로디 라인의 부분인 모든 매트릭스 요소 (814) 또는 이들을 따라 진행하는 요소들이 서로 직접 인접하고 있는 불완전한 세그멘트를 나타낸다.
이러한 방식으로 탐색된 세그멘트들에는 번호가 부여되어, 세그멘트 시퀀스가 얻어진다.
일반적 세그멘트화 (782)의 결과는, 멜로디 세그멘트의 시퀀스로 되고, 여기서 각각의 세그멘트는 직접 이웃하는 프레임의 시퀀스를 커버한다. 각각의 세그멘트 내에서, 멜로디 라인은 한 프레임으로부터 다른 프레임으로 소정의 개수의 주파수 빈만큼 점프를 한다. 상술한 실시예에서는, 하나의 프레임 빔만을 점프하였다.
일반적 세그멘트화 (782) 후에, 수단 (304)는 단계 (816)의 멜로디 추출에 계속된다. 단계 (816)는 이웃하는 세그멘트 사이의 갭을 클로징하는 역할을 하여, 단계 (780)의 멜로디 라인 결정에서 충격적 이벤트에 의해 갑작스런 사운드가 인식되어 일반적 세그멘트화 (782)에서 필터링되는 경우를 처리한다. 갭 클로징 (816)은 도 16을 참조하여 더욱 상세히 설명되며, 여기서 갭 클로징 (816)은 단계 (818)에서 결정된 세미톤 벡터로 돌아가고, 그 세미톤 벡터의 결정은 도 17을 참조하여 더욱 상세히 설명될 것이다.
갭 클로징 (816)이 세미톤 벡터를 이용하기 때문에, 가변 세미톤 벡터의 결정을 도 17을 참조하여 다음에서 설명한다. 도 17은, 멜로디 매트릭스로 기입되는 형태로 일반적 세그멘트화 (782)로부터 얻어지는 불완전한 멜로디 라인 (812)를 도시한다. 단계 (818)의 세미톤 벡터의 결정에 있어서, 수단 (304)는 어떤 주파수 빈을 멜로디 라인 (812)이 통과하는 지를, 그리고 얼마나 자주 또는 얼마나 많은 프레임을 통과하는 지를 정의한다. 예 (820)로 지시된 이러한 처리의 결과는, 각각의 주파수 빈 f 에 대한 주파수와, 얼마나 자주 멜로디 라인 (812)가 이를 통과하는 지와, 멜로디 라인 (812)의 부분인 멜로디 매트릭스의 요소 중에서 얼마나 많은 매트릭스 요소가 각각의 주파수 빈에 배치되어 있는지를 나타내는 히스토그램 (822)이다. 이 히스토그램 (822)로부터, 수단 (304)는 최대 주파수를 가진 주파수 빈을 단계 (824)에서 결정한다. 이것은 도 17에서 화살표 (826)으로 지시되어 있다. 주파수 f0의 주파수 빈 (826)에 기초하여, 수단 (304)는, 서로 간의 주파수 거리, 특히, 세미톤 길이 HT의 정수배에 해당하는 주파수 f0에의 주파수 거리를 포함하는 주파수 fi의 벡터를 결정한다. 세미톤 벡터내의 주파수는, 이하에서 세미톤 주파수로 불린다. 때때로, 세미톤 차단 주파수를 참조하여 설명하기도 한다. 이들은 이웃하는 세미톤 주파수 사이에 정확히, 즉, 그의 중심에 정확히 배치된다. 세미톤 거리는 통상인 음악에서 유용한 주파수 f0의 21/12 배로서 정의된다. 단계 (818)에서 세미톤 벡터의 결정에 의해, 주파수 빈이 표시되는 주파수 축 f는, 세미톤 차단 주파수로부터 이웃하는 차단 주파수로 연장하는 세미톤 영역 (828)들로 분할될 수도 있다.
갭 클로징은 주파수 축 f를 세미톤 영역으로 분할하는 것에 기초하며, 이는 도 16을 참조하여 이하에서 설명한다. 상술한 바와 같이, 갭 클로징 (816)에서는, 멜로디 라인 인식 (780) 내지 일반적 세그멘트화 (782)에서 우연적인 결과로 되는 멜로디 라인 (812)의 이웃하는 세그멘트 간의 갭을 클로징하는 것이 시도된다. 갭 클로징은 세그멘트들에서 수행된다. 갭 클로징 (816)의 범위 내에서, 현재의 기준 세그멘트에 대하여, 단계 (830)에서 그 기준 세그멘트와 후속 세그멘트 사이의 갭이 소정의 프레임 수 p 보다 적은지를 판단한다. 도 18은, 멜로디 라인 (812)으로부터의 섹션을 가진 멜로디 매트릭스로부터의 섹션을 도시한다. 예시적인 경우에서, 멜로디 라인 (812)은, 2개의 세그멘트 (812a 및 812b) 사이의 갭 (832)를 포함하며, 여기서 세그멘트 (812a)는 상술한 기준 세그멘트이다. 도시된 바와 같이, 도 18의 예시적인 경우에서의 갭은, 6개의 프레임이다.
상술한 바람직한 샘플링 주파수를 가지는 본 예에서는, p 는 4인 것이 바람직하다. 따라서, 본 예에서, 갭 (832)은 4개의 프레임 보다 적지 않고, 그 처리는 단계 (834)로 진행하여, 갭 (832)가 q개의 프레임과 같거나 적은지를 판단하며, 여기서 q는 15인 것이 바람직하다. 이것은, 단계 (836)으로 처리가 진행하는 경우에 해당하고, 여기서 서로 대향하는 기준 세그멘트 (812a)와 후속하는 세그멘트 (812b)의 세그멘트 단부들, 즉 세그멘트 (812a)의 끝 단부 및 후속하는 세그멘트 (812b)의 시작 단부가 단일의 세미톤 영역 내에 또는 인접하는 세미톤 영역들에 존재하는 지를 판단한다. 도 18에는, 이러한 환경을 설명하기 위해, 단계 (818)에서 결정된 바와 같이, 주파수 축 f가 세미톤 영역들로 분할된다. 도시된 바와 같이, 도 18의 경우에, 서로 대향하는 세그멘트 (812a 및 812b)의 세그멘트 단부들이 단일의 세미톤 영역 (838)에 위치된다.
단계 (836)에서 긍정적인 조사의 경우를 위해, 그 처리는 갭 클로징의 범위 내에서 단계 (840)으로 진행하여, 단계 (772)의 인지-관련 스펙트럼에서 진폭 차이가 얼마나, 기준 세그멘트 (812a)의 끝 단부의 위치와 후속하는 세그멘트 (812b)의 시작 단부의 위치에 존재하는 지를 판단한다. 다시 말하면, 수단 (304)는 단계 (840)에서 세그멘트 (812a)의 끝 단부의 위치와 세그멘트 (812b)의 시작 단부의 위치에서의 각각의 인지-관련 스펙트럼 값을 단계 (772)의 인지-관련 스펙트럼에서 조사하고, 2개의 스펙트럼 값의 차이의 절대값을 결정한다. 또한, 수단 (304)는 단계 (840)에서, 그 차이가 소정의 임계값 r 보다 큰지를 판단하며, 이 임계값은 기준 세그멘트 (812a)의 끝 단부에서의 인지-관련 스펙트럼 값의 20% - 40%인 것이 바람직하고, 더욱 바람직하게는 30%이다.
단계 (840)에서의 판정이 긍정적인 결과이면, 갭 클로징은 단계 (842)로 진행한다. 여기서, 수단 (304)는 기준 세그멘트 (812a)의 끝 단부와 후속하는 세그멘트 (812b)의 시작 단부를 직접 결합한 멜로디 매트릭스에서 갭 클로징 라인 (844)을 결정한다. 도 18에 도시된 바와 같이, 갭 클로징 라인은 직선인 것이 바람직하다. 특히, 연결 라인 (844)는 갭 (832)가 연장하는 프레임들을 횡단하는 함 수이고, 이 함수는 하나의 주파수 빈을 이들 프레임 각각에 연계시켜, 멜로디 매트릭스에서 원하는 연결 라인 (844)이 얻어지게 되어 있다.
이 연결 라인을 따라, 수단 (304)는, 인지-관련 스펙트럼에서 갭 클로징 라인 (844)의 주파수 빈과 프레임의 각각의 투펠에서 조사함으로써 단계 (772)의 인지-관련 스펙트럼으로부터 대응하는 인지-관련 스펙트럼 값을 결정한다. 갭 클로징 라인을 따르는 이들 인지-관련 스펙트럼 값을 통하여, 수단 (304)는 평균값을 결정하고, 이를, 단계 (842)의 범위에서 기준 세그멘트 (812a)와 후속하는 세그멘트 (812b)를 따르는 인지-관련 스펙트럼들의 대응하는 평균값과 비교한다. 갭 클로징 라인의 평균값이 기준 또는 후속하는 세그멘트 (812a 또는 812b)의 평균값과 같거나 크다는 비교 결과를 얻으면, 갭 (832)는 단계 (846)에 의해서, 즉, 멜로디 매트릭스 내의 갭 클로징 라인 (844)를 기입하고 그 대응하는 매트릭스 요소를 1로 설정함으로써, 클로징된다. 동시에, 단계 (846)에서, 세그멘트 리스트가 세그멘트 (812a 및 812b)를 하나의 공통 세그멘트로 통합되도록 변경되고, 기준 세그멘트와 후속하는 세그멘트에 대한 갭 클로징이 완료된다.
단계 (830)에서 갭 (832)가 4개의 프레임 길이보다 짧다는 결과를 얻은 경우에, 갭 클로징 라인 (844)에 따른 갭 클로징도 얻어진다. 이 경우에, 단계 (848)에서, 갭 (832)도 클로징되며, 이는 세그멘트 (812a 및 812b)의 대향하는 단부를 연결하는 바람직하게는 직선인 갭 클로징 라인 (844)를 따르는 단계 (846)의 경우와 마찬가지이고, 여기서2개의 세그멘트에 대한 갭 클로징이 완료되어 다음의 후속하는 세그멘트가 존재한다면 이에 대하여 진행된다. 도 16에 도시되지 아니하였지 만, 단계 (848)의 갭 클로징은 단계 (836)에 대응하는 조건, 즉, 2개의 대향하는 세그멘트의 단부가 동일한 세미톤 영역 내지 이웃하는 세미톤 영역에 존재한다는 사실에 의존하여 수행된다.
만약 단계 (834, 836, 840, 및 842) 중의 어느 하나가 부정적인 조사 결과를 나타내면, 기준 세그멘트 (812a)의 갭 클로징은 완료되고, 후속하는 세그멘트 (812b)에 대해 다시 수행된다.
따라서, 갭 클로징 (816)의 결과는, 가능하다면 멜로디 매트릭스 내의 어떤 위치에 갭 클로징 라인을 포함하는 멜로디 라인 또는 세그멘트의 축소된 리스로 되는 것이 가능하다. 상술한 결과에서 알 수 있듯이, 4개의 프레임보다 적은 갭에서는, 이웃하는 세그멘트 사이의 연결 라인이 동일한 세미톤 영역 또는 이웃하는 세미톤 영역에 항상 제공된다.
하모니 매핑 (850)은 갭 클로징 (816)에 후속하여, 잠재적 멜로디 라인 (780)의 결정에 있어서 실수로 사운드의 톤 내지 키 노트를 잘못 결정함으로써 야기된 멜로디 라인의 에러를 제거하기 위해 제공된다. 특히, 하모니 매핑 (850)은 세그멘트 별로 동작하여, 한 옥타브, 1/5, 메이저 1/3으로 갭 클로징 (816)후에 얻어진 멜로디 라인의 개개의 세그멘트를 한 옥타브, 1/5, 또는 메이저 1/3만큼씩 이동시키며, 이에 대해서 상세히 후술한다. 후술하는 바와 같이, 이에 대한 조건은, 주파수내의 세그멘트를 실수로 잘못 이동시키지 않기 위해 그 순서가 엄격하다. 하모니 매핑 (850)은 도 19 및 도 20을 참조하여 다음에 상세히 설명한다.
상술한 바와 같이, 하모니 매핑 (850)은 세그멘트 별로 수행된다. 도 20은, 갭 클로징 (816)후에 얻어진 멜로디 라인의 섹션을 예시적으로 도시한다. 이 멜로디 라인은 도 20에서 도면 부호 852로 지시되어 있고, 도 20의 섹션에는 멜로디 라인 (852)의 3개의 세그멘트, 즉, 세그멘트 (852a 내지 852c)가 도시되어 있다. 멜로디 라인은 멜로디 매트릭스의 트레이스로서 표현될 수 있다. 하지만, 멜로디 라인 (852)는 주파수 빈을 개개의 프레임들 (모든 프레임일 필요는 없음)에 일의적으로 연계시키는 함수이며, 그 트레이스는 도 20에 되어 있는 바와 같다는 것에 유의하여야 한다.
세그멘트 (852a 및 852c) 사이에 존재하는 세그멘트 (852b)는 멜로디 라인 과정에서 컷오프되는 것처럼 되어, 세그멘트 (852a 및 852c)의 결과를 주는 것과 같이 된다. 특히, 본 예에서는, 세그멘트 (852b)가 프레임 갭 없이도 기준 세그멘트 (852a)를 예시적으로 연결되며, 이는 쇄선 (854)으로 지시되어 있다. 마찬가지로, 세그멘트 (852)에 위해 커버된 시간 영역은 세그멘트 (852c)에 의해 커버된 시간 영역과 직접 인접하여야 하며, 이는 쇄선 (856)으로 지시되어 있다.
도 20에서, 멜로디 매트릭스 내에 또는 시간/주파수 표현 내에, 쇄선, 일점 쇄선, 및 2점 쇄선으로 도시된 것은 주파수 축 f 를 따르는 세그멘트 (852b)의 평행 이동의 결과들이다. 특히, 일점 쇄선 (858)은 4개의 세미톤만큼 이동된 것, 즉, 메이저 1/3만큼 고주파 방향으로 세그멘트 (852b)에 이동한 것이다. 쇄선 (858b)는 주파수 방향 f 의 하향 방향으로 12개의 세미톤만큼, 즉, 한 옥타브만큼 이동된 것이다. 이 라인에 대해서, 제3의 라인 (858c)는 일점 쇄선으로 지시되고, 제5의 라인 (858d)는, 라인 (858b)에 대하여 상대적으로 고주파 방향으로 7개의 세 미톤만큼 이동시킨 라인인 이점 쇄선으로 지시되어 있다.
도 20에 도시된 바와 같이, 세그멘트 (852b)는 멜로디 라인 결정 (780)의 범위에서 잘못 결정된 것처럼 되어 있고, 이는 이웃하는 세그멘트 (852a 및 825b)사이에서 한 옥타브만큼 하향으로 이동시킬 때 약간 비정상적으로 삽입될 수도 있다. 따라서, 이러한 주파수 점프가 멜로디에 종종 일어나기 때문에, 이러한 아우트라이어의 이동이 일어났는지 여부를 판정하기 위한 하모니 매핑 (850)이 수행된다.
하모니 매핑 (850)은, 단계 (860)에서 평균값 필터를 이용하여 멜로디 중심 라인의 결정을 하는 것으로 시작한다. 특히, 단계 (860)는, 시간 t의 방향에서 세그멘트들에 걸쳐 일정한 프레임 수를 가진 멜로디 과정 (852)의 슬라딩 형태의 평균값을 계산하는 것을 포함한다. 여기서, 윈도우 길이는 예로서, 상술한 보와 같이, 8ms의 프레임 길이를 가진 18개 내지 120개의 프레임이고, 바람직하게는 100개의 프레임이고, 서로 다른 프레임길이를 가진 다른 개수의 프레임들일 수도 있다. 좀 더 상세히 설명하면, 멜로디 중심 라인의 결정을 위해, 100개의 프레임의 길이를 가진 윈도우가 프레임들의 단위로 시간 축 t 을 따라 이동된다. 이렇게 함으로써, 멜로디 라인 (852)에 의해 필터 윈도우 내에서 프레임들과 연계된 모든 주파수 빈을 평균하고, 그 프레임에 대한 평균값이 필터 윈도우의 중에 기입됨으로써, 도 20의 경우에 계속하는 프레임들에 대한 반복 수행 후에, 멜로디 중심 라인 (862)는 하나의 주파수를 개개의 프레임에 일의적으로 연계시키는 함수가 된다. 멜로디 중심 라인 (862)는 오디오 신호의 시간 영역에 전체에 걸쳐 연장될 수 있고, 이 경우에 필터 윈도우는 악곡의 시작 부분 및 끝 부분에서 "협소화" 되거나, 필터 윈도우 폭의 절반만큼 오디오 신호의 끝 부분과 시작 부분에서 이격된 영역에 걸쳐서만 "협소화"되어야 한다.
후속하는 단계 (864)에서, 수단 (304)는 기준 세그멘트 (852a)가 시간 축 t을 따르는 후속하는 세그멘트 (852b)와 직접 인접하는지 여부를 판단한다. 만약 그러하지 아니하면, 상술한 처리는, 후속하는 세그멘트를 기준 세그멘트로 이용하여 다시 수행된다 (866).
하지만, 도 20의 예에서는, 단계 (864)의 조사가 긍정적인 결과를 주고, 따라서, 그 처리는 단계 (868)로 진행한다. 단계 (868)에서, 후속하는 세그멘트 (852b)는 옥타브 라인, 1/5 라인, 및/또는 1/3 라인 (858a 내지 858d)를 얻기 위해 가상적으로 이동된다. 메이저, 1/3, 1/5, 및 옥타브의 선택은 팝 음악에서 이점이 있는데, 팝 음악은 주로 메이저 코드만이 이용되기 때문이고, 코드의 최고 톤과 최저 톤은 메이저 1/3 + 마이너 /13, 즉, 1/5의 거리를 가지게 된다. 대안으로서, 상술한 처리는 물론, 마이너 1/3 및 메이저 1/3의 코드가 생성되는 마이너 키에도 적용될 수 있다.
단계 (870)에서, 수단 (304)는 단계 (772)의 인지-관련 스펙트럼 내지 등가 볼륨 곡선으로 평가된 스펙트럼을 탐색하여, 기준 세그멘트 (852a) 및 옥타브 라인, 1/5 라인, 및/또는 1/3의 라인 (858a 내지 858d)를 따르는 각각의 최소 인지-관련 스펙트럼 값을 얻는다. 도 20의 예시적 경우에, 결과적으로 5개의 최소값을 얻는다.
이들 최소값은 후속하는 단계 (872)에서, 옥타브 라인, 1/5 라인, 및/또는 1/3의 라인 각각에 대해 결정된 최소값이 기준 세그멘트의 최소값과 소정의 관계를 가지는 지의 여부에 따라, 옥타브 라인, 1/5 라인, 및/또는 1/3의 라인 (858a 내지 858d)줄의 하나를 선택하거나 또는 아무것도 선택하지 않는 데에 이용된다. 특히, 만약 그 최소값이 기준 세그멘트 (852a)의 최소값보다 최대 30%만큼 작으면, 옥타브 라인 (858b)이 라인 (858a 내지 858d)으로부터 선택된다. 그 최소값이 기준 세그멘트 (852a)의 기준 세그멘트 (852a)의 최소값 보다 최소 2.5% 보다 작으면, 1/5 라인 (858d)이 선택된다. 만약 1/3 라인의 대응하는 최소값이 기준 세그멘트 (852a)의 최소값보다 최소 10%보다 크면, 이들 라인 중에서 1/3의 라인 (858c)이 이용된다.
라인 (858a 내지 858d)을 선택하는데 이용된 기준으로서 상술한 값들은 물론, 이들이 팜 음악곡에 매우 양호한 결과를 제공하지만, 이들은 변경될 수도 있다. 또한, 개개의 라인 (858a 내지 858d) 또는 기준 세그멘트의 최소값들을 결정하는 것이 반드시 요구되는 것은 아니며, 예로서 개별적인 평균값이 이용될 수도 있다. 개개의 라인에 대한 기준의 차이를 이용하는 이점은, 멜로디 라인결정 (780)에서 옥타브, 1/5, 또는 1/3의 점프가 실수로 이루어지거나 또는 이러한 점프가 멜로디에서 실제로 요망될 수도 있다는 점이 고려될 가능성이 있다는 점이다.
후속하는 단계 (874)에서, 그 이동이 후속하는 세그멘트 (852b)의 관점에서 멜로디 중심 라인 (862)의 방향으로 지시된다는 조건하에, 어느 하나의 라인이 단계 (872)에서 선택된다면, 수단 (304)은 세그멘트 (852b)를 상기 선택된 라인 (858a 내지 858d)으로 이동시킨다. 도 20에 예시된 경우에 있어서, 1/3 라인 (858a)가 단계 (872)에서 선택되지 않는 한, 상기 후반부의 조건이 만족될 수도 있다.
하모니 매핑 (850) 후에, 단계 (876)에서 비브라토 인식 및 비브라토 밸런스 또는 이퀄라이징이 수행되며, 그 기능은 도 21 및 도 27을 참조하여 더욱 상세히 설명한다.
단계 (876)는, 하모니 매핑 (850)의 결과를 얻을 후에, 멜로디 라인내의 각각의 세그멘트 (878)에 대해 세그멘트 별로 수행된다. 도 22에는, 예시적인 세그멘트 (878)이 확대 도시되어 있고, 그 수평 축은 시간 축에 대응하고, 그 수직 축은 주파수 축에 대응하며, 이는 전술한 도면들에서와 마찬가지이다. 첫 번째 단계 (880)에서, 비브라토 인식 (876)의 범위 내에서, 기준 세그멘트 (878)이 우선 국소적 극값에 대해 조사된다. 이렇게 함으로써, 멜로디 라인 함수 및 그에 따라 관심 세그멘트에 대응하는 부분이 그 세그멘트에 걸쳐 프레임들을 주파수 빈에 매핑시켜 세그멘트 (888)을 생성하는 것이 지시되어 있다. 이 세그멘트 함수는 국소적 극값에 대해 조사된다. 다시 말하면, 단계 (880)에서, 기준 세그멘트 (878)이, 주파수 방향으로 국소적 극값을 가지는 위치, 즉, 멜로디 함수의 구배가 0이 되는 위치에 대해 조사된다. 이들 위치는, 예시적으로 도 22에 수직선 (882)으로 지시되어 있다.
다음의 단계 (884)에서, 극값 (882)의 배치가, 시간 방향에 있어서 이웃하는 국소적 극값 (882)가 소정의 주파수 빈의 개수 (예로서, 도 4를 참조하여 설명된 주파수 분석의 실시예에서는 15 내지 25, 바람직하게는 22개의 주파수 빈의 개수 또는 세미톤 당 대략 2 내 6개의 주파수 빈의 개수)와 크거나, 적거나, 또는 같은 주파수 이격을 포함하는 주파수 빈에 배치되도록 되어 있는지 여부가 판단된다. 도 22에는, 22개의 주파수 빈의 길이가 이중 화살표 886으로 예시적으로 도시되어 있다. 도시된 바와 같이, 극값 (882)는 기준 (884)를 만족시킨다.
후속하는 단계 (888)에서, 수단 (304)는, 이웃하는 극값 (882) 사이에 시간적 거리가 소정의 시간 프레임의 개수보다 적거나 같은지를 조사하며, 여기서 이 소정의 개수는 예로서 21이다.
만약 단계 (888)에서의 조사가 긍정적이면, 즉, 이중 화살표 (890)으로 지시된 도 22에 예의 경우와 같이 21개의 프레임의 길이에 대응하도록 된 경우이면, 단계 (892)에서 극값 (882)의 개수가 소정의 개수 (본 예에서는 5가 바람직함) 보다 크거나 같은지를 조사한다. 이것은 도 22에 예로서 주어진다. 따라서, 만약 단계 (892)에서의 조사가 긍정적이면, 후속하는 단계 (894)에서 기준 세그멘트 (878) 또는 인식된 비브라토가 그 평균값으로 대체된다. 단계 (894)의 결과는 도 22에서 도면 부호 896으로 지시되어 있다. 특히, 단계 (894)에서, 기준 세그멘트 (878)이 현재의 멜로디 라인에서 제거되고 동일한 프레임을 통해 연장하는 기준 세그멘트 (896)에 의해 대체되며, 기준 세그멘트 (878)은, 그 대체된 기준 세그멘트 (878)이 진행하는 주파수 빈의 평균값에 따라 일정한 주파수 빈을 따라 진행한다. 조사 (884, 888, 및 892) 중의 하나의 결과가 부정적이면, 각각의 기준 세그멘트에 대한 비브라토 인식 또는 밸런스는 종료한다.
다시 말하면, 도 21에 따르는 비브라토 인식 및 비브라토 밸런스는, 국소적 극값, 즉 국소적 최소값 및 최대값을 변조 허용 주파수 빈의 개수에 대한 제한 및 극값의 시간적 거리에 대한 제한을 가지고 탐색하는 것을 단계 별로 수행하는 특징 추출에 의해 비브라토 인식을 수행하며, 여기서 적어도 5개의 극값의 일 그룹만이 비브라토 라고 여겨진다.. 인식된 비브라토는 멜로디 매트릭스 내에서 그 평균값으로 대체된다.
단계 (876)의 비브라토 인식 후에, 단계 (898)에서 통계적 보정이 수행되며, 여기서는 멜로디의 짧은 그리고 극단적인 톤 피치의 요동이 기대되지 않는다는 관찰 사실을 고려하고 있다. 단계 (898)에 따른 통계적 보정은 도 23을 참조하여 더욱 상세히 설명된다. 도 23은 비브라토 인식 (876)후에 멜로디 라인 (900)의 선택을 예시적으로 도시한다. 멜로디 라인 (900)의 과정은, 주파수 축 f와 시간 축 t로 전개되는 멜로디 매트릭스에 기입되는 것으로 되어 있다. 통계적 보정 (898)에서, 우선, 하모니 매핑에서의 단계 (860)과 유사하게, 멜로디 라인 (900)의 멜로디 중심 라인이 결정된다. 이 결정을 위하여, 단계 (860)의 경우에서와 같이, 소정의 시간 길이, 즉, 예로서 100개의 프레임의 길이의 윈도우 902가 프레임 별로 시간 축 t을 따라 이동되어, 그 윈도우 (902)내의 멜로디 라인 (900)에 의해 통과되는 주파수 빈들의 평균값을 프레임 별로 계산하며, 여기서 그 평균값은 주파수 빈으로서 윈도우 (902)의 중이 프레임과 연계되고, 이로써 멜로디 중심 라인의 점 (904)가 결정되게 된다. 결과적인 멜로디 중심 라인은 도 23에서 도면 부호 906으로 지시되어 있다.
다음에, 도 23에 도시되지 아니한 제2 윈도우가 시간 축 t를 따라 프레임별 로 이동되며, 제2 윈도우는 예로서 170개의 프레임의 윈도우 길이를 포하고 있다. 멜로디 중심 라인 (906)에 대한 멜로디 라인 (900)의 (프레임 당) 표준 편자가 결정된다. 그 결과적인 프레임당 표준 편차에, 2가 승산되고 1개의 빈이 보충된다. 다음에, 이 값은 각각의 프레임에 대하여, 그 프레임에서 멜로디 중심 라인 (902)를 통과하는 각각의 주파수 빈에 가산되고 또한 그로부터 감산되어, 상측 및 하측 표준 편차 라인 (908a 및 908b)를 얻는다. 2개의 표준 편차 라인 (908a 및 908b)는 이들 사이의 허용 영역 (910)을 정의한다. 통계적 보정 (898)의 범위에서, 멜로디 라인 (900)의 모든 세그멘트는 제거되어 허용 영역 (910)의 외부로 완전히 벗어나게 된다. 통계적 보정 (898)의 결과는, 세그멘트의 개수의 감소로 이어진다.
단계 (898) 후에, 세미톤 매핑 (912)가 수행된다. 세미톤 매핑 (912)은 프레임 별로 수행되고, 단계 (818)의 세미톤 벡터에 대해 세미톤 주파수를 정의하는 데에 이용된다. 세미톤 매핑 (912)은, 단계 (898)로부터 얻어진 멜로디 라인이 존재하는 각각의 프레임에 대해, 세미톤 영역중의 어느 것에 주파수 빈이 존재하는 지, 또는 멜로디 라인 중의 어느 것이 그 프레임을 통과하는 지, 또는 어느 주파수 빈에 멜로디 라인 함수가 그 프레임을 매핑하는 지를 조사하도록 하는 기능을 한다. 따라서, 멜로디 라인이 변경되며, 각각의 프레임에서 그 멜로디 라인이 통과했던 주파수 라인이 존재하는 세미톤 배열의 세미톤 주파수에 대응하는 주파수 값으로 변경되도록 한다.
프레임 별로 세미톤 매핑 또는 양자화를 수행하는 대신에, 세그멘트 별로 세미톤 양자화가 수행될 수도 있으며, 이는 세그멘트 당 주파수 평균값이 세미톤 영 역중의 하나에 연계되고, 그래서 상술한 바와 같은 방식으로 그 대응하는 세미톤 영역 주파수에 대해, 주파수로서 대응하는 세그멘트의 전체 시간 길이에 대해 이용된다는 것에 기초한다.
단계 (782, 816, 818, 850, 876, 898, 및 912)는 결국, 도 2의 단계 (760)에 대응한다.
세미톤 매핑 (912) 후에, 세그멘트마다 수행되는 온셋 (onset) 인식 및 보정이 단계 (914)에서 수행된다. 이는 도 24 내지 도 26을 참조하여 상세히 설명한다.
온셋 인식 및 보정 (914)의 목적은, 초기 시점과 관련하여 상세히 설명되는 세미톤 매핑 (912)에 의한 결과인 멜로디 라인의 개개의 세그멘트를 보정 내지 특정하는 것이고, 여기서 그 세그멘트들은 탐색된 멜로디의 개개의 노트들에 점차적으로 증가하도록 대응하고 있다. 이러한 목적으로, 입력 오디오 신호 (302) 내지 단계 (750)에 제공된 것이 이용되고, 이에 대해서는 상세히 후술한다.
단계 (916)에서, 오디오 신호 (302)가, 단계 (912)의 각각의 기준 세그멘트가 양자화되는 세미톤 주파수에 대응하여 대역 통과 필터에 의해 필터링되거나, 또는 각각의 세그멘트의 양자화된 세미톤 주파수가 그들 사이에 존재하는 차단 주파수를 포함하는 대역 통과 필터에 의해 필터링된다. 바람직하게는, 대역 통과 필터는, 고려되는 세그멘트가 위치하는 세미톤 영역의 세미톤 차단 주파수 fu 및 fo에 대응하는 차단 주파수들을 포함하는 것으로서 이용된다. 또한, 바람직하게는, 대 역 통과 필터는, 필터 차단 주파수로서 각각의 세미톤 영역에 연계된 차단 주파수 fu 및 fo를 가진 IIR 대역 통과 필터 또는 도 25에 도시된 전송 함수를 가진 버터워스 (Butterworth) 대역 통과 필터가 이용된다.
계속하여, 단계 (918)에서는, 단계 (916)에서 필터링된 오디오 신호를 2웨이 정류하는 것이 수행되고, 단계 (920)에서는, 단계 (918)에서 얻어진 시간 신호가 내삽되고 그 내삽된 시간 신호는 허밍 필터에 인가되어, 2웨이 정류된 오디오 신호 내지 필터링된 오디오 신호의 포락선이 결정된다.
단계 (916 내지 920)은 도 26을 참조하여 다시 설명한다. 도 26은, 도면 부호 922에 지시된 2-웨이 정류된 오디오 신호를 나타내고, 단계 (918)의 결과의 그래프가 도시되며, 여기서 수평 축은 시간 t이 가상의 단위로 표시되고, 수직 축은 오디오 신호 A의 진폭이 가상의 단위로 표시되어 있다. 이 그래프에서, 포락선 (924)는 단계 (920)의 결과를 나타낸다.
단계 (916 내지 920)은 포락선 (924)를 생성할 가능성만을 나타내고 있지만, 이는 물론 변경할 수 있다. 오디오 신호에 대한 포락선 (924)은, 모든 세미톤 주파수에 대해서 또는 현재의 멜로디 라인의 세그멘트 내지 세그멘트들이 배열되어 있는 세미톤 영역에 대해서 생성된다. 포락선 (924) 각각에 대하여, 도 24의 후속하는 단계들이 수행된다.
우선, 단계 (926)에서, 잠재적 초기 시점이 결정되는데, 이는 포락선 (924)이 국소적으로 최대로 증가하는 위치이다. 다시 말하면, 포락선 (924)의 변곡점이 단계 (926)에서 결정된다. 그 변곡점의 시점이, 도 26의 경우에 수직 선 (928)으로 도시되어 있다.
후속하여, 그 결정된 잠재적 초기 시점 내지 잠재적 기울기의 평가를 위해, 그 전처리로서 시간 해상도 까지 다운 샘플링하는 것이 수행되며, 가능하다면, 도 24에 도시되지 아니한 단계 (926)의 범위에서 수행된다. 단계 (926)에서 모든 잠재적 초기 시점 내지 변곡점이 결정되어야 한다는 것은 아님을 유의하여야 한다. 또한, 모든 결정된 또는 확립된 잠재적 초기 시점들이 후속하는 처리에 반드시 공급될 필요는 없다. 오히려, 포락선 (924)의 결정에 내재된 세미톤 영역에 배열된 멜로디 라인의 세그멘트 중의 하나에 대응하는 시간 영역 내 또는 그 전에 시간적으로 근접하게 배열된, 잠재적 초기 시점으로서의 변곡점들만을 확립하거나 처리하는 것도 가능하다.
단계 (928)에서, 잠재적 초기 시점에 대응하는 세그멘트의 시작 전에 위치하는 잠재적 초기 시점에 대해 유효성이 있는지를 조사한다. 만약 그러하다면, 그 처리는 단계 (930)으로 진행한다. 만약 그렇지 아니하면, 즉, 잠재적 초기 시점이 기존의 세그멘트의 시작 이후에 위치한다면, 단계 (928)가 다음의 잠재적 초기 시점에 대해 반복되거나, 단계 (926)가 다른 세미톤 영역에 대해 결정된 다음의 포락선에 대해 수행되거나, 온셋 인식 및 보정이 다음의 세그멘트에 대해 세그멘트 별로 수행된다.
단계 (930)에서, 잠재적 초기 시점이 대응하는 세그멘트의 시작 전에 x개의 프레임 보다 많은지를 판단하며, 여기서 x는 예로서 8과 12 사이이고, 바람직하게 는 8ms의 프레임 길이를 가진 10이고, 다른 프레임 길이에 대한 값들도 따라서 변경되어야 한다. 만약 그러하지 아니다면, 즉, 잠재적 초기 시점 또는 그 결정된 초기 시점이 관심 세그멘트 전의 10개의 프레임까지로 되면, 단계 (932)에서 잠재적 초기 시점과 이전의 세그멘트 시작점 사이의 갭이 클로징되거나, 이전의 세그멘트의 시작점이 그 잠재적 초기 시점에 연결된다. 이러한 목적으로, 가능하다면, 이전의 세그멘트는 단축되고, 그 세그멘트의 단부는 잠재적 초기 시점의 이전의 프레임으로 변경된다. 다시 말하면, 단계 (932)는, 2개의 세그멘트가 중첩하는 것을 방지하기 위하여, 잠재적 초기 시점까지 전방으로 기준 세그멘트를 연장하는 것과, 이전의 세그멘트를 그 끝 단부에서 가능하면 단축시키는 것을 포함한다.
하지만, 단계 (930)의 조사에 의해 잠재적 초기 시점이 그 대응하는 세그멘트의 시작점의 전방으로 x개의 프레임 보다 가깝다는 것이 지시되면, 단계 (934)에서 그 잠재적 초기 시점에 대한 최초로 단계 (934)가 수행될 것인지를 판단한다. 만약 이 경우가 아니면, 잠재적 초기 시점 및 그에 대응하는 세그멘트에 대한 처리는 종료하고, 온셋 인식의 처리가 다른 잠재적 초기 시점에 대한 단계 (928) 또는 다른 포락선에 대한 단계 (926)으로 진행한다.
하지만, 만약 그렇지 아니하면, 단계 (936)에서 관심 세그멘트의 이전의 세그멘트의 시작점이 전방의 가상적으로 이동된다. 이러한 목적으로, 세그멘트의 가상적 이동된 초기 시점에 위치하는 인지-관련 스펙트럼 값이, 인지-관련 스펙트럼에서 탐색된다. 인지-관련 스펙트럼내의 이들 인지-관련 스펙트럼 값의 감소가 어떤 값을 초과하면, 그 초과가 발생한 프레임이 임시적으로 기준 세그멘트의 세그멘 트 시작점으로서 이용되고, 단계 (930)이 다시 반복된다. 만약 잠재적 초기 시점이 그 대응하는 세그멘트에 대해 단계 (936)에서 결정된 세그멘트 시작점 전방으로 x개의 프레임보다 크지 않으면, 전술한 바와 같이, 단계 (932)에서 갭이 클로징된다.
결국, 온셋 인식 및 보정 (914)의 효과는, 임시적 연장과 관련하여 현재의 멜로디 라인에서 개개의 세그멘트가 변경되는 것, 즉, 전방측이 신장되고 후방측이 단축되는 것이다.
단계 (914)후에, 길이 세그멘트화 (938)이 수행된다. 길이 세그멘트화 (938)에서는, 세미톤 주파수에 존재하는 세미톤 매핑 (912)에 의한 멜로디 매트릭스내의 수평 선으로 발생하는 멜로디 라인의 모든 세그멘트가 스캐닝되고, 이들 세그멘트는 소정의 길이 보다 짧은 멜로디 라인으로부터 제거된다. 예를 들면, 10 내지 14개의 프레임, 바람직하게는 12개의 프레임보다 적고, 8ms의 프레임 길이 보다 큰, 세그멘트가 제거되고, 이는 프레임 개수의 조절에 대응한다. 8ms의 프레임 길이 내지 시간 해상도에서 12개의 프레임은 96ms의 대응하며, 이는 대략 1/64 노트보다 작다.
결과적으로, 단계 (914 및 938)는 도 2의 단계 (762)에 대응한다.
단계 (938)에서 얻어진 멜로디 라인은, 그 개수가 약간 감소된 세그멘트를 포함하고, 이들 세그멘트는 계속하는 프레임의 일정한 개수에 걸쳐 동일한 세미톤 주파수를 엄밀하게 포함하고 있다. 이들 세그멘트는 노트 세그멘트에 일의적으로 연계될 수 있다. 단계 (940)에서의 멜로디 라인은, 도 2의 단계 (764)에 대응하 며, MIDI 파일 내지 노트 표현으로 변환된다. 특히, 길이 세그멘트화 (938) 후의 멜로디 라인에 여전히 존재하는 각각의 세그멘트는, 각각의 세그멘트에서 최초 프레임을 탐색하기 위해, 조사된다. 이 프레임은, 그 세그멘트에 대응하는 노트의 노트 초기 시점을 결정한다. 이 노트에 대하여, 노트 길이가, 그 대응하는 세그멘트가 연장하고 있는 프레임들의 개수로부터 결정된다. 노트의 양자화된 피치는, 단계 (912)에 의해 각각의 세그멘트에서 일정하게 유지되는 세미톤 주파수로부터 유래된다.
수단 (304)를 통과한 MIDI 출력 (914)는, 리듬 수단 (306)이 상술한 동작을 그에 기초하여 수행한 노트 시퀀스로 된다.
도 3 내지 도 26과 관련된 상술한 설명은, 다중음 오디오 곡 (302)의 경우에 대한 수단 (304)에서 멜로디 인식에 관한 것이다. 하지만, 오디오 신호 (302)가 단일음 타입이라는 것이 알려져 있으면, 상술한 바와 같이 벨소리 톤을 생성하기 위해 허밍이나 휘파람의 경우에, 도 3의 처리와 비교하여 약간 변경된 처리가 선호될 수도 있고, 동일한 에러가 원시 오디오 신호 (302)에서의 음악적 단점에 의해 도 3의 처리에 의해 방지될 수도 있다.
도 27은, 도 3의 처리와 비교하여 단일음 오디오 신호를 위해 선호되는 수단 (304)의 대안적인 기능을 도시하고 있고, 이는 기본적으로 다중음 오디오 신호를 위해 적용될 수도 있다.
단계 (782)까지, 도 27에 따른 처리는 도 3의 처리에 대응하며, 이들 단계에 대하여 도 3의 경우에서 이용된 것과 같이 동일 도면 부호가 부여되어 있다.
도 3에 따른 처리와 달리, 단계 (782) 후에, 도 29에 따른 처리에서는, 톤 분리가 단계 (950)에서 수행된다. 도 28을 참조하여 상세히 설명되는 단계 (950)에서의 톤 분리를 수행하는 이유는, 오디오 신호의 스펙트로그램의 주파수/시간 공간의 섹션에 대한 스펙트로그램의 형태를 도시하는 도 29를 참조하여 설명될 수 도 있고, 이로써 주파수 분석 (752)후에 멜로디 라인의 소정의 세그멘트 (952)에 대한 결과가 얻어지고, 키 노트 또는 그 오버톤에 대한 일반적인 세그멘트화 (782)후의 결과가 얻어진다. 다시 말하면, 도 29에서, 예시적인 세그멘트 (952)는 주파수 방향 f을 따라 그 주파수의 정수 배만큼 이동되어, 오버톤 라인을 결정하게 된다. 도 29는, 단계 (752)의 스펙트로그램이 예시적인 값을 초과하는 스펙트럼 값을 포함하고 있는, 기준 세그멘트 (952)의 부분들과 그에 대응하는 오버톤 라인 (954a 내지 954g)를 도시하고 있다.
도시된 바와 같이, 일반적인 세그멘트화 (782)에서 얻어진 기준 세그멘트 (952)의 키 노트의 진폭은 예시된 값을 계속적으로 초과하고 있다. 이렇게 배치된 오버톤만이, 세그멘트의 중앙부분에서의 방해 나타낸다. 비록 세그멘트 (952)의 중앙부분에 노트의 경계 또는 인터페이스가 존재할 지라도, 키 노트의 연속성은, 일반적인 세그멘트화 (782)에서 세그멘트가 2개의 노트로 분할되지 않도록 한다. 이러한 종류의 에러는 단일음 음악에서 현저하게 일어나며, 도 27의 경우에 톤 분리만이 수행된다.
이하, 톤 분리 (950)를 도 22, 도 29, 도 30a, 및 도 30b를 참조하여 상세히 설명한다. 톤 분리는, 주파수 분석 (752)을 통해 얻어진 스펙트로그램이 최고의 다이나믹을 가진 진폭 과정을 포함하고 있는 오버톤 내지 오버톤 라인 (954a 내지 954g)을 탐색하는 단계 (782)에서 얻어진 멜로디 라인에 기초하여 단계 (958)에서 시작한다. 도 30a는, x축이 시간 축t에 대응하고, y축이 오버톤 라인 (954a 내지 954g)에 대한 진폭 과정 (960)과 같은 스펙트로그램의 값 내지 진폭에 대응하는 그래프를 예시적으로 도시한다. 진폭 과정 (960)에 대한 다이나믹은, 진폭 과정 (960)의 최대 스펙트럼 값과 진폭 과정 (960)의 최소 스펙트럼 값의 차이로부터 결정된다. 도 30a는, 오버톤 라인 (450a 내지 450g) 중에서, 모든 진폭 과정 중에서 최대의 다이나믹을 포함하는 스펙트로그램의 진폭 과정을 예시적으로 도시한다. 단계 (958)에서, 바람직하게는 4 내지 15 차수의 오버톤이 고려된다.
단계 (962)에서, 최대의 다이나믹을 가진 진폭 과정에서 이들의 위치는, 국소적 진폭 최소값이 소정의 임계값 아래로 떨어지게 되는 잠재적 분리 위치로 정해진다. 이것은 도 20b에 도시되어 있다. 도 30a 또는 도 30b의 예시적인 경우에서, 국소적 최소를 나타내는 절대 최대값 (964)는, 쇄선 (966)으로 도 30b에서 예시적으로 도시된 임계값 아래로 떨어진다. 결국, 도 30b에는, 단 하나의 잠재적 분리 위치, 즉, 최소점 (964)이 배치된 프레임 또는 시점이 존재하게 된다.
단계 (968)에서, 가능성 있는 여러 개의 분리 위치 중에서, 세그멘트 시작점 (972) 주위의 경계 영역 (970)내에 또는 세그멘트 끝 단부 (976) 주위의 경계 영역 (974)내에 위치하는 것이 추출된다. 나머지 잠재적 분리 위치에 대해서는, 단계 (978)에서, 최소점 (964)의 진폭 최대값과 최소점 (964)에 이웃하는 국소적 극대 점 (980 또는 982)에서의 진폭의 평균값의 차이가 진폭 과정 (960)에서 형성된다. 이 차이는 도 30b에 이중 화살표 (984)로 도시되어 있다.
후속하는 단계 (986)에서, 그 차이 (984)가 소정의 임계값보다 큰지 여부가 판단된다. 만약 그러하지 아니하면, 잠재적 분리 위치에 대한 그리고 가능하다면 고려된 세그멘트 (960)에 대한 톤 분리가 종료된다. 만약 그러하면, 단계 (988)에서, 기준 세그멘트는 잠재적 분리 위치 또는 최소점 (964)에서 2개의 세그멘트로 분리되며, 그 하나는 세그멘트 시작점 (972)로부터 최소점 (964)의 프레임으로 연장하고, 다른 하나는 최소점 (964)의 프레임 또는 그 후속하는 프레임과 그 세그멘트 끝 단부 (976)의 사이에서 연장한다. 따라서, 세그멘트의 리스트가 연장된다. 분리 (988)의 다른 가능성은, 2개의 새로이 생성된 세그멘트 사이의 갭을 제공하게 된다 예를 들면, 이 영역에서, 진폭 과정 (960)은 임계값 아래로 되어 있고, 도 30b에서는 시간 영역 (990)에 걸쳐있다.
단일음 음악에서 주로 발생하는 또 다른 문제는, 개개의 노트에서 후속하는 세그멘트화를 더욱 어렵게 만드는 주파수 요동이 일어난다는 것이다. 이 때문에, 톤 분리 (950)후에 단계 (992)에서, 톤 스무드화가 실행되며, 이는 도 31 및 도 32를 참조하여 더욱 상세히 설명된다.
도 32는 하나의 세그멘트 (994)를 개략적으로 나타내는 확대도이고, 이는 톤 분리 (950)이 이루어진 멜로디 라인에 위치되어 있다. 도 32에는, 세그멘트 (994)가 통과하는 주파수 빈 및 프레임의 투펠 각각에 대하여 숫자가 표시되어 있다. 숫자의 할당은 도 31을 참조하여 더욱 상세히 설명한다. 도시된 바와 같이, 도 32의 예시적인 경우에 세그멘트 (994)는 4개의 주파수 빈과 27개의 프레임에 걸쳐 요 동하고 있다.
톤 스무드화의 목적은, 모든 프레임에 대하여 세그멘트 (994)와 일정하게 연계되도록, 그 세그멘트 (994)가 요동하고 있는 주파수 빈 중의 하나를 선택하는 것이다.
톤 스무드화는, 단계 (996)에서 카운터 변수 (i)를 1로 초기화하는 것으로부터 시작한다. 다음 단계 (998)에서, 카운터 값 (z)는 1로 초기화된다. 카운터 변수 (i)는, 도 32의 좌측에서 우측으로 세그멘트 (994)의 프레임들에 번호를 할당하는 것을 의미한다. 카운터 값 (z)은, 카운터가 단일의 주파수 빈 내에 세그멘트 (994)의 계속하는 프레임들이 얼마나 많이 위치하는 지를 카운트하는 것을 의미한다. 도 32에서, 후속하는 단계들의 이해를 용이하게 하기 위해, z의 값이 도 32의 세그멘트 (994)의 과정을 나타내는 숫자들의 형태로 개개의 프레임에 이미 지시되어 있다.
단계 (1000)에서, 카운터 값 (z)에는, 세그멘트의 i번째 프레임의 주파수 빈에 대한 합산이 누적된다. 세그멘트 (994)가 요동하고 있는 주파수 빈 각각에 대하여, 합산 내지 누적값이 존재한다. 다른 실시예에 따르면, 카운터 값은 인수 f (i)로 가중치가 부여될 수도 있으며, 여기서 인수 f (i)는 i에 따라 연속으로 증가하는 함수로서, 세그멘트의 단부에서 합산될 부분에 더 많은 가중치가 부여되며, 이로써, 과도적인 처리 및 노트의 초기 부분과 비교하여, 음성이 톤이 더욱 잘 동화된다. 도 32에서 수평 축 아래에 괄호 내에는, 이러한 함수 f (i)의 예가 도시되어 있다. 도 32에서, i는 시간에 따라 증가하며 이웃하는 세그멘트의 프레임 중 에서 어떤 프레임이 취해진 그 위치를 나타내고, 시간 축을 따라 짧은 수직선들로 표시된 계속되는 부분에 대한 함수의 계속되는 값들이 그 괄호에서 숫자로 표시되어 있다. 도시된 바와 같이, 이 예시적인 가중 함수는 i에 따라 1부터 2.2까지 증가한다.
단계 (1002)에서, i번째 프레임이 세그멘트 (994)의 마지막 프레임인지를 판단한다. 만약 그렇지 않다면, 단계 (1004)에서, 카운터 변수 (i)는 증가되어, 다음 프레임으로 스킵한다. 후속하는 단계 (1006)에서, 현재의 프레임, 즉, i번째 프레임의 세그멘트 (994)가 동일한 주파수 빈에 존재하는 지, 즉, (i-1)번째 프레임에 존재하는지를 판단한다. 만약 그렇다면, 단계 (1008)에서, 카운터 변수 (z)는 증가되고, 처리는 다시 단계 (1000)로 진행한다. 만약 세그멘트 (994)가 i번째 프레임이고 (i-1)번째 프레임이 동일한 주파수 빈에 존재하지 않는다면, 처리는 단계 (998)로 진행하여 카운터 변수 (z)를 1로 초기화한다.
만약 단계 (1002)에서 i번째 프레임이 세그멘트 (994)의 마지막 프레임이라고 판단되면, 세그멘트 (994)가 존재하는 각각의 주파수 빈에 대한 합산이 도32의 도면 부호 1010로 지시된 바와 같이 얻어진다.
단계 (1002)의 판단에 따라 단계 (1012)에서, 가장 큰 누적 합산 (1010)에 대한 하나의 주파수 빈이 선택된다. 도 32의 예시적인 경우에, 이것은 세그멘트 (994)가 존재하는 4개의 주파수 빈 중에서 도면의 아래에서 두번째에 있는 주파수 빈이다. 단계 (1014)에서, 기준 세그멘트 (994)는, 그 세그멘트 (994)가 존재하는 프레임 각각에 대해 상기 선택된 주파수가 연계되어 있는 세그멘트와 교환함으로 써, 스무드화된다. 도 31의 톤 스무드화는 모든 세그멘트에 대해 세그멘트 단위로 반복된다.
다시 말하면, 톤 스무드화는, 노래의 시작 및 더 낮은 또는 더 높은 주파수로 시작하는 톤의 노래의 개시를 보완하는 기능을 하고, 안정된 상태의 톤의 주파수에 대응하는 톤의 시간적 과정에 걸쳐 그 값을 결정함으로써 이를 용이하게 한다. 진동하는 신호로부터의 주파수 값을 결정하기 위해, 주파수 대역의 모든 요소가 카운트되며, 노트 시퀀스에 위치하는 주파수 대역의 카운트된 모드 요소가 가산된다. 그러면, 그 톤은 노트 시퀀스의 시간에 대한 최고의 합산 값을 가지고 주파수 대역에 표시된다.
톤 스무드화 (992)후에, 계속하여 통계적 보정이 수행되며, 통계적 보정의 성능은 도 3에서 성능, 특히 단계 (898)에서의 성능에 대응한다. 통계적 보정 (1016)후에, 세미톤 매핑 (1018)이 후속되며, 이는 도 3의 세미톤 매핑 (912)에 대응하고, 도 3에서 도면 부호 818에 대응하는 세미톤 벡터 결정 (1020)에서 결정된 세미톤 벡터를 이용한다.
단계 (950, 992, 1016, 1018, 및 1020)는 도 2의 단계 (760)에 대응하게 된다.
세미톤 매핑 (1018)후에, 도 3의 단계, 특히, 단계 (914)에 기본적으로 대응하는 온셋 인식 (1022)가 수행된다. 바람직하게는, 단계 (932)에서, 갭이 다시 클로징되거나 톤 분리 (950)에 의해 부여된 세그멘트가 다시 클로징되는 것이 방지된다.
온셋 인식 (1022) 후에, 오프셋 인식 및 보정 (1024)가 수행되며, 이는 도 32 내지 도 35를 참조하여 더욱 상세히 설명된다. 온셋 인식과는 달리, 오프셋 인식 및 보정은 노트의 종료 시점을 보정하는 역할을 한다. 오프셋 인식 (1024)는 단일음 음악곡의 에코를 방지하는 역할을 한다.
단계 (916)과 마찬가지로 단계 (1026)에서, 우선, 오디오 신호가 그 기준 세그멘트의 세미톤 주파수에 대응하는 대역 통과 필터로 필터링되며, 단계 (918)에 대응하는 단계 (1028)에서, 그 필터링된 오디오 신호가 2-웨이 정류된다. 또한, 단계 (1028)에서, 그 정류된 시간 신호의 해석이 수행된다. 이러한 처리는, 포락선을 근사적으로 결정하기 위한 오프셋 인식 및 보정의 경우에 에 충분하며, 이로써 온셋 인식의 복잡한 단계 (920)가 생략될 수도 있다.
도 34는, x 축을 따라 시간 t가 가상 단위로 표시되고, y축을 따라 진폭 A가 가상 단위로 표시된 그래프를 도시하며, 내삽된 시간 신호는 도면 부호 1030으로 지시되고, 비교를 위해서 단계 (920)의 온셋 인식에서 결정된 포락선이 도면부호 1032로 지시되어 있다.
단계 (1034)에서, 기준 세그멘트에 대응하는 시간 섹션 (1036)에서, 상기 내삽된 시간 신호 (1030)의 최대값이 결정되며, 특히, 최대점 (1040)에서의 상기 내삽된 시간 신호 (1030)의 값이 결정된다. 단계 (1042)에서, 잠재적 노트 종료 시점은, 상기 정류된 오디오 신호가 최대점 (1040) 이후에서 그 최대점 (1040)에서의 값의 소정의 백분율 이하로 떨어지는 시점으로 결정되며, 단계 (1042)에서의 백분율은 15%인 것이 바람직하다. 잠재적 노트 종료 시점은 도 34에서 쇄선 1044로 도 시되어 있다.
후속하는 단계 (1046)에서, 잠재적 노트 종료 시점 (1044)가 세그멘트 종료 시점 (1048)이 후에 존재하는 지를 조사한다. 만약 그렇지 않다면, 도 34에 예시된 바와 같이, 시간 영역 (1036)의 기준 세그멘트는 잠재적 노트 종료 시점 (1044)에서 종료하도록 단축된다. 하지만, 노트 종료 시점이 세그멘트의 종료 시점보다 시간적으로 그 이전이면, 도 35에 도시된 바와 같이, 단계 (1050)에서, 잠재적 노트 종료 시점 (1044)와 세그멘트 종료 시점 (1048)의 시간 차가 현재의 세그멘트 길이의 소정의 백분율 보다 짧은지를 조사하며, 단계 (1050)의 소정의 백분율은 25%인 것이 바람직하다. 조사 (1050)의 결과가 긍정적이면, 잠재적 노트 종료 시점 (1044) 종료하기 위해 기준 세그멘트가 길이 (a)만큼 연장된다 (1051). 후속하는 세그멘트와 중첩되는 것을 방지하기 위해, 단계 (1051)는, 이 경우 또는 후속하는 세그멘트의 시작점까지 (가능하다면 일정한 길이를 두고), 수행되지 않도록 하여 위험한 중첩에 대체할 수도 있다.
단계 (1050)에서 조사가 부정적이면, 오프셋 보정이 수행되지 않고, 단계 (1034) 및 후속하는 단계가 동일한 세미톤 주파수의 다른 기준 세그멘트에 대해서 반복되거나, 다른 세미톤 주파수에 대한 단계 (1026)이 진행된다.
오프셋 인식 (1024)후에, 단계 (1052)에서, 도 3의 단계 (938)에 대응하는 길이 세그멘트화 (1052)가 수행되며, 도 3의 단계 (940)에 대응하는 MIDI 출력 (1054)가 수행된다. 단계 (1022, 1024, 및 1052)은 도 2의 단계 (762)에 대응한다.
도 3 내지 도 35에 대한 전술한 설명을 참조하여, 다음과 같은 유의 점을 설명한다. 본 실시예에서 따르는, 멜로디 추출을 위한 2가지의 처리는, 멜로디 처리를 위한 동작에서 동시에 포함될 필요가 없는 서로 다른 태양을 포함하고 있다. 우선, 기본적으로 단계 (770 내지 774)는, 룩업 테이블의 단일 룩업만을 이용하여 주파수 분석 (752)의 스펙트로그램의 스펙트럼 값을 인지-관련 스펙트럼 값으로 변환함으로써, 결합될 수도 있다는 점에 유의하여야 한다.
기본적으로, 단계 (700 내지 774)를 생략할 수 있으며, 또는 단계 (780)에서 멜로디 라인 결정을 악화시켜 멜로디 추출 방법의 전체적인 결과를 악화시키게 될 수도 있는 단계 (772 및 774)를 생략할 수도 있다.
기본 주파수 결정 (776)에서, Goto의 톤 모델이 사용되었다. 하지만, 다른 톤 모델 내지 오버톤 부분의 가중화의 다른 방법이 이용되어 오디오 신호의 소스에 대해 조절될 수도 있고, 예로서 벨소리 톤 생성의 실시예서는 사용자가 허밍을 결정하는 경우에도 그러하다.
단계 (780)에서 잠재적인 멜로디 라인의 결정에 관하여, 음악 과학에서의 상술한 사실에 따라 각각의 프레임에 대해 최대로 큰 사운드 부분의 기본 주파수만 선택되었지만, 각각의 프레임에 대한 최대로 큰 사운드 부분의 고유의 선택에만 제한되지 않는다는 것에 유의하여야 한다. 마찬가지로, Paive의 경우에는, 잠재적 멜로디 라인 (780)의 결정은 다수의 주파수 빈을 단일의 프레임에 연계시키는 것을 포함할 수 있다. 그 결과, 다수의 궤적의 탐색이 수행될 수 있다. 이것은, 각각의 프레임에 대한 다수의 사운드 내지 다수의 기본 주파수의 선택을 허용한다는 것 을 의미한다. 후속하는 세그멘트화는 부분적으로 다르게 수행되게 할 수도 있고, 특히 다수의 궤적 내지 세그멘트가 고려되거나 탐색될 수도 있어 후속하는 세그멘트화는 그 비용이 약간 높을 수도 있다. 역으로, 이 경우에, 상술한 단계들 내지 서브 단계들 중의 일부가, 시간적으로 중첩되는 궤적을 결정하기 위한 세그멘트화에서 이용될 수도 있다. 특히, 일반적 세그멘트화의 단계 (786, 796, 및 804)는 이 경우에 쉽게 채용될 수 있다. 단계 (806)은, 이 단계가 궤적의 확인 단계 후에 수행된다면, 멜로디 라인이 시간적으로 중첩하는 궤적으로 이루어진 경우에 이용될 수도 있다. 궤적의 확인은, 단계 (810)와 마찬가지로 수행되지만, 그 변형이 수행되어 시간적으로 중첩하는 다수의 궤적이 트레이스될 수도 있다. 또한, 갭 클로징은, 궤적 사이에 시간 갭이 존재하지 않는 그러한 궤적에 대해 마찬가지 방법으로 수행될 수도 있다. 또한, 하모니 매핑은, 시간적으로 직접 연속하는 2개의 궤적 사이에서 수행될 수도 있다. 비브라토 인식 내지 비브라토 보정은, 단일의 궤적에 대해 상술한 비중첩 멜로디 라인 세그멘트와 같이 용이하게 적용될 수도 있다. 또한, 온셋 인식 및 보정은 궤적들에 대해 적용될 수 있다. 이러한 것은, 오프셋 인식 및 보정뿐만 아니라 톤 분리 및 톤 스무드화 그리고 통계적 보정 및 길이 세그멘트화에도 유효하다. 단계 (780)에서의 결정에서 멜로디 라인의 궤적의 시간적 중첩의 허용이 적어도 요구된다면, 실제의 노트 시퀀스 출력 전에, 궤적의 시간적 중첩이 어떤 시점에서는 제거되어야 한다. 도 3 및 도 27을 참조하여 상술된 바와 같은 잠재적 멜로디 라인의 결정의 이점은, 가장 중요한 태양으로서, 조사될 세그멘트의 개수가 일반적 세그멘트화 후에 미리 제한된다는 점이고, 단계 (780)에서 멜로디 라인 결정 자체가 매우 간단하고 양요한 멜로디 추출 내지 노트 시퀀스 생성 내지 트랜스크립션을 얻을 수 있게 한다는 점이다.
일반적 세그멘트화의 상술한 구체예는, 모든 서브 단계 (786, 796, 804, 및 806)를 포함할 필요는 없고, 이들 중의 일부만 선택해서 포함할 수도 있다.
갭 클로징에서, 단계 (840 및 842)에서, 인지-관련 스펙트럼이 이용되었다. 하지만, 기본적으로, 이들 단계에서 주파수 분석으로부터 직접 얻어진 스펙트로그램 또는 대수화된 스펙트럼을 또한 이용할 수 있고, 이들 단계에서 인지-관련 스펙트럼을 이용함으로써 멜로디 추출에서 최선의 결과를 얻을 수 있게 된다. 이들은, 하모니 매핑을 위한 단계 (870)에 대해서도 유효하다.
하모니 매핑과 관련하여, 후속하는 세그멘트의 이동 (868)의 경우에 멜로디 중심 라인의 방향으로만 이동을 수행하도록 하고, 단계 (874)의 제2 조건을 생략될 수도 있음에 유의하여야 한다. 단계 (872)와 관련하여, 옥타브 라인, 1/5 라인, 및/또는 1/3 라인의 서로 다른 라인의 선택에서의 명료함은, 이들에 대한 우선 순위 리스트를 생성하여 (예를 들면, 옥타브 라인을 1/5 라인 전에, 1/5 라인을 1/3 라인 전에 배치함), 동일한 형태의 라인 (옥타브 라인, 1/5 라인, 또는 1/3 라인) 중에서 후속하는 세그멘트의 최초 위치와 근접하는 것을 선택함으로써, 성취될 수 있다는 점에 유의하여 한다.
온셋 인식 및 오프셋 인식과 관련하여, 오프셋 인식 대신에 이용된 내삽된 시간 신호 또는 포락선의 결정도 또한 다른 방식으로 수행될 수 있음에 유의하여야 한다. 기본적으로는, 온셋 인식 및 오프셋 인식에 있어서, 각각의 세미톤 주파수 에서의 전송 특성을 가진 대역 통과 필터로 필터링된 오디오 신호가 이용되어, 그 필터링된 신호의 포락선의 증가로부터 노트의 초기 시점 또는 그 포락선의 감소로부터 종료 시점을 인식할 수 있다.
도 8 내지 도14의 흐름도에 관하여, 이들이 멜로디 추출 수단 (304)의 동작을 도시하고 있다는 점과, 흐름도의 블록에 의해 지시되는 각각의 단계는 수단 (304)의 부분적 수단들에 의해 구현될 수 있다는 점에 유의하여야 한다. 개개의 단계의 구현은, ASIC 회로와 같은 하드웨어 또는 서브루틴과 같은 소프트웨어로 실현될 수 있다. 특히, 이들 도면에서, 블록 내에 기입된 설명은 그 블록에 대응하는 단계를 개략적으로 나타내고, 블록들 간의 화살표는 수단 (304)의 동작에서의 단계들의 순서를 나타낸다.
특히, 본 발명의 기법은 조건에 따라서는 소프트웨어로 구현될 수도 있다는 점에 유의하여야 한다. 이들 구현은, 프로그램 가능한 컴퓨터 시스템과 협동하여, 전자적 판독가능 제어 신호와 함께 디지털 저장 매체, 특히, 플로피 디스크 또는 CD상에서 구현되어, 대응하는 방법이 수행될 수도 있다. 일반적으로, 본 발명은, 기계적 판독가능 반송체에 저장된 발명의 방법을 수행하기 위한 프로그램 코드를 가진 컴퓨터 프로그램 제품에 포함되어, 그 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때 본 발명의 방법이 수행되도록 할 수 있다. 다시 말하면, 본 발명은, 본 프로그램 코트를 가진 컴퓨터 프로그램으로 구현되어, 그 컴퓨터 프로그램이 컴퓨터상에서 실행될 때 본 발명의 방법이 수행되도록 할 수 있다.

Claims (34)

  1. 오디오 신호 (302)에 내재된 멜로디를 추출하는 장치로서,
    상기 오디오 신호 (302)의 시간/스펙트럼 표현을 제공하는 수단 (750);
    인지-관련 시간/스펙트럼 표현을 얻기 위해, 인간의 볼륨 인지를 반영한 등가 볼륨 곡선을 이용하여 상기 시간/스펙트럼 표현을 스케일링하는 수단 (354; 770, 772, 774); 및
    상기 인지-관련 시간/스펙트럼에 기초하여 상기 오디오 신호의 멜로디를 결정하는 수단 (756)을 포함하는, 멜로디 추출 장치.
  2. 제1항에 있어서
    상기 제공하는 수단 (750)은, 복수의 스펙트럼 성분 각각에 대한 스펙트럼 값의 시퀀스를 가진 스펙트럼 대역을 포함하는 시간/스펙트럼 표현을 제공하도록 구성되어 있는, 상기 장치.
  3. 제2항에 있어서
    상기 스케일링하는 수단은,
    음향 압력 레벨을 나타내기 위해 상기 시간/스펙트럼 표현의 상기 스펙트럼 값을 대수화하는 수단 (770)으로서, 이로써 대수화된 시간/스펙트럼 표현이 얻어지는 상기 대수화하는 수단 (770); 및
    상기 인지-관련 시간/스펙트럼 표현을 얻기 위해, 상기 대수화된 시간/스펙트럼 표현의 상기 대수화된 스펙트럼 값을 상기 각각의 값과 이들이 속하는 스펙트럼 성분에 의존하여 인지-관련 스펙트럼 값에 매핑하는 수단 (772)를 포함하는, 상기 장치.
  4. 제3항에 있어서
    상기 매핑하는 수단 (772)은, 상기 등가 볼륨 곡선을 나타내고 대수화된 스펙트럼 값을 음향 압력 레벨을 지시하는 각각의 스펙트럼 성분에 연계시키는 함수들 (774)에 기초하여 상기 매핑을 수행하도록 구성되고, 서로 다른 볼륨에 연계되어 있는, 상기 장치.
  5. 제3항에 있어서
    상기 제공하는 수단 (750)은, 상기 시간/스펙트럼 표현이 각각의 스펙트럼 대역에서 상기 오디오 신호의 시간 섹션의 시퀀스의 각각의 시간 섹션에 대해 스펙트럼 값을 포함하도록 구성되어 있는, 상기 장치.
  6. 제5항에 있어서
    상기 결정하는 수단 (756)은:
    역-대수화된 인지-관련 스펙트럼 값을 가진 역-대수화된 인지-관련 스펙트럼을 얻기 위해 상기 인지-관련 스펙트럼의 상기 스펙트럼을 역-대수화하도록 (776); 그리고
    스펙트럼 사운드 값을 얻기 위해, 상기 시간 섹션 각각 및 상기 스펙트럼 성분 각각에 대해, 상기 스펙트럼 성분 각각의 상기 역-대수화된 인지-관련 스펙트럼 값과 상기 스펙트럼 성분 각각에의 부분적 톤을 나타내는 상기 스펙트럼 성분의 상기 역-대수화된 인지-관련 스펙트럼 값을 합산하여 (776), 시간/사운드 표현을 얻도록; 그리고
    상기 시간 섹션에 대한 합산이 최대의 스펙트럼 사운드 값으로 되도록 상기 스펙트럼 성분을 각각의 시간 섹션에 일의적으로 할당함으로써 멜로디 라인을 생성하도록 (780) 구성되어 있는, 상기 장치.
  7. 제6항에 있어서
    상기 오디오 신호의 상기 멜로디 라인을 결정하는 수단은, 상기 스펙트럼 성분의 상기 역-대수화된 인지-관련 스펙트럼 값과 상기 합산 (780)에서의 상기 스펙트럼 성분에의 부분적 톤을 나타내는 스펙트럼 성분의 상기 역-대수화된 인지-관련 스펙트럼 값에 서로 다른 가중값을 부여함으로써, 고차수의 부분 톤의 상기 역-대수화된 인지-관련 스펙트럼에는 가중 값이 부여되지 않도록 구성되어 있는, 상기 장치.
  8. 제6항에 있어서
    상기 결정하는 수단은, 세그멘트를 얻기 위해 상기 멜로디 라인 (784)를 세 그멘트화 하는 수단 (782, 816, 818, 850, 876, 898, 912, 914, 938; 782, 950, 992, 1016, 1018, 1020, 1022, 1024, 1052)을 포함하도록 구성되어 있는, 상기 장치.
  9. 제8항에 있어서
    상기 세그멘트화하는 수단은, 그 일측에는 상기 스펙트럼 성분이 그 타측에는 시간 섹션이 전재되어 있는, 매트릭스 위치의 멜로디 매트릭스 내에 멜로디 라인이 이진 형태로 나타내진 상태로 상기 멜로디 라인을 프리-필터링하도록 구성되어 있는, 상기 장치.
  10. 제8항에 있어서
    상기 세그멘트화하는 수단은, 프리-필터링 (786)시에 각각의 매트릭스 위치 (792) 대해 인접하는 매트릭스 위치로의 그 엔트리를 합산하고, 그 결과 정보를 임계값과 비교하여 그 비교 결과를 중간 매트릭스의 대응하는 매트릭스 위치에 기입하고, 계속하여 상기 멜로디 매트릭스와 상기 중간 매트릭스를 승산하여, 프리-필터링된 형태의 멜로디 라인을 얻도록 구성되어 있는, 상기 장치.
  11. 제7항에 있어서
    상기 세그멘트화하는 수단은, 상기 세그멘트화의 계속적인 일부분 도중에 소정의 스펙트럼 값 (798, 800)의 밖에 있는 멜로디 라인의 일부를 고려하지 않도록 (796) 구성되어 있는, 상기 장치.
  12. 제11항에 있어서
    상기 세그멘트화하는 수단은, 상기 소정의 스펙트럼 범위가 50Hz - 200Hz 내지 1,000Hz 내지 1,200Hz가 되도록 구성되어 있는, 상기 장치.
  13. 제8항에 있어서
    상기 세그멘트화하는 수단은, 상기 대수화된 시간/스펙트럼 표현의 최대의 대수화된 스펙트럼 값의 소정의 백분율보다 작은 대수화된 스펙트럼 값을 상기 대수화된 시간/스펙트럼 표현이 포함하고 있는 상기 멜로디 라인의 일부를 상기 세그멘트화의 일부에서 고려하지 않도록 (804) 구성되어 있는, 상기 장치.
  14. 제8항에 있어서
    상기 세그멘트화하는 수단은, 상기 멜로디 라인에 따라 이웃하는 시간 섹션과 연계된 소정의 개수 보다 적은 스펙트럼 성분의 서로 간의 거리가 세미톤 거리 보다 짧게 되어 있는 상기 멜로디 라인의 부분들을 상기 세그멘트화의 일부에서 고려하지 않도록 (806) 구성되어 있는, 상기 장치.
  15. 제11항에 있어서
    상기 세그멘트화 하는 수단은, 상기 고려되지 않은 부분들에 의해 단축된 상 기 멜로디 라인 (812)를 세그멘트들 (812a, 812b)로 분할함으로써, 상기 세그멘트의 개수가 가능하면 짧게 되도록 하고, 세그멘트의 이웃하는 시간 섹션들이 그 길이가 소정의 길이보다 짧은 상기 멜로디 라인을 따르는 스펙트럼 성분들에 연계되도록 구성되어 있는, 상기 장치.
  16. 제15항에 있어서
    상기 세그멘트화하는 수단은,
    갭 (832)가 시간 섹션 (830)의 제1 개수보다 적은 경우이고, 동일한 세미톤 영역 (838) 내에 또는 인접하는 세미톤 영역 (836)내에 있는 스펙트럼 성분들이 상기 이웃하는 세그멘트 중의 하나에 가장 근접한 이웃하는 세그멘트 (812a, 812b)의 시간 섹션들에 멜로디 라인에 의해 연계되는 경우에, 상기 이웃하는 세그멘트로부터 하나의 세그멘트를 얻기 위해 상기 이웃하는 세그멘트 (812a, 812b) 사이에 상기 갭 (832)를 클로징하고 (816);
    동일한 세미톤 영역 (838)내에 또는 인접한 세미톤 영역 (836) 내에 있는 스펙트럼 성분들이 있는 상기 이웃하는 세그멘트 (812a, 812b) 중의 하나에 가장 근접하는 상기 이웃하는 세그멘트 (812a, 812b)의 시간 섹션들에 상기 멜로디 라인에 의해 연계되는 경우이고,
    상기 시간 섹션에서 상기 인지-관련 스펙트럼 값들이 상기 소정의 임계값보다 적은 값만큼 서로 다른 경우이고 (840),
    상기 이웃하는 세그멘트 (812a, 812b) 사이의 연결 라인 (844)을 따르는 모 든 인지-관련 스펙트럼 값에 대한 평균값이 2개의 이웃하는 세그멘트 (842)를 따르는 상기 인지-관련 스펙트럼 값들에 대한 평균값보다 크거나 같은 경우에,
    상기 갭이 (836)이 상기 시간 섹션의 제1 개수 (834)보다 많거나 같고 상기 제1 개수보다 많은 시간 섹션의 제2 개수보다 적은 때에, 상기 갭 (836)을 클로징하도록 구성되어 있는, 상기 장치.
  17. 제16항에 있어서
    상기 세그멘트화하는 수단은, 상기 멜로디 라인에 따라 상기 시간 섹션에 가장 자주 연계되는 상기 스펙트럼 성분 (826)을 상기 세그멘트화의 범위 내에서 결정하도록, 그리고 상기 세미톤 영역 (828)을 정의하는 세미톤 경계에 의해 서로 분리된 세미톤들의 일 세트를 상기 스펙트럼 성분에 대해 상대적으로 결정하도록 (824) 구성되어 있는, 상기 장치.
  18. 제16항에 있어서
    상기 세그멘트화하는 수단은 직선인 연결 라인 (844)에 의해 상기 갭의 클로징을 수행하도록 구성되어 있는, 상기 장치.
  19. 제15항에 있어서
    상기 세그멘트화하는 수단은,
    옥타브 라인, 1/5 라인, 및/또는 1/3 라인을 얻기 위해, 상기 스펙트럼 방향 으로 그들 사이에 시간 섹션이 없는 상기 세그멘트들의 기준 세그멘트 (852a)에 직접 이웃하는 (864) 세그멘트의 후속하는 세그멘트 (852b)를 임시적으로 이동시키도록 (868), 그리고
    상기 기준 세그멘트 (852a)를 따르는 상기 인식-관련 스펙트럼 값 중의 최소값이 상기 옥타브 라인, 1/5 라인, 및/또는 1/3 라인을 따르는 상기 인식-관련 스펙트럼 값의 최소값과 소정의 관계를 가지는지 여부에 따라 상기 옥타브 라인, 1/5 라인, 및/또는 1/3 라인중의 하나를 선택하거나 아무것도 선택하지 않도록 (872), 그리고
    상기 옥타브 라인, 1/5 라인, 및/또는 1/3 라인이 선택되면 상기 후속하는 세그멘트를 상기 선택된 옥타브 라인, 1/5 라인, 및/또는 1/3 라인으로 이동시키도록 (874) 구성되어 있는, 상기 장치.
  20. 제15항에 있어서
    상기 세그멘트화하는 수단은,
    소정의 세그멘트 (878)에서 상기 멜로디 라인의 모든 국소적 극값 (882)를 결정하도록; 그리고
    이웃하는 극값들 모두가 제1 소정의 거리 (886)보다 짧은 길이만큼 서로 이격되어 있는 스펙트럼 성분들에 그리고 제2 소정의 거리 (890)보다 짧은 길이만큼 서로 이격되어 있는 시간 섹션들에 배열되어 있는, 상기 결정된 극값중의 이웃하는 극값의 시퀀스를 결정하도록; 그리고
    상기 극값의 시퀀스의 시간 섹션들 및 상기 극값의 시퀀스 사이의 시간 섹션들이, 이들 시간 섹션들에서 상기 멜로디 라인의 상기 스펙트럼 성분들의 평균값에 연계되도록 (894) 상기 소정의 세그멘트 (878)을 변경하도록 구성되어 있는 상기 장치.
  21. 제15항에 있어서
    상기 세그멘트화하는 수단은, 상기 멜로디 라인에 따라 상기 시간 섹션에 가장 자주 연계되는 상기 스펙트럼 성분 (832)를 상기 세그멘트화의 범위에서 결정하도록, 그리고 상기 세미톤 영역을 정의하는 세미톤 경계에 의해 서로 이격되어 있는 세미톤의 세트를 스펙트럼 성분 (832)에 상대적으로 결정하도록 구성되어 있고,
    상기 세그멘트화하는 수단은 상기 세미톤의 세트에 연계되어 있는 상기 스펙트럼 성분을 각각의 세그멘트 내의 각각의 시간 섹션에서 변경하도록 (912) 구성되어 있는, 상기 장치.
  22. 제21항에 있어서
    상기 세미톤의 세트중의 하나가 상기 세그멘트화하는 수단은, 변경될 상기 스펙트럼 성분에 가장 근접하게 되도록 그 세미톤에 대한 변경을 수행하도록 구성되어 있는, 상기 장치.
  23. 제21항에 있어서
    상기 세그멘트화하는 수단은,
    필터링된 오디오 신호를 얻기 위해, 소정의 세그멘트의 공통 세미톤에 대한 전송 특성을 포함하는 대역 통과 필터 (916)로 상기 오디오 신호를 필터링하도록 (922), 그리고
    상기 필터링된 오디오 신호 (922)의 포락선 (924)이 변곡점을 포함하는 시점을 결정하기 위해 상기 필터링된 오디오 신호 (922)를 조사하도록 (918, 920, 926) -상기 시점들은 후보 초기 시점을 나타냄 -; 그리고
    근사적으로 상기 소정의 후보 초기 시점에서 종료하는 연장된 세그멘트를 얻기 위해, 소정의 후보 초기 시점이 상기 제1 세그멘트 (928, 930) 전에 소정의 기간 주기 보다 짧은지 여부에 따라, 상기 소정의 세그멘트를 전방부에서 하나 또는 수개의 시간 섹션 (932)만큼 연장하도록 구성되어 있는, 상기 장치.
  24. 제23항에 있어서
    상기 세그멘트화하는 수단은, 상기 소정의 세그멘트를 연장시킬 (932) 때, 그리고 이로써 하나 또는 수개의 시간 섹션에 걸쳐 상기 세그멘트들의 중첩을 방지할 때, 이전의 세그멘트를 그 전방측에서 단축시키도록 구성되어 있는, 상기 장치.
  25. 제23항에 있어서
    상기 세그멘트화하는 수단은,
    상기 소정의 후보 초기 시점이 상기 제1 소정의 시간 간격보다 긴 기간만큼 상기 소정의 세그멘트 (930)의 상기 제1 시간 섹션 전에 있는지 여부에 따라, 소정의 구배 (936) 보다 긴 시간만큼 단축시키기 위해, 상기 후보 초기 시점의 방향으로 상기 소정의 세그멘트의 연장을 따라 상기 인지-관련 시간/스펙트럼 표현에서 상기 인지-관련 시간/스펙트럼 값을 가상의 시점까지 트레이스하도록, 그리고
    상기 소정의 후보 초기 시점이 상기 제1 소정의 시간 간격보다 긴 기간만큼 상기 가상 시점 전에 있는지 여부에 따라, 근사적으로 상기 소정의 후보 초기 시점에서 종료하는 상기 연장된 세그멘트를 얻기 위해 하나 또는 수개의 시간 섹션만큼 상기 소정의 세그멘트를 전방측에서 연장시키도록 (932) 구성되어 있는, 상기 장치.
  26. 제23항에 있어서
    상기 세그멘트화하는 수단은, 상기 필터링, 상기 결정, 및 상기 보충을 수행한 후에 소정의 개수의 시간 섹션보다 짧은 세그멘트 (938)을 폐기하도록 구성되어 있는, 상기 장치.
  27. 제1항에 있어서
    상기 세그멘트를 노트로 변환하는 수단 (940)을 더 포함하고,
    상기 변환하는 수단은, 상기 세그멘트의 상기 제1 시간 섹션에 대응하는 노트 초기 시점, 시간 섹션 지속 기간이 승산된 상기 세그멘트의 상기 시간 섹션의 개수에 대응하는 노트 지속 기간, 및 상기 세그멘트가 통과하는 상기 스펙트럼 성 분들의 평균값에 대응하는 톤 피치를 각각의 세그멘트에, 할당하도록 구성되어 있는, 상기 장치.
  28. 제15항에 있어서
    상기 세그멘트화하는 수단은,
    상기 세그멘트의 소정의 세그멘트 (952)에 대한 오버톤 세그멘트 (954a - 954g)를 결정하도록, 그리고
    상기 오디오 신호의 상기 시간/스펙트럼 표현이 최대의 다이나믹을 가지는 상기 오버톤 세그멘트 중의 상기 톤 세그멘트를 결정하도록 (958), 그리고
    상기 소정의 오버톤 세그멘트를 따라 상기 시간/스펙트럼 표현의 상기 과정 (960)에서 최소값 (964)을 취하도록 (962), 그리고
    상기 최소값이 소정의 조건을 만족시키는 지를 조사하도록 (986), 그리고
    만약 그러하다면, 상기 최소값이 존재하는 상기 시간 섹션에서 소정의 세그멘트를 분리 2개의 세그멘트로 분리하도록 (988) 구성되어 있는, 상기 장치.
  29. 제28항에 있어서
    상기 세그멘트화하는 수단은, 상기 최소값이 소정의 조건을 만족시키는지 여부의 조사에서 얻어진 상기 최소값 (964)을 상기 소정의 오버톤 세그멘트를 따른 상기 시간/스펙트럼 표현의 상기 과정 (960)의 이웃하는 국소적 최대값 (980, 982)의 평균값과 비교하도록 (986), 그리고 상기 비교 결과에 따라 상기 소정의 세그멘 트의 상기 2개의 세그멘트로의 분리를 (988) 수행하도록 구성되어 있는, 상기 장치.
  30. 제15항에 있어서
    상기 세그멘트화하는 수단은,
    소정의 세그멘트 (994)에 대하여 변수 (z)를 상기 세그멘트의 각각의 시간 섹션 (i)에 할당하되, 동일한 스펙트럼 성분이 상기 멜로디 라인에 의해 연계되는 직접 이웃하는 시간 섹션의 모든 그룹에 대해 상기 직접 이웃하는 시간 섹션에 연계된 상기 변수들이 1부터 상기 직접 이웃하는 시간 섹션의 개수까지의 서로 다른 수가 되도록 할당하고, 그리고
    상기 소정의 세그멘트의 시간 세션 중의 하나와 연계된 스펙트럼 성분 각각에 대하여, 상기 동일한 스펙트럼 성분의 시간 섹션이 연계되는 그룹의 개수를 가산하도록 (1000), 그리고
    최대의 합산을 주는 상기 스펙트럼 성분으로서 스무드한 스펙트럼 성분을 결정하도록 (1012), 그리고
    상기 소정의 세그멘트의 시간 섹션 각각에 상기 스무드한 스펙트럼 성분을 연계시킴으로써 상기 세그멘트를 변경하도록 (1014) 구성되어 있는, 상기 장치.
  31. 제15항에 있어서
    상기 세그멘트화하는 수단은,
    필터링된 오디오 신호를 얻기 위해, 소정의 세그멘트의 공통의 세그멘트 중에서의 대역 통과를 포함하는 대역 통고 필터로 상기 오디오 신호를 필터링하도록 (1026); 그리고
    상기 소정의 세그멘트에 대응하는 시간 윈도우 (1036)내의 최대값 (1040)을 상기 필터링된 오디오 신호의 포락선에서 로컬라이징 (1034)을 하도록; 그리고
    소정의 임계값보다 작은 값에 상기 최대값 (1040)후에 상기 포락선이 첫 번째로 떨어지는 시점으로서 잠재적 세그멘트 단부를 결정하도록 (1042); 그리고
    상기 잠재적 세그멘트 단부가 상기 소정의 세그멘트의 실제의 세그멘트 단부 전에 시간적으로 위치하면 (1046), 상기 소정의 세그멘트를 단축하도록 (1049) 구성되어 있는, 상기 장치.
  32. 제31항에 있어서
    상기 세그멘트화하는 수단은,
    상기 잠재적 세그멘트 단부가 상기 소정의 세그멘트의 실제의 세그멘트 단부 전에 시간적으로 위치하면 (1046), 그리고 상기 잠재적 세그멘트 단부 (1044)와 상기 실제의 세그멘트 단부 (1049) 사이의 시간적 거리가 소정의 임계값 (1050)보다 길지 않으면, 상기 소정의 세그멘트를 연장하도록 (1051) 구성되어 있는 상기 장치.
  33. 오디오 신호 (302)에 내재된 멜로디를 추출하는 방법으로서,
    상기 오디오 신호 (302)의 시간/스펙트럼 표현을 제공하는 단계 (750);
    인지-관련 시간/스펙트럼 표현을 얻기 위해, 인간의 볼륨 인지를 반영한 등가 볼륨 곡선을 이용하여 상기 시간/스펙트럼 표현을 스케일링하는 단계(754; 770, 772, 774); 및
    상기 인지-관련 시간/스펙트럼에 기초하여 상기 오디오 신호의 멜로디를 결정하는 단계(756)을 포함하는, 멜로디 추출 방법.
  34. 제33항에 따른 방법을 수행하기 위한 프로그램 코드를 포함하는 컴퓨터 프로그램으로서, 컴퓨터상에 실행되는 상기 컴퓨터 프로그램.
KR1020077008255A 2004-10-11 2005-09-23 오디오 신호에 내재된 멜로디의 추출 방법 및 장치 KR20070062550A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102004049457.6 2004-10-11
DE102004049457A DE102004049457B3 (de) 2004-10-11 2004-10-11 Verfahren und Vorrichtung zur Extraktion einer einem Audiosignal zu Grunde liegenden Melodie

Publications (1)

Publication Number Publication Date
KR20070062550A true KR20070062550A (ko) 2007-06-15

Family

ID=35462427

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077008255A KR20070062550A (ko) 2004-10-11 2005-09-23 오디오 신호에 내재된 멜로디의 추출 방법 및 장치

Country Status (8)

Country Link
US (1) US20060075884A1 (ko)
EP (1) EP1797552B1 (ko)
JP (1) JP2008516289A (ko)
KR (1) KR20070062550A (ko)
CN (1) CN101076850A (ko)
AT (1) ATE465484T1 (ko)
DE (2) DE102004049457B3 (ko)
WO (1) WO2006039994A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876794B1 (ko) * 2007-04-03 2009-01-09 삼성전자주식회사 이동 단말에서 음성의 명료도 향상 장치 및 방법

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571647A1 (en) * 2004-02-26 2005-09-07 Lg Electronics Inc. Apparatus and method for processing bell sound
DE102004028693B4 (de) * 2004-06-14 2009-12-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Bestimmen eines Akkordtyps, der einem Testsignal zugrunde liegt
DE102004049477A1 (de) * 2004-10-11 2006-04-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur harmonischen Aufbereitung einer Melodielinie
JP4672474B2 (ja) * 2005-07-22 2011-04-20 株式会社河合楽器製作所 自動採譜装置及びプログラム
JP4948118B2 (ja) * 2005-10-25 2012-06-06 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP4465626B2 (ja) * 2005-11-08 2010-05-19 ソニー株式会社 情報処理装置および方法、並びにプログラム
KR101376556B1 (ko) * 2006-01-17 2014-04-02 코닌클리케 필립스 엔.브이. 사이클로스테이션너리 툴박스를 이용하여 잡음에 삽입된텔레비전 신호의 존재 검출
US7705231B2 (en) * 2007-09-07 2010-04-27 Microsoft Corporation Automatic accompaniment for vocal melodies
WO2007119221A2 (en) * 2006-04-18 2007-10-25 Koninklijke Philips Electronics, N.V. Method and apparatus for extracting musical score from a musical signal
US8168877B1 (en) * 2006-10-02 2012-05-01 Harman International Industries Canada Limited Musical harmony generation from polyphonic audio signals
US8283546B2 (en) * 2007-03-28 2012-10-09 Van Os Jan L Melody encoding and searching system
US8140331B2 (en) * 2007-07-06 2012-03-20 Xia Lou Feature extraction for identification and classification of audio signals
CN101398827B (zh) * 2007-09-28 2013-01-23 三星电子株式会社 用于哼唱检索的方法和装置
US9159325B2 (en) * 2007-12-31 2015-10-13 Adobe Systems Incorporated Pitch shifting frequencies
US20090193959A1 (en) * 2008-02-06 2009-08-06 Jordi Janer Mestres Audio recording analysis and rating
DE102008013172B4 (de) * 2008-03-07 2010-07-08 Neubäcker, Peter Verfahren zur klangobjektorientierten Analyse und zur notenobjektorientierten Bearbeitung polyphoner Klangaufnahmen
JP5188300B2 (ja) * 2008-07-14 2013-04-24 日本電信電話株式会社 基本周波数軌跡モデルパラメータ抽出装置、基本周波数軌跡モデルパラメータ抽出方法、プログラム及び記録媒体
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US8785760B2 (en) 2009-06-01 2014-07-22 Music Mastermind, Inc. System and method for applying a chain of effects to a musical composition
US9293127B2 (en) * 2009-06-01 2016-03-22 Zya, Inc. System and method for assisting a user to create musical compositions
US8779268B2 (en) 2009-06-01 2014-07-15 Music Mastermind, Inc. System and method for producing a more harmonious musical accompaniment
US9310959B2 (en) 2009-06-01 2016-04-12 Zya, Inc. System and method for enhancing audio
US9177540B2 (en) 2009-06-01 2015-11-03 Music Mastermind, Inc. System and method for conforming an audio input to a musical key
US9257053B2 (en) 2009-06-01 2016-02-09 Zya, Inc. System and method for providing audio for a requested note using a render cache
US9251776B2 (en) 2009-06-01 2016-02-02 Zya, Inc. System and method creating harmonizing tracks for an audio input
US9299362B2 (en) * 2009-06-29 2016-03-29 Mitsubishi Electric Corporation Audio signal processing device
CN101645268B (zh) * 2009-08-19 2012-03-14 李宋 一种演唱和演奏的计算机实时分析系统
KR101106185B1 (ko) 2010-01-19 2012-01-20 한국과학기술원 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템
US8710343B2 (en) * 2011-06-09 2014-04-29 Ujam Inc. Music composition automation including song structure
CN103915093B (zh) * 2012-12-31 2019-07-30 科大讯飞股份有限公司 一种实现语音歌唱化的方法和装置
US8927846B2 (en) * 2013-03-15 2015-01-06 Exomens System and method for analysis and creation of music
US10133537B2 (en) 2014-09-25 2018-11-20 Honeywell International Inc. Method of integrating a home entertainment system with life style systems which include searching and playing music using voice commands based upon humming or singing
CN104503758A (zh) * 2014-12-24 2015-04-08 天脉聚源(北京)科技有限公司 一种生成动感音乐光圈的方法及装置
US9501568B2 (en) 2015-01-02 2016-11-22 Gracenote, Inc. Audio matching based on harmonogram
WO2017133213A1 (zh) * 2016-02-01 2017-08-10 北京小米移动软件有限公司 指纹识别方法和装置
CN107203571B (zh) 2016-03-18 2019-08-06 腾讯科技(深圳)有限公司 歌曲旋律信息处理方法和装置
CN107301857A (zh) * 2016-04-15 2017-10-27 青岛海青科创科技发展有限公司 一种给旋律自动配伴奏的方法及系统
CN107039024A (zh) * 2017-02-10 2017-08-11 美国元源股份有限公司 乐谱数据处理方法及装置
CN107123415B (zh) * 2017-05-04 2020-12-18 吴振国 一种自动编曲方法及系统
US11282407B2 (en) 2017-06-12 2022-03-22 Harmony Helper, LLC Teaching vocal harmonies
US10192461B2 (en) * 2017-06-12 2019-01-29 Harmony Helper, LLC Transcribing voiced musical notes for creating, practicing and sharing of musical harmonies
IL253472B (en) 2017-07-13 2021-07-29 Melotec Ltd Method and system for performing melody recognition
WO2020094263A1 (en) 2018-11-05 2020-05-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and audio signal processor, for providing a processed audio signal representation, audio decoder, audio encoder, methods and computer programs
CN112259063B (zh) * 2020-09-08 2023-06-16 华南理工大学 一种基于音符瞬态字典和稳态字典的多音高估计方法
CN112258932B (zh) * 2020-11-04 2022-07-19 深圳市平均律科技有限公司 一种乐器演奏辅助练习装置、方法及系统
SE544738C2 (en) * 2020-12-22 2022-11-01 Algoriffix Ab Method and system for recognising patterns in sound
CN113537102B (zh) * 2021-07-22 2023-07-07 深圳智微电子科技有限公司 一种微震信号的特征提取方法
CN114007166B (zh) * 2021-09-18 2024-02-27 北京车和家信息技术有限公司 定制声音的方法及装置、电子设备和存储介质
CN115472143A (zh) * 2022-09-13 2022-12-13 天津大学 一种调性音乐音符起始点检测与音符解码方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04220880A (ja) * 1990-12-21 1992-08-11 Casio Comput Co Ltd 量子化装置
JP2558997B2 (ja) * 1991-12-03 1996-11-27 松下電器産業株式会社 ディジタルオーディオ信号の符号化方法
DE19526333A1 (de) * 1995-07-17 1997-01-23 Gehrer Eugen Dr Verfahren zur Erzeugung von Musik
DE19710953A1 (de) * 1997-03-17 1997-07-24 Frank Dr Rer Nat Kowalewski Verfahren und Vorrichtung zur Erkennung von Schallsignalen
JP3795201B2 (ja) * 1997-09-19 2006-07-12 大日本印刷株式会社 音響信号の符号化方法およびコンピュータ読み取り可能な記録媒体
JP4037542B2 (ja) * 1998-09-18 2008-01-23 大日本印刷株式会社 音響信号の符号化方法
JP4055336B2 (ja) * 2000-07-05 2008-03-05 日本電気株式会社 音声符号化装置及びそれに用いる音声符号化方法
CN100354924C (zh) * 2000-12-05 2007-12-12 娱乐技术有限公司 使用演奏乐器的声音信息的音乐分析方法
WO2002054715A2 (en) * 2000-12-28 2002-07-11 Koninklijke Philips Electronics N.V. Programming of a ringing tone in a telephone apparatus
JP2002215142A (ja) * 2001-01-17 2002-07-31 Dainippon Printing Co Ltd 音響信号の符号化方法
WO2003005242A1 (en) * 2001-03-23 2003-01-16 Kent Ridge Digital Labs Method and system of representing musical information in a digital representation for use in content-based multimedia information retrieval
DE10117870B4 (de) * 2001-04-10 2005-06-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Überführen eines Musiksignals in eine Noten-basierte Beschreibung und Verfahren und Vorrichtung zum Referenzieren eines Musiksignals in einer Datenbank
US7328153B2 (en) * 2001-07-20 2008-02-05 Gracenote, Inc. Automatic identification of sound recordings
US8050874B2 (en) * 2004-06-14 2011-11-01 Papadimitriou Wanda G Autonomous remaining useful life estimation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100876794B1 (ko) * 2007-04-03 2009-01-09 삼성전자주식회사 이동 단말에서 음성의 명료도 향상 장치 및 방법
US8019603B2 (en) 2007-04-03 2011-09-13 Samsung Electronics Co., Ltd Apparatus and method for enhancing speech intelligibility in a mobile terminal

Also Published As

Publication number Publication date
WO2006039994A2 (de) 2006-04-20
ATE465484T1 (de) 2010-05-15
DE502005009467D1 (de) 2010-06-02
WO2006039994A3 (de) 2007-04-19
CN101076850A (zh) 2007-11-21
EP1797552A2 (de) 2007-06-20
DE102004049457B3 (de) 2006-07-06
EP1797552B1 (de) 2010-04-21
US20060075884A1 (en) 2006-04-13
JP2008516289A (ja) 2008-05-15

Similar Documents

Publication Publication Date Title
KR20070062550A (ko) 오디오 신호에 내재된 멜로디의 추출 방법 및 장치
Marolt A connectionist approach to automatic transcription of polyphonic piano music
Moorer On the segmentation and analysis of continuous musical sound by digital computer.
KR20070062551A (ko) 오디오 신호에 내재된 멜로디의 추출
Ikemiya et al. Singing voice analysis and editing based on mutually dependent F0 estimation and source separation
Gillet et al. Transcription and separation of drum signals from polyphonic music
Brown et al. Perceptual grouping of musical sounds: A computational model
Klapuri et al. Robust multipitch estimation for the analysis and manipulation of polyphonic musical signals
US20060075881A1 (en) Method and device for a harmonic rendering of a melody line
Lehner et al. Online, loudness-invariant vocal detection in mixed music signals
CN107851444A (zh) 用于将声学信号分解为声音对象的方法和系统、声音对象及其使用
US6951977B1 (en) Method and device for smoothing a melody line segment
Virtanen Audio signal modeling with sinusoids plus noise
Elowsson et al. Modeling music modality with a key-class invariant pitch chroma CNN
Wang et al. Adaptive scattering transforms for playing technique recognition
CN108369803A (zh) 用于形成基于声门脉冲模型的参数语音合成系统的激励信号的方法
Teixeira et al. Ulises: a agent-based system for timbre classification
de la Bandera et al. Humming Method for Content-Based Music Information Retrieval.
Orio A model for human-computer interaction based on the recognition of musical gestures
Carreras et al. Automatic harmonic description of musical signals using schema-based chord decomposition
Driedger Processing music signals using audio decomposition techniques
Klapuri Auditory model-based methods for multiple fundamental frequency estimation
Delgado Castro et al. A note event-based decomposition of polyphonic recordings applied to single-channel audio source separation
Barbedo et al. Empirical methods to determine the number of sources in single-channel musical signals
Yela et al. Shift-invariant kernel additive modelling for audio source separation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application