KR101106185B1 - 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템 - Google Patents

여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템 Download PDF

Info

Publication number
KR101106185B1
KR101106185B1 KR1020100004695A KR20100004695A KR101106185B1 KR 101106185 B1 KR101106185 B1 KR 101106185B1 KR 1020100004695 A KR1020100004695 A KR 1020100004695A KR 20100004695 A KR20100004695 A KR 20100004695A KR 101106185 B1 KR101106185 B1 KR 101106185B1
Authority
KR
South Korea
Prior art keywords
melody
frequency
audio signal
pitch
analysis window
Prior art date
Application number
KR1020100004695A
Other languages
English (en)
Other versions
KR20110085089A (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
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020100004695A priority Critical patent/KR101106185B1/ko
Publication of KR20110085089A publication Critical patent/KR20110085089A/ko
Application granted granted Critical
Publication of KR101106185B1 publication Critical patent/KR101106185B1/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
    • 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/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

본 발명은 여러 음을 가지는 오디오 신호에서 멜로디 추출 방법에 관한 것으로, 해결하고자 하는 기술적 과제는 가요나 오케스트라 같이 여러 음을 가진 음악에서 멜로디 성분만을 추출할 수 있는 방법을 제공하는데 있다.
이를 위해 본 발명은, 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 주파수 분석 단계와, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 멜로디 피치 후보 추출 단계 및 상기 멜로디 피치 후보 추출 단계에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 멜로디 라인 결정 단계를 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 개시한다.

Description

여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템{An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window}
본 발명은 다음 오디오 신호 즉, 여러 음을 가진 오디오 신호에서 멜로디 성분을 추출하기 위한 방법에 관한 것이다.
근래에 오디오 기술, 음악 녹음 기술, 재생 장치 등의 발전에 힘입어 음악의 디지털화가 가능해졌고, 그 결과 매년 새로운 음악들이 증가하고 있는 추세이다.
실제적인 예로, 2001년에는 전세계적으로 한 해 동안 약 30,000 장의 앨범이 발매되었지만, 2007년에는 약 80,000 장의 앨범이 발매되어 그 수가 배 이상으로 증가하였다.
또한, 최근에는 기존의 CD(Compact Disk) 형태의 앨범에서 벗어나 인터넷 상에 앨범을 발매하고 사용자들이 곡을 다운받아 이용하는 디지털 앨범 형식 등 새로운 방식의 앨범으로 많은 음악들이 발매되고 있으며, 발매되는 음반의 수가 증가하는 만큼 새로운 장르와 형식의 음악들도 함께 증가하였다.
그 결과 소비자들은 이전 보다 더 다양한 음악을 접할 수 있게 되었고, 자신의 취향과 관심에 따라 음악 선택의 폭을 높일 수 있게 되었다.
그러나, 음악의 장르와 발매되는 음반의 수가 증가하는 만큼 음악들을 체계적으로 관리하기도 힘들어 지게 되었고, 매일 너무 많은 음악들이 생겨남에 따라 많은 수의 음악들이 사람들이 들어보거나 그 존재를 인식하기도 전에 사라지는 경우도 많게 되었으며, 음반의 수가 증가하는 만큼 표절 등의 문제를 관리하기가 힘들어지게 되었다.
이렇게 점점 늘어가는 다양한 음악들을 효율적으로 이용하고 관리하기 위하여 음악들 간의 서로 다른 특징들을 추출하여 분석할 수 있는 기술의 필요성이 대두되었으며, 이에 따라 많은 기업과 단체들에서 상술한 음악 관리의 문제점을 해결하기 위하여 노래의 제목, 가수, 가수의 성별, 작곡가, 시대, 가사의 내용 등에 관한 정보를 문자 형식 기반의 디지털 정보로 저장하여 관리하여 왔다. 그리고, 이러한 데이터들은 문자 기반의 음악 검색 시스템(Text-Based Music Information Retieval System)을 구축할 수 있는 밑거름을 제공하였다.
하지만, 상술한 문자 기반의 음악 데이터베이스의 경우, 문자 형태로 저장된 음악 정보가 실제로 사람들이 모든 정보를 직접 기입하여 데이터베이스로 구축된다는 점에서 너무 많은 시간과 노력을 필요로 한다는 문제점이 있다.
그리고, 시간이 지날수록 더 많은 음악들이 전 세계적으로 매일같이 쏟아지기 때문에 이에 상응하는 문자 기반 데이터베이스를 구축하기 위해서 더욱 많은 시간과 노력이 필요하게 된다.
이와 같은 문자 기반 데이터베이스의 한계 때문에, 근래에는 음악의 리듬, 분위기, 코드, 멜로디 등의 음악 내용 정보(Music Contents Information)를 자동으로 추출하여 분석하는 시스템에 대한 관심이 높아지고 있으며, 컴퓨터와 음악장비 그리고 음악 해석 기술이 발전함에 따라 자동으로 음악 내용을 해석해주는 시스템에 대한 관심과 가능성이 더욱 높아지고 있다.
상기 음악 내용 정보로는 리듬, 분위기, 코드, 멜로디 등의 요소를 들 수 있는데, 상기 요소 중에서 음악 분석과 해석에 가장 유용하게 다뤄지는 요소는 멜로디이다. 왜냐하면, 사람들이 음악을 듣고 가장 쉽게 그리고 오랫동안 기억하는 부분이 멜로디이며, 멜로디는 음악의 특성을 가장 잘 나타내고, 음악 간의 유사성을 비교하기에도 적합하기 때문이다.
한편, 이러한 멜로디는 기술적으로 명확하게 정의되어 있지 않는데, 일반적으로 통용되는 멜로디의 정의는 다음과 같이 설명될 수 있다.
대부분의 사람들이 여러 가지의 악기나 목소리가 섞인 음악을 듣고 그 음악에 대해 떠올릴 때 모든 악기 소리에 대한 악보를 떠올리기 보다는 특정한 하나의 음의 악보를 떠올리는 경향이 있다. 예를 들어, 가요나 팝송 등과 같이 사람의 노래를 부른 음악의 경우에는 사람이 부르는 음을 잘 기억하고, 여러 악기가 동시에 연주되는 오케스트라 음악의 경우에는 전체 음악을 주도하는 한 악기의 음을 잘 기억하는 경향이 있다. 여기서 사람의 목소리나 주도되는 악기의 음을 일반적으로 멜로디라고 정의할 수 있다.
상술한 바와 같이, 사람들은 어떠한 음악을 듣고 그 음악을 기억할 때 해당 음악의 멜로디만을 기억하는 경향이 있고, 상기 멜로디는 그 음악의 특징들을 가장 잘 나타낼 수 있는 특성이라는 점에서 그 중요성이 더욱 높아진다.
따라서, 오디오 신호에서 이와 같이 중요한 정보를 내포하고 있는 멜로디를 정확하게 추출하고 해석할 필요성이 매우 높다고 할 수 있다.
본 발명은 상기한 바와 같은 과제를 해결하기 위해 발명된 것으로, 멜로디 성분이 하모닉 성분을 가지며 멜로디 성분의 에너지가 가장 두드러진다는 특성을 기반으로 하여, 가요나 오케스트라 같이 여러 음을 가진 음악에서 멜로디 성분만을 추출할 수 있는 방법을 제공하는데 그 목적이 있다.
상기한 바와 같은 목적을 달성하기 위해 본 발명에 따른 멜로디 추출 방법은, 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 주파수 분석 단계와, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 멜로디 피치 후보 추출 단계 및 상기 멜로디 피치 후보 추출 단계에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 멜로디 라인 결정 단계를 포함한다.
먼저, 상기 주파수 분석 단계는, 입력된 여러 음을 가지는 오디오 신호를 리샘플링(Resampling)하는 제 1단계와, 시간 영역(Time Domain) 기준으로 입력된 오디오 신호를 주파수 영역(Frequency Domain) 기준의 신호로 변환하는 제 2단계와, 상기 제 2단계를 통하여 얻어진 각 프레임의 스펙트럼에서 진폭의 피크 값과 상기 피크 값이 나타나는 위치의 주파수 값을 추출하는 제 3단계와, 상기 제 3단계를 통하여 추출된 값들을 바탕으로 각 프레임의 멜로디 피치가 존재하는 범위를 재설정하는 제 4단계와, 상기 제 2단계를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하는 제 5단계와, 상기 제 4단계를 통하여 재설정된 각 프레임의 멜로디 피치가 존재하는 범위에 관한 정보 및 상기 제 5단계를 통하여 추출된 멜로디 피치의 동적 변화 정보를 이용하여 각 프레임에 대응되는 분석 창의 길이를 설정하는 제 6단계와, 고주파수 통과 필터(HPF)를 이용하여 상기 오디오 신호에서 베이스 신호 및 저주파 신호를 제거하는 제 7단계와, 상기 제 7단계를 통하여 고주파수 통과 필터(HPF)를 통과한 상기 오디오 신호를 상기 제 6단계에서 길이가 설정된 각 프레임에 대응되는 분석 창을 이용하여 단시간 푸리에 변환(STFT)하는 제 8단계 및 상기 제 8단계를 통하여 단시간 푸리에 변환(STFT) 오디오 신호를 주파수 영역의 분해능(Resolution)을 높이기 위해 다중비율필터뱅크(Multi-Rate Filter Bank)를 통과시키는 제 9단계를 포함한다.
상기 제 2단계는 고정된 길이의 분석 창(Fixed Length Analysis Window)을 이용한 단시간 푸리에 변환(STFT)을 적용하여 시간 영역 기준으로 입력된 오디오 신호를 주파수 영역 기준의 신호로 변환한다.
상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 주파수 빈의 번호, 이산 푸리에 변환(DFT)의 빈의 개수 및 리샘플링 주파수를 이용하여 추출한다. 상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 하기의 수학식 1에 의해 구할 수 있다.
[수학식 1]
Figure 112010003458364-pat00001
Figure 112010003458364-pat00002
상기 제 4단계는, 상위 K개의 피크 값 및 상기 피크 값이 나타나는 주파수 값을 추출하는 제 1과정과, 상기 제 1과정을 통하여 추출된 피크 값 및 상기 피크 값이 나타는 위치의 주파수 값 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾아 이들을 잠재적인 멜로디 후보로 선정하는 제 2과정과, 상기 제 2과정을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정하기 위하여 상기 잠재적인 멜로디 후보에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 제 1과정을 통하여 추출된 상위 K개의 피크 값 중에서 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 상기 피크 값을 기본 주파수 피크 값에 더하는 방법으로 상기 처음 설정한 멜로디 범위 내에 존재하는 모든 피크 값들에 대해 하모닉 성분을 조사하고 피크 값을 더하는 제 3과정과, 상기 제 3과정을 통하여 더해진 상기 피크 값에 기본 주파수가 낮을수록 작은 값을 곱하고 기본 주파수가 보다 높을수록 보다 높은 값을 곱하여 얻어진 결과 중에서 값이 큰 순서대로 N개의 후보를 찾는 제 4과정 및 상기 제 1과정 내지 제 4과정을 각 프레임마다 적용하여 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아내는 제 5과정을 포함한다.
상기 제 5단계는 상기 제 2단계를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하며, 상기 자기상관계수는 하기의 수학식 2에 의해 구할 수 있다.
[수학식 2]
Figure 112010003458364-pat00003
상기 제 6단계는 각 프레임에 대응되는 분석 창의 길이를 설정하며, 상기 분석 창의 길이는 멜로디 피치 값이 낮고 일정하게 유지될수록 긴 분석 창이, 멜로디 피치 값이 높고 동적 변화가 심할수록 보다 짧은 분석 창이 사용되는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
다음으로, 상기 멜로디 피치 후보 추출 단계는, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호가 입력되면, 입력된 상기 오디오 신호를 단시간 푸리에 변환하(STFT)하는 제 1단계와, 상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하는 제 2단계와, 상기 제 2단계를 통하여 센트(Cent) 단위로 변환된 오디오 신호의 각 프레임마다 피크 지점을 추출하는 제 3단계와, 멜로디 피치 후보들이 내포한 하모닉 구조 모델의 비중(Weight)을 측정하는 제 4단계와, 상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하는 제 5단계 및 각 프레임에서 N개의 멜로디 피치 후보를 추출하는 제 6단계를 포함한다.
상기 제 2단계는 상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하며, 상기 변환은 하기의 수학식 3에 의한다.
[수학식 3]
Figure 112010003458364-pat00004
상기 제 3단계는 상기 제 2단계를 통하여 센트(Cent)로 단위로 변환된 오디오 신호의 각 프레임 마다 피크 지점을 추출하며, 상기 피크 지점은 상기 각 프레임의 지엽적 최대값(Local Maximum Value)이다.
상기 제 4단계는 상기 제 3단계를 통하여 추출된 지엽적 최대값(Local Maximum Value)을 제외한 나머지 부분은 0으로 설정한 단시간 푸리에 변환(STFT) 결과와 하모닉 구조 모델을 내적(Inner Product)하여 기설정된 멜로디 피치 후보들이 하모닉 구조 모델을 얼마나 내포하고 있는지 비중(Weight)을 측정한다.
상기 제 5단계는 상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하며, 상기 보상은 낮은 주파수 영역에는 작은 값을 높은 주파수 영역에는 보다 큰 값을 곱하는 방법으로 수행한다.
상기 제 6단계는 상기 제 5단계를 통하여 보상된 비중(Weight) 정보에 대한 결과를 바탕으로 각 프레임에서 N개의 멜로디 피치 후보를 추출한다.
마지막으로, 상기 멜로디 라인 결정 단계는, 각 프레임에서 N개의 멜로디 피치 후보들과 상기 피치 후보들이 가지는 비중(Weight)에 관한 정보를 입력받는 제 1단계와, 멜로디 라인의 시작 프레임을 설정하는 제 2단계와, 상기 제 2단계를 통하여 설정된 시작 프레임에서 상기 제 1단계에서 입력받은 N개의 멜로디 피치 후보들을 선택하고 이들을 비중(Weight)이 큰 순으로 정렬하는 제 3단계와, 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는지 판정하는 제 4단계와, 상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 멜로디 라인 연결을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보를 선택하는 제 5단계와, 상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하는 제 6단계 및 상기 제 6단계를 통하여 선택된 멜로디 라인에서 돌출된 멜로디 피치 값 또는 잘못된 멜로디 피치 값을 제거 및 수정하는 제 7단계를 포함한다.
상기 제 2단계는 멜로디 라인을 결정하기 위한 첫 번째 프레임을 시작 프레임으로 설정한다.
상기 제 4단계의 멜로디 라인 기준은 멜로디 라인이 가지는 특성을 기반으로 하여 설정되며, 음악의 장르나 특성에 따라 다르게 설정된다.
상기 제 5단계는 상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 첫 번째 후보부터 그 다음 프레임 피치 후보들과 멜로디 라인을 연결한다.
상기 제 5단계는 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결한 경우 이와 같은 방법으로 시작 프레임의 N번째 멜로디 피치까지 멜로디 라인을 연결하여 한 멜로디 라인 구간에서 총 N개의 멜로디 라인을 연결하며, 멜로디 라인이 끝나는 그 다음 프레임을 또 다른 시작 프레임으로 설정하고 상기 제 3단계 내지 제 4단계의 과정을 반복하여 새로운 멜로디 라인 후보를 형성하는 방법으로 N개의 멜로디 라인 후보를 선택한다.
상기 제 6단계는 상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하며, 상기 최적의 멜로디 라인은 멜로디 라인의 피치 값들이 가지는 비중(Weight) 정보를 기준으로 결정한다.
또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 형태로 이용될 수 있다.
또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 멜로디 추출 시스템에 적용될 수 있다.
또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 음악 내용 정보 자동 추출 시스템에 적용될 수 있다.
또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 콘텐츠 기반의 음악 검색 시스템에 적용될 수 있다.
상기한 바와 같이 본 발명에 따른 멜로디 추출 방법에 의하면, 멜로디가 하모닉 모델을 가진다는 특성과 멜로디의 에너지가 다른 소리의 에너지와 비교하여 가장 두드러지게 나타난다는 특성에 기반하여, 여러 음을 가진 오디오 신호에서 멜로디 성분을 추출할 수 있는 효과가 있다.
또한, 본 발명은 멜로디 성분 이외에 다른 신호의 하모닉 성분들과 베이스 신호에 의해 발생하는 하모닉 간섭(Harmonic Interference)과 옥타브(Octave) 불일치의 영향을 줄일 수 있으며, 신뢰할 만한 수준에서 멜로디 성분을 추출할 수 있는 효과가 있다.
이에 따라, 본 발명에 따른 멜로디 추출 방법은, 멜로디 등의 음악 내용 정보를 자동으로 추출하는 시스템 또는 콘텐츠 기반의 음악 검색 시스템(Content-Based Music Information Retrieval System)의 구현이 가능하도록 하는 효과가 있다.
도 1은 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법의 순서도이다.
도 2는 주파수 분석 단계의 각 세부 단계를 도시한 순서도이다.
도 3은 여러 음을 가지는 오디오 신호의 다중비율필터뱅크(Multi-Rate Filter Bank) 통과 과정을 나타내는 순서도이다.
도 4는 멜로디 피치 후보 추출 단계의 각 세부 단계를 도시한 순서도이다.
도 5는 하모닉 구조 모델의 예시를 나타내는 그래프이다.
도 6은 멜로디 라인 결정 단계의 각 세부 단계를 도시한 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 우선, 도면들 중 동일한 구성요소 또는 부품들은 가능한 한 동일한 참조부호를 나타내고 있음에 유의해야 한다. 본 발명을 설명함에 있어서 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하게 하지 않기 위해 생략한다.
본 발명에 따른 멜로디 추출 방법은, 멜로디 성분이 하모닉 특성을 가지며, 멜로디 성분의 에너지가 가장 두드러지게(Dominant) 나타난다는 특성에 기반한다.
그러나, 여러 음을 가지는 다음 오디오 신호에서 신뢰할 만한 결과의 멜로디를 추출하기 위해서 극복해야 할 다양한 문제점들이 존재한다. 그 중에서 가장 대표적인 문제점들은 다음과 같다.
- 하모닉 간섭(Harmonic Interference): 여러 가지 음을 가지는 음악의 경우 여러 악기의 하모닉 성분과 찾고자 하는 멜로디 피치의 하모닉 성분이 서로 간섭을 일으켜 멜로디의 하모닉 성분을 결정하는데 어려움이 있다.
- 옥타브 불일치(Octqve Mismatch): 음악의 경우 특정 음과 그 음의 한 옥타브 높은 음은 기본 주파수가 2배 차이가 난다. 이 경우 하모닉 성분의 많은 부분이 서로 겹치게 되어 멜로디의 피치를 찾고자 할 때 어려움이 발생한다.
- 멜로디의 동적 변화(Dynamic Variation of Melody): 멜로디 피치는 음악의 특성상 기본 주파수의 변화가 발생한다. 즉, 특정 음을 연주하다가 다른 음으로 전환하게 된다. 이렇게 전환되는 구간과 멜로디가 시작되고 끝이 나는 구간에서는 기본 주파수가 빨리 변화하기 때문에 멜로디 피치 주파수를 찾는데 어려움이 있다.
본 발명은 상술한 바와 같은 문제점 속에서도 신뢰할 만한 멜로디 추출이 가능하도록 하는 방법에 관한 것으로서, 도 1에는 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법의 순서도가 도시되어 있다. 도 1에 도시된 바와 같이 본 발명에 따른 멜로디 추출 방법은 크게 주파수 분석 단계(S100), 멜로디 피치 후보 추출 단계(S200) 및 멜로디 라인 결정 단계(S300)을 포함한다. 이하에서 상기 각 단계를 보다 자세하게 설명한다.
상기 주파수 분석 단계(S100)는 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 단계이다. 이러한 주파수 분석 단계(S100)의 각 세부 단계에 관한 순서도는 도 2에 도시하였다.
먼저,제 1단계(S110)는 입력된 여러 음을 가지는 오디오 신호를 분석하기 적합한 형태(Format)로 변환하기 위하여 상기 오디오 신호를 리샘플링(Resampling)하는 단계이다.
본 발명에서는 주파수 도메인(Frequency Domain)의 분해능(Resolution)을 높이기 위해서 다중비율필터뱅크(Multi-Rate Filter Bank)를 사용하는데, 이를 위해서는 샘플링 주파수(Sampling Frequency)를 2의 거듭제곱 킬로헤르쯔(2n kHz, n=자연수) 형태로 변환해야 한다. 따라서 입력된 여러 음을 가지는 오디오 신호를 알맞은 샘플링 주파수를 갖도록 리샘플링(Resampling)해야 한다.
예를 들어, 44.1 kHz의 샘플링 주파수를 가지는 신호는 32 kHz의 샘플링 주파수로 리샘플링 하고, 22.1 kHz의 샘플링 주파수를 가지는 신호는 16 kHz의 샘플링 주파수로 리샘플링 한다.
다음으로, 변화하는 길이를 갖는 분석 창을 이용하여 여러 음을 가지는 오디오 신호를 분석하기 위해서 멜로디 피치(Melody Pitch)가 존재하는 범위를 예측해야 한다. 멜로디 피치가 존재하는 범위를 예측하기 위해서 제 2단계(S120)에서는 시간 영역(Time Domain) 기준으로 입력된 오디오 신호를 주파수 영역(Frequency Domain) 기준의 신호로 변환한다.
이를 위해, 상기 제 2단계(S120)는 고정된 길이의 분석 창(Fixed Lenght Analysis Window)을 이용한 단시간 푸리에 변환(STFT)을 적용하여 시간 영역 기준으로 입력된 오디오 신호를 주파수 영역 기준의 신호로 변환한다.
상기 제 2단계(S120)를 통하여 각 프레임 마다의 스펙트럼(해당 프레임 신호의 주파수 특성 그래프)를 얻을 수 있으므로, 제 3단계(S130)에서는 각 프레임의 스펙트럼에서 진폭이 지엽적 최대값(Local Maximum Value)을 이루는 부분만을 찾아 상기 지엽적 최대값과 지엽적 최대값이 나타나는 부분의 주파수 값을 추출한다.
즉, 상기 제 3단계(S130)에서는 상기 제 2단계(S120)를 통하여 얻어진 각 프레임의 스펙트럼에서 진폭의 피크 값(Peak Value)과 상기 피크 값이 나타나는 위치의 주파수 값을 추출하여 저장하는 것이다.
여기서, 상기 제 3단계(S130)의 상기 피크 값이 나타나는 위치의 주파수 값은 주파수 빈의 번호, 이산 푸리에 변환(Discrete Fourier Transform, DFT)의 빈의 개수 및 리샘플링 주파수를 이용하여 추출할 수 있으며, 상기 피크 값이 나타는 위치의 주파수 값은 하기의 수학식 1에 의해 구할 수 있다.
Figure 112010003458364-pat00005
Figure 112010003458364-pat00006

다음으로, 제 4단계(S140)에서는 상기 제 3단계(S130)를 통하여 추출된 값들을 바탕으로 각 프레임의 멜로디 피치가 존재하는 범위를 재설정하며, 이와 같이 멜로디 피치가 존재하는 범위를 재설정하는 과정은 하기의 제 1과정(S141) 내지 제 5과정(S145)으로 이루어진다.
먼저, 제 1과정(S141)에서는 멜로디의 피크 지점을 구한 뒤 상위 K개의 피크 값 및 상기 피크 값이 나타나는 주파수 값을 추출한다. 여기서, K는 이산 푸리에 변환(DFT)을 하기 위해 사용한 빈의 개수가 작아질수록 그 크기가 작아지지만, 일반적으로 100 ∼ 200개 사이 정도로 설정한다. 그러나, 전체 빈의 개수가 너무 작으면 주파수 도메인에서의 분해능(Resolution)이 낮아져 정확한 피크 지점을 예측하기 힘들기 때문에 전체 빈의 개수는 적당히 크게할 필요가 있다. 일반적으로 32 kHz 샘플링 주파수에서는 전체 빈의 개수를 4096개 이상으로 하는 것이 바람직하다.
다음으로, 상위 K개의 피크 값과 상기 피크 값이 나타나는 위치의 주파수 값을 추출했으면, 이 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾는다. 예를 들어, 처음 멜로디의 범위를 100 Hz ∼ 1200 Hz 사이로 정하면 이 사이에 존재하는 피크를 찾는 것이다. 일반적으로 100 ∼ 150 Hz 이하에서는 베이스 신호들만 존재하고, 대부분의 멜로디 신호는 80 Hz ∼ 1280 Hz의 4옥타브 이내에 존재한다.
즉, 상기 제 2과정(S142)에서는 상기 제 1과정(S141)을 통하여 추출된 피크 값 및 상기 피크 값이 나타나는 위치의 주파수 값 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾아 이들을 잠재적인 멜로디 후보로 선정한다.
다음으로, 상기 제 2과정(S142)을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정해야 한다. 이를 위해 본 발명에서는 멜로디는 하모닉 구조를 가지고, 멜로디 성분의 에너지가 가장 두드러지게 나타난다는 성질을 이용한다.
한편, 멜로디 범위를 재설정하기 위해서는 잠재적인 멜로디 후보들에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 제 1과정(S141)을 통하여 추출된 상위 K개의 피크 값 중에서 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 그 피크 값을 기본 주파수 피크 값에 더한다.
예를 들어, 100 Hz에 해당하는 곳에 피크가 있을 경우 이를 멜로디의 기본 주파수로 설정하고, 멜로디의 하모닉 성분이 위치해야 하는 200 Hz, 300 Hz, 400 Hz, 500 Hz,...,3200 Hz 주위에 피크 값이 존재하는지를 확인한다. 이 경우 하모닉 성분 주파수 근처에 피크가 존재하면 그 피크의 크기를 100 Hz의 피크에 더해주는 것이다. 만약 하모닉 성분이 위치해야 할 주파수 근처에 피크 값이 존재하지 않을 경우 해당 하모닉 성분의 피크는 없다고 간주한다. 상술한 바와 같은 방법으로 처음 설정한 멜로디 범위 내에 존재하는 모든 피크들에 대해서 그 하모닉 성분들을 조사하고 피크 값을 더해준다.
즉, 상기 제 3과정(S143)은 상기 제 2과정(S142)을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정하기 위하여 상기 잠재적인 멜로디 후보에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 상기 피크 값을 기본 주파수 피크 값에 더하는 방법으로 상기 처음 설정한 멜로디 범위 내에 존재하는 모든 피크 값들에 대해 하모닉 성분을 조사하고 피크 값을 더하는 과정을 수행한다.
한편, 멜로디 범위를 재설정하기에 앞서 상술한 바와 같은 멜로디 피크 값 합산 방법에는 문제점이 있다. 그것은 낮은 주파수의 기본 주파수는 많은 수의 하모닉 성분을 가지고, 높은 주파수의 기본 주파수는 적은 수의 하모닉 성분을 가진다는 것이다.
예를 들어, 샘플링 주파수가 32 kHz이고, 기본 주파수가 200 Hz인 경우, 그 하모닉은 400 Hz, 600 Hz, 800 Hz,...,32 kHz에 나타나므로 총 159개의 하모닉이 존재할 수 있다. 반면에, 기본 주파수가 1 kHz인 경우에는 그 하모닉이 2 kHz, 3 kHz, 4 kHz,...,32 kHz로 31개의 하모닉만이 존재할 수 있다.
따라서, 상술한 바와 같은 문제점을 보완하기 위해 제 4과정(S144)에서는 상기 제 3과정(S143)을 통하여 더해진 상기 피크 값에 기본 주파수가 낮을수록 작은 값을 곱해주고, 이와 같이 곱하여 얻어진 결과 중에서 값이 큰 순서대로 N개의 후보를 찾는다.
이는 피크의 합 결과가 클수록 해당 피크의 주파수가 멜로디 기본 주파수일 가능성이 높은 것이기 때문이다. 따라서, 피크 합의 결과를 바탕으로 선택한 N개의 피크 주파수 값은 멜로디 피치 후보가 될 수 있게 된다.
마지막으로, 스펙트럼 피크로부터 기본 주파수와 그 하모닉 성분을 합하는 방법으로 N개의 멜로디 피치 후보를 찾는 방법을 각 프레임 마다 적용한다. 그래서 각 프레임에서 N개의 멜로디 피치 후보를 찾고, 이렇게 각 프레임에서 뽑인 N개의 멜로디 피치 후보들을 이용해서 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아낼 수 있다.
즉, 제 5과정(S145)에서는 상기 제 1과정(S141) 내지 제 4과정(S144)을 각 프레임 마다 적용하여 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아내는 것이다. 그리고, 새롭게 알아낸 멜로디 피치 범위는 처음 설정한 멜로디 범위보다는 더욱 좁은 범위를 가질 수 있다.
한편, 멜로디 피치 범위를 재설정한 다음에는, 멜로디가 갑자기 바뀌는 동적 변화 구간에 대한 분석이 필요하다. 멜로디 동적 변화 영역을 분석하기 위해서는 상기 제 2단계(S120)에서 구한 단시간 푸리에 변환(SFTF) 결과에서 프레임 간의 자기상관계수(Autocorrelation Coefficient)를 파악해야 한다.
이 때, 상기 자기상관계수를 구하기 위해서는 프레임 간의 모든 주파수 빈을 고려하는 것이 아니라 멜로디의 하모닉 성분이 가장 잘 나타나는 영역만을 고려하면 된다. 여기서 주어진 음악 구간에서 가장 낮은 멜로디 피치 값은 상기 제 4단계(S140) 즉, 멜로디 피치 범위 재설정 단계를 통하여 알 수 있다.
한편, 멜로디의 하모닉 성분이 잘 나타나는 구간의 가장 높은 주파수는 보통 2 ∼ 3 kHz가 되며, 일반적으로 자기상관계수를 구하기 위해서는 200 Hz ∼ 2 kHz 사이의 주파수 영역의 빈들이 사용된다.
즉, 제 5단계(S150)에서는 상기 제 2단계(S120)를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하며, 상기 자기상관계수는 하기의 수학식 2에 의해 구할 수 있다.
Figure 112010003458364-pat00007
여기서, Xl(k)는 이산 푸리에 변환(DFT)의 l번째 프레임의 k번째 계수이다.
이와 같이 프레임 간의 자기상관계수를 구하여 자기상관계수가 1에 가까울수록 일정한 멜로디 피치를 가지며, 반대로 자기상관계수가 0에 가까울수록 동적인 변화가 심하다고 분석할 수 있다.
다음으로, 제 6단계(S160)에서는 상기 제 4단계(S140)를 통하여 재설정된 각 프레임의 멜로디 피치가 존재하는 범위에 관한 정보 및 상기 제 5단계(S150)를 통하여 추출된 멜로디 피치의 동적 변화 정보를 이용하여 각 프레임에 대응되는 분석 창의 길이를 설정한다.
이 때, 상기 분석 창의 길이는 멜로디 피치 값이 낮고 일정하게 유지될수록 긴 분석 창을, 멜로디 피치 값이 높고 동적 변화가 심할수록 보다 짧은 분석 창을 사용하도록 정한다. 그리고, 멜로디가 일정하여도 그 피치가 높은 경우에는 짧은 길이의 분석 창을 사용하도록 한다. 이는 멜로디 피치가 높은 경우에는 분석 창의 길이가 짧아도 충분한 주기(5주기 이상)의 신호를 내포할 수 있으므로 그 피치를 정확하게 예측할 수 있다. 또한, 멜로디의 동적 변화가 심한 경우에는, 긴 길이의 분석 창을 사용하면 분석 창의 시작 부분과 끝 부분에 위치한 신호의 멜로디 피치가 다르기 때문에 정확한 피치를 예측하기 힘들다. 따라서, 이 경우에도 짧은 길이의 분석 창을 사용하는 것이다. 일반적으로, 분석 창은 32 ms ∼ 92 ms 사이의 분석 창을 이용하는 것이 바람직하나, 본 발명에서는 이를 한정하는 것은 아니다.
다음으로, 제 7단계(S170)에서는 여러 음을 가지는 오디오 신호를 멜로디 피치의 기본 주파수와 하모닉 정보가 포함되어 있는 범위의 신호 성분은 그대로 통과시키고 그 보다 낮은 주파수 영역의 신호들은 제거할 수 있도록 고주파수 통과 필터(HPF)를 이용하여 오디오 신호에서 베이스 신호 및 저주파수 신호를 제거한다.
즉, 상기 제 7단계(S170)는 상기 제 6단계(S160)에서 구한 변화하는 길이를 가진 분석 창을 이용하기에 앞서, 상기 제 4단계(S140)에서 구한 보다 세밀한 멜로디 피치 범위를 이용하여, 입력된 여러 음을 가지는 오디오 신호에서 베이스 신호 및 저주파 영역 신호들을 제거한다.
다음으로, 제 8단계(S180)에서는 상기 제 7단계(S170)를 통하여 고주파수 통과필터(HPF)를 통과한 오디오 신호를 상기 제 6단계(S160)에서 길이가 설정된 각 프레임에 대응되는 분석 창을 이용하여 단시간 푸리에 변환(STFT)한다.
마지막으로, 제 9단계(190)에서는 상기 제 8단계(S180)를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호를 주파수 영역의 분해능(Resolution)을 높이기 위해 다중비율필터뱅크(Multi-Rate Filter Bank)를 통과시킨다.(M.Goto 방법과 동일)
한편, 상기 다중비율필터뱅크(Multi-Rate Filter Bank)의 구성은 도 3에 도시된 바와 같다. 상기 다중비율필터뱅크(Multi-Rate Filter Bank)를 통과시키는 이유를 보다 자세하게 설명하면 다음과 같다.
일반적으로 사람이 인식하는 멜로디 피치는 로그 스케일(Log Scale)이다. 예를 들어, 440 Hz와 880 Hz 사이는 한 옥타브를 이루며, 880 Hz와 1720 Hz 사이도 한 옥타브를 이룬다. 그리고 1720 Hz와 3440 Hz 사이도 한 옥타브를 이룬다. 이와 같이, 멜로디의 음이 높아질수록 피아노 한 건반이 차지하는 주파수의 간격이 늘어난다. 하지만, 일반적인 N개의 빈을 가지는 이산 푸리에 변환(DFT)을 실시했을 때, 한 개 빈 사이가 나타내는 주파수 간격은 샘플링 주파수/N Hz(Fs/N Hz)로 일정하다.
이는 결국, 낮은 주파수의 음 사이에는 적은 수의 주파수 빈이 할당되고, 높은 주파수의 음 사이에는 많은 수의 주파수 빈이 할당되는 결과를 낳으므로, 음 높이에 따른 주파수 분해능(Frequency Resolution)이 달라지는 문제점이 있다. 이와 같은 문제점을 해결하기 위해서 도 3에 도시된 바와 같은 다중비율필터뱅크(Multi-Rate Filter Bank)를 사용하는 것이다.
상술한 바와 같이 상기 주파수 분석 단계(S100)는 도 2에 도시된 바와 같이 제 1단계(S110) 내지 제 9단계(S190)를 포함하는 각 세부 단계를 통하여 입력된 여러 음을 가지는 오디오 신호의 주파수를 분석할 수 있다.
한편, 상기 멜로디 피치 후보 추출 단계(S200)는 상기 주파수 분석 단계(S100)를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 단계이다. 이러한 멜로디 피치 후보 추출 단계(S200)의 각 세부 단계에 관한 순서도는 도 4에 도시하였다.
먼저, 제 1단계(S210)는 입력된 여러 음을 가지는 오디오 신호를 단시간 푸리에 변환(Short Time Fourier Transform, SFTF)하는 단계이다.
상기 제 2단계(S220)에서는 상기 제 1단계(S210)를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하며, 이러한 변환은 하기의 수학식 3에 의해 수행된다.
Figure 112010003458364-pat00008
여기서, 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하는 이유는 센트(Cent) 단위가 로그 스케일(Log scale)로 음악의 음계를 선형(Linear)적으로 나타낼 수 있는 단위이기 때문이다.
예를 들어, 헤르쯔(Hz) 단위에서는 피아노 건반 하나의 차이가 22/12 차이가 나고, 한 옥타브는 주파수 2배 차이가 나지만, 센트(Cent) 단위에서는 피아노 건반 하나가 언제나 100 Cent 차이가 나며, 한 옥타브는 언제나 1200 Cent 차이가 난다.또한, 센트(Cent) 단위로 매핑(mapping)하게 되면 저주파수 대역의 분해능이 높아져 헤르쯔(Hz) 단위에서는 하모닉 간섭으로 인해 제대로 보이지 않던 하모닉 성분들을 잘 관측할 수 있다는 장점이 있다.
상기 제 3단계(S230)에서는 상기 제 2단계(S220)를 통하여 센트(Cent) 단위로 변환된 오디오 신호의 각 프레임 마다 지엽적 최대값(Local Maximum Value) 즉, 피크(Peak) 지점을 추출한다. 이는 피크를 이루는 지점이 하모닉 피치(Harmonic Pitch)가 위치할 확률이 높기 때문이다.
한편, 센트(Cent) 단위는 헤르쯔(Hz) 단위와는 반대로 그 특성 상 저주파 성분이 더 많은 센트(Cent)를 차지하게 되는 센트 퍼짐 현상이 일어나게 된다. 이러한 현상은 저주파 영역의 베이스 신호가 큰 에너지 값을 가질 경우 하모닉 성분의 비중(Weight)을 구하는데 있어 간섭을 일으키는 원인이 된다. 따라서 지엽적 최대값 지점만을 고려하는 과정을 통하게 되면 실제 하모닉 성분이 위치하는 부분만을 추려낼 수 있게 되고, 저주파 영역의 베이스 신호에 의한 하모닉 간섭 효과를 줄일 수 있다.
상기 제 4단계(S240)는 멜로디 피치 후보들이 내포한 하모닉 구조 모델의 비중(Weight)을 측정한다. 보다 자세하게, 상기 제 4단계(S240)에서는 상기 제 3단계(S230)를 통하여 추출된 지엽적 최대값(Local Maximum Value)을 제외한 나머지 부분은 0으로 설정한 단시간 푸리에 변환(STFT) 결과와 하모닉 구조 모델을 내적(Inner Product)하여 기설정된 멜로디 피치 후보들이 하모닉 구조 모델을 얼마나 내포하고 있는지 비중(Weight)을 측정한다.
여기서, 도 5에 도시된 바와 같은 하모닉 구조 모델(Harmonic Structure Model)을 사용하는 이유는 멜로디 피치의 하모닉 성분의 경우 그 크기가 고주파로 갈수록 작아기기 때문이다. 이와 같이 하모닉 성분이 고주파로 갈수록 작아지는 이유는 신호의 래디에이션(Radiation) 효과 때문이다.
그러나, 대부분의 악기에서 하모닉 성분은 멜로디 하모닉 성분과 비교하여 고주파로 갈수록 하모닉 크기가 감소하는 정도가 휠씬 크다는 성질이 있다. 이와 같이 악기와 멜로디 하모닉 성분과의 차이를 고려하여 고주파수로 갈수록 도 5에 도시된 바와 같은 정도로 하모닉 크기가 감소하는 하모닉 모델을 설정할 경우 멜로디 하모닉 성분에 대해 더 큰 비중(Weight)이 할당 되도록 하는 장점이 생긴다.
일반적으로 하모닉 성분의 경우 기본 주파수의 정수배에 해당되는 주파수에 생긴다고 알려져 있으나, 음이 변화하는 경우나 다른 하모닉 성분의 영향으로 인해서 정확히 기본 주파수의 정수배에 하모닉 성분이 생기지 않을 때도 있다. 따라서 하모닉 구조 모델을 도 5에 도시된 바와 같이 설정하여 기본 주파수의 정수배가 아닌 경우에도 찾을 수 있도록 하였다.
한편, 상기 제 4단계(S240)를 통하여 각 멜로디 피치 후보들이 내포한 하모닉 구조 모델(Harmonic Structure Model)의 비중(Weight)을 구할 수 있었다. 그러나 이러한 비중(Weight) 정보에는 주파수에 따른 에너지 레벨 차이가 고려되지 않았다.
따라서, 상기 제 5단계(S250)에서는 상기 제 4단계(S240)에서 측정한 비중 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상해 준다. 이를 위해, 상기 제 5단계(S250)에서는 낮은 주파수 영역에는 작은 값을 높은 주파수 영역에는 보다 큰 값을 곱하는 방법으로 주파수에 따른 에너지 레벨 차이를 보상한다.
왜냐하면, 일반적으로 스펙트럼에서 낮은 주파수 영역의 신호가 높은 주파수 영역의 신호보다 높은 에너지 레벨을 갖기 때문에 이 영향을 제거해주기 위한 것이다. 이와 같이 주파수에 따른 상대적인 값을 곱해주는 과정을 통해 낮은 주파수를 가지는 음에 대한 비중(Weight)과 에너지가 큰 베이스 신호의 영향을 줄여주는 효과를 거둠으로써 본 발명에 따른 방법은 하모닉 간섭과 옥타브 불일치에 보다 강인해질 수 있게 된다.
상기 제 6단계(S260)는 각 프레임에서 N개의 멜로디 피치 후보를 추출하는 단계이다. 즉, 상기 제 6단계(S260)에서는 상기 제 5단계(S250)를 통하여 보상된 비중(Weight) 정보에 대한 결과를 바탕으로 각 프레임에서 N개의 멜로디 피치 후보를 추출한다.
대부분의 경우, 가장 큰 비중(Weight)을 가지는 피치값이 멜로디 피치일 경우가 많으나 항상 그런 것은 아니다. 왜냐하면, 다른 악기의 하모닉 성분이 멜로디 하모닉 성분보다 아주 크거나, 주변 악기 하모닉들의 간섭에 의해 멜로디 피치 하모닉의 성분의 크기가 작아진 경우, 멜로디 피치값이 아닌 다른 악기의 피치값에 더 큰 비중(Weight)이 할당될 수 있기 때문이다.
따라서, 본 발명에서는 이러한 문제점을 줄이기 위해 각 프레임 마다 N개의 멜로디 피치 후보를 선택하고 이들 중에서 멜로디 라인이 결정될 수 있도록 한다.
마지막으로, 상기 멜로디 라인 결정 단계(S300)는 상기 멜로디 피치 후보 추출 단계(S200)에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 단계이다. 즉, 상기 멜로디 라인 결정 단계(S300)에서는 상기 멜로디 피치 후보 추출 단계(S200)에서 추출된 멜로디 피치 후보와 각 후보가 가지는 비중(Weight) 정보를 바탕으로 피치 후보들을 보다 쉽고 정확하게 연결하여 신뢰할 만한 멜로디 라인을 결정한다.
이러한 멜로디 라인 결정 단계(S300)의 각 세부 단계에 관한 순서도는 도 6에 도시하였다. 도 6에 도시된 바와 같이 상기 멜로디 라인 결정 단계(S300)는 제 1단계(S310) 내지 제 7단계(S370)로 이루어지는 각 단계를 포함한다.
먼저, 제 1단계(S310)에서는 각 프레임에서 N개의 멜로디 피치 후보들과 상기 피치 후보들이 가지는 비중(Weight)에 관한 정보를 입력받는다.
다음으로, 제 2단계(S320)에서는 멜로디 라인의 시작 프레임을 설정한다. 즉, 상기 제 2단계(S320)에서는 멜로디 라인을 결정하기 위한 첫 번째 프레임을 시작 프레임(출발 프레임)으로 설정한다.
한편, 본 발명에서는 첫 번째 프레임에서 마지막 프레임까지 모든 프레임의 피치 후보들을 서로 연결하는 것은 아니며, 인접한 프레임의 멜로디 피치 후보들이 멜로디 라인이 가지는 특성들에 따라 정해진 기준을 모두 만족하지 않을 경우, 음의 변화나 멜로디의 불연속이 발생하였다고 판단하고 멜로디 라인의 연결을 끊는다. 그리고, 멜로디 라인이 끊긴 프레임의 후속 프레임을 새로운 멜로디 라인의 시작 프레임으로 설정하여 또 다른 멜로디 라인을 이어 나간다. 이와 같이 하나의 멜로디 라인으로 연결된 프레임의 묶음을 하나의 구간으로 판단한다.
한편, 상기 제 2단계(S320)에서 새로운 멜로디 라인의 시작 프레임을 설정하면 상기 시작 프레임에서 상기 제 1단계에서 입력받은 N개의 멜로디 피치 후보들을 선택할 수 있게 되며, 상기 제 3단계(S330)에서는 상기 제 2단계(S320)를 통하여 설정된 시작 프레임에서 N개의 멜로디 피치 후보들을 선택하고 이들을 비중(Weight)이 큰 순으로 정렬한다. 이 때, 비중(Weight)이 클수록 멜로디 피치일 가능성이 높기 때문에 멜로디 라인 연결시 우선 순위를 높게 설정한다.
다음으로, 제 4단계(S340)에서는 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는지 판정한다. 여기서, 상기 멜로디 라인 기준은 멜로디 라인이 가지는 특성을 기반으로 하여 설정되며, 음악의 장르나 특성에 따라 다르게 설정될 수 있다. 이 때, 멜로디 라인 기준을 위해 사용된 멜로디 라인 특성은 다음과 같은 세가지를 들 수 있다.
- 음악에서 비브라토(Vibrato)의 경우, 일반적으로 사람의 목소리는 ±60 ∼200 cents, 악기 소리는 ±20 ∼30 cents의 범위를 갖는다.
- 음악에서 음의 변화는 멜로디의 변화를 나타내는데, 일반적으로 음의 변화는 1옥타브 이내로 제한되어 있다.
- 일반적으로 사람의 목소리는 50 ms 이상의 호흡 시간을 갖는다.
여기서, 상기 3가지 멜로디 라인 특성을 기반으로 설정된 멜로디 라인 기준은 다음과 같다. 이 때 번호가 높을수록 그 우선 순위가 높음을 나타낸다.
1) 두 프레임 멜로디 피치 값의 차이가 목소리인 경우에 100 cent, 악기 소리인 경우에 50 cent 이내인 경우 두 멜로디 피치를 연결한다. 이러한 조건을 만족시키는 멜로디 피치 후보가 2개 이상 존재할 경우에는 비중(Weight)이 큰 후보와 연결한다.
2) 두 프레임 멜로디 피치 값의 차이가 200 cent 이내인 경우, 두 멜로디 피치를 연결한다. 여기서도 상기 1)에서와 같이 조건을 만족시키는 멜로디 피치 후보가 2개 이상 존재할 경우에는 비중(Weight)이 큰 후보와 연결한다.
3) 두 프레임 멜로디 피치 값의 차이가 한 옥타브 이상 차이나며, 이러한 차이가 50 ms 이상 지속될 경우, 한 옥타브 이상 차이가 발생한 프레임부터 새로운 멜로디 라인을 시작한다.
이 때, 상기 기준들에서 두 멜로디 피치 값의 차이는 음악의 장르나 특성에 따라 다르게 설정될 수 있음은 물론이며, 상기와 같이 예시된 기준에 의해 본 발명을 한정하는 것은 아니다.
다음으로, 제 5단계(S350)는 상기 제 4단계(S340)를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 멜로디 라인 연결을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보를 선택한다. 상기 제 5단계(S350)에서는 먼저 상기 멜로디 라인 기준에 따라 멜로디 라인을 연결한다. 이 때, 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결하였으면, 같은 방법으로 시작 프레임의 2,3,4,..., N번째 멜로디 피치를 기준으로 멜로디 라인을 연결한다. 그 다음, 상기 제 2단계(S320) 및 제 3단계(S330)의 반복을 통해서 새로운 멜로디 라인을 형성하며, 이와 같은 과정을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보들을 선택할 수 있다.
즉, 상기 제 5단계(S350)에서는 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결한 경우 이와 같은 방법으로 시작 프레임의 N번째 멜로디 피치까지 멜로디 라인을 연결하여 한 멜로디 라인 구간에서 총 N개의 멜로디 라인을 연결하며, 멜로디 라인이 끝나는 그 다음 프레임을 또 다른 시작 프레임으로 설정하고 상기 제 3단계(S330) 내지 제 4단계(S340)의 과정을 반복하여 새로운 멜로디 라인 후보를 형성하는 방법으로 N개의 멜로디 라인 후보를 선택하게 된다.
다음으로, 상기 제 6단계(S360)에서는 상기 제 5단계(S350)를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택한다. 이 때, 상기 최적의 멜로디 라인은 멜로디 라인의 피치 값들이 가지는 비중(Weight) 정보를 기준으로 결정한다.
마지막으로, 제 7단계(S370)에서는 상기 제 6단계(S360)를 통하여 선택된 최적의 멜로디 라인에서 돌출된 멜로디 피치 값 또는 잘못된 멜로디 피치 값을 제거 및 수정하는 스무드화 과정(Smoothing Process)을 수행하며, 상기 스무드화 과정을 거친 후에 최종적인 다음 오디오 신호의 멜로디 라인을 추출할 수 있게 된다.
이상과 같이 본 발명에 따른 멜로디 추출 방법을 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.

Claims (24)

  1. 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 주파수 분석 단계;
    상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 멜로디 피치 후보 추출 단계; 및
    상기 멜로디 피치 후보 추출 단계에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 멜로디 라인 결정 단계;를 포함하되,
    상기 주파수 분석 단계는, 입력된 여러 음을 가지는 오디오 신호를 리샘플링(Resampling)하는 제 1단계;
    시간 영역(Time Domain) 기준으로 입력된 오디오 신호를 주파수 영역(Frequency Domain) 기준의 신호로 변환하는 제 2단계;
    상기 제 2단계를 통하여 얻어진 각 프레임의 스펙트럼에서 진폭의 피크 값과 상기 피크 값이 나타나는 위치의 주파수 값을 추출하는 제 3단계;
    상기 제 3단계를 통하여 추출된 값들을 바탕으로 각 프레임의 멜로디 피치가 존재하는 범위를 재설정하는 제 4단계;
    상기 제 2단계를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하는 제 5단계;
    상기 제 4단계를 통하여 재설정된 각 프레임의 멜로디 피치가 존재하는 범위에 관한 정보 및 상기 제 5단계를 통하여 추출된 멜로디 피치의 동적 변화 정보를 이용하여 각 프레임에 대응되는 분석 창의 길이를 설정하는 제 6단계;
    고주파수 통과 필터(HPF)를 이용하여 상기 오디오 신호에서 베이스 신호 및 저주파 신호를 제거하는 제 7단계;
    상기 제 7단계를 통하여 고주파수 통과 필터(HPF)를 통과한 상기 오디오 신호를 상기 제 6단계에서 길이가 설정된 각 프레임에 대응되는 분석 창을 이용하여 단시간 푸리에 변환(STFT)하는 제 8단계; 및
    상기 제 8단계를 통하여 단시간 푸리에 변환(STFT) 오디오 신호를 주파수 영역의 분해능(Resolution)을 높이기 위해 다중비율필터뱅크(Multi-Rate Filter Bank)를 통과시키는 제 9단계;를 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 제 2단계는 고정된 길이의 분석 창(Fixed Length Analysis Window)을 이용한 단시간 푸리에 변환(STFT)을 적용하여 시간 영역 기준으로 입력된 오디오 신호를 주파수 영역 기준의 신호로 변환하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  4. 청구항 1에 있어서,
    상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 주파수 빈의 번호, 이산 푸리에 변환(DFT)의 빈의 개수 및 리샘플링 주파수를 이용하여 추출하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  5. 청구항 4에 있어서,
    상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 하기의 수학식 1에 의해 구하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
    [수학식 1]
    Figure 112010003458364-pat00009

    Figure 112010003458364-pat00010

  6. 청구항 1에 있어서,
    상기 제 4단계는, 상위 K개의 멜로디 피크 값 및 상기 피크 값이 나타나는 주파수 값을 추출하는 제 1과정;
    상기 제 1과정을 통하여 추출된 피크 값 및 상기 피크 값이 나타나는 위치의 주파수 값 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾아 이들을 잠재적인 멜로디 후보로 선정하는 제 2과정;
    상기 제 2과정을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정하기 위하여 상기 잠재적인 멜로디 후보에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 제 1과정을 통하여 추출된 피크 값 중에서 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 상기 피크 값을 기본 주파수 피크 값에 더하는 방법으로 상기 처음 설정한 멜로디 범위 내에 존재하는 모든 피크 값들에 대해 하모닉 성분을 조사하고 피크 값을 더하는 제 3과정;
    상기 제 3과정을 통하여 상기 기본 주파수에 대해 더해진 상기 피크 값에 보상값을 곱해주되, 일 기본 주파수가 타 기본 주파수보다 작으면 타 기본 주파수에 대한 보상값 보다 작은 보상값을 곱해주고, 상기 일 기본 주파수가 타 기본 주파수보다 크면 타 기본 주파수에 대한 보상값보다 큰 보상값을 곱해주고, 곱하여 얻어진 결과 중에서 값이 큰 순서대로 N개의 후보를 찾는 제 4과정; 및
    상기 제 1과정 내지 제 4과정을 각 프레임마다 적용하여 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아내는 제 5과정;
    을 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  7. 청구항 1에 있어서,
    상기 제 5단계는 상기 제 2단계를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하며, 상기 자기상관계수는 하기의 수학식 2에 의해 구하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
    [수학식 2]
    Figure 112011050608410-pat00011

  8. 청구항 1에 있어서,
    상기 제 6단계는 각 프레임에 대응되는 분석 창의 길이를 설정하며, 상기 분석 창의 길이는 멜로디 피치 값에 따라 설정되는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  9. 청구항 1에 있어서,
    멜로디 피치 후보 추출 단계는, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호가 입력되면, 입력된 상기 오디오 신호를 단시간 푸리에 변환(STFT)하는 제 1단계;
    상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하는 제 2단계;
    상기 제 2단계를 통하여 센트(Cent) 단위로 변환된 오디오 신호의 각 프레임마다 피크 지점을 추출하는 제 3단계;
    멜로디 피치 후보들이 내포한 하모닉 구조 모델의 비중(Weight)을 측정하는 제 4단계;
    상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하는 제 5단계; 및
    각 프레임에서 N개의 멜로디 피치 후보를 추출하는 제 6단계;
    를 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  10. 청구항 9에 있어서,
    상기 제 2단계는 상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하며, 상기 변환은 하기의 수학식 3에 의하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
    [수학식 3]
    Figure 112010003458364-pat00012

  11. 청구항 9에 있어서,
    상기 제 3단계는 상기 제 2단계를 통하여 센트(Cent)로 단위로 변환된 오디오 신호의 각 프레임 마다 피크 지점을 추출하며, 상기 피크 지점은 상기 각 프레임의 지엽적 최대값(Local Maximum Value)인 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  12. 청구항 9에 있어서,
    상기 제 4단계는 상기 제 3단계를 통하여 추출된 지엽적 최대값(Local Maximum Value)을 제외한 나머지 부분은 0으로 설정한 단시간 푸리에 변환(STFT) 결과와 하모닉 구조 모델을 내적(Inner Product)하여 기설정된 멜로디 피치 후보들이 하모닉 구조 모델을 얼마나 내포하고 있는지 비중(Weight)을 측정하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  13. 청구항 9에 있어서,
    상기 제 5단계는 상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하며, 상기 보상은 일 주파수 영역에는 일 값을 곱하고, 타 주파수 영역에는 타 값을 곱하여 이루어지되, 상기 일 주파수 영역이 타 주파수 영역보다 높은 경우 상기 일 값은 타 값보다 크고, 반대로 상기 일 주파수 영역이 타 주파수 영역보다 낮은 경우 상기 일 값은 타 값보다 작은 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  14. 청구항 9에 있어서,
    상기 제 6단계는 상기 제 5단계를 통하여 보상된 비중(Weight) 정보에 대한 결과를 바탕으로 각 프레임에서 N개의 멜로디 피치 후보를 추출하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  15. 청구항 1에 있어서,
    멜로디 라인 결정 단계는, 각 프레임에서 N개의 멜로디 피치 후보들과 상기 피치 후보들이 가지는 비중(Weight)에 관한 정보를 입력받는 제 1단계;
    멜로디 라인의 시작 프레임을 설정하는 제 2단계;
    상기 제 2단계를 통하여 설정된 시작 프레임에서 상기 제 1단계에서 입력받은 N개의 멜로디 피치 후보들을 선택하고 이들을 비중(Weight)이 큰 순으로 정렬하는 제 3단계;
    이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는지 판정하는 제 4단계;
    상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 멜로디 라인 연결을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보를 선택하는 제 5단계;
    상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하는 제 6단계; 및
    상기 제 6단계를 통하여 선택된 멜로디 라인에서 돌출된 멜로디 피치 값 또는 잘못된 멜로디 피치 값을 제거 및 수정하는 제 7단계;
    포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  16. 청구항 15에 있어서,
    상기 제 2단계는 멜로디 라인을 결정하기 위한 첫 번째 프레임을 시작 프레임으로 설정하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  17. 청구항 15에 있어서,
    상기 제 4단계의 멜로디 라인 기준은 멜로디 라인이 가지는 특성을 기반으로 하여 설정되며, 음악의 장르나 특성에 따라 다르게 설정되는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  18. 청구항 15에 있어서,
    상기 제 5단계는 상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 첫 번째 후보부터 그 다음 프레임 피치 후보들과 멜로디 라인을 연결하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  19. 청구항 18에 있어서,
    상기 제 5단계는 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결한 경우 이와 같은 방법으로 시작 프레임의 N번째 멜로디 피치까지 멜로디 라인을 연결하여 한 멜로디 라인 구간에서 총 N개의 멜로디 라인을 연결하며, 멜로디 라인이 끝나는 그 다음 프레임을 또 다른 시작 프레임으로 설정하고 상기 제 3단계 내지 제 4단계의 과정을 반복하여 새로운 멜로디 라인 후보를 형성하는 방법으로 N개의 멜로디 라인 후보를 선택하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  20. 청구항 19에 있어서,
    상기 제 6단계는 상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하며, 상기 최적의 멜로디 라인은 멜로디 라인의 피치 값들이 가지는 비중(Weight) 정보를 기준으로 결정하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
  21. 청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법에 관한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  22. 청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 적용한 멜로디 추출 시스템.
  23. 청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 적용한 음악 내용 정보 자동 추출 시스템.
  24. 청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 적용한 콘텐츠 기반의 음악 검색 시스템.
KR1020100004695A 2010-01-19 2010-01-19 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템 KR101106185B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100004695A KR101106185B1 (ko) 2010-01-19 2010-01-19 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100004695A KR101106185B1 (ko) 2010-01-19 2010-01-19 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20110085089A KR20110085089A (ko) 2011-07-27
KR101106185B1 true KR101106185B1 (ko) 2012-01-20

Family

ID=44921932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100004695A KR101106185B1 (ko) 2010-01-19 2010-01-19 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101106185B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873154B (zh) * 2012-12-13 2016-05-25 恒银金融科技股份有限公司 一种手机用音频数字签名设备接收数据的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100347188B1 (en) * 2001-08-08 2002-08-03 Amusetec Method and apparatus for judging pitch according to frequency analysis
US20060075884A1 (en) 2004-10-11 2006-04-13 Frank Streitenberger Method and device for extracting a melody underlying an audio signal
JP2008281776A (ja) 2007-05-10 2008-11-20 Mitsubishi Electric Corp 旋律抽出装置及び旋律抽出方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100347188B1 (en) * 2001-08-08 2002-08-03 Amusetec Method and apparatus for judging pitch according to frequency analysis
US20060075884A1 (en) 2004-10-11 2006-04-13 Frank Streitenberger Method and device for extracting a melody underlying an audio signal
JP2008281776A (ja) 2007-05-10 2008-11-20 Mitsubishi Electric Corp 旋律抽出装置及び旋律抽出方法

Also Published As

Publication number Publication date
KR20110085089A (ko) 2011-07-27

Similar Documents

Publication Publication Date Title
US8008566B2 (en) Methods, systems and computer program products for detecting musical notes in an audio signal
JP3433818B2 (ja) 楽曲検索装置
Bowling et al. Major and minor music compared to excited and subdued speech
US20100126331A1 (en) Method of evaluating vocal performance of singer and karaoke apparatus using the same
Devaney et al. A Study of Intonation in Three-Part Singing using the Automatic Music Performance Analysis and Comparison Toolkit (AMPACT).
Heydarian Automatic recognition of Persian musical modes in audio musical signals
Meng et al. Automatic music transcription based on convolutional neural network, constant Q transform and MFCC
Weiß Computational methods for tonality-based style analysis of classical music audio recordings
Dannenberg Style in music
Pikrakis et al. Tracking melodic patterns in flamenco singing by analyzing polyphonic music recordings
Dixon et al. Estimation of harpsichord inharmonicity and temperament from musical recordings
Jensen Rhythm-based segmentation of popular chinese music
Barbancho et al. Database of Piano Chords: An Engineering View of Harmony
KR101106185B1 (ko) 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템
Chuan et al. Audio key finding: Considerations in system design and case studies on Chopin's 24 Preludes
Barbancho et al. Transcription of piano recordings
Pardo Finding structure in audio for music information retrieval
KR101093725B1 (ko) 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용한 멜로디 피치 후보 추출 방법
Ali-MacLachlan Computational analysis of style in Irish traditional flute playing
Chuan et al. The KUSC classical music dataset for audio key finding
KR101095968B1 (ko) 여러 음을 가진 오디오 신호에서 유동적 길이를 가지는 분석 창을 이용한 주파수 분석 방법
Singh et al. Deep learning based Tonic identification in Indian Classical Music
Chuan et al. Creating Ground Truth for Audio Key Finding: When the Title Key May Not Be the Key.
Unnikrishnan An efficient method for tonic detection from south Indian classical music
Bruno et al. Automatic music transcription supporting different instruments

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee