KR102538680B1 - 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치 - Google Patents

인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치 Download PDF

Info

Publication number
KR102538680B1
KR102538680B1 KR1020220167096A KR20220167096A KR102538680B1 KR 102538680 B1 KR102538680 B1 KR 102538680B1 KR 1020220167096 A KR1020220167096 A KR 1020220167096A KR 20220167096 A KR20220167096 A KR 20220167096A KR 102538680 B1 KR102538680 B1 KR 102538680B1
Authority
KR
South Korea
Prior art keywords
stem
embedding vector
data
audio
music
Prior art date
Application number
KR1020220167096A
Other languages
English (en)
Inventor
김태형
김근형
이종필
금상은
Original Assignee
뉴튠(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 뉴튠(주) filed Critical 뉴튠(주)
Priority to KR1020220167096A priority Critical patent/KR102538680B1/ko
Application granted granted Critical
Publication of KR102538680B1 publication Critical patent/KR102538680B1/ko
Priority to US18/350,389 priority patent/US20230351152A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/54Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • 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/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • 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/095Identification code, e.g. ISWC for musical works; Identification dataset
    • G10H2240/101User identification
    • 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/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/131Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
    • G10H2240/141Library retrieval matching, i.e. any of the steps of matching an inputted segment or phrase with musical database contents, e.g. query by humming, singing or playing; the steps may include, e.g. musical analysis of the input, musical feature extraction, query formulation, or details of the retrieval process
    • 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/311Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation

Abstract

일 실시예에 따른 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치는, 오디오 데이터에 대한 오디오 임베딩 벡터 및 상기 오디오 데이터에 대한 스템 데이터에 대응되는 스템 임베딩 벡터가 저장되어 있는 메모리 모듈, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 사용자가 입력한 입력 오디오 데이터에 대한 임베딩 벡터인 입력 오디오 임베딩 벡터와의 유사도를 산출하는 유사도 계산 모듈 및 상기 유사도 계산 모듈이 산출한 결과를 기초로 상기 사용자에게 음악 서비스를 제공하는 서비스 제공 모듈을 포함하고, 상기 스템 데이터는, 미리 설정된 기준에 따라 상기 오디오 데이터를 구성하는 특정 속성에 대한 데이터일 수 있다.

Description

인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치{Method and Apparatus for Searching Similar Music Based on Music Attributes Using Artificial Neural Network}
본 발명은 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치에 관한 발명으로서, 보다 상세하게는 딥러닝에 의해 학습된 인공신경망을 이용하여 음악의 여러 속성을 교차 분석한 후, 분석된 결과에 기초하여 유사 음악을 검색하는 기술에 관한 발명이다.
현재까지 제안되어 있는 음악 검색 형태를 보면 5가지 (텍스트 질의(query-by-text), 허밍 질의(query-by-humming), 부분 질의(query-by-part), 예시 질의(query-by-example), 클래스 질의(query-by-class)) 정도로 요약할 수 있을 것이다.
텍스트 질의 검색 방식은 음악정보 데이터베이스에 저장한 서지 정보(작가, 곡명, 장르 등)를 기반으로 기존의 정보검색 시스템의 질의(query) 처리 방식대로 처리한다.
허밍 질의 방식은 사용자가 허밍(humming)을 입력하면 이것을 질의로서 인식하고 이와 유사한 멜로디를 갖는 곡들을 찾아주는 방식을 의미한다.
부분 질의 방식은 사용자가 레스토랑에서 나오는 음악을 듣다가 곡이 좋아 이 곡이 현재 본인 단말기에 저장되어 있는지 알고 싶지만 곡명이나 멜로디를 모를 경우, 흘러나오는 음악을 입력으로 유사한 곡들을 찾아주는 방식이다.
예시 질의 방식은 사용자가 특정 곡을 선택하면 유사한 곡들을 찾아주는 방식으로 부분 질의 방식과 비슷하나 예시 질의에서는 곡 전체를 입력으로 하지만 부분 질의는 곡의 일부분만 입력으로 이용한다. 또한, 예시 질의에서는 실제 음악 대신에 곡명을 입력으로 하지만 부분 질의는 실제 음악을 입력으로 한다. 클래스 질의 방식은 사전에 음악을 장르나 분위기에 따라 분류를 해 놓고 택소노미 (taxonomy)에 따라 선택해 나가는 방식이다.
5가지 검색 방법 중 허밍 질의, 부분 질의, 예시 질의는 일반적인 검색 방법이 아니고 특수한 상황에서 사용 가능한 방법이고 가장 보편적으로 이루어지는 방법은 텍스트 질의나 클래스 질의 형태일 것이다. 하지만 이 두 방법 모두 전문가나 운영자의 개입을 요구한다. 즉, 새로운 음악이 나왔을 경우, 필요한 서지정보를 입력하거나 택소노미에 따라 어떤 분류에 속하는지를 결정해야 한다. 요즘처럼 새로운 음악이 계속 쏟아지는 상황에서는 이러한 방식은 더욱 더 문제가 된다.
이러한 문제를 해결할 수 있는 해결책 중의 하나는 택소노미에 따라 자동으로 태깅하는 방법을 사용하는 것이다. 자동으로 분류하여 그 분류에 해당하는 서지정보를 자동 입력하거나 분류코드를 할당하는 것이다. 하지만 택소노미에 따른 분류는 사서나 운영자 등과 같이 사이트를 관리하는 일부 특정계층이 직접 분류하는 방법이고, 특정 체계의 지식이 필요함으로 새로운 아이템이 추가될 경우 확장이 결여될 수 있는 문제점이 존재한다.
한국공개특허 제10-2015-0084133호 (2015.07.22. 공개) - '음의 간섭현상을 이용한 음정인식 및 이를 이용한 음계채보 방법' '
따라서, 일 실시예에 따른 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치는 상기 설명한 문제점을 해결하기 위해 고안된 발명으로서, 음악의 특성을 인공신경망 모듈을 이용하여 용이하게 분석하고, 분석된 결과를 기초로 보다 정확하게 유사 음악 검색을 할 수 있는 방법 및 장치를 제공하는데 그 목적이 있다.
보다 구체적으로 일 실시예에 따른 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치는, 음원을 속성별로 분류한 데이터 및 음원 자체의 데이터를 각각 임베딩 벡터로 변환한 후, 하나의 공통된 공간에서 인공신경망을 이용하여 서로 비교 분석함으로써, 음원 및 속성에 대한 정보를 보다 정확하게 추출하는 기술을 제공하는데 목적이 있다.
또한, 더 나아가 학습된 인공신경망을 이용하여 사용자가 입력된 음원 또는 음악의 속성과 가장 유사한 음원을 검색해주는 기술을 제공하는데 그 목적이 존재한다.
일 실시예에 따른 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치는, 오디오 데이터에 대한 오디오 임베딩 벡터 및 상기 오디오 데이터에 대한 스템 데이터에 대응되는 스템 임베딩 벡터가 저장되어 있는 메모리 모듈, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 사용자가 입력한 입력 오디오 데이터에 대한 임베딩 벡터인 입력 오디오 임베딩 벡터와의 유사도를 산출하는 유사도 계산 모듈 및 상기 유사도 계산 모듈이 산출한 결과를 기초로 상기 사용자에게 음악 서비스를 제공하는 서비스 제공 모듈을 포함하고, 상기 스템 데이터는, 미리 설정된 기준에 따라 상기 오디오 데이터를 구성하는 특정 속성에 대한 데이터일 수 있다.
상기 유사도 계산 모듈은, 상기 입력 오디오 데이터에 대한 입력 스템 데이터를 출력하고, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 상기 입력 스템 데이터에 대응되는 입력 스템 임베딩 벡터와의 유사도를 산출할 수 있다.
상기 음악 서비스는, 가수 식별 서비스, 유사 음악 검색 서비스 및 유사 스템 검색 서비스 중 적어도 하나를 포함할 수 있다.
상기 속성은, 보컬, 드럼, 베이스, 피아노 및 반주 중 적어도 하나를 포함할 수 있다.
상기 메모리 모듈에는 상기 스템 임베딩 벡터는 서로 다른 종류의 속성을 가지는 복수의 스템 임베딩 벡터가 저장될 수 있다.
상기 메모리 모듈에는 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터에 각각 대응되는 오디오 태깅 정보 및 스템 태깅 정보가 저장되어 있고, 상기 유사도 계산 모듈은, 상기 오디오 태깅 정보 및 상기 스템 태깅 정보 중 적어도 하나와 상기 입력 오디오 임베딩 벡터에 대응되는 입력 오디오 태깅 정보와 유사도를 산출할 수 있다.
프로세서 및 오디오 데이터에 대한 오디오 임베딩 벡터 및 상기 오디오 데이터에 대한 스템 데이터에 대응되는 스템 임베딩 벡터가 저장되어 있는 메모리 모듈을 이용한, 유사 음악 검색 서비스 제공 방법은, 사용자가 입력한 입력 오디오 데이터에 대한 임베딩 벡터인 입력 오디오 임베딩 벡터를 출력하고, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 상기 입력 오디오 임베딩 벡터와의 유사도를 산출하는 유사도 산출 단계 및 상기 유사도 계산 모듈이 산출한 결과를 기초로 상기 사용자에게 음악 서비스를 제공하는 서비스 제공 단계를 포함하고, 상기 스템 데이터는, 미리 설정된 기준에 따라 상기 오디오 데이터를 구성하는 특정 속성에 대한 데이터일 수 있다.
일 실시예에 따른 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치는 음원 자체에 대한 임베딩 벡터와 음원에서 음악의 속성을 분리한 데이터를 기초로 생성한 임베딩 벡터를 하나의 공간에서 교차 비교 분석을 수행함으로써, 음원에 해당하는 오디오 데이터에 대한 임베딩 벡터와, 전체 오디오 데이터에서 특정 속성만을 분리한 데이터를 기초로 생성한 임베딩 벡터를 하나의 공간에서 비교 분석을 수행하므로, 임베딩 벡터가 가지고 있는 다양한 특징을 반영할 수 있어, 보다 음악의 특성을 정확히 반영한 태깅 정보를 출력할 수 있는 장점이 존재한다.
이에 따라, 본 발명에 따른 음악 분석 방법 및 장치는 생성된 임베딩 벡터 및 태깅 정보를 기초로 가수 식별 서비스. 유사 음악 서비스 등 다양한 서비스를 제공할 수 있으며, 서비스의 정확도 또한 같이 상승시킬 수 있는 장점 또한 존재한다.
도 1은 본 발명의 일 실시예에 따른 음악 분석 장치의 일부 구성 요소를 시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 프로세서의 구성 및 입력 정보와 출력 정보를 도시한 도면이다.
도 3은 본 발명의 다른 실시예에 따른 프로세서의 구성 및 입력 정보와 출력 정보를 도시한 도면이다.
도 4는 하나의 임베딩 공간에 본 발명에 따른 여러 종류의 임베딩 벡터들이 상호 비교 및 분석되는 모습을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 인공신경망 모듈이 학습하는 방법을 설명하기 위한 도면이다.
도 6은 종래 기술에 따라 임베딩 벡터를 활용하여 학습하는 방법을 도시한 도면이다.
도 7은 본 발명에 따라 임베딩 벡터를 활용하여 학습하는 방법을 도시한 도면이다.
도 8은 본 발명에 따른 음악 분석 장치의 학습 단계와 추론 단계를 설명하기 위한 도면으로, 도 8의 (a)는 인공신경망 모듈의 학습 단계를 설명하기 위한 도면이고, 도 8의 (b)는 인공신경망 모듈의 추론 단계를 설명하기 위한 도면이다.
도 9는 본 발명에 따라 인공신경망 모듈이 출력한 태깅 정보를 기초로 유사도를 측정한 결과를 도시한 도면이다.
도 10은 은 본 발명의 일 실시예에 따른 음악 검색 서비스의 다양한 실시예를 도시한 도면이다.
이하, 본 발명에 따른 실시 예들은 첨부된 도면들을 참조하여 설명한다. 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 실시 예들을 설명할 것이나, 본 발명의 기술적 사상은 이에 한정되거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있다.
또한, 본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함하며, 본 명세서에서 사용한 "제 1", "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않는다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
도 1은 본 발명의 일 실시예에 따른 음악 분석 장치의 일부 구성 요소를 시한 블록도이다.
도 1을 참조하면, 일 실시예에 따른 음악 분석 장치(1)는 프로세서(200), 메모리 모듈(300), 유사도 계산 모듈(400) 및 서비스 제공 모듈(500)을 포함할 수 있다.
프로세서(200)는 후술하겠지만 복수 개의 인공신경망을 포함하고 있는 인공신경망 모듈(100, 도 2참조)을 포함할 수 있으며, 입력되는 오디오 데이터 또는 스템 데이터에 대한 특징 벡터 산출한 후, 산출된 특징 벡터에 기초한 임베딩 벡터를 중간 출력 정보로, 입력된 데이터에 대해 대응되는 태깅 정보를 최종 출력 정보로 출력하고, 출력된 정보들을 메모리 모듈(300)로 송신할 수 있다. 인공신경망 모듈(100)에 대한 자세한 구조 및 프로세스는 도 2에서 후술하도록 한다.
메모리 모듈(300)은 음악 분석 장치(1)를 실시하기 위해 필요한 각종 데이터 등이 저장될 수 있는데, 일 예로 음악 분석 장치(1)에 입력 정보로 입력되는 오디오 데이터와, 오디오 데이터에서 음악의 특정 속성에 대한 데이터만을 추출된 스템(stem) 데이터, 프로세서(200)가 생성한 임베딩 벡터 등이 저장될 수 있다.
여기서 의미하는 오디오 데이터는, 우리가 일반적으로 청취하는 노래와 반주 등이 모두 포함되어 있는 음악 데이터를 의미한다. 오디오 데이터는 음원의 전부이거나, 일부만 추출된 데이터일 수 있다.
스템(stem) 데이터는, 오디오 데이터에서 특정 속성에 대해 일정한 시간 동안을 분리한 데이터를 의미한다. 구체적으로, 오디오 데이터를 구성하는 음원은 사람의 보컬 및 여러 악기들의 소리들이 어울려서 하나의 결과물로 구성이 되는데, 스템 데이터는 음원을 구성하는 단일 속성에 대한 데이터를 의미한다. 일 예로, 스템의 종류로는 보컬, 베이스, 피아노, 반주, 박자, 멜로디 등이 이에 해당될 수 있다.
스템 데이터는 오디오 데이터와 동일한 시간을 가지는 데이터를 일 수 도 있고, 음원 전체 시간 중 일부 시간만을 가지는 데이터일 수 있으며, 특정 속성에 대해서도 음역대 또는 그 기능에 따라 여러 개로 나누어져 구성될 수도 있다.
태깅 정보는 음악의 특성을 태깅(tagging)한 정보를 의미하는데, 태깅은 음악의 장르(genre), 무드(mood), 악기(instrument) 및 음악의 창작 시기 정보 등을 포함할 수 있다.
구체적으로, 음악의 장르(genre)로는, 록(rock), 얼터너티브 록(alternative rock), 하드 록(hard rock), 힙합(Hip-Hop), 소울(soul), 클래식(classic), 재즈(jazz), 펑크(punk), 팝(pop), 댄스(dance), 프로그레시브 록(Progressive rock), 일렉트로닉(electronic), 인디(indie), 블루스(blues), 컨트리(country), 메탈(metal), 인디 록(indie rock), 인디 팝(indie pop), 포크(folk), 어쿠스틱(acoustic), 앰비언트(ambient), 알앤비(rnb), 헤비 메탈(heavy metal), 일렉트로니카(electronica) 펑크(funk) 하우스(House) 등이 음악의 장르로 포함될 수 있다.
음악의 무드(mood)로는 슬픔(sad), 행복(happy), 부드러운(Mellow), 오싹한(chill), 듣기 편한(easy listening), 기억하기 쉬운(catchy), 섹시(sexy), 긴장이 풀어지는(chillout, beautiful), 파티(party) 등이 이에 해당할 수 있다.
음악의 악기(instrument)로는 기타, 남성 보컬리스트, 여성 보컬리스트, 기악 등이 이에 해당할 수 있다.
음악의 창작 시기 정보는 몇 년대에 음악이 창작되었는지 여부에 대한 정보로 일예로, 1960년대, 1970년대, 1980년대, 1990년대, 2000년대, 2010년대, 2020년대 등이 이에 해당할 수 있다.
메모리 모듈(300)에 저장되는 데이터들은 단순히 파일로 저장되어 있는 것이 아니라, 프로세서(200)의 인공신경망 모듈들에 의해 생성된 임베딩 벡터를 포함하고 있는 정보로 변환되어 저장되어 있을 수 있다.
임베딩 벡터는 특징 벡터를 포함하고 있기 때문에, 각각의 임베딩 벡터는 음악 데이터 또는 속성 데이터에 대한 특징을 벡터 형식으로 표현되며, 태깅 정보는 음악의 특정 속성에 대한 정보로 표현될 수 있다.
따라서, 본 발명은 이러한 임베딩 벡터 또는 태깅 정보를 기준으로 상호간의 유사성을 판단하여, 특정 노래를 찾거나 유사한 노래들을 분류하는 작업 등 다양한 서비스가 수행될 수 있다. 상호 유사성을 판단하는 방법은 유사도 계산 모듈(400)에서 설명하고, 다양한 서비스 작업에 대해서는 서비스 제공 모듈(500)에서 자세히 설명하도록 한다.
한편, 메모리 모듈(300)에서 단순히 산발적으로 임베딩 벡터 정보들이 저장되어 있는 것이 아니라, 일정한 기준에 따라 임베딩 벡터들에 대한 정보들이 그룹화 되어 있을 수 있다. 일 예로, 동일한 가수에 대한 임베딩 벡터들이 그룹화되어 있을 수 있고, 다양한 스템별로 임베딩 벡터들이 그룹화되어 있을 수 있다.
따라서, 메모리 모듈(300)은 앞서 설명한 데이터들을 용이하게 저장하기 위해 캐쉬, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM) 및 플래쉬 메모리(Flash memory)와 같은 비휘발성 메모리 소자 또는 RAM(Random Access Memory)과 같은 휘발성 메모리 소자 또는 하드디스크 드라이브(HDD, Hard Disk Drive), CD-ROM과 같은 저장 매체의 집합체로 구현될 수 있다.
한편, 도 1에서는 메모리 모듈(300)과 프로세서(200) 및 유사도 계산 모듈(400)을 별도의 구성 요소로 기재하였으나, 본 발명의 실시예가 이로 한정되는 것은 아니고, 프로세서(200)가 메모리 모듈(300)과 유사도 계산 모듈(400)의 역할을 동시에 수행할 수 도 있다.
유사도 계산 모듈(400)은 메모리 모듈(300)에 저장되어 있는 임베딩 벡터의 형식의 가지고 있는 데이터들에 대해 상호 유사도를 판단할 수 있다. 즉, 임베딩 벡터들 끼리 아래 수학식 (1)과 같은 유클리디안 거리(Euclideam Distance)를 이용하여 상호 유사도 여부를 판단할 수 있다.
(수학식 1)
Figure 112022129987330-pat00001
일 예로, 비교 기준이 되는 임베팅 벡터 중 하나를 x라 하고 다른 하나를 y라 하는 경우 상기 수학식을 이용하여 연산을 수행하여 값이 높게 나오는 경우 비례하여 x와 y가 상대적으로 유사하다고 판단할 수 있다. 이와 반대로 연산 수행 값이 작게 나오는 경우 x와 y는 비유사성이 상대적으로 강하다고 판단할 수 있다. 따라서, 이러한 값을 기초로 데이터들의 상호 유사도를 효과적으로 판단할 수 있다.
서비스 제공 모듈(500)은 유사도 계산 모듈(400)이 수행한 결과에 기초하여 각종 서비스를 제공할 수 있다.
구체적으로, 서비스 제공 모듈(500)은 메모리 모듈(300)에 저장되어 있는 각종 음악 데이터 및 특정 속성에 대한 데이터 등을 서로 비교하고 분류하고 분석하여 사용자의 요구에 맞는 각종 서비스를 제공할 수 있다.
일 예로 서비스 제공 모듈(500)은 가수 식별 서비스, 유사 음악 검색 서비스, 특정 속성을 기초로 한 유사 음악 검색 서비스, 보컬 태깅 서비스, 멜로디 추출 서비스, 허밍-쿼리 서비스 등을 제공해줄 수 있으며, 유사 음악 검색 서비스의 경우, 음원을 기준으로 유사한 음원을 검색해줄 수 있고, 스템을 기준으로 유사한 음원을 검색해주거나, 음원을 기준으로 유사한 스템을 검색해줄 수 있으며, 스템을 기준으로 유사 스템을 검색해줄 수 도 있다. 이에 대한 자세한 설명을 후술하도록 한다.
지금까지 본 발명에 따른 음악 분석 장치(1)의 구성 요소에 대해 알아보았다. 이하 본 발명에 따른 프로세서(200)의 구성 및 효과에 대해 자세히 알아보도록 한다.
도 2는 본 발명의 일 실시예에 따른 인공신경망 모듈 구성 및 입력 정보와 출력 정보를 도시한 도면이다.
도 2를 참조하면, 인공신경망 모듈(100)은 전처리 모듈(110), 제1인공신경망(210), 제2인공신경망(220) 및 덴스 레이어(dense layer, 120) 등을 포함할 수 있다. 이하 설명의 편의를 위해 인공신경망 모듈(100)은 2개의 인공신경망(210, 220)을 포함하고 있는 것으로 도시하였으나, 인공신경망 모듈(200)에 입력되는 스템의 개수에 대응하여 인공신경망 모듈(200)은 2 개 보다 더 많은 n개의 인공신경망을 포함할 수 있다.
전처리 모듈(110)은 입력된 오디오 데이터(10)를 분석하여, 스템 데이터를 출력할 수 있다. 본 발명에서 의미하는 오디오 데이터는 보컬과 반주 등이 혼합되어 있는, 우리가 일반적으로 얘기하는 음원을 의미한다. 오디오 데이터는 보컬과 여러 반주 등이 섞여 있는 성격에 따라 믹스(Mix) 데이터로 호칭될 수 도 있다.
앞서 설명한 바와 같이, 스템은 여러 속성으로 구성될 수 있으므로, 전처리 모듈(110)은 복수 개의 스템 데이터를 출력할 수 있다.
일 예로, 드럼 속성만을 분리한 드럼 스템 데이터, 보컬 속성만을 분리한 보컬 스템 데이터, 피아노 속성만을 분리한 피아노 스템 데이터, 반주만을 분리한 반주 스템 데이터 등이 출력될 수 있으며, 이렇게 출력된 스템 데이터는 미리 대응되는 인공신경망에 입력 정보로 입력 될 수 있다. 즉, 드럼 스템 데이터는 드럼 스템 데이터를 분석하는 인공신경망에, 보컬 스템 데이터는 보컬 스템 데이터를 분석하는 인공신경망에 입력될 수 있다.
이하, 설명의 편의를 위해 전처리 모듈(110)이 출력하는 스템 데이터는 드럼 스템 데이터와 보컬 스템 데이터 2개를 기준으로 하고, 드럼 스템 데이터는 제1스템 데이터(11)로 지칭되어 제1인공신경망(210)에 입력되고, 보컬 스템 데이터는 제2스템 데이터(12)로 지칭되어 제2인공신경망(220)에 입력되는 것을 전제로 설명한다.
하지만, 본 발명의 실시예가 이로 한정되는 것은 아니고, 인공신경망 모듈(100)은 전처리 모듈(110)이 출력하는 스템 종류의 수에 대응되어 인공신경망을 구비할 수 있다. 즉, 전처리 모듈(110)이 서로 다른 3종류의 스템 데이터를 출력하는 경우 인공신경망 모듈(100)은 서로 다른 특징을 가지는 3개의 인공신경망을 포함할 수 있고, 서로 다른 5 종류의 스템 데이터를 출력하는 경우 인공신경망 모듈(100)은 서로 다른 특징을 가지는 5개의 인공신경망을 포함할 수 있다.
본 발명에 따른 제1인공신경망(210)은 전처리 모듈(110)에서 출력된 제1스템 데이터(11)를 입력 정보로 입력 받고, 제1스템 데이터(11)에 대한 임베딩 벡터인 제1임베딩 벡터(21)를 출력 정보로 출력하는 기 학습된 인공신경망을 의미하며, 제2인공신경망(220)은 전처리 모듈(110)에서 출력된 제2스템 데이터(12)를 입력 정보로 입력 받고, 제2스템 데이터(12)에 대한 임베딩 벡터인 제2임베딩 벡터(22)를 출력 정보로 출력하는 기 학습된 인공신경망을 의미한다.
본 발명에 따른 제1인공신경망(210)과 제2인공신경망(220)은 공지되어 있는 여러 종류의 인공신경망 네트워크가 사용할 수 있는데 대표적으로 CNN(Convolutional Neural Network) 기반의 인코더(encoder) 구조가 사용될 수 있다.
구체적으로, 본 발명에 따른 CNN 모델은, 128개의 3x3 필터가 있는 7개의 컨볼루션 레이어로 구성되며, 순차적으로 첫 번째 레이어부터 순각각의 레이어는 64개, 64개, 128개, 128개, 256개, 256개, 128개의 필터를 포함할 수 있으며, 각각의 컨볼루션 레이어 다음에는 배치 정규화(batch normalization), ReLU 및 2x2 맥스 풀링(max pooling) 레이어가 적용될 수 있으며, 마지막 컨볼루션 레이어의 풀링 레이어는 GAP(global average pooling) 레이어가 적용될 수 있다.
그리고, 네트워크는 1,024개 윈도우 샘플과 512개의 홉 사이즈의 샘플을 사용하여, 단시간 푸리에 변환을 적용한 후 각 오디오 클립에서 128개의 멜 빈으로 멜 스펙트로그램을 가져오며, CNN 네트워크의 인코더에 입력되는 입력 데이터의 사이즈는 431프레임으로 22,050Hz의 샘플링 속도에서 10초 길이의 세그먼트에 해당한다.
한편, 본 발명에 따른 제1인공신경망(210)과 제2인공신경망(220)은 학습을 수행함에 있어서, 각각의 인공신경망에서 출력하는 출력 정보와 이에 따른 레퍼런스 데이터를 기초로 학습을 수행하거나, 각각의 인공신경망에서 출력되는 출력 정보에 대응되는 태깅 정보와, 상기 태깅 정보에 대응되는 레퍼런스 데이터를 기초로 학습을 수행할 수 있다. 또한, 더 나아가, 하나의 태깅 정보가 아닌, 다른 인공신경망과 연관된 복수 개의 태깅 정보를 기초로도 학습을 수행할 수 있다. 이에 대한 자세한 설명은 후술하도록 한다.
덴스 레이어(120)는 각각의 인공신경망에서 출력된 임베딩 벡터들이 공유되는 레이어로서, 덴스 레이어의 특성상 완전 연결층(FC, fully connected layer)으로 호칭될 수 있다.
구체적으로 덴스 레이어(120)는, 각각의 인공신경망에서 출력된 임베딩 벡터들이 교차 학습되거나 비교될 수 있는 임베딩 공간을 의미한다. 따라서, 본 발명의 경우 임베딩 벡터들끼리의 유사성을 판단함에 있어서, 단순히 같은 종류의 성격을 가지는 임베딩 벡터들끼리(일 예로 보컬 임베딩과 보컬 임베딩, 드럼 임베딩과 드럼 임베딩)의 비교 및 분석 뿐만 아니라, 다른 종류의 성격을 가지는 임베딩들끼리도 상호간의 유사성을 비교할 수 있다.
즉, 본 발명의 경우 이러한 방법을 통해 유사 음악 검색 서비스를 제공함에 있어서, 단순히 음원을 기준으로 한 유사 음원을 검색하는 것 뿐만 아니라, 스템을 기준으로 유사 음원, 유사 음원을 기준으로 유사 스템 및 스템을 기준으로 유사 스템을 검색하여 보다 다양한 종류의 유사 음악 검색 서비스를 제공할 수 있다.
덴스 레이어(120)를 거친 복수 개의 임베딩 벡터들은 각각의 스템 데이터에 대응되는 태깅 정보가 출력될 수 있다.
구체적으로, 도면에 도시된 바와 같이, 제1스템 데이터(11)를 기초로 출력된 제1임베딩 벡터(21)는 다시 제1태깅 정보(31)로 변환되어 출력될 수 있고, 제2스템 데이터(12)를 기초로 출력된 제2임베딩 벡터(22)는 다시 제2태깅 정보(32)로 변환되어 출력될 수 있고, 제N스템 데이터(19)를 기초로 출력된 제N임베딩 벡터(29)는 다시 제N태깅 정보(39)로 변환되어 출력될 수 있다.
태깅 정보는 앞서 설명한 바와 같이, 음악의 특성을 태깅한 정보를 의미하는데, 태깅은 음악의 장르(genre), 무드(mood), 악기(instrument) 및 음악의 창작 시기 정보 등을 포함하고 있는 정보를 의미한다.
일 예로, 제1인공신경망(210)이 드럼에 대한 임베딩 벡터를 출력하는 인공신경망이라면, 제1태깅 정보(31)는 제1스템 데이터(11)에 포함되어 있는 드럼에 대한 연주 정보를 분석하여, 제1스템 데이터(11)가 어떤 음악적 특성을 가지고 있는지(장르가 록인지, 무드가 행복한지 등에 대한 정보)에 대한 정보를 출력 정보로 하여 정보를 출력할 수 있다.
이와 반대로, 제2인공신경망(220)이 보컬에 대한 임베딩 벡터를 출력하는 인공신경망이라면, 제2태깅 정보(32)는 제2스템 데이터(12)에 포함되어 있는 드럼에 대한 연주 정보를 분석하여, 제2스템 데이터(12)가 어떤 음악적 특성을 가지고 있는지(장르가 하드 록인지, 무드가 슬픈지 등에 대한 정보)에 대한 정보를 출력 정보로 하여 정보를 출력할 수 있다.
도 3은 본 발명의 다른 실시예에 따른 프로세서의 구성 및 입력 정보와 출력 정보를 도시한 도면이며, 도 4는 하나의 임베딩 공간에 본 발명에 따른 여러 종류의 임베딩 벡터들이 상호 비교 및 분석되는 모습을 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명에 따른 인공신경망 모듈(100)은 전처리 모듈(110), 제1인공신경망(210), 제2인공신경망(220), 오디오 인공신경망(240) 덴스 레이어(dense layer, 120) 등을 포함할 수 있다. 이하 설명의 편의를 위해 인공신경망 모듈(100)은 오디오 인공신경망(240)을 제외하고는2개의 인공신경망(210, 220)을 포함하고 있는 것으로 도시하였으나, 앞서 설명한 바와 마찬가지로, 인공신경망 모듈(100)은 입력되는 스템 데이터의 종류에 따라 도면에 도시된 경우보다 더 많은 n개의 인공신경망을 포함할 수 있다.
한편, 도 3에 따른 전처리 모듈(110), 제1인공신경망(210), 제2인공신경망(220) 및 덴스 레이어(dense layer, 120)는 앞서 도 2에서 설명한 구성 요소와 동일한 구성 요소에 해당하는바, 이 부분에 대한 설명은 생략하고 차이점인 오디오 인공신경망(240)에 대해 중점적으로 알아보도록 한다.
본 발명에 따른 오디오 인공신경망(240)은 오디오 데이터(10)를 입력 정보로 입력 받고, 오디오 데이터(10)에 대한 임베딩 벡터인 오디오 임베딩 벡터를 출력 정보로 출력하는 기 학습된 인공신경망을 의미한다. 즉, 제1인공신경망(210)과 제2인공신경망(220)은 전처리 모듈(110)에의 오디오 데이터(10)에서 추출된 스템 데이터가 인공신경망의 입력 정보로 입력되나, 오디오 인공신경망(240)은 오디오 데이터(10)가 전처리 모듈(110)을 거치지 않고 바로 오디오 인공신경망(240)에 입력된다는 점에서 차이점이 존재한다.
따라서, 도 3에 따른 인공신경망 모듈(100)은 도 2에서의 인공신경망 모듈(100)과 다르게, 오디오 인공신경망(240)에서 오디오 임베딩 벡터(24)를 출력하므로, 도 3에 따른 덴스 레이어(120)는 오디오 임베딩 벡터(24)를 입력 정보로 입력 받을 수 있으며, 이에 따라 덴스 레이어(120)를 통해 출력되는 태깅 정보는 오디오 태깅 정보(34)를 포함하여 출력할 수 있다.
도 3에 따른 덴스 레이어는, 도 2에서 설명한 바와 같이 각각의 인공신경망에서 출력된 임베딩 벡터들이 교차 학습되거나 비교될 수 있는 임베딩 공간을 의미하게 되는데, 도 2와 다르게, 오디오 인공신경망(230)에서 출력하는 오디오 임베딩 벡터(24)도 덴스 레이어(120)로 출력된다.
따라서, 본 발명의 경우 임베딩 벡터들끼리의 유사성을 판단함에 있어서, 단순히 같은 종류의 성격을 가지는 임베딩 벡터들끼리(일 예로 보컬 임베딩과 보컬 임베딩, 드럼 임베딩과 드럼 임베딩)의 비교 및 분석 뿐만 아니라, 도 4에 표현된 바와 같이 오디오 데이터(10)를 기초로 생성된 오디오 임베딩 벡터와 스템 데이터를 기초로 생성된 임베딩 벡터들과의 유사성을 비교할 수 있다.
즉, 본 발명의 경우 이러한 특성을 활용하여, 단순히 음원을 기준으로 한 유사 음원을 검색하는 것 뿐만 아니라, 스템을 기준으로 유사 음원, 유사 음원을 기준으로 유사 스템 및 스템을 기준으로 유사 스템을 검색할 수 있어 보다 다양한 종류의 유사 음악 검색 서비스를 제공할 수 있는 장점이 존재한다.
도 5는 본 발명의 일 실시예에 따른 인공신경망 모듈이 학습하는 방법을 설명하기 위한 도면이다.
도 5를 참조하면, 본 발명에 따른 인공신경망 모듈(100)은 각각의 인공신경망들(210, 220, 230, 240)들에 대한 학습을 수행함에 있어서, 독립적으로 또는 통합적으로 학습을 수행할 수 있다.
독립적으로 학습을 수행하는 방법은, 레퍼런스 데이터를 활용하여 인공신경망의 파라미터 조정함에 있어서, 해당 인공 신경망에 대해서만 파라미터를 조정하는 것을 의미한다. 구체적으로, 제1인공신경망(210)은 제1임베딩 벡터(21)에 대응되어 출력되는 제1태깅 정보(31) 및 제1레퍼런스 데이터(41)와이 차이를 손실함수로 하여, 상기 손실함수의 차이를 감소시키는 방향으로 학습을 수행하고, 이를 기초로 제1인공신경망(210)의 파라미터를 조정할 수 있다.
제2인공신경망(220) 또한 제2임베딩 벡터(22)에 대응되어 출력되는 제2태깅 정보(32) 및 제2레퍼런스 데이터(42)와이 차이를 손실함수로 하여, 상기 손실함수의 차이를 감소시키는 방향으로 학습을 수행하고, 이를 기초로 제2인공신경망(220)의 파라미터를 조정할 수 있으며, 오디오 인공신경망(240) 또한 같은 방법으로 학습을 수행할 수 있다.
이와 다르게 통합적으로 학습을 수행하는 방법은, 인공신경망의 파라미터를 조정함에 있어서, 특정 인공신경망에 해당하는 레퍼런스 데이터를 기초로 인공신경망의 파라미터를 조정함에 있어서, 해당 인공신경망의 파라미터를 조정할 뿐만 아니라 다른 인공신경망의 파라미터도 함께 조정하는 방법을 의미한다.
구체적으로, 제1인공신경망(210)은 제1임베딩 벡터(21)에 대응되어 출력되는 제1태깅 정보(31) 및 제1레퍼런스 데이터(41)와이 차이를 손실함수로 하여, 상기 손실함수의 차이를 감소시키는 방향으로 학습을 수행하는데, 이를 기초로 파라미터를 조정함에 있어서 제1인공신경망(210)의 파라미터 뿐만 아니라 이와 연관되어 있는 다른 인공신경망의 파라미터도 함께 조정하는 방법으로 학습을 수행할 수 있다.
제2인공신경망(220) 또한 제2임베딩 벡터(22)에 대응되어 출력되는 제2태깅 정보(32) 및 제2레퍼런스 데이터(42)와이 차이를 손실함수로 하여, 상기 손실함수의 차이를 감소시키는 방향으로 학습을 수행하는데, 이를 기초로 파라미터를 조정함에 있어서, 제2인공신경망(220)의 파라미터 뿐만 아니라, 이와 연관되어 있는 다른 인공신경망의 파라미터도 함께 조정하는 방법으로 학습을 수행할 수 있다. 오디오 인공신경망(240) 또한 같은 방법으로 학습을 수행할 수 있다.
이러한 통합적인 학습 방법은 덴스 레이어(120)가 존재하기 때문에 가능한 방법인데, 이렇게 하나의 임베딩 공간에서 통합적으로 학습을 수행하는 경우, 음악의 특성을 서로 공유할 수 있고 이에 따라 파라미터의 가중치들을 서로 공유할 수 있어, 인공신경망의 학습의 정확성 및 효율성을 높일 수 있는 장점이 존재한다.
즉, 본 발명은 음악의 속성 중 개별 속성에 대한 스템 데이터와 여러 속성이 믹스되어 있는 오디오 데이터가 같은 공간 내에 가중치가 공유된 상태에서 비교 분석되면서 학습이 수행되기 때문에, 음악적 특성을 공유할 수 있어 학습의 정확도가 올라가게 된다.
도 6은 종래 기술에 따라 임베딩 벡터를 활용하여 학습하는 방법을 도시한 도면이고, 도 7은 본 발명에 따라 임베딩 벡터를 활용하여 학습하는 방법을 도시한 도면이다.
도 6을 참조하면, 종래 기술에 따리 임베딩 벡터를 활용하여 학습을 하는 경우, 도면에 도시된 바와 같이 음악의 여러 속성 중 같은 특성을 가지고 있는 임베딩 벡터들 끼리 그룹화가 되어 있고, 다른 특성을 가지고 있는 임베딩 벡터들과는 구분이 되어 있어, 다른 특성을 가지는 임베딩 벡터에 대해서는 비교 분석이 되지 않아 학습의 효율성이 떨어지는 단점이 존재한다.
그러나, 본 발명의 경우 도 7에 도시된 바와 같이, 같은 특성을 가지고 있는 임베딩 벡터들 뿐만 아니라, 다른 특성을 가지고 임베딩 벡터들에 대해서는 특성을 공유할 수 있으며, 더 나아가 여러 속성이 믹스되어 있는 오디오 데이터에 대한 임베딩 벡터에 대한 특성들도 공유할 수 있어, 학습의 효율성 및 정확성이 높아지는 장점이 존재한다.
도 8은 본 발명에 따른 음악 분석 장치의 학습 단계와 추론 단계를 설명하기 위한 도면으로, 도 8의 (a)는 인공신경망 모듈의 학습 단계를 설명하기 위한 도면이고, 도 8의 (b)는 인공신경망 모듈의 추론 단계를 설명하기 위한 도면이며, 도 9는 본 발명에 따라 인공신경망 모듈이 출력한 태깅 정보를 기초로 유사도를 측정한 결과를 도시한 도면이다.
구체적으로, 도 8의 학습 단계는 앞선 도면을 통해 설명하였던 단계로서, 오디오 데이터(10) 및 전처리 모듈(110)을 거친 스템 데이터(11-13)가 학습 모델에 해당하는 인공신경망 모듈(100)에 입력되면 인공신경망 모듈(100)은 중간 출력 데이터로 입력된 데이터에 대한 임베딩 벡터(21~24)와 덴스 레이어(120)를 거친 태깅 정보(31~34)가 도면에 도시된 바와 같이 출력될 수 있다.
추론 단계의 경우 사용자에게 유사 음악 검색 서비스를 제공하는 단계로서, 구체적으로 사용자가 입력한 정보(노래 또는 스템)에 대해 기 학습된 인공신경망 모듈(100)을 이용하여 임베딩 벡터를 추출하는 추출 단계와, 추출된 임베딩 벡터와 유사한 임베딩 벡터를 학습 단계에서 추출한 임베딩 벡터 데이터베이스에서 검색하여, 유사한 음악 또는 유사한 스템을 추천 리스트를 생성하는 검색 단계를 포함할 수 있다. 추론 단계에서 적용되는 유사 임베딩 벡터를 판단하는 방법은 앞서 설명한 유사도 계산 모듈(400)이 사용하는 방법과 동일한 방법이 적용될 수 있다.
한편, 도면에서는 유사도 기반 검색 알고리즘이 적용되는 대상이 임베딩 벡터들끼리의 유사도 여부를 판단하는 것을 기준으로 하였으나, 본 발명의 실시예가 이로 한정되는 것은 아니고, 사용자가 입력한 정보에 기초하여 태깅 정보를 출력한 후, 이와 유사한 태깅 정보를 인공신경망 모듈(100)이 출력한 태깅 정보 데이터 베이스 내에서 검색한 후, 검색된 결과에 기초하여 유사한 음악 또는 스템 리스트를 생성할 수 도 있다.
즉, 도 9에 도시된 바와 같이, 각각의 인공신경망에 출력된 태깅 정보들이 유사한 성격을 가지고 있는 경우 같은 군으로 그룹화를 할 수 있으므로, 이러한 정보에 기초하여 사용자로부터 입력된 음원 또는 스템과 가장 유사한 태깅 정보를 가지는 음원 또는 스템 리스트를 생성할 수 있다.
도 10은 은 본 발명의 일 실시예에 따른 음악 검색 서비스의 다양한 실시예를 도시한 도면이다.
앞서 설명한 바와 같이, 본원 발명에 따른 음악 분석 장치는 입력된 음원 데이터(도면에서는 Mixed) 또는 스템 데이터를 기초로 유사한 음원 또는 유사한 스템을 가지고 있는 음원을 추천해줄 수 있다. 즉, 도 10의 (a) 처럼 입력된 음원 A와 전체적으로 유사한 특징을 가지고 있는 음원 B를 검색 및 추천해줄 수 있고, 도 10의 (b)처럼 입력된 음원 A와 전체적으로 유사한 특징을 가지고 있는 보컬 스템 B를 검색 및 추천해 줄 수 있으며, 도 10의 (c)처럼 입력된 드럼 스템 A와 전체적으로 유사한 특징을 가지고 있는 음원 B를 검색 및 추천해 줄 수 있으며, 도 10의 (d)처럼 입력된 보컬 스템C와 전체적으로 유사한 특징을 가지고 있는 반주 스템 D를 검색 및 추천해 줄 수 있다. 즉, 본원발명의 경우 이러한 방법을 통해 단순한 음원 추천을 넘어 다양한 종류의 음원 또는 스템을 추천해줄 수 있어, 고객의 니즈를 다양하게 만족시켜줄 수 있는 장점이 존재한다.
지금까지 본 발명에 따른 음악 분석 방법 및 장치에 대한 구성 및 프로세스에 대해 자세히 알아보았다.
일 실시예에 따른 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치는 음원 자체에 대한 임베딩 벡터와 음원에서 음악의 속성을 분리한 데이터를 기초로 생성한 임베딩 벡터를 하나의 공간에서 교차 비교 분석을 수행함으로써, 음원에 해당하는 오디오 데이터에 대한 임베딩 벡터와, 전체 오디오 데이터에서 특정 속성만을 분리한 데이터를 기초로 생성한 임베딩 벡터를 하나의 공간에서 비교 분석을 수행하므로, 임베딩 벡터가 가지고 있는 다양한 특징을 반영할 수 있어, 보다 음악의 특성을 정확히 반영한 태깅 정보를 출력할 수 있는 장점이 존재한다.
이에 따라, 본 발명에 따른 음악 분석 방법 및 장치는 생성된 임베딩 벡터 및 태깅 정보를 기초로 가수 식별 서비스. 유사 음악 서비스 등 다양한 서비스를 제공할 수 있으며, 서비스의 정확도 또한 같이 상승시킬 수 있는 장점 또한 존재한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
200: 프로세서
210: 제1인공신경망
220: 제2인공신경망
230: 제3인공신경망
240: 오디오 인공신경망
300: 메모리 모듈
400: 유사도 계산 모듈
500: 서비스 제공 모듈

Claims (7)

  1. 오디오 데이터에 대한 오디오 임베딩 벡터 및 상기 오디오 데이터에 대한 스템 데이터에 대응되는 스템 임베딩 벡터가 저장되어 있는 메모리 모듈;
    상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 사용자가 입력한 입력 오디오 데이터에 대한 임베딩 벡터인 입력 오디오 임베딩 벡터와의 유사도를 산출하는 유사도 계산 모듈; 및
    상기 유사도 계산 모듈이 산출한 결과를 기초로 상기 사용자에게 음악 서비스를 제공하는 서비스 제공 모듈;을 포함하고,
    상기 스템 데이터는,
    미리 설정된 기준에 따라 상기 오디오 데이터를 구성하는 특정 속성에 대한 데이터인 것을 특징으로 하고,
    상기 유사도 계산 모듈은
    상기 입력 오디오 데이터에 대한 입력 스템 데이터를 출력하고, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 상기 입력 스템 데이터에 대응되는 입력 스템 임베딩 벡터와의 유사도를 산출하는 것을 특징으로 하는,
    인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 음악 서비스는,
    가수 식별 서비스, 유사 음악 검색 서비스 및 유사 스템 검색 서비스 중 적어도 하나를 포함하는 것을 특징으로 하는,
    인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치.
  4. 제1항에 있어서,
    상기 속성은,
    보컬, 드럼, 베이스, 피아노 및 반주 중 적어도 하나를 포함하는,
    인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치.
  5. 제4항에 있어서,
    상기 메모리 모듈에는 상기 스템 임베딩 벡터는 서로 다른 종류의 속성을 가지는 복수의 스템 임베딩 벡터가 저장되어 있는,
    인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치.
  6. 제1항에 있어서,
    상기 메모리 모듈은,
    상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터에 각각 대응되는 오디오 태깅 정보 및 스템 태깅 정보가 저장되어 있고,
    상기 유사도 계산 모듈은,
    상기 오디오 태깅 정보 및 상기 스템 태깅 정보 중 적어도 하나와 상기 입력 오디오 임베딩 벡터에 대응되는 입력 오디오 태깅 정보와 유사도를 산출하는 것을 특징으로 하는,
    인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 장치.
  7. 프로세서 및 오디오 데이터에 대한 오디오 임베딩 벡터 및 상기 오디오 데이터에 대한 스템 데이터에 대응되는 스템 임베딩 벡터가 저장되어 있는 메모리 모듈을 이용한, 유사 음악 검색 서비스 제공 방법에 있어서,
    사용자가 입력한 입력 오디오 데이터에 대한 임베딩 벡터인 입력 오디오 임베딩 벡터를 출력하고, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 상기 입력 오디오 임베딩 벡터와의 유사도를 산출하는 유사도 산출 단계; 및
    상기 유사도 산출 단계에서 산출된 결과를 기초로 상기 사용자에게 음악 서비스를 제공하는 서비스 제공 단계;를 포함하고,
    상기 스템 데이터는,
    미리 설정된 기준에 따라 상기 오디오 데이터를 구성하는 특정 속성에 대한 데이터인 것을 특징으로 하고,
    상기 유사도 산출 단계는,
    상기 입력 오디오 데이터에 대한 입력 스템 데이터를 출력하고, 상기 오디오 임베딩 벡터 및 상기 스템 임베딩 벡터 중 적어도 하나와 상기 입력 스템 데이터에 대응되는 입력 스템 임베딩 벡터와의 유사도를 산출하는 것을 특징으로 하는,
    인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 서비스 제공 방법.
KR1020220167096A 2022-02-12 2022-12-02 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치 KR102538680B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220167096A KR102538680B1 (ko) 2022-07-12 2022-12-02 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치
US18/350,389 US20230351152A1 (en) 2022-02-12 2023-07-11 Music analysis method and apparatus for cross-comparing music properties using artificial neural network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220085464A KR102476120B1 (ko) 2022-07-12 2022-07-12 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치
KR1020220167096A KR102538680B1 (ko) 2022-07-12 2022-12-02 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220085464A Division KR102476120B1 (ko) 2022-02-12 2022-07-12 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102538680B1 true KR102538680B1 (ko) 2023-06-01

Family

ID=84440377

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220085464A KR102476120B1 (ko) 2022-02-12 2022-07-12 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치
KR1020220167096A KR102538680B1 (ko) 2022-02-12 2022-12-02 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020220085464A KR102476120B1 (ko) 2022-02-12 2022-07-12 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치

Country Status (2)

Country Link
US (1) US20230351152A1 (ko)
KR (2) KR102476120B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082022A (ko) * 2006-12-27 2008-09-11 한국전자통신연구원 음악 특성 기반 유사도 측정 장치 및 그 방법과 그를이용한 음악 추천 시스템 및 그 방법
KR20150084133A (ko) 2014-01-13 2015-07-22 엘지전자 주식회사 이동단말기 및 그 제어방법
KR102031282B1 (ko) * 2019-01-21 2019-10-11 네이버 주식회사 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
KR20210046416A (ko) * 2019-10-18 2021-04-28 한국과학기술원 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법 및 분석장치
KR20210063822A (ko) * 2019-11-25 2021-06-02 에스케이텔레콤 주식회사 음악 컨텐츠 운용 방법 및 이를 지원하는 장치

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101696555B1 (ko) 2015-10-06 2017-02-02 서울시립대학교 산학협력단 영상 또는 지리 정보에서 음성 인식을 통한 텍스트 위치 탐색 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080082022A (ko) * 2006-12-27 2008-09-11 한국전자통신연구원 음악 특성 기반 유사도 측정 장치 및 그 방법과 그를이용한 음악 추천 시스템 및 그 방법
KR20150084133A (ko) 2014-01-13 2015-07-22 엘지전자 주식회사 이동단말기 및 그 제어방법
KR102031282B1 (ko) * 2019-01-21 2019-10-11 네이버 주식회사 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
KR20210046416A (ko) * 2019-10-18 2021-04-28 한국과학기술원 파형 음원 신호를 분석하는 신경망 모델에 기반한 음원 분류 방법 및 분석장치
KR20210063822A (ko) * 2019-11-25 2021-06-02 에스케이텔레콤 주식회사 음악 컨텐츠 운용 방법 및 이를 지원하는 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Taejin Park, 'MUSICAL INSTRUMENT SOUND CLASSIFICATION WITH DEEP CONVOLUTIONAL NEURAL NETWORK USING FEATURE FUSION APPROACH', ETRI, 2015. *
김선훈 외, '멀티모달 딥러닝을 이용한 음악 장르 분류', Proceedings of HCI Korea 2016, 2016. *
송민균 외, '장르 분류 체계에 따른 음악 장르 자동 판별 성능분석', 정보과학회논문지, 2012.03. *

Also Published As

Publication number Publication date
KR102476120B1 (ko) 2022-12-09
US20230351152A1 (en) 2023-11-02

Similar Documents

Publication Publication Date Title
Casey et al. Content-based music information retrieval: Current directions and future challenges
Logan et al. A Music Similarity Function Based on Signal Analysis.
Tzanetakis et al. Marsyas: A framework for audio analysis
US8489606B2 (en) Music search apparatus and method using emotion model
Grosche et al. Audio content-based music retrieval
Ras et al. Advances in music information retrieval
US11816151B2 (en) Music cover identification with lyrics for search, compliance, and licensing
Chen et al. Fusing similarity functions for cover song identification
JP2007519092A (ja) メロディデータベースの検索
WO2007029002A2 (en) Music analysis
Hargreaves et al. Structural segmentation of multitrack audio
KR101942459B1 (ko) 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
West et al. A model-based approach to constructing music similarity functions
Lee et al. Korean traditional music genre classification using sample and MIDI phrases
Gurjar et al. Comparative Analysis of Music Similarity Measures in Music Information Retrieval Systems.
KR102538680B1 (ko) 인공신경망을 이용하여 음악의 속성에 기반한 유사 음악 검색 방법 및 장치
KR20070048484A (ko) 음악파일 자동 분류를 위한 특징 데이터베이스 생성 장치및 그 방법과, 그를 이용한 재생 목록 자동 생성 장치 및그 방법
Wieczorkowska et al. Identification of a dominating instrument in polytimbral same-pitch mixes using SVM classifiers with non-linear kernel
Li et al. Music data mining: an introduction
Nagavi et al. Content based audio retrieval with MFCC feature extraction, clustering and sort-merge techniques
JP7428182B2 (ja) 情報処理装置および方法、並びにプログラム
KR102511598B1 (ko) 인공신경망을 이용하여 음악의 특성을 분석하는 음악 특성 분석 방법 및 장치
KR102031282B1 (ko) 음원 컨텐츠 및 메타 정보를 이용한 플레이리스트 자동 생성 방법 및 시스템
Vaglio et al. The words remain the same: Cover detection with lyrics transcription
KR101520572B1 (ko) 음악에 대한 복합 의미 인식 방법 및 그 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant