KR20020044081A - 연주악기의 소리정보, 또는 소리정보 및 악보정보를이용한 음악분석 방법 - Google Patents

연주악기의 소리정보, 또는 소리정보 및 악보정보를이용한 음악분석 방법 Download PDF

Info

Publication number
KR20020044081A
KR20020044081A KR1020010076099A KR20010076099A KR20020044081A KR 20020044081 A KR20020044081 A KR 20020044081A KR 1020010076099 A KR1020010076099 A KR 1020010076099A KR 20010076099 A KR20010076099 A KR 20010076099A KR 20020044081 A KR20020044081 A KR 20020044081A
Authority
KR
South Korea
Prior art keywords
information
sound
frequency components
digital
performance
Prior art date
Application number
KR1020010076099A
Other languages
English (en)
Other versions
KR100455752B1 (ko
Inventor
정도일
Original Assignee
정도일
어뮤즈텍(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 정도일, 어뮤즈텍(주) filed Critical 정도일
Publication of KR20020044081A publication Critical patent/KR20020044081A/ko
Application granted granted Critical
Publication of KR100455752B1 publication Critical patent/KR100455752B1/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H3/00Instruments in which the tones are generated by electromechanical means
    • G10H3/12Instruments in which the tones are generated by electromechanical means using mechanical resonant generators, e.g. strings or percussive instruments, the tones of which are picked up by electromechanical transducers, the electrical signals being further manipulated or amplified and subsequently converted to sound by a loudspeaker or equivalent instrument
    • G10H3/125Extracting or recognising the pitch or fundamental frequency of the picked up signal
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/056Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for extraction or identification of individual instrumental parts, e.g. melody, chords, bass; Identification or separation of instrumental parts by their characteristic voices or timbres
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/126Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters for graphical editing of individual notes, parts or phrases represented as variable length segments on a 2D or 3D representation, e.g. graphical edition of musical collage, remix files or pianoroll representations of MIDI-like files
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/011Files or data streams containing coded musical information, e.g. for transmission
    • G10H2240/046File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
    • G10H2240/056MIDI or other note-oriented file format
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/215Transforms, i.e. mathematical transforms into domains appropriate for musical signal processing, coding or compression
    • G10H2250/235Fourier transform; Discrete Fourier Transform [DFT]; Fast Fourier Transform [FFT]

Abstract

본 발명은 디지털음향을 분석하기 위해서 악기의 소리정보, 또는 소리정보와 악보정보를 이용하는 기술에 관한 것이다. 특히, 본 발명은 입력되는 디지털음향들을 생성하기 위해서 사용되었던 또는 사용중인 악기들의 소리정보, 또는 이 소리정보와 입력되는 디지털음향들을 생성하기 위해서 사용되었던 또는 사용중인 악보정보를 이용하는 것에 관한 것이다.
본 발명에 의하면, 입력되는 디지털음향을 생성하기 위해서 사용된 연주악기의 음 높낮이별, 세기별 소리정보 등을 미리 저장하고 있어서 그 악기로 연주하는 단음이나 복음들을 용이하게 분석할 수 있다.
또한, 본 발명에 의하면, 연주악기의 소리정보와 악보정보를 같이 이용함으로써 입력되는 디지털음향을 정확하게 분석할 수 있고 정량적인 데이터로 추출할 수 있게 된다.

Description

연주악기의 소리정보, 또는 소리정보 및 악보정보를 이용한 음악분석 방법{Method for analyzing music using sounds of instruments, or sounds and information of music notes}
본 발명은 디지털 음향신호를 분석하는 방법에 관한 것으로서, 특히, 입력되는 디지털 음향신호의 주파수 성분과 연주 악기 소리의 주파수 성분을 비교함으로써 디지털 음향신호를 분석하는 방법에 관한 것이다.
1980년대 개인용 컴퓨터의 보급이 시작된 이후로 컴퓨터의 기술, 성능 및 환경이 급속도로 발전하였으며, 1990년대에는 인터넷이 회사의 각 부문 및 개인생활영역까지 급속도로 퍼지게 되었다. 이에 따라서, 21세기에는 전세계적으로 컴퓨터의 이용이 모든 분야에서 매우 중요한 사항으로 되고 있으며, 이를 음악에 응용한 것들 중 하나가 미디(MIDI: Music Instrument Digital Interface)이다. 즉, '미디'란 사람의 음성이나 악기의 연주 소리들을 합성(Synthesis)하고, 저장할 수 있는 컴퓨터 음악 기술들 중 음악가들이 이용하는 대표적인 기술로서, 현재 대중음악 작곡자들이나 연주자들에게 주로 이용하는 기술이다.
예를 들어, 작곡자들은 미디 기능을 가진 전자악기를 컴퓨터와 연결하여 손쉽게 작곡을 할 수 있게 되었고, 이렇게 작곡한 연주곡은 컴퓨터 또는 신디사이저의 음향합성을 이용하여 쉽게 재생될 수 있게 되었다. 또한, 녹음과정에서 미디장비들로 제작된 음향이 가수들의 노래와 믹싱(Mixing)되어 사람들이 좋아하는 음악으로 탄생하기도 하였다.
미디 기술은 이렇게 대중음악과 결합하면서 지속적으로 발달하고 있고 동시에 음악 교육분야에도 진출하고 있다. 즉, 미디는 음악 연주의 실제 소리와 상관없이 단순히 악기의 종류, 음의 높이 및 세기, 음의 시작과 끝 정보만을 이용하고 있기 때문에 미디 악기와 컴퓨터를 이용하여 미디 정보들을 주고받을 수 있다. 따라서, 미디 기능을 갖는 전자피아노와 컴퓨터를 미디 케이블로 연결한 후, 전자피아노를 연주할 때에 생성되는 미디 정보를 이용해서 음악교육에 활용할 수 있다. 이에 따라서 일본의 야마하를 비롯한 많은 회사에서 미디를 이용한 음악 교육 소프트웨어들을 개발하여 적용하고 있다.
하지만, 이러한 미디 기술은, 어쿠스틱 악기의 소리와 어쿠스틱 악기를 연주할 때 느끼는 감정들을 보다 소중하게 느끼는 대부분의 클래식 음악가들의 욕구를 충족시키지는 못하고 있다. 즉, 대부분의 클래식 음악가들은 전자악기의 소리와 느낌을 좋아하지 않기 때문에 전통적인 방법으로 음악을 공부하고 어쿠스틱 악기의 연주를 배우는 형편이다. 따라서, 클래식 음악을 가르치거나 배울 때에는 음악학원이나 음악학교 등을 이용하며 학생들은 음악선생의 지도에 전적으로 의존하여 배울 수밖에 없다. 이러한 상황에서 교육열기가 높은 국내에서는 고액의 음악과외가 성행하고 자녀들의 훌륭한 음악 교육을 위해서 훌륭한 선생들에게 배우려고 하는 경쟁이 과열되곤 한다. 이러한 클래식 음악 교육환경에 컴퓨터 기술과 디지털신호처리 기술을 도입하여 어쿠스틱 악기로 연주된 음악을 분석하여 정량적인 연주정보로 나타낼 수 있다면 바람직할 것이다.
이를 위해, 어쿠스틱 악기의 연주음을 디지털음향으로 변환한 후, 그 디지털음향을 컴퓨터가 분석하도록 하는 기술이 여러 각도에서 시도되고 있는 현실이다.
이러한 하나의 예로서, "Eric D. Scheirer"의 석사 논문인 『Extracting Expressive Performance Information from Recorded Music』을 살펴보면, 녹음된 디지털 음향으로부터 미디음악을 추출하기 위해 악보정보를 이용하였다. 상기 논문을 참조하면, 그는 각 음들의 세기, 시작하는 타이밍, 끝나는 타이밍들을 추출하여 미디음악으로 변환하는 것에 대해서 연구하였다. 하지만, 상기 논문에 기재된 실험 결과를 보면, 악보정보를 사용하였을 경우에 녹음된 디지털음향으로부터 시작하는타이밍은 나름대로 정확하게 추출되었으나, 끝나는 타이밍과 음의 세기 정보를 추출하는 것은 여전히 정확하지 않다는 문제점이 있다.
한편, 전세계적으로 몇 개 되지 않는 작은 회사들이 음악인식 기술을 이용하여 간단한(simple signal) 디지털음향을 분석할 수 있는 초기 제품들을 내놓고 있으며, 인터넷상의 alt.music.midi FAQ에 따르면 웨이브(Wave) 형식의 디지털음향을 분석하여 미디형식으로 변환하거나, 악보로 옮겨주는 제품들이 다수 개발되어 있다. Akoff Music Composer, Sound2MIDI, Gama, WIDI, Digital Ear, WAV2MID, Polyaxe Driver, WAV2MIDI, IntelliScore, PFS-System, Hanauta Musician, Audio to MIDI, AmazingMIDI, Capella-Audio, AutoScore, 및 가장 최근에 발표된 WaveGoodbye들이 그것이다.
이들 중 몇몇 제품은 복음에 대해서도 분석할 수 있다고 광고하지만 실제로 시험한 결과 복음 분석은 불가능한 것으로 나타났다. 그렇기 때문에, 상기 FAQ 문서에서는 컴퓨터로 웨이브 형식의 음악을 미디 형식으로 변경한 후에 재생할 경우 원래의 웨이브 음악과 유사하게 들릴 수 있게 할 수 있는가에 대해서 불가능하다고 설명하고 있다. 게다가, 현재로서는 웨이브 음악을 미디 음악으로 변경하는 소프트웨어들에 대해서 모두 가치 없다고 명시하고 있다.
이하에서는, 이들 제품 중에서 Araki Software사의 AmazingMIDI를 사용하여 웨이브 음악이 어떻게 분석되는지 실험해본 결과에 대해서 기술하도록 하겠다.
도 1은 실험에 사용한 곡의 악보로서, 베토벤 피아노 소나타 8번 2악장 첫 번째 두 마디에 해당하고, 도 2는 도 1에 도시된 악보를 분석에 편리하도록 각각의단음으로 구분하여 각 음표에 음정을 표시하는 기호를 부여한 것이다. 도 3은 AmazingMIDI에서 웨이브 음악을 미디 음악으로 변경하기 위해서 사용자가 설정하는 파라미터 입력 윈도우이며, 도 4는 각종 파라미터 값들을 가장 우측으로 설정하였을 때 변환된 미디 윈도우이고, 도 5는 도 2의 악보정보를 이용하여 원래의 웨이브 음악에 해당하는 부분을 도 4에 검은색 막대로 표시한 것이다. 도 6은 각종 파라미터 값들을 가장 좌측으로 설정하였을 때 변환된 미디 윈도우이고, 도 7은 도 5와 마찬가지로 도 6에 웨이브 음악에 해당하는 부분을 검은색 막대로 표시한 것이다.
먼저 도 1과 도 2를 참조하면, 최초에 C4, A3, A2의 세 개 음이 나타나고 C4 및 A2건반이 눌려진 상태에서 A3대신에 E3건반이 눌려지고 다시 A3, E3순서로 반복된다. 다음으로 C4 음은 B3음으로 바뀌고 A2음은 D3음으로 바뀌며 A3음이 G3 음으로 바뀌어 다시 B3및 D3건반이 눌려진 상태에서 G3, E3, G3, E3순서로 반복된다. 따라서, 이 악보를 미디로 변환할 경우에 도 5에 검은색 막대로 표시된 것처럼 미디 정보가 구성되어야 함을 알 수 있는데, 실제로는 도 4에 도시된 바와 같이 미디 정보가 구성된다는 문제점이 있다.
도 3을 참조하면, AmazingMIDI에서는 사용자가 각종 파라미터를 설정하여 웨이브 음악을 미디 음악으로 변경하도록 하는데, 이들 설정 값에 따라서 구성되는 미디 정보가 큰 차이를 나타냄을 알 수 있다. 도 3의 설정 값 중 Minimum Analysis, Minimum Relative, Minimum Note 값들을 모두 오른쪽 끝으로 설정한 후에 미디 음악으로 변환한 결과가 도 4에 도시되어 있고, 각 값들을 모두 왼 쪽 끝으로 설정하여 미디 음악으로 변환한 결과가 도 6에 도시되어 있다. 도 4와 도 6을 비교하면 엄청난 차이가 있음을 알 수 있다. 즉, 도 4에서는 주파수 영역에서 세기가 큰 부분들만을 인식하여 미디로 적용하였으며, 도 6에서는 세기가 작은 부분들도 인식하여 미디로 적용하였음을 알 수 있다. 따라서, 도 4의 미디 정보 항목들은 기본적으로 도 6에 포함되어서 나타나게 된다.
도 4와 도 5를 서로 비교해 보면, 도 4의 경우 실제로 연주된 부분인 A2, E3, G3, D3가 전혀 인식되지 않고 있으며, C4, A3, B3의 경우에도 인식된 부분이 실제 연주된 부분과 많이 다름을 알 수 있다. 즉, C4의 경우 인식된 부분이 전체 음의 길이 중 초기 25%에 그치고 있으며, B3의 경우 20%보다도 작게 인식되고 있음을 알 수 있다. 또한 A3의 경우 35% 정도에 그치고 있다. 그런 반면에 연주하지 않은 음들이 무척 많이 인식되고 있음을 알 수 있다. E4의 경우 상당히 센 크기로 인식되고 있으며, A4, G4, B4, D5, F5 등의 음들도 잘못 인식되고 있다.
도 6과 도 7을 서로 비교해 보면, 도 6의 경우 실제로 연주된 부분인 A2, E3, G3, D3, C4, A3, B3가 모두 인식되고 있으나, 인식된 부분이 실제 연주된 부분과 상당한 차이가 있음을 알 수 있다. 즉, C4, A2의 경우 건반을 계속 누르고 있었기 때문에 실제로 소리가 계속 나고 있음에도 불구하고, 한번 이상 음이 끊어진 형태로 인식되었음을 알 수 있다. 게다가, A3, E3등의 경우 실제로 연주된 시점과 음의 길이가 상당히 다르게 인식되었다. 도 6 및 도 7을 살펴보면, 검은색 막대로 표현한 부분 이외에 많은 부분이 회색 막대로 나타나고 있음을 알 수 있다. 이 부분들은 실제로 연주되지 않았음에도 불구하고 잘못 인식된 음들이며, 제대로 인식한 부분보다 훨씬 많은 부분들을 차지하고 있다. 본 명세서에서는, AmazingMIDI 프로그램 이외의 다른 프로그램들을 실험한 결과는 기재하지 않겠지만, 현재까지 공개된 모든 프로그램들의 음악인식 결과는 전술한 바와 같은 AmazingMIDI 프로그램을 사용하여 실험한 결과와 큰 차이가 없이 그다지 만족스럽지 못함을 확인하였다.
즉, 컴퓨터 기술과 디지털신호처리 기술을 도입하여, 어쿠스틱 악기로 연주된 음악들을 분석하기 위한 기술이 여러 각도에서 시도되고는 있지만, 현재까지 만족스런 결과를 얻지 못하고 있는 실정이다.
따라서, 본 발명에서는 연주에 사용된 악기에 대하여 기 저장된 소리 정보를 이용함으로써, 보다 정확한 연주 분석 결과를 도출할 수 있으며, 그 결과를 정량적인 데이터로 추출할 수 있도록 하는 음악분석 방법을 제공하는 것을 목적으로 한다.
즉, 본 발명의 목적은 연주악기의 소리정보를 이용하여 디지털음향에 포함된 구성신호들과 해당 소리정보의 구성 신호들을 비교/분석함으로써, 단음은 물론 복음의 분석도 정확하게 할 수 있는 음악분석 방법을 제공하는 데에 있다.
또한, 본 발명의 다른 목적은 연주악기의 소리정보 및 연주곡의 악보정보를 이용하여, 상기와 같이 정확한 분석 결과를 얻을 수 있음과 동시에, 분석에 소요되는 시간을 줄일 수 있도록 하는 음악분석 방법을 제공하는 데에 있다.
도 1은 베토벤 피아노 소나타 8번 2악장 첫 번째 두 마디에 해당하는 악보를 도시한 도면.
도 2는 도 1에 도시된 악보의 복음을 단음들로 구분하여 도시한 악보 도면.
도 3은 AmazingMIDI 프로그램의 파라미터 설정 윈도우를 나타낸 도면.
도 4는 AmazingMIDI 프로그램에서 도 1에 도시된 악보의 실제 연주를 미디로 변환한 결과 도면.
도 5는 도 4의 미디 결과 도면에, 실제 연주에 해당하는 부분을 검정 막대로 표시하여 조합한 도면.
도 6은 AmazingMIDI 프로그램에서 도 1에 도시된 악보의 실제 연주를 미디로 변환한 다른 결과 도면.
도 7은 도 6의 미디 결과 도면에, 실제 연주에 해당하는 부분을 검정 막대로 표시하여 조합한 도면.
도 8은 디지털음향을 분석하는 방법에 대한 개념도.
도 9a 내지 도 9e는 디지털음향을 분석하기 위해서 사용하는 피아노 소리정보의 시도.
도 10은 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향을 분석하는 과정에 대한 처리 흐름도.
도 10a는 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향의 프레임별 단음정보를 도출하는 과정에 대한 처리 흐름도.
도 10b는 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향 및 해당 악기의 소리정보의 프레임별 주파수 성분을 비교/분석하는 과정에 대한 처리 흐름도.
도 11은 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향을 분석하는 과정에 대한 처리 흐름도.
도 11a는 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향의 프레임별 단음정보 및 연주오류정보를 도출하는 과정에 대한 처리 흐름도.
도 11b 및 도 11c는 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향 및 해당 악기의 소리정보 및 악보정보의 프레임별 주파수 성분을 비교/분석하는 과정에 대한 처리 흐름도.
도 11d는 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 생성된 연주기대값을 정리하는 과정에 대한 처리 흐름도.
도 12는 도 1 및 도 2에 도시된 악보의 첫 번째 마디를 피아노로 연주하여그 소리를 주파수별로 분석한 도면.
도 13a 내지 도 13g는 상기 악보의 첫 번째 마디에 포함된 각 음들을 피아노로 연주하여 그 소리를 주파수별로 분석한 도면들.
도 14a 내지 도 14g는 상기 악보의 첫 번째 마디에 포함된 각 음들에 대한 주파수 성분들이 도 12에 나타난 상태를 표시한 도면들.
도 15는 도 12의 도면에서 표시되는 각 주파수들을 도 2의 악보에 포함된 음들의 주파수들 각각과 비교하여 나타낸 도면.
도 16a 내지 도 16d는 도 1 및 도 2에 도시된 악보의 첫 번째 마디에 대한 연주음을 FFT 변환할 때, 설정되는 윈도우의 크기별 주파수 분석 결과를 나타낸 도면들.
도 17a 및 도 17b는 FFT 윈도우의 크기에 따라 디지털음향 분석 과정의 시간 오차가 달라지는 것을 보여주기 위한 도면.
도 18은 본 발명의 실시예에 따라 소리정보 및 악보정보를 이용하여 도출한 단음정보들을 다시 합성한 소리를 주파수별로 분석한 결과를 도시한 도면.
상기 목적을 달성하기 위해 본 발명에서 제공하는 연주악기의 소리정보를 이용한 음악분석 방법은 연주악기별 소리정보를 생성하고 저장하는 단계(a)와, 상기 저장된 연주악기별 소리정보 중 실제로 연주될 악기의 소리정보를 선택하는 단계(b)와, 디지털음향을 입력으로 받는 단계(c)와, 상기 입력된 디지털음향 신호를 단위 프레임별 주파수 성분으로 분해하는 단계(d)와, 상기 입력된 디지털음향신호의 주파수 성분들과 상기 선택된 연주악기 소리정보의 주파수 성분들을 비교 분석하여, 상기 입력된 디지털음향신호에 포함된 단음 정보들을 도출하는 단계(e)와, 상기 도출된 단음 정보들을 출력으로 보내는 단계(f)를 포함하는 것을 특징으로 한다.
한편, 상기 다른 목적을 달성하기 위해, 본 발명에서 제공하는 연주악기의 소리정보 및 악보정보를 이용한 음악분석 방법은 연주 악기별 소리정보를 생성하고 저장하는 단계(a)와, 연주될 악보의 악보정보를 생성하고 저장하는 단계(b)와, 상기 저장된 연주악기별 소리정보 및 악보정보들 중 실제로 연주될 악기의 소리정보 및 악보정보를 선택하는 단계(c)와, 디지털음향을 입력으로 받는 단계(d)와, 상기 입력된 디지털음향신호를 단위 프레임별 주파수 성분으로 분해하는 단계(e)와, 상기 입력된 디지털음향신호의 주파수 성분들과 상기 선택된 연주악기 소리정보의 주파수 성분 및 악보정보를 비교 분석하여, 상기 입력된 디지털음향신호에 포함된 연주오류정보 및 단음 정보들을 도출하는 단계(f)와, 상기 도출된 단음들의 정보를 출력으로 보내는 단계(g)를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 음악분석방법을 좀더 상세히 설명하고자 한다.
도 8은 디지털음향을 분석하는 방법에 대한 개념도이다. 도 8을 참조하면, 디지털음향을 입력으로 받아서 연주악기의 소리정보(84) 및 악보정보(82)를 이용하여 입력된 디지털음향의 신호를 분석(80)하고 그 결과로써 연주정보 및 정확도, 미디음악 등을 도출하며 전자악보를 도시하는 개념을 볼 수 있다.
여기서, 디지털음향은 PCM 웨이브, CD 오디오, MP3 파일 등 입력되는 소리를 디지털 변환하여 컴퓨터가 판독할 수 있는 형태로 저장된 모든 것을 의미하며, 실제로 연주되고 있는 음악의 경우에는 컴퓨터에 연결된 마이크를 통하여 입력받은 후 디지털 변환하여 저장하면서 동시에 분석할 수도 있다.
입력 음악 악보정보(82)는, 예컨대 시간의 흐름에 따른 음의 높낮이, 음의 길이, 빠르기 정보(예: ♩=64,-늘이기표 등), 박자 정보, 시간의 흐름에 따른 음의 세기 정보(예: forte, piano,-accent,-점점세게 등), 세부 연주정보들(예: 스타카토, 스타카티시모, 프랄트릴러 등), 및 피아노와 같이 양손을 이용하여 연주하는 경우 왼손의 연주에 해당하는 부분 및 오른손의 연주에 해당하는부분을 구분하여 사용하도록 하는 정보 등을 포함한다. 또한, 두 개 이상의 악기로 연주된 경우에는 각 악기에 해당하는 악보의 부분 정보 등을 포함한다. 즉, 사람들이 악기를 연주할 때에 보고 적용하는 악보 상의 정보들은 모두 악보정보로 활용할 수 있는데, 작곡가들과 시대별로 표기법이 상이하기 때문에 세부적인 모든 표기법에 대해서 본 명세서에서는 언급하지 않는다.
또한, 연주악기 소리정보(84)는 도 9a 내지 도 9e에 도시된 바와 같이, 연주되는 특정 악기별로 미리 구축되어 있는 것으로서 음높이, 음세기, 페달표 등이 있는데, 이에 대해서는 도 9a 내지 도 9e를 참조하여 설명하는 부분에서 다시 설명하기로 한다.
도 8에 도시된 바와 같이, 본 발명에서는 입력되는 디지털음향을 분석할 때에 소리정보 또는 소리정보 및 악보정보를 활용하며, 피아노 연주곡과 같이 동시에 여러 음들이 연주되는 경우에도 각 구성 음들의 높낮이 및 세기를 정확하게 분석할 수 있으며, 각 시간대별로 분석한 구성 음들에 대한 정보들로부터 어떠한 음들이 어떤 세기로 연주되었는지에 대한 연주정보를 분석결과로 도출할 수 있다.
이 때, 음악분석을 위해 연주악기의 소리정보를 이용하는 이유는, 일반적으로, 음악에서 사용하는 각 음들은 그 높낮이에 따라서 고유한 피치(Pitch) 주파수 및 하모닉(Harmonic) 주파수들을 가지며, 어쿠스틱 악기의 연주소리 및 사람의 음성들을 분석하는데 있어서 기본이 되는 것은 피치 주파수와 하모닉 주파수들이기 때문이다.
한편, 이러한 피크 주파수 - 피치 주파수 및 하모닉 주파수 - 성분들은 각악기의 종류별로 다르게 나타나는 것이 일반적이다. 따라서, 사전에 이러한 악기의 종류별 피크 주파수 성분들을 미리 도출하여 해당 악기의 소리정보로 저장한 후, 시간의 흐름에 따라서 입력되는 디지털음향에 포함된 피크 주파수 성분들과, 기 저장된 연주악기의 소리정보를 비교함으로써, 상기 디지털음향을 분석하는 것이 가능한 것이다.
예를 들어, 피아노의 경우, 88개 건반에 대한 소리정보를 미리 알고 있다면, 해당 피아노로 연주되는 연주음의 분석 결과 동시에 여러 음들이 연주되었다 하더라도, 그 연주음들을 기 저장된 88개 소리정보들의 조합 내에서 비교할 수 있으므로, 각 개별 음들을 정확하게 분석할 수 있는 것이다.
도 9a 내지 도 9e는 디지털음향을 분석하기 위해서 사용하는 피아노 소리정보의 예시도이다. 즉, 영창피아노 88개의 건반에 대한 소리정보의 예를 도시하였다. 이 때, 도 9a 내지 도 9c는 해당 피아노의 소리정보를 도출하기 위한 조건에 해당되는 부분으로서, 도 9a는 88개 건반 각각에 대한 음높이들(A0, …, C8)을 구분하여 표시한 것이고, 도 9b는 음의 세기별 식별 정보를 표시한 것이고, 도 9c는 페달 사용 여부에 대한 식별 정보를 표시한 것이다. 도 9b를 참조하면, 각 음에 대한 음의 세기는 '-∞' 부터 '0'까지를 소정 단계로 분류하여 저장할 수 있다. 도 9c를 참조하면, 페달이 사용된 경우를 '1'로, 페달이 사용되지 않은 경우를 '0'으로 나타내었으며, 3개의 페달을 가지는 피아노에서 페달의 사용되는 형태에 대한 모든 경우의 수에 대하여 나타내었다.
한편, 도 9d 및 도 9e는 상기 피아노에 대한 소리정보의 실제적인 저장형태를 나타낸 것으로서, 상기 도 9a 내지 도 9c에 도시된 각 소리정보의 조건들로부터 음 높이가 'C4'이고, 음의 세기가 '-7dB'이고, 페달을 하나도 사용하지 않는 경우에 대한 소리정보를 나타낸다. 특히, 도 9d는 해당 소리정보가 웨이브로 저장된 형태를 나타내고, 도 9e는 해당 소리정보가 스펙트로그램으로 저장된 형태를 나타낸다. 이 때, 스펙트로그램이란 시간의 흐름에 따른 각 주파수 성분들의 세기를 나타내는 것으로서, 스펙트로그램의 가로축은 시간 정보를 나타내고, 세로축은 주파수 정보를 나타냄으로써, 도 9e와 같은 스펙트로그램을 참조할 경우 각 시간별 주파수 성분에 대한 세기 정보를 알 수가 있는 것이다.
즉, 해당 연주악기의 소리정보들을 하나 이상의 세기별 소리들의 샘플로써 저장할 때, 소리정보로 표현 가능한 각 단음들을 도 9d와 같이 웨이브 형태로 저장한 후, 디지털음향 분석시 그 웨이브로부터 주파수 성분을 도출하도록 할 수도 있고, 도 9e와 같이 주파수 성분별 세기로 직접 저장할 수도 있다.
이와 같이 연주악기의 소리정보를 주파수 성분별 세기로 직접 표현하기 위해서는 퓨리에 변환 및 웨이브렛 변환 등과 같은 주파수 분석 방법을 사용하는 것이 가능하다.
만일, 상기 연주악기가 피아노가 아니고, 바이올린 등과 같은 현악기인 경우는 그 현악기의 각 현별 소리정보를 분류하여 저장하도록 한다.
한편, 이와 같은 각 연주악기별 소리정보는 사용자의 선택에 의해 주기적으로 갱신하여 저장하도록 하는 데, 이는 해당 악기의 소리정보가 시간이 흐름에 따라서, 또는 온도 등 주변환경에 따라서 변화할 수 있기 때문이다.
도 10 내지 도 10b는 본 발명의 일 실시예에 따른 디지털음향 분석 과정을 나타낸 도면들로서, 각 도면들을 참조하여 본 발명의 실시예를 보다 상세히 설명하면 다음과 같다.
먼저, 도 10은 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향을 분석하는 과정에 대한 처리 흐름도이다. 도 10을 참조하여, 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향을 분석하는 과정을 설명하면 다음과 같다.
우선, 본 발명의 일 실시예를 수행하기 위해서는, 사전에 악기별 소리정보를 생성하고, 저장하는 과정을 거친 후(도면에 미도시), 그 저장된 악기별 소리정보 중에서 실제로 연주될 악기의 소리정보를 선택한다(s100). 이 때, 악기별 소리정보의 저장형태의 예는 도 9a 내지 도 9e에 도시된 바와 같다.
그리고, 외부로부터 디지털 음향이 입력되면(s200), 그 디지털 음향 신호를 단위 프레임별 주파수 성분으로 분해한 후(s400), 상기 디지털 음향 신호의 주파수 성분들과 상기 선택된 연주악기 소리정보의 주파수 성분들을 비교/분석하여, 상기 디지털 음향신호에 포함된 단음 정보들을 프레임별로 도출한다(s500).
상기와 같이 외부로부터 입력된 디지털음향의 단음 정보들을 도출하였으면, 그 단음 정보를 출력한다(s600).
이러한 일련의 과정들(s200 내지 s600)을 디지털음향 입력이 중단되거나 종료 명령이 입력될 때(s300)까지 반복 수행한다.
도 10a는 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향의 프레임별 단음정보를 도출하는 과정(s500)에 대한 처리 흐름도이다. 도 10a를 참조하면, 디지털 음향의 프레임별 단음정보를 도출하기 위해, 우선 해당 프레임의 시간정보를 도출하고(s510), 그 단위 프레임별 주파수 성분들과 연주악기 소리정보의 주파수 성분들을 비교/분석하여(s520) 각 단위 프레임별로 포함된 단음들의 음 높이별, 세기별 정보를 시간정보와 함께 도출한다. 그리고, 그 도출 결과를 단음정보로 도출한다(s530).
한편, 상기 과정(s530)에 의해 도출된 단음이 이전 프레임에 포함되지 않은 새로운 단음인 경우(s540), 현재의 프레임을 서브 프레임으로 구분한 후(s550), 그 서브 프레임들 중 새로운 단음이 포함된 서브 프레임을 도출하고(s560), 상기 도출된 서브 프레임의 시간정보를 도출하여(s570), 이 때, 새롭게 도출된 시간정보를 현재 도출된 단음 정보의 시간정보로 변경한다(s580). 단, 이러한 일련의 과정들(s540 내지 s580)은 상기 도출된 단음이 낮은음 대역에 포함된 경우, 또는 시간정보의 정확성을 요구하지 않는 경우 생략 가능하다.
도 10b는 본 발명의 일 실시예에 따라 악기별 소리정보에 의거하여 외부로부터 입력되는 디지털 음향 및 해당 연주악기의 소리정보의 프레임별 주파수 성분을 비교/분석하는 과정(s520)에 대한 처리 흐름도이다.
도 10b를 참조하면, 먼저, 상기 입력된 디지털음향신호의 프레임별로 해당 프레임에 포함된 가장 낮은 피크 주파수를 선택한다(s521). 그리고, 해당 연주악기의 소리정보 중에서 상기 선택된 피크 주파수를 포함하는 소리정보들을 도출하여(s522), 그 소리정보들 중 상기 과정(s521)에서 선택된 피크 주파수 성분과 가장 근접한 피크 정보를 가지는 소리정보를 단음정보로 도출한다(s523).
이와 같이 가장 낮은 피크 주파수에 해당되는 단음정보를 도출하였으면, 해당 프레임에 포함된 주파수 성분들 중 상기 도출된 단음정보에 포함되는 주파수 성분을 제거한 후(s524), 해당 프레임에 잔여 피크 주파수 성분들이 있는 경우, 상기 과정들(s521 내지 s524)을 반복 수행한다.
예를 들어, 외부로부터 입력된 디지털음향신호의 해당 프레임에 'C4, E4, G4'의 세 음이 포함된 경우, 상기 과정(s521)에 의해, 'C4'의 기본 주파수 성분을 현재 프레임에 포함된 피크 주파수 성분들 중 가장 낮은 피크 주파수 성분으로 선택한다.
그리고, 상기 과정(s522)에 의해 기 설정된 해당 연주악기의 소리정보들 중 'C4'의 기본 주파수 성분을 포함하는 소리정보들을 도출한다. 이 경우, 일반적으로 'C4', 'C3', 'G2',… 등 다수개의 소리정보들이 도출될 것이다.
그러면, 상기 과정(s523)에 의해 상기 도출된 다수개의 소리정보들 중 상기 과정(s521)에서 선택된 피크 주파수 성분들과 가장 유사한 'C4'의 소리정보를 해당 주파수 성분에 대한 단음정보로 도출한다.
그리고, 그 단음정보('C4')를 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분('C4, E4, G4')에서 제거한다(s524). 그러면, 해당 프레임에는 'E4, G4'에 해당되는 주파수 성분만이 남게 된다. 이와 같이 하여 해당 프레임에 주파수 성분이 모두 소멸될 때까지, 상기 과정들(s521 내지 s524)을 반복 수행하면, 해당 프레임에 포함된 모든 음들에 대한 단음 정보를 도출해 낼 수가 있는 것이다.
상기 예의 경우, 상기 과정들(s521 내지 s524)을 3회 반복 수행하여, 'C4, E4, G4'의 음들에 대한 단음 정보를 모두 도출한다.
이하에서는, [의사코드(pseudo-code)1]에 의거하여, 이와 같은 소리정보를 이용한 디지털음향 분석 방법에 대한 처리 과정을 설명하겠다. 참고로, 의사코드 중 본 명세서에서 설명되지 않은 부분은 종래의 디지털음향 분석 방법들을 참조한 것이다.
[의사코드 1]
line 1 디지털음향신호(das) 입력;
line 2 // FFT 윈도우 크기별, 윈도우간 간격별(중첩허용)로 das를 frame
//단위로 구분
line 3frame = 프레임별구분(das, fft-size, overlap-size);
line 4for 모든 frame
line 5x = fft(frame); // 퓨리에변환
line 6peak = 가장낮은피크주파수(x);
line 7timing = frame의 시간 정보;
line 8while (peak가 존재하는 동안)
line 9candidates = 피크포함소리정보(peak);
line 10sound = 가장유사한소리정보(candidates, x);
line 11if sound가 새로운 음의 시작이면
line 12subframe = 프레임별구분(frame, sub-size, overlap-size);
line 13for 모든 subframe
line 14subx = fft(subframe);
line 15if subx에 peak가 있으면
line 16timing = subframe의 시간 정보;
line 17 exit-for;
line 18 end-if
line 19end-for
line 20end-if
line 21result = 분석결과저장(result, timing, sound);
line 22x = x - sound;
line 23peak = 가장낮은피크주파수(x);
line 24end-while
line 25 end-for
line 26 performance = 악기별연주보정(result);
[의사코드 1]을 참조하면, 우선 디지털음향신호를 입력받아(line 1), 프레임별로 구분(line 3)한 후에 각 프레임별로 루프(for loop)를 돌면서 분석한다(line4). 퓨리에 변환을 거쳐 주파수 성분들을 도출하고(line 5), 가장 낮은 피크주파수 성분을 찾게 된다(line 6). 이어서, (line 7)에서는 현재의 프레임에 해당하는 시간 정보를 (line 21)에서 저장하기 위하여 도출한다. 이어서, 현재의 프레임에 대해서 피크주파수 성분이 존재하는 동안 루프(while loop)를 돌면서 분석한다(line 8). (line 9)에서 현재의 피크주파수 성분을 갖는 소리정보들을 도출하고, (line 10)에서 이들 중 현재 프레임 상의 피크주파수 성분 및 하모닉 주파수 성분들과 비교하여 가장 유사한 소리정보를 도출하게 된다. 이 때에, 소리정보는 현재 프레임 상의 피크주파수 세기에 준하는 세기로 조절된다. 만일 도출된 소리정보가 새로운 음의 시작임을 나타내면(line 11), FFT 윈도우 크기를 작게 하여 정확한 시간 정보를 추출하게 된다.
이 과정에서, 현재의 프레임을 여러 개의 서브 프레임들로 나누고(line 12) 각 서브 프레임들에 대해서 루프(for loop)를 돌면서 분석한다(line 13). 퓨리에 변환을 거쳐 주파수 성분들을 도출하고(line 14), (line 6)에서 도출한 피크가 포함되어 있는 서브 프레임을 찾게 되면(line 15), (line 16)에서는 발견한 서브 프레임에 해당하는 시간 정보를 (line 21)에서 저장하기 위하여 도출한다. (line 7)의 시간 정보는 FFT 윈도우 크기가 큰 프레임 단위의 시간 정보이므로 시간 오차가 많은 정보이지만, (line 16)의 시간 정보는 FFT 윈도우 크기가 작은 서브 프레임 단위의 시간 정보이므로 시간 오차가 거의 없는 정보이다. (line 17)에서 (line 13)의 루프(for loop)를 빠져 나오기 때문에, (line 21)에서 저장되는 시간 정보는 (line 7)에서 도출한 시간 정보 대신에 (line 16)에서 도출한 정확한 시간 정보가된다.
이렇게 (line 11)에서부터 (line 20)에 이르기까지 새로운 음이 시작된 경우에는 단위 프레임의 크기를 작게 하여 정확한 시간 정보를 도출하게 된다. (line 21)에서 도출된 단음의 음높이 정보 및 세기 정보를 시간 정보와 함께 저장하게 되며, (line 22)에서는 (line 10)에서 도출된 소리정보를 현재의 프레임에서 감한 후, 다시 피크주파수를 찾게 된다. 위 과정을 반복하면서 모든 디지털음향의 분석결과는 (line 21)에서 결과변수(result)에 저장된다.
그런데, 이 결과변수(result)에 저장된 분석결과는 실제 연주의 정보로 활용하기는 미흡하다. 피아노의 경우 건반을 눌러서 소리가 발생하는 최초에는 정확한 주파수 대역으로 표현되지 않기 때문에, 한 개 이상의 프레임을 거친 후에 다음 번 프레임에서 정확하게 분석될 가능성이 많다. 따라서 이러한 경우, 피아노의 음은 아주 짧은 시간, 예를 들어서 서너 개의 프레임에 해당하는 시간, 동안에는 음이 변경되지 않는다는 특성을 이용하면 보다 정확한 연주정보를 도출할 수 있게 된다. 그러므로, (line 26) 단계에서 이러한 악기별 특성을 이용하여 분석된 결과변수(result)를 보다 정확한 연주정보인 퍼포먼스(performance)로 보정하게 된다.
도 11 내지 도 11d는 본 발명의 다른 실시예에 따른 디지털음향 분석 과정을 나타낸 도면들로서, 각 도면들을 참조하여 본 발명의 실시예를 보다 상세히 설명하면 다음과 같다.
이 때, 본 발명의 다른 실시예는 악기별 소리정보와 연주하고자 하는 악보정보를 동시에 이용하는 방법에 관한 것으로서, 소리정보 구축시 각 단음별로 포함된 주파수 성분들의 변화에 따라 가능한 모든 정보들을 구축할 수 있다면, 거의 정확하게 입력된 디지털 음향신호를 분석할 수 있지만, 실제 상황에서는 이렇게 소리정보를 구축하기란 용이하지 않기 때문에 이를 보완하기 위한 방법에 관한 것이다. 즉, 본 발명의 다른 실시예는 연주하고자 하는 연주곡에 대한 악보정보를 도출한 후, 기 추출된 악기별 소리정보와 상기 악보정보에 의거하여 입력될 음을 미리 예상하고, 그 예상된 음의 정보를 이용하여 디지털음향을 분석하는 방법에 관한 것이다.
먼저, 도 11은 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향을 분석하는 과정에 대한 처리 흐름도이다. 도 11을 참조하면, 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향을 분석하는 과정을 설명하면 다음과 같다.
본 발명의 다른 실시예를 수행하기 위해, 연주악기별 소리 정보를 생성하고 저장하는 과정과, 연주될 악보의 악보정보를 생성하고 저장하는 과정을 미리 수행한 후(도면에 미도시), 그 저장된 연주악기별 소리정보 및 악보정보들 중 실제로 연주될 악기의 소리정보 및 악보정보를 선택한다(t100, t200). 이 때, 악기별 소리정보의 저장형태의 예는 '도 9a 내지 도 9e'에 도시된 바와 같다. 한편, 연주될 악보로부터 악보정보를 생성하는 방법은 본 발명의 범위에 해당하지 않으며, 현재 종이 악보를 스캐닝하면 바로 미디음악의 연주 정보로 변환하여 저장하는 기술 등이다수 존재하고 있으므로, 악보정보를 생성하고 저장하는 방법에 대한 상세한 설명은 생략한다.
다만, 악보정보에 포함되는 정보들의 예를 들면, 시간의 흐름에 따른 음의 높낮이, 음의 길이 정보, 빠르기 정보, 박자 정보, 음의 세기 정보와, 세부 연주 정보(예컨대, 스타카토, 스타카티시모, 프랄트릴러 등) 및 양손 연주 또는 다수의 악기 연주에 따른 연주 구분 정보들이 있을 수 있다.
상기와 같이 해당 연주악기의 소리정보 및 악보정보를 선택(t100, t200)한 후, 외부로부터 디지털음향이 입력되면(t300), 그 디지털음향신호를 단위 프레임별 주파수 성분으로 분해한 후(t500), 상기 디지털음향신호의 주파수 성분들과 상기 선택된 연주악기별 소리정보의 주파수성분 및 악보정보를 비교/분석하여, 상기 디지털음향신호에 포함된 연주오류정보 및 단음정보들을 도출한다(t600).
상기와 같이 외부로부터 입력된 디지털음향의 단음정보 및 연주오류정보들을 도출하였으면 그 단음정보를 출력한다(t700).
한편, 상기 연주오류정보에 의거하여 연주 정확도를 판별하거나(t800), 그 연주오류정보가 연주자의 의도에 의해 연주된 음(예컨대, 변주음)인 경우 이를 기존의 악보정보에 추가하는 과정(t900)을 선택적으로 수행하는 것도 가능하다.
도 11a는 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향의 프레임별 단음정보 및 연주오류정보를 도출하는 과정(t600)에 대한 처리 흐름도이다. 도 11a를 참조하면, 디지털 음향의 프레임별 단음정보 및 연주오류정보를 도출하기 위해, 우선 해당 프레임의 시간정보를 도출하고(t610), 그 단위 프레임별 주파수 성분들과 연주악기 소리정보의 주파수 성분 및 악보정보를 비교/분석하여(t620), 각 단위 프레임별로 포함된 단음들의 음 높이별, 세기별 정보를 시간 정보와 함께 도출한다. 그리고, 그 분석결과 도출된 단음정보 및 연주오류정보를 프레임별로 도출한다(t640).
한편, 상기 과정(t640)에 의해 도출된 단음이 이전 프레임에 포함되지 않은 새로운 단음인 경우(t650), 현재의 프레임을 서브 프레임으로 구분한 후(t660), 그 서브 프레임들 중 새로운 단음이 포함된 서브 프레임을 도출하고(t670), 상기 도출된 서브 프레임의 시간정보를 도출하여(t680), 이 때, 새롭게 도출된 시간정보를 현재 도출된 단음정보의 시간정보로 변경한다(t690). 단, 이러한 일련의 과정들(t650 내지 t690)은 상기 본 발명의 일 실시예에서와 같이 도출된 단음이 낮은음 대역에 포함된 경우이거나, 시간정보의 정확성을 요구하지 않는 경우 생략 가능하다.
도 11b 및 도 11c는 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 외부로부터 입력되는 디지털 음향 및 해당 악기의 소리정보 및 악보정보의 프레임별 주파수 성분을 비교/분석하는 과정(t620)에 대한 처리 흐름도이다.
도 11b 및 도 11c를 참조하면, 먼저, 해당 연주악기의 연주 진행에 따라 실시간으로 생성되는 디지털음향신호의 프레임별 연주기대값들 중 실제 연주음인 디지털음향신호와 비교되지 않은 연주기대값이 존재하는지를 확인한다(t621).
그리고, 상기 확인(t621)결과, 실제 연주음인 디지털음향신호와 비교되지 않은 연주기대값이 존재하지 않는 경우, 현재 입력된 디지털음향신호의 프레임별 주파수 성분이 연주오류정보인지의 여부를 확인하여, 연주오류정보 및 단음정보를 도출한 후, 그 연주오류정보 및 단음정보로 도출된 소리정보의 주파수 성분들을 해당 프레임에서 제거하는 과정(t622 내지 t628)을 수행한다.
즉, 상기 입력된 디지털음향신호의 프레임별로 해당 프레임에 포함된 가장 낮은 피크 주파수를 선택한 후(t622), 해당 연주악기의 소리정보 중에서 상기 선택된 피크 주파수를 포함하는 소리정보들을 도출하고(t623), 그 소리정보들 중 상기 과정(t622)에서 선택된 피크 주파수 성분과 가장 근접한 피크 정보를 가지는 소리정보를 연주오류정보로 도출한다(t624). 그리고, 상기 연주기대값에 포함되지 않은 연주오류정보가 악보정보에서 다음에 연주될 음표들에 포함되는 경우(t625), 그 연주오류정보에 포함된 음들을 연주기대값에 추가한 후(t626), 그 연주오류정보를 단음정보로 도출한다(t627). 한편, 이와 같이 상기 과정들(t624, t627)에서 연주오류정보 또는 단음정보로 도출된 소리정보의 주파수 성분들을 디지털음향신호의 해당 프레임에서 제거한다(t628).
또한, 상기 확인(t621)결과, 실제연주음인 디지털음향신호와 비교되지 않은 연주기대값이 존재하는 경우, 상기 디지털 음향 신호와 상기 연주기대값들을 비교/분석하여 단음정보를 도출하고, 그 단음정보로 도출된 소리정보의 주파수 성분들을 해당 프레임에서 제거하는 과정(t630 내지 t634)을 수행한다.
즉, 상기 연주기대값에 포함된 소리정보들 중 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분들과 비교되지 않은 가장 낮은 음의 소리정보를 선택하고(t630), 상기 선택된 소리정보의 주파수 성분들이 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분들에 포함되는 경우(t631), 그 소리 정보를 단음정보로 도출한 후(t632), 그 소리정보의 주파수 성분들을 디지털음향신호의 해당 프레임에서 제거한다(t633). 이 때, 만일, 상기 과정(t630)에서 선택된 소리정보의 주파수 성분들이 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분들에 포함되지 않는 경우 기 설정된 연주기대값을 정리하는 과정(t635)을 수행한다. 이와 같은 일련의 처리 과정들(t630 내지 t633 및 t635)을 연주기대값 중 비교되지 않은 음이 소멸될 때까지(t634) 반복 수행한다.
또한, 도 11b 및 도 11c에 도시된 모든 처리 과정들(t621 내지 t628 및 t630 내지 t635)은 해당 프레임의 피크 주파수 성분들이 모두 소멸될 때까지(t629) 반복 수행한다.
도 11d는 본 발명의 다른 실시예에 따라 악기별 소리정보 및 악보정보에 의거하여 생성된 연주기대값을 정리하는 과정(t635)에 대한 처리 흐름도이다. 도 11d를 참조하면, 상기 선택된 소리정보의 주파수 성분들 중 디지털음향신호의 해당 프레임에 소정횟수(N)이상 연속하여 포함되지 않은(t636) 소리정보들 중 해당 프레임에 한번 이상 포함된 이력이 있는(t637) 소리정보의 경우 연주기대값에서 제거한다(t639). 한편, 상기 성택된 소리정보의 주파수 성분들 중 디지털음향신호의 해당 프레임에 소정횟수(N)이상 연속하여 포함되지 않으면서(t636), 해당 프레임에 한번도 포함된 적이 없는(t637) 소리정보의 경우는 연주오류정보로 도출한 후(t638), 연주기대값에서 제거한다(t639).
이하에서는, [의사코드(pseudo-code)2]에 의거하여, 소리정보 및 악보정보를 이용한 디지털음향 분석 방법에 대한 처리 과정을 설명하겠다.
[의사코드 2]
line 1악보정보(score) 입력;
line 2 디지털음향신호(das) 입력;
line 3frame = 프레임별구분(das, fft-size, overlap-size);
line 4현재연주값(current) = 이전연주값(prev) = NULL;
line 5다음연주값(next) = 최초 연주될 단음들;
line 6for 모든 frame
line 7x = fft(frame);
line 8timing = frame의 시간 정보;
line 9for 모든 단음(sound) in next & not in (current, prev)
line 10if sound가 frame에 포함되었으면
line 11prev = prev + current;
line 12current = next;
line 13next = 다음 연주될 단음들;
line 14exit-for;
line 15end-if
line 16end-for
line 17for 모든 단음(sound) in prev
line 18if sound가 frame에 포함되지 않았으면
line 19prev = prev - sound;
line 20end-if
line 21end-for
line 22for 모든 단음(sound) in (current, prev)
line 23if sound가 frame에 포함되지 않았으면
line 24result = 연주오류저장(result, timing, sound);
line 25else // sound가 frame에 포함되었으면
line 26sound = 세기조절(sound, x);
line 27result = 분석결과저장(result, timing, sound);
line 28x = x - sound;
line 29end-if
line 30end-for
line 31peak = 가장낮은피크주파수(x);
line 32while (peak가 존재하는 동안)
line 33candidates = 피크포함소리정보(peak);
line 34sound = 가장유사한소리정보(candidates, x);
line 35result = 연주오류저장(result, timing, sound);
line 36x = x - sound;
line 37peak = 가장낮은피크주파수(x);
line 38end-while
line 39end-for
line 40 performance = 악기별연주보정(result);
[의사코드 2]를 참조하면, 악보정보와 소리정보를 동시에 이용하기 위해, 우선, (line 1)에서 악보정보를 입력받는다. 이 의사코드는 악보정보(score) 중에서 음표 정보만 사용하여 시간별로 연주되는 각 단음들의 정보를 디지털음향과 비교 분석하는 예로써 가장 기본적인 것으로 이해하면 된다. (line 1)에서 입력된 악보정보는 (line 5) 및 (line 13)에서 다음연주값(next)을 도출하는 데 사용된다. 이어서, 다음 단계는 전술한 소리정보를 이용하는 의사코드에서 설명한 바와 마찬가지로 디지털음향신호를 입력받아(line 2), 프레임별로 구분한다(line 3). (line 4)에서 현재연주값(current) 및 이전연주값(prev)을 널(NULL)로 지정하는데, 악보상에서 현재 연주되고 있는 음들의 정보가 현재연주값(current)이며 이미 지나간 음들의 정보가 이전연주값(prev)이고 다음에 연주될 음들의 정보가 다음연주값(next)이다.
이어서, 모든 프레임들에 대해서 for loop를 돌면서 분석한다(line 6). 각 프레임별로 퓨리에변환을 거쳐 주파수 성분들을 도출하고(line 7), (line 9)에서악보상의 다음 연주부분으로 진행되었는지 판단한다. 즉, 현재연주값(current) 및 이전연주값(prev)에 포함되지 않고 다음연주값(next)에만 포함되어 있는 새로운 음이 프레임에 포함되어 있다면 악보상의 다음 연주부분으로 진행된 것으로 판단한다. 이 때, 이전연주값(prev), 현재연주값(current), 그리고 다음연주값(next)의 값들을 적당하게 변경해준다. (line 17)에서는 이전연주값(prev)에 있는 음들 중에서 소멸된 음들을 찾아서 이전연주값(prev)에서 제거한다. 이 과정을 통해서 악보에서는 지나갔지만 실제 연주에서는 계속 소리가 남아있던 부분들에 대해서 소멸되었음을 처리하게 된다. (line 22)에서는 현재연주값(current) 및 이전연주값(prev)에 있는 소리정보(sound)들에 대해서 프레임에 있는지를 판단하고, 포함되지 않았으면 (line 23)에서 악보와 다르게 연주되었음을 결과로 저장하고, 포함되었으면 (line 25)에서 현재 프레임에 포함된 소리의 세기에 맞추어 소리정보(sound)를 도출한 후 음높이 정보 및 세기 정보를 시간 정보와 함께 저장한다. 이렇게, (line 9)에서부터 (line 30)까지 악보정보로부터 현재 연주되고 있는 단음들을 현재연주값(current)으로, 이미 지나간 단음들을 이전연주값(prev)으로, 다음에 연주될 단음들을 다음연주값(next)으로 설정하여, 이전연주값과 현재연주값을 연주기대값으로 놓고 여기에 포함된 음들을 기준으로 분석하게 되므로 무척 정확하고 빠르게 분석할 수 있게 된다.
더욱이, 악보정보와 다르게 연주되는 경우를 대비하여 (line 31)의 단계를 추가하였다. 악보정보에 포함된 음들을 분석한 후에 아직도 피크주파수가 남아있다면 틀리게 연주된 부분이므로, 전술한 소리정보를 이용하는 의사코드 1에 기재된알고리즘을 이용하여 각 피크주파수에 해당하는 단음들을 도출하고, 이를 의사코드 2의 (line 23)에서처럼 악보와 다르게 연주되었음을 저장한다. 의사코드 2에서는, 악보정보를 이용하는 방법에 대해서 중점을 두고 설명하였기 때문에 세부적인 내용은 생략하였으나, 소리정보 및 악보정보를 이용하는 것도 전술한 소리정보만을 이용하는 것과 마찬가지로 정확한 시간 정보를 도출하기 위해서 단위 프레임의 크기를 줄이면서 분석하는 방법으로 의사코드 1의 (line 11)부터 의사코드 1의 (line 20)까지 해당하는 단계들이 포함될 수 있다.
의사코드 2에서도, 결과변수(result)에 저장된 분석결과 및 연주오류 결과는 실제 연주의 정보로 활용하기는 미흡하다. 의사코드 1에서와 동일한 이유로, 그리고 악보정보에서는 동일한 시점에 여러 개의 음들이 시작되지만 실제 연주에서는 각 음들 사이에 아주 짧은 시간 차이가 있을 수 있는 점을 감안하여 (line 40)에서 악기별 특성 및 연주자의 특성을 감안하여 분석된 결과변수(result)를 퍼포먼스(performance)로 보정하게 된다.
이하, 상기와 같은 본 발명을 입증하기 위해, 디지털음향 및 연주악기 소리정보의 주파수 특성에 대하여 좀 더 상세히 살펴보고자 한다.
도 12는 도 1 및 도 2에 도시된 악보의 첫 번째 마디를 피아노로 연주하여 그 소리를 주파수별로 분석한 도면이다. 즉, 도 1 및 도 2에 도시된 베토벤 피아노 소나타 8번 2악장의 첫 번째 마디의 피아노 연주곡을 스펙트로그램(Spectrogram)으로 나타낸 것이다. 이 때, 사용된 피아노는 영창피아노사에서 제작한 그랜드피아노이며 소니사의 노트북 컴퓨터에 마이크를 연결하여 윈도우 보조프로그램에 있는 녹음기로 녹음하였다. 스펙트로그램을 분석하고 나타내는 프로그램으로는 R. S. Horne이 개발하여 공개한 프리웨어 Spectrogram 5.1.6 버전을 사용하였다. 설정항목으로 Scale을 90dB로 하였고, Time Scale은 5msec, FFT(Fast Fourier Transformation) size는 8192로 하였으며, 나머지는 기본값을 적용하였다. Scale의 의미는 -90dB 보다 작은 소리는 무시하고 표시하지 않는다는 것이며, Time Scale의 의미는 FFT 윈도우를 5msec 마다 중첩시키면서 퓨리에(Fourier) 변환을 거쳐서 그림으로 표현하였음을 나타낸다.
도 12의 상단에 도시된 선(100)은 입력된 디지털음향 신호의 세기를 입력된 그대로 나타낸 것이고, 그 아래에 각 주파수 대역별로 디지털음향에 포함된 주파수성분들이 표시되어 있다. 검은 색에 가까울수록 큰 세기의 주파수 성분을 포함하는 것이다. 스펙트로그램의 세로줄 한 개는 해당 지점을 기준으로 8192개의 샘플을 퓨리에 변환하여 각 주파수 성분별로 세기에 따라서 색을 나타내는 것이며, 가로축은 시간의 진행을 나타내기 때문에, 개별 주파수 성분들에 대해서 시간의 흐름에 따른 세기의 변화를 한 눈에 파악할 수 있다. 도 12와 도 2를 함께 참조하면, 도 2의 악보상에 나타나는 각 음들의 높낮이에 따라서 해당하는 기본 주파수와 하모닉 주파수들이 도 12에서 나타나고 있음을 알 수 있다.
도 13a 내지 도 13g는 상기 악보의 첫 번째 마디에 포함된 각 음들을 피아노로 연주하여 그 소리를 주파수별로 분석한 도면들로서, 도 2의 첫 번째 마디에 포함된 각 음들을 동일한 환경에서 별도로 녹음한 후, 그 결과를 스펙트로그램으로나타낸 것이다. 즉, 도 13a는 C4, 도 13b는 A2, 도 13c는 A3, 도 13d는 E3, 도 13e는 B3, 도 13f는 D3, 도 13g는 G3에 해당하는 피아노 소리들을 스펙트로그램으로 나타낸 것이다. 각 그림들은 모두 4초의 시간동안 주파수별 세기 정보를 가지고 있으며, 분석시의 설정항목은 도 12의 경우와 동일하게 하였다. C4 음의 경우 262Hz를 기본 주파수로 가지고, 그 n배수인 523Hz, 785Hz, 1047Hz 등을 하모닉 주파수로 가지는데, 도 13a에서 이를 확인할 수 있다. 즉, 262Hz와 523Hz에 나타나는 주파수 성분은 강하게(검은 색에 가깝게) 나타나며 785Hz의 경우부터 높은 배수의 주파수 대역으로 가면서 세기가 대체로 약해지는 것을 볼 수 있다. 도면에서는 C4의 기본 주파수 및 하모닉 주파수들을 모두 'C4'로 표시하였다.
한편, A2음은 기본 주파수로 104Hz를 갖는데, 도 13b를 참조하면, A2음의 기본 주파수는 약하게 나타나고 A2음의 하모닉 주파수들이 기본 주파수보다 훨씬 강하게 나타나는 것을 볼 수 있다. 도 13b만을 참조할 경우, 특히, A2음의 3배수 하모닉 주파수(311Hz) 대역이 가장 강하게 나타나므로 단순히 주파수의 세기로 음의 높낮이를 결정한다면, 이 경우에 A2음을 311Hz를 기본 주파수로 갖는 E4음으로 잘못 인식할 수 있다.
또한, 도 13c 내지 도 13g에 도시된 도면에서도, 음의 세기만을 가지고, 음의 높낮이를 결정할 경우, 이와 같은 오류를 범할 수가 있다.
도 14a 내지 도 14g는 상기 악보의 첫 번째 마디에 포함된 각 음들에 대한주파수 성분들이 도 12에 나타난 상태를 표시한 도면들이다.
도 14a를 참조하면, 도 14a는 C4 음에 해당하는 도 13a의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13a에 나타난 음의 세기는 도 12에 사용된 음의 세기보다 크기 때문에, 도 12에서 상단부에 있는 C4 음의 하모닉 주파수들은 흐릿하게 나타나거나 구분하기 힘들 정도로 작은 세기로 나타나고 있다. 그렇지만, 도 13a의 주파수 세기를 도 12에 나타난 C4 기본 주파수의 세기에 맞도록 낮춘 후 비교하면, 도 12에서 C4 음의 주파수 성분들이 도 14a에서처럼 포함되어 있음을 알 수 있다.
도 14b는 A2음에 해당하는 도 13b의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13b에 나타난 음의 세기는 도 12에서 연주된 A2음의 세기보다 훨씬 강하기 때문에, 기본 주파수의 성분과 상단부의 하모닉 주파수 성분들이 명확하게 나타나지만 도 12에서는 흐릿하게 나타나며, 특히 상단부에서는 하모닉 주파수들이 거의 표시되지 않고 있다. 이것도 역시 도 14b의 주파수 세기를 도 12에 나타난 A2기본 주파수의 세기에 맞도록 낮춘 후 비교하면, 도 12에서 A2음의 주파수 성분들이 도 14b에서처럼 포함되어 있음을 알 수 있다. 도 14b에서 5배수의 하모닉 주파수 성분이 강하게 나타나는 것은 도 14a에서 C4 음의 2배수 하모닉 주파수 성분과 중첩되기 때문이며, A2음의 5배 하모닉 주파수는 519Hz이며 C4 음의 523Hz이기 때문에 동일한 대역으로 중첩되어서 그림에 나타나고 있다. 도 14b를 계속 분석해보면 A2음의 5배수, 10배수, 15배수 등에 해당하는 하모닉 주파수 대역이 C4 음의 2배수, 4배수, 6배수 하모닉 주파수 등과 중첩되어, 도 13b에서 나타나는 기본 주파수와 하모닉 주파수들간의 상대적 크기보다 크게 나타나고 있음을 알 수 있다. (참고로, 약한 세기의 음은 스펙트로그램에서 희미하게 나타나기 때문에, 눈으로 각 주파수 성분들을 명확하게 구분할 수 있도록 하기 위하여 도 13a부터 도 13g까지의 단음들을 녹음할 때에 도 12에 포함된 실제 음들의 세기보다 큰 소리로 녹음하였다.)
도 14c는 A3음에 해당하는 도 13c의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13c에 나타난 음의 세기는 도 12에서 연주된 A3음의 세기보다 강하기 때문에, 도 13c에 표시된 주파수 성분들이 도 14c보다 강하게 나타나고 있다. 그런데 앞에서 살펴본 다른 단음들의 경우보다 도 14c에서는 A3음의 성분들만을 찾아내기는 그리 쉽지 않다. 그 이유는 다른 음들의 기본 주파수 및 하모닉 주파수 대역들이 중첩되는 부분이 많고, 다른 음들이 연주되는 동안에 A3음이 약하게 나타나다가 없어지기 때문이다. 먼저, A3음의 모든 주파수 성분들은 A2음에서 2의 배수에 해당하는 하모닉 주파수들의 성분이 그대로 중첩되고 있다. 게다가, A3음의 5배수 하모닉 주파수는 C4 음의 4배수 하모닉 주파수와 중첩되기 때문에 이 부분에서는 음이 두 번 연주되는 동안에 끊어지는 부분을 찾기 힘들다. 그나마 다른 주파수 성분들은 공통적으로 중간부분에서 세기가 약해지기 때문에 이부분에서는 A2음의 하모닉 주파수 성분들이 나타나고 있음을 알 수 있고, 이 부분에서 A3음은 중단되었다가 다시 연주되었음을 알 수 있다.
도 14d는 E3음에 해당하는 도 13d의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13d에 나타난 음의 세기는 도 12에서 연주된 E3음의 세기보다 강하기 때문에, 도 13d에 표시된 주파수 성분들이 도 14d보다 강하게 나타나고 있다. E3음은 네 번 연주되었는데 처음 두 번 연주되는 동안에는 E3음의 2배수 및 4배수 하모닉 주파수 성분들이 A2음의 3배수 및 6배수 하모닉 주파수 성분들과 중첩되기 때문에 이 부분에서는 두 번 연주된 사이에 계속해서 다른 음의 하모닉 주파수 성분들이 나타나고 있음을 확인할 수 있다. 또한, E3음의 5배수 하모닉 주파수 성분은 C4 음의 3배수 하모닉 주파수 성분과 중첩된 것처럼 나타나기 때문에, 첫 소리와 두 번째 소리의 사이에서 해당 주파수 성분이 계속 나타나고 있음을 알 수 있다. 세 번째 소리와 네 번째 소리의 경우에는 E3음의 3배수 하모닉 주파수 성분이 B3음의 2배수 하모닉 주파수 성분과 중첩되기 때문에, E3음이 연주되지 않는 동안에도 계속 해당 주파수 성분이 나타나고 있음을 알 수 있다. 또한, E3음의 5배수 하모닉 주파수 성분이 G3 음의 4배수 하모닉 주파수 성분과 중첩되기 때문에, G3 음과 E3음이 서로 번갈아 가면서 연주되었음에도 불구하고G3 음의 4배수 하모닉 주파수 성분과 E3음의 5배수 하모닉 주파수 성분은 계속 연결되어서 나타나고 있다.
도 14e는 B3음에 해당하는 도 13e의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13e에 나타난 음의 세기는 도 12에서 연주된 B3음의 세기보다 약간 강하기 때문에, 도 13e에 표시된 주파수 성분들이 강하게 나타나고 있다. 그렇지만 도 14e에서는 도 13e에 표시된 주파수 성분들이 거의 그대로 매칭되고 있음을 확인할 수 있다. 도 13e에서 볼 수 있듯이, 소리가 약해지면서 B3음의 상단부 하모닉 주파수들은 잘 표시되지 않을 정도로 약해지는 것을 볼 수 있으며, 도 14e에서도 동일하게 우측으로 진행되면서 상단부 하모닉 주파수들의 세기가 약해지는 것을 확인할 수 있다.
도 14f는 D3음에 해당하는 도 13f의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13f에 나타난 음의 세기는 도 12에서 연주된 D3음의 세기보다 강하기 때문에 도 13f에 표시된 주파수 성분들이 도 14f보다 강하게 나타나고 있다. 그렇지만 도 14f에서도 도 13f에 표시된 주파수 성분들이 그대로 매칭되고 있음을 확인할 수 있다. 특히, 도 13f에서 D3음의 9배수 하모닉 주파수 세기는 10배수 하모닉 주파수의 세기보다 작게 나타나고 있는데, 도 14f에서도 D3음의 9배수 하모닉 주파수의 세기는 매우 약하게 나타나고 있으며, 10배수 하모닉 주파수의 세기보다 작게 나타나고 있음을 확인할 수 있다. 그런데, 도 14f에서 D3음의 5배수 및 10배수 하모닉 주파수는 도 14e에서 표시된 B3음의 3배수 및 6배수 하모닉과 중첩되기 때문에 다른 하모닉 주파수들보다 강하게 나타나고 있다. D3음의 5배수 하모닉 주파수는 693Hz이며 B3음의 3배수 하모닉 주파수는 699Hz로 인접해있기 때문에 스펙트로그램에서 중첩되어 나타나게 된다.
도 14g는 G3 음에 해당하는 도 13g의 주파수 성분들이 도 12에 나타나는 것을 표시한 것이다. 도 13g에 나타난 음의 세기는 도 12에서 연주된 G3 음의 세기보다 약간 강하기 때문에, 도 13g에 표시된 주파수 성분들이 도 14g보다 강하게 나타나고 있다. 도 14g에서는 G3 음의 세기가 도 14c에서의 A3음의 세기보다 강하게 연주되었기 때문에, 명확하게 각 주파수 성분들을 찾아낼 수 있다. 게다가, 도 14c나 도 14f에서처럼 다른 음들의 주파수 성분들과 중첩되는 부분이 거의 나타나지 않고 있기 때문에, 개별 주파수 성분들을 눈으로도 쉽게 확인할 수 있다. 단지 G3 음의 4배수 하모닉 주파수 대역과 다음에 설명할 E3음의 5배수 하모닉 주파수 대역이 784Hz와 778Hz로 유사하지만 A3음과 G3 음이 연주된 시간이 서로 다르기 때문에 도 23에서 G3 음의 4배수 하모닉 주파수 성분의 두 부분 사이에 약간 아래쪽으로 E3음의 5배수 하모닉 주파수 성분이 나타나고 있음을 알 수 있다.
도 15는 도 12의 도면에서 표시되는 각 주파수들을 도 2의 악보에 포함된 음들의 주파수들 각각과 비교하여 나타낸 도면이다. 즉, 이제까지 도 12의 주파수 성분들을 분석한 내용을 한 눈에 확인할 수 있도록 해당하는 각 주파수 성분에 표시를 하였다. 전술한 본 발명의 방법에서는 도 12에 나타난 주파수 성분들을 분석하기 위해서 도 13a부터 도 13g까지 표현된 각 단음들의 주파수 성분들을 이용하였다. 그 결과로 도 15의 그림을 그릴 수 있었고, 이를 통해서 입력된 디지털음향을 분석하기 위해서 연주악기의 소리정보를 이용하는 방법의 개요를 확인할 수 있다. 즉, 이제까지 설명한 본 발명의 방법에서는 연주악기의 소리정보로써 각 단음들의 실제 소리를 입력으로 받아서 각 소리에 포함된 주파수 성분들을 이용하였다.
본 명세서에서는, 퓨리에 변환의 FFT를 이용하여 주파수 성분들을 분석하였지만, 주파수 성분 분석 기술로는 그 외에도 웨이브릿(Wavelet)이나 기타 디지털신호처리 알고리즘에서 개발한 많은 기술들을 사용할 수 있음은 물론이다. 즉, 본 명세서에서는 설명을 쉽게 하기 위해서 가장 대표적인 퓨리에 변환 기술을 사용한 것이지, 본 발명을 한정하기 위한 것이 아니다.
그런데, 도 14a부터 도 14g 및 도 15에 이르기까지 각 음들의 주파수 성분들이 표현되는 시간 정보는 실제로 연주된 시간 정보와 다르게 나타나고 있음을 알 수 있다. 특히, 도 15에서 참조부호(1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507)로 표시된 시간이 실제 연주가 시작된 부분임에도 불구하고 주파수 성분들은 이전 시간에서부터 표현되고 있음을 알 수 있다. 또한, 각 주파수 성분들은 소리가 끝나야 하는 시간을 넘어서 나타나고 있기도 하다. 이러한 이유는 시간의 흐름에 따른 주파수의 분석을 정확하게 하기 위해서 FFT 윈도우 크기를 8192로 하였기 때문에 생겨난 시간상의 오차이다. 이 오차의 범위는 FFT 윈도우의 크기에 따라서 결정되며, 본 예에서 사용된 샘플링 비율은 22,050Hz 이며 FFT 윈도우는 8192 샘플이므로 8,192 ÷ 22,050 ≒ 0.37 초의 오차를 포함하고 있다. 즉, FFT 윈도우 크기를 크게 하면 단위 프레임의 크기가 커져 구분할 수 있는 주파수 간격이 좁아지기 때문에 각 음들의 높낮이에 따른 주파수 성분들을 정확히 분석할 수 있지만 시간상의 오차를 갖게 되고, FFT 윈도우 크기를 작게 하면 구분할 수 있는 주파수 간격이 넓어지기 때문에 저음역에서 인접한 음들을 구분할 수 없지만 시간상의 오차는 적어지게 된다. 선택적으로, 샘플링 비율을 높여도 전술한 바와 같이 시간상의 오차 범위가 줄어들게 된다.
도 16a 내지 도 16d는 이와 같이 FFT 윈도우 크기 변화에 따른 오차 범위의 변화를 설명하기 위해, 도 1 및 도 2에 도시된 악보의 첫 번째 마디에 대한 연주음들을 서로 다른 FFT 윈도우 크기로 분석한 결과를 나타낸 도면들이다.
도 16a는 FFT 윈도우 크기를 4096으로 설정한 후, FFT 변환을 실시한 경우에 대한 분석 결과를 나타내고, 도 16b는 FFT 윈도우 크기를 2048로 설정한 후, FFT 변환을 실시한 경우에 대한 분석 결과를 나타내고, 도 16c는 FFT 윈도우 크기를 1024로 설정한 후, FFT 변환을 실시한 경우에 대한 분석 결과를 나타내고, 도 16d는 FFT 윈도우 크기를 512로 설정한 후, FFT 변환을 실시한 경우에 대한 분석 결과를 나타낸 것이다.
한편, 도 15의 경우 FFT 윈도우 크기를 8192로 설정한 후, FFT 변환을 실시한 경우에 대한 분석 결과를 나타내므로, 도 15에서부터 도 16a 내지 도 16d에 이르기까지 분석 결과를 비교하면 FFT 윈도우 크기가 커질수록 주파수 대역을 잘게나누어서 세밀하게 분석할 수 있지만 시간상의 오차가 커지고, FFT 윈도우 크기가 작아질수록 구분할 수 있는 주파수대역이 넓어지기 때문에 세밀한 분석이 어려운 반면에 시간상의 오차는 그만큼 작아지게 된다는 것을 알 수 있다.
따라서, 시간상의 정확도와 주파수 대역 구분의 정확도 요구에 따라서 FFT 윈도우 크기를 가변적으로 변경하면서 분석하거나, 아니면 시간상의 정보와 주파수상의 정보를 서로 다른 FFT 윈도우 크기를 이용하여 분석하는 방법 등을 적용하면 된다.
도 17a 및 도 17b는 FFT 윈도우의 크기에 따라 디지털음향 분석 과정의 시간 오차가 달라지는 것을 보여주기 위한 도면이다. 이 때, 도면상에 희게 표시된 영역이 해당 음이 발견된 윈도우를 나타낸다. 따라서, 도 17a의 경우 FFT 윈도우의 크기가 크므로(8192), 해당 음이 발견된 윈도우를 나타내는 영역이 넓게 나타나고, 도 17b의 경우 FFT 윈도우의 크기가 상대적으로 작으므로(1024), 해당 음이 발견된 윈도우를 나타내는 영역이 좁게 나타난다.
도 17a는 FFT 윈도우의 크기를 '8192'로 설정한 경우에 대한 디지털음향의 분석 결과를 나타나내는 도면으로서, 도 17a를 참조하면, 실제 음이 시작된 위치는 '9780'이지만, FFT 변환 결과 음이 시작된 것으로 분석된 위치는 해당 음이 발견된 윈도우의 중간 지점인 '12288'(=(8192+16384)/2)이 된다. 이 경우에는 12288번째 샘플과 9780번째 샘플간의 차이인 2508개의 샘플에 해당하는 시간만큼 오차가 발생한다. 즉, 22.5KHz 샘플링인 경우 2508 * (1/22500) = 약 0.11초만큼 오차가 발생한다.
한편, 도 17b는 FFT 윈도우의 크기를 '1024'로 설정한 경우에 대한 디지털음향의 분석 결과를 나타내는 도면으로서, 도 17b를 참조하면, 실제 음이 시작된 위치는 도 17a의 경우와 마찬가지로 '9780'이지만, FFT 변환 결과 음이 시작된 것으로 분석된 위치는 '9728'(=(9216+10240)/2)이 된다. 이 경우에는 9216번째 샘플과 10239번째 샘플의 중간 값인 9728번째 샘플의 시간으로 분석하게 되는데, 그 오차는 단지 52개의 샘플에 불과하며 상기와 같이 22.5KHz 샘플링인 경우, 상기와 같은 계산 방법에 의해 시간으로는 약 0.002초의 오차가 발생한다. 따라서, 도 17b와 같이 FFT 윈도우의 크기를 작게 설정하였을 경우에 보다 정확한 분석 결과를 얻을 수 있다는 것을 알 수 있다.
도 18은 본 발명의 실시예에 따라 소리정보 및 악보정보를 이용하여 도출한 단음정보들을 다시 합성한 소리를 주파수별로 분석한 결과를 도시한 도면이다. 즉, 도 1의 악보로부터 악보정보를 도출하였고, 앞서 도 13a 내지 13g에서 설명된 소리정보를 적용하였다.
즉, 도 1로부터 도출된 악보정보로부터 첫 0.5초 동안 C4, A3, 그리고 A2음들이 연주된다는 것을 도출하고, 도 13a 내지 도 13c의 정보들로부터, 해당 음들의 소리정보들을 도출한 후, 그 정보들을 이용하여 외부로부터 입력된 디지털음향을 분석한 후, 그 결과를 도출한 도면이다. 이 때, 도 12의 앞부분 0.5초 동안에 해당하는 부분과 도 14d의 앞부분을 비교하면 거의 일치한다는 것을 확인할 수 었다. 따라서, 도 18의 첫 0.5초 동안에 해당하는 부분은, 전술한 [의사코드 2] 중에서 결과변수(result) 또는 퍼포먼스(performance)에 해당하는 부분으로 도 12의 첫 0.5초 부분과 일치한다.
이상에서는, 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 하지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어남이 없이 변형된 형태로 본 발명을 구현할 수 있음을 알 수 있을 것이다. 따라서, 개시된 실시예는 본 발명을 한정하기 위한 것으로 해석되어서는 아니되며, 본 발명을 설명하기 위한 것으로 해석하여야 한다. 즉, 본 발명의 범위는 첨부된 특허청구범위에 의해서만 제한되는 것으로 해석되어야 한다.
본 발명에 의하면, 디지털음향 분석에 있어서 소리정보, 또는 소리정보와 악보정보를 이용함으로써 입력되는 디지털음향을 빠르게 분석할 수 있으며 그 정확성도 높아진다. 또한, 종래의 방법들은 피아노 연주곡 등 복음으로 구성된 음악을 거의 분석하지 못하였으나, 본 발명에 의하면 소리정보, 또는 소리정보와 악보정보를 이용함으로써 디지털음향에 포함된 단음 연주 부분은 물론 복음 연주 부분까지도 빠르고 정확하게 분석할 수 있다는 장점이 있다.
이로써, 이러한 디지털음향 분석 결과를 전자악보에 직접 적용할 수 있으며, 또한 정확한 분석결과를 이용하여 연주정보를 정량적으로 도출할 수 있다. 따라서, 이러한 분석결과는 그 이용도가 광범위하며 어린이들의 음악교육에서부터 전문가들의 연주 연습에 이르기까지 폭넓게 적용할 수 있다.
즉, 외부로부터 입력되는 디지털음향을 실시간으로 분석할 수 있는 본 발명의 기술을 응용할 경우, 현재 연주되고 있는 연주음들에 대한 전자악보상의 위치를 실시간으로 파악하여, 다음 연주위치를 전자 악보상에 자동으로 표시해 줄 수 있도록 함으로써, 연주자들이 손으로 종이악보를 넘길 필요가 없이 연주에만 전념할 수 있도록 한다는 효과가 있다.
또한, 분석결과인 연주정보를 미리 저장된 악보정보와 비교하여 연주정확도를 도출함으로써, 연주자에게 틀리게 연주한 부분들을 알려주거나, 상기 연주 정확도를 가지고 해당 연주자의 연주를 평가할 수 있는 자료로 활용할 수도 있는 것이다.

Claims (29)

  1. 디지털음향을 분석하기 위하여 연주악기의 소리정보를 이용하는 방법으로써,
    a) 연주악기별 소리정보를 생성하고 저장하는 단계,
    b) 상기 저장된 연주악기별 소리정보 중 실제로 연주될 악기의 소리정보를 선택하는 단계,
    c) 디지털음향을 입력으로 받는 단계,
    d) 상기 입력된 디지털음향 신호를 단위 프레임별 주파수 성분으로 분해하는 단계,
    e) 상기 입력된 디지털음향신호의 주파수 성분들과 상기 선택된 연주악기 소리정보의 주파수 성분들을 비교 분석하여, 상기 입력된 디지털음향신호에 포함된 단음 정보들을 도출하는 단계,
    f) 상기 도출된 단음 정보들을 출력으로 보내는 단계
    를 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  2. 제1항에 있어서, 상기 단계(e)는
    상기 구분된 단위 프레임별 시간 정보를 도출한 후, 그 단위 프레임별 주파수 성분들과 연주악기 소리정보의 주파수 성분들을 비교 분석하여 각 단위 프레임별로 포함된 단음들의 음 높이별, 세기별 정보를 시간 정보와 함께 도출하는 것을 특징으로 하는 디지털음향 분석 방법.
  3. 제2항에 있어서, 상기 단계(e)는
    상기 도출된 단음 정보가 이전 프레임에 포함되지 않았던 새로운 단음인 경우, 이에 해당하는 프레임을 이전 프레임보다 크기가 작은 서브프레임들로 나누고, 새로운 음이 포함된 서브프레임을 찾아서 해당 서브프레임의 시간 정보를 상기 도출된 단음들의 음 높이별, 세기별 정보와 함께 도출하는 단계를 더 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  4. 제1항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보를 주기적으로 갱신하는 것을 특징으로 하는 디지털음향 분석 방법.
  5. 제1항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보들을 하나 이상의 세기별 소리들의 샘플로써 저장할 때, 소리정보로 표현 가능한 각 단음들을 웨이브 형식의 데이터로 저장하고, 그 웨이브 형식의 데이터로부터 연주악기별 소리정보의 주파수 성분들을 도출하도록 하는 것을 특징으로 하는 디지털음향 분석 방법.
  6. 제1항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보들을 하나 이상의 세기별 소리들의 샘플로써 저장할 때, 소리정보로 표현 가능한 각 단음들을 주파수 성분별 세기로 직접 표현 가능한 형태로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  7. 제6항에 있어서, 상기 단계(a)는
    상기 연주 악기의 소리 정보를 퓨리에 변환을 거쳐서 직접 표현 가능한 형태로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  8. 제6항에 있어서, 상기 단계(a)는
    상기 연주 악기의 소리 정보를 웨이브릿 변환을 거쳐서 직접 표현 가능한 형태로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  9. 제5항 또는 제6항에 있어서, 상기 단계(a)는
    건반 악기의 소리정보 저장시 페달 사용 유무에 대하여 분류 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  10. 제5항 또는 제6항에 있어서, 상기 단계(a)는
    현악기의 소리정보 저장시 그 소리 정보를 각 현별로 분류 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  11. 제1항 또는 제2항에 있어서, 상기 단계(e)는
    상기 입력된 디지털음향신호의 프레임별로 해당 프레임에 포함된 가장 낮은 피크 주파수를 선택하는 단계(e1)와,
    상기 선택된 연주악기 소리정보 중에서 상기 선택된 피크 주파수를 포함하는 소리정보들을 도출하는 단계(e2)와,
    상기 도출된 소리정보들 중 해당 프레임의 피크 주파수 성분들과 가장 근접한 피크 정보를 가지는 소리정보를 단음정보로 도출하는 단계(e3)와,
    상기 도출된 단음정보에 해당하는 소리정보의 주파수 성분들을 해당 프레임에서 제거하는 단계(e4)와,
    해당 프레임의 피크 주파수 성분들이 남아 있는 경우, 상기 과정들(e1 내지 e4)을 반복 수행하는 단계(e5)를 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  12. 디지털음향을 분석하기 위하여 연주악기의 소리정보 및 악보정보를 이용하는 방법으로써,
    a) 연주 악기별 소리정보를 생성하고 저장하는 단계,
    b) 연주될 악보의 악보정보를 생성하고 저장하는 단계,
    c) 상기 저장된 연주악기별 소리정보 및 악보정보들 중 실제로 연주될 악기의 소리정보 및 악보정보를 선택하는 단계,
    d) 디지털음향을 입력으로 받는 단계,
    e) 상기 입력된 디지털음향신호를 단위 프레임별 주파수 성분으로 분해하는단계,
    f) 상기 입력된 디지털음향신호의 주파수 성분들과 상기 선택된 연주악기 소리정보의 주파수 성분 및 악보정보를 비교 분석하여, 상기 입력된 디지털음향신호에 포함된 연주오류정보 및 단음 정보들을 도출하는 단계,
    g) 상기 도출된 단음들의 정보를 출력으로 보내는 단계,
    를 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  13. 제12항에 있어서, 상기 단계(f)는
    상기 단위 프레임별 시간 정보를 도출한 후, 그 단위 프레임별 주파수 성분들과 연주악기 소리정보의 주파수 성분 및 악보정보를 비교 분석하여 각 단위 프레임별로 포함된 단음들의 음 높이별, 세기별 정보를 시간 정보와 함께 도출하는 것을 특징으로 하는 디지털음향 분석 방법.
  14. 제12항 또는 제13항에 있어서, 상기 단계(f)는
    상기 도출된 단음 정보가 이전 프레임에 포함되지 않았던 새로운 단음인 경우, 이에 해당하는 프레임을 이전 프레임보다 크기가 작은 서브프레임들로 나누고, 새로운 음이 포함된 서브프레임을 찾아서 해당 서브프레임의 시간 정보를 상기 도출된 단음들의 음 높이별, 세기별 정보와 함께 도출하는 단계를 더 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  15. 제12항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보를 주기적으로 갱신하는 것을 특징으로 하는 디지털음향 분석 방법.
  16. 제12항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보들을 하나 이상의 세기별 소리들의 샘플로써 저장할 때, 소리정보로 표현 가능한 각 단음들을 웨이브 형식의 데이터로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  17. 제12항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보들을 하나 이상의 세기별 소리들의 샘플로써 저장할 때, 소리정보로 표현 가능한 각 단음들을 주파수 성분별 세기로 직접 표현 가능한 형태로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  18. 제17항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리정보를 퓨리에 변환을 거쳐서 직접 표현 가능한 형태로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  19. 제17항에 있어서, 상기 단계(a)는
    상기 연주악기의 소리 정보를 웨이브릿 변환을 거쳐서 직접 표현 가능한 형태로 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  20. 제16항 또는 제17항에 있어서, 상기 단계(a)는
    건반 악기의 소리정보 저장시 페달 사용 유무에 대하여 분류 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  21. 제16항 또는 제17항에 있어서, 상기 단계(a)는
    현악기의 소리정보 저장시 그 소리 정보를 각 현별로 분류 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
  22. 제12항 또는 제13항에 있어서, 상기 단계(f)는
    해당 연주악기의 연주 진행에 따라 실시간으로 생성되는 디지털음향신호의 프레임별 연주기대값들 중 실제 연주음인 디지털음향신호와 비교되지 않은 연주기대값이 존재하는지를 확인하는 단계(f1)와,
    상기 단계(f1) 결과 실제 연주음인 디지털음향신호와 비교되지 않은 연주기대값이 존재하지 않는 경우, 현재 입력된 디지털음향신호의 프레임별 주파수 성분이 연주오류정보인지의 여부를 확인하여, 연주오류정보 및 단음정보를 도출한 후, 그 연주오류정보 및 단음정보로 도출된 소리정보의 주파수 성분들을 해당 프레임에서 제거하는 단계(f2)와,
    상기 단계(f1) 결과 해당 프레임에 대한 연주기대값이 존재하는 경우, 상기디지털 음향 신호와 상기 연주기대값들을 비교 분석하여 단음정보를 도출하고, 그 단음정보로 도출된 소리정보의 주파수 성분들을 해당 프레임에서 제거하는 단계(f3)와,
    해당 프레임의 피크 주파수 성분들이 남아 있는 경우, 상기 과정들(f1 내지 f3)을 반복 수행하는 단계(f4)를 포함하는 것을 특징으로 하는 디지털 음향 분석 방법.
  23. 제22항에 있어서, 상기 단계(f2)는
    상기 입력된 디지털음향신호의 프레임별로 해당 프레임에 포함된 가장 낮은 피크 주파수를 선택하는 단계(f2_1)와,
    해당 연주악기의 소리정보 중에서 상기 선택된 피크 주파수를 포함하는 소리정보들을 도출하는 단계(f2_2)와,
    상기 도출된 소리정보들 중 해당 프레임의 피크 주파수 성분들과 가장 근접한 피크 정보를 가지는 소리정보를 연주오류정보로 도출하는 단계(f2_3)와,
    상기 연주오류정보가 악보정보에서 다음에 연주될 음표들에 포함되는 경우, 상기 연주오류정보에 포함된 음들을 연주기대값에 추가한 후, 그 연주오류정보를 단음정보로 도출하는 단계(f2_4)와,
    상기 연주오류정보 및 단음정보로 도출된 소리정보의 주파수 성분을 해당 프레임에서 제거하는 단계(f2_5)를 포함하는 것을 특징으로 하는 디지털 음향 분석 방법.
  24. 제23항에 있어서, 상기 단계(f2_3)는
    해당 연주음의 높이 및 세기를 연주오류정보로 도출하는 것을 특징으로 하는 디지털 음향 분석 방법.
  25. 제22항에 있어서, 상기 단계(f3)는
    상기 연주기대값에 포함된 소리정보들 중 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분들과 비교되지 않은 가장 낮은 음의 소리정보를 선택하는 단계(f3_1)와,
    상기 선택된 소리정보의 주파수 성분들이 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분들에 포함되는 경우, 그 소리 정보를 단음정보로 도출한 후, 그 소리정보의 주파수 성분들을 디지털음향신호의 해당 프레임에서 제거하는 단계(f3_2)와,
    상기 선택된 소리정보의 주파수 성분들이 상기 디지털음향신호의 해당 프레임에 포함된 주파수 성분들에 포함되지 않은 경우, 상기 연주기대값을 정정하는 단계(f3_3)를 포함하는 것을 특징으로 하는 디지털 음향 분석 방법.
  26. 제23항에 있어서, 상기 단계 (f3_3)는
    상기 선택된 소리정보의 주파수 성분들 중 어느 시점에 상기 디지털음향신호의 해당 프레임에 포함된 이력이 있으나, 그 디지털음향신호의 해당 프레임에 소정횟수 이상 연속하여 포함되지 않은 소리정보를 연주기대값에서 제거하는 것을 특징으로 하는 디지털 음향 분석 방법.
  27. 제12항에 있어서,
    상기 단계(f)에서 도출된 상기 연주오류정보에 의거하여 연주정확도를 판별하는 단계(h)를 더 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  28. 제12항에 있어서,
    상기 단계(f)에서 도출된 상기 연주오류정보에 의거하여 상기 연주오류정보에 해당하는 디지털음향 신호의 단음 정보를 상기 단계(b)에서 생성된 악보정보에 추가하는 단계(i)를 더 포함하는 것을 특징으로 하는 디지털음향 분석 방법.
  29. 제12항에 있어서, 상기 단계(b)는
    연주될 악보에 의거하여,
    시간의 흐름에 따른 음의 높낮이, 음의 길이 정보, 빠르기 정보, 박자 정보, 음의 세기 정보와,
    스타카토, 스타카티시모, 프랄트릴러를 포함하는 세부연주정보와,
    양손 연주 및 다수의 악기 연주에 따른 연주 구분 정보 중 하나 이상의 정보를 포함하는 악보정보를 생성하고 저장하는 것을 특징으로 하는 디지털음향 분석 방법.
KR10-2001-0076099A 2000-12-05 2001-12-04 연주악기의 소리정보, 또는 소리정보 및 악보정보를 이용한 디지털음향 분석 방법 KR100455752B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20000073452 2000-12-05
KR1020000073452 2000-12-05

Publications (2)

Publication Number Publication Date
KR20020044081A true KR20020044081A (ko) 2002-06-14
KR100455752B1 KR100455752B1 (ko) 2004-11-06

Family

ID=19702696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0076099A KR100455752B1 (ko) 2000-12-05 2001-12-04 연주악기의 소리정보, 또는 소리정보 및 악보정보를 이용한 디지털음향 분석 방법

Country Status (7)

Country Link
US (1) US6856923B2 (ko)
EP (1) EP1340219A4 (ko)
JP (1) JP3907587B2 (ko)
KR (1) KR100455752B1 (ko)
CN (1) CN100354924C (ko)
AU (1) AU2002221181A1 (ko)
WO (1) WO2002047064A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671505B1 (ko) * 2005-04-21 2007-02-28 인하대학교 산학협력단 베이즈법을 적용한 악기신호의 인식 및 장르분류 방법
KR100722559B1 (ko) * 2005-07-28 2007-05-29 (주) 정훈데이타 음향 신호 분석 장치 및 방법
KR20150048472A (ko) * 2013-10-28 2015-05-07 에스케이플래닛 주식회사 현악기 연주 가이드를 위한 장치 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455751B1 (ko) * 2001-12-18 2004-11-06 어뮤즈텍(주) 연주악기의 소리정보를 이용한 음악분석장치
US20050190199A1 (en) * 2001-12-21 2005-09-01 Hartwell Brown Apparatus and method for identifying and simultaneously displaying images of musical notes in music and producing the music
US7169996B2 (en) * 2002-11-12 2007-01-30 Medialab Solutions Llc Systems and methods for generating music using data/music data file transmitted/received via a network
WO2005022509A1 (en) * 2003-09-03 2005-03-10 Koninklijke Philips Electronics N.V. Device for displaying sheet music
US20050229769A1 (en) * 2004-04-05 2005-10-20 Nathaniel Resnikoff System and method for assigning visual markers to the output of a filter bank
DE102004049457B3 (de) * 2004-10-11 2006-07-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur Extraktion einer einem Audiosignal zu Grunde liegenden Melodie
DE102004049477A1 (de) * 2004-10-11 2006-04-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zur harmonischen Aufbereitung einer Melodielinie
US7598447B2 (en) * 2004-10-29 2009-10-06 Zenph Studios, Inc. Methods, systems and computer program products for detecting musical notes in an audio signal
KR100735444B1 (ko) * 2005-07-18 2007-07-04 삼성전자주식회사 오디오데이터 및 악보이미지 추출방법
DE102006014507B4 (de) * 2006-03-19 2009-05-07 Technische Universität Dresden Verfahren und Vorrichtung zur Klassifikation und Beurteilung von Musikinstrumenten gleicher Instrumentengruppen
US7459624B2 (en) 2006-03-29 2008-12-02 Harmonix Music Systems, Inc. Game controller simulating a musical instrument
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
US7645929B2 (en) * 2006-09-11 2010-01-12 Hewlett-Packard Development Company, L.P. Computational music-tempo estimation
JP4322283B2 (ja) * 2007-02-26 2009-08-26 独立行政法人産業技術総合研究所 演奏判定装置およびプログラム
WO2008133097A1 (ja) * 2007-04-13 2008-11-06 Kyoto University 音源分離システム、音源分離方法及び音源分離用コンピュータプログラム
US8678895B2 (en) * 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for online band matching in a rhythm action game
US8678896B2 (en) * 2007-06-14 2014-03-25 Harmonix Music Systems, Inc. Systems and methods for asynchronous band interaction in a rhythm action game
US8465366B2 (en) * 2009-05-29 2013-06-18 Harmonix Music Systems, Inc. Biasing a musical performance input to a part
US8017854B2 (en) 2009-05-29 2011-09-13 Harmonix Music Systems, Inc. Dynamic musical part determination
US7935880B2 (en) 2009-05-29 2011-05-03 Harmonix Music Systems, Inc. Dynamically displaying a pitch range
US20100304810A1 (en) * 2009-05-29 2010-12-02 Harmonix Music Systems, Inc. Displaying A Harmonically Relevant Pitch Guide
US8026435B2 (en) * 2009-05-29 2011-09-27 Harmonix Music Systems, Inc. Selectively displaying song lyrics
US8449360B2 (en) * 2009-05-29 2013-05-28 Harmonix Music Systems, Inc. Displaying song lyrics and vocal cues
US8076564B2 (en) * 2009-05-29 2011-12-13 Harmonix Music Systems, Inc. Scoring a musical performance after a period of ambiguity
US7923620B2 (en) * 2009-05-29 2011-04-12 Harmonix Music Systems, Inc. Practice mode for multiple musical parts
US20100304811A1 (en) * 2009-05-29 2010-12-02 Harmonix Music Systems, Inc. Scoring a Musical Performance Involving Multiple Parts
US8080722B2 (en) * 2009-05-29 2011-12-20 Harmonix Music Systems, Inc. Preventing an unintentional deploy of a bonus in a video game
US7982114B2 (en) * 2009-05-29 2011-07-19 Harmonix Music Systems, Inc. Displaying an input at multiple octaves
EP2441071A2 (en) * 2009-06-12 2012-04-18 Jam Origin APS Generative audio matching game system
US10357714B2 (en) 2009-10-27 2019-07-23 Harmonix Music Systems, Inc. Gesture-based user interface for navigating a menu
US9981193B2 (en) 2009-10-27 2018-05-29 Harmonix Music Systems, Inc. Movement based recognition and evaluation
US8568234B2 (en) 2010-03-16 2013-10-29 Harmonix Music Systems, Inc. Simulating musical instruments
US8562403B2 (en) 2010-06-11 2013-10-22 Harmonix Music Systems, Inc. Prompting a player of a dance game
EP2579955B1 (en) 2010-06-11 2020-07-08 Harmonix Music Systems, Inc. Dance game and tutorial
US9358456B1 (en) 2010-06-11 2016-06-07 Harmonix Music Systems, Inc. Dance competition game
US9024166B2 (en) 2010-09-09 2015-05-05 Harmonix Music Systems, Inc. Preventing subtractive track separation
JP5834727B2 (ja) * 2011-09-30 2015-12-24 カシオ計算機株式会社 演奏評価装置、プログラム及び演奏評価方法
JP6155950B2 (ja) * 2013-08-12 2017-07-05 カシオ計算機株式会社 サンプリング装置、サンプリング方法及びプログラム
CN103413559A (zh) * 2013-08-13 2013-11-27 上海玄武信息科技有限公司 音频识别及纠正系统
CN105760386B (zh) * 2014-12-16 2019-10-25 广州爱九游信息技术有限公司 电子图片曲谱滚动方法、装置及系统
CN105719661B (zh) * 2016-01-29 2019-06-11 西安交通大学 一种弦乐器演奏音质自动判别方法
CN105469669A (zh) * 2016-02-02 2016-04-06 广州艾美网络科技有限公司 唱歌辅助教学设备
US11282407B2 (en) 2017-06-12 2022-03-22 Harmony Helper, LLC Teaching vocal harmonies
US10249209B2 (en) * 2017-06-12 2019-04-02 Harmony Helper, LLC Real-time pitch detection for creating, practicing and sharing of musical harmonies
CN108038146B (zh) * 2017-11-29 2021-08-17 无锡同芯微纳科技有限公司 音乐演奏人工智能分析方法、系统及设备
JP6610714B1 (ja) * 2018-06-21 2019-11-27 カシオ計算機株式会社 電子楽器、電子楽器の制御方法、及びプログラム
US11288975B2 (en) 2018-09-04 2022-03-29 Aleatoric Technologies LLC Artificially intelligent music instruction methods and systems

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4479416A (en) * 1983-08-25 1984-10-30 Clague Kevin L Apparatus and method for transcribing music
JPS616689A (ja) * 1984-06-20 1986-01-13 松下電器産業株式会社 電子楽器
JPH05509409A (ja) * 1990-06-21 1993-12-22 レイノルズ ソフトウエア,インコーポレイティド 波動分析・事象認識方法およびその装置
JP2522928Y2 (ja) * 1990-08-30 1997-01-22 カシオ計算機株式会社 電子楽器
JP3216143B2 (ja) * 1990-12-31 2001-10-09 カシオ計算機株式会社 楽譜解釈装置
JPH05181464A (ja) * 1991-12-27 1993-07-23 Sony Corp 楽音認識装置
JP3049989B2 (ja) * 1993-04-09 2000-06-05 ヤマハ株式会社 演奏情報分析装置および和音検出装置
JP2636685B2 (ja) * 1993-07-22 1997-07-30 日本電気株式会社 音楽イベントインデックス作成装置
US5567901A (en) * 1995-01-18 1996-10-22 Ivl Technologies Ltd. Method and apparatus for changing the timbre and/or pitch of audio signals
KR970007062U (ko) * 1995-07-13 1997-02-21 연주음 분리재생장치
JP3424787B2 (ja) * 1996-03-12 2003-07-07 ヤマハ株式会社 演奏情報検出装置
CN1068948C (zh) * 1997-07-11 2001-07-25 财团法人工业技术研究院 交互性的音乐伴奏的方法和设备
JP3437421B2 (ja) * 1997-09-30 2003-08-18 シャープ株式会社 楽音符号化装置及び楽音符号化方法並びに楽音符号化プログラムを記録した記録媒体
US6140568A (en) * 1997-11-06 2000-10-31 Innovative Music Systems, Inc. System and method for automatically detecting a set of fundamental frequencies simultaneously present in an audio signal
KR19990050494A (ko) * 1997-12-17 1999-07-05 전주범 악기별 스펙트럼 출력장치
KR100317478B1 (ko) * 1999-08-21 2001-12-22 주천우 실시간 음악 교습 시스템 및 그 시스템에서의 음악 정보 처리방법
JP2001067068A (ja) * 1999-08-25 2001-03-16 Victor Co Of Japan Ltd 音楽パートの識別方法
KR100320036B1 (ko) * 1999-09-16 2002-01-09 서정렬 디지털 음악 파일을 악기별로 연주가 가능한 연주용파일로 변환하는 방법 및 그를 이용한 음악 연주시스템
JP4302837B2 (ja) * 1999-10-21 2009-07-29 ヤマハ株式会社 音声信号処理装置および音声信号処理方法
KR100322875B1 (ko) * 2000-02-25 2002-02-08 유영재 자율학습이 가능한 음악교습시스템
KR20010091798A (ko) * 2000-03-18 2001-10-23 김재수 기악 연주 교육장치 및 방법
JP3832266B2 (ja) * 2001-03-22 2006-10-11 ヤマハ株式会社 演奏データ作成方法および演奏データ作成装置
JP3801029B2 (ja) * 2001-11-28 2006-07-26 ヤマハ株式会社 演奏情報生成方法、演奏情報生成装置およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671505B1 (ko) * 2005-04-21 2007-02-28 인하대학교 산학협력단 베이즈법을 적용한 악기신호의 인식 및 장르분류 방법
KR100722559B1 (ko) * 2005-07-28 2007-05-29 (주) 정훈데이타 음향 신호 분석 장치 및 방법
KR20150048472A (ko) * 2013-10-28 2015-05-07 에스케이플래닛 주식회사 현악기 연주 가이드를 위한 장치 및 방법, 그리고 컴퓨터 프로그램이 기록된 기록매체

Also Published As

Publication number Publication date
EP1340219A1 (en) 2003-09-03
KR100455752B1 (ko) 2004-11-06
EP1340219A4 (en) 2005-04-13
CN100354924C (zh) 2007-12-12
WO2002047064A1 (en) 2002-06-13
JP2004515808A (ja) 2004-05-27
US20040044487A1 (en) 2004-03-04
CN1479916A (zh) 2004-03-03
US6856923B2 (en) 2005-02-15
AU2002221181A1 (en) 2002-06-18
JP3907587B2 (ja) 2007-04-18

Similar Documents

Publication Publication Date Title
KR100455752B1 (ko) 연주악기의 소리정보, 또는 소리정보 및 악보정보를 이용한 디지털음향 분석 방법
JP7243052B2 (ja) オーディオ抽出装置、オーディオ再生装置、オーディオ抽出方法、オーディオ再生方法、機械学習方法及びプログラム
Dittmar et al. Music information retrieval meets music education
US6703549B1 (en) Performance data generating apparatus and method and storage medium
KR100455751B1 (ko) 연주악기의 소리정보를 이용한 음악분석장치
US6191349B1 (en) Musical instrument digital interface with speech capability
US20120046771A1 (en) Music audio signal generating system
Klapuri Introduction to music transcription
US20180082606A1 (en) Apparatus to detect, analyze, record, and display audio data, and method thereof
JP2023015302A (ja) 電子機器、電子楽器、方法及びプログラム
JP3900188B2 (ja) 演奏データ作成装置
Lerch Software-based extraction of objective parameters from music performances
JP5292702B2 (ja) 楽音信号生成装置及びカラオケ装置
Kitahara et al. Instrogram: A new musical instrument recognition technique without using onset detection nor f0 estimation
JPH01288900A (ja) 歌声伴奏装置
JP3900187B2 (ja) 演奏データ作成装置
JP4123242B2 (ja) 演奏信号処理装置及びプログラム
JP2020024456A (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP2003216147A (ja) 音響信号の符号化方法
JP4624879B2 (ja) 楽音情報発生プログラムおよび楽音情報発生装置
JP5569307B2 (ja) プログラム、及び編集装置
Ballard Jr Extended Harmonic Techniques: Acoustic Principles for Composition and Musicianship
JP3885803B2 (ja) 演奏データ変換処理装置及び演奏データ変換処理プログラム
JP3935745B2 (ja) 音響信号の符号化方法
Latartara Pedagogic applications of Fourier analysis and spectrographs in the music theory classroom

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
FPAY Annual fee payment

Payment date: 20111026

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee