KR20170106165A - 음악 정보 제공 방법 및 이를 위한 전자 기기 - Google Patents

음악 정보 제공 방법 및 이를 위한 전자 기기 Download PDF

Info

Publication number
KR20170106165A
KR20170106165A KR1020160126668A KR20160126668A KR20170106165A KR 20170106165 A KR20170106165 A KR 20170106165A KR 1020160126668 A KR1020160126668 A KR 1020160126668A KR 20160126668 A KR20160126668 A KR 20160126668A KR 20170106165 A KR20170106165 A KR 20170106165A
Authority
KR
South Korea
Prior art keywords
melody line
electronic device
discrete
user
melody
Prior art date
Application number
KR1020160126668A
Other languages
English (en)
Inventor
가기환
안지호
최병익
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2017/000241 priority Critical patent/WO2017155200A1/ko
Publication of KR20170106165A publication Critical patent/KR20170106165A/ko

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

Abstract

사용자로부터 음악 신호를 입력 받는 단계; 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하는 단계; 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 단계; 및 멜로디 진행에 관한 통계 정보를 이용하여, 상기 이산적인 멜로디 라인을 보정하는 단계를 포함하는 음악 정보 제공 방법을 개시한다.

Description

음악 정보 제공 방법 및 이를 위한 전자 기기{METHOD AND ELECTRONIC APPARATUS FOR PROVIDING MUSIC INFORMATION}
사용자로부터 입력된 음악 신호에 대응하는 음악 정보를 제공하는 음악 정보 제공 방법 및 이를 위한 전자 기기에 관한 것이다.
모바일 단말은 다양한 기능을 수행할 수 있도록 구성될 수 있다. 그러한 다양한 기능들의 예로 데이터 및 음성 통신 기능, 카메라를 통해 사진이나 동영상을 촬영하는 기능, 음성 저장 기능, 스피커 시스템을 통한 음악 파일의 재생 기능, 이미지나 비디오의 디스플레이 기능 등이 있다.
일부 모바일 단말은 게임을 실행할 수 있는 추가적 기능을 포함하고, 다른 일부 모바일 단말은 멀티미디어 기기로서 구현되기도 한다. 또한, 모바일 단말은 악기를 연주하는 기능을 제공하기도 한다.
일 실시예에 의하면, 사용자로부터 입력된 음악 신호를 분석하여, 사용자의 의도에 맞는 음악 정보를 제공하는 방법 및 이를 위한 전자 기기가 제공될 수 있다.
일 실시예에 따르는 음악 정보 제공 방법은, 사용자로부터 음악 신호를 입력 받는 단계; 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하는 단계; 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 단계; 및 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정하는 단계를 포함할 수 있다.
일 실시예에 따르는 음악 정보 제공 방법은, 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공하는 단계를 더 포함할 수 있다.
일 실시예에 따르는 사용자로부터 음악 신호를 입력 받는 단계는, 사용자로부터 발화되는 허밍 신호를 수신하는 단계를 포함할 수 있다.
일 실시예에 따르는 사용자로부터 음악 신호를 입력 받는 단계는, 사용자로부터 연속적인 멜로디 라인을 그리는 입력을 수신하는 단계를 포함할 수 있다.
일 실시예에 따르는 연속적인 멜로디 라인을 생성하는 단계는, 생성된 연속적인 멜로디 라인을 화면에 표시하는 단계를 더 포함할 수 있다.
일 실시예에 따르는 연속적인 멜로디 라인을 생성하는 단계는, 원본의 음악 신호를 언더 샘플링하는 단계; 언더 샘플링된 음악 신호를 주파수 신호로 변환하는 단계; 주파수 신호를 분석하여, 각각의 프레임에 대응하는 후보 피치 주파수 영역을 검출하는 단계; 및 원본의 음악 신호를 이용하여, 상기 후보 피치 주파수 영역 중에서 상기 각각의 프레임에 대응하는 피치 주파수를 결정하는 단계를 포함할 수 있다.
일 실시예에 따르는 연속적인 멜로디 라인을 생성하는 단계는, 이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정하는 단계를 포함할 수 있다.
일 실시예에 따르는 이산적인 멜로디 라인을 보정하는 단계는, 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정하는 단계를 포함할 수 있다.
일 실시예에 따르는 이산적인 멜로디 라인을 보정하는 단계는, 사용자로부터 입력된 기준음에 기초하여, 이산적인 멜로디 라인을 보정하는 단계를 포함할 수 있다.
일 실시예에 따르는 음악 정보를 제공하는 단계는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시하는 단계; 및 악보에 따라, 음악을 재생하는 단계를 포함할 수 있다.
일 실시예에 따르는 음악 정보를 제공하는 단계는, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수 있다.
일 실시예에 따르는 음악 정보를 제공하는 단계는, 음악가를 선택하는 입력을 수신하는 단계; 및 선택된 음악가의 특성 정보에 대응하는 반주를 제공하는 단계를 포함할 수 있다.
일 실시예에 따르는 전자 기기는, 사용자로부터 음악 신호를 입력 받는 사용자 입력부; 및 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하고, 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정하는 제어부를 포함할 수 있다.
도 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은 일 실시예에 따르는 음악 정보 제공 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 음악 정보 제공 시스템은 전자 기기(100)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 음악 정보 제공 시스템이 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 음악 정보 제공 시스템이 구현될 수 있다. 예를 들어, 음악 정보 제공 시스템은 전자 기기(100) 및 서버를 포함할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는 사용자로부터 입력된 멜로디 라인에 대응하는 음악 정보를 제공하는 기기일 수 있다. 예를 들어, 전자 기기(100)는, 사용자로부터 발화되는 허밍(예컨대, nanana...)을 감지하고, 허밍에 대응하는 악보 또는 연주를 제공해 주는 기기일 수 있다.
본 명세서에서, 멜로디는, 음악에서 일정 높이(pitch)와 일정 길이(duration)를 가지는 음을 나열한 것일 수 있다. 또한, 멜로디 라인은, 사용자가 발화한 소리의 기본주파수(fundamental frequency)의 연속적인 나열을 의미할 수 있으며, 선이나 점 등으로 표현될 수 있다. 멜로디 라인은, 하나 이상의 연속되는 음표(예컨대, 이산적인 멜로디 라인)로 변환되기 위한 기반이 되는 정보일 수 있다. 멜로디 라인은, 하나일 수도 있고, 복수 개일 수도 있다.
또한, 일 실시예에 의하면, 전자 기기(100)는 사용자로부터 입력된 멜로디 라인에 대응하는 음악 정보(예컨대, 악보, 코드, 코드 진행, 반주, 음색, 악기 편성, 스타일, 장르, BPM, 조성, 박자, 리듬 등)를 메모리에 저장하거나, 서버에 업로드할 수 있다. 예를 들어, 전자 기기(100)는, 네트워크를 통해 음악 정보를 클라우드 서버에 전송할 수 있다. 여기서, 네트워크는, Wi-Fi(Wireless Fidelity), 홈RF, 블루투스, HR WPAN, UWB, LR WPAN, IEEE 1394 등과 같은 무선 통신 기술 또는 이동 통신 기술로 구현될 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 따른 전자 기기(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)가 모바일 단말인 경우를 예로 들어 설명하기로 한다.
한편, 이하에서는, 도 2를 참조하여, 사용자로부터 입력된 멜로디 라인을 사용자의 의도에 맞게 보정함으로써, 전자 기기(100)가 사용자의 작곡 등에 도움이 되는 음악 정보를 제공하는 방법에 대해서 자세히 살펴보기로 한다.
도 2는 일 실시예에 따르는 전자 기기의 음악 정보 제공 방법을 설명하기 위한 순서도이다.
단계 S210에서, 전자 기기(100)는, 사용자로부터 음악 신호를 입력 받을 수 있다. 사용자로부터 입력되는 음악 신호는, 사용자의 머리 속에 떠오르는 악상 또는 멜로디 라인에 관한 것일 수 있다.
일 실시예에 의하면, 전자 기기(100)는 사용자의 음성 입력을 통해 음악 신호를 입력 받을 수 있다. 예를 들어, 전자 기기(100)는, 사용자로부터 발화되는 허밍 신호를 마이크로폰을 통해 감지할 수 있다. 또한, 전자 기기(100)는, 사용자로부터 발화되는 계이름(예컨대, 도레미파솔라...)을 감지할 수도 있다. 허밍 신호는 사용자로부터 발화되는 허밍 음성일 수 있다.
한편, 전자 기기(100)는 사용자의 터치 입력 또는 모션 입력을 통해 음악 신호를 입력 받을 수도 있다. 예를 들어, 전자 기기(100)는 사용자로부터 멜로디 라인을 그리는 터치 입력 또는 모션 입력을 수신할 수 있다.
사용자가 음악 신호를 입력하는 방법에 대해서는 도 3 및 도 4를 참조하여, 후에 좀 더 자세히 살펴보기로 한다.
단계 S220에서, 전자 기기(100)는, 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성할 수 있다.
피치 주파수는 사용자가 발화한 소리의 기본 주파수(fundamental frequency)를 의미할 수 있다. 따라서, 이하에서는 설명의 편의상 피치 주파수가 기본 주파수로 표현될 수도 있다.
일 실시예에 의하면, 연속적인 멜로디 라인은, 사용자가 발화한 소리의 기본 주파수를 연속적으로 나열한 것을 의미할 수 있다. 연속적인 멜로디 라인은 선, 점의 집합, 또는 숫자들로 표현될 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 마이크로폰으로부터 샘플링되어 입력된 음악 신호(예컨대, PCM data)를 언더 샘플링하고, 언더 샘플링된 음악 신호를 빠르게 스캔하여, 후보 피치 주파수 영역을 검출할 수 있다. 그리고 전자 기기(100)는, 언더 샘플링 되기 전의 음악 신호에서, 후보 피치 주파수 영역을 자세히 스캔하여, 피치 주파수를 검출할 수 있다.
본 명세서에서, 언더 샘플링한다는 것은, 샘플링 레이트(sampling rate)를 낮추는 것 또는 프레임 당 샘플 수를 줄이는 것을 의미할 수 있다. 샘플링 레이트(sampling rate)는 샘플링의 정교함에 대한 주파수(Frequency)를 의미하며, 초당 샘플을 수치로 표현한 것이다.
예를 들어, 전자 기기(100)는, 시간 영역(time domain)의 음악 신호를 언더 샘플링하고, 고속 푸리에 변환(FFT, fast Fourier transform) 등을 이용하여, 언더 샘플링된 시간 영역의 음악 신호를 주파수 신호로 변환할 수 있다. 언더 샘플링된 시간 영역의 음악 신호를 주파수 신호로 변환할 경우, 처리 속도는 빨리지나, 주파수 분해능(frequency resolution)이 낮아지므로, 주파수 영역(frequency domain)에서는 정확한 피치 주파수를 검출하기 어렵다. 따라서, 전자 기기(100)는, 주파수 영역에서 후보 피치 주파수 영역(range)을 검출하게 된다. 이때, 후보 피치 주파수 영역은 후보 피치 주파수(f0) ± 주파수 분해능(frequency resolution)일 수 있으나, 이에 한정되는 것은 아니다. 한편, 일 실시예에 의하면, 후보 피치 주파수는 프레임 당 하나일 수도 있고, 복수 개일 수도 있다.
전자 기기(100)는, 주파수 영역에서 검출된 후보 피치 주파수 영역에 대응하는 주기(T) 구간(range)에서의 자기 상관 계수들을 언더 샘플링되기 전의 음악 신호를 이용하여 산출할 수 있다. 그리고 전자 기기(100)는 가장 큰 자기 상관 계수를 갖는 주기(T)에 대응하는 주파수(f=1/T)를 피치 주파수로 검출할 수 있다.
전자 기기(100)는, 언더 샘플링되기 전의 시간 영역에서의 음악 신호를 이용하여, 후보 피치 주파수 영역에 대응하는 일정 범위에서 자기 상관 계수를 구하게 되므로, 빠르고 정확하게 피치 주파수를 검출할 수 있다. 전자 기기(100)가 시간 영역의 신호와 주파수 영역의 신호를 이용하여, 각각의 프레임에 대응하는 피치 주파수를 결정하는 동작에 대해서는 도 5를 참조하여 후에 좀 더 자세히 살펴보기로 한다.
일 실시예에 의하면, 전자 기기(100)는, FFT를 수행하지 않고, 시간 영역의 음악 신호만을 이용하여, 피치 주파수를 검출할 수도 있다. 예를 들어, 전자 기기(100)는, 시간 영역(time domain)의 음악 신호를 언더 샘플링하고, 언더 샘플링된 시간 영역의 음악 신호에서 자기 상관 계수를 구함으로써, 후보 피치 영역을 검출할 수 있다. 예를 들어, T=3.3ms에서 자기 상관 계수가 가장 큰 경우, 후보 피치 영역은 '3.3ms ± 0.18 (즉, 3.12ms ~ 3.48ms)'일 수 있다.
전자 기기(100)는, 언더 샘플링되기 전의 음악 신호를 이용하여 후보 피치 영역(예컨대, 3.13ms ~ 3.48ms)에서의 자기 상관 계수들을 다시 산출할 수 있다. 그리고 전자 기기(100)는 가장 큰 자기 상관 계수를 갖는 주기(T)(예컨대, 3.33ms)를 검출할 수 있다. 이때, 전자 기기(100)는, 검출된 주기(T)(예컨대, 3.33ms)에 대응하는 주파수(예컨대, 300.3 Hz)를 피치 주파수로 결정할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정할 수도 있다. 예를 들어, 이전 프레임의 피치 주파수(f0)가 300Hz인 경우, 전자 기기(100)는 현재 프레임의 피치 주파수를 검출하기 위해, 300 Hz 주변(예컨대, 300 ± 16 Hz)을 우선 스캔해 볼 수 있다. 전자 기기(100)가 이전 프레임의 피치 주파수에 관한 정보를 우선적으로 고려하여, 현재 프레임의 피치 주파수를 결정하는 동작에 대해서는 도 8을 참조하여, 후에 좀 더 자세히 살펴보기로 한다.
일 실시예에 의하면, 전자 기기(100)는, 각각의 프레임에서 검출된 피치 주파수들을 연결하여, 사용자로부터 입력된 음악 신호(예컨대, 허밍 신호)에 대응하는 연속적인 멜로디 라인을 생성할 수 있다.
단계 S230에서, 전자 기기(100)는, 표준 음 길이(standard duration) 및 표준 음 높이(standard pitch) 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환할 수 있다.
이산적인 멜로디 라인은, 연속적인 멜로디 라인을 음악적 표기법에 맞게 피치 주파수를 음계로 정규화하고, 음 길이를 음표의 길이로 정규화하여 표현한 것을 의미할 수 있다.
일 실시예에 의하면, 표준 음 길이는 일반적인 음표(예컨대, 온음표, 2분 음표, 4분 음표, 8분 음표, 16분 음표, 32분 음표 등)의 길이일 수 있다. 또한, 표준 음 높이는 음계에 속한 음 높이를 의미할 수 있으며, 예를 들어, 12 음계 또는 60음계를 이용하여 표현한 음 높이를 포함할 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 12음계에 따라 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환할 수 있다. 예를 들어, 연속적인 멜로디 라인의 제 1 구간의 피치 주파수들이 '160Hz 에서 170 Hz 사이의 값'을 가지는 경우, 제 1 구간의 음 높이를 '미(E3)(f0= 164.81 Hz)'로 결정할 수 있다. 또한, 제 1 구간의 길이가 4분 음표의 음 길이에 가까운 경우, 전자 기기(100)는, 제 1 구간의 길이를 4분 음표의 길이로 결정할 수 있다.
일반적으로 사용자가 허밍을 통해 음악 신호를 입력하는 경우, 사용자가 의도한 박자보다 빨라지거나 느려질 수 있으며, 사용자가 의도한 음보다 실제 발성한 음의 높이가 떨어지거나, 발성한 음이 떨리는 등의 문제들이 발생할 수 있다. 하지만, 일 실시예에 따른 전자 기기(100)는 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환함으로써, 상기 문제들을 보완할 수 있다. 전자 기기(100)가 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 동작에 대하여는 도 9를 참조하여, 후에 좀 더 자세히 살펴보기로 한다.
단계 S240에서, 전자 기기(100)는 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수 있다.
멜로디 진행에 관한 통계 정보는, 복수의 곡 (예컨대, 기성 곡 또는 사용자에 의해 선택된 곡)을 분석한 결과 획득되는 멜로디 진행 경향에 관한 통계 또는 확률에 관한 정보일 수 있다. 예를 들어, 멜로디 진행에 관한 통계 정보는, 음 길이 진행 순서의 경향(예컨대, 제 1 음표 다음에 제 2 음표가 올 확률), 음 길이 사용 경향(예컨대, 음표 사용 횟수에 관한 수치), 음 높이 진행 경향(예컨대, 제 1 표준 음 다음에 제 2 표준음이 올 확률) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한, 예를 들어, 전자 기기(100)는 음 높이 진행 경향을 고려하여, 이산적인 멜로디 라인 내의 음의 높이를 보정할 수 있다. 예를 들어, 이산적인 멜로디 라인 내에서 G(솔) 이후 G#(솔#)이 나왔으나, 확률적으로 G(솔) 이후 A(라)의 발생 확률이 높을 경우에는, 전자 기기(100)는 현재 음의 전후의 음 높이 및 이산적으로 변환되기 전의 연속된 멜로디 라인 정보 등을 고려하여, G#(솔#)을 A(라)로 변경할 수 있다.
한편, 멜로디 진행에 관한 통계 정보는, 음악의 장르나, 음악가의 특성에 따라 달라질 수 있다. 예를 들어, 음악의 장르가 다른 경우, 통계를 산출하는데 기초가 되는 곡들이 달라지므로, 멜로디 진행에 관한 통계 정보가 바뀔 수 있다.
따라서, 일 실시예에 의하면, 전자 기기(100)는, 사용자가 특정 장르 또는 특정 음악가를 선택하는 경우, 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정할 수 있다. 예를 들어, 전자 기기(100)는 선택된 장르에 관련된 음계 또는 선택된 음악가의 음악적인 성향을 반영하여, 이산적인 멜로디 라인에 포함된 음을 보정할 수 있다. 예를 들어, 사용자가 국악을 선택한 경우, 전자 기기(100)는 이산적인 멜로디 라인을 5음계의 멜로디 라인으로 변환할 수 있다. 또한, 예를 들어, 사용자가 홀톤 스케일(whole tone scale)을 선택한 경우, 전자 기기(100)는 이산적인 멜로디 라인을 홀톤 스케일에 적합한 6음계의 멜로디 라인으로 변환할 수 있다. 또한, 예를 들어, 사용자가 비틀즈 뮤지션을 선택한 경우, 이산적인 멜로디 라인을 비틀즈의 음악들에서 자주 등장하는 멜로디 라인으로 보정할 수 있다. 전자 기기(100)가 사용자에 의해 선택된 장르 또는 음악가(musician)에 따라 이산적인 멜로디 라인을 보정하는 동작에 대해서는 도 12A 내지 도 12C를 참조하여, 후에 좀 더 자세히 살펴보기로 한다.
일 실시예에 의하면, 전자 기기(100)는, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환할 때, 멜로디 진행에 관한 통계 정보를 반영하여, 이산적인 멜로디 라인을 보정해 줌으로써, 사용자의 의도에 맞는 멜로디 라인을 제공할 수 있다. 또한, 전자 기기(100)는, 특정 장르에 맞게 이산적인 멜로디 라인을 보정해 줌으로써, 사용자가 특정 장르의 반주를 선택하는 경우, 반주와 멜로디 라인이 어울리지 않는 현상이 발생하는 것을 줄일 수 있다.
단계 S250에서, 전자 기기(100)는, 상기 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공할 수 있다.
일 실시예에 의하면, 음악 정보는, 악보, 코드, 코드 진행, 음색, 악기 편성, 스타일, 장르, BPM, 조성, 박자 및 리듬 중 적어도 하나에 관한 정보를 포함할 수 있으며, 악보나 코드 진행 등에 관한 해설을 포함할 수도 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 화면에 표시할 수 있다. 또한, 전자 기기(100)는, 악보에 따라, 음악을 재생할 수도 있다.
한편, 일 실시예에 의하면, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수도 있다. 예를 들어, 전자 기기(100)는, 반주 장르, 멜로디 음색, 반주 악기 편성, 및 BPM(beats per minute) 중 적어도 하나를 결정하여, 보정된 이산적인 멜로디 라인에 맞는 반주를 제공할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수도 있다. 예를 들어, 전자 기기(100)는, 사용자로부터 발화된 음성의 종류가 '나나나..'인 경우와 '빰빰빰..'인 경우에 다른 반주를 제공할 수 있다. 전자 기기(100)가, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공하는 동작에 대해서는 도 21을 참조하여 후에 좀 더 자세히 살펴보기로 한다.
또한, 일 실시예에 의하면, 사용자가 특정 음악가를 선택하는 경우, 전자 기기(100)는, 선택된 특정 음악가의 스타일에 따른 반주를 제공할 수 있다. 예를 들어, 전자 기기(100)는, 선택된 특정 음악가의 특성 정보를 확인하고, 선택된 특정 음악가의 특성 정보에 맞는 반주를 반주 데이터베이스에서 검색할 수 있다. 전자 기기(100)가 특정 음악가의 특성 정보에 대응하는 반주를 제공하는 동작에 대해서는 도 18을 참조하여 후에 좀 더 자세히 살펴보기로 한다.
한편, 전자 기기(100)는 보정된 이산적인 멜로디 라인에 대응하는 악보를 수정하기 위한 GUI를 화면에 표시할 수 있다. 이 경우, 전자 기기(100)는 표시된 GUI를 통한 사용자 입력에 기초하여, 악보를 수정할 수 있다. 예를 들어, 전자 기기(100)는, 음표(음 높이, 음 길이, 음 위치), BPM, 조성, 박자, 음자리표(clef), 코드(chord) 등을 수정할 수 있으나, 이에 한정되지 않는다. 악보를 수정하기 위할 GUI에 대하여는 도 23에서 보다 상세히 설명하기로 한다.
이하에서는, 도 3 및 4를 참조하여, 전자 기기(100)가 사용자로부터 음악 신호를 수신하는 방식에 대해서 자세히 살펴보기로 한다.
도 3은 일 실시예에 따르는 전자 기기가 사용자로부터 허밍 입력을 수신하는 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 사용자는 악상이 떠오르는 경우, 떠오르는 악상을 음성(예컨대, 허밍)으로 발화할 수 있다. 이때, 전자 기기(100)는 마이크로폰을 통해 사용자로부터 발화되는 허밍 신호(300)를 수신할 수 있다.
전자 기기(100)는, 수신되는 허밍 신호(300)를 실시간으로 분석하여, 피치 주파수들을 검출할 수 있다. 그리고 전자 기기(100)는, 피치 주파수들을 연결한 연속적인 멜로디 라인(310)을 실시간으로 화면에 표시할 수 있다. 여기서, 실시간으로 표시한다는 것은, 프레임 단위로 데이터를 처리하여, 처리가 완료된 프레임에 관한 정보를 처리 완료 시 바로 표시하는 것을 의미할 수 있다.
이때, 사용자는 화면에 표시되는 연속적인 멜로디 라인(310)을 확인함으로써, 자신이 떠올린 악상대로 허밍하고 있는 것인지 판단할 수 있다.
한편, 일 실시예에 의하면, 전자 기기(100)는, 녹음 버튼(320)을 제공할 수도 있다. 사용자가 녹음 버튼(320)을 선택하는 경우, 전자 기기(100)는 마이크로폰을 통해 입력되는 허밍 신호(300)를 저장하고, 허밍 신호(300)에 대응하는 악보를 화면에 표시할 수 있다. 예를 들어, 전자 기기(100)는, 12음계에 따라 연속적인 멜로디 라인(310)을 이산적인 멜로디 라인으로 변환하고, 이산적인 멜로디 라인을 멜로디 진행에 관한 통계 정보를 이용하여 보정함으로써, 허밍 신호(300)에 대응하는 악보를 생성할 수 있다.
도 4는 일 실시예에 따르는 전자 기기가 사용자로부터 멜로디 라인을 그리는 입력을 수신하는 동작을 설명하기 위한 순서도이다.
도 4를 참조하면, 사용자는 악상이 떠오르는 경우, 전자 기기(100)에 떠오르는 악상을 선으로 표현할 수 있다. 이때, 전자 기기(100)는, 터치스크린을 통해 연속적인 멜로디 라인을 그리는 터치 입력(400)을 감지할 수 있다.
명세서 전체에서 "터치 입력"이란 사용자가 전자 기기(100)를 제어하기 위해 터치 스크린에 행하는 제스처 등을 의미한다. 예를 들어, 본 명세서에서 기술되는 터치 입력에는 탭, 터치&홀드, 더블 탭, 드래그, 패닝, 플릭, 드래그 앤드 드롭 등이 있을 수 있다.
전자 기기(100)는, 12음계에 따라 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 이산적인 멜로디 라인을 멜로디 진행에 관한 통계 정보를 이용하여 보정함으로써, 터치 입력(400)에 대응하는 악보를 생성할 수 있다.
또한, 도 4에 도시되지는 않았지만, 전자 기기(100)는 이미지 센서 또는 깊이 센서를 이용하여 사용자가 공중에서 연속적인 멜로디 라인을 그리는 모션 입력을 감지할 수도 있다.
예를 들어, 이미지 센서는 입력 도구의 움직임을 측정함으로써, 연속적인 멜로디 라인을 그리는 모션 입력을 감지할 수 있다. 여기서, 입력 도구는 펜, 손가락, 지휘봉, 막대기 등일 수 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 깊이 센서는 입력 도구의 깊이 값을 측정함으로써, 연속적인 멜로디 라인을 그리는 제스처를 감지할 수 있다. 깊이 값은 깊이 센서로부터 특정 객체까지의 거리에 대응할 수 있다. 따라서, 깊이 센서로부터 특정 객체까지의 거리가 멀수록 깊이 값이 커질 수 있다.
일 실시예에 의하면, 깊이 센서는 다양한 방식으로 입력 도구의 깊이 값을 획득할 수 있다. 예를 들어, 깊이 센서는 TOF(Time of flight) 방식, 스테레오스코프 비전(stereoscopic vision) 방식, 구조화 광 패턴(structured light pattern) 방식 중 적어도 하나의 방식을 이용하여 깊이 값을 측정할 수 있다.
전자 기기(100)는, 모션 입력으로 입력된 연속적인 멜로디 라인을 12음계에 따라 이산적인 멜로디 라인으로 변환하고, 이산적인 멜로디 라인을 멜로디 진행에 관한 통계 정보를 이용하여 보정함으로써, 모션 입력에 대응하는 악보를 생성할 수 있다.
이하에서는, 도 5를 참조하여, 사용자가 음성으로 음악 신호를 입력한 경우에 있어서, 전자 기기(100)가 연속적인 멜로디 라인을 생성하기 위한 피치 주파수를 검출하는 방법에 대해서 자세히 살펴보기로 한다.
도 5는 일 실시예에 따르는 피치 주파수를 결정하는 방법을 설명하기 위한 순서도이다.
단계 S510에서, 전자 기기(100)는, 원본의 제 n 프레임에 대한 언더 샘플링할 수 있다. 이때, n은 1, 2, 3,...등의 정수일 수 있으며, 원본의 제 n 프레임은 시간 영역(time domain)의 음악 신호(PCM 데이터)일 수 있다.
일 실시예에 의하면, 사용자로부터 입력된 시간 영역의 음악 신호는 복수의 프레임으로 구별될 수 있으며, 전자 기기(100)는, 복수의 프레임 각각에 대해 순차적으로 언더 샘플링을 수행할 수 있다.
예를 들어, 도 6을 참조하면, 원본의 제 n 프레임의 샘플링 레이트(610)가 44100Hz일 수 있다. 이때, 전자 기기(100)가 원본의 제 n 프레임을 언더 샘플링하는 경우, 언더 샘플링된 제 n 프레임의 샘플링 레이트(620)는 8000Hz일 수 있다. 제 n 프레임의 사이즈가 128ms인 경우, 원본의 제 n 프레임에 포함된 샘플 수는 5644.8개일 수 있으며, 언더 샘플링된 제 n 프레임에 포함된 샘플 수는 1024개일 수 있다.
단계 S520에서, 전자 기기(100)는, 언더 샘플링된 제 n 프레임을 주파수 신호로 변환할 수 있다. 예를 들어, 전자 기기(100)는 언더 샘플링된 제 n 프레임에 대한 고속 푸리에 변환(FFT, fast Fourier transform)을 진행할 수 있다. 이때, 전자 기기(100)는, 처리 속도를 높이기 위해, 언더 샘플링된 제 n 프레임을 중첩하여 FFT를 진행할 수 있다. 예를 들어, 제 n 프레임의 사이즈가 128 ms이고, 샘플 수가 1024 개인 경우, 전자 기기(100)는, 프레임 별로 4번씩 중첩(overlapping)하여, FFT를 진행할 수 있다.
이때, 언더 샘플링된 데이터에 대한 FFT를 진행하므로, 처리 속도는 빨라지는 반면 주파수 분해능(Frequency resolution)은 낮아질 수밖에 없다. 예를 들어, 샘플링 레이트가 8000Hz인 1024 샘플들을 FFT할 경우, 주파수 분해능은 아래와 같이 '15.625Hz/bin' 정도밖에 되지 않을 수 있다.
Figure pat00001
Figure pat00002
단계 S530에서, 전자 기기(100)는, 주파수 신호를 분석하여, 후보 피치 주파수 영역을 검출할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 주파수 신호에서 가장 큰 진폭(amplitude)을 갖는 주파수를 후보 피치 주파수로 검출할 수도 있다. 또한, 전자 기기(100)는, 가장 큰 진폭(amplitude)의 일정 비율 값을 임계 값으로 결정하고, 임계 값 이상의 진폭(amplitude)을 갖는 주파수들을 후보 피치 주파수들로 검출할 수도 있으나, 이에 한정되는 것은 아니다.
예를 들어, 도 7을 참조하면, 임계 값이 10000인 경우, 전자 기기(100)는, 주파수 신호(700)에서 진폭이 10000 이상인 후보 피치 주파수들(예컨대, 제 1 후보 피치 주파수(710) = 297Hz, 제 2 후보 피치 주파수(720) = 935 Hz)을 결정할 수 있다. 그리고 전자 기기(100)는 '후보 피치 주파수 ± 임계 값(예컨대, 주파수 분해능)'을 후보 피치 주파수 영역으로 결정할 수 있으나, 이에 한정되는 것은 아니다. 예컨대, 주파수 분해능이 15.625 Hz/bin인 경우, 제 1 후보 피치 주파수 영역 및 제 2 후보 피치 주파수 영역은 아래와 같을 수 있다.
(1) 제 1 후보 피치 주파수 영역 = 297 Hz ± 15.625 = 281.375 ~ 312.625
(2) 제 2 후보 피치 주파수 영역 = 935 Hz ± 15.625 = 919.375 ~ 950.625
단계 S540에서, 전자 기기(100)는, 원본의 제 n 프레임을 이용하여, 후보 피치 주파수 영역 중에서 피치 주파수를 결정할 수 있다. 이때, 원본의 제 n 프레임은 언더 샘플링되기 전의 시간 영역의 신호일 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 후보 피치 주파수 영역에 대응하는 주기(T) 구간(range)에서의 자기 상관 계수들을 산출하고, 가장 큰 자기 상관 계수를 갖는 주기(T)에 대응하는 주파수(f=1/T)를 피치 주파수로 검출할 수 있다.
예를 들어, 제 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'를 피치 주파수로 검출할 수 있다.
단계 S550에서, 전자 기기(100)는, 단계 S510 내지 S540의 과정에 따라 다음 프레임(제 n+1 프레임)에 대한 피치 주파수를 검출 할 수 있다.
한편, 전자 기기(100)는, 이전 프레임의 피치 주파수에 관한 정보를 우선 고려하여, 현재 프레임의 피치 주파수를 결정할 수도 있다. 전자 기기(100)가 이전 프레임의 피치 주파수에 관한 정보를 우선 고려하여, 현재 프레임의 피치 주파수를 결정하는 동작에 대해서 도 8을 참조하여, 자세보기로 한다.
도 8은 일 실시예에 따르는 과거 프레임의 피치 주파수를 고려하여, 현재 프레임의 피치 주파수를 결정하는 방법을 설명하기 위한 순서도이다.
단계 S810에서, 전자 기기(100)는, 제 n-1 프레임에서 검출된 피치 주파수가 제 n 프레임의 피치 주파수인지 검증할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 언더 샘플링된 제 n 프레임의 후보 피치 주파수 검출 시 제 n-1 프레임에서 검출된 피치 주파수를 이용할 수 있다. 이 경우, 일시적으로 발생하는 노이즈의 영향이 억제될 수 있다. 예를 들어, 제 n-1 프레임에서 검출된 피치 주파수가 300Hz 인 경우, 전자 기기(100)는, 제 n 프레임의 후보 피치 주파수 검출 시 300Hz 앞뒤의 일정 범위의 주파수(예컨대, 285 Hz ~ 315 Hz)를 우선적으로 확인하게 된다. 확인 결과, 300Hz에서의 진폭(amplitude)이 가장 큰 경우, 전자 기기(100)는 제 n 프레임의 후보 피치 주파수를 300 Hz로 결정할 수 있다.
그리고 전자 기기(100)는, 언더 샘플링되기 전의 원본 제 n 프레임을 이용하여, 후보 피치 주파수 영역 (예컨대, 300 Hz ± 15Hz)에 대응하는 주기 구간(예컨대, 1/315 ~ 1/285ms)에서의 자기 상관 계수를 구할 수 있다. 가장 큰 자기 상관 계수를 가지는 주기에 대응하는 주파수가 300Hz인 경우, 전자 기기(100)는 300Hz를 피치 주파수로 결정할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 언더 샘플링되기 전의 원본 제 n 프레임을 이용하여, 제 n-1 프레임에서 검출된 피치 주파수의 앞뒤 일정 주파수 범위에 대응하는 주기 구간에서의 자기 상관 계수를 산출할 수도 있다. 예를 들어, 제 n-1 프레임의 피치 주파수가 300 Hz인 경우, 전자 기기(100)는 원본 제 n 프레임을 이용하여, 일정 주파수 범위(예컨대, 300 Hz ± 15Hz)에 대응하는 주기 구간(예컨대, 1/315 ~ 1/285ms)에서의 자기 상관 계수를 산출할 수 있다. 이때, 산출되는 자기 상관 계수의 패턴이, 언더 샘플링되기 전의 원본 제 n-1 프레임을 이용하여 산출된 자기 상관 계수의 패턴과 유사한 경우, 전자 기기(100)는, 제 n 프레임의 피치 주파수가 제 n-1의 피치 주파수와 동일하다고 판단할 수 있다.
한편, 일 실시예에 의하면, 제 n 프레임과 제 n-1 프레임 간의 검출 간격이 길어질수록 검증해야 하는 일정 주파수 범위가 길어질 수 있다. 예를 들어, n 프레임과 제 n-1 프레임 간의 검출 간격이 30ms인 경우, 일정 주파수 범위는 '300 Hz ± 15Hz'일 수 있으나, 제 n 프레임과 제 n-1 프레임 간의 검출 간격이 60ms로 늘어나는 경우, 일정 주파수 범위도 '300 Hz ± 35Hz'로 늘어날 수 있다.
단계 S820 및 단계 S830에서, 전자 기기(100)는, 제 n-1 프레임의 피치 주파수가 제 n 프레임의 피치 주파수와 동일하다고 판단되는 경우, 제 n-1 프레임의 피치 주파수를 제 n 프레임의 피치 주파수로 결정할 수 있다. 예를 들어, 제 n-1 프레임의 피치 주파수가 300Hz인 경우, 인접한 제 n 프레임의 피치 주파수도 300Hz로 결정될 수 있다.
단계 S820 및 단계 S840에서, 전자 기기(100)는, 제 n-1 프레임의 피치 주파수가 제 n 프레임의 피치 주파수와 동일하지 않다고 판단되는 경우, 제 n 프레임에 대한 언더 샘플링을 수행하여, 제 n 프레임의 피치 주파수를 검출할 수 있다.
전자 기기(100)가 제 n 프레임에 대한 언더 샘플링을 수행하여, 제 n 프레임의 피치 주파수를 검출하는 동작에 대해서는, 도 5에서 설명하였으므로, 구체적인 설명은 생략하기로 한다.
단계 S850에서, 전자 기기(100)는, 단계 S810 내지 단계 S840에서와 같이, 제 n 프레임에서 검출된 피치 주파수를 우선 고려하여, 제 n+1 프레임의 피치 주파수를 검출할 수 있다.
이하에서는, 전자 기기(100)가, 검출된 피치 주파수들을 이용하여, 사용자에 의해 입력된 음악 신호에 대응하는 멜로디 라인을 생성하고, 보정하는 동작에 대해서 자세히 살펴보기로 한다.
도 9는 일 실시예에 따르는 전자 기기가 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 동작을 설명하기 위한 도면이다.
도 9를 참조하면, 전자 기기(100)는 각각의 프레임에서 검출된 피치 주파수들을 연결하여, 연속적인 멜로디 라인(910)을 생성할 수 있다. 이때, 검출되는 피치 주파수들은 표준음의 높이(예컨대, 12음계 또는 60음계의 높이)와 정확히 일치하는 것이 아니므로, 전자 기기(100)는 표준음의 높이(예컨대, 12음계 또는 60음계의 높이)에 따라 연속적인 멜로디 라인(910)을 이산적인 멜로디 라인(920)으로 변환할 수 있다.
예를 들어, 연속적인 멜로디 라인(910)의 제 1 구간의 피치 주파수들이 187 ~ 202 Hz 사이의 값인 경우, 전자 기기(100)는, 도 10에 도시된 음 높이와 피치 주파수의 상관 관계를 나타내는 테이블(1000)을 참조하여, 제 1 구간의 음 높이를 G3(195.9977 Hz)로 결정할 수 있다.
또한, 연속적인 멜로디 라인(910)의 제 2 구간의 피치 주파수들이 160 ~ 171 Hz 사이의 값인 경우, 전자 기기(100)는, 도 10에 도시된 음 높이와 피치 주파수의 상관 관계를 나타내는 테이블(1000)을 참조하여, 제 2 구간의 음 높이를 E3(164.8138 Hz)로 결정할 수 있다.
일 실시예에 의하면, 제 1 구간과 제 2 구간의 길이는 표준 음 길이(예컨대, 온음표, 2분 음표, 4분 음표, 8분 음표, 16분 음표, 32분 음표 등)에 따라 결정될 수 있다. 예를 들어, 제 1 구간과 제 2 구간 모두 4분 음표에 대응하는 길이인 경우, 제 1 구간의 길이와 제 2 구간의 길이가 동일할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 연속적인 멜로디 라인(910)을 이산적인 멜로디 라인(920)으로 변환할 때, 가장 가까운 음 높이(또는 음 길이)로 정규화하지 않고, 통계 데이터를 이용한 확률적 모델을 기반으로 정규화할 수 있다. 예를 들어, 전자 기기(100)는 기존 음악에서의 음표들의 나열과 관련된 통계적 데이터를 이용하여, 연속적인 멜로디 라인(910)을 이산적인 멜로디 라인(920)으로 변환할 수 있다. 이때, 통계적인 데이터는 장르에 따른 통계 데이터 또는 뮤지션에 따른 통계 데이터일 수도 있으나, 이에 한정되는 것은 아니다.
예컨대, 연속적인 멜로디 라인(910)의 제 3 구간의 피치 주파수들이 160 ~ 180 Hz 사이의 값이고, 제 3 구간의 피치 주파수들의 분포가 F3(174.6141 Hz) 보다 E3(164.8138)에 가깝더라도, 전자 기기(100)는 통계적 데이터를 이용하여, 제 1 구간의 음 높이를 F3(174.6141 Hz)로 결정할 수 있다.
한편, 일 실시예에 의하면, 사용자가 특정 음악가 또는 특정 장르를 선택하는 경우, 전자 기기(100)는, 선택된 특정 음악가 또는 특정 장르의 스타일을 반영하여, 이산적인 멜로디 라인(920)을 보정할 수 있다. 이하에서는, 전자 기기(100)가 이산적인 멜로디 라인(920)을 보정하는 동작에 대해서 도 11을 참조하여, 자세히 살펴보기로 한다.
도 11은 일 실시예에 따르는 장르 또는 음악가에 따라 이산적인 멜로디 라인을 보정하는 방법을 설명하기 위한 순서도이다.
단계 S1110에서, 전자 기기(100)는, 장르 또는 음악가를 선택하는 입력을 수신할 수 있다. 장르에는, 발라드, 락(rock), 재즈, 클래식, 블루스, 리듬 앤 블루스, 힙합, 컨트리 음악, 전자 음악 등이 있으나, 이에 한정되는 것은 아니다.
일 실시예에 의하면, 장르 또는 음악가를 선택하는 입력은 다양할 수 있다. 예를 들어, 사용자는 터치 입력, 음성 입력, 모션 입력, 벤딩 입력, 안구 입력 등을 통해 장르 또는 음악가를 선택할 수 있으나, 이에 한정되는 것은 아니다.
한편, 일 실시예에 의하면, 전자 기기(100)는, 특정 장르를 대표하는 곡을 선택하는 입력을 수신할 수도 있다. 이 경우, 전자 기기(100)는 특정 장르가 선택된 것으로 판단할 수 있다.
단계 S1120에서, 전자 기기(100)는, 선택된 장르 또는 음악가에 대응하는 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수 있다.
선택된 장르 또는 음악가에 대응하는 멜로디 진행에 관한 통계 정보는, 전자 기기(100) 내부의 메모리에 저장되어 있을 수도 있고, 전자 기기(100) 외부의 서버에 저장되어 있을 수도 있다.
일 실시예에 의하면, 전자 기기(100)는 선택된 장르 또는 음악가를 키워드로 하여, 선택된 장르 또는 음악가에 대응하는 멜로디 진행에 관한 통계 정보를 메모리 또는 외부의 서버에서 검색할 수 있다.
예를 들어, 사용자가 '발라드'를 선택한 경우, 전자 기기(100)는 도 12A에 도시된 발라드의 음 길이 진행 경향 테이블(1210)을 검색하고, 발라드의 음 길이 진행 경향 테이블(1210)을 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. 예컨대, 발라드의 음 길이 진행 경향 테이블(1210)을 참조하면, 발라드의 경우 온 음표 다음에 2분 음표가 오는 횟수(5808)보다 온 음표 다음에 4분 음표가 오는 횟수(7502)가 많으므로, 전자 기기(100)는, 이산적인 멜로디 라인에서 온 음표 다음에 2분 음표가 오는 경우, 2분 음표 대신에 4분 음표가 오도록 이산적인 멜로디 라인의 음 길이를 보정할 수 있다.
또한, 사용자가 '락(Rock)'을 선택한 경우, 전자 기기(100)는 도 12B에 도시된 락의 음 길이 진행 경향 테이블(1220)을 검색하고, 락의 음 길이 진행 경향 테이블(1220)을 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. 예컨대, 락의 음 길이 진행 경향 테이블(1220)을 참조하면, 락의 경우 발라드와 반대로, 온 음표 다음에 4분 음표가 오는 횟수(4114) 보다 온 음표 다음에 2분 음표가 오는 횟수(8228)가 더 많으므로, 전자 기기(100)는, 이산적인 멜로디 라인에서 온 음표 다음에 4분 음표가 오는 경우, 4분 음표 대신에 2분 음표가 오도록 이산적인 멜로디 라인의 음 길이를 보정할 수 있다.
사용자가 특정 음악가(예컨대, 음악가 A)를 선택하는 경우, 전자 기기(100)는 도 12C에 도시된 음악가 A의 음 길이 진행 경향 테이블(1230)을 검색하고, 음악가 A의 음 길이 진행 경향 테이블(1230)을 이용하여, 이산적인 멜로디 라인의 음 길이를 보정할 수도 있다.
한편, 사용자가 '발라드'를 선택한 경우, 전자 기기(100)는 도 13에 도시된 발라드의 음계 진행 경향 테이블(1300)을 검색하고, 발라드의 음계 진행 경향 테이블(1300)을 이용하여, 이산적인 멜로디 라인을 보정할 수 있다. 예를 들어, 발라드의 음계 진행 경향 테이블(1300)을 참조하면, 발라드의 경우 C(도) 다음에 D#(레#)이 오는 횟수(3536)보다 C(도) 다음에 D(레)가 오는 횟수(7514)가 많으므로, 전자 기기(100)는, 이산적인 멜로디 라인에서 C(도) 다음에 D#(레#)이 오는 경우, D#(레#) 대신에 D(레)가 오도록 이산적인 멜로디 라인의 음 높이를 보정할 수 있다.
도시되지는 않았지만, 사용자가 특정 음악가(예컨대, 음악가 A)를 선택하는 경우, 전자 기기(100)는 음악가 A의 음계 진행 경향 테이블을 검색하고, 음악가 A의 음계 진행 경향 테이블을 이용하여, 이산적인 멜로디 라인의 음 높이를 보정할 수도 있다.
단계 S1130에서, 전자 기기(100)는, 사용자로부터 장르 또는 음악가를 선택하는 입력을 수신하지 않은 경우, 일반적인 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수 있다.
일반적인 멜로디 진행에 관한 통계 정보는, 장르나 음악가에 대한 구분 없이, 음악 데이터베이스에 저장된 음악들을 분석하여 생성된 통계 정보일 수 있다. 예를 들어, 일반적인 멜로디 진행에 관한 통계 정보는, 일반적인 음 길이 진행 경향 테이블, 일반적인 음 높이 진행 경향 테이블 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
단계 S1140에서, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공할 수 있다. 단계 S1140은, 도 2의 단계 S250에 대응하므로, 구체적인 설명은 생략하기로 한다.
도 14는 일 실시예에 따르는 전자 기기가 이산적인 멜로디 라인을 보정하는 동작을 설명하기 위한 도면이다.
도 14를 참조하면, 전자 기기(100)는 이산적인 멜로디 라인(920)의 제 1 구간(1410)의 음 길이를 보정할 수 있다. 예를 들어, 멜로디 진행에 관한 통계 정보에 따를 때, 4분 음표 다음에 8분 음표가 오는 횟수보다 4분 음표 다음에 4분 음표가 오는 횟수가 많을 수 있다. 이때, 이산적인 멜로디 라인(920)의 제 1 구간(1410) 이전 구간에 4분 음표가 온 경우, 전자 기기(100)는, 제 1 구간(1410)의 8분 음표를 4분 음표로 보정할 수 있다.
또한, 전자 기기(100)는 이산적인 멜로디 라인(920)의 제 2 구간(1420)의 음 길이 및 음 높이를 보정할 수도 있다. 예를 들어, 전자 기기(100)는, 멜로디 진행에 관한 통계 정보에 따라, 제 2 구간(1420)의 음 길이를 2분 음표에서 4분 음표로 변경하고, 제 2 구간(1420)의 음 높이를 E3에서 Eb3로 변경할 수 있다.
도 15는 일 실시예에 따르는 기준음에 기초하여, 이산적인 멜로디 라인을 보정하는 방법을 설명하기 위한 순서도이다.
단계 S1510에서, 전자 기기(100)는, 사용자로부터 기준음을 입력 받을 수 있다.
예를 들어, 사용자는 특정 주파수(예컨대, 138.5913 Hz)의 음을 발성하면서, 전자 기기(100)의 화면에 표시된 피아노 건반에서 특정음계(예컨대, '도(C)')를 기준음으로 터치할 수 있다. 이때, 전자 기기(100)는 특정 주파수(예컨대, 138.5913 Hz)를 특정음계(예컨대, '도(C)')와 매칭시킬 수 있다.
단계 S1520에서, 전자 기기(100)는, 기준음에 기초하여, 이산적인 멜로디 라인을 보정할 수 있다.
예를 들어, 일반적으로 '138.5913 Hz'에 대응하는 음계는 C#이지만, 사용자가 임의로 '138.5913 Hz'를 C라고 정의했으므로, 전자 기기(100)는 이산적인 멜로디 라인에서의 C#을 C로 보정할 수 있다.
단계 S1530에서, 전자 기기(100)는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시할 수 있다. 또한, 전자 기기(100)는, 표시된 악보에 따라 음악을 재생할 수도 있다.
일 실시예에 의하면, 전자 기기(100)는 사용자로부터 입력된 기준음을 고려함으로써, 상대 음감을 갖는 보통의 사용자가 실제 발성한 음과 사용자가 의도한 음 간의 차이가 발생하는 것을 줄일 수 있다.
한편, 일 실시예에 의하면, 사용자가 계이름으로 발성하는 경우, 전자 기기(100)는 사용자로부터 수신된 음성을 분석하여, 계이름에 대응하는 음계로 이산적인 멜로디 라인의 음 높이를 보정할 수 있다. 예를 들어, 사용자가 실제 발성한 음의 피치 주파수는 146 Hz에서 165 Hz 사이(D에서 E 사이)이지만, 사용자가 발성한 계이름이 '솔솔라라~'인 경우, 전자 기기(100)는 이산적인 멜로디 라인의 음계를 'DDEE'에서 'GGAA'로 보정할 수 있다.
한편, 일 실시예에 의하면, 전자 기기(100)는 보정된 이산적인 멜로디 라인에 대응하는 코드를 생성할 수도 있다. 전자 기기(100)가 코드를 생성하는 동작에 대해서는 도 16 및 도 17을 참조하여 자세히 살펴보기로 한다.
도 16은 일 실시예에 따르는 코드 생성 방법을 설명하기 위한 순서도이다.
단계 S1610에서, 전자 기기(100)는, 음원 데이터베이스(DB)에서, Chord Transition Matrix와 Chord observation matrix를 획득할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 음원 데이터베이스에 저장된 음악 데이터를 분석하여, Chord observation matrix를 획득할 수 있다. 예를 들어, 전자 기기(100)는 제 1 코드 다음에 제 2 코드가 오는 횟수를 계수하여, Chord Transition Matrix를 생성할 수 있다.
예를 들어, 도 17에 도시된 Chord Transition Matrix(1710)를 참조하면, 음원 데이터베이스에 저장된 음악 데이터를 분석한 결과, C major 다음에 C major가 온 횟수는 403번이고, C major 다음에 C minor 가 온 횟수는 198번이고, C major 다음에 C aug가 온 횟수는 55번일 수 있다.
일 실시예에 의하면, 전자 기기(100)는 음원 데이터베이스에 저장된 음악 데이터를 분석하여, Chord observation matrix를 획득할 수 있다. 예를 들어, 전자 기기(100)는, 코드 구간별로 사용된 음표의 높이(Pitch)와 길이(duration)를 누적하여, Chord observation matrix를 획득할 수 있다. 전자 기기(100)는, 마디 별로 사용된 음표의 높이(Pitch)와 길이(duration)를 누적할 수도 있다.
예를 들어, 도 17에 도시된 Chord observation matrix(1720)를 참조하면, C major 코드에서 사용된 도의 길이를 누적한 결과는 41이고, C major 코드에서 사용된 도#의 길이를 누적한 결과는 91이고, C major 코드에서 사용된 레의 길이를 누적한 결과는 41일 수 있다.
일 실시예에 의하면, 전자 기기(100)는 코드 분류 및 계수 시, Triad 코드 (예컨대, Major, Minor, suspended, diminished, augmented)뿐 아니라, 7th 코드(예컨대, Cm7 등), 전위 코드(C/B 등), Tension 코드(예컨대, Bm7b5 등)을 이용할 수도 있다. 이 경우, 전자 기기(100)는 실제 작곡가가 사용하는 음악에 가까운 코드 진행을 제공할 수 있다.
단계 S1620에서, 전자 기기(100)는, Chord Transition Matrix와 Chord observation matrix를 이용하여, 코드를 생성할 수 있다.
예를 들어, 전자 기기(100)는, Hidden Markov Model에 따라, Chord Transition Matrix와 Chord observation matrix를 사용하여, 사용자의 의도에 따라 보정된 이산적인 멜로디 라인에 대응하는 코드를 생성할 수 있다.
일 실시예에 의하면, 전자 기기(100)는 마디 별로 하나의 코드를 생성할 수 있으나, 이에 한정되는 것은 아니다. 예를 들어, 전자 기기(100)는, 마디 별로 2개 이상의 복수 코드를 생성하여, 자연스러운 반주가 가능하게 할 수도 있다.
이하에서는, 전자 기기(100)가 반주를 제공하는 동작에 대해서 도 18 내지 도 22를 참조하여, 자세히 살펴보기로 한다.
도 18은 일 실시예에 따르는 선택된 음악가의 특성 정보에 따라 반주를 제공하는 방법을 설명하기 위한 순서도이다.
단계 S1810에서, 전자 기기(100)는, 음악가를 선택할 수 있는 선택 창을 제공할 수 있다. 이때, 선택 창은 적어도 하나의 음악가를 포함할 수 있다.
예를 들어, 도 19를 참조하면, 전자 기기(100)는 사용자로부터 허밍 신호를 수신하는 경우, 허밍 신호에 대응하는 악보(1910)를 생성하여 표시할 수 있다. 또한, 전자 기기(100)는 악보(1910)와 함께 특정 음악가를 선택할 수 있는 선택 창(1920)을 제공할 수 있다.
단계 S1820에서, 전자 기기(100)는, 선택 창을 통해 음악가를 선택하는 입력을 수신할 수 있다. 일 실시예에 의하면, 전자 기기(100)는, 선택 창에 포함된 복수의 음악가 중에서 한 명을 터치하는 입력을 수신할 수 있다.
예를 들어, 도 19를 참조하면, 전자 기기(100)는, 선택 창(1920)에 표시된 음악가 A, 음악가 B(1921), 음악가 C, 및 음악가 D 중에서, 음악가 B(1921)를 선택하는 입력을 감지할 수 있다.
한편, 음악가를 선택하는 방식은 다양할 수 있다. 예를 들어, 사용자는 선택 창에 음악가의 이름을 직접 입력할 수도 있다.
단계 S1830에서, 전자 기기(100)는, 선택된 음악가의 특성 정보에 대응하는 반주를 제공할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 선택된 음악가의 반주 특정 정보를 전자 기기(100) 내부의 메모리 또는 전자 기기(100) 외부의 서버에서 검색할 수 있다. 예를 들어, 도 20을 참조하면, 메모리 또는 외부 서버에 음악가들 각각에 대응하는 반주 특성 정보(2000)가 저장되어 있으므로, 전자 기기(100)는 선택된 음악가(예컨대, 음악가 B)에 대응하는 제 1 반주 특성 정보(예컨대, 반주 장르: 발라드, 코드 진행 특징: 같은 코드 반복 사용, 악기 편성: Electric Piano, Pad, Bass, Bell)를 확인할 수 있다. 그리고, 전자 기기(100)는, 제 1 반주 특성 정보에 대응하는 반주를 생성할 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 사용자의 선택 이력에 기초하여, 반주를 추천해 줄 수도 있다. 예를 들어, 전자 기기(100)는, 사용자 선택하는 음악가 또는 사용자가 생성한 반주들에 대한 정보를 누적하여, 사용자가 선호하는 반주 스타일 또는 사용자가 선호하는 음악가에 관한 정보를 생성할 수 있다. 그리고, 사용자가 특정 음악가를 선택하지 않더라도, 전자 기기(100)는, 사용자가 선호하는 스타일 또는 선호하는 음악가에 맞는 반주를 추천해 줄 수 있다.
한편, 도시되지는 않았지만, 사용자가 특정 장르를 선택하는 경우, 전자 기기(100)는, 선택된 장르의 반주 특성 정보를 이용하여, 선택된 장르에 대응하는 반주를 제공할 수도 있다.
도 21은 일 실시예에 따르는 발화 음성에 따라 반주를 생성하는 방법을 설명하기 위한 순서도이다.
단계 S2110에서, 전자 기기(100)는, 사용자로부터 발화되는 음성(이하, '발화 음성'이라 함)을 수신할 수 있다. 예를 들어, 전자 기기(100)는 마이크로폰을 통해 사용자의 발화 음성을 인식할 수 있다.
단계 S2110에서, 전자 기기(100)는, 발화 음성을 분석하여, 발화 음성의 종류, 세기, 변화 및 음색 중 적어도 하나를 결정할 수 있다.
예를 들어, 전자 기기(100)는, 음성 인식을 통해, 발화 음성의 종류가 '나나나'인지 '음음음'인지 '빰빠바'인지 '징징징'인지 등을 결정할 수 있다. 또한, 전자 기기(100)는, 발화 음성의 세기를 측정할 수도 있고, 발화 음성의 변화 정도를 산출할 수도 있다.
전자 기기(100)는 발화 음성의 음색 특성 정보를 추출하고, 발화 음성의 음색 특성 정보와 음색 데이터베이스에 저장되어 있는 음색들의 특성 정보를 비교함으로써, 발화 음성의 음색을 결정할 수도 있다.
단계 S2110에서, 전자 기기(100)는, 발화 음성의 종류, 세기, 변화 및 음색 중 적어도 하나에 기초하여, 반주를 생성할 수 있다.
예를 들어, 도 22를 참조하면, 발화 음성의 종류가 '나나나'로 판단된 경우, 전자 기기(100)는 반주 장르를 발라드로 결정하고, 멜로디 음색은 팬 플룻으로 결정하고, 반주 악기 편성은 피아노, 패드(pad), 베이스(Bass)로 결정하고, BPM은 60~80으로 결정할 수 있다. 또한, 발화 음성의 종류가 '빰빠바'로 판단된 경우, 전자 기기(100)는, 반주 장르를 오케스트라로 결정하고, 멜로디 음색은 금관 악기(Brass, 예컨대, 트럼펫, 코넷, 유포늄, 트롬본, 튜바, 호른 등)로 결정하고, 반주 악기 편성은, 현악기(String, 예컨대, 바이올린, 비올라, 첼로, 베이스 등), 금관 악기(Brass), 팀파니(Timpani) 등으로 결정하고, BPM은 80~110으로 결정할 수 있다.
한편, 제 1 발화 음성과 제 2 발화 음성의 종류가 '나나나'로 동일하더라도 제 1 발화 음성과 제 2 발화 음성의 세기(또는 음색)가 다른 경우, 제 1 발화 음성에 대응하는 제 1 반주 장르나 제 1 반주 악기 편성이 제 2 발화 음성에 대응하는 제 2 반주 장르나 제 2 반주 악기 편성과 달라질 수 있다.
일 실시예에 의하면, 전자 기기(100)는, 사용자 입력에 따라, 반주 장르, 멜로디 음색, 반주 악기 편성, BPM 등을 변경할 수도 있다.
도 23은 일 실시예에 따르는 이산적인 멜로디 라인에 대응하는 악보를 수정하기 위한 GUI의 예시를 나타내는 도면이다.
도 23을 참조하면, 악보를 수정하기 위한 GUI는 악보가 표시되는 영역(230) 및 악보를 수정하기 위한 오브젝트가 표시되는 영역(232)을 포함할 수 있다.
악보가 표시되는 영역(230)에는 이산적인 멜로디 라인에 대응하는 악보가 표시될 수 있다. 사용자는 영역(230)에 표시된 악보 내의 음표, 음자리표, 박자, 코드 등을 선택함으로써, 악보 내에서 수정하고자 하는 대상을 선택할 수 있다.
또한, 악보를 수정하기 위한 오브젝트가 표시되는 영역(232)에는, 예를 들어, 음표와 쉼표를 상호 변경하기 위한 버튼(234), 음의 높이를 변경하기 위한 버튼들(235), 음표의 위치를 변경하기 위한 버튼들(236), 및 음표의 길이를 변경하기 위한 버튼들(237)이 표시될 수 있다.
이에 따라, 사용자는 악보가 표시되는 영역(230)에서 수정하고자 하는 대상을 선택하고, 악보를 수정하기 위한 오브젝트가 표시되는 영역(232) 내의 특정 버튼을 선택함으로써, 악보를 수정할 수 있다.
또한, 사용자가 GUI 내의 버튼(238)을 선택하면, 전자 기기(100)는 수정된 악보에 따른 멜로디를 출력할 수 있다.
도 24 및 도 25는 일 실시예에 따르는 전자 기기의 구성을 설명하기 위한 블록 구성도이다.
도 24를 참조하면, 전자 기기(100)는, 출력부(110), 사용자 입력부(130) 및 제어부(170)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 전자 기기(100)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 전자 기기(100)는 구현될 수 있다. 예를 들어, 도 24를 참조하면, 전자 기기(100)는 출력부(110), 통신부(120), 사용자 입력부(130), A/V 입력부(140), 저장부(150), 센싱부(160) 및 제어부(170)를 포함할 수 있다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
출력부(110)는, 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 이에는 디스플레이부(111)와 음향 출력부(112), 진동 모터(113) 등이 포함될 수 있다.
디스플레이부(111)는 전자 기기(100)에서 처리되는 정보를 표시 출력할 수 있다. 예를 들어, 디스플레이부(111)는 사용자로부터 입력된 음악 신호에 대응하는 연속적인 멜로디 라인을 표시할 수 있다.
디스플레이부(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)를 이용하여 마주보게 배치될 수 있다.
음향 출력부(112)는 통신부(120)로부터 수신되거나 저장부(150)에 저장된 오디오 데이터를 출력할 수 있다. 또한, 음향 출력부(112)는 전자 기기(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력할 수 있다. 예를 들어, 음향 출력부(212)에는, 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있으나, 이에 한정되는 것은 아니다.
진동 모터(113)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(113)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다.
출력부(110)는, 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공할 수 있다. 예를 들어, 출력부(110)는, 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시하거나, 악보에 따라 음악을 재생할 수 있다.
상기 출력부(110)는, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수도 있다. 예를 들어, 출력부(110)는, 사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공할 수 있다. 또한, 출력부(110)는, 사용자에 의해 선택된 음악가의 특성 정보에 대응하는 반주를 제공할 수도 있다.
통신부(120)는, 전자 기기(100)와 외부 기기 또는 전자 기기(100)와 서버 간의 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(120)는, 근거리 통신부(121), 이동 통신부(122), 방송 수신부(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) 통신부를 포함할 수도 있다.
Li-Fi(Light Fidelity)는, 발광 다이오드(LED)에서 나오는 빛의 파장을 이용하여 정보를 전달하는 가시광 통신(VLC: Visible Light Communication) 기술의 보조 방식을 의미할 수 있다. Li-Fi(Light Fidelity)는, 조명이 있는 곳이면 어디서나 사용할 수 있으며 인체에 무해하다. 또한, Li-Fi(Light Fidelity)는, 짧은 도달 거리로 인해 안정성, 보안성이 강하며, 저비용, 고속 통신이 가능하다는 장점이 있다.
이동 통신부(122)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(123)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 기기(100)는 방송 수신부(123)를 포함하지 않을 수도 있다.
사용자 입력부(130)는, 사용자가 전자 기기(100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(130)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
사용자 입력부(130)는, 사용자로부터 음악 신호를 입력 받을 수 있다. 일 실시예에 의하면, 사용자 입력부(130)는, 사용자로부터 발화되는 허밍 신호를 수신하는 음성 입력부를 포함할 수 있다. 또한, 사용자 입력부(130)는 연속적 멜로디 라인을 그리는 터치 입력 또는 모션 입력을 수신할 수도 있다.
사용자 입력부(130)는, 음악가 또는 특정 음악를 선택하는 입력을 수신할 수도 있다.
A/V(Audio/Video) 입력부(140)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(141)와 마이크로폰(142) 등이 포함될 수 있다. 카메라(141)는 화상 통화모드 또는 촬영 모드에서 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 카메라(141)를 통해 캡쳐된 이미지는 제어부(170) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(141)에서 처리된 화상 프레임은 저장부(150)에 저장되거나 통신부(120)를 통하여 외부로 전송될 수 있다. 카메라(141)는 전자 기기(100)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(142)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(142)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(142)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
일 실시예에 의하면, A/V(Audio/Video) 입력부(140)는 사용자 입력부(130)로 동작할 수도 있다. 예를 들어, 마이크로폰(142)은 사용자의 음성 입력을 수신할 수 있고, 카메라(141)는 사용자의 모션 입력을 인식할 수 있다.
저장부(150)는, 제어부(170)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 허밍 신호, 이산적인 멜로디 라인, 악보, 반주 등)을 저장할 수도 있다.
저장부(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)) 중 적어도 하나를 포함할 수 있다.
외장 메모리는 플래시 드라이브(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)를 운영할 수도 있다.
저장부(150)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 노트 생성 모듈(151), 코드 생성 모듈(152), 반주 생성 모듈(153) 등으로 분류될 수 있으나, 이에 한정되는 것은 아니다.
노트 생성 모듈(151)은 도 5의 단계 S510 내지 단계 S550 및 도 8의 단계 S810 내지 단계 S850을 수행함으로써, 이산적인 멜로디 라인에 대응하는 음표들을 생성할 수 있다.
코드 생성 모듈(152)은 도 16의 단계 S1610 내지 단계 S1620를 수행함으로써, 이산적인 멜로디 라인에 맞는 코드를 생성할 수 있다.
반주 생성 모듈(153)은, 도 18의 단계 S1810 내지 단계 S1830 또는 도 21의 단계 S2110 내지 단계 S2130을 수행함으로써, 사용자의 의도에 부합하는 반주를 생성할 수 있다.
한편, 저장부(150)는, 멜로디 진행에 관한 통계 정보(154), 음악가의 특성 정보 (155), Chord Transition Matrix(1710), Chord Observation Matrix(1720) 등을 저장할 수도 있다.
멜로디 진행에 관한 통계 정보(154)는 음 길이 진행 순서의 경향(예컨대, 제 1 음표 다음에 제 2 음표가 올 확률), 음 길이 사용 경향(예컨대, 음표 사용 횟수에 관한 수치), 음 높이 진행 경향(예컨대, 제 1 표준 음 다음에 제 2 표준음이 올 확률) 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 음악가의 특성 정보(155)는, 반주 장르, 코드 진행 방식, 악기 편성 방식 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
센싱부(160)는, 전자 기기(100)의 상태 또는 전자 기기(100) 주변의 상태를 감지하고, 감지된 정보를 제어부(170)로 전달할 수 있다.
센싱부(160)는, 지자기 센서(Magnetic sensor)(161), 가속도 센서(Acceleration sensor)(162), 기울기 센서(163), 적외선 센서(164), 자이로스코프 센서(165), 위치 센서(166), 지문 센서(167), 근접 센서(168), 및 광 센서(169) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
제어부(170)는, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 예를 들어, 제어부(170)는, 저장부(150)에 저장된 프로그램들을 실행함으로써, 출력부(110), 통신부(120), 사용자 입력부(130), A/V 입력부(140), 저장부(150), 센싱부(160) 등을 전반적으로 제어할 수 있다.
제어부(170)는, 음악 신호에서 검출되는 피치 주파수들을 이용하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성할 수 있다. 예를 들어, 제어부(170)는, 원본의 음악 신호를 언더 샘플링하고, 언더 샘플링된 음악 신호를 주파수 신호로 변환할 수 있다. 그리고 제어부(170)는 주파수 신호를 분석하여, 각각의 프레임에 대응하는 후보 피치 주파수 영역을 검출하고, 원본의 음악 신호를 이용하여, 후보 피치 주파수 영역 중에서 각각의 프레임에 대응하는 피치 주파수를 결정할 수 있다. 제어부(170)는, 이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정할 수도 있다. 제어부(170)는 각각의 프레임에 대응하는 피치 주파수를 연결하여, 음악 신호에 대응하는 연속적인 멜로디 라인을 생성할 수 있다.
제어부(170)는, 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 멜로디 진행에 관한 통계 정보를 이용하여, 이산적인 멜로디 라인을 보정할 수도 있다.
한편, 제어부(170)는, 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정할 수도 있고, 사용자에 의해 선택된 음악가의 특성 정보에 대응하는 반주를 제공할 수도 있다.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
일 실시예에 의하면, 전자 기기(100)는, 사용자로부터 입력된 멜로디 라인을 사용자의 의도를 반영하여 보정함으로써, 작곡 등에 도움이 되는 음악 정보를 제공할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (20)

  1. 사용자로부터 음악 신호를 입력 받는 단계;
    상기 음악 신호에서 검출되는 피치 주파수들을 이용하여, 상기 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하는 단계;
    표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 상기 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하는 단계; 및
    멜로디 진행에 관한 통계 정보를 이용하여, 상기 이산적인 멜로디 라인을 보정하는 단계를 포함하는 음악 정보 제공 방법.
  2. 제 1 항에 있어서, 상기 사용자로부터 음악 신호를 입력 받는 단계는,
    상기 사용자로부터 발화되는 허밍 신호를 수신하는 단계를 포함하는, 음악 정보 제공 방법.
  3. 제 1 항에 있어서, 상기 사용자로부터 음악 신호를 입력 받는 단계는,
    상기 사용자로부터 상기 연속적인 멜로디 라인을 그리는 입력을 수신하는 단계를 포함하는, 음악 정보 제공 방법.
  4. 제 1 항에 있어서, 상기 연속적인 멜로디 라인을 생성하는 단계는,
    상기 생성된 연속적인 멜로디 라인을 화면에 표시하는 단계를 더 포함하는, 음악 정보 제공 방법.
  5. 제 1 항에 있어서, 상기 연속적인 멜로디 라인을 생성하는 단계는,
    원본의 음악 신호를 언더 샘플링하는 단계;
    상기 언더 샘플링된 음악 신호를 주파수 신호로 변환하는 단계;
    상기 주파수 신호를 분석하여, 각각의 프레임에 대응하는 후보 피치 주파수 영역을 검출하는 단계; 및
    상기 원본의 음악 신호를 이용하여, 상기 후보 피치 주파수 영역 중에서 상기 각각의 프레임에 대응하는 피치 주파수를 결정하는 단계를 포함하는, 음악 정보 제공 방법.
  6. 제 1 항에 있어서, 상기 연속적인 멜로디 라인을 생성하는 단계는,
    이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정하는 단계를 포함하는, 음악 정보 제공 방법.
  7. 제 1 항에 있어서, 상기 이산적인 멜로디 라인을 보정하는 단계는,
    상기 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 상기 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정하는 단계를 포함하는, 음악 정보 제공 방법.
  8. 제 1 항에 있어서, 상기 이산적인 멜로디 라인을 보정하는 단계는,
    사용자로부터 입력된 기준음에 기초하여, 상기 이산적인 멜로디 라인을 보정하는 단계를 포함하는, 음악 정보 제공 방법.
  9. 제 1 항에 있어서, 상기 음악 정보 제공 방법은,
    상기 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공하는 단계를 더 포함하는, 음악 정보 제공 방법.
  10. 제 9 항에 있어서, 음악 정보를 제공하는 단계는,
    상기 보정된 이산적인 멜로디 라인에 대응하는 악보를 표시하는 단계; 및
    상기 악보에 따라, 음악을 재생하는 단계를 포함하는, 음악 정보 제공 방법.
  11. 제 9 항에 있어서, 상기 음악 정보를 제공하는 단계는,
    사용자로부터 발화된 음성의 종류, 세기, 변화, 및 음색 중 적어도 하나에 기초하여, 상기 보정된 이산적인 멜로디 라인에 대응하는 반주를 제공하는 단계를 포함하는, 음악 정보 제공 방법.
  12. 제 1 항에 있어서,
    상기 보정된 이산적인 멜로디 라인을 수정하기 위한 GUI를 표시하는 단계; 및
    상기 GUI를 통한 사용자 입력에 기초하여, 상기 보정된 이산적인 멜로디 라인을 수정하는 단계;
    를 더 포함하는, 음악 정보 제공 방법.
  13. 사용자로부터 음악 신호를 입력 받는 사용자 입력부; 및
    상기 음악 신호에서 검출되는 피치 주파수들을 이용하여, 상기 음악 신호에 대응하는 연속적인 멜로디 라인을 생성하고, 표준 음 길이 및 표준 음 높이 중 적어도 하나에 기반하여, 상기 연속적인 멜로디 라인을 이산적인 멜로디 라인으로 변환하고, 멜로디 진행에 관한 통계 정보를 이용하여, 상기 이산적인 멜로디 라인을 보정하는 제어부를 포함하는 전자 기기.
  14. 제 13 항에 있어서, 상기 사용자 입력부는,
    상기 사용자로부터 발화되는 허밍 신호를 수신하는 음성 입력부를 포함하는, 전자 기기.
  15. 제 13 항에 있어서, 상기 제어부는,
    상기 생성된 연속적인 멜로디 라인을 표시하도록 디스플레이부를 제어하는, 전자 기기.
  16. 제 13 항에 있어서, 상기 제어부는,
    원본의 음악 신호를 언더 샘플링하고, 상기 언더 샘플링된 음악 신호를 주파수 신호로 변환하고, 상기 주파수 신호를 분석하여, 각각의 프레임에 대응하는 후보 피치 주파수 영역을 검출하고, 상기 원본의 음악 신호를 이용하여, 상기 후보 피치 주파수 영역 중에서 상기 각각의 프레임에 대응하는 피치 주파수를 결정하는, 전자 기기.
  17. 제 13 항에 있어서, 상기 제어부는,
    이전 프레임의 피치 주파수에 관한 정보를 고려하여, 현재 프레임의 피치 주파수를 결정하는, 전자 기기.
  18. 제 13 항에 있어서, 상기 제어부는,
    상기 사용자에 의해 선택된 장르 또는 음악가(musician)에 관한 정보를 고려하여, 상기 이산적인 멜로디 라인에 포함된 음의 길이 또는 높이를 보정하는, 전자 기기.
  19. 제 13 항에 있어서, 상기 전자 기기는,
    상기 보정된 이산적인 멜로디 라인에 대응하는 음악 정보를 제공하는 출력부를 더 포함하는, 전자 기기.
  20. 제 1 항 내지 제 12 항 중 어느 한 항의 음악 정보 제공 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020160126668A 2016-03-11 2016-09-30 음악 정보 제공 방법 및 이를 위한 전자 기기 KR20170106165A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/000241 WO2017155200A1 (ko) 2016-03-11 2017-01-09 음악 정보 제공 방법 및 이를 위한 전자 기기

Applications Claiming Priority (2)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020170168397A Division KR20170141164A (ko) 2016-03-11 2017-12-08 음악 정보 제공 방법 및 이를 위한 전자 기기

Publications (1)

Publication Number Publication Date
KR20170106165A true KR20170106165A (ko) 2017-09-20

Family

ID=60033968

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160126668A KR20170106165A (ko) 2016-03-11 2016-09-30 음악 정보 제공 방법 및 이를 위한 전자 기기
KR1020170168397A KR20170141164A (ko) 2016-03-11 2017-12-08 음악 정보 제공 방법 및 이를 위한 전자 기기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020170168397A KR20170141164A (ko) 2016-03-11 2017-12-08 음악 정보 제공 방법 및 이를 위한 전자 기기

Country Status (1)

Country Link
KR (2) KR20170106165A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019128638A1 (zh) * 2017-12-28 2019-07-04 广州市百果园信息技术有限公司 从音乐节拍点中提取大节拍信息的方法、存储介质和终端
US10540139B1 (en) 2019-04-06 2020-01-21 Clayton Janes Distance-applied level and effects emulation for improved lip synchronized performance
CN115550503A (zh) * 2021-06-30 2022-12-30 华为技术有限公司 一种生成多种音效的方法、装置和终端设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240039404A (ko) * 2022-09-19 2024-03-26 삼성전자주식회사 전자 장치 및 그의 제어 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019128638A1 (zh) * 2017-12-28 2019-07-04 广州市百果园信息技术有限公司 从音乐节拍点中提取大节拍信息的方法、存储介质和终端
US11386876B2 (en) 2017-12-28 2022-07-12 Bigo Technology Pte. Ltd. Method for extracting big beat information from music beat points, storage medium and terminal
US10540139B1 (en) 2019-04-06 2020-01-21 Clayton Janes Distance-applied level and effects emulation for improved lip synchronized performance
US10871937B2 (en) 2019-04-06 2020-12-22 Clayton Janes Distance-applied level and effects emulation for improved lip synchronized performance
CN115550503A (zh) * 2021-06-30 2022-12-30 华为技术有限公司 一种生成多种音效的方法、装置和终端设备
CN115550503B (zh) * 2021-06-30 2024-04-23 华为技术有限公司 一种生成多种音效的方法、装置和终端设备、存储介质

Also Published As

Publication number Publication date
KR20170141164A (ko) 2017-12-22

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
Muller et al. Signal processing for music analysis
US9824719B2 (en) Automatic music recording and authoring tool
US10504498B2 (en) Real-time jamming assistance for groups of musicians
KR20170141164A (ko) 음악 정보 제공 방법 및 이를 위한 전자 기기
US9852721B2 (en) Musical analysis platform
US20080115656A1 (en) Tempo detection apparatus, chord-name detection apparatus, and programs therefor
US9804818B2 (en) Musical analysis platform
JP2023081946A (ja) 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム
US10140967B2 (en) Musical instrument with intelligent interface
Oudre et al. Chord recognition by fitting rescaled chroma vectors to chord templates
CN106205571A (zh) 一种歌声语音的处理方法和装置
KR101325722B1 (ko) 사용자 입력 노래에 대응한 악보 생성 장치와 그 방법
US11842720B2 (en) Audio processing method and audio processing system
WO2022111260A1 (zh) 音乐筛选方法、装置、设备及介质
US20230351989A1 (en) Information processing system, electronic musical instrument, and information processing method
CN105976802A (zh) 基于机器学习技术的音乐自动生成系统
JP4170279B2 (ja) 歌詞表示方法および装置
CN113066462B (zh) 一种修音方法、装置、设备及存储介质
CN113781989A (zh) 一种音频的动画播放、节奏卡点识别方法及相关装置
US8912420B2 (en) Enhancing music
Sion Harmonic interaction for monophonic instruments through musical phrase to scale recognition
US11398212B2 (en) Intelligent accompaniment generating system and method of assisting a user to play an instrument in a system
US20240112689A1 (en) Synthesizing audio for synchronous communication

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment