KR20190009821A - Method and system for generating playlist using sound source content and meta information - Google Patents
Method and system for generating playlist using sound source content and meta information Download PDFInfo
- Publication number
- KR20190009821A KR20190009821A KR1020190007510A KR20190007510A KR20190009821A KR 20190009821 A KR20190009821 A KR 20190009821A KR 1020190007510 A KR1020190007510 A KR 1020190007510A KR 20190007510 A KR20190007510 A KR 20190007510A KR 20190009821 A KR20190009821 A KR 20190009821A
- Authority
- KR
- South Korea
- Prior art keywords
- sound source
- song
- similarity
- generating
- playlist
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/638—Presentation of query results
- G06F16/639—Presentation of query results using playlists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
아래의 설명은 음원에 대한 플레이리스트를 자동으로 생성하는 기술에 관한 것이다.The following description relates to a technique for automatically generating a playlist for a sound source.
최근 사람들은 다양한 형태의 미디어 상의 음악 조각들(music pieces), 비디오 또는 오디오 트랙들과 같은 미디어 컨텐츠를 일상적으로 이용하고 있다. 플레이리스트는 선호들, 테마들, 장르들, 아티스트들 또는 행사들(occasions)에 기초하여, 음악 또는 다른 컨텐츠를 구성하는 능력을 사용자들에게 제공한다.Recently, people have routinely used media content such as music pieces, video or audio tracks on various types of media. A playlist provides users with the ability to organize music or other content based on preferences, themes, genres, artists or occasions.
플레이리스트 생성 기술의 일례로, 한국 등록특허 제10-0810276호(등록일 2008년 02월 27일)에는 음원 데이터 재생 장치에 저장된 다수의 음원 데이터들에 대한 사용자 플레이리스트를 작성하는 기술이 개시되어 있다.Korean Patent No. 10-0810276 (Feb. 27, 2008) discloses a technique for creating a user play list for a plurality of sound source data stored in a sound source data reproducing apparatus as an example of a play list generating technique .
기존에는 재생 이력이나 미리 듣기 이력 등이 있는 음원으로 플레이리스트를 생성하거나, 협업적 여과 특징을 이용한 유사도 측정 방식으로 플레이리스트를 생성하게 된다. 이러한 기존 플레이리스트 생성 방법은 음원 자체의 특징을 인자(factor)로 사용하지 않기 때문에 자동 재생 중에 시작 곡(seed 곡)과 특징이 다른 곡이 나올 확률이 매우 높다. 또한, 음원의 메타 데이터를 강한 필터 조건으로 사용하여 플레이리스트를 생성할 경우에는 플레이리스트의 다양성이 저하되는 문제가 있다.In the past, a playlist is generated from a sound source having a playback history or a preview history, or a playlist is generated by a similarity measurement method using a collaborative filtering feature. Since the existing playlist generation method does not use the characteristics of the sound source itself as a factor, there is a high probability that a song having a characteristic different from that of the start song (automatic play) during automatic playback is obtained. In addition, when the playlist is generated by using the metadata of the sound source as a strong filter condition, there is a problem that the diversity of the playlist is deteriorated.
음원 및 음원의 메타 정보를 학습한 모델을 이용하여 사용자가 선호하는 곡이나 재생 이력이 있는 곡과 유사한 곡들을 선별하여 플레이리스트를 자동으로 생성할 수 있는 방법 및 시스템을 제공한다.There is provided a method and system for automatically generating a playlist by selecting a song that is similar to a song having a user's favorite song or a playback history using a model in which meta information of a sound source and a sound source is learned.
컴퓨터 시스템에서 수행되는 플레이리스트 생성 방법에 있어서, 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 단계; 및 상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 단계를 포함하고, 상기 플레이리스트를 생성하는 단계는, 상기 음원 컨텐츠 간의 유사도를 바탕으로 현재 재생 곡과 유사한 다음 재생 곡을 선정하여 플레이리스트를 생성하되 다음 재생 곡의 선정 시 시드(seed) 곡과의 유사도를 체크함으로써 상기 시드 곡과 유사한 음원 컨텐츠로 체인 형태의 플레이리스트를 생성하는 것을 특징으로 하는 플레이리스트 생성 방법을 제공한다.A playlist generation method performed in a computer system, the method comprising: generating acoustic features unique to a sound source from sound source data of the sound source content for each sound source content; And generating a playlist based on the degree of similarity between the sound source contents by calculating a degree of similarity between the sound source contents using the acoustic feature, A play list similar to the current play song is selected to generate a play list. When a next play song is selected, the similarity with the seed song is checked, And generating a play list based on the generated play list.
상기 플레이리스트 생성 방법을 컴퓨터를 통해 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체를 제공한다.There is provided a computer-readable recording medium having recorded thereon a program for causing the computer to execute the playlist generating method.
컴퓨터로 구현되는 플레이리스트 생성 시스템에 있어서, 음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징을 생성하는 고유 특징 처리부; 및 상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트를 생성하는 플레이리스트 생성부를 포함하고, 상기 플레이리스트 생성부는, 상기 음원 컨텐츠 간의 유사도를 바탕으로 현재 재생 곡과 유사한 다음 재생 곡을 선정하여 플레이리스트를 생성하되 다음 재생 곡의 선정 시 시드 곡과의 유사도를 체크함으로써 상기 시드 곡과 유사한 음원 컨텐츠로 체인 형태의 플레이리스트를 생성하는 것을 특징으로 하는 플레이리스트 생성 시스템을 제공한다.A computer-implemented playlist generating system, comprising: a unique feature processor for generating a unique acoustic feature of a corresponding sound source from sound source data of the sound source content for each sound source content; And a playlist generating unit for calculating a similarity between the sound source contents using the acoustic feature and generating a play list based on the similarity between the sound source contents, wherein the play list generating unit generates a play list based on the similarity between the sound source contents, And generating a play list in a chain form from sound source contents similar to the seed song by checking the similarity between the next play song and a seed song when a next play song is selected, Provides a list generation system.
본 발명의 실시예에 따르면, 딥 러닝(deep learning)을 이용하여 음원 자체의 고유 값(eigen-value)을 학습을 위한 인자(factor)로 사용함으로써 곡 간의 유사성을 더욱 정확히 산출할 수 있다.According to the embodiment of the present invention, by using deep learning, eigen-value of the sound source itself is used as a factor for learning, so that the similarity between songs can be more accurately calculated.
본 발명의 실시예에 따르면, 음원의 특징뿐 아니라 음원의 메타 정보를 부가적 정보로 사용하여 곡 간의 유사성을 산출할 수 있고, 또한 시드(seed) 곡과의 유사성을 지속적으로 체크하는 로직을 적용함으로써 플레이리스트의 다양성을 유지하면서 이와 동시에 시드 곡과 너무 다른 곡이 포함되는 것을 방지할 수 있다.According to the embodiment of the present invention, it is possible to calculate the similarity between songs by using the meta information of the sound source as additional information as well as the characteristics of the sound source, and to apply the logic to continuously check the similarity with the seed song So that it is possible to prevent the playlist from being included in a song that is too different from the seed song while maintaining the diversity of the play list.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 플레이리스트 생성 방법의 예를 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 플레이리스트 자동 생성 과정의 예를 도시한 도면이다.1 is a block diagram for explaining an example of the internal configuration of a computer system according to an embodiment of the present invention.
2 is a diagram illustrating an example of components that a processor of a computer system according to an embodiment of the present invention may include.
3 is a flowchart illustrating an example of a play list generation method that can be performed by a computer system according to an embodiment of the present invention.
4 is a diagram illustrating an example of a process of automatically generating a playlist according to an embodiment of the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 실시예들은 플레이리스트를 생성하기 위한 방법들과 시스템들에 관련된 것이며, 더욱 상세하게는 음원 및 음원의 메타 정보를 학습한 모델을 이용하여 플레이리스트를 자동으로 생성할 수 있는 플레이리스트 생성 기술에 관한 것이다.The present embodiments relate to methods and systems for generating playlists, and more particularly to a playlist generating technique capable of automatically generating playlists using a model in which meta information of sound sources and sound sources is learned .
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 음원 컨텐츠에 대한 플레이리스트의 생성을 달성하고 이를 통해 비용 절감, 효율성과 정확성 등의 측면에 있어서 상당한 장점들을 달성한다.Embodiments, including those specifically disclosed herein, achieve the creation of playlists for source content and thereby achieve significant advantages in terms of cost savings, efficiency and accuracy, and the like.
음원 컨텐츠에 대해 생성된 플레이리스트는 음원 컨텐츠의 추천, 검색, 분류, 관리 등을 위해 활용될 수 있다. 일례로, 사용자 맞춤형 음원 추천을 위해서는 사용자가 선호하는 곡과 유사한 곡들에 대한 선별 작업이 필요하며, 이러한 선별 작업으로서 음원 및 음원의 메타 정보를 이용하여 플레이리스트를 자동으로 생성할 수 있다.The play list generated for the sound source content can be utilized for recommending, searching, classifying, and managing the sound source content. For example, in order to recommend a user-customized sound source, a sorting operation for songs similar to the user's favorite music is required. As a sorting operation, a playlist can be automatically generated using meta information of a sound source and a sound source.
도 1은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다. 예를 들어, 본 발명의 실시예들에 따른 플레이리스트 생성 시스템이 도 1의 컴퓨터 시스템(100)을 통해 구현될 수 있다. 도 1에 도시한 바와 같이, 컴퓨터 시스템(100)은 플레이리스트 생성 방법을 실행하기 위한 구성요소로서 프로세서(110), 메모리(120), 영구 저장 장치(130), 버스(140), 입출력 인터페이스(150) 및 네트워크 인터페이스(160)를 포함할 수 있다.1 is a block diagram for explaining an example of the internal configuration of a computer system according to an embodiment of the present invention. For example, a playlist generation system in accordance with embodiments of the present invention may be implemented through the
프로세서(110)는 명령어들의 임의의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스, 미디어 플레이어 등에 포함될 수 있다. 프로세서(110)는 버스(140)를 통해 메모리(120)에 접속될 수 있다.
메모리(120)는 컴퓨터 시스템(100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 메모리(120)는 예를 들어 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(120)는 컴퓨터 시스템(100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(120)는 예를 들어 음원 컨텐츠에 대한 플레이리스트 생성을 위한 명령어들을 포함하는 컴퓨터 시스템(100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(110)를 포함할 수 있다.The
버스(140)는 컴퓨터 시스템(100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(140)는 예를 들어 컴퓨터 시스템(100)의 컴포넌트들 사이에, 예를 들어 프로세서(110)와 메모리(120) 사이에 데이터를 운반할 수 있다. 버스(140)는 컴퓨터 시스템(100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.The
영구 저장 장치(130)는 (예를 들어, 메모리(120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(130)는 컴퓨터 시스템(100) 내의 프로세서(110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 영구 저장 장치(130)는 예를 들어 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.The
입출력 인터페이스(150)는 키보드, 마우스, 음성 명령 입력, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 플레이리스트 생성을 위한 입력, 예컨대 음원 데이터와 텍스트 정보가 입출력 인터페이스(150)를 통해 수신될 수 있다.The input /
네트워크 인터페이스(160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 플레이리스트 생성을 위한 음원 컨텐츠의 음원 데이터와 텍스트 정보는 네트워크 인터페이스(160)를 통해 수신될 수 있다.The
또한, 다른 실시예들에서 컴퓨터 시스템(100)은 도 1의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(100)은 상술한 입출력 인터페이스(150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 컴퓨터 시스템(100)이 스마트폰과 같은 모바일 기기의 형태로 구현되는 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 컴퓨터 시스템(100)에 더 포함되도록 구현될 수 있다.Also, in other embodiments, the
도 2는 본 발명의 일 실시예에 따른 컴퓨터 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 컴퓨터 시스템이 수행할 수 있는 플레이리스트 생성 방법의 예를 도시한 순서도이다.FIG. 2 is a diagram illustrating an example of a component that a processor of a computer system according to an exemplary embodiment of the present invention may include; FIG. 3 is a block diagram of a playlist Fig. 8 is a flowchart showing an example of a generation method. Fig.
도 2에 도시된 바와 같이, 프로세서(110)는 음원 입력 제어부(210), 음원 전처리부(220), 고유 특징 처리부(230), 및 플레이리스트 생성부(240)를 포함할 수 있다. 이러한 프로세서(110)의 구성요소들은 적어도 하나의 프로그램 코드에 의해 제공되는 제어 명령에 따라 프로세서(110)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 프로세서(110)가 음원 데이터를 입력 받도록 컴퓨터 시스템(100)을 제어하기 위해 동작하는 기능적 표현으로서 음원 입력 제어부(210)가 사용될 수 있다. 프로세서(110) 및 프로세서(110)의 구성요소들은 도 3의 플레이리스트 생성 방법이 포함하는 단계들(S310 내지 S350)을 수행할 수 있다. 예를 들어, 프로세서(110) 및 프로세서(110)의 구성요소들은 메모리(120)가 포함하는 운영체제의 코드와 상술한 적어도 하나의 프로그램 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서 적어도 하나의 프로그램 코드는 상기 플레이리스트 생성 방법을 처리하기 위해 구현된 프로그램의 코드에 대응될 수 있다.2, the
플레이리스트 생성 방법은 도시된 순서대로 발생하지 않을 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.The method of generating a playlist may not occur in the order shown, and some of the steps may be omitted or an additional process may be further included.
단계(S310)에서 프로세서(110)는 플레이리스트 생성 방법을 위한 프로그램 파일에 저장된 프로그램 코드를 메모리(120)에 로딩할 수 있다. 예를 들어, 플레이리스트 생성 방법을 위한 프로그램 파일은 도 1을 통해 설명한 영구 저장 장치(130)에 저장되어 있을 수 있고, 프로세서(110)는 버스를 통해 영구 저장 장치(130)에 저장된 프로그램 파일로부터 프로그램 코드가 메모리(120)에 로딩되도록 컴퓨터 시스템(110)을 제어할 수 있다.In step S310, the
이때, 프로세서(110) 및 프로세서(110)가 포함하는 음원 입력 제어부(210), 음원 전처리부(220), 고유 특징 처리부(230), 및 플레이리스트 생성부(240) 각각은 메모리(120)에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(S320 내지 S350)을 실행하기 위한 프로세서(110)의 서로 다른 기능적 표현들일 수 있다. 단계들(S320 내지 S350)의 실행을 위해, 프로세서(110) 및 프로세서(110)의 구성요소들은 직접 제어 명령에 따른 연산을 처리하거나 또는 컴퓨터 시스템(100)을 제어할 수 있다.At this time, each of the sound source
단계(S320)에서 음원 입력 제어부(210)는 음원 컨텐츠에 대하여 음원 컨텐츠의 음원 데이터를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있다. 이때, 음원 컨텐츠는 오디오 파일 포맷을 가진 모든 디지털 데이터를 의미할 수 있으며, 예를 들어 MP3(MPEG Audio Layer-3), WAVE(Waveform Audio Format), FLAC(Free Lossless Audio Codec) 등을 포함할 수 있다. 그리고, 음원 입력 제어부(210)는 음원 컨텐츠와 관련된 텍스트 정보를 입력받도록 컴퓨터 시스템(100)을 제어할 수 있다. 음원 컨텐츠와 관련된 텍스트 정보는 가사를 포함하거나, 혹은 가수, 장르, 제목, 앨범명 등과 같은 메타 정보, 그리고 음원 컨텐츠의 분류나 검색 등과 관련하여 입력된 해시 태그(hashtag), 쿼리(query) 등의 정보를 포함할 수 있다. 음원 데이터와 텍스트 정보는 입출력 인터페이스(150) 또는 네트워크 인터페이스(160)를 통해 컴퓨터 시스템(100)으로 입력 또는 수신되어 메모리(120)나 영구 저장 장치(130)에 저장 및 관리될 수 있다.In step S320, the sound source
단계(S330)에서 음원 전처리부(220)는 단계(S320)에서 입력받은 음원 데이터를 학습 데이터 형태로 처리할 수 있다. 이때, 음원 전처리부(220)는 전처리를 통해 음원 데이터를 시간-주파수로 표현할 수 있다. 예를 들어 음원 전처리부(220)는 음원 데이터를 멜-스펙트로그램(Mel-spectrogram)이나 MFCC(Mel Frequency Cepstral Coefficient)와 같은 시간-주파수-크기 형태의 데이터로 변환할 수 있다. 그리고, 음원 전처리부(220)는 음원 컨텐츠에 대해 텍스트 정보를 함께 입력 받은 경우 텍스트 정보를 전처리 할 수 있다. 일례로, 음원 전처리부(220)는 형태소 분석기, 색인어 추출기 등 언어 전처리기를 이용하여 입력된 텍스트 정보로부터 무의미한 텍스트들을 필터링할 수 있다. 다시 말해, 음원 전처리부(220)는 텍스트 정보에 포함된 조사, 조용사 등 불필요한 품사의 단어나 특수 기호(!, ?, / 등, 예컨대) 등을 제거하고 체언이나 어근에 해당되는 단어를 추출할 수 있다.In step S330, the sound
단계(S340)에서 고유 특징 처리부(230)는 음원 데이터에 대해 전처리된 학습 데이터를 학습 모델을 통해 학습하여 고유 특징을 생성한 후 생성된 고유 특징을 데이터베이스(미도시)에 저장할 수 있다. 고유 특징 처리부(230)는 딥 러닝을 이용하여 음원 데이터 자체의 고유한 음향 특징(acoustic features)을 생성할 수 있다. 일례로, 고유 특징 처리부(230)는 CNN(Convolutional Neural Network) 기반의 학습 모델을 이용할 수 있다. 고유 특징 처리부(230)는 CNN 학습 모델을 이용하여 음원 데이터를 다차원 실수 벡터로 표현할 수 있다. CNN 학습 모델은 음원 데이터 학습 계층을 포함할 수 있으며, 아래 과정 1 내지 3은 음원 데이터 학습 계층에서 음원 데이터에 대응하는 실수 벡터를 생성하는 과정의 예일 수 있다.In step S340, the intrinsic
과정 1에서 음원 컨텐츠가 포함하는 음원 데이터(일례로, mp3 파일)는 전처리를 통해 멜-스펙트로그램이나 MFCC와 같은 시간-주파수-크기 형태의 데이터로 변환될 수 있다. 예를 들어, 음원 전처리부(220)는 음원 입력 제어부(210)에 의해 입력되는 음원 데이터를 시간-주파수로 표현할 수 있다.In step 1, the sound source data (for example, an mp3 file) included in the sound source content can be converted into data of a time-frequency-size type such as a mel-spectrogram or MFCC through preprocessing. For example, the sound
과정 2에서 변환된 음원 데이터로부터 한 개 이상의 짧은 시간 구간 동안(1초 내지 10초)의 복수 개의 주파수 프레임들이 샘플링 되어 음원 데이터의 학습 모델에 대한 입력 데이터로서 사용될 수 있다. 예를 들어, 고유 특징 처리부(230)는 복수 개의 프레임들을 샘플링 하여 음원 데이터 학습 계층에서 음원 모델의 예시로 제시되는 CNN 모델의 입력으로서 활용할 수 있다. 그러므로, 음원 데이터의 학습을 위한 CNN 모델은 샘플링 된 프레임들의 수와 동일한 수의 채널을 갖는 모델이 될 수 있다. 혹은, 생성된 프레임 각각을 단일 채널로 사용하고 각 프레임에 대하여 고유의 콘벌루션/풀링 과정을 거친 후 생성된 프레임 별 특징벡터들을 접합하여 완전 연결층의 입력으로 사용 가능하다.A plurality of frequency frames for one or more short time intervals (1 second to 10 seconds) may be sampled from the sound source data converted in step 2 and used as input data for the learning model of the sound source data. For example, the
과정 3에서는 음원 데이터 학습 계층이 포함할 수 있는 복수 개의 콘벌루션(convolution) 및 풀링(pooling) 계층을 반복적으로 구성함으로써 음원 프레임으로부터 추상화된 특징(feature)을 생성할 수 있다. 콘벌루션에서 패치의 크기는 다양하게 구성될 수 있으며 풀링도 최대값(max)을 이용한 풀링 기법, 평균값(average)을 이용한 풀링 기법 및 상기 두 풀링 기법을 접합한 하이브리드 풀링 기법 등 여러 풀링 기법들 중 적어도 하나가 사용될 수 있다.In step 3, a plurality of convolution and pooling layers, which may be included in the sound source data learning layer, are repeatedly generated, thereby generating abstract features from sound source frames. The size of the patches in the convolution can be variously configured, and the pooling method using the pooling maximum value (max), the pooling method using the average value (average), and the hybrid pooling method combining the two pooling methods At least one can be used.
복수 개의 콘벌루션 및 풀링 계층 위에는 음향 특징을 생성하기 위한 완전 연결(fully-connected) 계층이 있으며 각 계층별 함수는 시그모이드(sigmoid) 함수, 하이퍼볼릭 탄젠트(Hyperbolic Tangent: tanh) 함수, ReLU(Rectified Linear Unit) 함수 등 다양한 함수가 사용될 수 있다. 결국, 음원 데이터에 대해 하나의 다차원 실수 벡터가 생성될 수 있다. 예를 들어, 주어진 첫 번째 음원 데이터 m0은 음원 학습 모델의 출력 계층에서 x0={0.2, -0.1, 0.3, …}의 형태와 같이 하나의 다차원 실수 벡터로 표현될 수 있다. 차원의 수는 0보다 큰 정수이며 경험적으로 통상 50 이상 500 이하의 값을 가질 수 있다. 이러한 과정 3은 앞서 설명한 고유 특징 처리부(230)에 의해 처리될 수 있다.There are fully-connected layers for creating acoustic features on the plurality of convolution and pooling layers, and each layer function includes a sigmoid function, a hyperbolic tangent (tanh) function, a ReLU Rectified Linear Unit) function can be used. As a result, one multi-dimensional real vector can be generated for the sound source data. For example, given the first source data m0, x0 = {0.2, -0.1, 0.3, ... } Can be represented by one multidimensional real number vector. The number of dimensions is an integer greater than 0 and can have a value of typically not less than 50 and not more than 500 empirically. This process 3 can be processed by the
그리고, 고유 특징 처리부(230)는 음원 컨텐츠에 대해 텍스트 정보를 함께 입력 받은 경우 텍스트 정보 또한 다차원 실수 벡터로 표현할 수 있다. 일례로, 고유 특징 처리부(230)는 텍스트 정보에 대한 전처리를 통해 필터링 된 텍스트들을 사전에 학습된 학습 모델을 이용하여 워드 벡터(word vector)로 생성할 수 있다. 예를 들어, 워드 벡터는 수치형(numerical) 다차원 벡터 형태로 표현될 수 있다. 워드 벡터 생성을 위하여 단어 출현 빈도 히스토그램, TF(term frequency)/IDF(inverse document frequency), 언어 학습 모델(예컨대, word2vec, phrase2vec, document2vec 등) 등이 사용될 수 있다. 예를 들어, "이승환 좋은날 발라드 1992" 등과 같이 가수/장르/제목/년도는 하나의 n차원 실수 벡터 v={0.3, -1.2, 1.2, …}와 같이 표현 가능하다. 또한, 언어 학습 모델을 위한 텍스트 정보 필드(가수, 장르, 제목, 년도 등)의 순서는 고정되지 않고 목적에 맞게 변경이 가능하다.If the
상기한 고유 특징 처리부(230)는 음원 컨텐츠에 대해 음원 데이터에 대한 특징 벡터와 텍스트 정보에 대한 워드 벡터를 데이터베이스에 저장 및 유지할 수 있다. 음원 데이터에 대한 특징 벡터와 텍스트 정보에 대한 워드 벡터는 각각 개별 데이터베이스로 구축되거나, 혹은 하나의 데이터베이스로 구축될 수 있다. 이러한 데이터베이스는 컴퓨터 시스템(100)에 포함된 구성 요소로 구현되거나, 혹은 컴퓨터 시스템(100)과 연동 가능한 별개의 시스템 상에 구축된 외부 데이터베이스로서 존재하는 것 또한 가능하다.The
단계(S350)에서 플레이리스트 생성부(240)는 음원 컨텐츠에 대하여 데이터베이스에 저장된 음원 데이터에 대한 고유 특징을 이용하여 음원 간의 유사도를 산출할 수 있고, 음원 간의 유사도를 바탕으로 음원 컨텐츠에 대한 플레이리스트를 자동으로 생성할 수 있다. 일례로, 플레이리스트 생성부(240)는 음원 데이터에 대한 특징 벡터를 이용하여 음원 간 유사도를 산출할 수 있고, 다른 예로 음원 데이터에 대한 특징 벡터와 함께 텍스트 정보에 대한 워드 벡터를 복합적으로 이용하여 음원 간 유사도를 산출할 수 있다. 이때, 플레이리스트 생성부(240)는 사용자가 특정 곡을 선택하면 해당 곡을 시드 곡으로 하여 시드 곡과 유사한 곡들의 체인(chain) 형태로 플레이리스트를 무한히 생성할 수 있다. 그리고, 플레이리스트 생성부(240)는 음원 컨텐츠에 대한 사용자 최근 로그 이력을 기반으로 사용자가 선호하는 곡들로 플레이리스트를 생성할 수 있고, 특정 가수가 입력으로 주어지면 해당 가수와 유사한 가수들의 곡들로 플레이리스트를 생성하는 것 또한 가능하다.In step S350, the play
따라서, 본 발명은 음원 및 음원의 메타 정보와 같은 텍스트 정보를 학습한 모델을 이용하여 곡 간의 유사성을 기반으로 유사한 곡들로 플레이리스트를 자동 생성할 수 있다.Accordingly, the present invention can automatically generate playlists of similar songs based on the similarity between songs using a model in which text information such as sound sources and meta information of sound sources are learned.
도 4는 본 발명의 일 실시예에 따른 플레이리스트 자동 생성 과정의 예를 도시한 도면이다. 도 4의 단계들(S401 내지 S407)은 도 3의 단계(S350)에 포함되어 수행될 수 있다.4 is a diagram illustrating an example of a process of automatically generating a playlist according to an embodiment of the present invention. Steps S401 to S407 of FIG. 4 may be performed in step S350 of FIG.
단계(S401)에서 플레이리스트 생성부(240)는 시드 곡이 선정되면 데이터베이스에 저장된 음원 별 고유 특징을 이용하여 시드 곡과 다른 곡 간의 유사도를 산출할 수 있다. 일례로, 사용자가 특정 곡을 선택하여 재생하는 경우 해당 곡을 시드 곡으로 선정할 수 있다. 다른 예로, 음원 컨텐츠에 대한 사용자 최근 로그 이력을 기반으로 사용자가 선호하는 곡을 시드 곡으로 선정할 수 있다. 예컨대, 시드 곡을 m0이라고 할 때, 프로세서(110)는 시드 곡 m0이 데이터베이스 상에 없는 신곡인 경우 CNN 모델을 이용하여 시드 곡 m0을 음원 자체의 고유 특징을 나타내는 d차원 실수 벡터인 x0으로 변환하고, 시드 곡 m0이 신곡이 아닌 경우 데이터베이스로부터 시드 곡 m0에 해당하는 d차원 실수 벡터를 조회하여 이를 x0으로 정의한다. 음원 특징 벡터는 곡 간의 유사도를 산출하는데 이용될 수 있으며, 다른 예로 각 곡의 메타 정보와 같은 텍스트 정보를 벡터 형태로 표현한 텍스트 특징 벡터 v도 음원 특징 벡터와 함께 곡 간의 유사도를 산출하기 위해 사용될 수 있다. 플레이리스트 생성부(240)는 데이터베이스에 저장된 곡들의 음원 특징 벡터와 시드 곡 m0의 음원 특징 벡터 x0 간의 유사도를 계산할 수 있다. 일례로, 유사도는 벡터 간 거리를 산출하는 코사인 거리(cosine distance)가 이용될 수 있다. 두 벡터 a, b 사이의 코사인 거리(CD)는 수학식 1과 같이 정의될 수 있다. 즉, 벡터 간 거리가 작을수록 곡의 유사도가 높고 벡터 간 거리가 클수록 곡의 유사도가 낮은 것으로 판단할 수 있다.In step S401, when the seed song is selected, the play
코사인 거리 이외에도 유클리드 거리, 해밍 거리 등 다양한 방법을 사용하여 곡 간 유사도를 산출할 수 있다. 이때, 음원 특징 벡터와 텍스트 특징 벡터는 접합되어 계산될 수도 있고, 각각 벡터 간 거리를 산출한 후 가중치 합으로 표현될 수도 있다.In addition to the cosine distance, the similarity between songs can be calculated using various methods such as Euclidean distance and Hamming distance. At this time, the sound source feature vector and the text feature vector may be jointly calculated or may be expressed as a sum of weights after calculating distances between vectors.
단계(S402)에서 플레이리스트 생성부(240)는 데이터베이스 상에 고유 특징이 저장된 곡 중 시드 곡 m0과의 유사도가 높은 복수 개의 곡을 선택하여 별도의 후보 집합 M*을 생성할 수 있다. 일례로, 플레이리스트 생성부(240)는 시드 곡 m0의 가수가 부른 다른 곡 중 유사도가 일정 값 이상인 곡을 선별하거나, 혹은 유사도가 높은 순으로 일정 개수의 곡을 선별하여 후보 집합 M*을 생성할 수 있다. 다른 예로, 플레이리스트 생성부(240)는 곡 간의 텍스트 특징 벡터 거리가 일정 값 이하인 곡들에 대해서만 데이터베이스를 조회하여 후보 집합 M*을 생성할 수도 있다.In step S402, the play
단계(S403)에서 플레이리스트 생성부(240)는 데이터베이스 상에 고유 특징이 저장된 곡 간의 유사도를 바탕으로 현재 재생 곡과의 유사도가 높은 곡을 다음 재생 후보 곡으로 선택할 수 있다. 현재 재생되는 곡을 mt라 할 때, 데이터베이스 상의 곡들에 대해 유사도가 높은 곡을 다음 차례 재생할 곡인 mt+1로 선택할 수 있다. 이때, 플레이리스트 생성부(240)는 현재 재생 곡 mt와 유사도가 가장 큰 곡, 혹은 유사도를 기준으로 선정된 복수 개의 곡 중 무작위로 선정된 곡을 다음 재생 후보 곡 mt+1로 결정할 수 있다. 그리고, 이미 재생된 곡은 다음 재생 후보 곡의 선정 대상에서 제외될 수 있다.In step S403, the play
단계(S404)에서 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡에 대해 시드 곡 또는 이전 재생 곡 중 적어도 하나의 기준 곡과의 유사도를 산출하여 사전에 정의된 임계값(threshold)과 비교할 수 있다. 이때, 임계값은 플레이리스트의 다양성을 유지하면서 시드 곡이나 기준 곡과 너무 다른 곡이 재생되는 것을 방지하기 위한 역할을 한다. 다시 말해, 본 발명은 다음 재생 후보 곡 선정에 있어 임계값을 통해 시드 곡이나 기준 곡과의 유사성을 지속적으로 체크하는 로직을 포함할 수 있다. 예를 들어, 임계값은 전체 곡들 간의 임계값 분포에서 임의로 선택 가능하며 통상 0.2~0.3 이내로 설정될 수 있다. 임계값을 이용하여 플레이리스트의 다양성과 유사성 간의 균형을 유지하거나 비중을 조절할 수 있다. 그리고, 기준 곡은 최초로 재생된 곡이거나 최초 재생 곡 이후 일정 범위 내에서(예컨대, 5번째 이내로, 1시간 이내로) 재생된 이력이 있는 곡 등일 수 있다.In step S404, the
단계(S405, S406)에서 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡이 시드 곡 또는 기준 곡과의 유사도가 임계값 이상으로 높은 경우(즉, 벡터 간 거리가 임계 거리보다 작은 경우) 단계(S403)에서 선택된 후보 곡을 최종 다음 재생 곡으로 결정하여 현재 재생 곡 이후 재생할 수 있다.In steps S405 and S406, if the similarity degree between the candidate song selected in step S403 and the seed song or the reference song is higher than the threshold value (i.e., the inter-vector distance is smaller than the critical distance in steps S405 and S406) , The candidate song selected in step S403 may be determined as the final next playable song and played back after the current playable song.
단계(S405, S407)에서 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡이 시드 곡 또는 기준 곡과의 유사도가 임계값 미만으로 낮은 경우(즉, 벡터 간 거리가 임계 거리보다 큰 경우) 단계(S402)에서 생성된 후보 집합 M*에 포함된 곡 중 어느 한 곡을 최종 다음 재생 곡으로 선택하여 현재 재생 곡 이후 재생할 수 있다. 예를 들어, 플레이리스트 생성부(240)는 단계(S403)에서 선택된 후보 곡이 시드 곡이나 기준 곡과 유사도가 임계값 미만으로 떨어지면 시드 곡과 유사한 곡의 집합인 후보 집합 M*에서 임의의 한 곡을 선택하여 재생할 수 있다.In steps S405 and S407, if the similarity degree between the candidate song selected in step S403 and the seed song or the reference song is lower than the threshold value (i.e., the inter-vector distance is larger than the critical distance in steps S405 and S407) It is possible to select any one piece of the songs included in the candidate set M * generated in the step S402 as the final next piece of music to reproduce after the current piece of music. For example, if the candidate song selected in step S403 is less than the threshold value of the seed song or the reference song, the play
플레이리스트 생성부(240)는 상기한 과정에서 단계(S403~S407)를 반복 수행하고, 이를 통해 곡 간 유사성을 기반으로 체인 형태의 플레이리스트를 무한히 생성할 수 있다. 따라서, 본 발명은 곡 간 유사성을 기반으로 확률적으로 다음 연속 재생될 곡을 선택함으로써 플레이리스트의 다양성을 확보할 수 있고, 이와 동시에 다음 재생 곡 선택 시 시드 곡(또는 기준 곡)과의 유사도가 일정 값 이하로 낮아질 때는 시드 곡(또는 기준 곡)과의 유사도 순위가 높은 곡으로 대체하여 플레이리스트의 유사성을 지속시킬 수 있다.The
이처럼 본 발명의 실시예들에 따르면, 딥 러닝(deep learning)을 이용하여 음원 자체의 고유 값을 학습을 위한 인자(factor)로 사용함으로써 곡 간의 유사성을 더욱 정확히 산출할 수 있다. 더욱이, 본 발명의 실시예들에 따르면, 음원의 특징뿐 아니라 음원의 메타 정보를 부가적 정보로 사용하여 곡 간의 유사성을 산출할 수 있고 메타 정보를 필터 형태로 사용함으로써 곡 간 유사성 계산속도를 획기적으로 개선 가능하며, 또한 시드(seed) 곡과의 유사성을 지속적으로 체크하는 로직을 적용함으로써 플레이리스트의 다양성을 유지하면서 이와 동시에 시드 곡과 너무 다른 곡이 포함되는 것을 방지할 수 있다.As described above, according to the embodiments of the present invention, by using deep learning, eigenvalues of the sound source itself can be used as a factor for learning, so that the similarity between songs can be more accurately calculated. Furthermore, according to the embodiments of the present invention, it is possible to calculate the similarity between songs by using the meta information of the sound source as additional information as well as the characteristics of the sound source, and by using the meta information in the form of a filter, And by applying the logic to continuously check the similarity with the seed song, it is possible to maintain the diversity of the play list while at the same time preventing the inclusion of the seed song and other songs.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (3)
음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징(acoustic features)을 생성하는 단계; 및
상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트(playlist)를 생성하는 단계
를 포함하고,
상기 플레이리스트를 생성하는 단계는,
상기 음원 컨텐츠 간의 유사도를 바탕으로 현재 재생 곡과 유사한 다음 재생 곡을 선정하여 플레이리스트를 생성하되 다음 재생 곡의 선정 시 시드(seed) 곡과의 유사도를 체크함으로써 상기 시드 곡과 유사한 음원 컨텐츠로 체인 형태의 플레이리스트를 생성하는 것
을 특징으로 하는 플레이리스트 생성 방법.A method of generating playlists performed in a computer system,
Generating unique acoustic features of the sound source from the sound source data of the sound source content for each sound source content; And
Generating a playlist based on the similarity between the sound source contents by calculating a similarity degree between the sound source contents using the acoustic feature;
Lt; / RTI >
Wherein the generating the playlist comprises:
A play list similar to a current play song is selected based on the similarity between the sound source contents to generate a play list, and a similarity with a seed song is checked when a next play song is selected, Creating a playlist of the form
And generating a play list.
음원 컨텐츠 각각에 대하여 상기 음원 컨텐츠의 음원 데이터로부터 해당 음원의 고유한 음향 특징을 생성하는 고유 특징 처리부; 및
상기 음향 특징을 이용하여 상기 음원 컨텐츠 간의 유사도를 산출하여 상기 음원 컨텐츠 간의 유사도를 바탕으로 플레이리스트를 생성하는 플레이리스트 생성부
를 포함하고,
상기 플레이리스트 생성부는,
상기 음원 컨텐츠 간의 유사도를 바탕으로 현재 재생 곡과 유사한 다음 재생 곡을 선정하여 플레이리스트를 생성하되 다음 재생 곡의 선정 시 시드 곡과의 유사도를 체크함으로써 상기 시드 곡과 유사한 음원 컨텐츠로 체인 형태의 플레이리스트를 생성하는 것
을 특징으로 하는 플레이리스트 생성 시스템.A computer-implemented playlist generation system comprising:
An intrinsic feature processor for generating an intrinsic acoustic feature of the corresponding sound source from the sound source data of the sound source content for each sound source content; And
And generating a play list based on the similarity between the sound source contents by calculating a similarity degree between the sound source contents using the acoustic feature,
Lt; / RTI >
Wherein the playlist generating unit comprises:
A play list similar to the current play song is selected based on the similarity between the sound source contents to generate a play list, and a similarity to the seed song is checked when a next play song is selected, Creating lists
Wherein the playlist generation system comprises:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190007510A KR102031282B1 (en) | 2019-01-21 | 2019-01-21 | Method and system for generating playlist using sound source content and meta information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190007510A KR102031282B1 (en) | 2019-01-21 | 2019-01-21 | Method and system for generating playlist using sound source content and meta information |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160067984A Division KR101942459B1 (en) | 2016-06-01 | 2016-06-01 | Method and system for generating playlist using sound source content and meta information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190009821A true KR20190009821A (en) | 2019-01-29 |
KR102031282B1 KR102031282B1 (en) | 2019-10-11 |
Family
ID=65323275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190007510A KR102031282B1 (en) | 2019-01-21 | 2019-01-21 | Method and system for generating playlist using sound source content and meta information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102031282B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102476120B1 (en) * | 2022-07-12 | 2022-12-09 | 뉴튠(주) | Music analysis method and apparatus for cross-comparing music properties using artificial neural network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171096A (en) * | 2002-11-18 | 2004-06-17 | Pioneer Electronic Corp | Musical piece searching method, musical piece searching device, and musical piece searching program |
JP2005077865A (en) * | 2003-09-02 | 2005-03-24 | Sony Corp | Music retrieval system and method, information processor and method, program, and recording medium |
KR20100058302A (en) * | 2008-11-24 | 2010-06-03 | 삼성전자주식회사 | Method and apparatus for playing back a content using metadata |
KR101203091B1 (en) * | 2004-11-16 | 2012-11-20 | 소니 주식회사 | Musical content reproduction apparatus, method thereof, and recording apparatus of musical contents and attribute information |
JP5344715B2 (en) * | 2008-11-07 | 2013-11-20 | 国立大学法人北海道大学 | Content search apparatus and content search program |
-
2019
- 2019-01-21 KR KR1020190007510A patent/KR102031282B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171096A (en) * | 2002-11-18 | 2004-06-17 | Pioneer Electronic Corp | Musical piece searching method, musical piece searching device, and musical piece searching program |
JP2005077865A (en) * | 2003-09-02 | 2005-03-24 | Sony Corp | Music retrieval system and method, information processor and method, program, and recording medium |
KR101203091B1 (en) * | 2004-11-16 | 2012-11-20 | 소니 주식회사 | Musical content reproduction apparatus, method thereof, and recording apparatus of musical contents and attribute information |
JP5344715B2 (en) * | 2008-11-07 | 2013-11-20 | 国立大学法人北海道大学 | Content search apparatus and content search program |
KR20100058302A (en) * | 2008-11-24 | 2010-06-03 | 삼성전자주식회사 | Method and apparatus for playing back a content using metadata |
Also Published As
Publication number | Publication date |
---|---|
KR102031282B1 (en) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461388B2 (en) | Generating a playlist | |
KR101942459B1 (en) | Method and system for generating playlist using sound source content and meta information | |
Kaminskas et al. | Location-aware music recommendation using auto-tagging and hybrid matching | |
US8321414B2 (en) | Hybrid audio-visual categorization system and method | |
US20070106405A1 (en) | Method and system to provide reference data for identification of digital content | |
EP3508986A1 (en) | Music cover identification for search, compliance, and licensing | |
US9576050B1 (en) | Generating a playlist based on input acoustic information | |
US7777121B2 (en) | Information processing apparatus, information processing method, and computer program | |
US11636835B2 (en) | Spoken words analyzer | |
US20100217755A1 (en) | Classifying a set of content items | |
WO2022005442A1 (en) | System (embodiments) for harmoniously combining video files and audio files and corresponding method | |
KR102031282B1 (en) | Method and system for generating playlist using sound source content and meta information | |
KR101801250B1 (en) | Method and system for automatically tagging themes suited for songs | |
Borjian | Query-by-example music information retrieval by score-based genre prediction and similarity measure | |
US11823671B1 (en) | Architecture for context-augmented word embedding | |
US10489450B1 (en) | Selecting soundtracks | |
Doğan et al. | A flexible and scalable audio information retrieval system for mixed‐type audio signals | |
KR20070048484A (en) | Apparatus and method for classification of signal features of music files, and apparatus and method for automatic-making playing list using the same | |
KR102476120B1 (en) | Music analysis method and apparatus for cross-comparing music properties using artificial neural network | |
CN118093792B (en) | Method, device, computer equipment and storage medium for searching object | |
TWI808038B (en) | Media file selection method and service system and computer program product | |
Wani et al. | Music Suggestion Via Sentimental Analysis of User-Inputted Texts | |
JP7061679B2 (en) | A method and system for predicting the playing length of a song based on the composition of the playlist | |
Tang et al. | Construction of Music Classification and Detection Model Based on Big Data Analysis and Genetic Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |