KR102167520B1 - 곡 멜로디 정보 처리 방법, 서버 및 저장 매체 - Google Patents

곡 멜로디 정보 처리 방법, 서버 및 저장 매체 Download PDF

Info

Publication number
KR102167520B1
KR102167520B1 KR1020187018692A KR20187018692A KR102167520B1 KR 102167520 B1 KR102167520 B1 KR 102167520B1 KR 1020187018692 A KR1020187018692 A KR 1020187018692A KR 20187018692 A KR20187018692 A KR 20187018692A KR 102167520 B1 KR102167520 B1 KR 102167520B1
Authority
KR
South Korea
Prior art keywords
song
audio data
user
unaccompanied
melody
Prior art date
Application number
KR1020187018692A
Other languages
English (en)
Other versions
KR20180088889A (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 KR20180088889A publication Critical patent/KR20180088889A/ko
Application granted granted Critical
Publication of KR102167520B1 publication Critical patent/KR102167520B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • 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/61Indexing; Data structures therefor; Storage structures
    • 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
    • G06F16/634Query by example, e.g. query by humming
    • 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/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output

Abstract

곡 멜로디 정보 처리 방법으로서, 이는, MIDI 파일을 획득하는 단계; MIDI 파일의 곡 식별자를 취득하고, MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 저장하는 단계; 사용자 단말로부터 업로드되는 사용자의 아카펠라 오디오 데이터의 데이터세트를 취득하는 단계; 사용자의 아카펠라 오디오 데이터의 데이터세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계; 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 저장하는 단계를 포함한다.

Description

곡 멜로디 정보 처리 방법, 서버 및 저장 매체
<관련된 출원>
본 출원은 2016년 3월 18일자로 출원된 "SONG MELODY INFORMATION PROCESSING METHOD AND APPARATUS"라는 명칭의 중국 특허 출원 제2016101583497호에 대한 우선권을 주장하고, 이는 그 전부가 참조로 원용된다.
<기술 분야>
본 출원은 오디오 처리 기술의 분야에, 특히, 곡 멜로디 정보 처리 방법, 서버, 및 저장 매체에 관한 것이다.
허밍 인식은 오디오 처리 기술의 중요한 적용이다. 사용자에 의해 허밍되는 오디오가 기록되고, 이러한 오디오와 매칭되는 멜로디 정보에 대해 곡 멜로디 데이터베이스가 검색되므로, 매칭되는 멜로디 정보에 대응하는 곡 정보가 리턴되어, 허밍 인식을 구현한다. 허밍 인식 기술은 풍부한 곡 멜로디 데이터베이스에 의존한다는 것을 알 수 있다.
현재, 곡 멜로디 데이터베이스는 MIDI(musical instrument digital interface) 파일을 사용하여 전적으로 셋 업되고, 이러한 MIDI 파일들은 전용 디바이스를 사용하여 음악 전문가에 의해 제작될 필요가 있어, 매우 높은 제조 비용을 야기한다. 허밍 인식의 구현에 필요한 곡 멜로디 데이터베이스에서의 멜로디 정보의 조각들의 수량은 수백만 자릿수들에 일반적으로 도달한다. 결과적으로, 곡 멜로디 데이터베이스를 셋 업하여 허밍 인식을 구현하는 비용이 과도하게 높아서, 허밍 인식 기술의 적용과 개발을 제한한다.
본 출원의 실시예들에 따르면, 곡 멜로디 정보 처리 방법, 서버, 및 저장 매체가 제공된다.
곡 멜로디 정보 처리 방법이 제공되고, 이는,
MIDI 파일을 수집하는 단계;
MIDI 파일의 곡 식별자를 획득하고, MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계;
사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득하는 단계;
사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계; 및
곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계를 포함한다.
메모리 및 프로세서를 포함하는 서버가 제공되고, 메모리는 컴퓨터 판독 가능 명령어들을 저장하고, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 전술한 방법을 수행하게 한다.
삭제
삭제
삭제
삭제
삭제
컴퓨터 판독 가능 명령어들을 저장하는 하나 이상의 비-휘발성 컴퓨터 판독 가능 저장 매체가 제공되고, 컴퓨터 판독 가능 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 전술한 방법을 수행하게 한다.
삭제
삭제
삭제
삭제
삭제
본 출원의 하나 이상의 실시예의 상세 사항들이 이하의 첨부 도면들 및 설명들에서 제공된다. 본 개시 내용의 다른 특징들, 목적들, 및 이점들은 본 명세서, 첨부 도면들, 및 청구항들에서 명백하게 된다.
본 출원의 실시예들에서의 또는 기존 기술에서의 기술적 해결책들을 보다 명백하게 설명하기 위해, 이하는 실시예들 또는 기존 기술을 설명하는데 요구되는 첨부 도면들을 간단히 설명한다. 분명히, 이하의 설명에서의 첨부 도면들은 본 출원의 일부 실시예들을 도시할 뿐이고, 해당 분야에서의 통상의 기술자는 창의적인 노력들 없이도 이러한 첨부 도면들로부터 다른 도면들을 여전히 도출할 수 있다.
도 1은 실시예에 따른 곡 오디오 데이터 처리 시스템의 적용 환경의 도면이다.
도 2는 실시예에 따른 서버의 내부 구조의 도면이다.
도 3은 실시예에 따른 곡 멜로디 정보 처리 방법의 개략 흐름도이다.
도 4는 실시예에 따라 곡 오디오 데이터 세트로부터의 멜로디 정보를 곡 멜로디 데이터베이스에 추가하는 단계들의 개략 흐름도이다.
도 5는 실시예에 따라 복수의 소스들로부터 오디오 데이터를 획득하여 곡 멜로디 데이터베이스를 셋 업하는 프로세스의 개략도이다.
도 6은, 실시예에 따라, 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계들의 개략 흐름도이다.
도 7은 실시예에 따라 사용자 무반주 노래 오디오 데이터 세트를 전사하여 제2 멜로디 정보를 획득하는 프로세스의 개략도이다.
도 8은, 실시예에 따라, 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계들의 개략 흐름도이다.
도 9는 실시예에 따라 곡 멜로디 데이터베이스를 사용하여 허밍 인식을 수행하는 단계들의 개략 흐름도이다.
도 10은 실시예에 따라 3개의 데이터베이스 셋업 솔루션들에서 셋 업되는 곡 멜로디 데이터베이스들이 허밍 인식을 위해 사용될 때 허밍 인식 성능의 비교의 개략도이다.
도 11은 실시예에 따른 서버의 구조 블록도이다.
도 12는 다른 실시예에 따른 서버의 구조 블록도이다.
도 13은 또 다른 실시예에 따른 서버의 구조 블록도이다.
도 14는 또 다른 실시예에 따른 서버의 구조 블록도이다.
본 출원의 목적들, 기술적 해결책들, 및 이점들을 보다 명백하게 그리고 보다 이해하기 쉽게 하기 위해, 이하는 첨부 도면들 및 실시예들을 참조하여 본 출원을 상세하게 추가로 설명한다. 본 명세서에 설명되는 구체적인 실시예들은 본 출원을 설명하기 위해 단지 사용되었지만 본 출원을 제한하려고 의도되는 아니라는 점이 이해되어야 한다.
도 1에 도시되는 바와 같이, 실시예는 사용자 단말(110)(도 1에서의 사용자 단말들(110a, 110b 및 110c)), 허밍 인식 서버(120), 노래 서버(130), 및 곡 서버(140)를 포함하는 곡 오디오 데이터 처리 시스템을 제공한다. 사용자 단말(110)은 이동 단말, 차량용 디바이스, 퍼스널 컴퓨터 등을 포함한다. 이동 단말은 이동 전화, 태블릿 컴퓨터, 지능형 시계, PDA(personal digital assistant) 등 중 적어도 하나를 포함한다. 허밍 인식 서버(120), 노래 서버(130), 및 곡 서버(140)는 모두 독립적인 물리적 서버들일 수 있거나 또는 물리적 서버 클러스터일 수 있다. 사용자 단말(110)에는 허밍 인식 애플리케이션 프로그램, 노래 애플리케이션 프로그램, 및 곡 재생 애플리케이션 프로그램이 설치된다. 사용자 단말(110)은 허밍 인식 애플리케이션 프로그램을 사용하여 허밍 인식 서버(120)와 통신하고, 노래 애플리케이션 프로그램을 사용하여 노래 서버(130)와 통신하고, 곡 재생 애플리케이션 프로그램을 사용하여 곡 서버(140)와 통신한다.
도 2에 도시되는 바와 같이, 실시예는 서버를 제공한다. 서버는 허밍 인식 서버(120)로서 사용될 수 있고, 서버는 시스템 버스를 사용하여 접속되는 프로세서, 비-휘발성 저장 매체, 메모리, 및 네트워크 인터페이스를 포함한다. 프로세서는 컴퓨팅 기능 및 서버(120)를 작동하게 하도록 제어하는 기능을 갖는다. 비-휘발성 저장 매체는 자기 저장 매체, 광 저장 매체, 및 플래시 저장 매체 중 적어도 하나를 포함한다. 비-휘발성 저장 매체는 운영 체제를 저장하고, 컴퓨터 판독 가능 명령어들을 추가로 저장한다. 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금 곡 멜로디 정보 처리 방법을 구현하게 한다. 프로세서는 컴퓨팅 기능 및 서버(120)를 작동하게 하도록 제어하는 기능을 갖는다. 프로세서는 곡 멜로디 정보 처리 방법을 수행하도록 구성된다. 이러한 방법은, MIDI 파일을 수집하는 단계; MIDI 파일의 곡 식별자를 획득하고, MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계; 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득하는 단계; 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계; 및 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계를 포함한다. 네트워크 인터페이스는 네트워크를 사용하여 사용자 단말(110)에 접속하도록 구성된다.
도 3에 도시되는 바와 같이, 실시예는 곡 멜로디 정보 처리 방법을 제공한다. 본 실시예는 도 1 및 도 2에서의 허밍 인식 서버(120)에 이러한 방법이 적용되는 예를 사용하여 설명된다. 이러한 방법은 구체적으로 이하의 단계들을 포함한다:
단계 302: MIDI 파일을 수집함.
구체적으로, 허밍 인식 서버는 이미 존재하는 MIDI 파일들을 수집하여 MIDI 파일 세트를 형성할 수 있다. 구체적으로, 허밍 인식 서버는 네트워크로부터 기존 MIDI 파일 세트를 크롤링할 수 있거나, 또는 MIDI 파일들을 저장하는 제1 당사자 서버로부터 기존 MIDI 파일 세트를 가져올 수 있다.
단계 304: MIDI 파일의 곡 식별자를 획득하고, MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 대응시켜 저장함.
구체적으로, 허밍 인식 서버는 MIDI 파일 세트에서의 각각의 MIDI 파일을 트래버스하고, MIDI 파일에서의 곡 인식 정보를 추출하여, 추출되는 곡 인식 정보에 따라 대응하는 곡 식별자를 획득할 수 있다. 곡 인식 정보는 곡을 인식하는데 사용될 수 있는 정보, 예를 들어, 곡 이름 또는 가수 이름일 수 있다. MIDI 파일은 피치 및 대응하는 시간 정보를 포함하고, 각각의 피치는 음을 표시한다. 따라서, MIDI 파일에 포함되는 피치 및 대응하는 시간 정보는 제1 멜로디 정보를 형성할 수 있다. 허밍 인식 서버는 다음으로 제1 멜로디 정보를 곡 멜로디 데이터베이스에 추가한다.
단계 306: 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득함.
구체적으로, 사용자 무반주 노래 오디오 데이터는 사용자의 노래 소리는 기록하지만 배경 음악은 기록하지 않는데 사용되는 데이터이다. 사용자 단말은, 노래 애플리케이션 프로그램을 사용하여, 곡 식별자에 대응하는 사용자 무반주 노래 오디오 데이터를 기록할 수 있고, 기록되는 사용자 무반주 노래 오디오 데이터를 노래 서버에 업로드하므로, 사용자 무반주 노래 오디오 데이터 세트가 노래 서버에서 형성된다. 허밍 인식 서버는 노래 서버로부터 사용자 무반주 노래 오디오 데이터 세트를 주기적으로 획득할 수 있다. 대안적으로, 노래 서버는 주기적으로 또는 사용자 무반주 노래 오디오 데이터가 새롭게 추가될 때 노래 서버에서의 사용자 무반주 노래 오디오 데이터 세트를 허밍 인식 서버에 동기화시킬 수 있다.
노래 애플리케이션 프로그램을 사용하여 사용자 무반주 노래 오디오 데이터를 기록할 때, 사용자 단말은, 헤드셋을 사용하여, 곡 식별자에 대응하는 곡 반주를 플레이할 수 있다. 사용자는 플레이되는 곡 반주에 따라 반주없이 노래한다. 사용자 단말은 사용자 단말의 소리 픽업을 사용하여 사용자의 무반주 소리를 획득하고, 사용자 단말의 프로세서의 처리에 의해 사용자 무반주 노래 오디오 데이터를 획득한다.
단계 308: 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출함.
구체적으로, 허밍 인식 서버는 사용자 무반주 노래 오디오 데이터 세트에서의 사용자 무반주 노래 오디오 데이터의 각각의 조각을 트래버스하고, 트래버스되는 사용자 무반주 노래 오디오 데이터로부터 제2 멜로디 정보를 추출할 수 있다. 멜로디 정보는 시간에 따른 곡의 피치들의 변화 추세를 반영할 수 있는 정보이고, 멜로디 정보는 일련의 피치들과 대응하는 시간 정보 사이의 대응 관계를 사용하여 표시될 수 있다. 시간 정보는, 예를 들어, 피치의 시작 시간 또는 피치의 지속 시간이다. 제2 멜로디 정보는 사용자 무반주 노래 오디오 데이터 세트로부터 추출되는 멜로디 정보이고, 이하의 제3 멜로디 정보와 상이하다.
단계 310: 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 대응시켜 저장함.
구체적으로, 허밍 인식 서버는 전용 데이터베이스 서버를 포함할 수 있다. 제2 멜로디 정보를 추출한 이후, 허밍 인식 서버는 데이터베이스 서버에서의 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 대응하는 곡 식별자를 대응시켜 저장할 수 있다. 곡 식별자는 곡의 고유 식별자이고, 고유 문자열을 사용하여 표시될 수 있다. 상이한 곡들이 곡 이름들 및 가수 이름들을 사용하여 구별될 수 있고, 상이한 곡들에는 상이한 곡 식별자가 할당된다.
곡 멜로디 정보 처리 방법에서, 곡 멜로디 데이터베이스는, 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트에 있고 복수의 소스들로부터의 것인 데이터 및 MIDI 파일을 사용하여 셋 업되므로, 전용 MIDI 파일이 더 이상 제작될 필요가 없고, 그렇게 함으로써 곡 멜로디 데이터베이스를 셋 업하는 비용을 매우 감소시킨다. 또한, 곡 멜로디 데이터베이스에서의 동일한 곡 식별자는 상이한 소스들로부터의 오디오 데이터를 전사하여 획득되는 멜로디 정보에 대응할 수 있으므로, 곡 멜로디 데이터베이스를 사용하여 허밍 인식이 수행될 때 인식의 적중률이 향상될 수 있다.
도 4에 도시되는 바와 같이, 실시예에서, 곡 멜로디 정보 처리 방법은 곡 오디오 데이터 세트로부터의 멜로디 정보를 곡 멜로디 데이터베이스에 추가하는 단계들을 추가로 포함하고, 구체적으로 이하의 단계들을 포함한다:
단계 402: 사용자 단말에 대해 곡 서비스를 제공하는데 사용되는 곡 오디오 데이터 세트를 획득함.
구체적으로, 곡 서버는 곡 오디오 데이터를 포함하는 곡 오디오 데이터 세트를 저장하고, 곡 오디오 데이터 세트에서의 곡 오디오 데이터의 각각의 조각은 대응하는 곡 식별자를 갖는다. 곡 서버는 곡 재생 애플리케이션 프로그램을 사용하여 사용자 단말에 의해 트리거되는 곡 획득 요청을 수신하고, 이러한 곡 획득 요청에 따라 곡 식별자를 획득할 수 있어, 획득되는 곡 식별자에 따라 곡 오디오 데이터 세트로부터 대응하는 곡 오디오 데이터를 추출하고 이러한 곡 오디오 데이터를 사용자 단말에 피드백한다. 사용자 단말은 곡 오디오 데이터를 플레이한다. 허밍 인식 서버는 곡 서버로부터 곡 오디오 데이터 세트를 주기적으로 획득할 수 있다. 대안적으로, 곡 서버는 주기적으로 또는 곡 오디오 데이터가 새롭게 추가될 때 곡 서버에서의 곡 오디오 데이터 세트를 허밍 인식 서버에 동기화시킬 수 있다.
단계 404: 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출함.
구체적으로, 허밍 인식 서버는 곡 오디오 데이터 세트에서의 곡 오디오 데이터의 각각의 조각을 트래버스하고, 트래버스되는 곡 오디오 데이터로부터 제3 멜로디 정보를 추출할 수 있다. 제3 멜로디 정보는 곡 오디오 데이터 세트로부터 추출되는 멜로디 정보이다.
단계 406: 곡 멜로디 데이터베이스에 제3 멜로디 정보 및 곡 식별자를 대응시켜 저장함.
구체적으로, 허밍 인식 서버는 전용 데이터베이스 서버를 포함할 수 있다. 제3 멜로디 정보를 추출한 이후, 허밍 인식 서버는 데이터베이스 서버에서의 곡 멜로디 데이터베이스에 제3 멜로디 정보 및 대응하는 곡 식별자를 대응시켜 저장할 수 있다. 단계 306 내지 단계 310의 순서 및 단계 312 내지 단계 316의 순서는 상호 교환되거나 또는 병렬로 처리될 수 있다.
본 실시예에서, 도 5를 참조하면, MIDI 파일이 곡 멜로디 데이터베이스에 직접 추가될 수 있고, 사용자 무반주 노래 오디오 데이터 세트 및 곡 오디오 데이터 세트에 대해, 음의 피치 및 시간 정보를 사용하여 표시되는 멜로디 정보가 전사에 의해 획득될 수 있다. 이러한 방식으로, 복수의 소스들로부터의 데이터가 하이브리드 데이터베이스 셋업에 대해 사용되므로, 허밍 인식 성능이 현저하게 향상될 수 있는 한편 데이터베이스 셋업의 비용은 감소된다.
실시예에서, 단계 308 이전에, 이러한 방법은, 사용자 무반주 노래 오디오 데이터 세트로부터 이하의 사용자 무반주 노래 오디오 데이터: 불완전한 사용자 무반주 노래 오디오 데이터; 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터; 및 잡음 또는 반주를 포함하는 것으로 결정되는 사용자 무반주 노래 오디오 데이터 중 적어도 하나를 필터링 아웃하는 단계를 추가로 포함한다.
불완전한 사용자 무반주 노래 오디오 데이터는 전체 곡의 내용을 포함하지 않는 사용자 무반주 노래 오디오 데이터이다. 예를 들어, 사용자가 곡의 일부분만 노래하고 나서 기록을 끝내면, 불완전한 사용자 무반주 노래 오디오 데이터가 획득된다. 허밍 인식 서버는 오디오 시간 길이가 미리 설정된 시간 길이 미만인 사용자 무반주 노래 오디오 데이터를 불완전한 사용자 무반주 노래 오디오 데이터로서 인식할 수 있다.
허밍 인식 서버는, 사용자 무반주 노래 오디오 데이터에서 운반되고 데이터가 완료되었는지 표시하는데 사용되는 마크에 따라, 불완전한 사용자 무반주 노래 오디오 데이터를 추가로 인식할 수 있다. 이러한 마크는 사용자 무반주 노래 오디오 데이터의 기록이 종료될 때 노래 애플리케이션 프로그램을 사용하여 사용자 단말에 의해 추가될 수 있다. 구체적으로, 사용자 단말은 곡 반주의 반주 종료 시점을 획득하고; 기록이 종료되는 기록 종료 시점이 반주 종료 시점 이상인지 결정하고; 그렇다면, 완전성을 표시하는데 사용되는 마크를 추가하거나, 또는 그렇지 않다면, 불완전성을 표시하는데 사용되는 마크를 추가할 수 있다. 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터는, 사용자 무반주 노래 오디오 데이터에 운반되고 헤드셋이 기록을 위해 착용되었는지 표시하는데 사용되는 마크를 사용하여, 인식될 수 있다.
사용자 무반주 노래 오디오 데이터가 잡음 또는 반주를 포함한다고 결정하는 것은, 통상의 곡 오디오 데이터에 대해, 사람의 소리는 데이터의 일부분에 일반적으로 분산되고, 잡음 및 반주는 전체 오디오를 차지할 수 있다는 가정에 기초할 수 있다. 따라서, 명백한 에너지는 청결한 사용자 무반주 노래 오디오 데이터에서의 영역 중 일부에만 존재할 것이다. 전체 오디오 영역에 명백한 에너지가 존재하면, 해당 오디오는 오염되었다.
구체적으로, 허밍 인식 서버는 사용자 무반주 노래 오디오 데이터의 한 조각을 획득하고, 타임라인에서 사용자 무반주 노래 오디오 데이터에 대해 프레임 세그먼트화를 수행하고, 다음으로 각각의 오디오 프레임의 제곱 평균 제곱근 에너지를 계산하고, 제곱 평균 제곱근 에너지가 임계값보다 큰 오디오 프레임들의 수량을 카운트할 수 있다. 전체 사용자 무반주 노래 오디오 데이터의 오디오 프레임들의 총 수량에 대한 오디오 프레임들의 카운트된 수량의 비율이 이전 비율을 충족하면, 사용자 무반주 노래 오디오 데이터는 청결한 사용자 무반주 노래 오디오 데이터인 것으로 결정된다. 대안적으로, 전체 사용자 무반주 노래 오디오 데이터의 오디오 프레임들의 총 수량에 대한 오디오 프레임들의 카운트된 수량의 비율이 이전 비율을 충족하지 않으면, 사용자 무반주 노래 오디오 데이터에 잡음 또는 반주가 존재하는 것으로 결정된다.
본 실시예에서, 불완전한 사용자 무반주 노래 오디오 데이터는 곡의 멜로디 정보의 부분만을 포함하기 때문에, 사용자가 사용자 무반주 노래 오디오 데이터에 포함되지 않은 내용을 정확하게 허밍하면, 해당 내용은 올바르게 인식될 수 없다. 또한, 사용자 무반주 노래 오디오 데이터의 존재는 곡 멜로디 데이터베이스를 검색하는 시간을 증가시켜, 허밍 인식 성능을 감소시킨다. 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터 및/또는 잡음 또는 반주를 포함한다고 결정되는 사용자 무반주 노래 오디오 데이터는 필터링 아웃되어, 곡 멜로디 데이터베이스가 인식 허밍에 대해 사용될 때 부정확한 사용자 무반주 노래 오디오 데이터가 곡 멜로디 데이터베이스의 인식 성능에 영향을 미치는 것을 방지한다.
도 6 및 도 7을 참조하면, 실시예에서, 단계 308은 구체적으로 이하의 단계들을 포함한다:
단계 602: 사용자 무반주 노래 오디오 데이터 세트를 트래버스하고, 트래버스되는 사용자 무반주 노래 오디오 데이터의 피치를 추출함.
구체적으로, 피치는 상행 순서로 음계에 배열되는 소리에 대한 청각의 인지 속성이다. 피치의 추출 프로세스는 또한 기본 음정의 추출 프로세스이다. 기본 음정의 주파수는 기본 주파수라고 지칭된다. 기본 음정은 음성에서 매우 낮은 주파수를 갖는 순수한 음정이지만 최대 진폭을 갖는다. 기본 음정은 전체 음의 피치를 결정한다.
허밍 인식 서버는 시간 도메인 이벤트 발생 검출 방법, 자기 상관 함수 방법, 또는 YAAPT(Yet Another Algorithm for Pitch Tracking) 알고리즘과 같은 기본 주파수 추출 알고리즘을 사용하여 기본 주파수를 추출할 수 있어, 기본 주파수를 주파수와 피치 사이의 대응 관계에 따라 피치로 변환한다. 시간 도메인 이벤트 발생 검출 방법은, 시간 도메인에서의 오디오 파형의 표현은 주기적이고, 기간에 반복적으로 발생하는 이벤트들의 횟수들이 카운트될 수 있다는 것과 같은 이론에 기초한다. 따라서, 기본 주파수는 초 당 발생되는 이벤트들의 횟수들을 계산하여 추정될 수 있다. 시간 도메인 이벤트 발생 검출 방법은, 예를 들어, ZCR(zero-crossing rate) 알고리즘, 피크 레이트(peak rate) 알고리즘 및 슬로프 이벤트 레이트(slope event rate) 알고리즘을 포함한다.
자기 상관 함수 방법에서는, 사용자 무반주 노래 오디오 데이터가 음성 신호이고, 이러한 음성 신호는 시간에 따라 변화하는 신호이고, 단시간 안정성의 특성을 갖는다고 고려된다. 이러한 방식으로, 사용자 무반주 노래 오디오 데이터는 처리를 위해 오디오 프레임들의 그룹으로 분할될 수 있다. 음성 신호의 프레임 세그먼트화는 윈도우잉(windowing)에 의해 구현되고, 윈도우 함수는 직사각형 윈도우 또는 해밍 윈도우(Hamming window)일 수 있다.
사용자 무반주 노래 오디오 데이터의 자기 상관 함수는 수학식 1로서 나타낼 수 있다.
Figure 112018064283703-pct00001
Figure 112018064283703-pct00002
은 시점 t에서의 자기 상관 함수를 표시하고;
Figure 112018064283703-pct00003
는 사용자 무반주 노래 오디오 데이터를 표시하고, 근사 주기 신호이고;
Figure 112018064283703-pct00004
는 윈도우 함수의 크기이고; t는 시점을 표시하고;
Figure 112018064283703-pct00005
는 지연을 표시한다.
Figure 112018064283703-pct00006
가 기본 주파수 주기의 정수배와 같을 때, 최대 값이 생성된다. 따라서, 자기 상관 함수는 최대 값을 검색하도록 계산될 수 있어, 사용자 무반주 노래 데이터의 기본 주파수를 추정한다.
실시예에서, 허밍 인식 서버는 자기 상관 함수에 기초하여 YIN 알고리즘을 사용하여 사용자 무반주 노래 오디오 데이터의 피치를 추출할 수 있다. YIN 알고리즘은 음성 및 음악에 대한 기본 주파수 추정자이다. 구체적으로, 이하의 단계 (1) 내지 단계 (4)를 포함하는 이하의 단계들이 기본 주파수를 추정하도록 수행될 수 있다:
(1): 사용자 무반주 노래 오디오 데이터의 자기 상관 함수를 계산함- 계산은 수학식 1에 따라 구체적으로 수행됨 -.
(2): 자기 상관 함수에 따라 차이 함수를 계산함.
차이 함수는 수학식 2로서 표현될 수 있다:
Figure 112018064283703-pct00007
자기 상관 함수
Figure 112018064283703-pct00008
가 주어지면, 차이 함수의 계산은 이하의 수학식 3으로 단순화될 수 있다:
Figure 112018064283703-pct00009
(3): 차이 함수
Figure 112018064283703-pct00010
에 대한 누적 평균 정규화를 수행하여, 정규화된 차이 함수
Figure 112018064283703-pct00011
를 획득함. 포먼트(formant)의 공진으로 인해 고 주파수에서 생성되는 작은 값은 누적 평균 정규화에 의해 보상될 수 있다.
Figure 112018064283703-pct00012
(4) 미리 설정된 임계값 s를 획득하고,
Figure 112018064283703-pct00013
의 로컬 최소 값이 획득되고
Figure 112018064283703-pct00014
일 때 최소 지연
Figure 112018064283703-pct00015
를 검색함. 기본 주파수
Figure 112018064283703-pct00016
가 추정됨. 추가로, 추정되는 기본 주파수에 따라 대응하는 피치가 획득될 수 있음.
단계 604: 트래버스되는 사용자 무반주 노래 오디오 데이터에 대한 음 시작 검출을 수행하여, 추출되는 피치에 대응하는 음 시작 시간을 획득함.
구체적으로, 허밍 인식 서버는 위상 특징에 기초하여 악보 시작 검출 알고리즘을 사용하여 사용자 무반주 노래 오디오 데이터에 대한 음 시작 검출을 수행할 수 있거나, 또는 모든 위상 MFCC(mel-frequency cepstral coefficient)의 차이에 기초하여 자동 음 시작 검출 방법을 사용하여 검출을 수행할 수 있다.
실시예에서, 허밍 인식 서버는 음향 심리 지식 방법을 적용하는 것에 의해 소리 시작 검출을 사용하여 음 시작 검출을 수행할 수 있고, 프로세스는 구체적으로, 필터를 사용하여 사용자 무반주 노래 오디오 데이터를 복수의 주파수 서브 대역들로 분할하는 단계; 각 주파수 서브 대역으로부터 진폭 윤곽
Figure 112018064283703-pct00017
를 추출하고, 1차 상대 차이 함수
Figure 112018064283703-pct00018
를 계산하고,
Figure 112018064283703-pct00019
의 로컬 최대 값을 음 시작 성분으로서 추출하고, 음 시작 성분의 시간 및 강도를 추정하는 단계; 및 상이한 주파수 서브 대역들의 음 시작 성분들의 시간 및 강도를 수렴하여 최종 음 시작 시간을 결정하는 단계를 포함한다.
단계 606: 피치 및 대응하는 음 시작 시간을 트래버스되는 사용자 무반주 노래 오디오 데이터의 곡 식별자에 대응하는 제2 멜로디 정보로 조합함.
구체적으로, 허밍 인식 서버는 추출되는 피치 및 피치에 대응하는 음 시작 시간을 음 시퀀스로 조합하여, 트래버스되는 사용자 무반주 노래 오디오 데이터의 곡 식별자에 대응하는 제2 멜로디 정보를 형성한다. 트래버스가 완료된 이후, 사용자 무반주 노래 오디오 데이터 세트에 대응하는 제2 멜로디 정보 세트가 획득될 수 있다.
본 실시예에서, 사용자 무반주 노래 오디오 데이터 세트가 트래버스되어 피치를 추출하고, 음 시작 검출이 수행되어 피치에 대응하는 음 시작 시간을 획득하므로, 추출되는 피치 및 대응하는 음 시작 시간에 따라 제2 멜로디 정보가 형성된다. 이러한 방식으로, 추출되는 제2 멜로디 정보는 보다 정확하고, 곡 멜로디 데이터베이스가 허밍 인식에 대해 사용될 때 최종적으로 획득되는 곡 멜로디 데이터베이스의 허밍 인식 정확도가 더 높다.
실시예에서, 도 8을 참조하면, 단계 314는 구체적으로 이하의 단계들을 포함한다:
단계 802: 곡 오디오 데이터 세트를 트래버스하여, 트래버스되는 곡 오디오 데이터의 주 멜로디 피치 윤곽을 획득함.
구체적으로, 허밍 인식 서버는 기존 주 멜로디 추출 방법, 예를 들어, 배음 검출에 기초하는 주 멜로디 추출 기술을 사용하여 곡 오디오 데이터로부터 주 멜로디 피치 윤곽을 추출할 수 있다. 곡은 복수의 멜로디 라인들을 일반적으로 포함하고, 이러한 복수의 멜로디 라인들은 가수의 노래의 주 멜로디 라인, 배경 음악의 멜로디 라인 등을 포함한다. 이러한 피치 윤곽은 피치 윤곽이라고 또한 지칭되고, 시간에서 연속되는 기본 음정 시퀀스이다.
실시예에서, 허밍 인식 서버는 Pitch Contour Characteristics 방법을 사용하는 Polyphonic Music Signals로부터의 Melody Extraction을 사용하여 곡 오디오 데이터의 주 멜로디 피치 윤곽을 추출할 수 있다. 구체적으로, 곡 오디오 데이터에 대해 단시간 Fourier 변환이 먼저 수행되어, 각각의 오디오 프레임의 스펙트럼 피크 값을 추출할 수 있고; 곡 오디오 데이터의 후보 피치가 추출되고, 추출되는 스펙트럼 피크 값에 따라 그리고 화음 추가 방법을 사용하여 각각의 후보 피치의 중요도 함수가 계산되고; 각각의 오디오 프레임에서 중요도 함수의 피크 값이 추출되고, 시간 및 주파수에서 연속되는 피크 값들이 연결되어 피치 윤곽을 형성하고; 피치 윤곽마다 일련의 특징 값들이 계산되므로, 계산되는 특징 값들에 따라 주 멜로디 특징을 갖는 주 멜로디 피치 윤곽이 선택된다.
단계 804: 고정된 시간 길이에 따라 주 멜로디 피치 윤곽에서의 피치들을 병합하여, 병합된 피치 및 대응하는 음 시작 시간을 획득함.
구체적으로, 본 실시예에서, 허밍 인식 서버는 음 시작 시간을 결정할 때 음 시작 검출을 수행하지 않지만, 피치 윤곽에서 고정된 시간 길이에 있는 모든 피치들을 트래버스되는 곡 오디오 데이터에서의 타임 스탬프에 따라 한 음의 피치로 병함한다, 예를 들어, 50 밀리초에 있는 피치들을 한 음의 피치로 병합한다. 병합된 피치의 값은 병합된 피치에 대응하는 병합 이전의 모든 피치들의 평균 값일 수 있다. 병합된 피치의 음 시작 시간은 병합 이전의 모든 대응하는 피치들에서 가장 빠른 피치에 대응하는 시간일 수 있다.
단계 806: 병합된 피치 및 대응하는 음 시작 시간을 트래버스되는 곡 오디오 데이터의 곡 식별자에 대응하는 제3 멜로디 정보로 조합함.
구체적으로, 허밍 인식 서버는 병합된 피치 및 대응하는 음 시작 시간을 음 시퀀스로 조합하여, 트래버스되는 곡 오디오 데이터의 곡 식별자에 대응하는 제3 멜로디 정보를 형성한다. 트래버스가 완료된 이후, 곡 오디오 데이터 세트에 대응하는 제3 멜로디 정보 세트가 획득될 수 있다.
본 실시예에서, 곡 오디오 데이터, 예를 들어, 통상의 인기 곡의 오디오 데이터는 아주 흔한 곡 오디오 리소스이다. 제3 멜로디 정보는 사용자 단말에 대해 곡 서비스를 제공하는 곡 오디오 데이터 세트를 사용하여 추출되므로, 곡 멜로디 데이터베이스는 매우 높은 곡 커버리지를 갖고, 곡 멜로디 데이터베이스가 허밍 인식에 대해 사용될 때 곡 멜로디 데이터베이스의 인식 성능이 추가로 향상될 수 있다. 제3 멜로디 정보가 추출될 때, 음 시작 검출이 수행되지 않고, 주 멜로디 피치 윤곽에서 고정된 시간 길이에 있는 피치들이 병합되어 피치 및 음 시작 시간을 결정하고, 그렇게 함으로써 허밍 인식 정확도를 감소시키지 않고 컴퓨팅 효율성을 향상시킨다.
도 9에 도시되는 바와 같이, 실시예에서, 곡 멜로디 정보 처리 방법은 곡 멜로디 데이터베이스를 사용하여 허밍 인식을 수행하는 단계들을 추가로 포함하고, 구체적으로 이하의 단계들을 포함한다:
단계 902: 인식 대상 허밍 특징 데이터를 수신함.
구체적으로, 사용자 단말은 허밍 인식 애플리케이션 프로그램을 사용하여 인식 대상 허밍 오디오 데이터를 기록하고, 이러한 허밍 오디오 데이터에 대한 특징 추출을 수행하여 인식 대상 허밍 특징 데이터를 획득하고, 이러한 허밍 특징 데이터를 허밍 인식 서버에 업로드할 수 있다. 허밍 인식 서버는 허밍 특징 데이터를 수신한다. 허밍 인식 애플리케이션 프로그램을 사용하여 인식 대상 허밍 오디오 데이터를 기록한 이후, 사용자 단말은 대안적으로 허밍 오디오 데이터를 허밍 인식 서버에 직접 업로드할 수 있다. 허밍 인식 서버는 허밍 오디오 데이터에 대한 특징 추출을 수행하여, 인식 대상 허밍 특징 데이터를 획득한다. 이러한 허밍 특징 데이터는 피치 특징 및 이러한 피치 특징에 대응하는 시간 특징을 포함한다.
단계 904: 곡 멜로디 데이터베이스에서 허밍 특징 데이터와 멜로디 정보의 조각들 사이의 유사도들을 획득함.
구체적으로, 허밍 인식 서버는 DTW(dynamic time warping) 알고리즘을 사용하여 곡 멜로디 데이터베이스에서 허밍 특징 데이터와 멜로디 정보의 조각들 사이의 유사도들을 계산할 수 있다.
단계 906: 미리 설정된 유사도 임계값보다 큰 유사도를 획득되는 유사도들로부터 차단함.
단계 908: 차단된 유사도에 대응하는 곡 식별자를 획득함.
구체적으로, 허밍 인식 서버는 획득된 모든 유사도들을 트래버스하고; 트래버스되는 유사도들을 미리 설정된 유사도 임계값과 비교하고; 트래버스되는 유사도가 미리 설정된 유사도 임계값보다 크면, 대응하는 곡 식별자를 획득하고, 트래버스가 완료될 때까지 또는 명시되는 수량의 곡 식별자들이 발견될 때까지 곡 식별자를 후보 곡 세트에 추가할 수 있다. 허밍 인식 서버는 미리 설정된 유사도 임계값보다 크고 획득되는 유사도들로부터 가장 큰 유사도를 구체적으로 차단할 수 있다.
단계 910: 획득되는 곡 식별자에 따라 허밍 인식 결과를 생성함.
구체적으로, 허밍 인식 서버는 획득되는 곡 식별자에 따라 대응하는 곡 정보, 예를 들어, 곡 이름, 곡 앨범 이름, 가수 이름, 곡 타입, 곡 재생 링크 등 중 하나 이상의 조합을 획득하고, 획득되는 곡 정보에 따라 허밍 인식 결과를 생성하고, 이러한 허밍 인식 결과를 사용자 단말에 피드백할 수 있다.
본 실시예에서, 복수의 소스들로부터의 오디오 데이터에 따라 셋 업되는 곡 멜로디 데이터베이스가 허밍 인식을 수행하는데 사용되므로, 정밀한 허밍 인식 결과가 획득될 수 있다. 또한, 도 10을 참조하면, MIDI 파일을 사용하여 순수하게 셋업되는 데이터베이스와 비교하여, 데이터베이스가 MIDI 파일 및 사용자 무반주 노래 오디오 데이터와 조합하여 셋 업되는 솔루션에서, 허밍 인식의 최초 적중률이 15% 이상 증가되고, 최초 5개의 적중률들은 10% 이상 증가된다. 데이터베이스가 MIDI 파일 및 사용자 무반주 노래 오디오 데이터와 조합하여 셋 업되는 솔루션과 비교하여, 데이터베이스가 MIDI 파일, 사용자 무반주 노래 오디오 데이터, 및 곡 오디오 데이터와 조합하여 셋 업되는 솔루션에서, 적중률은 어느 정도 추가로 증가된다.
도 11에 도시되는 바와 같이, 실시예는 서버(1100)를 제공한다. 서버의 내부 구조는 도 2에 도시되는 구조에 대응할 수 있다. 이하의 모듈들의 전부 또는 일부는 소프트웨어, 하드웨어, 또는 이들의 조합으로 구현될 수 있다. 서버(1100)는, 제1 소스 데이터 수집 모듈(1101), 제1 멜로디 정보 추출 모듈(1102), 제2 소스 데이터 획득 모듈(1103), 및 제2 멜로디 정보 추출 모듈(1104)을 포함한다.
제1 소스 데이터 수집 모듈(1101)은 MIDI 파일을 수집하도록 구성된다.
구체적으로, 제1 소스 데이터 수집 모듈(1101)은 이미 존재하는 MIDI 파일들을 수집하여, MIDI 파일 세트를 형성할 수 있다. 구체적으로, 제1 소스 데이터 수집 모듈(1101)은 네트워크로부터 기존 MIDI 파일 세트를 크롤링할 수 있거나, 또는 MIDI 파일들을 저장하는 제1 당사자 서버로부터 기존 MIDI 파일 세트를 가져올 수 있다.
제1 멜로디 정보 추출 모듈(1102)은, MIDI 파일의 곡 식별자를 획득하도록, MIDI 파일에 따라 제1 멜로디 정보를 생성하도록, 그리고 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 대응시켜 저장하도록 구성된다.
구체적으로, 제1 멜로디 정보 추출 모듈(1102)은 MIDI 파일 세트에서의 각각의 MIDI 파일을 트래버스하고, MIDI 파일에서의 곡 인식 정보를 추출하여, 추출되는 곡 인식 정보에 따라 대응하는 곡 식별자를 획득할 수 있다. 곡 인식 정보는 곡을 인식하는데 사용될 수 있는 정보, 예를 들어, 곡 이름 또는 가수 이름일 수 있다. MIDI 파일은 피치 및 대응하는 시간 정보를 포함하고, 각각의 피치는 음을 표시한다. 따라서, MIDI 파일에 포함되는 피치 및 대응하는 시간 정보는 제1 멜로디 정보를 형성할 수 있다. 제1 멜로디 정보 추출 모듈(1102)은 다음으로 제1 멜로디 정보를 곡 멜로디 데이터베이스에 추가한다.
제2 소스 데이터 획득 모듈(1103)은 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득하도록 구성된다.
구체적으로, 사용자 무반주 노래 오디오 데이터는 사용자의 노래 소리는 기록하지만 배경 음악은 기록하지 않는데 사용되는 데이터이다. 사용자 단말은, 노래 애플리케이션 프로그램을 사용하여, 곡 식별자에 대응하는 사용자 무반주 노래 오디오 데이터를 기록할 수 있고, 기록되는 사용자 무반주 노래 오디오 데이터를 노래 서버에 업로드하므로, 사용자 무반주 노래 오디오 데이터 세트가 노래 서버에서 형성된다. 제2 소스 데이터 획득 모듈(1103)은 노래 서버로부터 사용자 무반주 노래 오디오 데이터 세트를 주기적으로 획득할 수 있다. 대안적으로, 노래 서버는 주기적으로 또는 사용자 무반주 노래 오디오 데이터가 새롭게 추가될 때 노래 서버에서의 사용자 무반주 노래 오디오 데이터 세트를 제2 소스 데이터 획득 모듈(1103)에 동기화시킬 수 있다.
노래 애플리케이션 프로그램을 사용하여 사용자 무반주 노래 오디오 데이터를 기록할 때, 사용자 단말은, 헤드셋을 사용하여, 곡 식별자에 대응하는 곡 반주를 플레이할 수 있다. 사용자는 플레이되는 곡 반주에 따라 반주없이 노래한다. 사용자 단말은 사용자 단말의 소리 픽업을 사용하여 사용자의 무반주 소리를 획득하고, 사용자 단말의 프로세서의 처리에 의해 사용자 무반주 노래 오디오 데이터를 획득한다.
제2 멜로디 정보 추출 모듈(1104)은, 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하도록, 그리고 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 대응시켜 저장하도록 구성된다.
구체적으로, 제2 멜로디 정보 추출 모듈(1104)은 사용자 무반주 노래 오디오 데이터 세트에서의 사용자 무반주 노래 오디오 데이터의 각각의 조각을 트래버스하고, 트래버스되는 사용자 무반주 노래 오디오 데이터로부터 제2 멜로디 정보를 추출할 수 있다. 멜로디 정보는 시간에 따른 곡의 피치들의 변화 추세를 반영할 수 있는 정보이고, 멜로디 정보는 일련의 피치들과 대응하는 시간 정보 사이의 대응 관계를 사용하여 표시될 수 있다. 시간 정보는, 예를 들어, 피치의 시작 시간 또는 피치의 지속 시간이다. 제2 멜로디 정보는 사용자 무반주 노래 오디오 데이터 세트로부터 추출되는 멜로디 정보이고, 이하의 제3 멜로디 정보와 상이하다.
구체적으로, 제2 멜로디 정보를 추출한 이후, 제2 멜로디 정보 추출 모듈(1104)은, 데이터베이스 서버에서의 곡 멜로디 데이터베이스에, 추출되는 제2 멜로디 정보 및 대응하는 곡 식별자를 대응시켜 저장할 수 있다. 곡 식별자는 곡의 고유 식별자이고, 고유 문자열을 사용하여 표시될 수 있다. 상이한 곡들이 곡 이름들 및 가수 이름들을 사용하여 구별될 수 있고, 상이한 곡들에는 상이한 곡 식별자가 할당된다.
서버(1100)는 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트에 있고 복수의 소스들로부터의 것인 데이터 및 MIDI 파일을 사용하여 곡 멜로디 데이터베이스를 셋 업하므로, 전용 MIDI 파일이 더 이상 제작될 필요가 없고, 그렇게 함으로써 곡 멜로디 데이터베이스를 셋 업하는 비용을 매우 감소시킨다. 또한, 곡 멜로디 데이터베이스에서의 동일한 곡 식별자는 상이한 소스들로부터의 오디오 데이터를 전사하여 획득되는 멜로디 정보에 대응할 수 있으므로, 곡 멜로디 데이터베이스를 사용하여 허밍 인식이 수행될 때 인식의 적중률이 향상될 수 있다.
도 12에 도시되는 바와 같이, 실시예에서, 서버(1100)는, 제3 소스 데이터 획득 모듈(1105) 및 제3 멜로디 정보 추출 모듈(1106)을 추가로 포함한다.
제3 소스 데이터 획득 모듈(1105)은 사용자 단말에 대해 곡 서비스를 제공하는데 사용되는 곡 오디오 데이터 세트를 획득하도록 구성된다.
구체적으로, 곡 서버는 곡 오디오 데이터를 포함하는 곡 오디오 데이터 세트를 저장하고, 곡 오디오 데이터 세트에서의 곡 오디오 데이터의 각각의 조각은 대응하는 곡 식별자를 갖는다. 곡 서버는 곡 재생 애플리케이션 프로그램을 사용하여 사용자 단말에 의해 트리거되는 곡 획득 요청을 수신하고, 이러한 곡 획득 요청에 따라 곡 식별자를 획득할 수 있어, 획득되는 곡 식별자에 따라 곡 오디오 데이터 세트로부터 대응하는 곡 오디오 데이터를 추출하고 이러한 곡 오디오 데이터를 사용자 단말에 피드백한다. 사용자 단말은 곡 오디오 데이터를 플레이한다. 제3 소스 데이터 획득 모듈(1105)은 곡 서버로부터 곡 오디오 데이터 세트를 주기적으로 획득할 수 있다. 대안적으로, 곡 서버는 주기적으로 또는 곡 오디오 데이터가 새롭게 추가될 때 곡 서버에서의 곡 오디오 데이터 세트를 제3 소스 데이터 획득 모듈(1105)에 동기화시킬 수 있다.
제3 멜로디 정보 추출 모듈(1106)은, 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출하도록, 그리고 곡 멜로디 데이터베이스에 제3 멜로디 정보 및 곡 식별자를 대응시켜 저장하도록 구성된다.
구체적으로, 제3 멜로디 정보 추출 모듈(1106)은 곡 오디오 데이터 세트에서의 곡 오디오 데이터의 각각의 조각을 트래버스하고, 트래버스되는 곡 오디오 데이터로부터 제3 멜로디 정보를 추출할 수 있다. 제3 멜로디 정보는 곡 오디오 데이터 세트로부터 추출되는 멜로디 정보이다. 제3 멜로디 정보를 추출한 이후, 제3 멜로디 정보 추출 모듈(1106)은, 데이터베이스 서버에서의 곡 멜로디 데이터베이스에, 추출되는 제3 멜로디 정보 및 대응하는 곡 식별자를 대응시켜 저장할 수 있다.
본 실시예에서, 도 5를 참조하면, MIDI 파일이 곡 멜로디 데이터베이스에 직접 추가될 수 있고, 사용자 무반주 노래 오디오 데이터 세트 및 곡 오디오 데이터 세트에 대해, 음의 피치 및 시간 정보를 사용하여 표시되는 멜로디 정보가 전사에 의해 획득될 수 있다. 이러한 방식으로, 복수의 소스들로부터의 데이터가 하이브리드 데이터베이스 셋업에 대해 사용되므로, 허밍 인식 성능이 현저하게 향상될 수 있는 한편 데이터베이스 셋업의 비용은 감소된다.
도 13에 도시되는 바와 같이, 실시예에서, 서버(1100)는, 사용자 무반주 노래 오디오 데이터 세트로부터 이하의 사용자 무반주 노래 오디오 데이터: 불완전한 사용자 무반주 노래 오디오 데이터; 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터; 및 잡음 또는 반주를 포함하는 것으로 결정되는 사용자 무반주 노래 오디오 데이터 중 적어도 하나를 필터링 아웃하도록 구성되는 필터링 모듈(1107)을 추가로 포함한다.
불완전한 사용자 무반주 노래 오디오 데이터는 전체 곡의 내용을 포함하지 않는 사용자 무반주 노래 오디오 데이터이다. 예를 들어, 사용자가 곡의 일부분만 노래하고 나서 기록을 끝내면, 불완전한 사용자 무반주 노래 오디오 데이터가 획득된다. 필터링 모듈(1107)은 오디오 시간 길이가 미리 설정된 시간 길이 미만인 사용자 무반주 노래 오디오 데이터를 불완전한 사용자 무반주 노래 오디오 데이터로서 인식할 수 있다.
필터링 모듈(1107)은, 사용자 무반주 노래 오디오 데이터에서 운반되고 데이터가 완료되었는지 표시하는데 사용되는 마크에 따라, 불완전한 사용자 무반주 노래 오디오 데이터를 추가로 인식할 수 있다. 이러한 마크는 사용자 무반주 노래 오디오 데이터의 기록이 종료될 때 노래 애플리케이션 프로그램을 사용하여 사용자 단말에 의해 추가될 수 있다. 구체적으로, 사용자 단말은 곡 반주의 반주 종료 시점을 획득하고; 기록이 종료되는 기록 종료 시점이 반주 종료 시점 이상인지 결정하고; 그렇다면, 완전성을 표시하는데 사용되는 마크를 추가하거나, 또는 그렇지 않다면, 불완전성을 표시하는데 사용되는 마크를 추가할 수 있다. 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터는, 사용자 무반주 노래 오디오 데이터에 운반되고 헤드셋이 기록을 위해 착용되었는지 표시하는데 사용되는 마크를 사용하여, 인식될 수 있다.
사용자 무반주 노래 오디오 데이터가 잡음 또는 반주를 포함한다고 결정하는 것은, 통상의 곡 오디오 데이터에 대해, 사람의 소리는 데이터의 일부분에 일반적으로 분산되고, 잡음 및 반주는 전체 오디오를 차지할 수 있다는 가정에 기초할 수 있다. 따라서, 명백한 에너지는 청결한 사용자 무반주 노래 오디오 데이터에서의 영역 중 일부에만 존재할 것이다. 전체 오디오 영역에 명백한 에너지가 존재하면, 해당 오디오는 오염되었다.
구체적으로, 필터링 모듈(1107)은 사용자 무반주 노래 오디오 데이터의 한 조각을 획득하고, 타임라인에서 사용자 무반주 노래 오디오 데이터에 대해 프레임 세그먼트화를 수행하고, 다음으로 각각의 오디오 프레임의 제곱 평균 제곱근 에너지를 계산하고, 제곱 평균 제곱근 에너지가 임계값보다 큰 오디오 프레임들의 수량을 카운트할 수 있다. 전체 사용자 무반주 노래 오디오 데이터의 오디오 프레임들의 총 수량에 대한 오디오 프레임들의 카운트된 수량의 비율이 이전 비율을 충족하면, 사용자 무반주 노래 오디오 데이터는 청결한 사용자 무반주 노래 오디오 데이터인 것으로 결정된다. 대안적으로, 전체 사용자 무반주 노래 오디오 데이터의 오디오 프레임들의 총 수량에 대한 오디오 프레임들의 카운트된 수량의 비율이 이전 비율을 충족하지 않으면, 사용자 무반주 노래 오디오 데이터에 잡음 또는 반주가 존재하는 것으로 결정된다.
본 실시예에서, 불완전한 사용자 무반주 노래 오디오 데이터는 곡의 멜로디 정보의 부분만을 포함하기 때문에, 사용자가 사용자 무반주 노래 오디오 데이터에 포함되지 않은 내용을 정확하게 허밍하면, 해당 내용은 올바르게 인식될 수 없다. 또한, 사용자 무반주 노래 오디오 데이터의 존재는 곡 멜로디 데이터베이스를 검색하는 시간을 증가시켜, 허밍 인식 성능을 감소시킨다. 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터 및/또는 잡음 또는 반주를 포함한다고 결정되는 사용자 무반주 노래 오디오 데이터는 필터링 아웃되어, 곡 멜로디 데이터베이스가 인식 허밍에 대해 사용될 때 부정확한 사용자 무반주 노래 오디오 데이터가 곡 멜로디 데이터베이스의 인식 성능에 영향을 미치는 것을 방지한다.
실시예에서, 제2 멜로디 정보 추출 모듈(1104)은 구체적으로, 사용자 무반주 노래 오디오 데이터 세트를 트래버스하도록, 그리고 트래버스되는 사용자 무반주 노래 오디오 데이터의 피치를 추출하도록; 트래버스되는 사용자 무반주 노래 오디오 데이터에 대한 음 시작 검출을 수행하여, 추출되는 피치에 대응하는 음 시작 시간을 획득하도록; 그리고 피치 및 대응하는 음 시작 시간을 트래버스되는 사용자 무반주 노래 오디오 데이터의 곡 식별자에 대응하는 제2 멜로디 정보로 조합하도록 구성된다.
본 실시예에서, 사용자 무반주 노래 오디오 데이터 세트가 트래버스되어 피치를 추출하고, 음 시작 검출이 수행되어 피치에 대응하는 음 시작 시간을 획득하므로, 추출되는 피치 및 대응하는 음 시작 시간에 따라 제2 멜로디 정보가 형성된다. 이러한 방식으로, 추출되는 제2 멜로디 정보는 보다 정확하고, 곡 멜로디 데이터베이스가 허밍 인식에 대해 사용될 때 최종적으로 획득되는 곡 멜로디 데이터베이스의 허밍 인식 정확도가 더 높다.
실시예에서, 제3 멜로디 정보 추출 모듈(1106)은 구체적으로, 곡 오디오 데이터 세트를 트래버스하여, 트래버스되는 곡 오디오 데이터의 주 멜로디 피치 윤곽을 획득하도록; 고정된 시간 길이에 따라 주 멜로디 피치 윤곽에서의 피치들을 병합하여, 병합된 피치 및 대응하는 음 시작 시간을 획득하도록; 그리고 병합된 피치 및 대응하는 음 시작 시간을 트래버스되는 곡 오디오 데이터의 곡 식별자에 대응하는 제3 멜로디 정보로 조합하도록 구성된다.
본 실시예에서, 곡 오디오 데이터, 예를 들어, 통상의 인기 곡의 오디오 데이터는 아주 흔한 곡 오디오 리소스이다. 제3 멜로디 정보는 사용자 단말에 대해 곡 서비스를 제공하는 곡 오디오 데이터 세트를 사용하여 추출되므로, 곡 멜로디 데이터베이스는 매우 높은 곡 커버리지를 갖고, 곡 멜로디 데이터베이스가 허밍 인식에 대해 사용될 때 곡 멜로디 데이터베이스의 인식 성능이 추가로 향상될 수 있다. 제3 멜로디 정보가 추출될 때, 음 시작 검출이 수행되지 않고, 주 멜로디 피치 윤곽에서 고정된 시간 길이에 있는 피치들이 병합되어 피치 및 음 시작 시간을 결정하고, 그렇게 함으로써 허밍 인식 정확도를 감소시키지 않고 컴퓨팅 효율성을 향상시킨다.
도 14에 도시되는 바와 같이, 실시예에서, 서버(1100)는, 허밍 인식 모듈(1108)을 추가로 포함하고, 이는, 인식 대상 허밍 특징 데이터를 수신하도록; 곡 멜로디 데이터베이스에서 허밍 특징 데이터와 멜로디 정보의 조각들 사이의 유사도들을 획득하도록; 미리 설정된 유사도 임계값보다 큰 유사도를 획득되는 유사도들로부터 차단하도록; 차단된 유사도에 대응하는 곡 식별자를 획득하도록; 그리고 획득되는 곡 식별자에 따라 허밍 인식 결과를 생성하도록 구성된다.
본 실시예에서, 복수의 소스들로부터의 오디오 데이터에 따라 셋 업되는 곡 멜로디 데이터베이스가 허밍 인식을 수행하는데 사용되므로, 정밀한 허밍 인식 결과가 획득될 수 있다. 또한, 도 10을 참조하면, MIDI 파일을 사용하여 순수하게 셋업되는 데이터베이스와 비교하여, 데이터베이스가 MIDI 파일 및 사용자 무반주 노래 오디오 데이터와 조합하여 셋 업되는 솔루션에서, 허밍 인식의 최초 적중률이 15% 이상 증가되고, 최초 5개의 적중률들은 10% 이상 증가된다. 데이터베이스가 MIDI 파일 및 사용자 무반주 노래 오디오 데이터와 조합하여 셋 업되는 솔루션과 비교하여, 데이터베이스가 MIDI 파일, 사용자 무반주 노래 오디오 데이터, 및 곡 오디오 데이터와 조합하여 셋 업되는 솔루션에서, 적중률은 어느 정도 추가로 증가된다.
실시예는 메모리 및 프로세서를 포함하는 서버를 제공한다. 메모리는 컴퓨터 판독 가능 명령어들을 저장하고, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, MIDI 파일을 수집하는 단계; MIDI 파일의 곡 식별자를 획득하고, MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계; 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득하는 단계; 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계; 및 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계를 수행하게 한다.
실시예에서, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계 이전에 사용자 무반주 노래 오디오 데이터 세트로부터 이하의 사용자 무반주 노래 오디오 데이터: 불완전한 사용자 무반주 노래 오디오 데이터; 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터; 및 잡음 또는 반주를 포함한다고 결정되는 사용자 무반주 노래 오디오 데이터 중 적어도 하나를 필터링 아웃하게 한다.
실시예에서, 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계는, 사용자 무반주 노래 오디오 데이터 세트를 트래버스하고, 트래버스되는 사용자 무반주 노래 오디오 데이터의 피치를 추출하는 단계; 트래버스되는 사용자 무반주 노래 오디오 데이터에 대해 음 시작 검출을 수행하여, 추출되는 피치에 대응하는 음 시작 시간을 획득하는 단계; 및 피치 및 대응하는 음 시작 시간을 트래버스되는 사용자 무반주 노래 오디오 데이터의 곡 식별자에 대응하는 제2 멜로디 정보로 조합하는 단계를 포함한다.
실시예에서, 트래버스되는 사용자 무반주 노래 오디오 데이터에 대해 음 시작 검출을 수행하여, 추출되는 피치에 대응하는 음 시작 시간을 획득하는 단계는, 필터를 사용하여 사용자 무반주 노래 오디오 데이터를 복수의 주파수 서브 대역들로 분할하는 단계; 각각의 주파수 서브 대역으로부터 진폭 윤곽을 추출하고, 1차 상대 차이 함수를 계산하고, 1차 상대 차이 함수의 로컬 최대 값을 음 시작 성분으로서 추출하고, 음 시작 성분의 시간 및 강도를 추정하는 단계; 및 상이한 주파수 서브 대역들의 음 시작 성분들의 시간 및 강도를 수렴하여 최종 음 시작 시간을 결정하는 단계를 포함한다.
실시예에서, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 추가로 프로세서로 하여금, 사용자 단말에 대해 곡 서비스를 제공하는데 사용되는 곡 오디오 데이터 세트를 획득하는 단계; 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계; 및 곡 멜로디 데이터베이스에 제3 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계를 수행하게 한다.
실시예에서, 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계는, 곡 오디오 데이터 세트를 트래버스하여, 트래버스되는 곡 오디오 데이터의 주 멜로디 피치 윤곽을 획득하는 단계; 고정된 시간 길이에 따라 주 멜로디 피치 윤곽에서의 피치들을 병합하여, 병합된 피치 및 대응하는 음 시작 시간을 획득하는 단계; 및 병합된 피치 및 대응하는 음 시작 시간을 트래버스되는 곡 오디오 데이터의 곡 식별자에 대응하는 제3 멜로디 정보로 조합하는 단계를 포함한다.
실시예에서, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 추가로 프로세서로 하여금, 인식 대상 허밍 특징 데이터를 수신하는 단계; 곡 멜로디 데이터베이스에서 허밍 특징 데이터와 멜로디 정보의 조각들 사이의 유사도들을 획득하는 단계; 미리 설정된 유사도 임계값보다 큰 유사도를 획득되는 유사도들로부터 차단하는 단계; 차단된 유사도에 대응하는 곡 식별자를 획득하는 단계; 및 획득되는 곡 식별자에 따라 허밍 인식 결과를 생성하는 단계를 수행하게 한다.
실시예는 컴퓨터 판독 가능 명령어들을 저장하는 하나 이상의 비-휘발성 컴퓨터 판독 가능 저장 매체를 제공하고, 컴퓨터 판독 가능 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, MIDI 파일을 수집하는 단계; MIDI 파일의 곡 식별자를 획득하고, MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 제1 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계; 사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득하는 단계; 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계; 및 곡 멜로디 데이터베이스에 제2 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계를 수행하게 한다.
실시예에서, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 프로세서로 하여금, 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계 이전에 사용자 무반주 노래 오디오 데이터 세트로부터 이하의 사용자 무반주 노래 오디오 데이터: 불완전한 사용자 무반주 노래 오디오 데이터; 헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터; 및 잡음 또는 반주를 포함한다고 결정되는 사용자 무반주 노래 오디오 데이터 중 적어도 하나를 필터링 아웃하게 한다.
실시예에서, 사용자 무반주 노래 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계는, 사용자 무반주 노래 오디오 데이터 세트를 트래버스하고, 트래버스되는 사용자 무반주 노래 오디오 데이터의 피치를 추출하는 단계; 트래버스되는 사용자 무반주 노래 오디오 데이터에 대해 음 시작 검출을 수행하여, 추출되는 피치에 대응하는 음 시작 시간을 획득하는 단계; 및 피치 및 대응하는 음 시작 시간을 트래버스되는 사용자 무반주 노래 오디오 데이터의 곡 식별자에 대응하는 제2 멜로디 정보로 조합하는 단계를 포함한다.
실시예에서, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 추가로 프로세서로 하여금, 사용자 단말에 대해 곡 서비스를 제공하는데 사용되는 곡 오디오 데이터 세트를 획득하는 단계; 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계; 및 곡 멜로디 데이터베이스에 제3 멜로디 정보 및 곡 식별자를 대응시켜 저장하는 단계를 수행하게 한다.
실시예에서, 곡 오디오 데이터 세트에 따라, 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계는, 곡 오디오 데이터 세트를 트래버스하여, 트래버스되는 곡 오디오 데이터의 주 멜로디 피치 윤곽을 획득하는 단계; 고정된 시간 길이에 따라 주 멜로디 피치 윤곽에서의 피치들을 병합하여, 병합된 피치 및 대응하는 음 시작 시간을 획득하는 단계; 및 병합된 피치 및 대응하는 음 시작 시간을 트래버스되는 곡 오디오 데이터의 곡 식별자에 대응하는 제3 멜로디 정보로 조합하는 단계를 포함한다.
실시예에서, 컴퓨터 판독 가능 명령어들은, 프로세서에 의해 실행될 때, 추가로 프로세서로 하여금, 인식 대상 허밍 특징 데이터를 수신하는 단계; 곡 멜로디 데이터베이스에서 허밍 특징 데이터와 멜로디 정보의 조각들 사이의 유사도들을 획득하는 단계; 미리 설정된 유사도 임계값보다 큰 유사도를 획득되는 유사도들로부터 차단하는 단계; 차단된 유사도에 대응하는 곡 식별자를 획득하는 단계; 및 획득되는 곡 식별자에 따라 허밍 인식 결과를 생성하는 단계를 수행하게 한다.
해당 분야에서의 통상의 기술자는 실시예들에서의 방법들의 프로세스들의 전부 또는 일부가 관련 하드웨어를 명령하는 컴퓨터 프로그램에 의해 구현될 수 있다는 점을 이해할 수 있다. 이러한 컴퓨터 프로그램은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 이러한 프로그램이 실행될 때, 실시예들에서의 방법들의 프로세스들이 수행된다. 이러한 저장 매체는 자기 디스크, 광 디스크, 또는 ROM(read-only memory)과 같은 비-휘발성 저장 매체일 수도 있거나, 또는 RAM(random access memory) 등일 수 있다.
전술한 실시예들에서의 다양한 기술적 특징들은 랜덤하게 조합될 수 있다. 설명의 용이함을 위해, 전술한 실시예들에서의 다양한 기술적 특징들의 가능한 조합들이 모두 설명되는 것은 아니다. 그러나, 이러한 기술적 특징들의 조합들은, 이러한 기술적 특징들의 조합들이 서로 호환될 수 있다면, 본 명세서에 기록되는 범위 내에 있는 것으로서 고려되어야 한다.
전술한 실시예들은 구체적으로 그리고 상세히 설명되는 본 출원의 몇몇 구현들을 설명할 뿐이고, 따라서 본 발명의 특허 범위에 대한 제한으로서 해석될 수 없다. 해당 분야에서의 통상의 기술자는 본 출원의 아이디어들로부터 벗어나지 않고서 본 출원의 보호 범위 내에 속하는 다양한 변경들 및 개선들을 행할 수 있다는 점이 주목되어야 한다. 따라서, 본 출원의 특허의 보호 범위는 첨부되는 청구항들의 대상이 될 것이다.

Claims (20)

  1. 곡 멜로디 정보 처리 방법으로서,
    MIDI 파일을 수집하는 단계;
    상기 MIDI 파일의 곡 식별자를 획득하고, 상기 MIDI 파일에 따라 제1 멜로디 정보를 생성하고, 곡 멜로디 데이터베이스에 상기 제1 멜로디 정보 및 상기 곡 식별자를 대응시켜 저장하는 단계;
    사용자 단말에 의해 업로드되는 사용자 무반주 노래 오디오 데이터 세트를 획득하는 단계;
    상기 사용자 무반주 노래 오디오 데이터 세트에 따라, 상기 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계; 및
    상기 곡 멜로디 데이터베이스에 상기 제2 멜로디 정보 및 상기 곡 식별자를 대응시켜 저장하는 단계
    를 포함하고;
    상기 사용자 무반주 노래 오디오 데이터 세트에 따라, 상기 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계는,
    상기 사용자 무반주 노래 오디오 데이터 세트를 트래버스하고, 트래버스되는 사용자 무반주 노래 오디오 데이터의 피치를 추출하는 단계;
    상기 트래버스되는 사용자 무반주 노래 오디오 데이터에 대해 음 시작 검출을 수행하여, 상기 추출되는 피치에 대응하는 음 시작 시간을 획득하는 단계; 및
    상기 피치 및 상기 대응하는 음 시작 시간을 상기 트래버스되는 사용자 무반주 노래 오디오 데이터의 곡 식별자에 대응하는 제2 멜로디 정보로 조합하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 사용자 무반주 노래 오디오 데이터 세트에 따라, 상기 곡 식별자에 대응하는 제2 멜로디 정보를 추출하는 단계 이전에, 상기 방법은,
    상기 사용자 무반주 노래 오디오 데이터 세트 내의 이하의 사용자 무반주 노래 오디오 데이터 중 적어도 하나를 필터링 아웃하는 단계:
    불완전한 사용자 무반주 노래 오디오 데이터;
    헤드셋을 착용하지 않고 기록되는 사용자 무반주 노래 오디오 데이터; 및
    잡음 또는 반주를 포함한다고 결정되는 사용자 무반주 노래 오디오 데이터
    를 추가로 포함하는 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 트래버스되는 사용자 무반주 노래 오디오 데이터에 대해 음 시작 검출을 수행하여, 상기 추출되는 피치에 대응하는 음 시작 시간을 획득하는 단계는,
    필터를 사용하여 상기 사용자 무반주 노래 오디오 데이터를 복수의 주파수 서브 대역들로 분할하는 단계;
    각각의 주파수 서브 대역으로부터 진폭 윤곽을 추출하고, 1차 상대 차이 함수를 계산하고, 상기 1차 상대 차이 함수의 로컬 최대 값을 음 시작 성분으로서 추출하고, 상기 음 시작 성분의 시간 및 강도를 추정하는 단계; 및
    상이한 주파수 서브 대역들의 음 시작 성분들의 시간 및 강도를 수렴하여 최종 음 시작 시간을 결정하는 단계
    를 포함하는 방법.
  5. 제1항에 있어서,
    상기 사용자 단말에 대해 곡 서비스를 제공하는데 사용되는 곡 오디오 데이터 세트를 획득하는 단계;
    상기 곡 오디오 데이터 세트에 따라, 상기 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계; 및
    상기 곡 멜로디 데이터베이스에 상기 제3 멜로디 정보 및 상기 곡 식별자를 대응시켜 저장하는 단계
    를 추가로 포함하는 방법.
  6. 제5항에 있어서,
    상기 곡 오디오 데이터 세트에 따라, 상기 곡 식별자에 대응하는 제3 멜로디 정보를 추출하는 단계는,
    상기 곡 오디오 데이터 세트를 트래버스하여, 트래버스되는 곡 오디오 데이터의 주 멜로디 피치 윤곽을 획득하는 단계;
    고정된 시간 길이에 따라 상기 주 멜로디 피치 윤곽에서의 피치들을 병합하여, 병합된 피치 및 대응하는 음 시작 시간을 획득하는 단계; 및
    상기 병합된 피치 및 상기 대응하는 음 시작 시간을 상기 트래버스되는 곡 오디오 데이터의 곡 식별자에 대응하는 제3 멜로디 정보로 조합하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서,
    인식 대상 허밍 특징 데이터를 수신하는 단계;
    상기 곡 멜로디 데이터베이스에서 상기 허밍 특징 데이터와 멜로디 정보의 하나 이상의 조각들 사이의 유사도들을 획득하는 단계;
    미리 설정된 유사도 임계값보다 큰 유사도를 상기 획득되는 유사도들로부터 식별하는 단계;
    상기 허밍 특징 데이터와 상기 식별된 유사도를 가지는 상기 멜로디 정보의 하나 이상의 조각들에 대응하는 곡 식별자를 획득하는 단계; 및
    상기 획득되는 곡 식별자에 따라 허밍 인식 결과를 생성하는 단계
    를 추가로 포함하는 방법.
  8. 메모리 및 프로세서를 포함하는 서버로서,
    상기 메모리는 컴퓨터 판독 가능 명령어들을 저장하고, 상기 컴퓨터 판독 가능 명령어들은, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금, 제1항, 제2항 및 제4항 내지 제7항 중 어느 한 항의 방법을 수행하게 하는 서버.
  9. 컴퓨터 판독 가능 명령어들을 저장하는 하나 이상의 비-휘발성 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 판독 가능 명령어들은, 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금, 제1항, 제2항 및 제4항 내지 제7항 중 어느 한 항의 방법을 수행하게 하는 비-휘발성 컴퓨터 판독 가능 저장 매체.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020187018692A 2016-03-18 2017-02-21 곡 멜로디 정보 처리 방법, 서버 및 저장 매체 KR102167520B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610158349.7A CN107203571B (zh) 2016-03-18 2016-03-18 歌曲旋律信息处理方法和装置
CN201610158349.7 2016-03-18
PCT/CN2017/074315 WO2017157142A1 (zh) 2016-03-18 2017-02-21 歌曲旋律信息处理方法、服务器和存储介质

Publications (2)

Publication Number Publication Date
KR20180088889A KR20180088889A (ko) 2018-08-07
KR102167520B1 true KR102167520B1 (ko) 2020-10-19

Family

ID=59850580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187018692A KR102167520B1 (ko) 2016-03-18 2017-02-21 곡 멜로디 정보 처리 방법, 서버 및 저장 매체

Country Status (5)

Country Link
US (1) US11288309B2 (ko)
JP (1) JP6784362B2 (ko)
KR (1) KR102167520B1 (ko)
CN (1) CN107203571B (ko)
WO (1) WO2017157142A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203571B (zh) 2016-03-18 2019-08-06 腾讯科技(深圳)有限公司 歌曲旋律信息处理方法和装置
KR101942814B1 (ko) * 2017-08-10 2019-01-29 주식회사 쿨잼컴퍼니 사용자 허밍 멜로디 기반 반주 제공 방법 및 이를 위한 장치
CN108711415B (zh) * 2018-06-11 2021-10-08 广州酷狗计算机科技有限公司 纠正伴奏和干音之间的时延的方法、装置及存储介质
CN109785820B (zh) * 2019-03-01 2022-12-27 腾讯音乐娱乐科技(深圳)有限公司 一种处理方法、装置及设备
CN109920449B (zh) * 2019-03-18 2022-03-04 广州市百果园网络科技有限公司 节拍分析方法、音频处理方法及装置、设备、介质
CN110267081B (zh) * 2019-04-02 2021-01-22 北京达佳互联信息技术有限公司 直播流处理方法、装置、系统、电子设备及存储介质
CN112420004A (zh) * 2019-08-22 2021-02-26 北京峰趣互联网信息服务有限公司 生成歌曲的方法、装置、电子设备及计算机可读存储介质
CN111309962B (zh) * 2020-01-20 2023-05-16 抖音视界有限公司 提取音频片段的方法、装置以及电子设备
CN111223491B (zh) * 2020-01-22 2022-11-15 深圳市倍轻松科技股份有限公司 一种提取音乐信号主旋律的方法、装置及终端设备
CN111309959B (zh) * 2020-02-10 2023-08-18 清华大学 歌曲推荐方法和装置
CN111739493B (zh) * 2020-06-23 2023-07-14 腾讯音乐娱乐科技(深圳)有限公司 音频处理方法、装置及存储介质
CN112596696A (zh) * 2020-12-30 2021-04-02 北京达佳互联信息技术有限公司 歌曲录制方法、装置、终端及存储介质
CN113157968A (zh) * 2021-04-07 2021-07-23 腾讯音乐娱乐科技(深圳)有限公司 获取同旋律音频组方法、终端及存储介质
CN113421589B (zh) * 2021-06-30 2024-03-01 平安科技(深圳)有限公司 歌手识别方法、装置、设备及存储介质
CN113593609B (zh) * 2021-08-03 2024-02-09 杭州网易云音乐科技有限公司 乐曲识别方法、装置、电子设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075985A (ja) * 1999-09-03 2001-03-23 Sony Corp 音楽検索装置
JP2009015535A (ja) * 2007-07-03 2009-01-22 Nippon Laboatec Kk 類似音楽検索装置、類似音楽検索方法、類似音楽検索プログラム及びコンピュータで読み取り可能な記録媒体
JP2009063854A (ja) * 2007-09-07 2009-03-26 Xing Inc デジタルコンテンツ情報配信システム、デジタルコンテンツ情報配信システムの制御方法、及びデジタルコンテンツ情報配信システムの制御プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1155201A (ja) * 1997-07-29 1999-02-26 Sony Corp 情報処理装置および方法、情報処理システム、並びに伝送媒体
JP3879323B2 (ja) * 1999-09-06 2007-02-14 ヤマハ株式会社 電話端末装置
JP2002091433A (ja) * 2000-09-19 2002-03-27 Fujitsu Ltd メロディー情報の抽出方法その装置
CN1750117A (zh) * 2004-09-16 2006-03-22 乐金电子(惠州)有限公司 伴唱机歌曲搜索系统及其旋律数据库构成方法
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
CN100373382C (zh) * 2005-09-08 2008-03-05 上海交通大学 基于内容的数字音乐检索旋律特征数据库及生成系统
EP1785891A1 (en) * 2005-11-09 2007-05-16 Sony Deutschland GmbH Music information retrieval using a 3D search algorithm
US20080082507A1 (en) * 2006-09-29 2008-04-03 University Of Florida Research Foundation, Inc. System and methods for providing content over a data communications network and compensating content owners and resource providers
JP4404130B2 (ja) * 2007-10-22 2010-01-27 ソニー株式会社 情報処理端末装置、情報処理装置、情報処理方法、プログラム
US7979422B2 (en) * 2008-07-30 2011-07-12 Oracle International Corp. Hybrid optimization strategies in automatic SQL tuning
US9280598B2 (en) * 2010-05-04 2016-03-08 Soundhound, Inc. Systems and methods for sound recognition
CN102522083B (zh) * 2011-11-29 2014-03-05 北京百纳威尔科技有限公司 一种应用移动终端搜索哼唱歌曲的方法及其移动终端
CN103440250A (zh) * 2013-07-22 2013-12-11 北京承芯卓越科技有限公司 基于16位dsp平台应用的嵌入式哼唱检索方法及系统
CN103559232B (zh) * 2013-10-24 2017-01-04 中南大学 一种基于二分逼近动态时间归整匹配的音乐哼唱检索方法
CN107203571B (zh) 2016-03-18 2019-08-06 腾讯科技(深圳)有限公司 歌曲旋律信息处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001075985A (ja) * 1999-09-03 2001-03-23 Sony Corp 音楽検索装置
JP2009015535A (ja) * 2007-07-03 2009-01-22 Nippon Laboatec Kk 類似音楽検索装置、類似音楽検索方法、類似音楽検索プログラム及びコンピュータで読み取り可能な記録媒体
JP2009063854A (ja) * 2007-09-07 2009-03-26 Xing Inc デジタルコンテンツ情報配信システム、デジタルコンテンツ情報配信システムの制御方法、及びデジタルコンテンツ情報配信システムの制御プログラム

Also Published As

Publication number Publication date
CN107203571A (zh) 2017-09-26
JP6784362B2 (ja) 2020-11-11
KR20180088889A (ko) 2018-08-07
CN107203571B (zh) 2019-08-06
US20180232446A1 (en) 2018-08-16
US11288309B2 (en) 2022-03-29
JP2019507912A (ja) 2019-03-22
WO2017157142A1 (zh) 2017-09-21

Similar Documents

Publication Publication Date Title
KR102167520B1 (ko) 곡 멜로디 정보 처리 방법, 서버 및 저장 매체
US11087726B2 (en) Audio matching with semantic audio recognition and report generation
AU2016208377B2 (en) Audio decoding with supplemental semantic audio recognition and report generation
US7812241B2 (en) Methods and systems for identifying similar songs
US20180033416A1 (en) Audio Processing Techniques for Semantic Audio Recognition and Report Generation
US7396990B2 (en) Automatic music mood detection
US20170330540A1 (en) Method and apparatus for making music selection based on acoustic features
US20050211071A1 (en) Automatic music mood detection
CN104978962A (zh) 哼唱检索方法及系统
CN110010159B (zh) 声音相似度确定方法及装置
Rajan et al. Music genre classification by fusion of modified group delay and melodic features
JP2005292207A (ja) 音楽分析の方法
Dittmar et al. Novel mid-level audio features for music similarity
Waghmare et al. Analyzing acoustics of indian music audio signal using timbre and pitch features for raga identification
Tang et al. Melody Extraction from Polyphonic Audio of Western Opera: A Method based on Detection of the Singer's Formant.
Deepsheka et al. Recurrent neural network based music recognition using audio fingerprinting
Kharat et al. A survey on query by singing/humming
Liang et al. Melody extraction from polyphonic music based on the amplitude relation
Lagrange et al. Robust similarity metrics between audio signals based on asymmetrical spectral envelope matching
CN114093388A (zh) 音符切割方法、切割系统及视唱评价方法
Song et al. The Music Retrieval Method Based on The Audio Feature Analysis Technique with The Real World Polyphonic Music
Nagavi et al. Perceptive analysis of query by singing system through query excerption
Chen et al. A new mechanism of similarity evaluation for content-based music information retrieval

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