KR20170141164A - Method and electronic apparatus for providing music information - Google Patents

Method and electronic apparatus for providing music information Download PDF

Info

Publication number
KR20170141164A
KR20170141164A KR1020170168397A KR20170168397A KR20170141164A KR 20170141164 A KR20170141164 A KR 20170141164A KR 1020170168397 A KR1020170168397 A KR 1020170168397A KR 20170168397 A KR20170168397 A KR 20170168397A KR 20170141164 A KR20170141164 A KR 20170141164A
Authority
KR
South Korea
Prior art keywords
score
electronic device
user
note
pitch
Prior art date
Application number
KR1020170168397A
Other languages
Korean (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 KR20170141164A publication Critical patent/KR20170141164A/en

Links

Images

Classifications

    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • H04N5/2257
    • H04W4/008
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

Disclosed is a method for providing music information which comprises the steps of: receiving a music signal from a user; generating a continuous melody line corresponding to the music signal by using pitch frequencies detected in the music signal; converting the continuous melody line into a discrete melody line based on at least one of a standard note length and a standard note height; and correcting the discrete melody line by using statistical information related to melody progress.

Description

음악 정보 제공 방법 및 이를 위한 전자 기기{METHOD AND ELECTRONIC APPARATUS FOR PROVIDING MUSIC INFORMATION}TECHNICAL FIELD [0001] The present invention relates to a music information providing method,

사용자로부터 입력된 음악 신호에 대응하는 음악 정보를 제공하는 음악 정보 제공 방법 및 이를 위한 전자 기기에 관한 것이다. A music information providing method for providing music information corresponding to a music signal input from a user, and an electronic apparatus therefor.

모바일 단말은 다양한 기능을 수행할 수 있도록 구성될 수 있다. 그러한 다양한 기능들의 예로 데이터 및 음성 통신 기능, 카메라를 통해 사진이나 동영상을 촬영하는 기능, 음성 저장 기능, 스피커 시스템을 통한 음악 파일의 재생 기능, 이미지나 비디오의 디스플레이 기능 등이 있다. The mobile terminal may be configured to perform various functions. Examples of such various functions include a data and voice communication function, a function of photographing a video or a moving image through a camera, a voice storage function, a music file playback function through a speaker system, and an image or video display function.

일부 모바일 단말은 게임을 실행할 수 있는 추가적 기능을 포함하고, 다른 일부 모바일 단말은 멀티미디어 기기로서 구현되기도 한다. 또한, 모바일 단말은 악기를 연주하는 기능을 제공하기도 한다.Some mobile terminals include additional functions to execute games, and some other mobile terminals are also implemented as multimedia devices. The mobile terminal also provides a function of playing the musical instrument.

일 실시예에 의하면, 사용자로부터 입력된 음악 신호를 분석하여, 사용자의 의도에 맞는 음악 정보를 제공하는 방법 및 이를 위한 전자 기기가 제공될 수 있다. According to an embodiment of the present invention, a method of analyzing a music signal input from a user and providing music information corresponding to a user's intention and an electronic apparatus for the method can be provided.

일 실시예에 따르는 음악 정보 제공 방법은, 사용자로부터 음악 신호를 입력 받는 단계; 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하는 단계; 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 단계; 및 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정하는 단계를 포함할 수 있다. According to an embodiment of the present invention, there is provided a music information providing method including: receiving a music signal from a user; Generating a continuous melody line corresponding to the music signal using pitch frequencies detected in the music signal; Converting a continuous melody line into a discrete melody line based on at least one of a standard tone length and a standard tone height; And correcting discrete melody lines using statistical information on the melody progression.

일 실시예에 따르는 음악 정보 제공 방법은, 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공하는 단계를 더 포함할 수 있다.The music information providing method according to an embodiment may further include providing music information corresponding to the corrected discrete melody line.

일 실시예에 따르는 사용자로부터 음악 신호를 입력 받는 단계는, 사용자로부터 발화되는 허밍 신호를 수신하는 단계를 포함할 수 있다. The step of receiving a music signal from a user according to an embodiment may include receiving a humming signal that is emitted from a user.

일 실시예에 따르는 사용자로부터 음악 신호를 입력 받는 단계는, 사용자로부터 연속적인 멜로디 라인을 그리는 입력을 수신하는 단계를 포함할 수 있다. The step of receiving a music signal from a user according to an embodiment may include receiving an input that draws a continuous melody line from a user.

일 실시예에 따르는 연속적인 멜로디 라인을 생성하는 단계는, 생성된 연속적인 멜로디 라인을 화면에 표시하는 단계를 더 포함할 수 있다. The step of generating a continuous melody line according to an embodiment may further include displaying the generated continuous melody line on the screen.

일 실시예에 따르는 연속적인 멜로디 라인을 생성하는 단계는, 원본의 음악 신호를 언더 샘플링하는 단계; 언더 샘플링된 음악 신호를 주파수 신호로 변환하는 단계; 주파수 신호를 분석하여, 각각의 프레임에 대응하는 후보 피치 주파수 영역을 검출하는 단계; 및 원본의 음악 신호를 이용하여, 상기 후보 피치 주파수 영역 중에서 상기 각각의 프레임에 대응하는 피치 주파수를 결정하는 단계를 포함할 수 있다. The step of generating a continuous melody line according to an embodiment includes: undersampling the original music signal; Converting the undersampled music signal into a frequency signal; Analyzing the frequency signal to detect a candidate pitch frequency region corresponding to each frame; And determining a pitch frequency corresponding to each of the frames in the candidate pitch frequency region using the original music signal.

일 실시예에 따르는 연속적인 멜로디 라인을 생성하는 단계는, 이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정하는 단계를 포함할 수 있다. The step of generating a continuous melody line according to an embodiment may include determining the pitch frequency of the current frame, taking into account information about the pitch frequency of the previous frame.

일 실시예에 따르는 이산적인 멜로디 라인을 보정하는 단계는, 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정하는 단계를 포함할 수 있다. The step of correcting the discrete melody line according to an embodiment includes the step of correcting the length or height of the notes included in the discrete melody line, taking into account information about the genre or musician selected by the user can do.

일 실시예에 따르는 이산적인 멜로디 라인을 보정하는 단계는, 사용자로부터 입력된 기준음에 기초하여, 이산적인 멜로디 라인을 보정하는 단계를 포함할 수 있다. Correcting the discrete melody line according to one embodiment may include correcting the discrete melody line based on the reference tone input from the user.

일 실시예에 따르는 음악 정보를 제공하는 단계는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시하는 단계; 및 악보에 따라, 음악을 재생하는 단계를 포함할 수 있다. The step of providing music information according to an embodiment includes: displaying a score corresponding to a corrected discrete melody line; And playing music according to the score.

일 실시예에 따르는 음악 정보를 제공하는 단계는, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수 있다. The step of providing music information according to an embodiment may provide an accompaniment corresponding to a corrected discrete melody line based on at least one of the type, intensity, change, and tone of the uttered voice from the user.

일 실시예에 따르는 음악 정보를 제공하는 단계는, 음악가를 선택하는 입력을 수신하는 단계; 및 선택된 음악가의 특성 정보에 대응하는 반주를 제공하는 단계를 포함할 수 있다. The step of providing music information according to an embodiment includes: receiving an input for selecting an artist; And providing an accompaniment corresponding to characteristic information of the selected musicians.

일 실시예에 따르는 전자 기기는, 사용자로부터 음악 신호를 입력 받는 사용자 입력부; 및 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하고, 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정하는 제어부를 포함할 수 있다. According to an embodiment of the present invention, there is provided an electronic apparatus including: a user input unit receiving a music signal from a user; And generating a continuous melody line corresponding to the music signal using the pitch frequencies detected in the music signal and converting the continuous melody line into a discrete melody line based on at least one of a standard tone length and a standard tone height And a control unit for correcting discrete melody lines using statistical information on the melody progression.

도 1은 일 실시예에 따르는 음악 정보 제공 시스템을 설명하기 위한 도면이다.
도 2는 일 실시예에 따르는 전자 기기의 음악 정보 제공 방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따르는 전자 기기가 사용자로부터 허밍 입력을 수신하는 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따르는 전자 기기가 사용자로부터 멜로디 라인을 그리는 입력을 수신하는 동작을 설명하기 위한 순서도이다.
도 5는 일 실시예에 따르는 피치 주파수를 결정하는 방법을 설명하기 위한 순서도이다.
도 6은 일 실시예에 따르는 언더 샘플링을 설명하기 위한 도면이다.
도 7은 일 실시예에 따르는 후보 피치 주파수 영역을 설명하기 위한 도면이다.
도 8은 일 실시예에 따르는 과거 프레임의 피치 주파수를 고려하여, 현재 프레임의 피치 주파수를 결정하는 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따르는 전자 기기가 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 동작을 설명하기 위한 도면이다.
도 10은 일 실시예에 따르는 음 높이와 피치 주파수의 상관 관계를 나타내는 테이블이다.
도 11은 일 실시예에 따르는 장르 또는 음악가에 따라 이산적인 멜로디 라인을 보정하는 방법을 설명하기 위한 순서도이다.
도 12A 내지 12 C는 이산적인 멜로디 라인의 음 길이를 보정하기 위한 통계 테이블들을 나타내는 도면이다.
도 13은 이산적인 멜로디 라인의 음 높이를 보정하기 위한 테이블을 나타내는 도면이다.
도 14는 일 실시예에 따르는 전자 기기가 이산적인 멜로디 라인을 보정하는 동작을 설명하기 위한 도면이다.
도 15는 일 실시예에 따르는 기준음에 기초하여, 이산적인 멜로디 라인을 보정하는 방법을 설명하기 위한 순서도이다.
도 16은 일 실시예에 따르는 코드 생성 방법을 설명하기 위한 순서도이다.
도 17은 Chord Transition Matrix 및 Chord Observation Matrix를 설명하기 위한 도면이다.
도 18은 일 실시예에 따르는 선택된 음악가의 특성 정보에 따라 반주를 제공하는 방법을 설명하기 위한 순서도이다.
도 19는 일 실시예에 따르는 전자 기기가 음악가 선택 창을 제공하는 동작을 설명하기 위한 도면이다.
도 20은 일 실시예에 따르는 음악가에 대응하는 반주 특성 정보를 설명하기 위한 도면이다.
도 21은 일 실시예에 따르는 발화 음성에 따라 반주를 생성하는 방법을 설명하기 위한 순서도이다.
도 22는 일 실시예에 따르는 발화 음성의 종류에 따른 반주 특성 정보를 설명하기 위한 도면이다.
도 23은 일 실시예에 따르는 이산적인 멜로디 라인에 대응하는 악보를 수정하기 위한 GUI의 예시를 나타내는 도면이다.
도 24 및 도 25는 일 실시예에 따르는 전자 기기의 구성을 설명하기 위한 블록 구성도이다.
1 is a diagram for explaining a music information providing system according to an embodiment.
2 is a flowchart for explaining a music information providing method of an electronic device according to an embodiment.
3 is a diagram for explaining an operation in which an electronic device according to an embodiment receives a humming input from a user.
4 is a flow diagram illustrating an operation in which an electronic device according to an embodiment receives an input drawing a melody line from a user.
5 is a flowchart illustrating a method of determining a pitch frequency according to an embodiment.
6 is a diagram for explaining undersampling according to an embodiment.
7 is a diagram for explaining a candidate pitch frequency region according to an embodiment.
8 is a flowchart for explaining a method of determining a pitch frequency of a current frame in consideration of a pitch frequency of a past frame according to an embodiment.
9 is a diagram for explaining an operation in which an electronic device according to an embodiment converts a continuous melody line into a discrete melody line.
10 is a table showing a correlation between the pitch height and the pitch frequency according to an embodiment.
11 is a flowchart for explaining a method of correcting a discrete melody line according to a genre or a musician according to an embodiment.
12A to 12C are diagrams showing statistical tables for correcting the sound length of a discrete melody line.
13 is a diagram showing a table for correcting pitches of discrete melody lines.
14 is a diagram for explaining an operation in which an electronic device according to an embodiment corrects discrete melody lines.
15 is a flowchart for explaining a method of correcting a discrete melody line based on a reference tone according to an embodiment.
16 is a flowchart for explaining a code generating method according to an embodiment.
17 is a diagram for explaining the Chord Transition Matrix and Chord Observation Matrix.
FIG. 18 is a flowchart illustrating a method of providing accompaniment according to characteristic information of a selected musician according to an embodiment.
19 is a diagram for explaining an operation in which an electronic device according to an embodiment provides a musician selection window.
20 is a diagram for explaining accompaniment characteristic information corresponding to a musician according to an embodiment.
21 is a flowchart illustrating a method of generating an accompaniment in accordance with a utterance voice according to an embodiment.
FIG. 22 is a diagram for explaining accompaniment characteristic information according to the type of utterance voice according to an embodiment.
23 is an illustration of an example of a GUI for modifying a score corresponding to discrete melody lines according to an embodiment.
24 and 25 are block diagrams for explaining a configuration of an electronic apparatus according to an embodiment.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. The terms used in this specification will be briefly described and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments. Also, in certain cases, there may be a term selected arbitrarily by the applicant, in which case the meaning thereof will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term, not on the name of a simple term, but on the entire contents of the present invention.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When an element is referred to as "including" an element throughout the specification, it is to be understood that the element may include other elements as well, without departing from the spirit or scope of the present invention. Also, the terms "part," " module, "and the like described in the specification mean units for processing at least one function or operation, which may be implemented in hardware or software or a combination of hardware and software .

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

도 1은 일 실시예에 따르는 음악 정보 제공 시스템을 설명하기 위한 도면이다.1 is a diagram for explaining a music information providing system according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 음악 정보 제공 시스템은 전자 기기(100)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 음악 정보 제공 시스템이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 음악 정보 제공 시스템이 구현될 수 있다. 예를 들어, 음악 정보 제공 시스템은 전자 기기(100) 및 서버를 포함할 수도 있다. Referring to FIG. 1, a music information providing system according to an embodiment may include an electronic device 100. However, not all illustrated components are required. The music information providing system may be implemented by a larger number of components than the illustrated components, or a music information providing system may be implemented by a smaller number of components. For example, the music information providing system may include an electronic device 100 and a server.

일 실시예에 의하면, 전자 기기(100)는 사용자로부터 입력된 멜로디 라인에 대응하는 음악 정보를 제공하는 기기일 수 있다. 예를 들어, 전자 기기(100)는, 사용자로부터 발화되는 허밍(예컨대, nanana...)을 감지하고, 허밍에 대응하는 악보 또는 연주를 제공해 주는 기기일 수 있다. According to one embodiment, the electronic device 100 may be a device that provides music information corresponding to a melody line input from a user. For example, the electronic device 100 may be a device that senses a humming (e.g., nanana ...) that is uttered by a user, and provides music or performance corresponding to humming.

본 명세서에서, 멜로디는, 음악에서 일정 높이(pitch)와 일정 길이(duration)를 가지는 음을 나열한 것일 수 있다. 또한, 멜로디 라인은, 사용자가 발화한 소리의 기본주파수(fundamental frequency)의 연속적인 나열을 의미할 수 있으며, 선이나 점 등으로 표현될 수 있다. 멜로디 라인은, 하나 이상의 연속되는 음표(예컨대, 이산적인 멜로디 라인)로 변환되기 위한 기반이 되는 정보일 수 있다. 멜로디 라인은, 하나일 수도 있고, 복수 개일 수도 있다. In the present specification, the melody may be a list of notes having a certain pitch and a certain duration in music. In addition, the melody line may be a continuous list of fundamental frequencies of a sound uttered by a user, and may be represented by a line or a point. The melody line may be the underlying information to be converted into one or more consecutive notes (e.g., a discrete melody line). The melody line may be one or plural.

또한, 일 실시예에 의하면, 전자 기기(100)는 사용자로부터 입력된 멜로디 라인에 대응하는 음악 정보(예컨대, 악보, 코드, 코드 진행, 반주, 음색, 악기 편성, 스타일, 장르, BPM, 조성, 박자, 리듬 등)를 메모리에 저장하거나, 서버에 업로드할 수 있다. 예를 들어, 전자 기기(100)는, 네트워크를 통해 음악 정보를 클라우드 서버에 전송할 수 있다. 여기서, 네트워크는, Wi-Fi(Wireless Fidelity), 홈RF, 블루투스, HR WPAN, UWB, LR WPAN, IEEE 1394 등과 같은 무선 통신 기술 또는 이동 통신 기술로 구현될 수 있으나, 이에 한정되는 것은 아니다. In addition, according to an embodiment, the electronic device 100 may include music information corresponding to a melody line input from a user (for example, a score, a code, a chord progression, accompaniment, tone color, musical instrument organization, style, genre, Rhythm, etc.) can be stored in memory or uploaded to the server. For example, the electronic device 100 can transmit music information to the cloud server through a network. Here, the network may be implemented by wireless communication technology such as Wi-Fi (Wireless Fidelity), home RF, Bluetooth, HR WPAN, UWB, LR WPAN, IEEE 1394, or the like, but is not limited thereto.

일 실시예에 따른 전자 기기(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 전자 기기(100)는, 스마트 폰(smart phone), 디지털 카메라, 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등이 있을 수 있으나, 이에 한정되는 것은 아니다. 본 명세서에서 기술되는 전자 기기(100)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 하지만, 이하에서는, 설명의 편의상 전자 기기(100)가 모바일 단말인 경우를 예로 들어 설명하기로 한다. The electronic device 100 according to one embodiment may be implemented in various forms. For example, the electronic device 100 may be a smart phone, a digital camera, a laptop computer, a tablet PC, an electronic book terminal, a digital broadcast terminal, a PDA (personal digital assistant), a portable multimedia Player, navigation, MP3 player, and the like. The electronic device 100 described herein may be a wearable device that can be worn by a user. A wearable device may be an accessory-type device (e.g., a watch, a ring, a bracelet, an ankle, a necklace, a glasses, a contact lens), a head-mounted-device (HMD), a fabric or a garment- But is not limited to, at least one of a body-insertable device (e.g., a body-insertable device), a body-attachment device (e.g., a skin pad), or a bio-implantable device (e.g., implantable circuit). However, for convenience of description, the case where the electronic device 100 is a mobile terminal will be described below as an example.

한편, 이하에서는, 도 2를 참조하여, 사용자로부터 입력된 멜로디 라인을 사용자의 의도에 맞게 보정함으로써, 전자 기기(100)가 사용자의 작곡 등에 도움이 되는 음악 정보를 제공하는 방법에 대해서 자세히 살펴보기로 한다. Hereinafter, referring to FIG. 2, a detailed description will be given of a method in which the electronic device 100 provides music information that is useful for composition of a user by correcting the melody line input from the user according to the intention of the user .

도 2는 일 실시예에 따르는 전자 기기의 음악 정보 제공 방법을 설명하기 위한 순서도이다. 2 is a flowchart for explaining a music information providing method of an electronic device according to an embodiment.

단계 S210에서, 전자 기기(100)는, 사용자로부터 음악 신호를 입력 받을 수 있다. 사용자로부터 입력되는 음악 신호는, 사용자의 머리 속에 떠오르는 악상 또는 멜로디 라인에 관한 것일 수 있다. In step S210, the electronic device 100 can receive a music signal from the user. The music signal input from the user may be related to a musical image or melody line floating in the head of the user.

일 실시예에 의하면, 전자 기기(100)는 사용자의 음성 입력을 통해 음악 신호를 입력 받을 수 있다. 예를 들어, 전자 기기(100)는, 사용자로부터 발화되는 허밍 신호를 마이크로폰을 통해 감지할 수 있다. 또한, 전자 기기(100)는, 사용자로부터 발화되는 계이름(예컨대, 도레미파솔라...)을 감지할 수도 있다. 허밍 신호는 사용자로부터 발화되는 허밍 음성일 수 있다.According to one embodiment, the electronic device 100 can receive a music signal through a user's voice input. For example, the electronic device 100 can sense a humming signal that is emitted from a user through a microphone. Also, the electronic device 100 may detect a command (e.g., command command) issued by the user. The humming signal may be a humming voice that is emitted from the user.

한편, 전자 기기(100)는 사용자의 터치 입력 또는 모션 입력을 통해 음악 신호를 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 사용자로부터 멜로디 라인을 그리는 터치 입력 또는 모션 입력을 수신할 수 있다.On the other hand, the electronic device 100 may receive a music signal through a touch input of a user or a motion input. For example, the electronic device 100 may receive a touch input or a motion input that draws a melody line from a user.

사용자가 음악 신호를 입력하는 방법에 대해서는 도 3 및 도 4를 참조하여, 후에 좀 더 자세히 살펴보기로 한다. A method of inputting a music signal by a user will be described later in more detail with reference to FIGS. 3 and 4. FIG.

단계 S220에서, 전자 기기(100)는, 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성할 수 있다. In step S220, the electronic device 100 may generate a continuous melody line corresponding to the music signal, using the pitch frequencies detected in the music signal.

피치 주파수는 사용자가 발화한 소리의 기본 주파수(fundamental frequency)를 의미할 수 있다. 따라서, 이하에서는 설명의 편의상 피치 주파수가 기본 주파수로 표현될 수도 있다. The pitch frequency may refer to the fundamental frequency of the sound uttered by the user. Therefore, in the following, the pitch frequency may be expressed as a fundamental frequency for convenience of explanation.

일 실시예에 의하면, 연속적인 멜로디 라인은, 사용자가 발화한 소리의 기본 주파수를 연속적으로 나열한 것을 의미할 수 있다. 연속적인 멜로디 라인은 선, 점의 집합, 또는 숫자들로 표현될 수 있으나, 이에 한정되는 것은 아니다. According to one embodiment, a continuous melody line may mean that the fundamental frequencies of the sounds uttered by the user are continuously arranged. A continuous melody line may be represented by a line, a set of points, or numbers, but is not limited thereto.

일 실시예에 의하면, 전자 기기(100)는, 마이크로폰으로부터 샘플링되어 입력된 음악 신호(예컨대, PCM data)를 언더 샘플링하고, 언더 샘플링된 음악 신호를 빠르게 스캔하여, 후보 피치 주파수 영역을 검출할 수 있다. 그리고 전자 기기(100)는, 언더 샘플링 되기 전의 음악 신호에서, 후보 피치 주파수 영역을 자세히 스캔하여, 피치 주파수를 검출할 수 있다. According to an exemplary embodiment, the electronic device 100 may be capable of undersampling a music signal (e.g., PCM data) sampled and input from a microphone, rapidly scans an undersampled music signal, and detects a candidate pitch frequency region have. Then, the electronic device 100 can scan the candidate pitch frequency region in the music signal before undersampling and detect the pitch frequency.

본 명세서에서, 언더 샘플링한다는 것은, 샘플링 레이트(sampling rate)를 낮추는 것 또는 프레임 당 샘플 수를 줄이는 것을 의미할 수 있다. 샘플링 레이트(sampling rate)는 샘플링의 정교함에 대한 주파수(Frequency)를 의미하며, 초당 샘플을 수치로 표현한 것이다.In this specification, undersampling may mean lowering the sampling rate or reducing the number of samples per frame. The sampling rate is the frequency for the sophistication of the sampling and is a numerical representation of the samples per second.

예를 들어, 전자 기기(100)는, 시간 영역(time domain)의 음악 신호를 언더 샘플링하고, 고속 푸리에 변환(FFT, fast Fourier transform) 등을 이용하여, 언더 샘플링된 시간 영역의 음악 신호를 주파수 신호로 변환할 수 있다. 언더 샘플링된 시간 영역의 음악 신호를 주파수 신호로 변환할 경우, 처리 속도는 빨리지나, 주파수 분해능(frequency resolution)이 낮아지므로, 주파수 영역(frequency domain)에서는 정확한 피치 주파수를 검출하기 어렵다. 따라서, 전자 기기(100)는, 주파수 영역에서 후보 피치 주파수 영역(range)을 검출하게 된다. 이때, 후보 피치 주파수 영역은 후보 피치 주파수(f0) ± 주파수 분해능(frequency resolution)일 수 있으나, 이에 한정되는 것은 아니다. 한편, 일 실시예에 의하면, 후보 피치 주파수는 프레임 당 하나일 수도 있고, 복수 개일 수도 있다. For example, the electronic device 100 undersamples a music signal in a time domain and performs a frequency-domain analysis on a music signal in an undersampled time domain using a fast Fourier transform (FFT) Signal. When the undersampled time-domain music signal is converted into a frequency signal, the processing speed is fast and the frequency resolution is low. Therefore, it is difficult to detect an accurate pitch frequency in the frequency domain. Therefore, the electronic device 100 detects the candidate pitch frequency range in the frequency domain. In this case, the candidate pitch frequency region may be a candidate pitch frequency (f 0 ) ± frequency resolution, but is not limited thereto. Meanwhile, according to one embodiment, the candidate pitch frequency may be one per frame or plural.

전자 기기(100)는, 주파수 영역에서 검출된 후보 피치 주파수 영역에 대응하는 주기(T) 구간(range)에서의 자기 상관 계수들을 언더 샘플링되기 전의 음악 신호를 이용하여 산출할 수 있다. 그리고 전자 기기(100)는 가장 큰 자기 상관 계수를 갖는 주기(T)에 대응하는 주파수(f=1/T)를 피치 주파수로 검출할 수 있다. The electronic apparatus 100 may calculate autocorrelation coefficients in a period T range corresponding to the candidate pitch frequency region detected in the frequency domain using the music signal before undersampling. Then, the electronic device 100 can detect the frequency (f = 1 / T) corresponding to the cycle T having the largest autocorrelation coefficient as the pitch frequency.

전자 기기(100)는, 언더 샘플링되기 전의 시간 영역에서의 음악 신호를 이용하여, 후보 피치 주파수 영역에 대응하는 일정 범위에서 자기 상관 계수를 구하게 되므로, 빠르고 정확하게 피치 주파수를 검출할 수 있다. 전자 기기(100)가 시간 영역의 신호와 주파수 영역의 신호를 이용하여, 각각의 프레임에 대응하는 피치 주파수를 결정하는 동작에 대해서는 도 5를 참조하여 후에 좀 더 자세히 살펴보기로 한다.The electronic device 100 can obtain the autocorrelation coefficient in a certain range corresponding to the candidate pitch frequency domain using the music signal in the time domain before undersampling so that the pitch frequency can be detected quickly and accurately. The operation of the electronic device 100 using the signals in the time domain and the frequency domain to determine the pitch frequency corresponding to each frame will be described in more detail with reference to FIG.

일 실시예에 의하면, 전자 기기(100)는, FFT를 수행하지 않고, 시간 영역의 음악 신호만을 이용하여, 피치 주파수를 검출할 수도 있다. 예를 들어, 전자 기기(100)는, 시간 영역(time domain)의 음악 신호를 언더 샘플링하고, 언더 샘플링된 시간 영역의 음악 신호에서 자기 상관 계수를 구함으로써, 후보 피치 영역을 검출할 수 있다. 예를 들어, T=3.3ms에서 자기 상관 계수가 가장 큰 경우, 후보 피치 영역은 '3.3ms ± 0.18 (즉, 3.12ms ~ 3.48ms)'일 수 있다. According to the embodiment, the electronic device 100 may detect the pitch frequency using only the music signal in the time domain without performing the FFT. For example, the electronic device 100 can detect a candidate pitch region by undersampling a music signal in a time domain and obtaining an autocorrelation coefficient in a music signal in an undersampled time domain. For example, if the autocorrelation coefficient is the largest at T = 3.3 ms, the candidate pitch region may be 3.3 ms ± 0.18 (ie, 3.12 ms to 3.48 ms).

전자 기기(100)는, 언더 샘플링되기 전의 음악 신호를 이용하여 후보 피치 영역(예컨대, 3.13ms ~ 3.48ms)에서의 자기 상관 계수들을 다시 산출할 수 있다. 그리고 전자 기기(100)는 가장 큰 자기 상관 계수를 갖는 주기(T)(예컨대, 3.33ms)를 검출할 수 있다. 이때, 전자 기기(100)는, 검출된 주기(T)(예컨대, 3.33ms)에 대응하는 주파수(예컨대, 300.3 Hz)를 피치 주파수로 결정할 수 있다.The electronic device 100 can again calculate the autocorrelation coefficients in the candidate pitch region (e.g., 3.13 ms to 3.48 ms) using the music signal before undersampling. And the electronic device 100 can detect the period T (e.g., 3.33 ms) having the largest autocorrelation coefficient. At this time, the electronic device 100 can determine the frequency (e.g., 300.3 Hz) corresponding to the detected period T (e.g., 3.33 ms) as the pitch frequency.

일 실시예에 의하면, 전자 기기(100)는, 이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정할 수도 있다. 예를 들어, 이전 프레임의 피치 주파수(f0)가 300Hz인 경우, 전자 기기(100)는 현재 프레임의 피치 주파수를 검출하기 위해, 300 Hz 주변(예컨대, 300 ± 16 Hz)을 우선 스캔해 볼 수 있다. 전자 기기(100)가 이전 프레임의 피치 주파수에 관한 정보를 우선적으로 고려하여, 현재 프레임의 피치 주파수를 결정하는 동작에 대해서는 도 8을 참조하여, 후에 좀 더 자세히 살펴보기로 한다. According to one embodiment, the electronic device 100 may determine the pitch frequency of the current frame, taking into account information about the pitch frequency of the previous frame. For example, if the pitch frequency f 0 of the previous frame is 300 Hz, then the electronic device 100 first scans around 300 Hz (e.g., 300 +/- 16 Hz) to detect the pitch frequency of the current frame . The operation of the electronic device 100 considering the pitch frequency of the previous frame with priority and determining the pitch frequency of the current frame will be described later in more detail with reference to FIG.

일 실시예에 의하면, 전자 기기(100)는, 각각의 프레임에서 검출된 피치 주파수들을 연결하여, 사용자로부터 입력된 음악 신호(예컨대, 허밍 신호)에 대응하는 연속적인 멜로디 라인을 생성할 수 있다. According to one embodiment, the electronic device 100 may connect the detected pitch frequencies in each frame to produce a continuous melody line corresponding to the music signal (e.g., a humming signal) input from the user.

단계 S230에서, 전자 기기(100)는, 표준 음 길이(standard duration) 및 표준 음 높이(standard pitch) 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환할 수 있다. In step S230, the electronic device 100 may convert a continuous melody line to a discrete melody line, based on at least one of a standard duration and a standard pitch.

이산적인 멜로디 라인은, 연속적인 멜로디 라인을 음악적 표기법에 맞게 피치 주파수를 음계로 정규화하고, 음 길이를 음표의 길이로 정규화하여 표현한 것을 의미할 수 있다. A discrete melody line may mean that a continuous melody line is normalized to a pitch frequency in accordance with the musical notation and is expressed by normalizing the note length to the length of a note.

일 실시예에 의하면, 표준 음 길이는 일반적인 음표(예컨대, 온음표, 2분 음표, 4분 음표, 8분 음표, 16분 음표, 32분 음표 등)의 길이일 수 있다. 또한, 표준 음 높이는 음계에 속한 음 높이를 의미할 수 있으며, 예를 들어, 12 음계 또는 60음계를 이용하여 표현한 음 높이를 포함할 수 있으나, 이에 한정되는 것은 아니다. According to one embodiment, the standard tone length may be the length of a general note (e.g., a full note, a half note, a quarter note, an eighth note, a sixteenth note, a half note, etc.). In addition, the standard tone height may mean a tone height belonging to a scale, for example, a tone scale expressed using a twelve scale or sixty scale, but is not limited thereto.

일 실시예에 의하면, 전자 기기(100)는, 12음계에 따라 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환할 수 있다. 예를 들어, 연속적인 멜로디 라인의 제 1 구간의 피치 주파수들이 '160Hz 에서 170 Hz 사이의 값'을 가지는 경우, 제 1 구간의 음 높이를 '미(E3)(f0= 164.81 Hz)'로 결정할 수 있다. 또한, 제 1 구간의 길이가 4분 음표의 음 길이에 가까운 경우, 전자 기기(100)는, 제 1 구간의 길이를 4분 음표의 길이로 결정할 수 있다. According to one embodiment, the electronic device 100 can convert a continuous melody line to a discrete melody line according to a twelve scale. For example, if the pitch frequencies of the first section of successive melody lines have a value of '160 Hz to 170 Hz', the pitch height of the first section is set to 'E3 (f 0 = 164.81 Hz)' You can decide. Further, when the length of the first section is close to the length of the quarter note, the electronic device 100 can determine the length of the first section as the length of the quarter note.

일반적으로 사용자가 허밍을 통해 음악 신호를 입력하는 경우, 사용자가 의도한 박자보다 빨라지거나 느려질 수 있으며, 사용자가 의도한 음보다 실제 발성한 음의 높이가 떨어지거나, 발성한 음이 떨리는 등의 문제들이 발생할 수 있다. 하지만, 일 실시예에 따른 전자 기기(100)는 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환함으로써, 상기 문제들을 보완할 수 있다. 전자 기기(100)가 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 동작에 대하여는 도 9를 참조하여, 후에 좀 더 자세히 살펴보기로 한다. Generally, when a user inputs a music signal through humming, the user may be faster or slower than the intended beat, and a problem that the sound height of the actual utterance is lower than the intended tone of the user, Can occur. However, the electronic device 100 according to an embodiment can compensate for the above problems by converting a continuous melody line into a discrete melody line, based on at least one of a standard tone length and a standard tone height. The operation of the electronic device 100 to convert a continuous melody line to a discrete melody line will be described in more detail below with reference to FIG.

단계 S240에서, 전자 기기(100)는 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. In step S240, the electronic device 100 can correct the discrete melody line using the statistical information on the melody progress.

멜로디 진행에 관한 통계 정보는, 복수의 곡 (예컨대, 기성 곡 또는 사용자에 의해 선택된 곡)을 분석한 결과 획득되는 멜로디 진행 경향에 관한 통계 또는 확률에 관한 정보일 수 있다. 예를 들어, 멜로디 진행에 관한 통계 정보는, 음 길이 진행 순서의 경향(예컨대, 제 1 음표 다음에 제 2 음표가 올 확률), 음 길이 사용 경향(예컨대, 음표 사용 횟수에 관한 수치), 음 높이 진행 경향(예컨대, 제 1 표준 음 다음에 제 2 표준음이 올 확률) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. The statistical information on the melody progression may be information on a statistic or probability related to the melody progress tendency obtained as a result of analyzing a plurality of songs (for example, a preset song or a song selected by the user). For example, the statistical information on the melody progression may include a tendency of the sound length proceeding order (for example, a probability that the second note comes after the first note), a tendency to use a sound length (for example, (E.g., a probability that the second standard sound comes after the first standard sound), and the like. However, the present invention is not limited thereto.

또한, 예를 들어, 전자 기기(100)는 음 높이 진행 경향을 고려하여, 이산적인 멜로디 라인 내의 음의 높이를 보정할 수 있다. 예를 들어, 이산적인 멜로디 라인 내에서 G(솔) 이후 G#(솔#)이 나왔으나, 확률적으로 G(솔) 이후 A(라)의 발생 확률이 높을 경우에는, 전자 기기(100)는 현재 음의 전후의 음 높이 및 이산적으로 변환되기 전의 연속된 멜로디 라인 정보 등을 고려하여, G#(솔#)을 A(라)로 변경할 수 있다. Also, for example, the electronic device 100 can correct the pitch of the sound in the discrete melody line, taking into account the tendency of the pitch to progress. For example, if G (Sol #) comes after G (Sol) in a discrete melody line but probability of occurrence of A (D) after probability G (Sol) is high, G # (Sol #) can be changed to A (D) in consideration of the sound height before and after the current sound and the continuous melody line information before the discrete conversion.

한편, 멜로디 진행에 관한 통계 정보는, 음악의 장르나, 음악가의 특성에 따라 달라질 수 있다. 예를 들어, 음악의 장르가 다른 경우, 통계를 산출하는데 기초가 되는 곡들이 달라지므로, 멜로디 진행에 관한 통계 정보가 바뀔 수 있다. On the other hand, the statistical information about the progress of the melody can be changed according to the genre of the music or the characteristics of the musician. For example, if the genres of the music are different, the statistical information about the progress of the melody may change, since the songs that are the basis for calculating the statistics are different.

따라서, 일 실시예에 의하면, 전자 기기(100)는, 사용자가 특정 장르 또는 특정 음악가를 선택하는 경우, 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정할 수 있다. 예를 들어, 전자 기기(100)는 선택된 장르에 관련된 음계 또는 선택된 음악가의 음악적인 성향을 반영하여, 이산적인 멜로디 라인에 포함된 음을 보정할 수 있다. 예를 들어, 사용자가 국악을 선택한 경우, 전자 기기(100)는 이산적인 멜로디 라인을 5음계의 멜로디 라인으로 변환할 수 있다. 또한, 예를 들어, 사용자가 홀톤 스케일(whole tone scale)을 선택한 경우, 전자 기기(100)는 이산적인 멜로디 라인을 홀톤 스케일에 적합한 6음계의 멜로디 라인으로 변환할 수 있다. 또한, 예를 들어, 사용자가 비틀즈 뮤지션을 선택한 경우, 이산적인 멜로디 라인을 비틀즈의 음악들에서 자주 등장하는 멜로디 라인으로 보정할 수 있다. 전자 기기(100)가 사용자에 의해 선택된 장르 또는 음악가(musician)에 따라 이산적인 멜로디 라인을 보정하는 동작에 대해서는 도 12A 내지 도 12C를 참조하여, 후에 좀 더 자세히 살펴보기로 한다. Thus, according to one embodiment, when the user selects a specific genre or a specific musician, the electronic device 100 may include information on a genre or a musician selected by the user and may be included in a discrete melody line It is possible to correct the length or height of the sound. For example, the electronic device 100 may correct the sound included in the discrete melody line by reflecting the musical tendency of the musical scale or the musical scale associated with the selected genre. For example, when the user selects the traditional music, the electronic device 100 can convert the discrete melody line into the melody line of the five notes. In addition, for example, when the user selects a whole tone scale, the electronic device 100 can convert discrete melody lines into six-tone melody lines suitable for a halftone scale. Also, for example, if the user selects a Beatles musician, the discrete melody line can be corrected to a melody line that often appears in the Beatles music. The operation of the electronic device 100 to correct discrete melody lines according to the genre or musician selected by the user will be described in more detail below with reference to FIGS. 12A to 12C.

일 실시예에 의하면, 전자 기기(100)는, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환할 때, 멜로디 진행에 관한 통계 정보를 반영하여, 이산적인 멜로디 라인을 보정해 줌으로써, 사용자의 의도에 맞는 멜로디 라인을 제공할 수 있다. 또한, 전자 기기(100)는, 특정 장르에 맞게 이산적인 멜로디 라인을 보정해 줌으로써, 사용자가 특정 장르의 반주를 선택하는 경우, 반주와 멜로디 라인이 어울리지 않는 현상이 발생하는 것을 줄일 수 있다. According to one embodiment, when converting a continuous melody line into a discrete melody line, the electronic device 100 corrects the discrete melody line by reflecting statistical information about the melody progression, It is possible to provide a proper melody line. In addition, the electronic device 100 can correct a discrete melody line according to a specific genre, thereby reducing occurrence of a phenomenon in which the accompaniment and the melody line do not match when the user selects the accompaniment of a specific genre.

단계 S250에서, 전자 기기(100)는, 상기 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공할 수 있다. In step S250, the electronic device 100 may provide music information corresponding to the corrected discrete melody line.

일 실시예에 의하면, 음악 정보는, 악보, 코드, 코드 진행, 음색, 악기 편성, 스타일, 장르, BPM, 조성, 박자 및 리듬 중 적어도 하나에 관한 정보를 포함할 수 있으며, 악보나 코드 진행 등에 관한 해설을 포함할 수도 있으나, 이에 한정되는 것은 아니다. According to one embodiment, the music information may include information regarding at least one of a score, a code, a code progress, a tone, an instrument composition, a style, a genre, a BPM, composition, a beat and a rhythm, , But is not limited thereto.

일 실시예에 의하면, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 화면에 표시할 수 있다. 또한, 전자 기기(100)는, 악보에 따라, 음악을 재생할 수도 있다. According to one embodiment, the electronic device 100 can display a score corresponding to the corrected discrete melody line on the screen. Also, the electronic device 100 may reproduce music according to the score.

한편, 일 실시예에 의하면, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수도 있다. 예를 들어, 전자 기기(100)는, 반주 장르, 멜로디 음색, 반주 악기 편성, 및 BPM(beats per minute) 중 적어도 하나를 결정하여, 보정된 이산적인 멜로디 라인에 맞는 반주를 제공할 수 있다. On the other hand, according to one embodiment, the electronic device 100 may provide an accompaniment corresponding to a corrected discrete melody line. For example, the electronic device 100 may determine at least one of a accompaniment genre, a melody tone, an accompaniment instrumentation, and a beats per minute (BPM) to provide an accompaniment that corresponds to a corrected discrete melody line.

일 실시예에 의하면, 전자 기기(100)는, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수도 있다. 예를 들어, 전자 기기(100)는, 사용자로부터 발화된 음성의 종류가 '나나나..'인 경우와 '빰빰빰..'인 경우에 다른 반주를 제공할 수 있다. 전자 기기(100)가, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공하는 동작에 대해서는 도 21을 참조하여 후에 좀 더 자세히 살펴보기로 한다. According to one embodiment, the electronic device 100 may provide an accompaniment corresponding to a corrected discrete melody line, based on at least one of the type, intensity, change, and tone of the uttered voice from the user. For example, the electronic device 100 can provide different accompaniment when the type of voice uttered by the user is 'bananas ..' and 'bambus ..'. The operation of the electronic device 100 to provide an accompaniment corresponding to the corrected discrete melody line based on at least one of the type, intensity, change, and tone of the uttered voice from the user will be described later with reference to Fig. 21 Let's take a closer look.

또한, 일 실시예에 의하면, 사용자가 특정 음악가를 선택하는 경우, 전자 기기(100)는, 선택된 특정 음악가의 스타일에 따른 반주를 제공할 수 있다. 예를 들어, 전자 기기(100)는, 선택된 특정 음악가의 특성 정보를 확인하고, 선택된 특정 음악가의 특성 정보에 맞는 반주를 반주 데이터베이스에서 검색할 수 있다. 전자 기기(100)가 특정 음악가의 특성 정보에 대응하는 반주를 제공하는 동작에 대해서는 도 18을 참조하여 후에 좀 더 자세히 살펴보기로 한다. In addition, according to one embodiment, when the user selects a specific musician, the electronic device 100 can provide accompaniment according to the style of the selected specific musician. For example, the electronic device 100 can check the characteristic information of the selected specific musician and search for the accompaniment database in accordance with the characteristic information of the selected specific musician. The operation in which the electronic device 100 provides an accompaniment corresponding to characteristic information of a specific musician will be described later in more detail with reference to FIG.

한편, 전자 기기(100)는 보정된 이산적인 멜로디 라인에 대응하는 악보를 수정하기 위한 GUI를 화면에 표시할 수 있다. 이 경우, 전자 기기(100)는 표시된 GUI를 통한 사용자 입력에 기초하여, 악보를 수정할 수 있다. 예를 들어, 전자 기기(100)는, 음표(음 높이, 음 길이, 음 위치), BPM, 조성, 박자, 음자리표(clef), 코드(chord) 등을 수정할 수 있으나, 이에 한정되지 않는다. 악보를 수정하기 위할 GUI에 대하여는 도 23에서 보다 상세히 설명하기로 한다.On the other hand, the electronic device 100 can display a GUI for correcting the score corresponding to the corrected discrete melody line on the screen. In this case, the electronic device 100 can correct the score based on the user input through the displayed GUI. For example, the electronic device 100 may modify, but not limited to, notes (pitch, pitch, pitch), BPM, composition, beat, clef, chord, The GUI for correcting the score will be described in more detail with reference to FIG.

이하에서는, 도 3 및 4를 참조하여, 전자 기기(100)가 사용자로부터 음악 신호를 수신하는 방식에 대해서 자세히 살펴보기로 한다. Hereinafter, the manner in which the electronic device 100 receives the music signal from the user will be described in detail with reference to FIGS. 3 and 4. FIG.

도 3은 일 실시예에 따르는 전자 기기가 사용자로부터 허밍 입력을 수신하는 동작을 설명하기 위한 도면이다.3 is a diagram for explaining an operation in which an electronic device according to an embodiment receives a humming input from a user.

도 3을 참조하면, 사용자는 악상이 떠오르는 경우, 떠오르는 악상을 음성(예컨대, 허밍)으로 발화할 수 있다. 이때, 전자 기기(100)는 마이크로폰을 통해 사용자로부터 발화되는 허밍 신호(300)를 수신할 수 있다. Referring to FIG. 3, when a user comes up with a bad feeling, the user can utter a rising voice (e.g., humming). At this time, the electronic device 100 can receive the humming signal 300 that is ignited by the user through the microphone.

전자 기기(100)는, 수신되는 허밍 신호(300)를 실시간으로 분석하여, 피치 주파수들을 검출할 수 있다. 그리고 전자 기기(100)는, 피치 주파수들을 연결한 연속적인 멜로디 라인(310)을 실시간으로 화면에 표시할 수 있다. 여기서, 실시간으로 표시한다는 것은, 프레임 단위로 데이터를 처리하여, 처리가 완료된 프레임에 관한 정보를 처리 완료 시 바로 표시하는 것을 의미할 수 있다. The electronic device 100 can analyze the received humming signal 300 in real time to detect pitch frequencies. The electronic device 100 may display a continuous melody line 310 connecting the pitch frequencies in real time on the screen. Here, displaying in real time may mean processing the data on a frame-by-frame basis and immediately displaying information on the frame in which processing is completed upon completion of processing.

이때, 사용자는 화면에 표시되는 연속적인 멜로디 라인(310)을 확인함으로써, 자신이 떠올린 악상대로 허밍하고 있는 것인지 판단할 수 있다. At this time, the user can confirm whether or not the user is humming as evil evoked by checking the continuous melody line 310 displayed on the screen.

한편, 일 실시예에 의하면, 전자 기기(100)는, 녹음 버튼(320)을 제공할 수도 있다. 사용자가 녹음 버튼(320)을 선택하는 경우, 전자 기기(100)는 마이크로폰을 통해 입력되는 허밍 신호(300)를 저장하고, 허밍 신호(300)에 대응하는 악보를 화면에 표시할 수 있다. 예를 들어, 전자 기기(100)는, 12음계에 따라 연속적인 멜로디 라인(310)을 이산적인 멜로디 라인으로 변환하고, 이산적인 멜로디 라인을 멜로디 진행에 관한 통계 정보를 이용하여 보정함으로써, 허밍 신호(300)에 대응하는 악보를 생성할 수 있다. According to one embodiment, on the other hand, the electronic device 100 may provide a record button 320. When the user selects the record button 320, the electronic device 100 can store the humming signal 300 input through the microphone and display the score corresponding to the humming signal 300 on the screen. For example, the electronic device 100 converts a continuous melody line 310 into a discrete melody line according to a twelve scale, and corrects the discrete melody line using statistical information on the melody progression, The music score corresponding to the music score 300 can be generated.

도 4는 일 실시예에 따르는 전자 기기가 사용자로부터 멜로디 라인을 그리는 입력을 수신하는 동작을 설명하기 위한 순서도이다. 4 is a flow diagram illustrating an operation in which an electronic device according to an embodiment receives an input drawing a melody line from a user.

도 4를 참조하면, 사용자는 악상이 떠오르는 경우, 전자 기기(100)에 떠오르는 악상을 선으로 표현할 수 있다. 이때, 전자 기기(100)는, 터치스크린을 통해 연속적인 멜로디 라인을 그리는 터치 입력(400)을 감지할 수 있다. Referring to FIG. 4, when a user comes up with an image, the user can express an image that appears on the electronic device 100 as a line. At this time, the electronic device 100 can sense the touch input 400 that draws a continuous melody line through the touch screen.

명세서 전체에서 "터치 입력"이란 사용자가 전자 기기(100)를 제어하기 위해 터치 스크린에 행하는 제스처 등을 의미한다. 예를 들어, 본 명세서에서 기술되는 터치 입력에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭 등이 있을 수 있다.Throughout the specification, "touch input" means a gesture or the like performed by the user on the touch screen to control the electronic device 100. [ For example, the touch input described herein may include a tap, a touch & hold, a double tap, a drag, a panning, a flick, a drag and drop,

전자 기기(100)는, 12음계에 따라 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 이산적인 멜로디 라인을 멜로디 진행에 관한 통계 정보를 이용하여 보정함으로써, 터치 입력(400)에 대응하는 악보를 생성할 수 있다.The electronic device 100 converts the continuous melody lines into discrete melody lines in accordance with the twelfth scale and corrects the discrete melody lines using statistical information regarding melody progression so that the musical score corresponding to the touch input 400 Lt; / RTI >

또한, 도 4에 도시되지는 않았지만, 전자 기기(100)는 이미지 센서 또는 깊이 센서를 이용하여 사용자가 공중에서 연속적인 멜로디 라인을 그리는 모션 입력을 감지할 수도 있다. 4, the electronic device 100 may also use an image sensor or a depth sensor to sense a motion input in which the user draws a continuous melody line in the air.

예를 들어, 이미지 센서는 입력 도구의 움직임을 측정함으로써, 연속적인 멜로디 라인을 그리는 모션 입력을 감지할 수 있다. 여기서, 입력 도구는 펜, 손가락, 지휘봉, 막대기 등일 수 있으나, 이에 한정되는 것은 아니다. For example, the image sensor can sense a motion input that draws a continuous melody line by measuring the motion of the input tool. Here, the input tool may be, but is not limited to, a pen, a finger, a baton, a stick, and the like.

일 실시예에 의하면, 깊이 센서는 입력 도구의 깊이 값을 측정함으로써, 연속적인 멜로디 라인을 그리는 제스처를 감지할 수 있다. 깊이 값은 깊이 센서로부터 특정 객체까지의 거리에 대응할 수 있다. 따라서, 깊이 센서로부터 특정 객체까지의 거리가 멀수록 깊이 값이 커질 수 있다.According to one embodiment, the depth sensor can sense a gesture that draws a continuous melody line by measuring the depth value of the input tool. The depth value may correspond to the distance from the depth sensor to a particular object. Therefore, the greater the distance from the depth sensor to a specific object, the larger the depth value can be.

일 실시예에 의하면, 깊이 센서는 다양한 방식으로 입력 도구의 깊이 값을 획득할 수 있다. 예를 들어, 깊이 센서는 TOF(Time of flight) 방식, 스테레오스코프 비전(stereoscopic vision) 방식, 구조화 광 패턴(structured light pattern) 방식 중 적어도 하나의 방식을 이용하여 깊이 값을 측정할 수 있다. According to one embodiment, the depth sensor can obtain the depth value of the input tool in various ways. For example, the depth sensor can measure the depth value using at least one of a time of flight (TOF) method, a stereoscopic vision method, and a structured light pattern method.

전자 기기(100)는, 모션 입력으로 입력된 연속적인 멜로디 라인을 12음계에 따라 이산적인 멜로디 라인으로 변환하고, 이산적인 멜로디 라인을 멜로디 진행에 관한 통계 정보를 이용하여 보정함으로써, 모션 입력에 대응하는 악보를 생성할 수 있다.The electronic device 100 converts continuous melody lines inputted as a motion input into discrete melody lines according to a twelfth scale and corrects the discrete melody lines using statistical information on melody progression so as to correspond to the motion input Can be generated.

이하에서는, 도 5를 참조하여, 사용자가 음성으로 음악 신호를 입력한 경우에 있어서, 전자 기기(100)가 연속적인 멜로디 라인을 생성하기 위한 피치 주파수를 검출하는 방법에 대해서 자세히 살펴보기로 한다. Hereinafter, with reference to FIG. 5, a method of detecting a pitch frequency for generating a continuous melody line by the electronic device 100 when a user inputs a music signal by voice will be described in detail.

도 5는 일 실시예에 따르는 피치 주파수를 결정하는 방법을 설명하기 위한 순서도이다. 5 is a flowchart illustrating a method of determining a pitch frequency according to an embodiment.

단계 S510에서, 전자 기기(100)는, 원본의 제 n 프레임에 대한 언더 샘플링할 수 있다. 이때, n은 1, 2, 3,...등의 정수일 수 있으며, 원본의 제 n 프레임은 시간 영역(time domain)의 음악 신호(PCM 데이터)일 수 있다. In step S510, the electronic device 100 can under-sample the n-th frame of the original. In this case, n may be an integer such as 1, 2, 3, ..., and the nth frame of the original may be a music signal (PCM data) in a time domain.

일 실시예에 의하면, 사용자로부터 입력된 시간 영역의 음악 신호는 복수의 프레임으로 구별될 수 있으며, 전자 기기(100)는, 복수의 프레임 각각에 대해 순차적으로 언더 샘플링을 수행할 수 있다. According to an embodiment, a music signal in a time domain input from a user can be distinguished into a plurality of frames, and the electronic device 100 can sequentially perform undersampling on each of a plurality of frames.

예를 들어, 도 6을 참조하면, 원본의 제 n 프레임의 샘플링 레이트(610)가 44100Hz일 수 있다. 이때, 전자 기기(100)가 원본의 제 n 프레임을 언더 샘플링하는 경우, 언더 샘플링된 제 n 프레임의 샘플링 레이트(620)는 8000Hz일 수 있다. 제 n 프레임의 사이즈가 128ms인 경우, 원본의 제 n 프레임에 포함된 샘플 수는 5644.8개일 수 있으며, 언더 샘플링된 제 n 프레임에 포함된 샘플 수는 1024개일 수 있다. For example, referring to FIG. 6, the sampling rate 610 of the nth frame of the original may be 44100 Hz. At this time, when the electronic device 100 undersamples the n-th frame of the original, the sampling rate 620 of the undersampled n-th frame may be 8000 Hz. If the size of the n-th frame is 128 ms, the number of samples included in the n-th frame of the original may be 5644.8, and the number of samples included in the undersampled n-th frame may be 1024.

단계 S520에서, 전자 기기(100)는, 언더 샘플링된 제 n 프레임을 주파수 신호로 변환할 수 있다. 예를 들어, 전자 기기(100)는 언더 샘플링된 제 n 프레임에 대한 고속 푸리에 변환(FFT, fast Fourier transform)을 진행할 수 있다. 이때, 전자 기기(100)는, 처리 속도를 높이기 위해, 언더 샘플링된 제 n 프레임을 중첩하여 FFT를 진행할 수 있다. 예를 들어, 제 n 프레임의 사이즈가 128 ms이고, 샘플 수가 1024 개인 경우, 전자 기기(100)는, 프레임 별로 4번씩 중첩(overlapping)하여, FFT를 진행할 수 있다. In step S520, the electronic device 100 can convert the undersampled n-th frame into a frequency signal. For example, the electronic device 100 may perform a fast Fourier transform (FFT) on an undersampled n-th frame. At this time, in order to increase the processing speed, the electronic device 100 can perform the FFT by superimposing the undersampled n-th frame. For example, if the size of the n-th frame is 128 ms and the number of samples is 1024, the electronic device 100 may perform FFT by overlapping four times for each frame.

이때, 언더 샘플링된 데이터에 대한 FFT를 진행하므로, 처리 속도는 빨라지는 반면 주파수 분해능(Frequency resolution)은 낮아질 수밖에 없다. 예를 들어, 샘플링 레이트가 8000Hz인 1024 샘플들을 FFT할 경우, 주파수 분해능은 아래와 같이 '15.625Hz/bin' 정도밖에 되지 않을 수 있다. At this time, since the FFT is performed on the undersampled data, the processing speed is faster but the frequency resolution is lowered. For example, when performing FFT on 1024 samples having a sampling rate of 8000 Hz, the frequency resolution may be only about 15.625 Hz / bin as shown below.

Figure pat00001
Figure pat00001

Figure pat00002
Figure pat00002

단계 S530에서, 전자 기기(100)는, 주파수 신호를 분석하여, 후보 피치 주파수 영역을 검출할 수 있다.In step S530, the electronic device 100 can analyze the frequency signal to detect the candidate pitch frequency region.

일 실시예에 의하면, 전자 기기(100)는, 주파수 신호에서 가장 큰 진폭(amplitude)을 갖는 주파수를 후보 피치 주파수로 검출할 수도 있다. 또한, 전자 기기(100)는, 가장 큰 진폭(amplitude)의 일정 비율 값을 임계 값으로 결정하고, 임계 값 이상의 진폭(amplitude)을 갖는 주파수들을 후보 피치 주파수들로 검출할 수도 있으나, 이에 한정되는 것은 아니다. According to one embodiment, the electronic device 100 may detect a frequency having the greatest amplitude in the frequency signal as the candidate pitch frequency. In addition, the electronic device 100 may determine a certain ratio value of the largest amplitude as a threshold value and detect frequencies having an amplitude of more than a threshold value as candidate pitch frequencies, It is not.

예를 들어, 도 7을 참조하면, 임계 값이 10000인 경우, 전자 기기(100)는, 주파수 신호(700)에서 진폭이 10000 이상인 후보 피치 주파수들(예컨대, 제 1 후보 피치 주파수(710) = 297Hz, 제 2 후보 피치 주파수(720) = 935 Hz)을 결정할 수 있다. 그리고 전자 기기(100)는 '후보 피치 주파수 ± 임계 값(예컨대, 주파수 분해능)'을 후보 피치 주파수 영역으로 결정할 수 있으나, 이에 한정되는 것은 아니다. 예컨대, 주파수 분해능이 15.625 Hz/bin인 경우, 제 1 후보 피치 주파수 영역 및 제 2 후보 피치 주파수 영역은 아래와 같을 수 있다. For example, referring to FIG. 7, when the threshold is 10000, the electronic device 100 determines whether candidate pitch frequencies (e.g., first candidate pitch frequency 710 = 297 Hz, and the second candidate pitch frequency 720 = 935 Hz). The electronic device 100 may determine the candidate pitch frequency +/- threshold value (e.g., frequency resolution) as the candidate pitch frequency region, but the present invention is not limited thereto. For example, when the frequency resolution is 15.625 Hz / bin, the first candidate pitch frequency region and the second candidate pitch frequency region may be as follows.

(1) 제 1 후보 피치 주파수 영역 = 297 Hz ± 15.625 = 281.375 ~ 312.625(1) First candidate pitch frequency domain = 297 Hz ± 15.625 = 281.375 to 312.625

(2) 제 2 후보 피치 주파수 영역 = 935 Hz ± 15.625 = 919.375 ~ 950.625 (2) Second candidate pitch frequency domain = 935 Hz ± 15.625 = 919.375 to 950.625

단계 S540에서, 전자 기기(100)는, 원본의 제 n 프레임을 이용하여, 후보 피치 주파수 영역 중에서 피치 주파수를 결정할 수 있다. 이때, 원본의 제 n 프레임은 언더 샘플링되기 전의 시간 영역의 신호일 수 있다. In step S540, the electronic device 100 can determine the pitch frequency in the candidate pitch frequency domain using the original n-th frame. At this time, the n < th > frame of the original may be a signal in the time domain before undersampling.

일 실시예에 의하면, 전자 기기(100)는, 후보 피치 주파수 영역에 대응하는 주기(T) 구간(range)에서의 자기 상관 계수들을 산출하고, 가장 큰 자기 상관 계수를 갖는 주기(T)에 대응하는 주파수(f=1/T)를 피치 주파수로 검출할 수 있다.According to one embodiment, the electronic device 100 calculates autocorrelation coefficients in a period (T) range corresponding to a candidate pitch frequency range and corresponds to a period (T) having the largest autocorrelation coefficient (F = 1 / T) can be detected as the pitch frequency.

예를 들어, 제 1 후보 피치 주파수 영역이 281.375 ~ 312.625인 경우, 제 1 후보 피치 주파수 영역에 대응하는 제 1 주기 구간은 '1/312.625(≒3.19ms) ~ 1/281.375(≒3.55ms)' 이고, 제 2 후보 피치 주파수 영역이 919.375 ~ 950.625인 경우, 제 2 후보 피치 주파수 영역에 대응하는 제 2 주기 구간은 '1/950.625 (≒1.05ms) ~ 1/919.375 (≒1.08 ms)' 일 수 있다. 이때, 전자 기기(100)는 언더 샘플링되기 전의 제 n 프레임을 이용하여, 제 1 주기 구간 및 제 2 주기 구간에서의 자기 상관 계수를 산출할 수 있다. 만일, T=3.405ms 에서의 자기 상관 계수가 가장 큰 경우, 전자 기기(100)는 'f0=1/T = 1/0.003405 ≒ 293.686 Hz'를 피치 주파수로 검출할 수 있다. For example, when the first candidate pitch frequency range is 281.375 to 312.625, the first period section corresponding to the first candidate pitch frequency range is 1 / 312.625 (3.19 ms) to 1/281.375 (3.55 ms) And the second candidate pitch frequency range is 919.375 to 950.625, the second period section corresponding to the second candidate pitch frequency range may be 1/950.625 (1.05 ms) to 1/919.375 (1.08 ms) have. At this time, the electronic device 100 can calculate the autocorrelation coefficients in the first period section and the second period section using the n-th frame before undersampling. If the autocorrelation coefficient at T = 3.405 ms is the largest, the electronic instrument 100 can detect 'f 0 = 1 / T = 1 / 0.003405? 293.686 Hz' at the pitch frequency.

단계 S550에서, 전자 기기(100)는, 단계 S510 내지 S540의 과정에 따라 다음 프레임(제 n+1 프레임)에 대한 피치 주파수를 검출 할 수 있다. In step S550, the electronic device 100 may detect the pitch frequency for the next frame (the (n + 1) th frame) according to the procedure of steps S510 to S540.

한편, 전자 기기(100)는, 이전 프레임의 피치 주파수에 관한 정보를 우선 고려하여, 현재 프레임의 피치 주파수를 결정할 수도 있다. 전자 기기(100)가 이전 프레임의 피치 주파수에 관한 정보를 우선 고려하여, 현재 프레임의 피치 주파수를 결정하는 동작에 대해서 도 8을 참조하여, 자세보기로 한다.On the other hand, the electronic device 100 may determine the pitch frequency of the current frame by first considering the information on the pitch frequency of the previous frame. The electronic device 100 first takes the information on the pitch frequency of the previous frame into consideration and determines the pitch frequency of the current frame with reference to Fig.

도 8은 일 실시예에 따르는 과거 프레임의 피치 주파수를 고려하여, 현재 프레임의 피치 주파수를 결정하는 방법을 설명하기 위한 순서도이다. 8 is a flowchart for explaining a method of determining a pitch frequency of a current frame in consideration of a pitch frequency of a past frame according to an embodiment.

단계 S810에서, 전자 기기(100)는, 제 n-1 프레임에서 검출된 피치 주파수가 제 n 프레임의 피치 주파수인지 검증할 수 있다. In step S810, the electronic device 100 can verify that the pitch frequency detected in the (n-1) -th frame is the pitch frequency of the n-th frame.

일 실시예에 의하면, 전자 기기(100)는 언더 샘플링된 제 n 프레임의 후보 피치 주파수 검출 시 제 n-1 프레임에서 검출된 피치 주파수를 이용할 수 있다. 이 경우, 일시적으로 발생하는 노이즈의 영향이 억제될 수 있다. 예를 들어, 제 n-1 프레임에서 검출된 피치 주파수가 300Hz 인 경우, 전자 기기(100)는, 제 n 프레임의 후보 피치 주파수 검출 시 300Hz 앞뒤의 일정 범위의 주파수(예컨대, 285 Hz ~ 315 Hz)를 우선적으로 확인하게 된다. 확인 결과, 300Hz에서의 진폭(amplitude)이 가장 큰 경우, 전자 기기(100)는 제 n 프레임의 후보 피치 주파수를 300 Hz로 결정할 수 있다. According to one embodiment, the electronic device 100 may utilize the pitch frequency detected in the n-1 < th > frame in detecting the candidate pitch frequency of the undersampled n-th frame. In this case, the influence of the temporarily generated noise can be suppressed. For example, when the pitch frequency detected in the n-1 < th > frame is 300 Hz, the electronic device 100 can detect frequencies within a certain range (e.g., 285 Hz to 315 Hz ). As a result, when the amplitude at 300 Hz is the largest, the electronic device 100 can determine the candidate pitch frequency of the n-th frame at 300 Hz.

그리고 전자 기기(100)는, 언더 샘플링되기 전의 원본 제 n 프레임을 이용하여, 후보 피치 주파수 영역 (예컨대, 300 Hz ± 15Hz)에 대응하는 주기 구간(예컨대, 1/315 ~ 1/285ms)에서의 자기 상관 계수를 구할 수 있다. 가장 큰 자기 상관 계수를 가지는 주기에 대응하는 주파수가 300Hz인 경우, 전자 기기(100)는 300Hz를 피치 주파수로 결정할 수 있다. Then, the electronic apparatus 100 uses the original n-th frame before undersampling to determine whether or not the period of the period (for example, 1/315 to 1/285 ms) corresponding to the candidate pitch frequency region (for example, 300 Hz ± 15 Hz) The autocorrelation coefficient can be obtained. If the frequency corresponding to the cycle having the greatest autocorrelation coefficient is 300 Hz, the electronic device 100 can determine 300 Hz as the pitch frequency.

일 실시예에 의하면, 전자 기기(100)는, 언더 샘플링되기 전의 원본 제 n 프레임을 이용하여, 제 n-1 프레임에서 검출된 피치 주파수의 앞뒤 일정 주파수 범위에 대응하는 주기 구간에서의 자기 상관 계수를 산출할 수도 있다. 예를 들어, 제 n-1 프레임의 피치 주파수가 300 Hz인 경우, 전자 기기(100)는 원본 제 n 프레임을 이용하여, 일정 주파수 범위(예컨대, 300 Hz ± 15Hz)에 대응하는 주기 구간(예컨대, 1/315 ~ 1/285ms)에서의 자기 상관 계수를 산출할 수 있다. 이때, 산출되는 자기 상관 계수의 패턴이, 언더 샘플링되기 전의 원본 제 n-1 프레임을 이용하여 산출된 자기 상관 계수의 패턴과 유사한 경우, 전자 기기(100)는, 제 n 프레임의 피치 주파수가 제 n-1의 피치 주파수와 동일하다고 판단할 수 있다. According to one embodiment, the electronic device 100 uses the original n-th frame before undersampling, and calculates the autocorrelation coefficient in a period section corresponding to a certain frequency range before and after the pitch frequency detected in the (n-1) . For example, when the pitch frequency of the (n-1) th frame is 300 Hz, the electronic device 100 uses the original n-th frame to generate a period section (e.g., , 1/315 ~ 1/285 ms) can be calculated. If the calculated pattern of the autocorrelation coefficients is similar to the pattern of the autocorrelation coefficients calculated using the original n-1 frame before undersampling, the electronic device 100 determines that the pitch frequency of the n- n-1 < / RTI >

한편, 일 실시예에 의하면, 제 n 프레임과 제 n-1 프레임 간의 검출 간격이 길어질수록 검증해야 하는 일정 주파수 범위가 길어질 수 있다. 예를 들어, n 프레임과 제 n-1 프레임 간의 검출 간격이 30ms인 경우, 일정 주파수 범위는 '300 Hz ± 15Hz'일 수 있으나, 제 n 프레임과 제 n-1 프레임 간의 검출 간격이 60ms로 늘어나는 경우, 일정 주파수 범위도 '300 Hz ± 35Hz'로 늘어날 수 있다. Meanwhile, according to an embodiment, the longer the detection interval between the n-th frame and the (n-1) -th frame becomes, the longer the certain frequency range to be verified can be. For example, when the detection interval between the n-th frame and the (n-1) -th frame is 30 ms, the predetermined frequency range may be '300 Hz ± 15 Hz' , The constant frequency range can also be increased to 300 Hz ± 35 Hz.

단계 S820 및 단계 S830에서, 전자 기기(100)는, 제 n-1 프레임의 피치 주파수가 제 n 프레임의 피치 주파수와 동일하다고 판단되는 경우, 제 n-1 프레임의 피치 주파수를 제 n 프레임의 피치 주파수로 결정할 수 있다. 예를 들어, 제 n-1 프레임의 피치 주파수가 300Hz인 경우, 인접한 제 n 프레임의 피치 주파수도 300Hz로 결정될 수 있다. If it is determined in steps S820 and S830 that the pitch frequency of the (n-1) -th frame is the same as the pitch frequency of the n-th frame, the electronic apparatus 100 sets the pitch frequency of the n- Can be determined by the frequency. For example, when the pitch frequency of the (n-1) -th frame is 300 Hz, the pitch frequency of the adjacent n-th frame may be determined to be 300 Hz.

단계 S820 및 단계 S840에서, 전자 기기(100)는, 제 n-1 프레임의 피치 주파수가 제 n 프레임의 피치 주파수와 동일하지 않다고 판단되는 경우, 제 n 프레임에 대한 언더 샘플링을 수행하여, 제 n 프레임의 피치 주파수를 검출할 수 있다. In steps S820 and S840, when it is determined that the pitch frequency of the (n-1) -th frame is not the same as the pitch frequency of the n-th frame, the electronic device 100 performs undersampling for the n- The pitch frequency of the frame can be detected.

전자 기기(100)가 제 n 프레임에 대한 언더 샘플링을 수행하여, 제 n 프레임의 피치 주파수를 검출하는 동작에 대해서는, 도 5에서 설명하였으므로, 구체적인 설명은 생략하기로 한다. The operation in which the electronic apparatus 100 performs the undersampling for the n-th frame to detect the pitch frequency of the n-th frame has been described with reference to FIG. 5, and a detailed description thereof will be omitted.

단계 S850에서, 전자 기기(100)는, 단계 S810 내지 단계 S840에서와 같이, 제 n 프레임에서 검출된 피치 주파수를 우선 고려하여, 제 n+1 프레임의 피치 주파수를 검출할 수 있다. In step S850, the electronic device 100 can detect the pitch frequency of the (n + 1) -th frame by first considering the pitch frequency detected in the n-th frame, as in steps S810 to S840.

이하에서는, 전자 기기(100)가, 검출된 피치 주파수들을 이용하여, 사용자에 의해 입력된 음악 신호에 대응하는 멜로디 라인을 생성하고, 보정하는 동작에 대해서 자세히 살펴보기로 한다. Hereinafter, an operation of the electronic device 100 to generate and correct a melody line corresponding to the music signal input by the user using the detected pitch frequencies will be described in detail.

도 9는 일 실시예에 따르는 전자 기기가 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 동작을 설명하기 위한 도면이다. 9 is a diagram for explaining an operation in which an electronic device according to an embodiment converts a continuous melody line into a discrete melody line.

도 9를 참조하면, 전자 기기(100)는 각각의 프레임에서 검출된 피치 주파수들을 연결하여, 연속적인 멜로디 라인(910)을 생성할 수 있다. 이때, 검출되는 피치 주파수들은 표준음의 높이(예컨대, 12음계 또는 60음계의 높이)와 정확히 일치하는 것이 아니므로, 전자 기기(100)는 표준음의 높이(예컨대, 12음계 또는 60음계의 높이)에 따라 연속적인 멜로디 라인(910)을 이산적인 멜로디 라인(920)으로 변환할 수 있다. Referring to FIG. 9, the electronic device 100 may concatenate the detected pitch frequencies in each frame to produce a continuous melody line 910. At this time, since the detected pitch frequencies do not exactly coincide with the height of the standard sound (for example, the height of a twelve scale or sixty scale), the electronic device 100 can calculate the height of a standard sound ) To a discrete melody line 920. The discrete melody lines 920 can be used to convert a continuous melody line 910 into a discrete melody line 920. [

예를 들어, 연속적인 멜로디 라인(910)의 제 1 구간의 피치 주파수들이 187 ~ 202 Hz 사이의 값인 경우, 전자 기기(100)는, 도 10에 도시된 음 높이와 피치 주파수의 상관 관계를 나타내는 테이블(1000)을 참조하여, 제 1 구간의 음 높이를 G3(195.9977 Hz)로 결정할 수 있다. For example, if the pitch frequencies of the first section of the continuous melody line 910 are values between 187 and 202 Hz, then the electronic device 100 determines the relationship between pitch heights and pitch frequencies shown in FIG. 10 Referring to the table 1000, the tone height of the first section can be determined as G3 (195.9977 Hz).

또한, 연속적인 멜로디 라인(910)의 제 2 구간의 피치 주파수들이 160 ~ 171 Hz 사이의 값인 경우, 전자 기기(100)는, 도 10에 도시된 음 높이와 피치 주파수의 상관 관계를 나타내는 테이블(1000)을 참조하여, 제 2 구간의 음 높이를 E3(164.8138 Hz)로 결정할 수 있다.When the pitch frequencies of the second section of the continuous melody line 910 are values between 160 and 171 Hz, the electronic apparatus 100 displays a table (FIG. 10) 1000), and the sound height of the second section can be determined as E3 (164.8138 Hz).

일 실시예에 의하면, 제 1 구간과 제 2 구간의 길이는 표준 음 길이(예컨대, 온음표, 2분 음표, 4분 음표, 8분 음표, 16분 음표, 32분 음표 등)에 따라 결정될 수 있다. 예를 들어, 제 1 구간과 제 2 구간 모두 4분 음표에 대응하는 길이인 경우, 제 1 구간의 길이와 제 2 구간의 길이가 동일할 수 있다. According to one embodiment, the lengths of the first section and the second section may be determined according to a standard tone length (e.g., a full note, a half note, a quarter note, an eighth note, a sixteenth note, a half note, etc.) . For example, if the first interval and the second interval are lengths corresponding to quarter notes, the length of the first interval and the length of the second interval may be the same.

일 실시예에 의하면, 전자 기기(100)는, 연속적인 멜로디 라인(910)을 이산적인 멜로디 라인(920)으로 변환할 때, 가장 가까운 음 높이(또는 음 길이)로 정규화하지 않고, 통계 데이터를 이용한 확률적 모델을 기반으로 정규화할 수 있다. 예를 들어, 전자 기기(100)는 기존 음악에서의 음표들의 나열과 관련된 통계적 데이터를 이용하여, 연속적인 멜로디 라인(910)을 이산적인 멜로디 라인(920)으로 변환할 수 있다. 이때, 통계적인 데이터는 장르에 따른 통계 데이터 또는 뮤지션에 따른 통계 데이터일 수도 있으나, 이에 한정되는 것은 아니다. According to one embodiment, when converting a continuous melody line 910 into a discrete melody line 920, the electronic device 100 does not normalize to the nearest pitch (or tone length) Can be normalized based on the probabilistic model used. For example, the electronic device 100 may convert a continuous melody line 910 to a discrete melody line 920 using statistical data related to the listing of notes in existing music. In this case, the statistical data may be statistical data according to a genre or statistical data according to a musician, but the present invention is not limited thereto.

예컨대, 연속적인 멜로디 라인(910)의 제 3 구간의 피치 주파수들이 160 ~ 180 Hz 사이의 값이고, 제 3 구간의 피치 주파수들의 분포가 F3(174.6141 Hz) 보다 E3(164.8138)에 가깝더라도, 전자 기기(100)는 통계적 데이터를 이용하여, 제 1 구간의 음 높이를 F3(174.6141 Hz)로 결정할 수 있다. For example, even if the pitch frequencies of the third section of the continuous melody line 910 are values between 160 and 180 Hz and the distribution of the pitch frequencies of the third section is closer to E3 (164.8138) than F3 (174.6141 Hz) The apparatus 100 may use the statistical data to determine the sound height of the first section as F3 (174.6141 Hz).

한편, 일 실시예에 의하면, 사용자가 특정 음악가 또는 특정 장르를 선택하는 경우, 전자 기기(100)는, 선택된 특정 음악가 또는 특정 장르의 스타일을 반영하여, 이산적인 멜로디 라인(920)을 보정할 수 있다. 이하에서는, 전자 기기(100)가 이산적인 멜로디 라인(920)을 보정하는 동작에 대해서 도 11을 참조하여, 자세히 살펴보기로 한다. According to an embodiment, when the user selects a specific musician or a specific genre, the electronic device 100 may reflect the style of the selected specific musician or a specific genre to correct the discrete melody line 920 have. Hereinafter, an operation of the electronic device 100 for correcting the discrete melody line 920 will be described in detail with reference to FIG.

도 11은 일 실시예에 따르는 장르 또는 음악가에 따라 이산적인 멜로디 라인을 보정하는 방법을 설명하기 위한 순서도이다. 11 is a flowchart for explaining a method of correcting a discrete melody line according to a genre or a musician according to an embodiment.

단계 S1110에서, 전자 기기(100)는, 장르 또는 음악가를 선택하는 입력을 수신할 수 있다. 장르에는, 발라드, 락(rock), 재즈, 클래식, 블루스, 리듬 앤 블루스, 힙합, 컨트리 음악, 전자 음악 등이 있으나, 이에 한정되는 것은 아니다. In step S1110, the electronic device 100 may receive an input for selecting a genre or an artist. Genres include, but are not limited to, ballads, rock, jazz, classical, blues, rhythm and blues, hip-hop, country music, electronic music and the like.

일 실시예에 의하면, 장르 또는 음악가를 선택하는 입력은 다양할 수 있다. 예를 들어, 사용자는 터치 입력, 음성 입력, 모션 입력, 벤딩 입력, 안구 입력 등을 통해 장르 또는 음악가를 선택할 수 있으나, 이에 한정되는 것은 아니다. According to one embodiment, the input for selecting genres or musicians may vary. For example, the user may select a genre or an artist through a touch input, a voice input, a motion input, a bending input, an eye input, and the like, but the present invention is not limited thereto.

한편, 일 실시예에 의하면, 전자 기기(100)는, 특정 장르를 대표하는 곡을 선택하는 입력을 수신할 수도 있다. 이 경우, 전자 기기(100)는 특정 장르가 선택된 것으로 판단할 수 있다. On the other hand, according to one embodiment, the electronic device 100 may receive an input for selecting a song representative of a specific genre. In this case, the electronic device 100 can determine that the specific genre has been selected.

단계 S1120에서, 전자 기기(100)는, 선택된 장르 또는 음악가에 대응하는 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. In step S1120, the electronic device 100 can correct discrete melody lines using statistical information on the melody progression corresponding to the selected genre or musician.

선택된 장르 또는 음악가에 대응하는 멜로디 진행에 관한 통계 정보는, 전자 기기(100) 내부의 메모리에 저장되어 있을 수도 있고, 전자 기기(100) 외부의 서버에 저장되어 있을 수도 있다. Statistical information on the melody progression corresponding to the selected genre or musician may be stored in a memory inside the electronic device 100 or may be stored in a server outside the electronic device 100. [

일 실시예에 의하면, 전자 기기(100)는 선택된 장르 또는 음악가를 키워드로 하여, 선택된 장르 또는 음악가에 대응하는 멜로디 진행에 관한 통계 정보를 메모리 또는 외부의 서버에서 검색할 수 있다. According to an embodiment, the electronic device 100 can search the memory or an external server for statistical information on the melody progression corresponding to the selected genre or musician, using the selected genre or musician as a keyword.

예를 들어, 사용자가 '발라드'를 선택한 경우, 전자 기기(100)는 도 12A에 도시된 발라드의 음 길이 진행 경향 테이블(1210)을 검색하고, 발라드의 음 길이 진행 경향 테이블(1210)을 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. 예컨대, 발라드의 음 길이 진행 경향 테이블(1210)을 참조하면, 발라드의 경우 온 음표 다음에 2분 음표가 오는 횟수(5808)보다 온 음표 다음에 4분 음표가 오는 횟수(7502)가 많으므로, 전자 기기(100)는, 이산적인 멜로디 라인에서 온 음표 다음에 2분 음표가 오는 경우, 2분 음표 대신에 4분 음표가 오도록 이산적인 멜로디 라인의 음 길이를 보정할 수 있다.For example, when the user selects 'ballad', the electronic device 100 searches the tone length progress tendency table 1210 of the ballad shown in FIG. 12A, and uses the tone length progress tendency table 1210 of the ballade So that the discrete melody lines can be corrected. For example, referring to the tone progression tendency table 1210 of the ballad, since the number of times the quarter note is followed by 7502 is greater than the number of times the half note comes after the on note, 5808, The electronic device 100 can correct the sound length of the discrete melody line such that a quarter note is provided instead of a half note when a half note follows the note coming from the discrete melody line.

또한, 사용자가 '락(Rock)'을 선택한 경우, 전자 기기(100)는 도 12B에 도시된 락의 음 길이 진행 경향 테이블(1220)을 검색하고, 락의 음 길이 진행 경향 테이블(1220)을 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. 예컨대, 락의 음 길이 진행 경향 테이블(1220)을 참조하면, 락의 경우 발라드와 반대로, 온 음표 다음에 4분 음표가 오는 횟수(4114) 보다 온 음표 다음에 2분 음표가 오는 횟수(8228)가 더 많으므로, 전자 기기(100)는, 이산적인 멜로디 라인에서 온 음표 다음에 4분 음표가 오는 경우, 4분 음표 대신에 2분 음표가 오도록 이산적인 멜로디 라인의 음 길이를 보정할 수 있다.Also, when the user selects 'Rock', the electronic device 100 searches the tone length progress tendency table 1220 of the lock shown in FIG. 12B, and determines the tone length progress tendency table 1220 of the lock Can be used to correct discrete melody lines. For example, referring to the tone progression tendency table 1220 of the lock, in contrast to the ballade in the case of rocking, the number of times 8228 the number of times the second note is followed by the second note after the oncoming note 4114, The electronic device 100 can correct the sound length of the discrete melody line such that a quarter note is followed by a half note instead of a quarter note in a discrete melody line .

사용자가 특정 음악가(예컨대, 음악가 A)를 선택하는 경우, 전자 기기(100)는 도 12C에 도시된 음악가 A의 음 길이 진행 경향 테이블(1230)을 검색하고, 음악가 A의 음 길이 진행 경향 테이블(1230)을 이용하여, 이산적인 멜로디 라인의 음 길이를 보정할 수도 있다.When the user selects a specific musician (for example, the musician A), the electronic device 100 searches the tone-length progress tendency table 1230 of the artist A shown in Fig. 12C and determines the tone-length progress tendency table 1230) may be used to correct the sound length of discrete melody lines.

한편, 사용자가 '발라드'를 선택한 경우, 전자 기기(100)는 도 13에 도시된 발라드의 음계 진행 경향 테이블(1300)을 검색하고, 발라드의 음계 진행 경향 테이블(1300)을 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. 예를 들어, 발라드의 음계 진행 경향 테이블(1300)을 참조하면, 발라드의 경우 C(도) 다음에 D#(레#)이 오는 횟수(3536)보다 C(도) 다음에 D(레)가 오는 횟수(7514)가 많으므로, 전자 기기(100)는, 이산적인 멜로디 라인에서 C(도) 다음에 D#(레#)이 오는 경우, D#(레#) 대신에 D(레)가 오도록 이산적인 멜로디 라인의 음 높이를 보정할 수 있다.On the other hand, when the user selects 'ballad', the electronic device 100 searches the gradation progress tendency table 1300 of the ballad shown in FIG. 13, and uses the gradation progress tendency table 1300 of the ballad, The melody line can be corrected. For example, referring to the tone progress tendency table 1300 of ballads, D (re) comes after C (degrees) rather than C (degrees) followed by D # (times) The number of times 7514 is large. Therefore, when the D # (re #) comes after C (degrees) on the discrete melody line, the electronic device 100 is discrete so that D (re) The pitch height of the melody line can be corrected.

도시되지는 않았지만, 사용자가 특정 음악가(예컨대, 음악가 A)를 선택하는 경우, 전자 기기(100)는 음악가 A의 음계 진행 경향 테이블을 검색하고, 음악가 A의 음계 진행 경향 테이블을 이용하여, 이산적인 멜로디 라인의 음 높이를 보정할 수도 있다.Although not shown, when the user selects a specific musician (for example, the musician A), the electronic device 100 searches the musical tune progress tendency table of the musician A, and uses the musical tune progress tendency table of the musician A, The pitch height of the melody line can be corrected.

단계 S1130에서, 전자 기기(100)는, 사용자로부터 장르 또는 음악가를 선택하는 입력을 수신하지 않은 경우, 일반적인 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수 있다.In step S1130, when the electronic device 100 does not receive an input for selecting a genre or an artist from the user, it is possible to correct the discrete melody line using statistical information on general melody progression.

일반적인 멜로디 진행에 관한 통계 정보는, 장르나 음악가에 대한 구분 없이, 음악 데이터베이스에 저장된 음악들을 분석하여 생성된 통계 정보일 수 있다. 예를 들어, 일반적인 멜로디 진행에 관한 통계 정보는, 일반적인 음 길이 진행 경향 테이블, 일반적인 음 높이 진행 경향 테이블 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.The statistical information on the general melody progression may be the statistical information generated by analyzing the music stored in the music database without discriminating the genre or the musician. For example, the statistical information about a general melody progression may include, but is not limited to, a general tone progress tendency table, a general tone pitch progress tendency table, and the like.

단계 S1140에서, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공할 수 있다. 단계 S1140은, 도 2의 단계 S250에 대응하므로, 구체적인 설명은 생략하기로 한다. In step S1140, the electronic device 100 can provide music information corresponding to the corrected discrete melody line. The step S1140 corresponds to the step S250 of FIG. 2, and a detailed description thereof will be omitted.

도 14는 일 실시예에 따르는 전자 기기가 이산적인 멜로디 라인을 보정하는 동작을 설명하기 위한 도면이다. 14 is a diagram for explaining an operation in which an electronic device according to an embodiment corrects discrete melody lines.

도 14를 참조하면, 전자 기기(100)는 이산적인 멜로디 라인(920)의 제 1 구간(1410)의 음 길이를 보정할 수 있다. 예를 들어, 멜로디 진행에 관한 통계 정보에 따를 때, 4분 음표 다음에 8분 음표가 오는 횟수보다 4분 음표 다음에 4분 음표가 오는 횟수가 많을 수 있다. 이때, 이산적인 멜로디 라인(920)의 제 1 구간(1410) 이전 구간에 4분 음표가 온 경우, 전자 기기(100)는, 제 1 구간(1410)의 8분 음표를 4분 음표로 보정할 수 있다. Referring to FIG. 14, the electronic device 100 may correct the sound length of the first section 1410 of the discrete melody line 920. For example, according to the statistical information on the melody progression, the number of times the quarter note is followed by the quarter note is more than the number of the eighth note after the quarter note. At this time, when the quarter note is turned on in the interval before the first section 1410 of the discrete melody line 920, the electronic device 100 corrects the eighth note of the first section 1410 to the quarter note .

또한, 전자 기기(100)는 이산적인 멜로디 라인(920)의 제 2 구간(1420)의 음 길이 및 음 높이를 보정할 수도 있다. 예를 들어, 전자 기기(100)는, 멜로디 진행에 관한 통계 정보에 따라, 제 2 구간(1420)의 음 길이를 2분 음표에서 4분 음표로 변경하고, 제 2 구간(1420)의 음 높이를 E3에서 Eb3로 변경할 수 있다. Also, the electronic device 100 may correct the sound length and the pitch of the second section 1420 of the discrete melody line 920. For example, the electronic apparatus 100 changes the pitch of the second section 1420 from a half note to a quarter note in accordance with statistical information about the progress of the melody, Can be changed from E3 to Eb3.

도 15는 일 실시예에 따르는 기준음에 기초하여, 이산적인 멜로디 라인을 보정하는 방법을 설명하기 위한 순서도이다. 15 is a flowchart for explaining a method of correcting a discrete melody line based on a reference tone according to an embodiment.

단계 S1510에서, 전자 기기(100)는, 사용자로부터 기준음을 입력 받을 수 있다. In step S1510, the electronic device 100 can receive a reference tone from the user.

예를 들어, 사용자는 특정 주파수(예컨대, 138.5913 Hz)의 음을 발성하면서, 전자 기기(100)의 화면에 표시된 피아노 건반에서 특정음계(예컨대, '도(C)')를 기준음으로 터치할 수 있다. 이때, 전자 기기(100)는 특정 주파수(예컨대, 138.5913 Hz)를 특정음계(예컨대, '도(C)')와 매칭시킬 수 있다. For example, the user may touch a certain scale (e.g., 'C') as a reference note in a piano keyboard displayed on the screen of the electronic device 100 while uttering a note of a specific frequency (for example, 138.5913 Hz) . At this time, the electronic device 100 may match a specific frequency (e.g., 138.5913 Hz) with a specific scale (e.g., 'C').

단계 S1520에서, 전자 기기(100)는, 기준음에 기초하여, 이산적인 멜로디 라인을 보정할 수 있다. In step S1520, the electronic device 100 can correct the discrete melody line based on the reference tone.

예를 들어, 일반적으로 '138.5913 Hz'에 대응하는 음계는 C#이지만, 사용자가 임의로 '138.5913 Hz'를 C라고 정의했으므로, 전자 기기(100)는 이산적인 멜로디 라인에서의 C#을 C로 보정할 수 있다. For example, since the scale corresponding to '138.5913 Hz' is generally C #, but the user has arbitrarily defined '138.5913 Hz' as C, the electronic device 100 can calibrate C # in discrete melody lines with C have.

단계 S1530에서, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시할 수 있다. 또한, 전자 기기(100)는, 표시된 악보에 따라 음악을 재생할 수도 있다. In step S1530, the electronic device 100 can display the score corresponding to the corrected discrete melody line. The electronic device 100 may also reproduce music according to the displayed score.

일 실시예에 의하면, 전자 기기(100)는 사용자로부터 입력된 기준음을 고려함으로써, 상대 음감을 갖는 보통의 사용자가 실제 발성한 음과 사용자가 의도한 음 간의 차이가 발생하는 것을 줄일 수 있다. According to an embodiment, the electronic device 100 can reduce the occurrence of a difference between a sound actually uttered by a normal user having a relative sound level and a sound intended by the user, by considering the reference sound input from the user.

한편, 일 실시예에 의하면, 사용자가 계이름으로 발성하는 경우, 전자 기기(100)는 사용자로부터 수신된 음성을 분석하여, 계이름에 대응하는 음계로 이산적인 멜로디 라인의 음 높이를 보정할 수 있다. 예를 들어, 사용자가 실제 발성한 음의 피치 주파수는 146 Hz에서 165 Hz 사이(D에서 E 사이)이지만, 사용자가 발성한 계이름이 '솔솔라라~'인 경우, 전자 기기(100)는 이산적인 멜로디 라인의 음계를 'DDEE'에서 'GGAA'로 보정할 수 있다. Meanwhile, according to an embodiment, when the user utteres the utterance, the electronic device 100 can analyze the voice received from the user and correct the pitch of the discrete melody line with a scale corresponding to the utterance. For example, if the user actually uttered a pitch pitch of 146 Hz to 165 Hz (between D and E), but the user's uttered utterance is 'SolSolara ~', the electronic device 100 is discrete You can calibrate the scale of the melody line from 'DDEE' to 'GGAA'.

한편, 일 실시예에 의하면, 전자 기기(100)는 보정된 이산적인 멜로디 라인에 대응하는 코드를 생성할 수도 있다. 전자 기기(100)가 코드를 생성하는 동작에 대해서는 도 16 및 도 17을 참조하여 자세히 살펴보기로 한다.  On the other hand, according to one embodiment, the electronic device 100 may generate a code corresponding to a corrected discrete melody line. The operation of the electronic device 100 to generate a code will be described in detail with reference to FIGS. 16 and 17. FIG.

도 16은 일 실시예에 따르는 코드 생성 방법을 설명하기 위한 순서도이다. 16 is a flowchart for explaining a code generating method according to an embodiment.

단계 S1610에서, 전자 기기(100)는, 음원 데이터베이스(DB)에서, Chord Transition Matrix와 Chord observation matrix를 획득할 수 있다. In step S1610, the electronic device 100 can acquire a chord transition matrix and a chord observation matrix from the sound source database (DB).

일 실시예에 의하면, 전자 기기(100)는 음원 데이터베이스에 저장된 음악 데이터를 분석하여, Chord observation matrix를 획득할 수 있다. 예를 들어, 전자 기기(100)는 제 1 코드 다음에 제 2 코드가 오는 횟수를 계수하여, Chord Transition Matrix를 생성할 수 있다. According to one embodiment, the electronic device 100 may analyze the music data stored in the sound source database to obtain a chord observation matrix. For example, the electronic device 100 may generate the Chord Transition Matrix by counting the number of times the second code is followed by the first code.

예를 들어, 도 17에 도시된 Chord Transition Matrix(1710)를 참조하면, 음원 데이터베이스에 저장된 음악 데이터를 분석한 결과, C major 다음에 C major가 온 횟수는 403번이고, C major 다음에 C minor 가 온 횟수는 198번이고, C major 다음에 C aug가 온 횟수는 55번일 수 있다. For example, referring to the Chord Transition Matrix (1710) shown in FIG. 17, the music data stored in the sound source database is analyzed. As a result, the number of C major cycles after C major is 403, The number of times of turn-on is 198, and the number of turn-on of C aug after C major is 55 times.

일 실시예에 의하면, 전자 기기(100)는 음원 데이터베이스에 저장된 음악 데이터를 분석하여, Chord observation matrix를 획득할 수 있다. 예를 들어, 전자 기기(100)는, 코드 구간별로 사용된 음표의 높이(Pitch)와 길이(duration)를 누적하여, Chord observation matrix를 획득할 수 있다. 전자 기기(100)는, 마디 별로 사용된 음표의 높이(Pitch)와 길이(duration)를 누적할 수도 있다. According to one embodiment, the electronic device 100 may analyze the music data stored in the sound source database to obtain a chord observation matrix. For example, the electronic device 100 can acquire a chord observation matrix by accumulating the pitch and duration of notes used for each code section. The electronic device 100 may accumulate the pitch and duration of notes used for each segment.

예를 들어, 도 17에 도시된 Chord observation matrix(1720)를 참조하면, C major 코드에서 사용된 도의 길이를 누적한 결과는 41이고, C major 코드에서 사용된 도#의 길이를 누적한 결과는 91이고, C major 코드에서 사용된 레의 길이를 누적한 결과는 41일 수 있다. For example, referring to the chord observation matrix 1720 shown in FIG. 17, the result of accumulating the lengths of the C major codes is 41, and the result of accumulating the lengths of the # 91, and the result of accumulating the length of the length used in the C major code may be 41. [

일 실시예에 의하면, 전자 기기(100)는 코드 분류 및 계수 시, Triad 코드 (예컨대, Major, Minor, suspended, diminished, augmented)뿐 아니라, 7th 코드(예컨대, Cm7 등), 전위 코드(C/B 등), Tension 코드(예컨대, Bm7b5 등)을 이용할 수도 있다. 이 경우, 전자 기기(100)는 실제 작곡가가 사용하는 음악에 가까운 코드 진행을 제공할 수 있다.According to one embodiment, the electronic device 100 during classification and coefficient code, Triad code (e. G., Major, Minor, suspended, diminished, augmented), as well as, 7 th code (e.g., Cm7, and so on), the potential code (C / B, etc.) and a tension code (e.g., Bm7b5, etc.). In this case, the electronic device 100 can provide a chord progression close to the music used by the actual composer.

단계 S1620에서, 전자 기기(100)는, Chord Transition Matrix와 Chord observation matrix를 이용하여, 코드를 생성할 수 있다. In step S1620, the electronic device 100 can generate a code using the Chord Transition Matrix and the Chord observation matrix.

예를 들어, 전자 기기(100)는, Hidden Markov Model에 따라, Chord Transition Matrix와 Chord observation matrix를 사용하여, 사용자의 의도에 따라 보정된 이산적인 멜로디 라인에 대응하는 코드를 생성할 수 있다. For example, the electronic device 100 may generate a code corresponding to a discrete melody line corrected according to a user's intention using a chord transition matrix and a chord observation matrix according to a hidden markov model.

일 실시예에 의하면, 전자 기기(100)는 마디 별로 하나의 코드를 생성할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 기기(100)는, 마디 별로 2개 이상의 복수 코드를 생성하여, 자연스러운 반주가 가능하게 할 수도 있다. According to one embodiment, the electronic device 100 may generate a single code for each node, but the present invention is not limited thereto. For example, the electronic device 100 may generate two or more plural codes for each node to enable natural accompaniment.

이하에서는, 전자 기기(100)가 반주를 제공하는 동작에 대해서 도 18 내지 도 22를 참조하여, 자세히 살펴보기로 한다. Hereinafter, the operation in which the electronic device 100 provides accompaniment will be described in detail with reference to FIGS. 18 to 22. FIG.

도 18은 일 실시예에 따르는 선택된 음악가의 특성 정보에 따라 반주를 제공하는 방법을 설명하기 위한 순서도이다. FIG. 18 is a flowchart illustrating a method of providing accompaniment according to characteristic information of a selected musician according to an embodiment.

단계 S1810에서, 전자 기기(100)는, 음악가를 선택할 수 있는 선택 창을 제공할 수 있다. 이때, 선택 창은 적어도 하나의 음악가를 포함할 수 있다. In step S1810, the electronic device 100 can provide a selection window from which a musician can be selected. At this time, the selection window may include at least one musician.

예를 들어, 도 19를 참조하면, 전자 기기(100)는 사용자로부터 허밍 신호를 수신하는 경우, 허밍 신호에 대응하는 악보(1910)를 생성하여 표시할 수 있다. 또한, 전자 기기(100)는 악보(1910)와 함께 특정 음악가를 선택할 수 있는 선택 창(1920)을 제공할 수 있다. For example, referring to FIG. 19, when the electronic device 100 receives a humming signal from a user, it can generate and display the music score 1910 corresponding to the humming signal. In addition, the electronic device 100 can provide a selection window 1920 in which a musical note 1910 and a specific musician can be selected.

단계 S1820에서, 전자 기기(100)는, 선택 창을 통해 음악가를 선택하는 입력을 수신할 수 있다. 일 실시예에 의하면, 전자 기기(100)는, 선택 창에 포함된 복수의 음악가 중에서 한 명을 터치하는 입력을 수신할 수 있다. In step S1820, the electronic device 100 may receive an input for selecting an artist through the selection window. According to one embodiment, the electronic device 100 can receive an input that touches one of a plurality of musicians included in the selection window.

예를 들어, 도 19를 참조하면, 전자 기기(100)는, 선택 창(1920)에 표시된 음악가 A, 음악가 B(1921), 음악가 C, 및 음악가 D 중에서, 음악가 B(1921)를 선택하는 입력을 감지할 수 있다. 19, the electronic device 100 is provided with an input for selecting artist B (1921) among artist A, artist B (1921), artist C, and artist D displayed in the selection window 1920 Lt; / RTI >

한편, 음악가를 선택하는 방식은 다양할 수 있다. 예를 들어, 사용자는 선택 창에 음악가의 이름을 직접 입력할 수도 있다. On the other hand, there are many ways to choose musicians. For example, the user can directly enter the name of the artist in the selection window.

단계 S1830에서, 전자 기기(100)는, 선택된 음악가의 특성 정보에 대응하는 반주를 제공할 수 있다. In step S1830, the electronic device 100 may provide an accompaniment corresponding to the characteristic information of the selected musician.

일 실시예에 의하면, 전자 기기(100)는, 선택된 음악가의 반주 특정 정보를 전자 기기(100) 내부의 메모리 또는 전자 기기(100) 외부의 서버에서 검색할 수 있다. 예를 들어, 도 20을 참조하면, 메모리 또는 외부 서버에 음악가들 각각에 대응하는 반주 특성 정보(2000)가 저장되어 있으므로, 전자 기기(100)는 선택된 음악가(예컨대, 음악가 B)에 대응하는 제 1 반주 특성 정보(예컨대, 반주 장르: 발라드, 코드 진행 특징: 같은 코드 반복 사용, 악기 편성: Electric Piano, Pad, Bass, Bell)를 확인할 수 있다. 그리고, 전자 기기(100)는, 제 1 반주 특성 정보에 대응하는 반주를 생성할 수 있다. According to one embodiment, the electronic device 100 can search the accompaniment specifying information of the selected musician in a memory inside the electronic device 100 or a server outside the electronic device 100. [ 20, since the accompaniment characteristic information 2000 corresponding to each of the musicians is stored in the memory or the external server, the electronic apparatus 100 can obtain the accompaniment characteristic information 2000 corresponding to the selected musicians (for example, the musicians B) 1 accompaniment characteristic information (for example, accompaniment genre: ballad, chord progression characteristic: use of the same code repeatedly, musical instrument combination: Electric Piano, Pad, Bass, Bell). Then, the electronic device 100 can generate an accompaniment corresponding to the first accompaniment characteristic information.

일 실시예에 의하면, 전자 기기(100)는, 사용자의 선택 이력에 기초하여, 반주를 추천해 줄 수도 있다. 예를 들어, 전자 기기(100)는, 사용자 선택하는 음악가 또는 사용자가 생성한 반주들에 대한 정보를 누적하여, 사용자가 선호하는 반주 스타일 또는 사용자가 선호하는 음악가에 관한 정보를 생성할 수 있다. 그리고, 사용자가 특정 음악가를 선택하지 않더라도, 전자 기기(100)는, 사용자가 선호하는 스타일 또는 선호하는 음악가에 맞는 반주를 추천해 줄 수 있다. According to one embodiment, the electronic device 100 may recommend accompaniment based on the user's selection history. For example, the electronic device 100 may accumulate information about a user-selected musician or a user-created accompaniment to generate information about the user's preferred accompaniment style or the user's favorite musician. Even if the user does not select a specific musician, the electronic instrument 100 can recommend an accompaniment suitable for the user's preferred style or a preferred musician.

한편, 도시되지는 않았지만, 사용자가 특정 장르를 선택하는 경우, 전자 기기(100)는, 선택된 장르의 반주 특성 정보를 이용하여, 선택된 장르에 대응하는 반주를 제공할 수도 있다. On the other hand, although not shown, when the user selects a specific genre, the electronic device 100 may use the accompaniment characteristic information of the selected genre to provide accompaniment corresponding to the selected genre.

도 21은 일 실시예에 따르는 발화 음성에 따라 반주를 생성하는 방법을 설명하기 위한 순서도이다. 21 is a flowchart illustrating a method of generating an accompaniment in accordance with a utterance voice according to an embodiment.

단계 S2110에서, 전자 기기(100)는, 사용자로부터 발화되는 음성(이하, '발화 음성'이라 함)을 수신할 수 있다. 예를 들어, 전자 기기(100)는 마이크로폰을 통해 사용자의 발화 음성을 인식할 수 있다. In step S2110, the electronic device 100 can receive speech uttered by the user (hereinafter referred to as "speech utterance"). For example, the electronic device 100 can recognize a user's utterance voice through a microphone.

단계 S2110에서, 전자 기기(100)는, 발화 음성을 분석하여, 발화 음성의 종류, 세기, 변화 및 음색 중 적어도 하나를 결정할 수 있다. In step S2110, the electronic device 100 may analyze the uttered voice to determine at least one of the type, strength, change, and tone of the uttered voice.

예를 들어, 전자 기기(100)는, 음성 인식을 통해, 발화 음성의 종류가 '나나나'인지 '음음음'인지 '빰빠바'인지 '징징징'인지 등을 결정할 수 있다. 또한, 전자 기기(100)는, 발화 음성의 세기를 측정할 수도 있고, 발화 음성의 변화 정도를 산출할 수도 있다. For example, the electronic device 100 can determine whether the type of the uttered voice is 'nanaa', 'sound of voice', 'papaya', or 'jinggging' through voice recognition. Also, the electronic device 100 may measure the intensity of the uttered voice or may calculate the degree of change of the utterance voice.

전자 기기(100)는 발화 음성의 음색 특성 정보를 추출하고, 발화 음성의 음색 특성 정보와 음색 데이터베이스에 저장되어 있는 음색들의 특성 정보를 비교함으로써, 발화 음성의 음색을 결정할 수도 있다. The electronic device 100 may determine the tone of the uttered voice by extracting the tone color characteristic information of the utterance voice and comparing the tone color characteristic information of the utterance voice with the characteristic information of the tone colors stored in the tone color database.

단계 S2110에서, 전자 기기(100)는, 발화 음성의 종류, 세기, 변화 및 음색 중 적어도 하나에 기초하여, 반주를 생성할 수 있다. In step S2110, the electronic device 100 can generate an accompaniment based on at least one of the type, intensity, change, and tone of the uttered voice.

예를 들어, 도 22를 참조하면, 발화 음성의 종류가 '나나나'로 판단된 경우, 전자 기기(100)는 반주 장르를 발라드로 결정하고, 멜로디 음색은 팬 플룻으로 결정하고, 반주 악기 편성은 피아노, 패드(pad), 베이스(Bass)로 결정하고, BPM은 60~80으로 결정할 수 있다. 또한, 발화 음성의 종류가 '빰빠바'로 판단된 경우, 전자 기기(100)는, 반주 장르를 오케스트라로 결정하고, 멜로디 음색은 금관 악기(Brass, 예컨대, 트럼펫, 코넷, 유포늄, 트롬본, 튜바, 호른 등)로 결정하고, 반주 악기 편성은, 현악기(String, 예컨대, 바이올린, 비올라, 첼로, 베이스 등), 금관 악기(Brass), 팀파니(Timpani) 등으로 결정하고, BPM은 80~110으로 결정할 수 있다. For example, referring to FIG. 22, when it is determined that the kind of the uttered voice is 'Nanana', the electronic device 100 determines the accompaniment genre as the ballad, the melody tone as the pan flute, A piano, a pad, and a bass, and the BPM can be determined to be 60 to 80. [ If the kind of the uttered voice is judged to be "빰 빰 바," the electronic device 100 determines the accompaniment genre as an orchestra, and the melody tone is a brass (for example, a trumpet, a cornet, a euphonium, The musical accompaniment is determined by a string instrument (string, for example, violin, viola, cello, bass, etc.), a brass instrument, a timpani, .

한편, 제 1 발화 음성과 제 2 발화 음성의 종류가 '나나나'로 동일하더라도 제 1 발화 음성과 제 2 발화 음성의 세기(또는 음색)가 다른 경우, 제 1 발화 음성에 대응하는 제 1 반주 장르나 제 1 반주 악기 편성이 제 2 발화 음성에 대응하는 제 2 반주 장르나 제 2 반주 악기 편성과 달라질 수 있다. On the other hand, even if the first speech utterance and the second speech utterance are the same, the first accompaniment genre and the second utterance speech are different in strength (or tone) Or the first accompaniment musical instrument combination may be different from the second accompaniment genre or the second accompaniment instrument musical instrument corresponding to the second utterance voice.

일 실시예에 의하면, 전자 기기(100)는, 사용자 입력에 따라, 반주 장르, 멜로디 음색, 반주 악기 편성, BPM 등을 변경할 수도 있다. According to one embodiment, the electronic device 100 may change the accompaniment genre, the melody tone, the accompaniment instrumentation, the BPM, and the like in accordance with the user's input.

도 23은 일 실시예에 따르는 이산적인 멜로디 라인에 대응하는 악보를 수정하기 위한 GUI의 예시를 나타내는 도면이다. 23 is an illustration of an example of a GUI for modifying a score corresponding to discrete melody lines according to an embodiment.

도 23을 참조하면, 악보를 수정하기 위한 GUI는 악보가 표시되는 영역(230) 및 악보를 수정하기 위한 오브젝트가 표시되는 영역(232)을 포함할 수 있다.Referring to FIG. 23, the GUI for correcting the score may include an area 230 where a score is displayed and an area 232 where an object for correcting the score is displayed.

악보가 표시되는 영역(230)에는 이산적인 멜로디 라인에 대응하는 악보가 표시될 수 있다. 사용자는 영역(230)에 표시된 악보 내의 음표, 음자리표, 박자, 코드 등을 선택함으로써, 악보 내에서 수정하고자 하는 대상을 선택할 수 있다.A score corresponding to the discrete melody line may be displayed in the area 230 where the score is displayed. The user can select an object to be corrected in the score by selecting a note, a clef, a beat, a code, or the like in the score displayed in the area 230.

또한, 악보를 수정하기 위한 오브젝트가 표시되는 영역(232)에는, 예를 들어, 음표와 쉼표를 상호 변경하기 위한 버튼(234), 음의 높이를 변경하기 위한 버튼들(235), 음표의 위치를 변경하기 위한 버튼들(236), 및 음표의 길이를 변경하기 위한 버튼들(237)이 표시될 수 있다.In the area 232 in which the object for modifying the score is displayed, for example, a button 234 for mutually changing the note and the comma, buttons 235 for changing the pitch of the note, Buttons 236 for changing the length of the note, and buttons 237 for changing the length of the note.

이에 따라, 사용자는 악보가 표시되는 영역(230)에서 수정하고자 하는 대상을 선택하고, 악보를 수정하기 위한 오브젝트가 표시되는 영역(232) 내의 특정 버튼을 선택함으로써, 악보를 수정할 수 있다.Accordingly, the user can modify the score by selecting an object to be modified in the area 230 where the score is displayed and selecting a specific button in the area 232 where the object for modifying the score is displayed.

또한, 사용자가 GUI 내의 버튼(238)을 선택하면, 전자 기기(100)는 수정된 악보에 따른 멜로디를 출력할 수 있다.Further, when the user selects the button 238 in the GUI, the electronic device 100 can output the melody according to the corrected score.

도 24 및 도 25는 일 실시예에 따르는 전자 기기의 구성을 설명하기 위한 블록 구성도이다.24 and 25 are block diagrams for explaining a configuration of an electronic apparatus according to an embodiment.

도 24를 참조하면, 전자 기기(100)는, 출력부(110), 사용자 입력부(130) 및 제어부(170)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 전자 기기(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 전자 기기(100)는 구현될 수 있다. 예를 들어, 도 24를 참조하면, 전자 기기(100)는 출력부(110), 통신부(120), 사용자 입력부(130), A/V 입력부(140), 저장부(150), 센싱부(160) 및 제어부(170)를 포함할 수 있다.Referring to FIG. 24, the electronic device 100 may include an output unit 110, a user input unit 130, and a control unit 170. However, not all illustrated components are required. The electronic device 100 may be implemented by more components than the components shown, and the electronic device 100 may be implemented by fewer components. 24, the electronic device 100 includes an output unit 110, a communication unit 120, a user input unit 130, an A / V input unit 140, a storage unit 150, a sensing unit 160 and a control unit 170. [

이하 상기 구성요소들에 대해 차례로 살펴본다.Hereinafter, the components will be described in order.

출력부(110)는, 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 이에는 디스플레이부(111)와 음향 출력부(112), 진동 모터(113) 등이 포함될 수 있다.The output unit 110 is for outputting an audio signal, a video signal, or a vibration signal. The output unit 110 may include a display unit 111, an acoustic output unit 112, a vibration motor 113, and the like.

디스플레이부(111)는 전자 기기(100)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이부(111)는 사용자로부터 입력된 음악 신호에 대응하는 연속적인 멜로디 라인을 표시할 수 있다. The display unit 111 can display and output information processed by the electronic device 100. [ For example, the display unit 111 may display a continuous melody line corresponding to the music signal input from the user.

디스플레이부(111)와 터치패드가 레이어 구조를 이루어 터치스크린으로 구성되는 경우, 디스플레이부(111)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(111)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 그리고 전자 기기(100)의 구현 형태에 따라 전자 기기(100)는 디스플레이부(111)를 2개 이상 포함할 수도 있다. 이때, 2개 이상의 디스플레이부(111)는 힌지(hinge)를 이용하여 마주보게 배치될 수 있다. When the display unit 111 and the touch pad have a layer structure and are configured as a touch screen, the display unit 111 can be used as an input device in addition to the output device. The display unit 111 may be a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, a three-dimensional display A 3D display, and an electrophoretic display. According to the embodiment of the electronic device 100, the electronic device 100 may include two or more display units 111. At this time, the two or more display units 111 may be arranged to face each other using a hinge.

음향 출력부(112)는 통신부(120)로부터 수신되거나 저장부(150)에 저장된 오디오 데이터를 출력할 수 있다. 또한, 음향 출력부(112)는 전자 기기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력할 수 있다. 예를 들어, 음향 출력부(212)에는, 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.The audio output unit 112 may output the audio data received from the communication unit 120 or stored in the storage unit 150. [ The sound output unit 112 may output a sound signal related to a function (e.g., a call signal reception sound, a message reception sound, a notification sound) performed in the electronic device 100. [ For example, the sound output unit 212 may include a speaker, a buzzer, and the like, but is not limited thereto.

진동 모터(113)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(113)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. The vibration motor 113 can output a vibration signal. For example, the vibration motor 113 may output a vibration signal corresponding to an output of audio data or video data (e.g., a call signal reception tone, a message reception tone, etc.).

출력부(110)는, 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공할 수 있다. 예를 들어, 출력부(110)는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시하거나, 악보에 따라 음악을 재생할 수 있다. The output unit 110 can provide music information corresponding to the corrected discrete melody lines. For example, the output unit 110 may display a score corresponding to the corrected discrete melody line, or may play music according to the score.

상기 출력부(110)는, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수도 있다. 예를 들어, 출력부(110)는, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수 있다. 또한, 출력부(110)는, 사용자에 의해 선택된 음악가의 특성 정보에 대응하는 반주를 제공할 수도 있다. The output 110 may provide an accompaniment corresponding to a corrected discrete melody line. For example, the output 110 may provide an accompaniment corresponding to a corrected discrete melody line, based on at least one of the type, intensity, change, and tone of the uttered voice from the user. The output unit 110 may also provide an accompaniment corresponding to the characteristic information of the musicians selected by the user.

통신부(120)는, 전자 기기(100)와 외부 기기 또는 전자 기기(100)와 서버 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(120)는, 근거리 통신부(121), 이동 통신부(122), 방송 수신부(123)를 포함할 수 있다. The communication unit 120 may include one or more components that allow communication between the electronic device 100 and an external device or between the electronic device 100 and the server. For example, the communication unit 120 may include a short-range communication unit 121, a mobile communication unit 122, and a broadcast reception unit 123.

근거리 통신부(short-range wireless communication unit)(121)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 예르ㅔㄹ 들어, 근거리 통신부(121)는 Li-Fi(Light Fidelity) 통신부를 포함할 수도 있다. The short-range wireless communication unit 121 includes a Bluetooth communication unit, a Bluetooth low energy (BLE) communication unit, a near field communication unit, a WLAN communication unit, a Zigbee communication unit, IrDA, an infrared data association) communication unit, a WFD (Wi-Fi Direct) communication unit, an UWB (ultra wideband) communication unit, an Ant + communication unit, and the like. For example, the short-range communication unit 121 may include a Li-Fi (Light Fidelity) communication unit.

Li-Fi(Light Fidelity)는, 발광 다이오드(LED)에서 나오는 빛의 파장을 이용하여 정보를 전달하는 가시광 통신(VLC: Visible Light Communication) 기술의 보조 방식을 의미할 수 있다. Li-Fi(Light Fidelity)는, 조명이 있는 곳이면 어디서나 사용할 수 있으며 인체에 무해하다. 또한, Li-Fi(Light Fidelity)는, 짧은 도달 거리로 인해 안정성, 보안성이 강하며, 저비용, 고속 통신이 가능하다는 장점이 있다. Li-Fi (Light Fidelity) may refer to an assisted method of Visible Light Communication (VLC) technology that transmits information using the wavelength of light emitted from a light emitting diode (LED). Li-Fi (Light Fidelity) can be used wherever lighting is available and is harmless to the human body. In addition, Li-Fi (Light Fidelity) is advantageous in that stability and security are strong due to short reach distance, and low-cost, high-speed communication is possible.

이동 통신부(122)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.The mobile communication unit 122 transmits and receives radio signals to at least one of a base station, an external terminal, and a server on a mobile communication network. Here, the wireless signal may include various types of data depending on a voice call signal, a video call signal, or a text / multimedia message transmission / reception.

방송 수신부(123)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 기기(100)는 방송 수신부(123)를 포함하지 않을 수도 있다.The broadcast receiving unit 123 receives broadcast signals and / or broadcast-related information from outside via a broadcast channel. The broadcast channel may include a satellite channel and a terrestrial channel. According to an embodiment, the electronic device 100 may not include the broadcast receiver 123.

사용자 입력부(130)는, 사용자가 전자 기기(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(130)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.The user input unit 130 means means for the user to input data for controlling the electronic device 100. [ For example, the user input unit 130 may include a key pad, a dome switch, a touch pad (contact type capacitance type, pressure type resistive type, infrared ray detection type, surface ultrasonic wave conduction type, A tension measuring method, a piezo effect method, etc.), a jog wheel, a jog switch, and the like, but is not limited thereto.

사용자 입력부(130)는, 사용자로부터 음악 신호를 입력 받을 수 있다. 일 실시예에 의하면, 사용자 입력부(130)는, 사용자로부터 발화되는 허밍 신호를 수신하는 음성 입력부를 포함할 수 있다. 또한, 사용자 입력부(130)는 연속적 멜로디 라인을 그리는 터치 입력 또는 모션 입력을 수신할 수도 있다. The user input unit 130 may receive a music signal from a user. According to one embodiment, the user input 130 may include a voice input portion for receiving a humming signal to be uttered by the user. Also, the user input unit 130 may receive a touch input or a motion input that draws a continuous melody line.

사용자 입력부(130)는, 음악가 또는 특정 음악를 선택하는 입력을 수신할 수도 있다. The user input unit 130 may receive an input for selecting a musician or a specific music.

A/V(Audio/Video) 입력부(140)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(141)와 마이크로폰(142) 등이 포함될 수 있다. 카메라(141)는 화상 통화모드 또는 촬영 모드에서 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 카메라(141)를 통해 캡쳐된 이미지는 제어부(170) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. The A / V (Audio / Video) input unit 140 is for inputting an audio signal or a video signal, and may include a camera 141 and a microphone 142. The camera 141 can obtain an image frame such as a still image or a moving image in a video communication mode or a photographing mode. The image captured through the camera 141 may be processed through the control unit 170 or a separate image processing unit (not shown).

카메라(141)에서 처리된 화상 프레임은 저장부(150)에 저장되거나 통신부(120)를 통하여 외부로 전송될 수 있다. 카메라(141)는 전자 기기(100)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.The image frame processed by the camera 141 may be stored in the storage unit 150 or may be transmitted to the outside through the communication unit 120. [ The camera 141 may be equipped with two or more cameras according to the configuration of the electronic device 100. [

마이크로폰(142)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(142)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(142)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다. The microphone 142 receives an external acoustic signal and processes it as electrical voice data. For example, the microphone 142 may receive acoustic signals from an external device or speaker. The microphone 142 may use various noise reduction algorithms to remove noise generated in receiving an external sound signal.

일 실시예에 의하면, A/V(Audio/Video) 입력부(140)는 사용자 입력부(130)로 동작할 수도 있다. 예를 들어, 마이크로폰(142)은 사용자의 음성 입력을 수신할 수 있고, 카메라(141)는 사용자의 모션 입력을 인식할 수 있다. According to one embodiment, the A / V (Audio / Video) input unit 140 may operate as the user input unit 130. For example, the microphone 142 may receive the user's voice input, and the camera 141 may recognize the user's motion input.

저장부(150)는, 제어부(170)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 허밍 신호, 이산적인 멜로디 라인, 악보, 반주 등)을 저장할 수도 있다. The storage unit 150 may store a program for processing and controlling the control unit 170 and may store input / output data (e.g., a humming signal, a discrete melody line, a score, an accompaniment, etc.).

저장부(150)는, 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다. The storage unit 150 may include, for example, an internal memory or an external memory. The internal memory may be, for example, a volatile memory (e.g., dynamic RAM, SRAM, or synchronous dynamic RAM (SDRAM)), a non-volatile memory (e.g., an OTPROM time programmable ROM (ROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash) Or a solid state drive (SSD).

외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 기기(100)와 기능적으로 및/또는 물리적으로 연결될 수 있다. 또한, 전자 기기(100)는 인터넷(internet)상에서 저장부(150)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영할 수도 있다.The external memory may be a flash drive such as a compact flash (CF), a secure digital (SD), a micro secure digital (SD), a mini secure digital (SD), an extreme digital A multi-media card (MMC), a memory stick, or the like. The external memory may be functionally and / or physically connected to the electronic device 100 via various interfaces. Also, the electronic device 100 may operate a web storage that performs a storage function of the storage unit 150 on the Internet.

저장부(150)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 노트 생성 모듈(151), 코드 생성 모듈(152), 반주 생성 모듈(153) 등으로 분류될 수 있으나, 이에 한정되는 것은 아니다. Programs stored in the storage unit 150 may be classified into a plurality of modules according to their functions. For example, the programs may be classified into a note generation module 151, a code generation module 152, an accompaniment generation module 153, But is not limited thereto.

노트 생성 모듈(151)은 도 5의 단계 S510 내지 단계 S550 및 도 8의 단계 S810 내지 단계 S850을 수행함으로써, 이산적인 멜로디 라인에 대응하는 음표들을 생성할 수 있다. The note generating module 151 may generate the notes corresponding to discrete melody lines by performing steps S510 to S550 in Fig. 5 and steps S810 to S850 in Fig.

코드 생성 모듈(152)은 도 16의 단계 S1610 내지 단계 S1620를 수행함으로써, 이산적인 멜로디 라인에 맞는 코드를 생성할 수 있다. The code generation module 152 can generate the code corresponding to the discrete melody line by performing steps S1610 to S1620 in Fig.

반주 생성 모듈(153)은, 도 18의 단계 S1810 내지 단계 S1830 또는 도 21의 단계 S2110 내지 단계 S2130을 수행함으로써, 사용자의 의도에 부합하는 반주를 생성할 수 있다. The accompaniment creation module 153 can generate an accompaniment that matches the user's intention by performing steps S1810 to S1830 in Fig. 18 or steps S2110 to S2130 in Fig.

한편, 저장부(150)는, 멜로디 진행에 관한 통계 정보(154), 음악가의 특성 정보 (155), Chord Transition Matrix(1710), Chord Observation Matrix(1720) 등을 저장할 수도 있다. The storage unit 150 may store statistical information 154 on melody progression, characteristic information 155 of a musician, a Chord Transition Matrix 1710, a Chord Observation Matrix 1720, and the like.

멜로디 진행에 관한 통계 정보(154)는 음 길이 진행 순서의 경향(예컨대, 제 1 음표 다음에 제 2 음표가 올 확률), 음 길이 사용 경향(예컨대, 음표 사용 횟수에 관한 수치), 음 높이 진행 경향(예컨대, 제 1 표준 음 다음에 제 2 표준음이 올 확률) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 음악가의 특성 정보(155)는, 반주 장르, 코드 진행 방식, 악기 편성 방식 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. The statistical information 154 regarding the melody progression may include a tendency of the tone length proceeding order (for example, a probability that the second note comes after the first note), a tendency to use a sound length (for example, (E.g., a probability that the second standard sound comes after the first standard sound), and the like. However, the present invention is not limited thereto. The characteristic information 155 of the musician may include, but is not limited to, accompaniment genre, code progression style, musical instrument style, and the like.

센싱부(160)는, 전자 기기(100)의 상태 또는 전자 기기(100) 주변의 상태를 감지하고, 감지된 정보를 제어부(170)로 전달할 수 있다. The sensing unit 160 may sense the state of the electronic device 100 or the state around the electronic device 100 and may transmit the sensed information to the control unit 170. [

센싱부(160)는, 지자기 센서(Magnetic sensor)(161), 가속도 센서(Acceleration sensor)(162), 기울기 센서(163), 적외선 센서(164), 자이로스코프 센서(165), 위치 센서(166), 지문 센서(167), 근접 센서(168), 및 광 센서(169) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.The sensing unit 160 includes a geomagnetic sensor 161, an acceleration sensor 162, a tilt sensor 163, an infrared sensor 164, a gyroscope sensor 165, a position sensor 166 ), A fingerprint sensor 167, a proximity sensor 168, and an optical sensor 169, but is not limited thereto. The function of each sensor can be intuitively deduced from the name by those skilled in the art, so a detailed description will be omitted.

제어부(170)는, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(170)는, 저장부(150)에 저장된 프로그램들을 실행함으로써, 출력부(110), 통신부(120), 사용자 입력부(130), A/V 입력부(140), 저장부(150), 센싱부(160) 등을 전반적으로 제어할 수 있다. The control unit 170 typically controls the overall operation of the electronic device 100. For example, the control unit 170 controls the output unit 110, the communication unit 120, the user input unit 130, the A / V input unit 140, the storage unit 150, 150, the sensing unit 160, and the like.

제어부(170)는, 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성할 수 있다. 예를 들어, 제어부(170)는, 원본의 음악 신호를 언더 샘플링하고, 언더 샘플링된 음악 신호를 주파수 신호로 변환할 수 있다. 그리고 제어부(170)는 주파수 신호를 분석하여, 각각의 프레임에 대응하는 후보 피치 주파수 영역을 검출하고, 원본의 음악 신호를 이용하여, 후보 피치 주파수 영역 중에서 각각의 프레임에 대응하는 피치 주파수를 결정할 수 있다. 제어부(170)는, 이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정할 수도 있다. 제어부(170)는 각각의 프레임에 대응하는 피치 주파수를 연결하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성할 수 있다.The control unit 170 may generate a continuous melody line corresponding to the music signal using the pitch frequencies detected in the music signal. For example, the control unit 170 can undersample the original music signal and convert the undersampled music signal to a frequency signal. The control unit 170 analyzes the frequency signal, detects a candidate pitch frequency region corresponding to each frame, and uses the original music signal to determine a pitch frequency corresponding to each frame in the candidate pitch frequency region have. The control unit 170 may determine the pitch frequency of the current frame in consideration of the information on the pitch frequency of the previous frame. The control unit 170 may generate a continuous melody line corresponding to the music signal by connecting the pitch frequencies corresponding to the respective frames.

제어부(170)는, 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수도 있다. The control unit 170 converts the continuous melody lines into discrete melody lines based on at least one of the standard tone length and the standard tone height, and uses the statistical information on the melody progression to correct the discrete melody lines It is possible.

한편, 제어부(170)는, 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정할 수도 있고, 사용자에 의해 선택된 음악가의 특성 정보에 대응하는 반주를 제공할 수도 있다. On the other hand, the control unit 170 may correct the length or height of the sound included in the discrete melody line in consideration of the information about the genre or musician selected by the user, And may provide an accompaniment corresponding to the information.

일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to one embodiment may be implemented in the form of program instructions that may be executed through various computer means and recorded on 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 recorded on the medium may be those specially designed and configured for the present invention 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.

일 실시예에 의하면, 전자 기기(100)는, 사용자로부터 입력된 멜로디 라인을 사용자의 의도를 반영하여 보정함으로써, 작곡 등에 도움이 되는 음악 정보를 제공할 수 있다. According to one embodiment, the electronic device 100 can provide music information that is useful for composition, etc. by correcting the melody line input from the user by reflecting the intention of the user.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.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, It belongs to the scope of right.

Claims (15)

음악 정보를 제공하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 있어서,
상기 방법은,
사용자로부터 발화되는 허밍 신호에 대한 정보를 메모리에 저장하기 위한 사용자 입력을 수신하기 위해 제 1 GUI(Graphic User Interface)를 제공하도록 디스플레이부를 제어하는 단계;
상기 제 1 GUI를 통하여 상기 사용자 입력이 수신되면 사용자로부터 상기 허밍 신호를 입력받고, 상기 입력된 허밍 신호에 대한 정보를 저장하도록 메모리를 제어하는 단계;
상기 입력된 허밍 신호에 대한 정보에 기초하여 상기 허밍 신호에 포함된 음들의 피치 주파수들을 검출하는 단계;
상기 피치 주파수들을 이용하여 상기 허밍 신호에 포함된 음들의 높낮이를 나타내는 연속적인 라인(line)을 실시간으로 제공하도록 상기 디스플레이부를 제어하는 단계; 및
상기 연속적인 라인에 대응하는 제 1 악보를 생성하고, 상기 생성된 제 1 악보를 제공하도록 상기 디스플레이부를 제어하는 단계를 포함하고,
상기 연속적인 라인은 상기 허밍 신호에 포함된 상기 음들 각각의 길이에 따라 변경되는, 기록매체.
A computer-readable recording medium storing a program for causing a computer to execute a method of providing music information,
The method comprises:
Controlling the display unit to provide a first GUI (Graphic User Interface) for receiving a user input for storing information on a humming signal being emitted from the user in a memory;
Controlling the memory to receive the humming signal from a user when the user input is received through the first GUI and to store information about the input humming signal;
Detecting pitch frequencies of notes included in the humming signal based on the information on the input humming signal;
Controlling the display unit to provide, in real time, a continuous line indicating a pitch of the sounds included in the humming signal using the pitch frequencies; And
Generating a first score corresponding to the continuous line, and controlling the display unit to provide the generated first score,
Wherein the continuous line is changed according to a length of each of the notes included in the humming signal.
제 1 항에 있어서, 상기 방법은,
상기 디스플레이부에 제공된 제 2 GUI를 통하여 수신된 사용자 입력에 따라 복수의 음악 장르들 중에서 적어도 하나의 장르를 선택하는 단계; 및
상기 선택된 적어도 하나의 장르에 기초하여 상기 제 1 악보에 대응하는 반주를 제공하도록 출력부를 제어하는 단계를 더 포함하는, 기록매체.
The method of claim 1,
Selecting at least one genre among a plurality of music genres according to a user input received through a second GUI provided on the display unit; And
And controlling the output unit to provide an accompaniment corresponding to the first score based on the selected at least one genre.
제 2 항에 있어서,
상기 반주는 상기 선택된 적어도 하나의 장르에 대응하는 적어도 하나의 악기의 편성에 기초하여 생성되는, 기록매체.
3. The method of claim 2,
Wherein the accompaniment is generated based on a combination of at least one musical instrument corresponding to the selected at least one genre.
제 1 항에 있어서,
상기 방법은,
상기 제 1 악보 내에 포함된 음표를 수정하기 위한 사용자 입력이 수신되면, 음표의 위치를 변경하기 위한 제 1 메뉴, 및 음의 높이를 변경하기 위한 제 2 메뉴 및 음표의 길이를 변경하기 위한 제 3 메뉴를 포함하는 제 3 GUI를 제공하도록 상기 디스플레이부를 제어하는 단계; 및
상기 제 3 GUI를 통하여 수신된 사용자 입력에 따라 상기 제 1 악보가 수정된 제 2 악보를 제공하도록 상기 디스플레이부를 제어하는 단계를 더 포함하는, 기록매체.
The method according to claim 1,
The method comprises:
When a user input for modifying a note included in the first score is received, a first menu for changing the position of the note and a second menu for changing the pitch of the note, and a third menu for changing the length of the note, Controlling the display unit to provide a third GUI including a menu; And
And controlling the display unit to provide a second score in which the first score is modified according to a user input received via the third GUI.
제 4 항에 있어서,
상기 제 2 악보는 상기 제 1 악보에 대응하는 조성, 코드 및 상기 제 1 악보에 표시된 음표 중 적어도 하나가 수정된 악보를 포함하는, 기록매체.
5. The method of claim 4,
Wherein the second score includes a score corresponding to at least one of a composition corresponding to the first score, a code, and a note displayed on the first score.
디스플레이부;
허밍 신호에 대한 정보를 저장하는 메모리; 및
상기 디스플레이부에 표시된 제 1 GUI(Graphic User Interface)를 통하여 수신된 사용자 입력에 따라 상기 허밍 신호를 수신하고, 상기 수신된 허밍 신호에 대한 정보에 기초하여 상기 허밍 신호에 포함된 음들의 피치 주파수들을 검출하고, 상기 피치 주파수들을 이용하여 상기 허밍 신호에 포함된 음들의 높낮이를 나타내는 연속적인 라인을 실시간으로 제공하도록 상기 디스플레이부를 제어하고, 상기 연속적인 라인에 대응하는 제 1 악보를 생성하고, 상기 제 1 악보를 상기 디스플레이부에 표시하는 프로세서;를 포함하고,
상기 연속적인 라인은 상기 허밍 신호에 포함된 상기 음들 각각의 길이에 따라 변경되는, 음악 정보를 제공하는 장치.
A display unit;
A memory for storing information about a humming signal; And
And a controller for receiving the humming signal according to a user input received through a first GUI (Graphic User Interface) displayed on the display unit, and generating pitch frequencies of the tones included in the humming signal based on the information about the received humming signal And controlling the display unit to provide a continuous line indicating the height of the tones included in the humming signal in real time using the pitch frequencies, generating a first score corresponding to the continuous line, And a processor for displaying one score on the display unit,
Wherein the continuous line is changed according to a length of each of the notes included in the humming signal.
제 6 항에 있어서,
상기 프로세서는
상기 디스플레이부에 표시된 제 2 GUI를 통하여 수신된 사용자 입력에 따라 복수의 음악 장르들 중에서 적어도 하나의 장르를 선택하고, 상기 선택된 적어도 하나의 장르에 기초하여 상기 제 1 악보에 대응하는 반주를 출력하는, 음악 정보를 제공하는 장치.
The method according to claim 6,
The processor
Selecting at least one genre among a plurality of musical genres according to a user input received through a second GUI displayed on the display unit and outputting an accompaniment corresponding to the first musical score based on the selected at least one genre , A device for providing music information.
제 7 항에 있어서,
상기 반주는 상기 선택된 장르에 대응하는 적어도 하나의 악기의 편성에 기초하여 생성되는, 음악 정보를 제공하는 장치.
8. The method of claim 7,
Wherein the accompaniment is generated based on a combination of at least one musical instrument corresponding to the selected genre.
제 6 항에 있어서,
상기 프로세서는
상기 제 1 악보 내에 포함된 음표를 수정하기 위한 사용자 입력이 수신되면, 음표의 위치를 변경하기 위한 메뉴, 음의 높이를 변경하기 위한 메뉴 및 음표의 길이를 변경하기 위한 메뉴 중 적어도 하나를 포함하는 제 3 GUI를 제공하도록 상기 디스플레이부를 제어하고, 상기 제 3 GUI를 통하여 수신된 사용자 입력에 따라 상기 제 1 악보가 수정된 제 2 악보를 상기 디스플레이부에 표시하는, 음악 정보를 제공하는 장치.
The method according to claim 6,
The processor
Wherein when a user input for modifying a note included in the first score is received, a menu for changing the position of the note, a menu for changing the pitch of the note, and a menu for changing the length of the note And controls the display unit to provide a third GUI, and displays the second score on the display unit in which the first score is modified according to a user input received via the third GUI.
제 9 항에 있어서,
상기 제 2 악보는 상기 제 1 악보에 대응하는 조성, 코드 및 상기 제 1 악보에 표시된 음표 중 적어도 하나가 수정된 악보를 포함하는, 음악 정보를 제공하는 장치.
10. The method of claim 9,
Wherein the second score comprises a score corresponding to at least one of a composition corresponding to the first score, a code, and a note displayed on the first score.
전자 기기가 음악 정보를 제공하는 방법에 있어서,
사용자로부터 발화되는 허밍 신호에 대한 정보를 메모리에 저장하기 위한 사용자 입력을 수신하기 위해 제 1 GUI(Graphic User Interface)를 표시하는 단계;
상기 제 1 GUI를 통하여 상기 사용자 입력이 수신되면 사용자로부터 상기 허밍 신호를 입력받고, 상기 입력된 허밍 신호에 대한 정보를 저장하는 단계;
상기 입력된 허밍 신호에 대한 정보에 기초하여 상기 허밍 신호에 포함된 음들의 피치 주파수들을 검출하는 단계;
상기 피치 주파수들을 이용하여 상기 허밍 신호에 포함된 음들의 높낮이를 나타내는 연속적인 라인을 표시하는 단계; 및
상기 연속적인 라인에 대응하는 제 1 악보를 생성하여 표시하는 단계를 포함하고,
상기 연속적인 라인은 상기 허밍 신호에 포함된 상기 음들 각각의 길이에 따라 변경되는, 음악 정보를 제공하는 방법.
A method for providing music information by an electronic device,
Displaying a first graphical user interface (GUI) to receive user input for storing information about a humming signal being fired from a user in a memory;
Receiving the humming signal from a user when the user input is received through the first GUI, and storing information about the input humming signal;
Detecting pitch frequencies of notes included in the humming signal based on the information on the input humming signal;
Using the pitch frequencies to display successive lines representing the pitch of the notes included in the humming signal; And
And generating and displaying a first score corresponding to the continuous line,
Wherein the continuous line is changed according to the length of each of the notes included in the humming signal.
제 11 항에 있어서, 상기 음악 정보를 제공하는 방법은,
제 2 GUI를 통하여 수신된 사용자 입력에 따라 복수의 음악 장르들 중에서 적어도 하나의 장르를 선택하는 단계; 및
상기 선택된 적어도 하나의 장르에 기초하여 상기 악보에 대응하는 반주를 제공하는 단계를 더 포함하는, 음악 정보를 제공하는 방법.
12. The method of claim 11,
Selecting at least one genre among a plurality of music genres according to a user input received through a second GUI; And
And providing an accompaniment corresponding to the musical score based on the selected at least one genre.
제 12 항에 있어서,
상기 반주는 상기 선택된 장르에 대응하는 적어도 하나의 악기의 편성에 기초하여 생성되는, 음악 정보를 제공하는 방법.
13. The method of claim 12,
Wherein the accompaniment is generated based on a combination of at least one musical instrument corresponding to the selected genre.
제 11 항에 있어서,
상기 음악 정보를 제공하는 방법은,
상기 제 1 악보 내에 포함된 음표를 수정하기 위한 사용자 입력이 수신되면, 음표의 위치를 변경하기 위한 메뉴, 음의 높이를 변경하기 위한 메뉴 및 음표의 길이를 변경하기 위한 메뉴 중 적어도 하나를 포함하는 제 3 GUI를 제공하도록 상기 디스플레이부를 제어하는 단계; 및
상기 제 3 GUI를 통하여 수신된 사용자 입력에 따라 상기 제 1 악보가 수정된 제 2 악보를 제공하는 단계를 더 포함하는, 음악 정보를 제공하는 방법.
12. The method of claim 11,
A method of providing music information,
Wherein when a user input for modifying a note included in the first score is received, a menu for changing the position of the note, a menu for changing the pitch of the note, and a menu for changing the length of the note Controlling the display unit to provide a third GUI; And
And providing a second musical score in which the first musical score is modified according to a user input received through the third GUI.
제 14 항에 있어서,
상기 제 2 악보는 상기 제 1 악보에 대응하는 조성, 코드 및 상기 제 1 악보에 표시된 음표 중 적어도 하나가 수정된 악보를 포함하는, 음악 정보를 제공하는 방법.
15. The method of claim 14,
Wherein the second score includes a score corresponding to at least one of a composition corresponding to the first score, a code, and a note displayed on the first score.
KR1020170168397A 2016-03-11 2017-12-08 Method and electronic apparatus for providing music information KR20170141164A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160029694 2016-03-11
KR20160029694 2016-03-11

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160126668A Division KR20170106165A (en) 2016-03-11 2016-09-30 Method and electronic apparatus for providing music information

Publications (1)

Publication Number Publication Date
KR20170141164A true KR20170141164A (en) 2017-12-22

Family

ID=60033968

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160126668A KR20170106165A (en) 2016-03-11 2016-09-30 Method and electronic apparatus for providing music information
KR1020170168397A KR20170141164A (en) 2016-03-11 2017-12-08 Method and electronic apparatus for providing music information

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020160126668A KR20170106165A (en) 2016-03-11 2016-09-30 Method and electronic apparatus for providing music information

Country Status (1)

Country Link
KR (2) KR20170106165A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063360A1 (en) * 2022-09-19 2024-03-28 삼성전자주식회사 Electronic device and control method therefor

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108108457B (en) * 2017-12-28 2020-11-03 广州市百果园信息技术有限公司 Method, storage medium, and terminal for extracting large tempo information from music tempo points
US10540139B1 (en) 2019-04-06 2020-01-21 Clayton Janes Distance-applied level and effects emulation for improved lip synchronized performance
CN115550503B (en) * 2021-06-30 2024-04-23 华为技术有限公司 Method and device for generating multiple sound effects, terminal equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024063360A1 (en) * 2022-09-19 2024-03-28 삼성전자주식회사 Electronic device and control method therefor

Also Published As

Publication number Publication date
KR20170106165A (en) 2017-09-20

Similar Documents

Publication Publication Date Title
US9928835B1 (en) Systems and methods for determining content preferences based on vocal utterances and/or movement by a user
US20170092246A1 (en) Automatic music recording and authoring tool
US9824719B2 (en) Automatic music recording and authoring tool
US8940992B2 (en) Systems and methods thereof for determining a virtual momentum based on user input
US10504498B2 (en) Real-time jamming assistance for groups of musicians
KR20170141164A (en) Method and electronic apparatus for providing music information
US20070289432A1 (en) Creating music via concatenative synthesis
US9852721B2 (en) Musical analysis platform
US9804818B2 (en) Musical analysis platform
US20210027800A1 (en) Method for processing audio, electronic device and storage medium
US10140967B2 (en) Musical instrument with intelligent interface
JP2023081946A (en) Learning device, automatic music transcription device, learning method, automatic music transcription method and program
US10013963B1 (en) Method for providing a melody recording based on user humming melody and apparatus for the same
CN106205571A (en) A kind for the treatment of method and apparatus of singing voice
KR101325722B1 (en) Apparatus for generating musical note fit in user's song and method for the same
US11842720B2 (en) Audio processing method and audio processing system
JP4170279B2 (en) Lyric display method and apparatus
CN113066462B (en) Sound modification method, device, equipment and storage medium
CN113781989A (en) Audio animation playing and rhythm stuck point identification method and related device
US8912420B2 (en) Enhancing music
Sion Harmonic interaction for monophonic instruments through musical phrase to scale recognition
Carelli Voice to musical instrument translation in a performance environment
JP4173475B2 (en) Lyric display method and apparatus
US20240112689A1 (en) Synthesizing audio for synchronous communication
US20220044666A1 (en) Intelligent accompaniment generating system and method of assisting a user to play an instrument in a system

Legal Events

Date Code Title Description
A107 Divisional application of patent