KR101106185B1 - An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window - Google Patents

An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window 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
Korean (ko)
Other versions
KR20110085089A (en
Inventor
유창동
주시현
조석환
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020100004695A priority Critical patent/KR101106185B1/en
Publication of KR20110085089A publication Critical patent/KR20110085089A/en
Application granted granted Critical
Publication of KR101106185B1 publication Critical patent/KR101106185B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

본 발명은 여러 음을 가지는 오디오 신호에서 멜로디 추출 방법에 관한 것으로, 해결하고자 하는 기술적 과제는 가요나 오케스트라 같이 여러 음을 가진 음악에서 멜로디 성분만을 추출할 수 있는 방법을 제공하는데 있다.
이를 위해 본 발명은, 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 주파수 분석 단계와, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 멜로디 피치 후보 추출 단계 및 상기 멜로디 피치 후보 추출 단계에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 멜로디 라인 결정 단계를 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 개시한다.
The present invention relates to a method for extracting a melody from an audio signal having several sounds, and a technical problem to be solved is to provide a method for extracting only melody components from music having several sounds, such as a song or an orchestra.
To this end, the present invention, the frequency analysis step of analyzing the frequency using an analysis window having a fluid length, when the audio signal having a plurality of sounds, and Melody Pitch candidate extraction step for extracting melody pitch candidates using a harmonic structure model from the audio signal having various sounds analyzed through the frequency analysis step and melody pitch candidates extracted in the melody pitch candidate extraction step Disclosed is a method of extracting a melody using a harmonic structure model and an analysis window having a fluid length in an audio signal having a plurality of sounds, the method comprising determining a melody line.

Description

여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법 및 시스템{An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window}An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window}

본 발명은 다음 오디오 신호 즉, 여러 음을 가진 오디오 신호에서 멜로디 성분을 추출하기 위한 방법에 관한 것이다.
The present invention relates to a method for extracting a melody component from a next audio signal, i.e. an audio signal having several tones.

근래에 오디오 기술, 음악 녹음 기술, 재생 장치 등의 발전에 힘입어 음악의 디지털화가 가능해졌고, 그 결과 매년 새로운 음악들이 증가하고 있는 추세이다.Recently, with the development of audio technology, music recording technology, and playback devices, the digitalization of music is possible, and as a result, new music is increasing every year.

실제적인 예로, 2001년에는 전세계적으로 한 해 동안 약 30,000 장의 앨범이 발매되었지만, 2007년에는 약 80,000 장의 앨범이 발매되어 그 수가 배 이상으로 증가하였다.As a practical example, in 2001, about 30,000 albums were released worldwide in a year, but in 2007, about 80,000 albums were released, more than double the number.

또한, 최근에는 기존의 CD(Compact Disk) 형태의 앨범에서 벗어나 인터넷 상에 앨범을 발매하고 사용자들이 곡을 다운받아 이용하는 디지털 앨범 형식 등 새로운 방식의 앨범으로 많은 음악들이 발매되고 있으며, 발매되는 음반의 수가 증가하는 만큼 새로운 장르와 형식의 음악들도 함께 증가하였다.Recently, many songs are released as new albums, such as digital album formats, which are released from CDs (Compact Disk) albums on the Internet and users download and use songs. As the number increased, so did new genres and types of music.

그 결과 소비자들은 이전 보다 더 다양한 음악을 접할 수 있게 되었고, 자신의 취향과 관심에 따라 음악 선택의 폭을 높일 수 있게 되었다.
As a result, consumers have more access to music than ever before, and they have more choices based on their tastes and interests.

그러나, 음악의 장르와 발매되는 음반의 수가 증가하는 만큼 음악들을 체계적으로 관리하기도 힘들어 지게 되었고, 매일 너무 많은 음악들이 생겨남에 따라 많은 수의 음악들이 사람들이 들어보거나 그 존재를 인식하기도 전에 사라지는 경우도 많게 되었으며, 음반의 수가 증가하는 만큼 표절 등의 문제를 관리하기가 힘들어지게 되었다.However, as the genre of music and the number of records released increase, it becomes difficult to manage the music systematically, and as so many songs are created every day, many songs disappear before people listen or recognize their existence. As the number of records increased, it became difficult to manage problems such as plagiarism.

이렇게 점점 늘어가는 다양한 음악들을 효율적으로 이용하고 관리하기 위하여 음악들 간의 서로 다른 특징들을 추출하여 분석할 수 있는 기술의 필요성이 대두되었으며, 이에 따라 많은 기업과 단체들에서 상술한 음악 관리의 문제점을 해결하기 위하여 노래의 제목, 가수, 가수의 성별, 작곡가, 시대, 가사의 내용 등에 관한 정보를 문자 형식 기반의 디지털 정보로 저장하여 관리하여 왔다. 그리고, 이러한 데이터들은 문자 기반의 음악 검색 시스템(Text-Based Music Information Retieval System)을 구축할 수 있는 밑거름을 제공하였다.
In order to efficiently use and manage the ever-increasing variety of music, there is a need for a technology capable of extracting and analyzing different features among music, thus solving the problems of music management described by many companies and organizations. To this end, information on song titles, singers, singers' gender, composers, periods, lyrics, and the like has been stored and managed as digital information based on a text format. In addition, these data provided a foundation for building a text-based music information retieval system.

하지만, 상술한 문자 기반의 음악 데이터베이스의 경우, 문자 형태로 저장된 음악 정보가 실제로 사람들이 모든 정보를 직접 기입하여 데이터베이스로 구축된다는 점에서 너무 많은 시간과 노력을 필요로 한다는 문제점이 있다.However, in the character-based music database described above, there is a problem in that music information stored in the form of characters requires too much time and effort in that a person actually writes all the information directly into the database.

그리고, 시간이 지날수록 더 많은 음악들이 전 세계적으로 매일같이 쏟아지기 때문에 이에 상응하는 문자 기반 데이터베이스를 구축하기 위해서 더욱 많은 시간과 노력이 필요하게 된다.And as time goes on, more and more music flows around the world every day, so more time and effort is needed to build a corresponding character-based database.

이와 같은 문자 기반 데이터베이스의 한계 때문에, 근래에는 음악의 리듬, 분위기, 코드, 멜로디 등의 음악 내용 정보(Music Contents Information)를 자동으로 추출하여 분석하는 시스템에 대한 관심이 높아지고 있으며, 컴퓨터와 음악장비 그리고 음악 해석 기술이 발전함에 따라 자동으로 음악 내용을 해석해주는 시스템에 대한 관심과 가능성이 더욱 높아지고 있다.
Due to the limitations of such character-based databases, there is a growing interest in systems that automatically extract and analyze music contents information such as rhythm, mood, chords, and melody of music. As music interpretation technology advances, interest and possibility for a system for automatically interpreting music contents are increasing.

상기 음악 내용 정보로는 리듬, 분위기, 코드, 멜로디 등의 요소를 들 수 있는데, 상기 요소 중에서 음악 분석과 해석에 가장 유용하게 다뤄지는 요소는 멜로디이다. 왜냐하면, 사람들이 음악을 듣고 가장 쉽게 그리고 오랫동안 기억하는 부분이 멜로디이며, 멜로디는 음악의 특성을 가장 잘 나타내고, 음악 간의 유사성을 비교하기에도 적합하기 때문이다.
The music content information may include elements such as rhythm, mood, chord, melody, etc. Among the elements, the most useful element for music analysis and interpretation is melody. This is because the melody is the most easily and long-lasting part of people listening to music, and the melody best represents the characteristics of the music and is also suitable for comparing the similarities between music.

한편, 이러한 멜로디는 기술적으로 명확하게 정의되어 있지 않는데, 일반적으로 통용되는 멜로디의 정의는 다음과 같이 설명될 수 있다.On the other hand, such a melody is not clearly defined technically, the definition of a commonly used melody can be described as follows.

대부분의 사람들이 여러 가지의 악기나 목소리가 섞인 음악을 듣고 그 음악에 대해 떠올릴 때 모든 악기 소리에 대한 악보를 떠올리기 보다는 특정한 하나의 음의 악보를 떠올리는 경향이 있다. 예를 들어, 가요나 팝송 등과 같이 사람의 노래를 부른 음악의 경우에는 사람이 부르는 음을 잘 기억하고, 여러 악기가 동시에 연주되는 오케스트라 음악의 경우에는 전체 음악을 주도하는 한 악기의 음을 잘 기억하는 경향이 있다. 여기서 사람의 목소리나 주도되는 악기의 음을 일반적으로 멜로디라고 정의할 수 있다.
When most people listen to music with different instruments or voices and think about it, they tend to think of the score of a single note rather than the score of all the instruments. For example, music that sings a person, such as a song or pop song, remembers the sound of a person, and in the case of orchestra music where several instruments are played at the same time, it remembers the sound of an instrument that leads the entire music. Tend to. Here the human voice or the sound of the leading instrument can be defined as a melody in general.

상술한 바와 같이, 사람들은 어떠한 음악을 듣고 그 음악을 기억할 때 해당 음악의 멜로디만을 기억하는 경향이 있고, 상기 멜로디는 그 음악의 특징들을 가장 잘 나타낼 수 있는 특성이라는 점에서 그 중요성이 더욱 높아진다.As described above, people tend to remember only the melody of the music when they listen to the music and remember the music, and the melody is more important in that it is a characteristic that can best represent the characteristics of the music.

따라서, 오디오 신호에서 이와 같이 중요한 정보를 내포하고 있는 멜로디를 정확하게 추출하고 해석할 필요성이 매우 높다고 할 수 있다.
Therefore, it can be said that the necessity of accurately extracting and interpreting the melody containing such important information from the audio signal is very high.

본 발명은 상기한 바와 같은 과제를 해결하기 위해 발명된 것으로, 멜로디 성분이 하모닉 성분을 가지며 멜로디 성분의 에너지가 가장 두드러진다는 특성을 기반으로 하여, 가요나 오케스트라 같이 여러 음을 가진 음악에서 멜로디 성분만을 추출할 수 있는 방법을 제공하는데 그 목적이 있다.
The present invention has been invented to solve the above problems, and based on the property that the melody component has a harmonic component and the energy of the melody component is most prominent, only the melody component in music having various notes such as a music or orchestra The purpose is to provide a method that can be extracted.

상기한 바와 같은 목적을 달성하기 위해 본 발명에 따른 멜로디 추출 방법은, 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 주파수 분석 단계와, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 멜로디 피치 후보 추출 단계 및 상기 멜로디 피치 후보 추출 단계에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 멜로디 라인 결정 단계를 포함한다.
In order to achieve the above object, the method of extracting a melody according to the present invention comprises: a frequency analysis step of analyzing a frequency using an analysis window having a fluid length when an audio signal having several sounds is input, and the frequency analysis step Melody pitch candidate extraction step for extracting melody pitch candidates using a harmonic structure model from multiple sound audio signals analyzed through a melody pitch and melody pitch candidates extracted in the melody pitch candidate extraction step to determine a melody line A line determination step.

먼저, 상기 주파수 분석 단계는, 입력된 여러 음을 가지는 오디오 신호를 리샘플링(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단계를 포함한다.First, the frequency analysis step may include a first step of resampling an audio signal having a plurality of input sounds, and an audio signal input based on a time domain as a signal based on a frequency domain. A second step of converting, a third step of extracting a peak value of an amplitude and a frequency value of a position at which the peak value appears in a spectrum of each frame obtained through the second step, and a value extracted through the third step And a method of recognizing the autocorrelation coefficient between frames in the result of the conversion of the melody pitch of each frame to the signal based on the frequency domain through the second step. Information on a range in which the melody pitch of each frame reset through the fourth step is present; A sixth step of setting the length of the analysis window corresponding to each frame by using the dynamic change information of the melody pitch extracted through the fifth step; and a base signal and a low frequency in the audio signal using a high frequency pass filter (HPF). In the seventh step of removing the signal, and the audio signal passing through the high-frequency pass filter (HPF) through the seventh step using the analysis window corresponding to each frame whose length is set in the sixth step using a short time Fourier transform ( The eighth step and the eighth step of passing the short-term Fourier transform (STFT) audio signal through a multi-rate filter bank in order to increase the resolution of the frequency domain. Include.

상기 제 2단계는 고정된 길이의 분석 창(Fixed Length Analysis Window)을 이용한 단시간 푸리에 변환(STFT)을 적용하여 시간 영역 기준으로 입력된 오디오 신호를 주파수 영역 기준의 신호로 변환한다.In the second step, a short time Fourier transform (STFT) using a fixed length analysis window is applied to convert an audio signal input on a time domain basis into a signal on a frequency domain basis.

상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 주파수 빈의 번호, 이산 푸리에 변환(DFT)의 빈의 개수 및 리샘플링 주파수를 이용하여 추출한다. 상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 하기의 수학식 1에 의해 구할 수 있다.The frequency value of the position where the peak value appears in the third step is extracted using the number of frequency bins, the number of bins of the discrete Fourier transform (DFT), and the resampling frequency. The frequency value of the position where the peak value of the third step appears can be obtained by Equation 1 below.

[수학식 1][Equation 1]

Figure 112010003458364-pat00001
Figure 112010003458364-pat00001

Figure 112010003458364-pat00002
Figure 112010003458364-pat00002

상기 제 4단계는, 상위 K개의 피크 값 및 상기 피크 값이 나타나는 주파수 값을 추출하는 제 1과정과, 상기 제 1과정을 통하여 추출된 피크 값 및 상기 피크 값이 나타는 위치의 주파수 값 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾아 이들을 잠재적인 멜로디 후보로 선정하는 제 2과정과, 상기 제 2과정을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정하기 위하여 상기 잠재적인 멜로디 후보에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 제 1과정을 통하여 추출된 상위 K개의 피크 값 중에서 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 상기 피크 값을 기본 주파수 피크 값에 더하는 방법으로 상기 처음 설정한 멜로디 범위 내에 존재하는 모든 피크 값들에 대해 하모닉 성분을 조사하고 피크 값을 더하는 제 3과정과, 상기 제 3과정을 통하여 더해진 상기 피크 값에 기본 주파수가 낮을수록 작은 값을 곱하고 기본 주파수가 보다 높을수록 보다 높은 값을 곱하여 얻어진 결과 중에서 값이 큰 순서대로 N개의 후보를 찾는 제 4과정 및 상기 제 1과정 내지 제 4과정을 각 프레임마다 적용하여 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아내는 제 5과정을 포함한다.The fourth step may include a first process of extracting the upper K peak values and the frequency value at which the peak values appear, and a first one of the peak values extracted through the first process and the frequency value at the position at which the peak value appears. A second process of finding all peak values existing within the set melody range and selecting them as potential melody candidates, and resetting the melody range based on the potential melody candidates selected through the second process. In the candidate, the frequency of each candidate is regarded as the fundamental frequency of the melody, and if there is a peak value around a frequency corresponding to the harmonic component of the fundamental frequency among the upper K peak values extracted through the first process, the peak value is used. All peaks within the initially set melody range by adding to the frequency peak value And a third step of investigating harmonic components and adding peak values, and a result obtained by multiplying the peak value added through the third step with a smaller value at a lower fundamental frequency and a higher value at a higher fundamental frequency. And a fourth process of finding N candidates in order of increasing values, and a fifth process of finding a range in which a melody pitch exists in all frames by applying the first to fourth processes for each frame.

상기 제 5단계는 상기 제 2단계를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하며, 상기 자기상관계수는 하기의 수학식 2에 의해 구할 수 있다.The fifth step extracts the dynamic change information of the melody pitch as a method of determining the autocorrelation coefficient between frames in the result of conversion to the signal based on the frequency domain through the second step, and the autocorrelation coefficient is It can be obtained by 2.

[수학식 2][Equation 2]

Figure 112010003458364-pat00003
Figure 112010003458364-pat00003

상기 제 6단계는 각 프레임에 대응되는 분석 창의 길이를 설정하며, 상기 분석 창의 길이는 멜로디 피치 값이 낮고 일정하게 유지될수록 긴 분석 창이, 멜로디 피치 값이 높고 동적 변화가 심할수록 보다 짧은 분석 창이 사용되는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
In the sixth step, the length of the analysis window corresponding to each frame is set. The length of the analysis window is lower as the melody pitch value is kept constant and the longer analysis window is used, and the higher the melody pitch value and the dynamic change is shorter, the shorter analysis window is used. Melody extraction method using a harmonic structure model and an analysis window having a fluid length in the audio signal having multiple sounds.

다음으로, 상기 멜로디 피치 후보 추출 단계는, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호가 입력되면, 입력된 상기 오디오 신호를 단시간 푸리에 변환하(STFT)하는 제 1단계와, 상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하는 제 2단계와, 상기 제 2단계를 통하여 센트(Cent) 단위로 변환된 오디오 신호의 각 프레임마다 피크 지점을 추출하는 제 3단계와, 멜로디 피치 후보들이 내포한 하모닉 구조 모델의 비중(Weight)을 측정하는 제 4단계와, 상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하는 제 5단계 및 각 프레임에서 N개의 멜로디 피치 후보를 추출하는 제 6단계를 포함한다.Next, the extracting the melody pitch candidate may include a first step of performing a Fourier transform (STFT) on the input audio signal when the audio signal having various sounds analyzed through the frequency analysis step is input, and the first step; A second step of converting the unit of the short-term Fourier transform (STFT) audio signal through the first step from Hertz (Hz) to cents, and the audio signal converted to the cent unit by the second step In the third step of extracting the peak point for each frame, the fourth step of measuring the weight of the harmonic structure model contained by the melody pitch candidates, and the weight information measured in the fourth step, Comprising a fifth step of compensating the energy level difference according to the frequency and the sixth step of extracting N melody pitch candidates in each frame.

상기 제 2단계는 상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하며, 상기 변환은 하기의 수학식 3에 의한다.In the second step, the unit of the short-time Fourier transform (STFT) audio signal is converted from hertz (Hz) to cents through the first step, and the conversion is based on Equation 3 below.

[수학식 3]&Quot; (3) "

Figure 112010003458364-pat00004
Figure 112010003458364-pat00004

상기 제 3단계는 상기 제 2단계를 통하여 센트(Cent)로 단위로 변환된 오디오 신호의 각 프레임 마다 피크 지점을 추출하며, 상기 피크 지점은 상기 각 프레임의 지엽적 최대값(Local Maximum Value)이다.In the third step, a peak point is extracted for each frame of the audio signal converted into cents through the second step, and the peak point is a local maximum value of each frame.

상기 제 4단계는 상기 제 3단계를 통하여 추출된 지엽적 최대값(Local Maximum Value)을 제외한 나머지 부분은 0으로 설정한 단시간 푸리에 변환(STFT) 결과와 하모닉 구조 모델을 내적(Inner Product)하여 기설정된 멜로디 피치 후보들이 하모닉 구조 모델을 얼마나 내포하고 있는지 비중(Weight)을 측정한다.The fourth step is performed by inner product of the short-term Fourier transform (STFT) result and harmonic structure model which is set to 0 except for the local maximum value extracted through the third step. Measure the weight of how many melody pitch candidates contain the harmonic structure model.

상기 제 5단계는 상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하며, 상기 보상은 낮은 주파수 영역에는 작은 값을 높은 주파수 영역에는 보다 큰 값을 곱하는 방법으로 수행한다.In the fifth step, in the weight information measured in the fourth step, a difference in energy level according to frequency is compensated for, and the compensation is performed by multiplying a small value in a low frequency region by a larger value in a high frequency region. To do it.

상기 제 6단계는 상기 제 5단계를 통하여 보상된 비중(Weight) 정보에 대한 결과를 바탕으로 각 프레임에서 N개의 멜로디 피치 후보를 추출한다.
The sixth step extracts N melody pitch candidates in each frame based on the result of the weight information compensated through the fifth step.

마지막으로, 상기 멜로디 라인 결정 단계는, 각 프레임에서 N개의 멜로디 피치 후보들과 상기 피치 후보들이 가지는 비중(Weight)에 관한 정보를 입력받는 제 1단계와, 멜로디 라인의 시작 프레임을 설정하는 제 2단계와, 상기 제 2단계를 통하여 설정된 시작 프레임에서 상기 제 1단계에서 입력받은 N개의 멜로디 피치 후보들을 선택하고 이들을 비중(Weight)이 큰 순으로 정렬하는 제 3단계와, 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는지 판정하는 제 4단계와, 상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 멜로디 라인 연결을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보를 선택하는 제 5단계와, 상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하는 제 6단계 및 상기 제 6단계를 통하여 선택된 멜로디 라인에서 돌출된 멜로디 피치 값 또는 잘못된 멜로디 피치 값을 제거 및 수정하는 제 7단계를 포함한다.Lastly, the determining of the melody line may include a first step of receiving information about N melody pitch candidates and weights of the pitch candidates in each frame, and a second step of setting a start frame of the melody line. And a third step of selecting the N melody pitch candidates received in the first step from the start frame set through the second step and arranging them in the order of increasing weight, and the two neighboring melody pitch candidates A fourth step of determining whether the predetermined melody line criterion is satisfied; and if it is determined that the two neighboring melody pitch candidates satisfy the predetermined melody line criterion through the fourth step, each melody section is connected through the melody line connection. A fifth step of selecting the number of melody line candidates and a maximum of N melody line candidates selected through the fifth step And a sixth step of selecting an enemy melody line and a seventh step of removing and correcting a melody pitch value or a wrong melody pitch value protruding from the selected melody line through the sixth step.

상기 제 2단계는 멜로디 라인을 결정하기 위한 첫 번째 프레임을 시작 프레임으로 설정한다.The second step sets the first frame for determining the melody line as the start frame.

상기 제 4단계의 멜로디 라인 기준은 멜로디 라인이 가지는 특성을 기반으로 하여 설정되며, 음악의 장르나 특성에 따라 다르게 설정된다.The melody line reference of the fourth step is set based on the characteristics of the melody line and is set differently according to the genre or characteristics of the music.

상기 제 5단계는 상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 첫 번째 후보부터 그 다음 프레임 피치 후보들과 멜로디 라인을 연결한다.In the fifth step, if it is determined through the fourth step that two neighboring melody pitch candidates satisfy a predetermined melody line criterion, the melody line is connected to the next frame pitch candidates from the first candidate.

상기 제 5단계는 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결한 경우 이와 같은 방법으로 시작 프레임의 N번째 멜로디 피치까지 멜로디 라인을 연결하여 한 멜로디 라인 구간에서 총 N개의 멜로디 라인을 연결하며, 멜로디 라인이 끝나는 그 다음 프레임을 또 다른 시작 프레임으로 설정하고 상기 제 3단계 내지 제 4단계의 과정을 반복하여 새로운 멜로디 라인 후보를 형성하는 방법으로 N개의 멜로디 라인 후보를 선택한다.In the fifth step, when the melody lines of the section based on the first candidate are connected, the melody lines are connected to the Nth melody pitch of the start frame in this way to connect a total of N melody lines in one melody line section. N melody line candidates are selected by setting a next frame at which the melody line ends as another start frame and repeating the processes of steps 3 to 4 to form a new melody line candidate.

상기 제 6단계는 상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하며, 상기 최적의 멜로디 라인은 멜로디 라인의 피치 값들이 가지는 비중(Weight) 정보를 기준으로 결정한다.
The sixth step selects an optimal melody line from the N melody line candidates selected through the fifth step, and determines the optimal melody line based on weight information of pitch values of the melody line.

또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 형태로 이용될 수 있다.In addition, the method of extracting a melody using a harmonic structure model and an analysis window having a flexible length according to the present invention may be used in the form of a computer-readable recording medium recording a computer program.

또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 멜로디 추출 시스템에 적용될 수 있다.In addition, the melody extraction method using the harmonic structure model and the analysis window having a fluid length according to the present invention can be applied to the melody extraction system.

또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 음악 내용 정보 자동 추출 시스템에 적용될 수 있다.In addition, the method of extracting a melody using a harmonic structure model and an analysis window having a flexible length can be applied to an automatic music content information extraction system.

또한, 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법은 콘텐츠 기반의 음악 검색 시스템에 적용될 수 있다.
In addition, the method of extracting a melody using a harmonic structure model and an analysis window having a flexible length according to the present invention can be applied to a content-based music retrieval system.

상기한 바와 같이 본 발명에 따른 멜로디 추출 방법에 의하면, 멜로디가 하모닉 모델을 가진다는 특성과 멜로디의 에너지가 다른 소리의 에너지와 비교하여 가장 두드러지게 나타난다는 특성에 기반하여, 여러 음을 가진 오디오 신호에서 멜로디 성분을 추출할 수 있는 효과가 있다.As described above, according to the method of extracting melody according to the present invention, an audio signal having multiple sounds is based on the characteristic that the melody has a harmonic model and that the energy of the melody is most prominent compared to the energy of other sounds. It is effective to extract the melody component from.

또한, 본 발명은 멜로디 성분 이외에 다른 신호의 하모닉 성분들과 베이스 신호에 의해 발생하는 하모닉 간섭(Harmonic Interference)과 옥타브(Octave) 불일치의 영향을 줄일 수 있으며, 신뢰할 만한 수준에서 멜로디 성분을 추출할 수 있는 효과가 있다.In addition, the present invention can reduce the effects of harmonic interference and octave mismatch caused by the harmonic components of the signal other than the melody component and the base signal, and extract the melody component at a reliable level. It has an effect.

이에 따라, 본 발명에 따른 멜로디 추출 방법은, 멜로디 등의 음악 내용 정보를 자동으로 추출하는 시스템 또는 콘텐츠 기반의 음악 검색 시스템(Content-Based Music Information Retrieval System)의 구현이 가능하도록 하는 효과가 있다.
Accordingly, the method of extracting melody according to the present invention has an effect of enabling a system for automatically extracting music content information such as a melody or a content-based music information retrieval system.

도 1은 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법의 순서도이다.
도 2는 주파수 분석 단계의 각 세부 단계를 도시한 순서도이다.
도 3은 여러 음을 가지는 오디오 신호의 다중비율필터뱅크(Multi-Rate Filter Bank) 통과 과정을 나타내는 순서도이다.
도 4는 멜로디 피치 후보 추출 단계의 각 세부 단계를 도시한 순서도이다.
도 5는 하모닉 구조 모델의 예시를 나타내는 그래프이다.
도 6은 멜로디 라인 결정 단계의 각 세부 단계를 도시한 순서도이다.
1 is a flowchart of a method of extracting a melody using a harmonic structure model and an analysis window having a fluid length according to the present invention.
2 is a flowchart showing each detailed step of the frequency analysis step.
3 is a flowchart illustrating a process of passing a multi-rate filter bank of an audio signal having a plurality of sounds.
4 is a flowchart showing each detailed step of the melody pitch candidate extraction step.
5 is a graph illustrating an example of a harmonic structural model.
6 is a flowchart showing each detailed step of the melody line determination step.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명한다. 우선, 도면들 중 동일한 구성요소 또는 부품들은 가능한 한 동일한 참조부호를 나타내고 있음에 유의해야 한다. 본 발명을 설명함에 있어서 관련된 공지기능 혹은 구성에 대한 구체적인 설명은 본 발명의 요지를 모호하게 하지 않기 위해 생략한다.
Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention; First, it should be noted that the same components or parts among the drawings denote the same reference numerals whenever possible. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted so as not to obscure the subject matter of the present invention.

본 발명에 따른 멜로디 추출 방법은, 멜로디 성분이 하모닉 특성을 가지며, 멜로디 성분의 에너지가 가장 두드러지게(Dominant) 나타난다는 특성에 기반한다.The method for extracting melody according to the present invention is based on the property that the melody component has harmonic properties, and the energy of the melody component appears most prominently.

그러나, 여러 음을 가지는 다음 오디오 신호에서 신뢰할 만한 결과의 멜로디를 추출하기 위해서 극복해야 할 다양한 문제점들이 존재한다. 그 중에서 가장 대표적인 문제점들은 다음과 같다.However, there are various problems that must be overcome in order to extract a reliable result melody from the next audio signal with several notes. The most common problems are as follows.

- 하모닉 간섭(Harmonic Interference): 여러 가지 음을 가지는 음악의 경우 여러 악기의 하모닉 성분과 찾고자 하는 멜로디 피치의 하모닉 성분이 서로 간섭을 일으켜 멜로디의 하모닉 성분을 결정하는데 어려움이 있다.-Harmonic Interference: In the case of music with various notes, it is difficult to determine the harmonic component of the melody because the harmonic component of the various instruments and the harmonic component of the melody pitch to be found interfere with each other.

- 옥타브 불일치(Octqve Mismatch): 음악의 경우 특정 음과 그 음의 한 옥타브 높은 음은 기본 주파수가 2배 차이가 난다. 이 경우 하모닉 성분의 많은 부분이 서로 겹치게 되어 멜로디의 피치를 찾고자 할 때 어려움이 발생한다.Octqve Mismatch: For music, a note and an octave higher than that note have two times the fundamental frequency. In this case, a large portion of the harmonic components overlap each other, which causes difficulties when trying to find the pitch of the melody.

- 멜로디의 동적 변화(Dynamic Variation of Melody): 멜로디 피치는 음악의 특성상 기본 주파수의 변화가 발생한다. 즉, 특정 음을 연주하다가 다른 음으로 전환하게 된다. 이렇게 전환되는 구간과 멜로디가 시작되고 끝이 나는 구간에서는 기본 주파수가 빨리 변화하기 때문에 멜로디 피치 주파수를 찾는데 어려움이 있다.
Dynamic Variation of Melody: Melody pitch is a variation of the fundamental frequency due to the nature of the music. In other words, you play a particular note and then switch to another note. It is difficult to find the melody pitch frequency because the fundamental frequency changes quickly in the transition period and the melody start and end sections.

본 발명은 상술한 바와 같은 문제점 속에서도 신뢰할 만한 멜로디 추출이 가능하도록 하는 방법에 관한 것으로서, 도 1에는 본 발명에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법의 순서도가 도시되어 있다. 도 1에 도시된 바와 같이 본 발명에 따른 멜로디 추출 방법은 크게 주파수 분석 단계(S100), 멜로디 피치 후보 추출 단계(S200) 및 멜로디 라인 결정 단계(S300)을 포함한다. 이하에서 상기 각 단계를 보다 자세하게 설명한다.
The present invention relates to a method for enabling reliable melody extraction even in the above-described problems, Figure 1 is a flow chart of the melody extraction method using a harmonic structure model and an analysis window having a fluid length in accordance with the present invention have. As shown in FIG. 1, the method for extracting a melody according to the present invention includes a frequency analysis step S100, a melody pitch candidate extraction step S200, and a melody line determination step S300. Hereinafter, the above steps will be described in more detail.

상기 주파수 분석 단계(S100)는 여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 단계이다. 이러한 주파수 분석 단계(S100)의 각 세부 단계에 관한 순서도는 도 2에 도시하였다.The frequency analysis step S100 is a step of analyzing a frequency using an analysis window having a fluid length when an audio signal having several sounds is input. A flowchart of each detailed step of the frequency analysis step S100 is illustrated in FIG. 2.

먼저,제 1단계(S110)는 입력된 여러 음을 가지는 오디오 신호를 분석하기 적합한 형태(Format)로 변환하기 위하여 상기 오디오 신호를 리샘플링(Resampling)하는 단계이다.First, a first step S110 is a step of resampling the audio signal in order to convert the input audio signal into a format suitable for analysis.

본 발명에서는 주파수 도메인(Frequency Domain)의 분해능(Resolution)을 높이기 위해서 다중비율필터뱅크(Multi-Rate Filter Bank)를 사용하는데, 이를 위해서는 샘플링 주파수(Sampling Frequency)를 2의 거듭제곱 킬로헤르쯔(2n kHz, n=자연수) 형태로 변환해야 한다. 따라서 입력된 여러 음을 가지는 오디오 신호를 알맞은 샘플링 주파수를 갖도록 리샘플링(Resampling)해야 한다.In the present invention, a multi-rate filter bank is used to increase the resolution of the frequency domain. For this purpose, a sampling frequency of 2 square kilohertz (2 n ) is used. kHz, n = natural number). Therefore, it is necessary to resample the input audio signal having various sounds to have a proper sampling frequency.

예를 들어, 44.1 kHz의 샘플링 주파수를 가지는 신호는 32 kHz의 샘플링 주파수로 리샘플링 하고, 22.1 kHz의 샘플링 주파수를 가지는 신호는 16 kHz의 샘플링 주파수로 리샘플링 한다.
For example, a signal having a sampling frequency of 44.1 kHz is resampled at a sampling frequency of 32 kHz, and a signal having a sampling frequency of 22.1 kHz is resampled at a sampling frequency of 16 kHz.

다음으로, 변화하는 길이를 갖는 분석 창을 이용하여 여러 음을 가지는 오디오 신호를 분석하기 위해서 멜로디 피치(Melody Pitch)가 존재하는 범위를 예측해야 한다. 멜로디 피치가 존재하는 범위를 예측하기 위해서 제 2단계(S120)에서는 시간 영역(Time Domain) 기준으로 입력된 오디오 신호를 주파수 영역(Frequency Domain) 기준의 신호로 변환한다.Next, in order to analyze an audio signal having various sounds using an analysis window having a varying length, it is necessary to predict a range in which a melody pitch exists. In order to predict the range in which the melody pitch exists, the second step S120 converts an audio signal input based on a time domain to a signal based on a frequency domain.

이를 위해, 상기 제 2단계(S120)는 고정된 길이의 분석 창(Fixed Lenght Analysis Window)을 이용한 단시간 푸리에 변환(STFT)을 적용하여 시간 영역 기준으로 입력된 오디오 신호를 주파수 영역 기준의 신호로 변환한다.
To this end, the second step S120 converts an audio signal input based on a time domain into a signal based on a frequency domain by applying a short time Fourier transform (STFT) using a fixed length of a fixed Lenght Analysis Window. do.

상기 제 2단계(S120)를 통하여 각 프레임 마다의 스펙트럼(해당 프레임 신호의 주파수 특성 그래프)를 얻을 수 있으므로, 제 3단계(S130)에서는 각 프레임의 스펙트럼에서 진폭이 지엽적 최대값(Local Maximum Value)을 이루는 부분만을 찾아 상기 지엽적 최대값과 지엽적 최대값이 나타나는 부분의 주파수 값을 추출한다.Since the spectrum (frequency characteristic graph of the corresponding frame signal) for each frame can be obtained through the second step S120, in the third step S130, the amplitude is localized in the spectrum of each frame. The frequency value of the portion where the local maximum value and the local maximum value appear is extracted by finding only a part forming the subfield.

즉, 상기 제 3단계(S130)에서는 상기 제 2단계(S120)를 통하여 얻어진 각 프레임의 스펙트럼에서 진폭의 피크 값(Peak Value)과 상기 피크 값이 나타나는 위치의 주파수 값을 추출하여 저장하는 것이다.That is, in the third step S130, the peak value of the amplitude and the frequency value of the position where the peak value appears in the spectrum of each frame obtained through the second step S120 are extracted and stored.

여기서, 상기 제 3단계(S130)의 상기 피크 값이 나타나는 위치의 주파수 값은 주파수 빈의 번호, 이산 푸리에 변환(Discrete Fourier Transform, DFT)의 빈의 개수 및 리샘플링 주파수를 이용하여 추출할 수 있으며, 상기 피크 값이 나타는 위치의 주파수 값은 하기의 수학식 1에 의해 구할 수 있다.
Here, the frequency value of the position where the peak value appears in the third step (S130) may be extracted using the number of frequency bins, the number of bins of the Discrete Fourier Transform (DFT) and the resampling frequency. The frequency value of the position where the peak value appears can be obtained by Equation 1 below.

Figure 112010003458364-pat00005
Figure 112010003458364-pat00005

Figure 112010003458364-pat00006

Figure 112010003458364-pat00006

다음으로, 제 4단계(S140)에서는 상기 제 3단계(S130)를 통하여 추출된 값들을 바탕으로 각 프레임의 멜로디 피치가 존재하는 범위를 재설정하며, 이와 같이 멜로디 피치가 존재하는 범위를 재설정하는 과정은 하기의 제 1과정(S141) 내지 제 5과정(S145)으로 이루어진다.Next, in the fourth step S140, the range in which the melody pitch of each frame exists is reset based on the values extracted through the third step S130, and thus the process of resetting the range in which the melody pitch exists. Is composed of the following first process (S141) to fifth process (S145).

먼저, 제 1과정(S141)에서는 멜로디의 피크 지점을 구한 뒤 상위 K개의 피크 값 및 상기 피크 값이 나타나는 주파수 값을 추출한다. 여기서, K는 이산 푸리에 변환(DFT)을 하기 위해 사용한 빈의 개수가 작아질수록 그 크기가 작아지지만, 일반적으로 100 ∼ 200개 사이 정도로 설정한다. 그러나, 전체 빈의 개수가 너무 작으면 주파수 도메인에서의 분해능(Resolution)이 낮아져 정확한 피크 지점을 예측하기 힘들기 때문에 전체 빈의 개수는 적당히 크게할 필요가 있다. 일반적으로 32 kHz 샘플링 주파수에서는 전체 빈의 개수를 4096개 이상으로 하는 것이 바람직하다.First, in a first step (S141), the peak point of the melody is obtained, and then the upper K peak values and the frequency values at which the peak values appear are extracted. Here, K becomes smaller in size as the number of bins used for the Discrete Fourier Transform (DFT) decreases, but is generally set to about 100 to 200. However, if the total number of bins is too small, the resolution in the frequency domain is low, so that it is difficult to predict the exact peak point. Therefore, the total number of bins needs to be moderately large. In general, at the 32 kHz sampling frequency, it is preferable to set the total number of bins to 4096 or more.

다음으로, 상위 K개의 피크 값과 상기 피크 값이 나타나는 위치의 주파수 값을 추출했으면, 이 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾는다. 예를 들어, 처음 멜로디의 범위를 100 Hz ∼ 1200 Hz 사이로 정하면 이 사이에 존재하는 피크를 찾는 것이다. 일반적으로 100 ∼ 150 Hz 이하에서는 베이스 신호들만 존재하고, 대부분의 멜로디 신호는 80 Hz ∼ 1280 Hz의 4옥타브 이내에 존재한다.Next, when the upper K peak values and the frequency values of the positions where the peak values appear are extracted, all peak values existing within the melody range first set among them are found. For example, if the range of the first melody is set between 100 Hz and 1200 Hz, the peak existing between them is found. Generally, only base signals are present below 100 to 150 Hz, and most melody signals are within 4 octaves of 80 Hz to 1280 Hz.

즉, 상기 제 2과정(S142)에서는 상기 제 1과정(S141)을 통하여 추출된 피크 값 및 상기 피크 값이 나타나는 위치의 주파수 값 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾아 이들을 잠재적인 멜로디 후보로 선정한다.That is, in the second process S142, all peak values existing within the melody range initially set among the peak value extracted through the first process S141 and the frequency value of the position where the peak value appears are found and potentials are found. Selected as a melody candidate.

다음으로, 상기 제 2과정(S142)을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정해야 한다. 이를 위해 본 발명에서는 멜로디는 하모닉 구조를 가지고, 멜로디 성분의 에너지가 가장 두드러지게 나타난다는 성질을 이용한다.Next, the melody range should be reset based on the potential melody candidates selected through the second process (S142). To this end, in the present invention, the melody has a harmonic structure and uses the property that the energy of the melody component is most prominent.

한편, 멜로디 범위를 재설정하기 위해서는 잠재적인 멜로디 후보들에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 제 1과정(S141)을 통하여 추출된 상위 K개의 피크 값 중에서 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 그 피크 값을 기본 주파수 피크 값에 더한다.Meanwhile, in order to reset the melody range, the frequency of each candidate in potential melody candidates is regarded as the fundamental frequency of the melody, and is applied to the harmonic component of the fundamental frequency among the upper K peak values extracted through the first process (S141). If there is a peak value around that frequency, add that peak value to the fundamental frequency peak value.

예를 들어, 100 Hz에 해당하는 곳에 피크가 있을 경우 이를 멜로디의 기본 주파수로 설정하고, 멜로디의 하모닉 성분이 위치해야 하는 200 Hz, 300 Hz, 400 Hz, 500 Hz,...,3200 Hz 주위에 피크 값이 존재하는지를 확인한다. 이 경우 하모닉 성분 주파수 근처에 피크가 존재하면 그 피크의 크기를 100 Hz의 피크에 더해주는 것이다. 만약 하모닉 성분이 위치해야 할 주파수 근처에 피크 값이 존재하지 않을 경우 해당 하모닉 성분의 피크는 없다고 간주한다. 상술한 바와 같은 방법으로 처음 설정한 멜로디 범위 내에 존재하는 모든 피크들에 대해서 그 하모닉 성분들을 조사하고 피크 값을 더해준다.For example, if there is a peak at 100 Hz, set it as the fundamental frequency of the melody, and around 200 Hz, 300 Hz, 400 Hz, 500 Hz, ..., 3200 Hz where the harmonic component of the melody should be located. Check if the peak value exists at. In this case, if there is a peak near the harmonic component frequency, then the magnitude of the peak is added to the 100 Hz peak. If no peak value exists near the frequency at which the harmonic component is to be located, it is assumed that there is no peak of the harmonic component. As described above, the harmonic components are investigated and all peaks are added to all peaks existing within the melody range initially set.

즉, 상기 제 3과정(S143)은 상기 제 2과정(S142)을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정하기 위하여 상기 잠재적인 멜로디 후보에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 상기 피크 값을 기본 주파수 피크 값에 더하는 방법으로 상기 처음 설정한 멜로디 범위 내에 존재하는 모든 피크 값들에 대해 하모닉 성분을 조사하고 피크 값을 더하는 과정을 수행한다.That is, the third process S143 converts the frequency of each candidate from the potential melody candidates into the base frequency of the melody in order to reset the melody range based on the potential melody candidates selected through the second process S142. If there is a peak value around a frequency corresponding to the harmonic component of the fundamental frequency, the harmonic component is examined for all peak values existing within the initially set melody range by adding the peak value to the fundamental frequency peak value. The process of adding the peak values is performed.

한편, 멜로디 범위를 재설정하기에 앞서 상술한 바와 같은 멜로디 피크 값 합산 방법에는 문제점이 있다. 그것은 낮은 주파수의 기본 주파수는 많은 수의 하모닉 성분을 가지고, 높은 주파수의 기본 주파수는 적은 수의 하모닉 성분을 가진다는 것이다.On the other hand, there is a problem in the method of adding the melody peak values as described above before resetting the melody range. That is, the low frequency fundamental frequency has a large number of harmonic components, and the high frequency fundamental frequency has a small number of harmonic components.

예를 들어, 샘플링 주파수가 32 kHz이고, 기본 주파수가 200 Hz인 경우, 그 하모닉은 400 Hz, 600 Hz, 800 Hz,...,32 kHz에 나타나므로 총 159개의 하모닉이 존재할 수 있다. 반면에, 기본 주파수가 1 kHz인 경우에는 그 하모닉이 2 kHz, 3 kHz, 4 kHz,...,32 kHz로 31개의 하모닉만이 존재할 수 있다.For example, if the sampling frequency is 32 kHz and the fundamental frequency is 200 Hz, the harmonics appear at 400 Hz, 600 Hz, 800 Hz, ..., 32 kHz, so there may be a total of 159 harmonics. On the other hand, when the fundamental frequency is 1 kHz, only 31 harmonics may exist, such that the harmonics are 2 kHz, 3 kHz, 4 kHz, ..., 32 kHz.

따라서, 상술한 바와 같은 문제점을 보완하기 위해 제 4과정(S144)에서는 상기 제 3과정(S143)을 통하여 더해진 상기 피크 값에 기본 주파수가 낮을수록 작은 값을 곱해주고, 이와 같이 곱하여 얻어진 결과 중에서 값이 큰 순서대로 N개의 후보를 찾는다. Therefore, in order to compensate for the above problem, in the fourth process S144, the peak value added through the third process S143 is multiplied by a smaller value as the fundamental frequency is lower, and the value is obtained from the multiplication result. N candidates are found in this large order.

이는 피크의 합 결과가 클수록 해당 피크의 주파수가 멜로디 기본 주파수일 가능성이 높은 것이기 때문이다. 따라서, 피크 합의 결과를 바탕으로 선택한 N개의 피크 주파수 값은 멜로디 피치 후보가 될 수 있게 된다.This is because the greater the sum of the peaks, the more likely the frequency of the peak is the melody fundamental frequency. Accordingly, the N peak frequency values selected based on the peak sum result can be melody pitch candidates.

마지막으로, 스펙트럼 피크로부터 기본 주파수와 그 하모닉 성분을 합하는 방법으로 N개의 멜로디 피치 후보를 찾는 방법을 각 프레임 마다 적용한다. 그래서 각 프레임에서 N개의 멜로디 피치 후보를 찾고, 이렇게 각 프레임에서 뽑인 N개의 멜로디 피치 후보들을 이용해서 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아낼 수 있다.Finally, a method of finding N melody pitch candidates by applying the fundamental frequency and its harmonic components from the spectral peak is applied for each frame. Therefore, it is possible to find N melody pitch candidates in each frame, and use the N melody pitch candidates extracted in each frame to find a range in which a melody pitch exists in the entire frame.

즉, 제 5과정(S145)에서는 상기 제 1과정(S141) 내지 제 4과정(S144)을 각 프레임 마다 적용하여 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아내는 것이다. 그리고, 새롭게 알아낸 멜로디 피치 범위는 처음 설정한 멜로디 범위보다는 더욱 좁은 범위를 가질 수 있다.
That is, in the fifth process S145, the first processes S141 to the fourth process S144 are applied to each frame to find a range in which the melody pitch exists in the entire frame. The newly found melody pitch range may have a narrower range than the melody range initially set.

한편, 멜로디 피치 범위를 재설정한 다음에는, 멜로디가 갑자기 바뀌는 동적 변화 구간에 대한 분석이 필요하다. 멜로디 동적 변화 영역을 분석하기 위해서는 상기 제 2단계(S120)에서 구한 단시간 푸리에 변환(SFTF) 결과에서 프레임 간의 자기상관계수(Autocorrelation Coefficient)를 파악해야 한다.On the other hand, after resetting the melody pitch range, it is necessary to analyze the dynamic change section in which the melody suddenly changes. In order to analyze the melody dynamic change region, the autocorrelation coefficient between frames is determined from the short-term Fourier transform (SFTF) result obtained in the second step S120.

이 때, 상기 자기상관계수를 구하기 위해서는 프레임 간의 모든 주파수 빈을 고려하는 것이 아니라 멜로디의 하모닉 성분이 가장 잘 나타나는 영역만을 고려하면 된다. 여기서 주어진 음악 구간에서 가장 낮은 멜로디 피치 값은 상기 제 4단계(S140) 즉, 멜로디 피치 범위 재설정 단계를 통하여 알 수 있다.In this case, in order to obtain the autocorrelation coefficient, it is not necessary to consider all frequency bins between frames, but only an area where the harmonic component of the melody appears best. Here, the lowest melody pitch value in the given music section may be known through the fourth step S140, that is, the melody pitch range resetting step.

한편, 멜로디의 하모닉 성분이 잘 나타나는 구간의 가장 높은 주파수는 보통 2 ∼ 3 kHz가 되며, 일반적으로 자기상관계수를 구하기 위해서는 200 Hz ∼ 2 kHz 사이의 주파수 영역의 빈들이 사용된다.Meanwhile, the highest frequency of the section in which the harmonic component of the melody is well represented is usually 2 to 3 kHz. In general, bins in the frequency region between 200 Hz and 2 kHz are used to obtain autocorrelation coefficients.

즉, 제 5단계(S150)에서는 상기 제 2단계(S120)를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하며, 상기 자기상관계수는 하기의 수학식 2에 의해 구할 수 있다.That is, in the fifth step S150, the dynamic change information of the melody pitch is extracted by extracting the autocorrelation coefficient between the frames from the result obtained by converting the signal to the frequency domain reference signal through the second step S120. The correlation coefficient can be obtained by Equation 2 below.

Figure 112010003458364-pat00007
Figure 112010003458364-pat00007

여기서, Xl(k)는 이산 푸리에 변환(DFT)의 l번째 프레임의 k번째 계수이다.Where X l (k) is the k-th coefficient of the l-th frame of the Discrete Fourier Transform (DFT).

이와 같이 프레임 간의 자기상관계수를 구하여 자기상관계수가 1에 가까울수록 일정한 멜로디 피치를 가지며, 반대로 자기상관계수가 0에 가까울수록 동적인 변화가 심하다고 분석할 수 있다.
As described above, the autocorrelation coefficients between frames have a constant melody pitch as the autocorrelation coefficient is close to 1, and on the contrary, the dynamic change is severe as the autocorrelation coefficient is closer to 0.

다음으로, 제 6단계(S160)에서는 상기 제 4단계(S140)를 통하여 재설정된 각 프레임의 멜로디 피치가 존재하는 범위에 관한 정보 및 상기 제 5단계(S150)를 통하여 추출된 멜로디 피치의 동적 변화 정보를 이용하여 각 프레임에 대응되는 분석 창의 길이를 설정한다.Next, in the sixth step (S160), the information on the range in which the melody pitch of each frame reset through the fourth step (S140) exists and the dynamic change of the melody pitch extracted through the fifth step (S150). The length of the analysis window corresponding to each frame is set using the information.

이 때, 상기 분석 창의 길이는 멜로디 피치 값이 낮고 일정하게 유지될수록 긴 분석 창을, 멜로디 피치 값이 높고 동적 변화가 심할수록 보다 짧은 분석 창을 사용하도록 정한다. 그리고, 멜로디가 일정하여도 그 피치가 높은 경우에는 짧은 길이의 분석 창을 사용하도록 한다. 이는 멜로디 피치가 높은 경우에는 분석 창의 길이가 짧아도 충분한 주기(5주기 이상)의 신호를 내포할 수 있으므로 그 피치를 정확하게 예측할 수 있다. 또한, 멜로디의 동적 변화가 심한 경우에는, 긴 길이의 분석 창을 사용하면 분석 창의 시작 부분과 끝 부분에 위치한 신호의 멜로디 피치가 다르기 때문에 정확한 피치를 예측하기 힘들다. 따라서, 이 경우에도 짧은 길이의 분석 창을 사용하는 것이다. 일반적으로, 분석 창은 32 ms ∼ 92 ms 사이의 분석 창을 이용하는 것이 바람직하나, 본 발명에서는 이를 한정하는 것은 아니다.
In this case, the length of the analysis window is determined to use a long analysis window as the melody pitch value is low and constant and to use a short analysis window as the melody pitch value is high and the dynamic change is severe. If the pitch is high even if the melody is constant, a short analysis window is used. When the melody pitch is high, even if the analysis window is short, it can contain a sufficient period (more than 5 cycles) of the signal, so that the pitch can be accurately predicted. In addition, when the dynamic change of the melody is severe, it is difficult to predict the exact pitch when using the long analysis window because the melody pitch of the signal located at the beginning and the end of the analysis window is different. Therefore, even in this case, a short analysis window is used. In general, the analysis window preferably uses an analysis window between 32 ms and 92 ms, but the present invention is not limited thereto.

다음으로, 제 7단계(S170)에서는 여러 음을 가지는 오디오 신호를 멜로디 피치의 기본 주파수와 하모닉 정보가 포함되어 있는 범위의 신호 성분은 그대로 통과시키고 그 보다 낮은 주파수 영역의 신호들은 제거할 수 있도록 고주파수 통과 필터(HPF)를 이용하여 오디오 신호에서 베이스 신호 및 저주파수 신호를 제거한다.Next, in the seventh step S170, an audio signal having several notes is passed through as it is and a signal component in a range including the fundamental frequency and harmonic information of the melody pitch is left as it is, so that the signals in the lower frequency region can be removed. A pass filter (HPF) is used to remove the base and low frequency signals from the audio signal.

즉, 상기 제 7단계(S170)는 상기 제 6단계(S160)에서 구한 변화하는 길이를 가진 분석 창을 이용하기에 앞서, 상기 제 4단계(S140)에서 구한 보다 세밀한 멜로디 피치 범위를 이용하여, 입력된 여러 음을 가지는 오디오 신호에서 베이스 신호 및 저주파 영역 신호들을 제거한다.
That is, the seventh step (S170) uses the more detailed melody pitch range obtained in the fourth step (S140), before using the analysis window having the variable length obtained in the sixth step (S160), The base signal and the low frequency region signals are removed from the input audio signal.

다음으로, 제 8단계(S180)에서는 상기 제 7단계(S170)를 통하여 고주파수 통과필터(HPF)를 통과한 오디오 신호를 상기 제 6단계(S160)에서 길이가 설정된 각 프레임에 대응되는 분석 창을 이용하여 단시간 푸리에 변환(STFT)한다.Next, in the eighth step S180, an analysis window corresponding to each frame whose length is set in the sixth step S160 of the audio signal passing through the high frequency pass filter HPF through the seventh step S170 is opened. Short-term Fourier transform (STFT).

마지막으로, 제 9단계(190)에서는 상기 제 8단계(S180)를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호를 주파수 영역의 분해능(Resolution)을 높이기 위해 다중비율필터뱅크(Multi-Rate Filter Bank)를 통과시킨다.(M.Goto 방법과 동일)Finally, in the ninth step 190, a multi-rate filter bank is used to increase the resolution of the frequency domain of the short-term Fourier transform (STFT) audio signal through the eighth step (S180). Pass it through (same as the M.Goto method).

한편, 상기 다중비율필터뱅크(Multi-Rate Filter Bank)의 구성은 도 3에 도시된 바와 같다. 상기 다중비율필터뱅크(Multi-Rate Filter Bank)를 통과시키는 이유를 보다 자세하게 설명하면 다음과 같다.On the other hand, the configuration of the multi-rate filter bank (Multi-Rate Filter Bank) is as shown in FIG. The reason for passing the multi-rate filter bank will be described in more detail as follows.

일반적으로 사람이 인식하는 멜로디 피치는 로그 스케일(Log Scale)이다. 예를 들어, 440 Hz와 880 Hz 사이는 한 옥타브를 이루며, 880 Hz와 1720 Hz 사이도 한 옥타브를 이룬다. 그리고 1720 Hz와 3440 Hz 사이도 한 옥타브를 이룬다. 이와 같이, 멜로디의 음이 높아질수록 피아노 한 건반이 차지하는 주파수의 간격이 늘어난다. 하지만, 일반적인 N개의 빈을 가지는 이산 푸리에 변환(DFT)을 실시했을 때, 한 개 빈 사이가 나타내는 주파수 간격은 샘플링 주파수/N Hz(Fs/N Hz)로 일정하다.In general, the melody pitch that a human recognizes is a log scale. For example, between 440 Hz and 880 Hz one octave, and between 880 Hz and 1720 Hz one octave. There is also an octave between 1720 Hz and 3440 Hz. In this manner, as the melody becomes higher, the interval between the frequencies occupied by a piano keyboard increases. However, when the Discrete Fourier Transform (DFT) having N bins in general is performed, the frequency interval indicated by one bin is constant at the sampling frequency / N Hz (Fs / N Hz).

이는 결국, 낮은 주파수의 음 사이에는 적은 수의 주파수 빈이 할당되고, 높은 주파수의 음 사이에는 많은 수의 주파수 빈이 할당되는 결과를 낳으므로, 음 높이에 따른 주파수 분해능(Frequency Resolution)이 달라지는 문제점이 있다. 이와 같은 문제점을 해결하기 위해서 도 3에 도시된 바와 같은 다중비율필터뱅크(Multi-Rate Filter Bank)를 사용하는 것이다.
This results in a problem that a small number of frequency bins are allocated between low frequency sounds and a large number of frequency bins are allocated between high frequency sounds, so that the frequency resolution according to the pitch is different. . In order to solve this problem, a multi-rate filter bank as shown in FIG. 3 is used.

상술한 바와 같이 상기 주파수 분석 단계(S100)는 도 2에 도시된 바와 같이 제 1단계(S110) 내지 제 9단계(S190)를 포함하는 각 세부 단계를 통하여 입력된 여러 음을 가지는 오디오 신호의 주파수를 분석할 수 있다.
As described above, the frequency analysis step (S100) is the frequency of the audio signal having various sounds input through each detailed step including the first step (S110) to the ninth step (S190) as shown in FIG. Can be analyzed.

한편, 상기 멜로디 피치 후보 추출 단계(S200)는 상기 주파수 분석 단계(S100)를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 단계이다. 이러한 멜로디 피치 후보 추출 단계(S200)의 각 세부 단계에 관한 순서도는 도 4에 도시하였다.
Meanwhile, the melody pitch candidate extraction step S200 is a step of extracting melody pitch candidates using a harmonic structure model from an audio signal having various sounds analyzed through the frequency analysis step S100. A flowchart of each detailed step of the melody pitch candidate extraction step S200 is illustrated in FIG. 4.

먼저, 제 1단계(S210)는 입력된 여러 음을 가지는 오디오 신호를 단시간 푸리에 변환(Short Time Fourier Transform, SFTF)하는 단계이다.First, a first step S210 is a step of performing a short time Fourier transform (SFTF) of an input audio signal.

상기 제 2단계(S220)에서는 상기 제 1단계(S210)를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하며, 이러한 변환은 하기의 수학식 3에 의해 수행된다.In the second step S220, the unit of the audio signal short-time Fourier transformed (STFT) through the first step (S210) is converted from hertz (Hz) to cents (Cent). Is performed by.

Figure 112010003458364-pat00008
Figure 112010003458364-pat00008

여기서, 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하는 이유는 센트(Cent) 단위가 로그 스케일(Log scale)로 음악의 음계를 선형(Linear)적으로 나타낼 수 있는 단위이기 때문이다. The reason for converting a unit of an audio signal from hertz (Hz) to cents is that a cent unit is a unit that can linearly represent the musical scale on a log scale. to be.

예를 들어, 헤르쯔(Hz) 단위에서는 피아노 건반 하나의 차이가 22/12 차이가 나고, 한 옥타브는 주파수 2배 차이가 나지만, 센트(Cent) 단위에서는 피아노 건반 하나가 언제나 100 Cent 차이가 나며, 한 옥타브는 언제나 1200 Cent 차이가 난다.또한, 센트(Cent) 단위로 매핑(mapping)하게 되면 저주파수 대역의 분해능이 높아져 헤르쯔(Hz) 단위에서는 하모닉 간섭으로 인해 제대로 보이지 않던 하모닉 성분들을 잘 관측할 수 있다는 장점이 있다.
For example, one Hertz (Hz) difference is 2 2/12 difference, one octave is 2 times frequency difference, while in Cents one piano key is always 100 Cent difference. In addition, one octave is always 1200 cents apart, and mapping in cents increases the resolution of the low-frequency bands, making it easier to observe harmonics that were invisible due to harmonic interference in hertz. There is an advantage that it can.

상기 제 3단계(S230)에서는 상기 제 2단계(S220)를 통하여 센트(Cent) 단위로 변환된 오디오 신호의 각 프레임 마다 지엽적 최대값(Local Maximum Value) 즉, 피크(Peak) 지점을 추출한다. 이는 피크를 이루는 지점이 하모닉 피치(Harmonic Pitch)가 위치할 확률이 높기 때문이다. In the third step S230, a local maximum value, that is, a peak point, is extracted for each frame of the audio signal converted in cent units through the second step S220. This is because there is a high probability that the harmonic pitch is located at the point where the peak is formed.

한편, 센트(Cent) 단위는 헤르쯔(Hz) 단위와는 반대로 그 특성 상 저주파 성분이 더 많은 센트(Cent)를 차지하게 되는 센트 퍼짐 현상이 일어나게 된다. 이러한 현상은 저주파 영역의 베이스 신호가 큰 에너지 값을 가질 경우 하모닉 성분의 비중(Weight)을 구하는데 있어 간섭을 일으키는 원인이 된다. 따라서 지엽적 최대값 지점만을 고려하는 과정을 통하게 되면 실제 하모닉 성분이 위치하는 부분만을 추려낼 수 있게 되고, 저주파 영역의 베이스 신호에 의한 하모닉 간섭 효과를 줄일 수 있다.
On the other hand, in the cent unit, in contrast to the hertz unit, a cent spread phenomenon occurs in which low frequency components occupy more cents. This phenomenon causes interference in obtaining the weight of the harmonic component when the base signal of the low frequency region has a large energy value. Therefore, if only the local maximum value point is considered, only the portion where the actual harmonic component is located can be extracted, and the effect of harmonic interference caused by the base signal in the low frequency region can be reduced.

상기 제 4단계(S240)는 멜로디 피치 후보들이 내포한 하모닉 구조 모델의 비중(Weight)을 측정한다. 보다 자세하게, 상기 제 4단계(S240)에서는 상기 제 3단계(S230)를 통하여 추출된 지엽적 최대값(Local Maximum Value)을 제외한 나머지 부분은 0으로 설정한 단시간 푸리에 변환(STFT) 결과와 하모닉 구조 모델을 내적(Inner Product)하여 기설정된 멜로디 피치 후보들이 하모닉 구조 모델을 얼마나 내포하고 있는지 비중(Weight)을 측정한다.The fourth step (S240) measures the weight of the harmonic structure model included in the melody pitch candidates. In more detail, in the fourth step S240, a short time Fourier transform (STFT) result and a harmonic structure model in which the remaining parts except for the local maximum value extracted through the third step S230 are set to 0 are set. The inner product is used to measure the weight of how many preset melody pitch candidates contain the harmonic structure model.

여기서, 도 5에 도시된 바와 같은 하모닉 구조 모델(Harmonic Structure Model)을 사용하는 이유는 멜로디 피치의 하모닉 성분의 경우 그 크기가 고주파로 갈수록 작아기기 때문이다. 이와 같이 하모닉 성분이 고주파로 갈수록 작아지는 이유는 신호의 래디에이션(Radiation) 효과 때문이다.Here, the reason for using the harmonic structure model as shown in FIG. 5 is that the size of the harmonic component of the melody pitch decreases as the frequency increases. The reason why the harmonic component becomes smaller at higher frequencies is due to the radiation effect of the signal.

그러나, 대부분의 악기에서 하모닉 성분은 멜로디 하모닉 성분과 비교하여 고주파로 갈수록 하모닉 크기가 감소하는 정도가 휠씬 크다는 성질이 있다. 이와 같이 악기와 멜로디 하모닉 성분과의 차이를 고려하여 고주파수로 갈수록 도 5에 도시된 바와 같은 정도로 하모닉 크기가 감소하는 하모닉 모델을 설정할 경우 멜로디 하모닉 성분에 대해 더 큰 비중(Weight)이 할당 되도록 하는 장점이 생긴다.However, in most musical instruments, the harmonic component is much larger than the melody harmonic component in that the harmonic size decreases at higher frequencies. As described above, in consideration of the difference between the musical instrument and the melody harmonic component, when setting a harmonic model in which the harmonic size decreases to a high frequency as shown in FIG. 5, a larger weight is assigned to the melody harmonic component. This occurs.

일반적으로 하모닉 성분의 경우 기본 주파수의 정수배에 해당되는 주파수에 생긴다고 알려져 있으나, 음이 변화하는 경우나 다른 하모닉 성분의 영향으로 인해서 정확히 기본 주파수의 정수배에 하모닉 성분이 생기지 않을 때도 있다. 따라서 하모닉 구조 모델을 도 5에 도시된 바와 같이 설정하여 기본 주파수의 정수배가 아닌 경우에도 찾을 수 있도록 하였다.
Generally, harmonic components are known to occur at frequencies corresponding to integer multiples of the fundamental frequency. However, there may be times when harmonic components do not exactly occur at integer multiples of the fundamental frequency due to changes in sound or effects of other harmonic components. Therefore, the harmonic structure model is set as shown in FIG. 5 so that the harmonic structure model can be found even when it is not an integer multiple of the fundamental frequency.

한편, 상기 제 4단계(S240)를 통하여 각 멜로디 피치 후보들이 내포한 하모닉 구조 모델(Harmonic Structure Model)의 비중(Weight)을 구할 수 있었다. 그러나 이러한 비중(Weight) 정보에는 주파수에 따른 에너지 레벨 차이가 고려되지 않았다.Meanwhile, the weight of the harmonic structure model included in the respective melody pitch candidates may be obtained through the fourth step S240. However, the weight information does not consider the difference in energy level according to frequency.

따라서, 상기 제 5단계(S250)에서는 상기 제 4단계(S240)에서 측정한 비중 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상해 준다. 이를 위해, 상기 제 5단계(S250)에서는 낮은 주파수 영역에는 작은 값을 높은 주파수 영역에는 보다 큰 값을 곱하는 방법으로 주파수에 따른 에너지 레벨 차이를 보상한다.Therefore, in the fifth step S250, the difference in energy level according to frequency is compensated for in the specific gravity information measured in the fourth step S240. To this end, in the fifth step S250, a difference in energy level according to frequency is compensated by multiplying a small value in a low frequency region by a larger value in a high frequency region.

왜냐하면, 일반적으로 스펙트럼에서 낮은 주파수 영역의 신호가 높은 주파수 영역의 신호보다 높은 에너지 레벨을 갖기 때문에 이 영향을 제거해주기 위한 것이다. 이와 같이 주파수에 따른 상대적인 값을 곱해주는 과정을 통해 낮은 주파수를 가지는 음에 대한 비중(Weight)과 에너지가 큰 베이스 신호의 영향을 줄여주는 효과를 거둠으로써 본 발명에 따른 방법은 하모닉 간섭과 옥타브 불일치에 보다 강인해질 수 있게 된다.
This is because the signal in the low frequency region of the spectrum generally has a higher energy level than the signal in the high frequency region to eliminate this effect. By multiplying the relative value according to the frequency, the method according to the present invention has the effect of reducing the influence of the weight and energy of the bass signal having a low frequency. You can be stronger.

상기 제 6단계(S260)는 각 프레임에서 N개의 멜로디 피치 후보를 추출하는 단계이다. 즉, 상기 제 6단계(S260)에서는 상기 제 5단계(S250)를 통하여 보상된 비중(Weight) 정보에 대한 결과를 바탕으로 각 프레임에서 N개의 멜로디 피치 후보를 추출한다. The sixth step S260 is to extract N melody pitch candidates in each frame. That is, in the sixth step S260, N melody pitch candidates are extracted in each frame based on the result of weight information compensated through the fifth step S250.

대부분의 경우, 가장 큰 비중(Weight)을 가지는 피치값이 멜로디 피치일 경우가 많으나 항상 그런 것은 아니다. 왜냐하면, 다른 악기의 하모닉 성분이 멜로디 하모닉 성분보다 아주 크거나, 주변 악기 하모닉들의 간섭에 의해 멜로디 피치 하모닉의 성분의 크기가 작아진 경우, 멜로디 피치값이 아닌 다른 악기의 피치값에 더 큰 비중(Weight)이 할당될 수 있기 때문이다. In most cases, the pitch value with the largest weight is often the melody pitch, but this is not always the case. If the harmonic component of another instrument is much larger than the melody harmonic component, or the size of the component of the melody pitch harmonic becomes smaller due to the interference of the surrounding instrument harmonics, Weight can be assigned.

따라서, 본 발명에서는 이러한 문제점을 줄이기 위해 각 프레임 마다 N개의 멜로디 피치 후보를 선택하고 이들 중에서 멜로디 라인이 결정될 수 있도록 한다.
Accordingly, in the present invention, in order to reduce such a problem, N melody pitch candidates are selected for each frame, and a melody line can be determined among them.

마지막으로, 상기 멜로디 라인 결정 단계(S300)는 상기 멜로디 피치 후보 추출 단계(S200)에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 단계이다. 즉, 상기 멜로디 라인 결정 단계(S300)에서는 상기 멜로디 피치 후보 추출 단계(S200)에서 추출된 멜로디 피치 후보와 각 후보가 가지는 비중(Weight) 정보를 바탕으로 피치 후보들을 보다 쉽고 정확하게 연결하여 신뢰할 만한 멜로디 라인을 결정한다.Finally, the melody line determination step (S300) is a step of determining the melody line by connecting the melody pitch candidates extracted in the melody pitch candidate extraction step (S200). That is, in the melody line determination step (S300), the melody pitch candidate extracted in the melody pitch candidate extraction step (S200) and the pitch candidates are connected more easily and accurately based on weight information of each candidate, so that a reliable melody Determine the line.

이러한 멜로디 라인 결정 단계(S300)의 각 세부 단계에 관한 순서도는 도 6에 도시하였다. 도 6에 도시된 바와 같이 상기 멜로디 라인 결정 단계(S300)는 제 1단계(S310) 내지 제 7단계(S370)로 이루어지는 각 단계를 포함한다.
A flowchart of each detailed step of the melody line determination step S300 is illustrated in FIG. 6. As illustrated in FIG. 6, the melody line determination step S300 includes each step including the first step S310 to the seventh step S370.

먼저, 제 1단계(S310)에서는 각 프레임에서 N개의 멜로디 피치 후보들과 상기 피치 후보들이 가지는 비중(Weight)에 관한 정보를 입력받는다.First, in a first step (S310), N melody pitch candidates and information on the weight of the pitch candidates are received in each frame.

다음으로, 제 2단계(S320)에서는 멜로디 라인의 시작 프레임을 설정한다. 즉, 상기 제 2단계(S320)에서는 멜로디 라인을 결정하기 위한 첫 번째 프레임을 시작 프레임(출발 프레임)으로 설정한다.Next, in the second step S320, the start frame of the melody line is set. That is, in the second step S320, the first frame for determining the melody line is set as a start frame (start frame).

한편, 본 발명에서는 첫 번째 프레임에서 마지막 프레임까지 모든 프레임의 피치 후보들을 서로 연결하는 것은 아니며, 인접한 프레임의 멜로디 피치 후보들이 멜로디 라인이 가지는 특성들에 따라 정해진 기준을 모두 만족하지 않을 경우, 음의 변화나 멜로디의 불연속이 발생하였다고 판단하고 멜로디 라인의 연결을 끊는다. 그리고, 멜로디 라인이 끊긴 프레임의 후속 프레임을 새로운 멜로디 라인의 시작 프레임으로 설정하여 또 다른 멜로디 라인을 이어 나간다. 이와 같이 하나의 멜로디 라인으로 연결된 프레임의 묶음을 하나의 구간으로 판단한다.
Meanwhile, in the present invention, pitch candidates of all frames are not connected to each other from the first frame to the last frame, and when the melody pitch candidates of adjacent frames do not satisfy all of the criteria determined according to the characteristics of the melody line, Determine that a change or discontinuity of the melody has occurred and disconnect the melody line. Subsequently, the next frame of the frame in which the melody line is broken is set as the start frame of the new melody line to continue another melody line. In this way, a bundle of frames connected by one melody line is determined as one section.

한편, 상기 제 2단계(S320)에서 새로운 멜로디 라인의 시작 프레임을 설정하면 상기 시작 프레임에서 상기 제 1단계에서 입력받은 N개의 멜로디 피치 후보들을 선택할 수 있게 되며, 상기 제 3단계(S330)에서는 상기 제 2단계(S320)를 통하여 설정된 시작 프레임에서 N개의 멜로디 피치 후보들을 선택하고 이들을 비중(Weight)이 큰 순으로 정렬한다. 이 때, 비중(Weight)이 클수록 멜로디 피치일 가능성이 높기 때문에 멜로디 라인 연결시 우선 순위를 높게 설정한다.
On the other hand, if the start frame of the new melody line is set in the second step (S320) it is possible to select the N melody pitch candidates received in the first step in the start frame, and in the third step (S330) The N melody pitch candidates are selected in the start frame set through the second step S320, and they are arranged in order of weight. In this case, the higher the weight, the more likely the melody pitch is, so that the priority is set when connecting the melody line.

다음으로, 제 4단계(S340)에서는 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는지 판정한다. 여기서, 상기 멜로디 라인 기준은 멜로디 라인이 가지는 특성을 기반으로 하여 설정되며, 음악의 장르나 특성에 따라 다르게 설정될 수 있다. 이 때, 멜로디 라인 기준을 위해 사용된 멜로디 라인 특성은 다음과 같은 세가지를 들 수 있다.Next, in a fourth step S340, it is determined whether two neighboring melody pitch candidates satisfy a predetermined melody line criterion. The melody line reference may be set based on characteristics of the melody line, and may be set differently according to the genre or characteristics of the music. At this time, the melody line characteristics used for the melody line reference may be as follows.

- 음악에서 비브라토(Vibrato)의 경우, 일반적으로 사람의 목소리는 ±60 ∼200 cents, 악기 소리는 ±20 ∼30 cents의 범위를 갖는다.In the case of Vibrato in music, the human voice typically ranges from ± 60 to 200 cents and the instrument sounds from ± 20 to 30 cents.

- 음악에서 음의 변화는 멜로디의 변화를 나타내는데, 일반적으로 음의 변화는 1옥타브 이내로 제한되어 있다.In music, the change in sound represents a change in melody. In general, the change in sound is limited to less than one octave.

- 일반적으로 사람의 목소리는 50 ms 이상의 호흡 시간을 갖는다.
In general, the human voice has a breathing time of 50 ms or more.

여기서, 상기 3가지 멜로디 라인 특성을 기반으로 설정된 멜로디 라인 기준은 다음과 같다. 이 때 번호가 높을수록 그 우선 순위가 높음을 나타낸다.Here, the melody line reference set based on the three melody line characteristics is as follows. In this case, the higher the number, the higher the priority.

1) 두 프레임 멜로디 피치 값의 차이가 목소리인 경우에 100 cent, 악기 소리인 경우에 50 cent 이내인 경우 두 멜로디 피치를 연결한다. 이러한 조건을 만족시키는 멜로디 피치 후보가 2개 이상 존재할 경우에는 비중(Weight)이 큰 후보와 연결한다.1) Connect the two melody pitches if the difference between the two frame melody pitch values is within 100 cents for voice and within 50 cents for instrument sound. If two or more melody pitch candidates satisfying such a condition exist, the candidate is connected with a large weight.

2) 두 프레임 멜로디 피치 값의 차이가 200 cent 이내인 경우, 두 멜로디 피치를 연결한다. 여기서도 상기 1)에서와 같이 조건을 만족시키는 멜로디 피치 후보가 2개 이상 존재할 경우에는 비중(Weight)이 큰 후보와 연결한다.2) If the difference between the two frame melody pitch values is within 200 cents, connect the two melody pitches. Here, too, when there are two or more melody pitch candidates satisfying the condition as in 1), the candidate is connected with a large weight.

3) 두 프레임 멜로디 피치 값의 차이가 한 옥타브 이상 차이나며, 이러한 차이가 50 ms 이상 지속될 경우, 한 옥타브 이상 차이가 발생한 프레임부터 새로운 멜로디 라인을 시작한다.3) If the difference between two frame melody pitch values is more than one octave, and the difference persists for more than 50 ms, start a new melody line from the frame with more than one octave difference.

이 때, 상기 기준들에서 두 멜로디 피치 값의 차이는 음악의 장르나 특성에 따라 다르게 설정될 수 있음은 물론이며, 상기와 같이 예시된 기준에 의해 본 발명을 한정하는 것은 아니다.
In this case, the difference between the two melody pitch values in the above standards may be set differently according to the genre or characteristics of the music, and the present invention is not limited by the above-described standards.

다음으로, 제 5단계(S350)는 상기 제 4단계(S340)를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 멜로디 라인 연결을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보를 선택한다. 상기 제 5단계(S350)에서는 먼저 상기 멜로디 라인 기준에 따라 멜로디 라인을 연결한다. 이 때, 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결하였으면, 같은 방법으로 시작 프레임의 2,3,4,..., N번째 멜로디 피치를 기준으로 멜로디 라인을 연결한다. 그 다음, 상기 제 2단계(S320) 및 제 3단계(S330)의 반복을 통해서 새로운 멜로디 라인을 형성하며, 이와 같은 과정을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보들을 선택할 수 있다.Next, in the fifth step S350, if it is determined through the fourth step S340 that two neighboring melody pitch candidates satisfy a predetermined melody line criterion, N melodies in each melody section are connected through the melody line connection. Select a line candidate. In the fifth step S350, first, a melody line is connected according to the melody line reference. At this time, if the melody lines of the section based on the first candidate are connected, the melody lines are connected based on the 2,3,4, ..., N-th melody pitch of the start frame in the same manner. Next, a new melody line is formed by repeating the second step S320 and the third step S330. Through this process, N melody line candidates can be selected for each melody period.

즉, 상기 제 5단계(S350)에서는 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결한 경우 이와 같은 방법으로 시작 프레임의 N번째 멜로디 피치까지 멜로디 라인을 연결하여 한 멜로디 라인 구간에서 총 N개의 멜로디 라인을 연결하며, 멜로디 라인이 끝나는 그 다음 프레임을 또 다른 시작 프레임으로 설정하고 상기 제 3단계(S330) 내지 제 4단계(S340)의 과정을 반복하여 새로운 멜로디 라인 후보를 형성하는 방법으로 N개의 멜로디 라인 후보를 선택하게 된다.
That is, in the fifth step S350, when the melody lines of the section based on the first candidate are connected, the melody lines are connected to the Nth melody pitch of the start frame in this manner, so that a total of N pieces in the melody line section are provided. N is a method of connecting a melody line, setting a next frame at which the melody line ends as another start frame, and repeating the processes of steps S330 to S340 to form a new melody line candidate. Melody line candidates are selected.

다음으로, 상기 제 6단계(S360)에서는 상기 제 5단계(S350)를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택한다. 이 때, 상기 최적의 멜로디 라인은 멜로디 라인의 피치 값들이 가지는 비중(Weight) 정보를 기준으로 결정한다.Next, in the sixth step S360, an optimal melody line is selected from the N melody line candidates selected through the fifth step S350. At this time, the optimal melody line is determined based on weight information of pitch values of the melody line.

마지막으로, 제 7단계(S370)에서는 상기 제 6단계(S360)를 통하여 선택된 최적의 멜로디 라인에서 돌출된 멜로디 피치 값 또는 잘못된 멜로디 피치 값을 제거 및 수정하는 스무드화 과정(Smoothing Process)을 수행하며, 상기 스무드화 과정을 거친 후에 최종적인 다음 오디오 신호의 멜로디 라인을 추출할 수 있게 된다.
Finally, in the seventh step S370, a smoothing process is performed to remove and correct the melody pitch value or the wrong melody pitch value protruding from the optimal melody line selected through the sixth step S360. After the smoothing process, the melody line of the final next audio signal can be extracted.

이상과 같이 본 발명에 따른 멜로디 추출 방법을 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
As described above with reference to the drawings illustrating a melody extraction method according to the present invention, the present invention is not limited by the embodiments and drawings disclosed herein, but by those skilled in the art within the technical scope of the present invention Of course, various modifications may be made.

Claims (24)

여러 음을 가진 오디오 신호가 입력되면, 유동적 길이를 가지는 분석 창을 이용하여 주파수를 분석하는 주파수 분석 단계;
상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호에서 하모닉 구조 모델을 이용하여 멜로디 피치 후보들을 추출하는 멜로디 피치 후보 추출 단계; 및
상기 멜로디 피치 후보 추출 단계에서 추출된 멜로디 피치 후보들을 연결하여 멜로디 라인을 결정하는 멜로디 라인 결정 단계;를 포함하되,
상기 주파수 분석 단계는, 입력된 여러 음을 가지는 오디오 신호를 리샘플링(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단계;를 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
A frequency analysis step of analyzing a frequency using an analysis window having a flexible length when an audio signal having several sounds is input;
A melody pitch candidate extraction step of extracting melody pitch candidates using a harmonic structure model from the audio signal having various sounds analyzed through the frequency analysis step; And
A melody line determination step of determining a melody line by connecting melody pitch candidates extracted in the melody pitch candidate extraction step;
The frequency analyzing step may include a first step of resampling an audio signal having various input sounds;
Converting an audio signal input based on a time domain to a signal based on a frequency domain;
A third step of extracting a peak value of an amplitude from the spectrum of each frame obtained through the second step and a frequency value at a position where the peak value appears;
A fourth step of resetting a range in which a melody pitch of each frame exists based on the values extracted through the third step;
A fifth step of extracting dynamic change information of a melody pitch by a method of determining autocorrelation coefficients between frames in a result of conversion to a signal based on a frequency domain through the second step;
Setting the length of the analysis window corresponding to each frame using information on the range in which the melody pitch of each frame reset through the fourth step exists and dynamic change information of the melody pitch extracted through the fifth step; Step 6;
A seventh step of removing a base signal and a low frequency signal from the audio signal using a high frequency pass filter (HPF);
An eighth step of performing a short time Fourier transform (STFT) on the audio signal passing through the high frequency pass filter (HPF) through the seventh step using an analysis window corresponding to each frame whose length is set in the sixth step; And
And a ninth step of passing a short-time Fourier transform (STFT) audio signal through a multi-rate filter bank to increase resolution in a frequency domain through the eighth step. Melodic extraction method using harmonic structure model and flexible length analysis window in multi-tone audio signal.
삭제delete 청구항 1에 있어서,
상기 제 2단계는 고정된 길이의 분석 창(Fixed Length Analysis Window)을 이용한 단시간 푸리에 변환(STFT)을 적용하여 시간 영역 기준으로 입력된 오디오 신호를 주파수 영역 기준의 신호로 변환하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 1,
In the second step, a short time Fourier transform (STFT) using a fixed length analysis window is applied to convert an audio signal input based on a time domain into a signal based on a frequency domain. Melody Extraction Method Using Harmonic Structure Model and Analysis Window with Flexible Length in Sound Audio Signal.
청구항 1에 있어서,
상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 주파수 빈의 번호, 이산 푸리에 변환(DFT)의 빈의 개수 및 리샘플링 주파수를 이용하여 추출하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 1,
The frequency value of the position where the peak value appears in the third step is extracted using the number of frequency bins, the number of bins of the discrete Fourier transform (DFT), and the resampling frequency. Melody extraction method using structural model and analysis window with flexible length.
청구항 4에 있어서,
상기 제 3단계의 상기 피크 값이 나타나는 위치의 주파수 값은 하기의 수학식 1에 의해 구하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
[수학식 1]
Figure 112010003458364-pat00009

Figure 112010003458364-pat00010

The method of claim 4,
The method of extracting a melody using a harmonic structure model and an analysis window having a fluid length in an audio signal having various sounds, characterized in that the frequency value of the position where the peak value appears in the third step is obtained by Equation 1 below. .
[Equation 1]
Figure 112010003458364-pat00009

Figure 112010003458364-pat00010

청구항 1에 있어서,
상기 제 4단계는, 상위 K개의 멜로디 피크 값 및 상기 피크 값이 나타나는 주파수 값을 추출하는 제 1과정;
상기 제 1과정을 통하여 추출된 피크 값 및 상기 피크 값이 나타나는 위치의 주파수 값 중에서 처음 설정한 멜로디 범위 안에 존재하는 모든 피크 값들을 찾아 이들을 잠재적인 멜로디 후보로 선정하는 제 2과정;
상기 제 2과정을 통하여 선정된 잠재적인 멜로디 후보들을 바탕으로 멜로디 범위를 재설정하기 위하여 상기 잠재적인 멜로디 후보에서 각 후보의 주파수를 멜로디의 기본 주파수로 간주하고, 상기 제 1과정을 통하여 추출된 피크 값 중에서 상기 기본 주파수의 하모닉 성분에 해당하는 주파수 주위에 피크 값이 있으면 상기 피크 값을 기본 주파수 피크 값에 더하는 방법으로 상기 처음 설정한 멜로디 범위 내에 존재하는 모든 피크 값들에 대해 하모닉 성분을 조사하고 피크 값을 더하는 제 3과정;
상기 제 3과정을 통하여 상기 기본 주파수에 대해 더해진 상기 피크 값에 보상값을 곱해주되, 일 기본 주파수가 타 기본 주파수보다 작으면 타 기본 주파수에 대한 보상값 보다 작은 보상값을 곱해주고, 상기 일 기본 주파수가 타 기본 주파수보다 크면 타 기본 주파수에 대한 보상값보다 큰 보상값을 곱해주고, 곱하여 얻어진 결과 중에서 값이 큰 순서대로 N개의 후보를 찾는 제 4과정; 및
상기 제 1과정 내지 제 4과정을 각 프레임마다 적용하여 전체 프레임에서 멜로디 피치가 존재하는 범위를 알아내는 제 5과정;
을 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 1,
The fourth step may include: extracting a top K melody peak value and a frequency value at which the peak value appears;
A second step of finding all peak values existing within the melody range initially set among the peak values extracted through the first process and the frequency values at the positions where the peak values appear, and selecting them as potential melody candidates;
In order to reset the melody range based on the potential melody candidates selected through the second process, the frequency of each candidate in the potential melody candidate is regarded as the fundamental frequency of the melody, and the peak value extracted through the first process. If there is a peak value around a frequency corresponding to the harmonic component of the fundamental frequency, the harmonic component is examined for all peak values existing within the first set melody range by adding the peak value to the fundamental frequency peak value. Adding a third process;
The peak value added to the fundamental frequency through the third process is multiplied by a compensation value. When one fundamental frequency is smaller than the other fundamental frequency, the compensation value smaller than the compensation value for the other fundamental frequency is multiplied. A fourth step of multiplying a compensation value that is larger than a compensation value for another fundamental frequency when the frequency is greater than another fundamental frequency, and finding N candidates in order of increasing values from the multiplication result; And
A fifth process of applying the first to fourth processes for each frame to find a range in which a melody pitch exists in the entire frame;
Melody extraction method using a harmonic structure model and an analysis window having a fluid length in the audio signal having a plurality of sounds, comprising a.
청구항 1에 있어서,
상기 제 5단계는 상기 제 2단계를 통하여 주파수 영역 기준의 신호로 변환된 결과에서 프레임 간의 자기상관계수를 파악하는 방법으로 멜로디 피치의 동적 변화 정보를 추출하며, 상기 자기상관계수는 하기의 수학식 2에 의해 구하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
[수학식 2]
Figure 112011050608410-pat00011

The method according to claim 1,
The fifth step extracts the dynamic change information of the melody pitch as a method of determining the autocorrelation coefficient between frames in the result of conversion to the signal based on the frequency domain through the second step, and the autocorrelation coefficient is Method for extracting melody using harmonic structure model and analysis window with flexible length in audio signal with multiple sound, characterized by 2).
[Equation 2]
Figure 112011050608410-pat00011

청구항 1에 있어서,
상기 제 6단계는 각 프레임에 대응되는 분석 창의 길이를 설정하며, 상기 분석 창의 길이는 멜로디 피치 값에 따라 설정되는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 1,
The sixth step sets the length of the analysis window corresponding to each frame, and the length of the analysis window is set according to a melody pitch value. How to extract melody using window.
청구항 1에 있어서,
멜로디 피치 후보 추출 단계는, 상기 주파수 분석 단계를 통하여 분석된 여러 음을 가진 오디오 신호가 입력되면, 입력된 상기 오디오 신호를 단시간 푸리에 변환(STFT)하는 제 1단계;
상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하는 제 2단계;
상기 제 2단계를 통하여 센트(Cent) 단위로 변환된 오디오 신호의 각 프레임마다 피크 지점을 추출하는 제 3단계;
멜로디 피치 후보들이 내포한 하모닉 구조 모델의 비중(Weight)을 측정하는 제 4단계;
상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하는 제 5단계; 및
각 프레임에서 N개의 멜로디 피치 후보를 추출하는 제 6단계;
를 포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 1,
The melody pitch candidate extracting step may include: a first step of performing a short time Fourier transform (STFT) on the input audio signal when an audio signal having various sounds analyzed through the frequency analysis step is input;
A second step of converting a unit of an audio signal having a short time Fourier transform (STFT) from hertz (Hz) to cents through the first step;
A third step of extracting a peak point for each frame of the audio signal converted in cent units through the second step;
A fourth step of measuring a weight of the harmonic structure model included in the melody pitch candidates;
A fifth step of compensating for a difference in energy level according to frequency in weight information measured in the fourth step; And
Extracting N melody pitch candidates in each frame;
Melody extraction method using a harmonic structure model and an analysis window having a fluid length in the audio signal having a plurality of sounds, comprising a.
청구항 9에 있어서,
상기 제 2단계는 상기 제 1단계를 통하여 단시간 푸리에 변환(STFT)된 오디오 신호의 단위를 헤르쯔(Hz)에서 센트(Cent)로 변환하며, 상기 변환은 하기의 수학식 3에 의하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
[수학식 3]
Figure 112010003458364-pat00012

The method according to claim 9,
In the second step, the unit of the short-time Fourier transform (STFT) audio signal is converted from hertz (Hz) to cents (Cent) through the first step, and the conversion is based on Equation 3 below. Melodic extraction method using harmonic structure model and fluidized analysis window in multi-sound audio signal.
[Equation 3]
Figure 112010003458364-pat00012

청구항 9에 있어서,
상기 제 3단계는 상기 제 2단계를 통하여 센트(Cent)로 단위로 변환된 오디오 신호의 각 프레임 마다 피크 지점을 추출하며, 상기 피크 지점은 상기 각 프레임의 지엽적 최대값(Local Maximum Value)인 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 9,
The third step extracts a peak point for each frame of the audio signal converted into cents through the second step, and the peak point is a local maximum value of each frame. Melody extraction method using harmonic structure model and fluidized analysis window in multi-tone audio signal.
청구항 9에 있어서,
상기 제 4단계는 상기 제 3단계를 통하여 추출된 지엽적 최대값(Local Maximum Value)을 제외한 나머지 부분은 0으로 설정한 단시간 푸리에 변환(STFT) 결과와 하모닉 구조 모델을 내적(Inner Product)하여 기설정된 멜로디 피치 후보들이 하모닉 구조 모델을 얼마나 내포하고 있는지 비중(Weight)을 측정하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 9,
The fourth step is performed by inner product of the short-term Fourier transform (STFT) result and harmonic structure model which is set to 0 except for the local maximum value extracted through the third step. A method of extracting a melody using an analysis window having a harmonic structure model and a fluid length in an audio signal having multiple notes, wherein the weight of the melody pitch candidates includes a harmonic structure model.
청구항 9에 있어서,
상기 제 5단계는 상기 제 4단계에서 측정한 비중(Weight) 정보에 있어서, 주파수에 따른 에너지 레벨 차이를 보상하며, 상기 보상은 일 주파수 영역에는 일 값을 곱하고, 타 주파수 영역에는 타 값을 곱하여 이루어지되, 상기 일 주파수 영역이 타 주파수 영역보다 높은 경우 상기 일 값은 타 값보다 크고, 반대로 상기 일 주파수 영역이 타 주파수 영역보다 낮은 경우 상기 일 값은 타 값보다 작은 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 9,
In the fifth step, in the weight information measured in the fourth step, a difference in energy level according to frequency is compensated for, and the compensation is performed by multiplying one value in one frequency region and another value in another frequency region. However, when the one frequency region is higher than the other frequency region, the work value is greater than the other value. On the contrary, when the one frequency region is lower than the other frequency region, the work value is smaller than the other value. Melody Extraction Method Using Harmonic Structure Model and Analysis Window with Flexible Length in Excitation Audio Signal.
청구항 9에 있어서,
상기 제 6단계는 상기 제 5단계를 통하여 보상된 비중(Weight) 정보에 대한 결과를 바탕으로 각 프레임에서 N개의 멜로디 피치 후보를 추출하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 9,
The sixth step extracts N melody pitch candidates from each frame based on the result of the weight information compensated through the fifth step. Melody Extraction Method Using Analysis Window with Flexible Length.
청구항 1에 있어서,
멜로디 라인 결정 단계는, 각 프레임에서 N개의 멜로디 피치 후보들과 상기 피치 후보들이 가지는 비중(Weight)에 관한 정보를 입력받는 제 1단계;
멜로디 라인의 시작 프레임을 설정하는 제 2단계;
상기 제 2단계를 통하여 설정된 시작 프레임에서 상기 제 1단계에서 입력받은 N개의 멜로디 피치 후보들을 선택하고 이들을 비중(Weight)이 큰 순으로 정렬하는 제 3단계;
이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는지 판정하는 제 4단계;
상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 멜로디 라인 연결을 통해 각 멜로디 구간마다 N개의 멜로디 라인 후보를 선택하는 제 5단계;
상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하는 제 6단계; 및
상기 제 6단계를 통하여 선택된 멜로디 라인에서 돌출된 멜로디 피치 값 또는 잘못된 멜로디 피치 값을 제거 및 수정하는 제 7단계;
포함하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 1,
The determining of the melody line may include: a first step of receiving N melody pitch candidates and information on the weight of the pitch candidates in each frame;
Setting a start frame of the melody line;
A third step of selecting N melody pitch candidates received in the first step from the start frame set through the second step and sorting the melody pitch candidates in ascending order of weight;
A fourth step of determining whether two neighboring melody pitch candidates satisfy a predetermined melody line criterion;
A fifth step of selecting N melody line candidates for each melody section through melody line connection when it is determined through the fourth step that two neighboring melody pitch candidates satisfy a predetermined melody line criterion;
A sixth step of selecting an optimal melody line from the N melody line candidates selected in the fifth step; And
A seventh step of removing and correcting a melody pitch value or an incorrect melody pitch value protruding from the selected melody line through the sixth step;
Melody extraction method using a harmonic structure model and an analysis window having a flexible length in the audio signal having a multi-tone.
청구항 15에 있어서,
상기 제 2단계는 멜로디 라인을 결정하기 위한 첫 번째 프레임을 시작 프레임으로 설정하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 15,
The second step is a method of extracting a melody using a harmonic structure model and an analysis window having a flexible length in an audio signal having several sounds, wherein the first frame for determining a melody line is set as a start frame.
청구항 15에 있어서,
상기 제 4단계의 멜로디 라인 기준은 멜로디 라인이 가지는 특성을 기반으로 하여 설정되며, 음악의 장르나 특성에 따라 다르게 설정되는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 15,
The melody line criterion of the fourth step is set based on the characteristics of the melody line, and is set differently according to the genre or characteristics of the music. Melody extraction method using the analysis window having.
청구항 15에 있어서,
상기 제 5단계는 상기 제 4단계를 통하여 이웃한 두 멜로디 피치 후보가 기설정된 멜로디 라인 기준을 만족하는 것으로 판정되면, 첫 번째 후보부터 그 다음 프레임 피치 후보들과 멜로디 라인을 연결하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 15,
In the fifth step, if it is determined through the fourth step that two neighboring melody pitch candidates satisfy a predetermined melody line criterion, the melody line is connected to the next frame pitch candidates from the first candidate. Melody Extraction Method Using Harmonic Structure Model and Analysis Window with Flexible Length in Sound Audio Signal.
청구항 18에 있어서,
상기 제 5단계는 첫 번째 후보를 기준으로 한 구간의 멜로디 라인을 연결한 경우 이와 같은 방법으로 시작 프레임의 N번째 멜로디 피치까지 멜로디 라인을 연결하여 한 멜로디 라인 구간에서 총 N개의 멜로디 라인을 연결하며, 멜로디 라인이 끝나는 그 다음 프레임을 또 다른 시작 프레임으로 설정하고 상기 제 3단계 내지 제 4단계의 과정을 반복하여 새로운 멜로디 라인 후보를 형성하는 방법으로 N개의 멜로디 라인 후보를 선택하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method according to claim 18,
In the fifth step, when the melody lines of the section based on the first candidate are connected, the melody lines are connected to the Nth melody pitch of the start frame in this way to connect a total of N melody lines in one melody line section. N melody line candidates are selected by setting a next frame at which the melody line ends as another start frame and repeating the process of steps 3 to 4 to form a new melody line candidate. Melodic extraction method using harmonic structure model and flexible length analysis window in multi-tone audio signal.
청구항 19에 있어서,
상기 제 6단계는 상기 제 5단계를 통하여 선택된 N개의 멜로디 라인 후보 중에서 최적의 멜로디 라인을 선택하며, 상기 최적의 멜로디 라인은 멜로디 라인의 피치 값들이 가지는 비중(Weight) 정보를 기준으로 결정하는 것을 특징으로 하는 여러 음을 가진 오디오 신호에서 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법.
The method of claim 19,
The sixth step selects an optimal melody line from among the N melody line candidates selected through the fifth step, and determines the optimal melody line based on weight information of pitch values of the melody line. Melody extraction method using harmonic structure model and fluidized analysis window in multi-tone audio signal.
청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법에 관한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
A computer-readable recording medium having recorded thereon a computer program relating to a method of extracting a melody using a harmonic structure model according to any one of claims 1 to 3 and an analysis window having a fluid length.
청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 적용한 멜로디 추출 시스템.
A melody extraction system using a harmonic structure model according to any one of claims 1 and 3 to 20 and a melody extraction method using an analysis window having a fluid length.
청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 적용한 음악 내용 정보 자동 추출 시스템.
A system for automatically extracting music content information using a harmonic structure model according to any one of claims 1 and 3 to 20 and a melody extraction method using an analysis window having a flexible length.
청구항 1, 청구항 3 내지 청구항 20 중 어느 하나의 항에 따른 하모닉 구조 모델과 유동적인 길이를 갖는 분석 창을 이용한 멜로디 추출 방법을 적용한 콘텐츠 기반의 음악 검색 시스템.Content-based music retrieval system using a harmonic structure model according to any one of claims 1, 3 to 20 and a melody extraction method using an analysis window having a flexible length.
KR1020100004695A 2010-01-19 2010-01-19 An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window KR101106185B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100004695A KR101106185B1 (en) 2010-01-19 2010-01-19 An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100004695A KR101106185B1 (en) 2010-01-19 2010-01-19 An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window

Publications (2)

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

Family

ID=44921932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100004695A KR101106185B1 (en) 2010-01-19 2010-01-19 An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window

Country Status (1)

Country Link
KR (1) KR101106185B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873154B (en) * 2012-12-13 2016-05-25 恒银金融科技股份有限公司 A kind of mobile phone receives the method for data with digital audio signature device

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 (en) 2007-05-10 2008-11-20 Mitsubishi Electric Corp Melody extraction device and melody extraction method

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 (en) 2007-05-10 2008-11-20 Mitsubishi Electric Corp Melody extraction device and melody extraction method

Also Published As

Publication number Publication date
KR20110085089A (en) 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 (en) Music search device
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
Weiß Computational methods for tonality-based style analysis of classical music audio recordings
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
Dannenberg Style in music
Barbancho et al. Database of Piano Chords: An Engineering View of Harmony
KR101106185B1 (en) An apparatus and a method for Melody Extraction of Polyphonic Audio by using Harmonic Structure Model and Variable Length Window
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 (en) Method for Melody Pitch Candidate Extraction of Polyphonic Audio based on Harmonic Structure Model
Roberts et al. A time-scale modification dataset with subjective quality labels
Chuan et al. The KUSC classical music dataset for audio key finding
KR101095968B1 (en) Method for Spectral Analysis of Polyphonic Audio by Using Variable Length Window
Ali-MacLachlan Computational analysis of style in Irish traditional flute playing
Singh et al. Deep learning based Tonic identification in Indian Classical Music
Unnikrishnan An efficient method for tonic detection from south Indian classical music
Mores Vowel quality in violin sounds—A timbre analysis of Italian masterpieces
Shelke et al. An Effective Feature Calculation For Analysis & Classification of Indian Musical Instruments Using Timbre Measurement

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