KR20200067382A - 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법 - Google Patents

사운드를 출력하기 위한 전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR20200067382A
KR20200067382A KR1020180154175A KR20180154175A KR20200067382A KR 20200067382 A KR20200067382 A KR 20200067382A KR 1020180154175 A KR1020180154175 A KR 1020180154175A KR 20180154175 A KR20180154175 A KR 20180154175A KR 20200067382 A KR20200067382 A KR 20200067382A
Authority
KR
South Korea
Prior art keywords
sound
electronic device
information
output
song
Prior art date
Application number
KR1020180154175A
Other languages
English (en)
Other versions
KR102495888B1 (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 삼성전자주식회사
Priority to KR1020180154175A priority Critical patent/KR102495888B1/ko
Priority to US16/703,738 priority patent/US11410679B2/en
Priority to PCT/KR2019/017013 priority patent/WO2020116930A1/en
Priority to EP19892663.6A priority patent/EP3850821A4/en
Publication of KR20200067382A publication Critical patent/KR20200067382A/ko
Application granted granted Critical
Publication of KR102495888B1 publication Critical patent/KR102495888B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • H04M1/72558
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72442User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for playing music files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/365Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems the accompaniment information being stored on a host computer and transmitted to a reproducing terminal by means of a network, e.g. public telephone lines
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/091Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for performance evaluation, i.e. judging, grading or scoring the musical qualities or faithfulness of a performance, e.g. with respect to pitch, tempo or other timings of a reference performance
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/005Non-interactive screen display of musical or status data
    • G10H2220/011Lyrics displays, e.g. for karaoke applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods
    • G10H2240/131Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
    • G10H2240/141Library retrieval matching, i.e. any of the steps of matching an inputted segment or phrase with musical database contents, e.g. query by humming, singing or playing; the steps may include, e.g. musical analysis of the input, musical feature extraction, query formulation, or details of the retrieval process
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/325Synchronizing two or more audio tracks or files according to musical features or musical timings
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/54Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/38Displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명의 다양한 실시 예들에 따른 전자 장치는, 마이크, 적어도 하나의 스피커, 상기 마이크 및 상기 스피커에 작동적으로 연결된 적어도 하나의 프로세서, 상기 프로세서에 전기적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서로 하여금, 상기 마이크를 통해, 사운드를 수신하고, 상기 수신된 사운드를 분석하고, 상기 분석한 결과에 적어도 일부 기반하여, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하고, 상기 출력 사운드의 종류에 적어도 일부 기반하여, 출력 사운드를 생성하고, 상기 스피커를 통해, 상기 생성된 출력 사운드를 출력하도록 하는 인스트럭션들을 저장할 수 있다.
본 발명의 다양한 실시 예들에 따르는 전자 장치의 동작 방법은, 사운드를 수신하는 동작, 상기 수신된 사운드를 분석하는 동작, 상기 분석한 결과에 적어도 일부 기반하여, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하는 동작, 상기 출력 사운드의 종류에 적어도 일부 기반하여, 출력 사운드를 생성하는 동작, 상기 생성된 출력 사운드를 출력하는 동작을 포함할 수 있다.

Description

사운드를 출력하기 위한 전자 장치 및 그의 동작 방법{ELECTRONIC DEVICE FOR OUTPUTTING SOUND AND OPERATING METHOD THEREOF}
본 개시의 다양한 실시 예들은, 사용자의 음성 입력에 응답하여, 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법에 대한 것이다. 특히, 노래를 부르거나 악기를 연주하는 사용자의 사운드 입력에 응답하여, 보조 사운드(예: 백그라운드 사운드)를 제공하기 위한 전자 장치 및 그의 동작 방법에 대한 것이다.
현재 스마트폰이나 태블릿 피씨와 같은 고성능의 포터블 전자 장치가 대중화되었다. 전화, 메시징 어플리케이션과 같은 단순한 기능뿐만 아니라, 게임, 금융 업무와 같은 복잡한 기능들도 포터블 전자 장치에서 처리되고 있다. 특히, 고용량의 데이터를 수월하게 처리할 수 있게 되면서, 포터블 전자 장치는 음성 명령을 비롯한 사용자의 음성 신호를 처리하거나 혹은 거리에서 흘러나오는 노래의 제목이 무엇인지 사용자에게 제공할 수 있게 되었다.
거리에서 흘러나오는 노래, 혹은 사용자의 허밍을 수신하고 그와 관련된 정보를 제공함에 있어서, 이제까지의 전자 장치들은 다양한 사용자들 혹은 다양한 상황들을 고려하지 못했다. 예를 들어, 전자 장치는 성인이 허밍을 하는 경우와 어린 아이가 허밍을 하는 경우에도 동일한 정보(예: 노래의 제목)를 제공할 뿐, 서로 다른 사용자들에 맞춰 서로 다른 정보를 제공하지는 못하였다. 이렇듯 입력 사운드의 다양함 혹은 사운드 입력과 관련된 컨텍스트의 다양함을 고려하지 못한, 획일적인 일방향의 정보 제공은, 각자 매우 다양한 음악 취향을 갖는 개인들의 요구를 만족시키지 못하였다.
본 발명의 다양한 실시 예들은, 입력된 사운드의 분석 결과에 따라, 입력된 사운드에 적합한 종류의 출력 사운드를 결정 및 출력함으로써, 사용자의 다양한 음악 경험을 지원할 수 있다.
본 발명의 다양한 실시 예들은, 입력된 사운드의 분석 결과에 따라, 입력 사운드에 적합한 종류의 출력 사운드를 결정 및 출력함과 동시에, 원곡 사운드와의 차이점에 대한 피드백을 제공함으로써, 입력된 사운드를 교정 및 보조할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 마이크, 적어도 하나의 스피커, 상기 마이크 및 상기 스피커에 작동적으로 연결된 적어도 하나의 프로세서, 상기 프로세서에 전기적으로 연결된 적어도 하나의 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서로 하여금, 상기 마이크를 통해, 사운드를 수신하고, 상기 수신된 사운드를 분석하고, 상기 분석한 결과에 적어도 일부 기반하여, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하고, 상기 출력 사운드의 종류에 적어도 일부 기반하여, 출력 사운드를 생성하고, 상기 스피커를 통해, 상기 생성된 출력 사운드를 출력하도록 하는 인스트럭션들을 저장할 수 있다.
본 발명의 다양한 실시 예들에 따르는 전자 장치의 동작 방법은, 사운드를 수신하는 동작, 상기 수신된 사운드를 분석하는 동작, 상기 분석한 결과에 적어도 일부 기반하여, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하는 동작, 상기 출력 사운드의 종류에 적어도 일부 기반하여, 출력 사운드를 생성하는 동작, 상기 생성된 출력 사운드를 출력하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 사용자가 노래를 부르거나 연주를 할 때, 입력 사운드, 사용자의 선호 혹은 컨텍스트에 기반하여 백그라운드 사운드 혹은 효과음을 재생함으로써, 사용자에게 풍부한 음악 경험을 제공할 수 있다.
사용자가 노래를 부르거나 연주를 할 때, 사용자가 잘못 부르거나 잘못 연주를 하는 부분에 대한 피드백을 제공함으로써, 사용자에게 학습 효과를 제공할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경 내의 전자 장치의 블럭도이다.
도 2는 본 발명의 다양한 실시 예들을 간략하게 설명하기 위한 개략도이다.
도 3은 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도이다.
도 4는 본 발명의 다양한 실시 예들에 따른, 메모리에 저장되는 재생 모드 데이터베이스를 설명하기 위한 도면이다.
도 5는 본 발명의 다양한 실시 예들에 따라 전자 장치가 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 6은 본 발명의 다양한 실시 예들에 따라 전자 장치가, 입력 사운드를 수신한 후, 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 7은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 입력 사운드를 분석하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 8은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 입력 사운드와 연관된 노래 및 출력할 사운드의 종류를 결정하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 9는 본 발명의 다양한 실시 예들에 따라 복수의 재생 모드들 중에서 하나의 재생 모드를 선택 받기 위해 사용자에게 제공되는 사용자 인터페이스를 예시하는 도면들이다.
도 10은 본 발명의 다양한 실시 예들에 따라 전자 장치가 출력 사운드를 생성하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 11은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 원곡 사운드를 입력 사운드와 동기화하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 12는 본 발명의 다양한 실시 예들에 따라, 전자 장치가 출력 사운드를 생성하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 13은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 출력 사운드를 출력하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 14는 본 발명의 다양한 실시 예들에 따라 사용자에게 제공되는 피드백을 예시하는 도면들이다.
도 15는 본 발명의 다양한 실시 예들에 따라, 입력 사운드와 연관된 노래가 결정되지 않을 경우, 전자 장치가 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블럭도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 장치(150), 음향 출력 장치(155), 표시 장치(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(160) 또는 카메라 모듈(180))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(176)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(160)(예: 디스플레이)에 임베디드된 채 구현될 수 있다
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 로드하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(123)은 메인 프로세서(121)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 장치(150)는, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(150)은, 예를 들면, 마이크, 마우스, 또는 키보드를 포함할 수 있다.
음향 출력 장치(155)는 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 장치(155)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(160)는 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(160)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 장치(150) 를 통해 소리를 획득하거나, 음향 출력 장치(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)이 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 및 인증할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 하나 이상의 안테나들을 포함할 수 있고, 이로부터, 제 1 네트워크 198 또는 제 2 네트워크 199와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부 전자 장치 간에 송신되거나 수신될 수 있다.
행동 모듈(163)은 표정 변화 표현, 자세 표현 또는 주행을 수행할 수 있다. 일 실시예에 따르면, 행동 모듈은(163)은 얼굴 표정 모터, 자세 표현 모터 또는 구동부를 포함할 수 있다. 얼굴 표정 모터는, 예를 들면, 표시 장치(160)를 통해 전자 장치(101)의 상태를 시각적으로 제공할 수 있다. 구동부는, 예를 들면, 전자 장치(101)의 이동 및 다른 구성 요소를 기구적으로 변경하기 위해 사용할 수 있다. 구동부는, 예를 들면, 적어도 하나 이상의 축을 중심으로 하여 상/ 하, 좌/우 또는 시계/반시계 방향의 회전이 가능한 형태일 수 있다. 구동부는, 예를 들면, 구동 모터(예: 휠(wheel)형 바퀴, 구(sphere)형 바퀴, 무한궤도(continuous track) 또는 프로펠러)를 조합하여 구현될 수도 있고 독립적으로 제어함으로써 구현될 수도 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 전자 장치(102, 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(102, 104, or 108) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 발명된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나,"및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 2는 본 발명의 다양한 실시 예들을 간략하게 설명하기 위한 개략도이다.
일 실시 예에서, 전자 장치(200)는 도 1에 개시된 전자 장치(101)일 수 있다.
일 실시 예에서, 전자 장치(200)는 사용자로부터 사운드(202, 이하 입력 사운드)를 입력 받을 수 있다 (혹은 수신할 수 있다). 전자 장치(200)는 마이크(예: 입력 장치(150))를 포함할 수 있으며, 마이크를 통하여 사용자로부터 사운드를 입력 받을 수 있다.
일 실시 예에서, 전자 장치(200)는 다양한 형태(종류)의, 혹은 다양하게 구별될 수 있는) 입력 사운드를 수신할 수 있다. 예를 들어, 전자 장치(200)는 전자 장치(200)가 수행할 동작을 지시하는 음성 명령, 특정한 의미를 갖는 텍스트 정보(예: 노래 가사) 및 규칙적인 음 간의 관계 정보(예: 박자, 화음, 리듬 등)를 갖는 노래, 무의미한 텍스트 정보 및 규칙적인 음 간의 관계 정보를 갖는 허밍, 텍스트 정보 없이 규칙적인 음 간의 관계 정보를 갖는 연주 등 다양한 형태의 입력 사운드를 수신할 수 있다.
일 실시 예에서, 전자 장치(200)는 수신한 입력 사운드의 적어도 일부를 이용하여, 출력할 사운드(204, 이하 "출력 사운드")를 생성하고, 생성된 출력 사운드를 출력할 수 있다. 예를 들어, 전자 장치(200)는 스피커(예: 음향 출력 장치(155))를 포함할 수 있으며, 스피커를 통하여 출력 사운드를 출력할 수 있다.
일 실시 예에서, 전자 장치(200)는 다양한 형태(종류)의, 혹은 다양하게 구별될 수 있는 출력 사운드를 생성할 수 있다. 예를 들어, 전자 장치(200)는 가사와 반주를 포함하는 형태, 혹은 반주만을 포함하는 형태, 비트박스, 원곡이 듀엣곡인 경우 복수의 보컬 중 일부만을 포함하는 형태 등 다양한 형태의 출력 사운드를 생성할 수 있다.
일 실시 예에서, 출력 사운드의 종류는 입력 사운드의 종류에 따라 결정될 수 있다. 일 실시 예에서, 출력 사운드는, 입력 사운드를 보완할 수 있는 종류로 결정될 수 있다. 예를 들어, 입력 사운드가 특정한 노래(예: 비틀즈의 "Let it be")의 허밍인 경우, 전자 장치(200)는 "Let it be"의 가사와 반주를 포함하는 출력 사운드를 생성할 수 있다. 다른 예를 들어, 입력 사운드가 남녀 듀엣곡의 남성 파트에 해당할 경우, 전자 장치(200)는 상기 듀엣곡의 여성 파트에 대응하는 출력 사운드를 생성할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드를 생성하는 사용자의 움직임을 검출할 수 있다. 전자 장치(200)는 입력 사운드를 수신함과 동시에(혹은 실질적으로 동시에) 사용자의 움직임을 검출할 수 있다. 예를 들어, 전자 장치(200)는 카메라 모듈(예: 카메라 모듈(180))을 포함할 수 있으며, 상기 카메라 모듈을 이용하여, 입력 사운드의 생성과 관련된 사용자의 움직임(예: 입술 움직임), 혹은 입력 사운드의 생성과 무관한 사용자의 움직임(예: 사용자의 손동작과 같은 몸놀림)을 검출할 수 있다. 사용자의 움직임은 출력 사운도의 종류를 결정하는 데, 혹은 입력 사운드와 관련된 컨텍스트 정보를 결정하는데 추가적으로 사용될 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드를 생성하는 사용자에 대한 정보를 획득할 수 있다. 전자 장치(200)는 카메라 모듈을 통해 촬영된 영상 정보에 기반하여 입력 사운드를 생성하는 사용자의 식별 정보(예: 현재 입력 사운드를 생성하는 사람은, 전자 장치(200)에 대응하는 사용자의 딸이라는 정보), 혹은 사용자의 특징 정보(예: 현재 입력 사운드를 생성하는 사람은, 나이가 5세 내지 7세이며 여자)를 획득할 수 있다. 입력 사운드를 생성하는 사용자에 대한 정보는 출력 사운드의 종류를 결정하는 데 추가적으로 사용될 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드와 관련된 컨텍스트 정보를 획득할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드가 입력될 때 주변 환경 정보를 획득할 수 있다. 다른 예를 들어, 전자 장치(200)는 사용자의 사용 이력 정보를 이용하여, 특정한 노래에 대한 횟수 정보를 획득할 수도 있다. 입력 사운드와 관련된 컨텍스트 정보는 출력 사운드의 종류를 결정하는 데 추가적으로 사용될 수 있다.
도 3은 본 발명의 다양한 실시 예들에 따른 전자 장치의 블록도이다.
일 실시 예에서, 전자 장치(200)는 메모리(210), 디스플레이(220), 마이크(230), 스피커(240), 프로세서(250), 카메라 모듈(260), 통신 인터페이스(270)를 포함할 수 있다.
일 실시 예에서, 메모리(210)는 도 1에 개시된 메모리(130)일 수 있다.
일 실시 예에서, 메모리(210)는 프로세서(250)의 제어 하에, 전자 장치(200)가 본 발명의 실시 예들에 따른 적어도 하나의 동작들을 수행하기 위한 명령어를 저장할 수 있다. 예를 들어, 메모리(210)는 프로세서(250)가, 마이크(230)를 통해 수신한 입력 사운드를 분석하도록 하는 명령어(인스트럭션)를 저장할 수 있다.
일 실시 예에서, 메모리(210)는 전자 장치(200)가 지정된 동작을 수행하기 위한 참고 데이터(혹은 보조 데이터)를 저장할 수 있다.
예를 들어, 메모리(210)는 다양한 형태(종류)의 출력 사운드들, 혹은 다양한 형태의 출력 사운드들을 생성하기 위한 정보를 저장할 수 있다.
일 실시 예에서, 메모리(210)는 복수의 음악 또는 노래를, 원곡에 대응하는 스트림 형태 혹은 웨이브 폼 형태로 저장할 수 있다.
일 실시 예에서, 메모리(210)는 다양한 형태(종류)의 출력 사운드를, 특정한 곡과 연관 지어(혹은 매핑하여) 저장할 수도 있고, 특정한 곡 정보와 독립적으로(혹은 무관하게) 저장할 수도 있다. 다른 실시 예에서, 메모리(210)는 다양한 형태(종류)의 출력 사운드 (혹은 출력 웨이브 폼)을 생성하기 위한 파라미터 정보를 특정한 곡과 연관 지어 저장하거나 독립적으로 저장하고, 상기 파라미터 정보를 바탕으로 다양한 형태(종류)의 출력 사운드들을 생성할 수 있는 생성 모델(예: GAN(Generative adversarial network))을 별도로 저장할 수도 있다.
다른 예를 들어, 메모리(210)는, 특정한 노래에 대응하는 하나 이상의 재생 모드들에 대한 정보를 저장하는 재생 모드 데이터베이스를 저장할 수 있다.
또 다른 예를 들어, 메모리(210)는 하나 이상의 사용자들에 대한 개인 정보(예: 성별, 나이, 외모에 대한 이미지, 성향 (혹은 선호도), 연주 가능한 악기 정보)를 저장할 수 있다. 상기 사용자의 선호도 정보는 노래, 가수, (노래 또는 춤의) 장르, 특정한 노래에 대응하는 재생 모드 (혹은 출력 버전), 본 발명의 실시 예에 따른 출력 사운드 생성 및 제공에 대한 사용자의 선호도 정보를 포함할 수 있다. 예를 들어, 이전에 출력 사운드가 출력되고 있는 도중, 사용자가 수동적으로 출력 사운드의 출력을 종료시키거나, 해당 기능을 수행하는 어플리케이션을 종료한 이력이 있는 경우, 이에 대한 사용자의 선호도 정보가 메모리(210)에 저장될 수 있다.
또 다른 예를 들어, 메모리(210)는 하나 이상의 사용자들에 대한 사용 이력 정보, 혹은 히스토리 데이터(예: 이전에 사용자가 불렀던 노래, 특정한 노래에 대하여 사용자가 이제까지 불렀던 횟수)를 저장할 수 있다.
일 실시 예에서, 메모리(210)에 저장된 하나 이상의 사용자들에 대한 정보는, 사용자에 의해 수동적으로 입력될 수도 있고, 사용자의 히스토리 데이터에 기반하여 자동적으로 생성 및 입력될 수도 있다.
일 실시 예에서, 디스플레이(220)는 도 1에 개시된 표시 장치(160)일 수 있다. 디스플레이(220)는 적어도 하나의 콘텐트(예: 출력 사운도의 종류를 사용자에게 수동적으로 결정 받기 위한 유저 인터페이스)를 표시할 수 있다. 디스플레이(220)는 사용자의 터치 입력을 수신할 수도 있다. 예를 들어, 디스플레이(220)는 표시된 유저 인터페이스에 포함된 적어도 하나의 객체를 선택하는 사용자의 터치 입력을 수신할 수도 있다.
일 실시 예에서, 마이크(230)는 입력 사운드를 수신할 수 있다. 마이크(230)는 도 1의 입력 장치(150)에 대응할 수 있다.
일 실시 예에서, 스피커(240)는 출력 사운드를 출력할 수 있다. 스피커(240)는 하나 이상일 수 있으며, 도 1의 음향 출력 장치(155)에 대응할 수 있다.
일 실시 예에서, 카메라 모듈(260)은 이미지(예: 스틸 이미지 혹은 무빙 이미지)를 캡처할 수 있다. 카메라 모듈(260)은 도 1의 카메라 모듈(180)에 대응할 수 있다. 예를 들어, 카메라 모듈(260)은 입력 사운드가 수신되고 있는 도중, 입력 사운드를 생성하는 사용자의 움직임에 대한 이미지를 캡처 및 저장할 수 있다.
일 실시 예에서, 통신 인터페이스(270)는 외부 장치(미도시)와 데이터 통신을 수행하는 데 사용될 수 있다. 통신 인터페이스(270)는 도 1의 통신 모듈(190)에 대응할 수 있다. 예를 들어, 통신 인터페이스(270)는 입력 사운드와 연관된 노래를 결정 (혹은 검색) 하기 위하여 입력 사운드 데이터를 외부 장치에 전송할 수 있다.
일 실시 예에서, 프로세서(250)는 전자 장치(200)의 동작을 전반적으로 제어할 수 있다. 프로세서(250)는 마이크(230)를 통해 수신된 입력 사운드를 분석하고, 분석 결과에 적어도 일부 기반하여 입력 사운드에 대응하는 노래를 식별(혹은 결정)하거나, 출력 사운드의 종류를 결정할 수 있다. 프로세서(250)는 식별된 노래 또는 결정된 출력 사운드의 종류에 기반하여 출력 사운드를 생성할 수 있다. 프로세서(250)는 생성된 출력 사운드를 출력하도록 스피커(240)를 제어할 수 있다.
일 실시 예에서, 프로세서(250)는 입력 사운드 전처리부(252), 입력 사운드 처리부(254), 출력 사운드 생성부(256), 액션 수행부(258)을 포함할 수 있다.
일 실시 예에서, 입력 사운드 전처리부(252)는 마이크(230)를 통해 수신된 입력 사운드를 분석하기 전에, 분석의 정확도 및 신뢰도를 높이기 위한 전처리 동작을 수행할 수 있다. 일 실시 예에서, 입력 사운드 전처리부(252)는 에코를 제거하기 위한 에코 캔슬러(echo canceller) 및/또는 잡음을 제거하기 위한 노이즈 서프레서(noise suppressor)를 포함할 수 있다. 이하, 입력 사운드 전처리부(252)에 의해 전처리 된 사운드가, 입력 사운드로 지칭될 수 있다.
일 실시 예에서, 입력 사운드 처리부(254)는 입력 사운드를 분석할 수 있다. 예를 들어, 입력 사운드 처리부(254)는 입력 사운드가 음악에 대응하는지 여부를 판단하기 위한 음악 여부 판단부(미도시)를 포함할 수 있다. 다른 예를 들어, 입력 사운드 처리부(254)는, 입력 사운드가 음악에 대응하는 것으로 결정된 경우, 입력 사운드의 장르를 판단하기 위한 음악 장르 판단부(미도시)를 포함할 수도 있다. 음악 장르 판단부(미도시)는 입력 사운드의 장르뿐만이 아니라, 입력 사운드의 음악 특징 정보(예: 박자, 음정, 입력 사운드를 생성한 사용자의 성별 등)을 결정할 수도 있다.
또 다른 예를 들어, 입력 사운드 처리부(254)는 카메라 모듈(260)로부터 수신한 이미지 정보 (혹은 영상 정보) 및 메모리(210)로부터 검색된 사용자 정보 중 적어도 하나를 이용하여, 입력 사운드를 생성하는 사용자를 식별하는 사용자 정보 판단부(미도시)를 포함할 수도 있다. 또 다른 예를 들어, 입력 사운드 처리부(254)는 입력 사운드와 연관된 노래를 결정하기 위한 노래 결정부(미도시)를 포함할 수도 있다. 또 다른 예를 들어, 입력 사운드 처리부(254)는 입력 사운드와 연관된 컨텍스트 정보를 획득하기 위한 컨텍스트 정보 획득부(미도시)를 포함할 수도 있다.
일 실시 예에서, 입력 사운드 처리부(254)는 입력 사운드의 분석 결과에 적어도 일부에 기반하여, 출력 사운드의 종류를 결정하는 출력 사운드 종류 결정부(미도시)를 포함할 수 있다. 출력 사운드 종류 결정부(미도시)는 노래 결정부(미도시)에서 결정된 노래 정보, 사용자 정보 판단부(미도시)에서 식별된 사용자에 대한 개인 정보, 카메라 모듈(260)로부터 수신한 영상 정보, 컨텍스트 정보 획득부에서 획득한 컨텍스트 정보 중 적어도 하나를 추가적으로 이용하여, 출력 사운드의 종류를 결정할 수 있다. 출력 사운드의 종류는, 특정한 노래의 다양한 출력 버전(혹은 재생 모드)에 대응할 수 있다. 예를 들어, 출력 사운드의 종류는, 특정한 노래의 허밍 버전, 가사를 포함한 버전, 연주 버전, 또는 효과음 버전 중 어느 하나일 수 있다.
일 실시 예에서, 출력 사운드 생성부(256)는 결정된 출력 사운드의 종류에 적어도 일부에 기반하여, 출력 사운드를 생성할 수 있다. 예를 들어, 출력 사운드 생성부(256)는 메모리(210)에 저장된 원곡 스트림을, 결정된 출력 사운드 종류에 대응하도록 변형함으로써, 출력 사운드를 생성할 수 있다. 다른 예를 들어, 출력 사운드 생성부(256)는 별도의 생성 모델에, 결정된 출력 사운드 종류에 대응하는 하나 이상의 파라미터들을 입력함으로써, 출력 사운드를 생성할 수도 있다.
일 실시 예에서, 액션 수행부(258)는 생성된 출력 사운드와 연관된 적어도 하나의 액션을 수행할 수 있다. 예를 들어, 액션 수행부(258)는 생성된 출력 사운드를 출력하도록 스피커(240)를 제어할 수 있다. 다른 예를 들어, 액션 수행부(258)는 전자 장치(200)가 출력 사운드에 맞추어 움직이기 위한 구체적인 움직임, 동선 등에 대한 정보를 결정할 수 있다. 일 실시 예에서, 액션 수행부(258)는 도 1에 개시된 행동 모듈(163)에 대응할 수 있다.
도 4는 본 발명의 다양한 실시 예들에 따른, 메모리에 저장되는 재생 모드 데이터베이스를 설명하기 위한 도면이다.
일 실시 예에서, 재생 모드 데이터베이스(400)는 메모리(210)에 저장될 수 있다.
일 실시 예에서, 재생 모드 데이터베이스(400)는 특정한 노래(410)에 대응하는 하나 이상의 재생 모드들(421 내지 423) 및 특정한 재생 모드(421)에 대응하는 재생 정보(431)를 저장할 수 있다. 일 실시 예에서, 재생 모드는 출력 버전 혹은 출력 사운드의 종류와 실질적으로 동일한 의미를 가질 수 있다.
일 실시 예에서, 재생 모드는 전자 장치(200)가 출력하는 출력 사운드의 형식 (혹은 음악 스타일)을 정의할 수 있으며, 상기 정의된 형식의 특징 정보, 혹은 상기 정의된 음악 스타일을 구현하기 위한 특징 정보(혹은 음악 스타일의 특징 정보, 예: 박자, 혹은 전체적인 빠르기, 음정, 음색, 높이, 리듬, 스펙트럼 등)에 대응할 수 있다.
일 실시 예에서, 재생 모드는 특징 정보와 매핑하여 저장될 수 있다.
일 실시 예에서, 재생 모드의 종류는, 음성 노래를 포함하는 노래 모드, 음성 노래 없이 허밍을 포함하는 허밍 모드, 악기 등의 기기를 이용한 소리를 포함하는 연주 모드, 랩이나 비트박스를 포함하는 랩 모드 (혹은 비트박스 모드), 입력 사운드의 장르 혹은 가사에 적합한 나레이션, 혹은 효과음을 제공하는 효과음 모드, 듀엣곡에서 부족한 파트(예: 여성 보컬 파트, 랩 파트)를 보조하는 듀엣 모드, 입력 사운드의 박자를 보조하는 메트로놈 모드, 입력 사운드의 틀린 음정이나 부정확한 가사에 대한 피드백을 제공하는 코칭 모드일 수 있다.
일 실시 예에서, 특정한 하나의 노래는 하나 이상의 재생 모드들에 대응할 수 있다. 대응하는 재생 모드의 개수는 노래의 특성(예: 장르적 특성, 보컬의 유무 등)에 따라 결정될 수 있다. 예를 들어, 노래 1(410)은 3가지 재생 모드들(허밍 버전(421), 가사 포함 버전(422), 연주 버전(423))에 대응할 수 있다. 다른 예를 들어, 노래 2(415)가 경음악인 경우, 노래 2(415)는 가사 포함 버전에 대응하지 않을 수 있다.
일 실시 예에서, 특정한 재생 모드(421)를 구현하기 위한 재생 정보(431)가, 특정한 재생 모드(421)와 매핑하여 저장될 수 있다. 예를 들어, 재생 정보(431)는 노래 1(410)을 허밍 버전(421)으로 구현하기 위하여 필요한 악보 정보, (혹은 웨이브 폼 데이터)가 저장될 수 있다. 다른 예를 들어, 재생 정보(431)는 노래 1(410)을 허밍 버전(421)으로 구현하기 위하여 GAN에 입력되어야 하는 하나 이상의 파라미터들에 대한 파라미터 정보가 저장될 수도 있다.
도 5는 본 발명의 다양한 실시 예들에 따라 전자 장치가 수행하는 동작들의 흐름(500)을 나타내는 흐름도이다.
일 실시 예에서, 도 5에 개시된 동작들은 전자 장치(예: 도 2의 전자 장치(200) 혹은 전자 장치의 프로세서(예: 도 3의 프로세서(250))에 의해 수행될 수 있다. 이하, 전자 장치(200)가 도 5에 개시된 동작들을 수행하는 것으로 기재한다.
일 실시 예에서, 510동작에서, 전자 장치(200)는 입력 사운드를 수신할 수 있다. 예를 들어, 전자 장치(200)는 마이크(예: 도 3의 마이크(230))를 통하여, 비틀즈의 "Let it be"에 대한 사용자의 허밍 사운드를 수신할 수 있다. 다른 예를 들어, 전자 장치는 비틀즈의 "Let it be"를 랩 버전으로(다시 말해서, 원곡 박자보다 일정한 비율 이상 빠른 박자로) 부르는 사용자의 음성을 수신할 수 있다.
일 실시 예에서, 520동작에서, 전자 장치(200)는 입력 사운드를 분석할 수 있다.
예를 들어, 전자 장치(200)는 입력 사운드를 분석하여 텍스트 정보를 추출할 수 있다.
다른 예를 들어, 전자 장치(200)는 입력 사운드를 분석하여, 입력 사운드의 음량, 음색(tone), 높이(pitch), 리듬, 스펙트럼, 음정, 박자와 같은 음악 특징(musical feature) 중 적어도 하나에 대한 정보를 획득할 수 있다. 또는, 전자 장치(200)는 입력 사운드의 음량, 음색, 높이, 리듬, 스펙트럼, 음정, 박자 중 적어도 하나에 기반하여, 상기 입력 사운드를 분석할 수도 있다.
예를 들어, 전자 장치(200)는 시간 도메인 웨이브 폼(time-domain waveform) 데이터에 기반한 CNN을 이용한 방식을 활용하여, 높이(pitch)를 검출할 수 있다.
미도시되었지만, 전자 장치(200)는 메모리(210)에 저장된 사용자의 정보에 기반하여, 520동작을 수행할지 여부를 결정할 수 있다. 예를 들어, 본 발명의 실시 예에 따른 출력 사운드 출력 기능에 대해 거절 반응을 보였던 사용자에 대해서는, 전자 장치(200)는 520동작을 수행하지 않을 수 있다. 이에 따라, 전자 장치(200)는, 520동작을 수행하기 전, 520동작을 수행할지 여부를 결정하기 위하여, 입력 사운드를 생성한 사용자의, 본 발명의 실시 예에 따른 출력 사운드 출력 기능에 대한 선호도 정보 (혹은 선호도 값) 를 검색할 수 있다.
일 실시 예에서, 530동작에서, 전자 장치(200)는 입력 사운드와 연관된 노래 및 출력 사운드의 종류를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드와 연관된 노래를 결정함에 있어서, 통신 인터페이스(예: 통신 인터페이스(270))를 통해 입력 사운드(혹은 입력 사운드를 가공하여 획득한 정보)를 외부 서버에 전송할 수 있다. 전자 장치(200)는 520동작에서 획득한 분석 결과에 적어도 일부를, 메모리(예: 도 3의 메모리(210))에 저장된 음악 검색 프로그램에 입력함으로써 입력 사운드와 연관된 노래를 결정할 수도 있다.
일 실시 예에서, 전자 장치(200)는 출력 사운드의 종류를 결정함에 있어서, 상기 결정된 노래에 대응하는 복수의 재생 모드 (혹은 출력 버전) 중 적어도 하나의 재생 모드에 기반하여 출력 사운드의 종류를 결정할 수 있다. 예를 들어, 입력 사운드와 연관된 노래가 노래 A이고, 노래 A가 연주 모드, 랩 모드, 가사가 포함된 모드와 같은 3개의 재생 모드에 대응하는 경우, 전자 장치(200)는 3개의 재생 모드들 중 적어도 하나의 재생 모드에 기반하여 출력 사운드의 종류를 결정할 수 있다. 특정한 노래에 대응하는 하나 이상의 재생 모드에 대한 정보는 메모리(210)에 미리 저장되어 있을 수 있다.
일 실시 예에서, 전자 장치(200)는 출력 사운드의 종류를 결정함에 있어서, 520동작에서 획득한 분석 결과의 적어도 일부를 이용할 수 있다. 예를 들어, 전자 장치(200)는 520동작에서 획득한 분석 결과의 적어도 일부를 이용하여, 노래 A가 지원하는 3개의 재생 모드들 중 어느 하나의 재생 모드를 결정할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드의 박자가 노래 A의 원래(original) 박자보다 일정 비율 이상 빠른 경우, 3개의 재생 모드들 중에서 랩 모드를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 출력 사운드의 종류를 결정함에 있어서, 입력 사운드와 관련된 컨텍스트 정보의 적어도 일부를 추가적으로 이용할 수 있다.
일 실시 예에서, 540동작에서, 전자 장치(200)는 출력 사운드를 생성할 수 있다.
일 실시 예에서, 전자 장치(200)는 530동작에서 결정된, 출력 사운드의 종류에 기반하여 출력 사운드를 생성할 수 있다.
예를 들어, 전자 장치(200)는 다양한 형태의 출력 사운드들을 생성할 수 있는 생성 모델(GAN)에, 530동작에서 결정된 출력 사운드의 종류에 대응하는 적어도 하나의 파라미터를 입력함으로써, 출력 사운드를 생성할 수 있다.
다른 예를 들어, 전자 장치(200)는 입력 사운드와 연관된 노래(예: 노래 A)를, 상기 노래가 지원하는 재생 모드들 중에서 어느 하나의 재생 모드에 대응하도록, 편곡함으로써, 출력 사운드를 생성할 수 있다.
다른 예를 들어, 전자 장치(200)는 입력 사운드와 연관된 노래(예: 노래 A)의 스트림을, 530동작에서 결정된 출력 사운드의 종류 (혹은 재생 모드)에 대응하는 스트림 혹은 웨이브폼(waveform)과 합성함으로써, 출력 사운드를 생성할 수 있다.
일 실시 예에서, 550동작에서, 전자 장치(200)는 출력 사운드를 출력할 수 있다. 예를 들어, 전자 장치(200)는 스피커(예: 스피커(240))를 통하여 출력 사운드를 출력할 수 있다.
미도시되었지만, 전자 장치(200)는 출력 사운드를 출력한 후, 사용자 정보를 업데이트할 수 있다. 예를 들어, 전자 장치(200)는 검색된 노래, 음악 특징, 율동 패턴 정보 등을 사용자에 매핑하여 저장하거나, 상기 정보들에 기반하여 메모리(210)에 저장된 선호도 정보를 업데이트할 수 있다.
도 6은 본 발명의 다양한 실시 예들에 따라 전자 장치가, 입력 사운드를 수신한 후, 수행하는 동작들의 흐름을 나타내는 흐름도이다.
도 6에 개시된 동작들은, 도 5의 510동작이 수행된 후, 520동작이 수행되기 전에 수행될 수 있다.
일 실시 예에서, 610동작에서, 전자 장치(200)는 사용자의 영상 정보를 수신할 수 있다. 예를 들어, 전자 장치(200)는 카메라 모듈(260)로부터, 사용자의 영상 정보를 수신할 수 있다. 전자 장치(200)는, 입력 사운드가 수신되는 동안 촬영되는 사용자의 영상 정보를 수신할 수 있다.
일 실시 예에서, 620동작에서, 전자 장치(200)는 입력 사운드와 관련된 컨텍스트 정보를 결정할 수 있다.
예를 들어, 전자 장치(200)는 입력 사운드를 생성하는 사용자와 관련된 컨텍스트 정보를 결정할 수 있다. 전자 장치(200)는 610동작에 수신한 사용자의 영상 정보, 입력 사운드와 관련된 운율(prosody) 정보를 이용하여, 사용자와 관련된 컨텍스트 정보로서, 입력 사운드를 생성하고 있는 동안의 사용자의 감정 정보, 발음 상태, 표정, 집중도와 같은 정보를 결정할 수 있다. 전자 장치(200)는 메모리(210)에 저장된, 사용자의 선호도 정보 (혹은 성향 정보)를 검색할 수도 있다.
다른 예를 들어, 전자 장치(200)는 입력 사운드가 입력될 때 주변(혹은 외부적) 컨텍스트 정보(예: 시간 정보, 장소 정보, 날씨 정보)를 획득할 수 있다.
또 다른 예를 들어, 전자 장치(200)는 입력 사운드와 관련된 내부적 컨텍스트 정보(예: 사용자의 사용 이력 정보, 횟수 정보)를 획득할 수 있다.
일 실시 예에서, 전자 장치(200)는 520동작으로 진행할 수 있다. 예를 들어, 전자 장치(200)는 520동작에서 입력 사운드를 분석할 수 있다. 전자 장치(200)는 610동작에서 획득한 사용자의 영상 정보, 620동작에서 획득한 컨텍스트 정보 중 적어도 하나를 추가적으로 이용하여, 520동작에서 입력 사운드를 분석할 수 있다.
도 7은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 입력 사운드를 분석하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 도 7에 개시된 동작은 도 5의 520동작의 세부 동작들일 수 있다.
일 실시 예에서, 710동작에서, 전자 장치(200)는 입력 사운드를 전처리할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드에서 에코 및/또는 잡음을 제거함으로써 입력 사운드를 전처리할 수 있다.
일 실시 예에서, 720동작에서, 전자 장치(200)는 전처리된 입력 사운드에서 음악 특징 정보를 획득할 수 있다. 예를 들어, 전자 장치(200)는 박자, 음정, 입력 사운드를 생성한 사용자의 성별에 대한 정보(예를 들어, 듀엣곡의 남성 파트)와 같은 음악 특징 정보를 획득할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드로부터, 발성과 무관한 정보도 획득할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드에 포함된 악기에 대한 정보, 입력 사운드와 관련된 장르에 대한 정보를 획득할 수 있다.
일 실시 예에서, 전자 장치(200)는 전처리된 입력 사운드, 혹은 전처리된 입력 사운드에서 획득한 음악 특징 정보 중 적어도 하나에 기반하여, 사용자의 발성 스타일 혹은 노래 부르는 스타일(singing style)을 결정할 수 있다. 예를 들어, 전자 장치(200)는 획득한 박자 정보에 기반하여, 사용자가 힙합 스타일로 노래를 부르고 있다고 결정할 수 있다. 다른 예를 들어, 전자 장치(200)는 획득한 박자 정보 및 음정 정보에 기반하여, 사용자가 재즈 스타일로 노래를 부르고 있다고 결정할 수 있다. 사용자의 발성 스타일 혹은 노래 부르는 스타일은, 이후 출력 사운드의 종류 (혹은 재생 모드) 를 결정함에 있어서 추가적으로 활용될 수 있다.
도 8은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 입력 사운드와 연관된 노래 및 상기 노래에 대응하는 복수의 재생 모드들 중에서 적어도 하나의 재생 모드를 결정하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 재생 모드를 결정하는 동작은, 출력할 사운드의 종류를 결정하는 동작과 실질적으로 동일한 의미일 수 있다.
일 실시 예에서, 도 8에 개시된 동작들은 도 5의 530동작의 세부 동작들일 수 있다.
일 실시 예에서, 810동작에서, 전자 장치(200)는 노래를 검색할 수 있다. 예를 들어, 전자 장치(200)는 520동작에서 획득한 입력 사운드의 분석 결과의 적어도 일부를 이용하여, 입력 사운드와 연관된 노래를 검색할 수 있다. 예를 들어, 전자 장치(200)는 음량, 음색, 높이, 리듬과 같은 음악 특징(musical feature), 혹은 오디오 신호처리에 보편적으로 사용되는 특징 벡터(예: MFCC(mel-frequency cepstrum coefficients), LSP(line spectral pairs)를 이용하여, 입력 사운드와 연관된 노래를 검색할 수 있다. 다른 예를 들어, 전자 장치(200)는 사용자의 개인 정보(예: 선호도 정보)를 추가적으로 이용하여, 입력 사운드와 연관된 노래를 검색할 수 있다.
일 실시 예에서, 노래를 검색함에 있어서, 다양한 분류 알고리즘(예: 신경망 네트워크(neural network), SVM(support vector machine), HMM(hidden markov model)이 사용될 수 있다.
일 실시 예에서, 전자 장치(200)는, 입력 사운드와 연관된 노래를 검색하기 위하여, 입력 사운드를 외부 서버에 전송할 수 있다. 다른 예를 들어, 전자 장치(200)는 입력 사운드와 연관된 노래를 검색하기 위하여, 입력 사운드, 혹은 입력 사운드의 분석 결과 중 적어도 하나의 적어도 일부를 메모리(210)에 저장된 음악 검색 프로그램에 입력할 수도 있다.
일 실시 예에서, 820동작에서, 전자 장치(200)는 입력 사운드와 연관된 노래가 검색되는지 여부를 확인할 수 있다.
입력 사운드와 연관된 노래가 검색되지 않는 경우(820동작에서 아니오), 전자 장치(200)는 830동작에서, 에러 메시지를 출력할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드와 연관된 노래가 검색되지 않았으므로 백그라운드 음악을 생성할 수 없음을 알리는 에러 메시지를 출력할 수 있다.
입력 사운드와 연관된 노래가 검색된 경우(820동작에서 예), 840동작에서, 전자 장치(200)는 검색된 노래에 대응하는 복수의 재생 모드들(혹은 출력 버전(출력 사운드의 종류)들) 중 적어도 하나의 재생 모드(혹은 출력 버전(출력 사운드의 종류))를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드의 분석 결과 및 검색된 노래에 대응하는 복수의 재생 모드들 각각의, 음악 스타일을 구현하기 위한 특징 정보의 적어도 일부에 기반하여, 검색된 노래에 대응하는 복수의 재생 모드들 중 적어도 하나의 재생 모드를 결정할 수 있다.
예를 들어, 전자 장치(200)는 검색된 노래에 대응하는 복수의 재생 모드들(예: 연주 모드, 랩 모드) 중에서, 입력 사운드의 박자 정보와 대응하거나 매칭되는(예: 지정된 시구간 동안 박자의 차이가 임계 값 이하인) 박자 정보를 가지는 하나의 재생 모드(예: 랩 모드)를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드의 분석 결과의 적어도 일부 및 검색된 노래에 대한 정보(예: 듀엣곡인지 여부, 검색된 노래의 장르 정보, 검색된 노래의 전체적인 빠르기 정보(예: 안단테, 아다지오 등), 음악 특징(musical feature)의 정확도, 신뢰도 등)에 추가적으로 기반하여, 검색된 노래에 대응하는 복수의 재생 모드들 중 적어도 하나의 재생 모드를 결정할 수 있다. 예를 들어, 전자 장치(200)는 검색된 노래가 듀엣곡이고, 입력 사운드의 분석 결과 입력 사운드가 남성에 의해서만 생성된 경우, 복수의 재생 모드들 (예: 연주 모드, 랩 모드, 듀엣 모드) 중 적어도 하나의 재생 모드(예: 듀엣 모드)를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드의 분석 결과의 적어도 일부, 620동작에서 결정된 컨텍스트 정보, 사용자의 선호도 정보에 추가적으로 기반하여, 검색된 노래에 대응하는 복수의 재생 모드들 중 적어도 하나의 재생 모드를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 상술한 바와 같이, 사용자의 입력과 독립적으로, 입력 사운드의 분석 결과 및/또는 검색된 노래 정보 중 적어도 하나에 기반하여, 검색된 노래에 대응하는 복수의 재생 모드들 중에서, 적어도 하나의 재생 모드를 결정할 수도 있고, 사용자의 입력에 기반하여 적어도 하나의 재생 모드를 결정할 수도 있다. 예를 들어, 상기 사용자의 입력은, 입력 사운드가 수신되기 전 입력되어, 관련 데이터가 메모리(210)에 저장되어 있을 수 있다. 다른 예를 들어, 상기 사용자의 입력은 입력 사운드가 수신된 후, 혹은 입력 사운드가 수신되는 도중에 입력될 수 있다. 자세한 사항은 도 9에 대한 설명에서 개시된다.
일 실시 예에서, 복수의 재생 모드들 중에서 적어도 하나의 재생 모드가 결정됨에 있어서, 다양한 분류 알고리즘이 사용될 수 있다.
도 9는 본 발명의 다양한 실시 예들에 따라 복수의 재생 모드들 중에서 하나의 재생 모드를 선택 받기 위해 사용자에게 제공되는 사용자 인터페이스를 예시하는 도면들이다.
도 9(a)를 참고할 때, 전자 장치(예: 전자 장치(200))는 사전에 재생 모드를 설정 받을 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드를 수신하기 전, 사용자로부터, 사용자의 선호도에 따른, 특정한 하나 이상의 재생 모드에 대한 정보를 수신할 수 있다. 구체적으로, 전자 장치(200)는 복수의 재생 모드들을 나타내는 복수의 객체들(920)을 디스플레이(예: 디스플레이(220))에 표시하고, 복수의 객체들 중에 하나 이상의 객체들을 선택하는 사용자 입력을 수신할 수 있다. 전자 장치(200)는 하나 이상의 객체들의 선택 순서에 따라, 대응하는 하나 이상의 재생 모드들에 우선 순위를 부여할 수 있다. 다른 예를 들어, 전자 장치(200)는 재생 모드를 설정 받음에 있어서, 재생 모드를 설정하는 사용자를 식별하고, 식별된 사용자 정보(910)를 제공할 수도 있다.
미도시되었지만, 전자 장치(200)는 사전에 재생 모드를 설정 받음에 있어서, 특정한 노래 혹은 특정한 장르와 연계하여 재생 모드를 설정 받을 수 있다. 예를 들어, 전자 장치(200)는 힙합 장르에는 1순위 비트박스 모드 및 2순위 가사가 포함한 모드를, 힙합 장르가 아닌 경우에는 연주 모드를 선택 받을 수 있다.
일 실시 예에서, 전자 장치(200)는 사전에 설정 받은 재생 모드에 대한 정보를 메모리(210)에 저장할 수 있다. 전자 장치(200)는 선택된 하나 이상의 재생 모드들에 대한 정보를, 사용자의 식별 정보와 매핑하여 저장할 수 있다. 예를 들어, 사용자 A가 2가지 재생 모드들(허밍 모드와 가사를 포함한 모드)을 선택한 경우, 전자 장치(200)는 카메라 모듈(260)로부터 수신한 영상 정보를 이용하여 사용자 A를 식별할 수 있고, 상기 식별된 사용자 A의 식별 정보를 상기 선택된 재생 모드들에 대한 정보와 매핑하여 저장할 수 있다.
메모리(210)에 저장된, 재생 모드에 대한 정보는, 추후 동일한 사용자로부터 입력 사운드가 수신될 때, 상기 수신된 입력 사운드에 기반하여 출력 사운드를 생성함에 있어서 사용될 수 있다. 예를 들어, 사용자 A가 허밍 모드를 1순위로 사전에 설정하였으며, 입력 사운드와 연관된 노래가 허밍 모드를 지원하는 경우, 전자 장치(200)는 허밍 모드에 기반하여, 출력 사운드를 생성할 수 있다.
도 9(b)를 참고할 때, 전자 장치(200)는 입력 사운드가 수신된 후, 혹은 입력 사운드가 수신되는 도중에, 재생 모드를 설정 받을 수 있다. 예를 들어, 사용자 A로부터 "상어 가족" 과 같은 동요를 부르는 입력 사운드를 수신한 전자 장치(200)는 디스플레이(220)에 입력 사운드와 연관된 노래의 제목("상어 가족", 930)을 표시함과 동시에, 입력 사운드와 연관된 노래에 대응하는 복수의 재생 모드들을 나타내는 복수의 객체들(940)을 추가적으로 표시할 수 있다. 전자 장치(200)는 입력 사운드와 연관된 노래가 지원하는 복수의 재생 모드들을 나타내는 복수의 객체들만을 표시할 수도 있고, 전체 재생 모드들을 나타내는 복수의 객체들을 표시하되, 입력 사운드와 연관된 노래가 지원하는 복수의 재생 모드들을 나타내는 일부 객체들을 선택 가능하도록(user-selectable) 표시하고, 나머지 객체들은 선택이 불가하도록 비활성화하여 표시할 수 있다.
도 10은 본 발명의 다양한 실시 예들에 따라 전자 장치가 출력 사운드를 생성하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 도 10에 개시된 동작들은 도 5의 540동작의 세부 동작들일 수 있다.
일 실시 예에서, 1010동작에서, 전자 장치(200)는 결정된 노래의 원곡 사운드를 입력 사운드와 동기화할 수 있다.
일 실시 예에서, 전자 장치(200)는 결정된 노래에 대응하는 재생 정보를 메모리(210)에서 검색할 수 있다. 예를 들어, 전자 장치(200)는 530동작 혹은 810동작에서 검색된 노래에 대응하는 악보, 스트림 데이터, 게인(gain) 정보에 대한 정보를 재생 모드 데이터베이스(예: 재생 모드 데이터베이스(400))에서 검색할 수 있다.
일 실시 예에서, 전자 장치(200)는 입력 사운드에 대응하는, 원곡 사운드의 시점 혹은 구간을 결정하고, 결정된 시점 혹은 구간 이후의 원곡 사운드를 입력 사운드와 동기화할 수 있다. 예를 들어, 전자 장치(200)는 원곡 사운드의 박자, 음정 중 적어도 하나를, 입력 사운드에 동기화시킬 수 있다. 구체적인 예를 들어, 원곡 사운드의 박자가 3/4 박자이며, 입력 사운드의 박자가 4/4박자인 경우, 원곡 사운드의 박자를 3/4 박자에서 4/4 박자로 동기화시킬 수 있다.
일 실시 예에서, 1020동작에서, 전자 장치(200)는 동기화된 원곡 사운드의 스타일을, 결정된 출력 사운드 종류에 기반하여, 변경(transfer)할 수 있다. 전자 장치(200)는 1010동작에서 동기화된 원곡 사운드의 스타일을, 530동작에서 결정된 출력 사운드의 종류에 기반하여, 트랜스퍼(transfer)할 수 있다.
일 실시 예에서, 전자 장치(200)는 동기화된 원곡 사운드의 스타일을 변경함에 있어서, 생성 모델(혹은 스타일 트랜스퍼 모델)을 이용할 수 있다. 예를 들어, 생성 모델은 VAE(variational auto-encoder), GAN 중 어느 하나일 수 있다. 전자 장치(200)는 생성 모델에, 동기화된 원곡 사운드 및 결정된 출력 사운드의 종류와 연관된 적어도 하나의 파라미터를 입력함으로써, 동기화된 원곡 사운드의 스타일을 변경할 수 있다.
일 실시 예에서, 전자 장치(200)는 동기화된 원곡 사운드의 스타일을 변경함에 있어서, 사운드 합성 방식을 사용할 수 있다. 예를 들어, 전자 장치(200)는 동기화된 원곡 사운드를, 결정된 출력 사운드의 종류에 대응하는 사운드와 합성할 수도 있다. 전자 장치(200)는 복수의 사운드들을 합성함에 있어서 머신 러닝에 기반한 방식을 활용할 수 있다. 예를 들어, 일반적으로 사운드 데이터는 연속된 데이터로 구성되어 있기 때문에, RNN(Recurrent Neural Network), LSTM(Long Short-Term Memory models)에 기반한 방식이 활용될 수 있다.
일 실시 예에서, 전자 장치(200)는 동기화된 원곡 사운드의 스타일을 변경함에 있어서, 컨텍스트 정보에 추가적으로 기반할 수 있다. 예를 들어, 컨텍스트 정보와 연관된 적어도 하나의 파라미터를 입력 함으로써, 동기화된 원곡 사운드의 스타일을 변경할 수 있다. 예를 들어, 전자 장치(200)는 사운드의 합성에 있어서, 컨텍스트와 관련된 음향 정보(전체적인 템포, 혹은 음정)를, 일종의 제한(constraint) 파라미터로 설정할 수 있다.
예를 들어, 전자 장치(200)는 입력 사운드의 음색 정보, 사용자의 영상 정보 중 적어도 하나에 기반하여 사용자의 기분과 관련된 정보(예: 행복 혹은 기쁨과 관련된 수치 정보)를 결정할 수 있다. 전자 장치(200)는 사용자의 행복 혹은 기쁨과 관련된 수치 정보가 임계 치를 넘는 경우, 빠른 템포와 높은 음에 대응하는 음향 정보가, 제한 파라미터로서, 사운드 합성을 위한 모델(예: LSTM)에 입력될 수 있다.
다른 예를 들어, 전자 장치(200)는, 사용자의 슬픔과 관련된 수치 정보가 임계 치를 넘는 경우, 발라드 장르에 대응하는 출력 사운드가 생성되기 위하여, 늦은 템포와 낮은 음에 대응하는 음향 정보가 제한 파라미터로서, 사운드 합성을 위한 모델에 입력될 수 있다.
또 다른 예를 들어, 전자 장치(200)는, 현재 시간 정보가 저녁인 경우, 혹은 비가 내리고 있는 경우, 혹은 어린 나이의 아이와 같이 살며 전자 장치(200)의 현재 위치가 사용자의 집에 대응하는 경우, 늦은 템포와 낮은 음에 대응하는 음향 정보가 제한 파라미터로서, 사운드 합성을 위한 모델에 입력될 수 있다.
도 11은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 원곡 사운드를 입력 사운드와 동기화하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 도 11에 개시된 동작들은 도 10의 1010동작의 세부 동작들일 수 있다.
일 실시 예에서, 도 11에 개시된 동작은 크게 두 가지 동작들로 구분될 수 있다. 1110동작 내지 1120동작은 원곡 사운드 내에서 시작점을 탐색하기 위한 싱크 동작(sync operation)에 대응하며, 이하 글로벌 싱크(global sync)로 기재된다. 1130동작 내지 1180동작은 출력 사운드를 재생하는 동안 적어도 일부 구간 내 원곡 사운드의 박자, 음정 중 적어도 하나를 입력 사운드에 동기화시키기 위한 싱크 동작에 대응하며, 이하 로컬 싱크(local sync)로 기재된다.
일 실시 예에서, 글로벌 싱크는 선택적으로 수행될 수 있다. 예를 들어, 도 8의 820동작에서, 입력 사운드와 연관된 노래가 검색되는 경우, 글로벌 싱크가 수행될 수 있다. 다른 예를 들어, 입력 사운드와 연관된 노래가 검색되지 않는 경우, 글로벌 싱크가 수행되지 않을 수 있다.
일 실시 예에서, 글로벌 싱크는, 검색된 노래에 대한 정보를 이용하여, 수행될 수 있다.
일 실시 예에서, 전자 장치(200)는 1110동작에서, 결정된 노래에 대응하는 재생 정보를 메모리(210)에서 검색할 수 있다. 예를 들어, 전자 장치(200)는 530동작 혹은 810동작에서 검색된 노래에 대응하는 악보, 스트림 데이터에 대한 정보를 메모리(210)에서 검색할 수 있다.
일 실시 예에서, 전자 장치(200)는 1120동작에서, 재생 정보 및 입력 사운드에 기반하여 시작점을 탐색할 수 있다. 전자 장치(200)는 입력 사운드가, 결정된 노래의 어느 시점 (혹은 어느 시구간) 에 대응하는지 여부를 결정할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드를, 결정된 노래에 대응하는 악보의 적어도 일부 구간에 반복적으로 매칭함으로써, 입력 사운드가 결정된 노래의 어느 시점 (혹은 어느 시구간) 에 대응하는지 여부를 결정할 수 있다. 다른 예를 들어, 전자 장치(200)는 검색된 스트림 데이터를 생성하고, 입력 사운드를, 생성된 스트림 데이터의 구간별로 매칭함으로써, 입력 사운드가 결정된 노래의 어느 시점 (혹은 어느 시구간) 에 대응하는지 여부를 결정할 수도 있다.
예를 들어, 전자 장치(200)는 "humpty dumpty had a great fall" 이라는 입력 사운드를 수신한 경우, 원곡에서 입력 사운드의 일 부분이 상기 입력 사운드에 대응하는지 판단하고, 원곡에서 다음 부분인 "All the king's horses"로 시작하는 부분을 출력 사운드의 시작점으로 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 1130동작에서, 지정된 길이의 하나 이상의 슬라이딩 윈도우들을 설정할 수 있다. 예를 들어, 전자 장치(200)는 상기 출력 사운드의 시작점의 이후 범위에서, 지정된 길이의 하나 이상의 슬라이딩 윈도우들을 결정할 수 있다. 구체적인 예를 들어, 전자 장치(200)는, 상기 출력 사운드의 시작점이 t=2(s) 로 결정된 경우, 1초 길이를 가지며 시작점이 서로 다른, 하나 이상의 슬라이딩 윈도우들(예: 제1 슬라이딩 윈도우(예: t=2~t=3), 제2 슬라이딩 윈도우(예: t=2.1~t=3.1), 제3 슬라이딩 윈도우(예: t=2.2~t=3.2)를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 1140동작에서, 설정된 하나 이상의 슬라이딩 윈도우들에 대응하는 원곡 사운드들을 분석할 수 있다. 예를 들어, 전자 장치(200)는 상기 제1 슬라이딩 윈도우(t=2~t=3)에 대응하는 원곡 사운드의 음악 특징 정보(예: 음고(pitch), 음색(timbre), 음량(intensity), 길이(duration), 박자(beat))를 확인할 수 있다.
일 실시 예에서, 전자 장치(200)는 1150동작에서, 사용자의 추가 입력 사운드를 분석할 수 있다. 전자 장치(200)는 상기 출력 사운드의 시작점 이후 입력된, 지정된 범위(예: 시구간의 길이)의 사용자의 입력 사운드를 분석할 수 있다. 예를 들어, 전자 장치(200)는 1초 길이의 사용자의 입력 사운드를 분석할 수 있다. 여기서 지정된 범위는, 상기 설정된 하나 이상의 슬라이딩 윈도우들의 지정된 길이에 대응할 수 있다. 예를 들어, 전자 장치(200)가 1.2초 길이의 하나 이상의 슬라이딩 윈도우들을 결정한 경우, 전자 장치(200)는 1.2초 길이의 사용자의 추가 입력 사운드를 분석할 수 있다.
일 실시 예에서, 전자 장치(200)는 1160동작에서, 하나 이상의 유사도들을 계산할 수 있다. 일 실시 예에서, 전자 장치(200)는 상기 설정된 하나 이상의 슬라이딩 윈도우들의 분석 결과 및 상기 사용자의 추가적인 입력 사운드의 분석 결과를 이용하여, 상기 사용자의 추가적인 입력 사운드와, 상기 결정된 하나 이상의 슬라이딩 윈도우에 대응하는 각각의 원곡 사운드들 간의 유사도들을 계산할 수 있다. 예를 들어, 전자 장치(200)는 상기 사용자의 추가적인 입력 사운드의 박자 정보를, 제1 슬라이딩 윈도우의 박자 정보, 제2 슬라이딩 윈도우의 박자 정보, 제3 슬라이딩 윈도우의 박자 정보와 비교하여 제1 유사도, 제2 유사도, 제3 유사도를 각각 계산할 수 있다. 계산된 유사도들의 개수는, 슬라이딩 윈도우의 개수에 대응할 수 있다.
일 실시 예에서, 전자 장치(200)는 1170동작에서, 임계 값 이상인 유사도가 존재하는지 여부를 판단할 수 있다.
임계 값 이상인 유사도가 존재하지 않는 경우(1170동작에서 아니오), 전자 장치(200)는 노래를 잘못 결정하였다는 판단 하에, 노래를 결정하는 동작을 다시 수행할 수 있다. 예를 들어, 전자 장치(200)는 도 5의 530동작 (혹은 도 8의 810동작) 으로 되돌아갈 수 있다.
임계 값 이상인 유사도가 존재하는 경우(1170동작에서 네), 전자 장치(200)는 1180동작에서, 임계 값 이상인 유사도에 기반하여 출력 사운드의 출력 시점을 결정할 수 있다. 예를 들어, 제1 내지 제3 유사도 중에서, 제2 유사도만 미리 지정된 값 이상인 경우, 전자 장치(200)는 제2 슬라이딩 윈도우의 시구간에 기반하여, 출력 사운드의 출력 시점을 결정할 수 있다. 구체적인 예를 들어, 전자 장치(200)는 제2 슬라이딩 윈도우의 시구간(t=2.1~t=3.1)의 끝점(t=3.1)을 출력 사운드의 출력 시점으로 결정하거나, 제2 슬라이딩 윈도우의 시구간의 끝점에 미리 지정된 시간을 더한 시점을 출력 사운드의 출력 시점으로 결정할 수 있다. 또 다른 예로, 상기 제1, 제2, 제3 유사도 중 가장 높은 유사도를 같는 슬라이딩 윈도우를 출력 사운드의 출력 시점으로 결정할 수 있다.
도 12는 본 발명의 다양한 실시 예들에 따라, 전자 장치가 출력 사운드를 생성하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 도 12에 개시된 동작들은 도 5의 540동작의 세부 동작들일 수 있다.
일 실시 예에서, 도 12에 개시된 동작들은, 사용자의 부정확한 발음, 박자 혹은 음정에 대한 피드백을 실시간으로 제공 혹은 코칭하기 위한 동작들일 수 있다. 예를 들어, 전자 장치(200)가, 도 8의 830동작에서, 검색된 노래에 대응하는 복수의 재생 모드들 중 코칭 모드를 포함하는 하나 이상의 재생 모드를 결정하였을 때, 도 12에 개시된 동작들이 수행될 수 있다. 이하, 전자 장치(200)가, 도 8의 840동작에서, 검색된 노래에 대응하는 복수의 재생 모드들 중 두 개의 재생 모드(코칭 모드 및 연주 모드)가 결정된 것으로 가정하고, 도 12의 동작들을 설명하겠다.
일 실시 예에서, 1210동작에서, 전자 장치(200)는 발음 정확도를 분석할 수 있다. 전자 장치(200)는 530동작에서 결정된 노래의 가사를 이용하여 발음 정확도를 분석할 수 있다. 예를 들어, 전자 장치(200)는 전자 장치(200) 혹은 전자 장치(200)와 데이터 통신을 수행하는 외부 장치에 포함된, 음성 데이터를 텍스트 데이터로 변환하기 위한 모듈(예: ASR(automatic speech recognition) 모듈)을 이용하여 사용자가 발음하는 가사를 결정하고, 사용자가 발음하는 가사를, 530동작에서 결정된 노래의 가사와 비교함으로써 발음 정확도를 분석할 수 있다. 다른 예를 들어, 전자 장치(200)는 카메라 모듈(260)로부터 수신한 영상 정보 중 사용자의 입 모양 혹은 입술의 움직임에 대한 정보를 결정하고, 이에 기반하여 사용자가 발음하는 가사를 결정하고, 사용자가 발음하는 가사를 530동작에서 결정된 노래의 가사와 비교함으로써 발음 정확도를 분석할 수도 있다.
일 실시 예에서, 전자 장치(200)는 발음 정확도를 분석함에 있어서, 전자 장치(200)가, 입력 사운드의 입력과 겹쳐서 출력 사운드를 출력하는 경우, 전자 장치(200)가 출력하는 출력 사운드로부터 입력 사운드를 구별하기 위하여, 전자 장치(200)가 출력하는 출력 사운드의 주파수를 조절할 수 있다.
일 실시 예에서, 1220동작에서, 전자 장치(200)는 사용자가 발음하는 가사가 부정확한지 여부를 결정할 수 있다. 예를 들어, 전자 장치(200)는 1210동작에서 분석한 발음 정확도가 임계 치보다 낮은지 여부를 결정할 수 있다.
일 실시 예에서, 사용자가 발음하는 가사가 부정확한 경우(1220동작에서, 예), 전자 장치(200)는 1230동작에서, 가사 안내 메시지를 생성할 수 있다. 예를 들어, 전자 장치(200)는 디스플레이(220)에 노래의 정확한 가사를 표시함과 동시에, 사용자가 잘못 발음한 단어를 하이라이트하여 표시할 수 있다.
일 실시 예에서, 가사 안내 메시지를 생성함에 있어서, 사용자의 사용 이력 정보가 추가적으로 이용될 수 있다. 예를 들어, 전자 장치(200)는 사용자가 이제까지 동일한 부분을 틀린 횟수가 지정된 횟수를 넘는 경우에만 가사 안내 메시지를 생성할 수 있다.
사용자가 발음하는 가사가 정확한 경우(1220동작에서, 아니오), 전자 장치(200)는 1240동작에서, 박자 정확도를 분석할 수 있다. 예를 들어, 전자 장치(200)는 지정된 길이를 가지는 슬라이딩 윈도우를 설정하고, 슬라이딩 윈도우에 대응하는 원곡 사운드의 박자 정보를, 슬라이딩 윈도우에 대응하는 입력 사운드의 박자 정보와 비교함으로써, 박자 정확도를 분석할 수 있다.
미도시되었지만, 전자 장치(200)는 박자 정확도를 분석함에 있어서, 시작점을 탐색하기 위한 글로벌 싱크 동작을 먼저 수행할 수 있다.
입력 사운드의 박자가 정확한 경우(1250동작에서 아니오), 전자 장치(200)는 1270동작에서, 출력 사운드를 생성할 수 있다. 예를 들어, 전자 장치(200)는 박자에 대한 안내 메시지를 제공하지 않고, 코칭 모드를 제외한 나머지 재생 모드(예: 연주 모드)에 기반하여 출력 사운드를 생성할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드와 연관된 노래에, 별도의 악기 소리가 추가되도록, 출력 사운드를 생성할 수 있다.
입력 사운드의 박자가 부정확한 경우(1250동작에서 예), 전자 장치(200)는 1260동작에서, 점진적 박자 매칭을 수행할 수 있다. 일 실시 예에서 점진적 박자 매칭은, 지정된 길이의 슬라이딩 윈도우에 대응하는 원곡 사운드와 입력 사운드의 박자를 비교하고, 비교 결과에 따라 슬라이딩 윈도우의 길이를 조절하면서 박자 비교 동작을 반복적으로 수행하는 일련의 동작들을 나타낼 수 있다. 일 실시 예에서, 전자 장치(200)는 점진적 박자 매칭을 수행함으로써, 원곡 사운드의 박자를 입력 사운드의 박자에, 혹은 입력 사운드의 박자를 원곡 사운드의 박자에 동기시킬 수 있다.
도 12에서는 박자에 대한 내용만 기술되었으나, 도 12에 대한 실시 예는 박자에 국한되는 것은 아니다. 예를 들어, 음정, 음색, 박자를 비롯하여 입력 사운드로부터 분석될 수 있는 다양한 음악 특징 정보가 도 12에 대한 실시 예에 적용될 수 있다.
일 실시 예에서, 전자 장치(200)는 1270동작에서 출력 사운드를 생성할 수 있다. 예를 들어, 전자 장치(200)는 코칭 모드를 제외한 나머지 재생 모드(예: 연주 모드)에 기반하여 출력 사운드를 생성할 수 있다. 미도시되었지만, 전자 장치(200)는 박자 안내 메시지를 생성할 수도 있다. 예를 들어, 전자 장치(200)는 원곡 사운드에 비하여 반 박자 느리며, 반 박자 빠르게 부를 것을 코칭하기 위한 박자 안내 메시지를 생성할 수 있다.
일 실시 예에서, 전자 장치(200)는 출력 사운드를 생성함에 있어서, 1260동작의 점진적 박자 매칭 결과를 이용할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드의 박자에 동기화된 원곡 사운드에 기반하여, 출력 사운드를 생성할 수 있다.
다른 실시 예에서, 전자 장치(200)는 1260동작의 점진적 박자 매칭 결과와 무관하게, 출력 사운드를 생성할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드의 박자와 동기화되지 않는 원곡 사운드에 기반하여, 출력 사운드를 생성할 수 있다.
일 실시 예에서, 전자 장치(200)는 출력 사운드를 생성함에 있어서, 입력 사운드와 연관된 컨텍스트 정보의 적어도 일부를 이용할 수 있다. 예를 들어, 입력 사운드와 연관된 노래를, 사용자가 이제까지 여러 번 부른 이력이 있는 경우, 전자 장치(200)는 입력 사운드의 박자와 동기화되지 않는 원곡 사운드에 기반하여, 출력 사운드를 생성할 수 있다. 다른 예를 들어, 입력 사운드와 연관된 노래를, 사용자가 처음 부르는 경우, 전자 장치(200)는 입력 사운드의 박자에 동기화된 원곡 사운드에 기반하여, 출력 사운드를 생성할 수 있다.
도 13은 본 발명의 다양한 실시 예들에 따라, 전자 장치가 출력 사운드를 출력하기 위해 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 도 13에 개시된 동작들은 도 5의 550동작의 세부 동작들일 수 있다.
일 실시 예에서, 도 13에 개시된 동작들은, 사용자의 부정확한 발음, 박자 혹은 음정에 대한 피드백을 실시간으로 제공 혹은 코칭하기 위한 동작들일 수 있다.
예를 들어, 전자 장치(200)가, 도 8의 840동작에서, 검색된 노래에 대응하는 복수의 재생 모드들 중 코칭 모드를 포함하는 하나 이상의 재생 모드를 결정하였을 때, 도 13에 개시된 동작들이 수행될 수 있다.
일 실시 예에서, 1310동작에서, 전자 장치(200)는 원곡에 대한 음정, 박자 중 적어도 하나에 기반하여 출력 사운드가 생성되었음을 알리는 안내 메시지를 제공할 수 있다. 예를 들어, 원곡 사운드에 대응하는 박자에 비하여 입력 사운드에 대응하는 박자가 반 박자 느린 경우, 전자 장치(200)는 원곡에 대한 박자에 기반하여 출력 사운드가 생성되었음을 알리는 안내 메시지를 제공할 수 있다. 또한, 전자 장치(200)는 입력 사운드가, 원곡 사운드에 비하여 반 박자 느리며, 반 박자 빠르게 부를 것을 코칭하기 위한 안내 메시지를 제공할 수도 있다.
미도시되었지만, 전자 장치(200)는, 가사 안내 메시지가 도 12의 1230동작에서 생성된 경우, 생성된 가사 안내 메시지를 사용자에게 제공할 수도 있다. 예를 들어, 전자 장치(200)는 이후 반복되는 후렴구에서 틀리게 부른 부분을 강조하여 사용자에게 제공할 수 있다.
일 실시 예에서, 1320동작에서, 전자 장치(200)는 원곡과의 더 나은 매칭을 위한 안내 메시지를 제공할 수 있다. 예를 들어, 전자 장치(200)는, 입력 사운드가 원곡 사운드에 비하여 반 박자 느리며, 반 박자 빠르게 부를 것을 코칭하기 위한 박자 안내 메시지를 제공할 수 있다.
일 실시 예에서, 1330동작에서, 전자 장치(200)는 출력 사운드를 출력할 수 있다. 예를 들어, 전자 장치(200)는 스피커(240)를 통하여, 540동작에서 생성된 출력 사운드를 출력할 수 있다.
미도시되었지만, 1310동작에서, 전자 장치(200)는 입력 사운드에 대한 음정, 박자 중 적어도 하나에 기반하여 출력 사운드가 생성되었음을 알리는 안내 메시지를 제공할 수도 있다.
도 14는 본 발명의 다양한 실시 예들에 따라 사용자에게 제공되는 피드백을 예시하는 도면들이다.
도 14(a)를 참고할 때, 전자 장치(예: 전자 장치(200))는 가사에 대한 안내 메시지를 제공할 수 있다. 예를 들어, 전자 장치(200)는 디스플레이(예: 디스플레이(220))에, 입력 사운드와 연관된 노래의 원곡 가사(1430)를 표시함과 동시에, 사용자가 발음한 가사(1420)를 표시할 수 있으며, 사용자가 발음한 가사(1420) 중 잘못 발음한 단어(1410)를 하이라이트하여 표시할 수 있다.
도 14(b)를 참고할 때, 전자 장치(200)는 박자에 대한 안내 메시지를 제공할 수 있다.
도 14(b)를 참고할 때, 전자 장치(200)는 입력 사운드의 박자에 기반하거나 원곡 사운드의 박자에 기반하여, 출력 사운드를 생성할 수 있다. 이 두 가지 경우에 대해서, 전자 장치(200)는 입력 사운드(1450)가 원곡 사운드(1440)에 비하여 반 박자 느리며, 반 박자 빠르게 부를 것을 코칭하기 위한 박자 안내 메시지를 제공할 수 있다.
도 15은 본 발명의 다양한 실시 예들에 따라, 입력 사운드와 연관된 노래가 결정되지 않을 경우, 전자 장치가 수행하는 동작들의 흐름을 나타내는 흐름도이다.
일 실시 예에서, 입력 사운드와 연관된 노래가 검색되지 않는 경우(도 8의 820동작에서 아니오), 전자 장치(200)가 에러 메시지를 출력할 수 있음은 상술한 바와 같다.
다른 실시 예에서, 전자 장치(200)는 에러 메시지를 출력하는 대신에, 1510동작에서, 입력 사운드의 박자, 음정, 가사 중 적어도 하나에 기반하여, 부가 정보를 결정할 수 있다. 상기 부가 정보는, 입력 사운드의 박자, 음정, 가사 중 적어도 하나를 이용하여, 전자 장치(200)가 추출할 수 있는, 입력 사운드와 관련된 정보를 의미할 수 있다. 예를 들어, 상기 부가 정보는, 입력 사운드와 관련된 장르, 템포 혹은 BPM, 미리 설정된 단어의 조합 중 적어도 하나일 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드의 박자에 기반하여, 입력 사운드의 장르를 재즈로 결정할 수 있다. 다른 예를 들어, 전자 장치(200)는 입력 사운드의 가사에 기반하여, 입력 사운드가 미리 설정된 단어의 조합(예: 호랑이 어흥)과 연관되어 있다고 결정할 수 있다.
일 실시 예에서, 1520동작에서, 전자 장치(200)는 상기 결정된 부가 정보에 기반하여 적어도 하나의 재생 모드를 결정할 수 있다. 예를 들어, 전자 장치(200)는 입력 사운드의 장르 정보(예: 재즈)에 기반하여 적어도 하나의 재생 모드(예: 연주 모드)를 결정할 수 있다. 전자 장치(200)는 재즈 장르에 주로 사용되는 악기(예: 트럼펫) 사운드가 백그라운드 음악으로 제공될 수 있기 때문이다. 다른 예를 들어, 입력 사운드가 미리 설정된 단어의 조합과 연관되어 있다는 판단에 기반하여, 적어도 하나의 재생 모드(예: 효과음 모드)를 결정할 수 있다.
일 실시 예에서, 전자 장치(200)는 540동작으로 진행할 수 있다. 전자 장치(200)는 1520동작에서 결정한 적어도 하나의 재생 모드에 기반하여 출력 사운드를 생성할 수 있다.
예를 들어, 입력 사운드의 장르 정보(예: 재즈)에 기반하여 연주 모드가 결정된 경우, 전자 장치(200)는 입력 사운드의 박자에 기반하여 트럼펫 사운드를 생성할 수 있다.
다른 예를 들어, 입력 사운드가 미리 설정된 단어의 조합과 연관되어 효과음 모드가 결정된 경우, 전자 장치(200)는, 동일한 단어의 조합이 지정된 시간 이내 입력될 때, 호랑이 울음 소리를 나타내는 효과음을 포함하는 출력 사운드를 생성할 수 있다.
입력 사운드에 연관된 노래가 추가적으로 검색된 경우, 전자 장치(200)는 따라 부르기 기능을 수행할 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(예: 자기테이프), 광기록 매체(예: CD-ROM, DVD, 자기-광 매체 (예: 플롭티컬 디스크), 내장 메모리 등을 포함할 수 있다. 명령어는 컴파일러에 의해 만들어지는 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른, 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    마이크;
    적어도 하나의 스피커;
    상기 마이크 및 상기 스피커에 작동적으로 연결된 적어도 하나의 프로세서; 및
    상기 프로세서에 전기적으로 연결된 적어도 하나의 메모리를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서로 하여금,
    상기 마이크를 통해, 사운드를 수신하고
    상기 수신된 사운드를 분석하고,
    상기 분석한 결과에 적어도 일부 기반하여, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하고,
    상기 출력 사운드의 종류에 적어도 일부 기반하여, 출력 사운드를 생성하고,
    상기 스피커를 통해, 상기 생성된 출력 사운드를 출력하도록 하는 인스트럭션들을 저장하는 전자 장치.
  2. 제 1항에 있어서,
    상기 출력 사운드의 종류는, 상기 노래의 허밍 버전, 가사를 포함한 버전, 연주 버전, 또는 효과음 (sound effect) 버전 중 적어도 하나를 포함하는 전자 장치.
  3. 제 1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가, 상기 수신된 사운드의 음량, 음색 (tone), 높이 (pitch), 또는 스펙트럼 (spectrum) 중 적어도 하나에 기반하여 상기 수신된 사운드를 분석하도록 하는 전자 장치.
  4. 제 1항에 있어서,
    상기 메모리는, 적어도 하나의 노래에 관한 정보를 저장하고,
    상기 인스트럭션들은, 상기 프로세서가,
    상기 수신된 사운드의 분석 결과 및 상기 저장된 노래 정보에 적어도 일부 기반하여 상기 사운드와 연관된 노래를 결정하고,
    상기 결정된 노래에 기반하여, 복수의 출력 사운드들에 대응하는 음악 스타일의 특징 정보를 결정하고,
    상기 수신된 사운드의 분석 결과 및 상기 결정된 특징 정보 중 적어도 일부에 기반하여, 상기 복수의 출력 사운드의 종류들 중 상기 출력 사운드의 종류를 결정함으로써, 상기 출력 사운드의 종류를 결정하도록 하는 전자 장치.
  5. 제 1항에 있어서,
    상기 인스트럭션들은, 상기 프로세서가, 상기 수신된 사운드와 관련된 컨텍스트 정보를 획득하도록 하며,
    상기 컨텍스트 정보는, 상기 사운드가 수신된 시간 정보, 장소 정보, 날씨 정보, 상기 사운드를 발생시킨 사용자의 감정 정보, 사용 이력 정보 중 적어도 하나를 포함하는 전자 장치.
  6. 제 5항에 있어서,
    카메라 모듈을 더 포함하고,
    상기 컨텍스트 정보의 적어도 일부는 상기 카메라 모듈에 의해 촬영된 영상 정보에 기반하여 획득되는 전자 장치.
  7. 제 5항에 있어서,
    상기 인스트럭션들은, 상기 출력 사운드를 생성하는 동작의 일부로서, 상기 프로세서가,
    상기 수신된 사운드와 연관된 노래의 원곡 사운드를 상기 수신된 사운드와 동기화하고,
    상기 동기화된 원곡 사운드의 스타일을, 상기 결정된 출력 사운드 종류에 기반하여 변경하도록 하는 전자 장치.
  8. 제 7항에 있어서,
    상기 인스트럭션들은, 상기 수신된 사운드와 연관된 노래의 원곡 사운드를 상기 수신된 사운드와 동기화하는 동작의 일부로서, 상기 프로세서가,
    상기 수신된 사운드의 시작 시점에 대응하는 원곡 사운드 내 시점 혹은 상기 수신된 사운드의 시구간에 대응하는 원곡 사운드 내 시구간을 결정하고,
    상기 결정된 시점 이후 혹은 상기 결정된 시구간 내 지정된 길이를 갖는 윈도우를 설정하고
    상기 설정된 윈도우 내 상기 수신된 사운드의 음악 특징 정보를, 이전 예측되어 상기 메모리에 저장된 음악 특징 정보와 비교하고,
    상기 비교 결과에 기반하여, 상기 원곡 사운드를 상기 수신된 사운드와 동기화하도록 하는 전자 장치.
  9. 제 7항에 있어서,
    상기 인스트럭션들은, 상기 동기화된 원곡 사운드의 스타일을 변경하는 동작의 일부로서, 상기 프로세서가, 사운드를 생성하기 위한 모델에, 상기 결정된 출력 사운드의 종류와 연관된 적어도 하나의 파라미터, 상기 컨텍스트 정보와 연관된 적어도 하나의 파라미터 중 적어도 하나를 입력하도록 하는 전자 장치.
  10. 제 1항에 있어서,
    상기 인스트럭션들은, 상기 출력 사운드를 생성하는 동작의 일부로서, 상기 프로세서가,
    상기 수신된 사운드의 음악 특징 정보 혹은 상기 수신된 사운드와 연관된 텍스트 정보 중 적어도 하나의 정확도를 분석하고,
    상기 분석된 정확도가 임계 치 이하인 경우, 상기 수신된 사운드와 연관된 노래의 원곡 사운드와의 더 나은 매칭을 위한 안내 메시지를 생성하도록 하고,
    상기 인스트럭션들은, 상기 출력 사운드를 출력하는 동작의 일부로서, 상기 프로세서가 상기 안내 메시지를 제공하도록 하는 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    사운드를 수신하는 동작;
    상기 수신된 사운드를 분석하는 동작;
    상기 분석한 결과에 적어도 일부 기반하여, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하는 동작;
    상기 출력 사운드의 종류에 적어도 일부 기반하여, 출력 사운드를 생성하는 동작;
    상기 생성된 출력 사운드를 출력하는 동작을 포함하는 방법.
  12. 제 11항에 있어서,
    상기 출력 사운드의 종류는, 상기 노래의 허밍 버전, 가사를 포함한 버전, 연주 버전, 또는 효과음 (sound effect) 버전 중 적어도 하나를 포함하는 방법.
  13. 제 11항에 있어서,
    상기 수신된 사운드를 분석하는 동작은, 상기 수신된 사운드의 음량, 음색, 높이, 또는 스펙트럼 중 적어도 하나에 기반하여 상기 수신된 사운드를 분석하는 동작을 포함하는 방법.
  14. 제 11항에 있어서, 상기 사운드와 연관된 노래 및 출력 사운드의 종류를 결정하는 동작은,
    상기 수신된 사운드의 분석 결과 및 상기 전자 장치의 메모리에 저장된 노래 정보에 적어도 일부 기반하여, 상기 사운드와 연관된 노래를 결정하는 동작,
    상기 결정된 노래에 기반하여 복수의 출력 사운드들에 대응하는 음악 스타일의 특징 정보를 결정하는 동작,
    상기 수신된 사운드의 분석 결과 및 상기 결정된 특징 정보 중 적어도 일부에 기반하여, 상기 복수의 출력 사운드의 종류들 중 상기 출력 사운드의 종류를 결정하는 동작을 포함하는 방법.
  15. 제 11항에 있어서, 상기 수신된 사운드와 관련된 컨텍스트 정보를 획득하는 동작을 더 포함하고,
    상기 컨텍스트 정보는, 상기 사운드가 수신된 시간 정보, 장소 정보, 날씨 정보, 상기 사운드를 발생시킨 사용자의 감정 정보, 사용 이력 정보 중 적어도 하나를 포함하는 방법.
  16. 제 15항에 있어서,
    상기 컨텍스트 정보의 적어도 일부는 상기 전자 장치의 카메라 모듈에 의해 촬영된 영상 정보에 기반하여 획득되는 방법.
  17. 제 15항에 있어서, 상기 출력 사운드를 생성하는 동작은,
    상기 수신된 사운드와 연관된 노래의 원곡 사운드를 상기 수신된 사운드와 동기화하는 동작,
    상기 동기화된 원곡 사운드의 스타일을, 상기 결정된 출력 사운드 종류에 기반하여 변경하는 동작을 포함하는 방법.
  18. 제 17항에 있어서, 상기 수신된 사운드와 연관된 노래의 원곡 사운드를 상기 수신된 사운드와 동기화하는 동작은,
    상기 수신된 사운드의 시작 시점에 대응하는 원곡 사운드 내 시점 혹은 상기 수신된 사운드의 시구간에 대응하는 원곡 사운드 내 시구간을 결정하는 동작,
    상기 결정된 시점 이후 혹은 상기 결정된 시구간 내 지정된 길이를 갖는 윈도우를 설정하는 동작,
    상기 설정된 윈도우 내 상기 수신된 사운드의 음악 특징 정보를, 이전 예측되어 상기 메모리에 저장된 음악 특징 정보와 비교하는 동작,
    상기 비교 결과에 기반하여, 상기 원곡 사운드를 상기 수신된 사운드와 동기화하는 동작을 포함하는 방법.
  19. 제 17항에 있어서, 상기 동기화된 원곡 사운드의 스타일을, 상기 결정된 출력 사운드 종류에 기반하여 변경하는 동작은, 사운드를 생성하기 위한 모델에, 상기 결정된 출력 사운드 종류와 연관된 적어도 하나의 파라미터, 상기 컨텍스트 정보와 연관된 적어도 하나의 파라미터 중 적어도 하나를 입력하는 동작을 포함하는 방법.
  20. 제 11항에 있어서, 상기 출력 사운드를 생성하는 동작은,
    상기 수신된 사운드의 음악 특징 정보 혹은 상기 수신된 사운드와 연관된 텍스트 정보 중 적어도 하나의 정확도를 분석하는 동작,
    상기 분석된 정확도가 임계 치 이하인 경우, 상기 수신된 사운드와 연관된 노래의 원곡 사운드와의 더 나은 매칭을 위한 안내 메시지를 생성하는 동작을 더 포함하고,
    상기 출력 사운드를 출력하는 동작은 상기 안내 메시지를 제공하는 동작을 포함하는 방법.
KR1020180154175A 2018-12-04 2018-12-04 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법 KR102495888B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180154175A KR102495888B1 (ko) 2018-12-04 2018-12-04 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법
US16/703,738 US11410679B2 (en) 2018-12-04 2019-12-04 Electronic device for outputting sound and operating method thereof
PCT/KR2019/017013 WO2020116930A1 (en) 2018-12-04 2019-12-04 Electronic device for outputting sound and operating method thereof
EP19892663.6A EP3850821A4 (en) 2018-12-04 2019-12-04 ELECTRONIC DEVICE FOR DELIVERING SOUND OUTPUT AND ASSOCIATED OPERATING PROCEDURE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180154175A KR102495888B1 (ko) 2018-12-04 2018-12-04 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20200067382A true KR20200067382A (ko) 2020-06-12
KR102495888B1 KR102495888B1 (ko) 2023-02-03

Family

ID=70850362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180154175A KR102495888B1 (ko) 2018-12-04 2018-12-04 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법

Country Status (4)

Country Link
US (1) US11410679B2 (ko)
EP (1) EP3850821A4 (ko)
KR (1) KR102495888B1 (ko)
WO (1) WO2020116930A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220112016A (ko) * 2021-02-03 2022-08-10 이화여자대학교 산학협력단 사용자의 음원 소비 정보 및 맥락 정보에 기초한 적응형 음악 생성 장치 및 방법
WO2023120937A1 (ko) * 2021-12-21 2023-06-29 삼성전자주식회사 다양한 인터랙션을 제공하기 위한 전기 기타 및 그 제어 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259072A (zh) * 2020-09-25 2021-01-22 北京百度网讯科技有限公司 语音转换方法、装置和电子设备
US11670285B1 (en) * 2020-11-24 2023-06-06 Amazon Technologies, Inc. Speech processing techniques
CN114863898A (zh) * 2021-02-04 2022-08-05 广州汽车集团股份有限公司 一种车辆卡拉ok音频处理方法及系统、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016109069A1 (en) * 2014-12-31 2016-07-07 Pcms Holdings, Inc. Systems and methods for creation of a listening log and music library
WO2017058844A1 (en) * 2015-09-29 2017-04-06 Amper Music, Inc. Machines, systems and processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptors

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5225618A (en) * 1989-08-17 1993-07-06 Wayne Wadhams Method and apparatus for studying music
JP3333022B2 (ja) 1993-11-26 2002-10-07 富士通株式会社 歌声合成装置
JP2005516285A (ja) 2002-01-24 2005-06-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 検索された曲目をいっしょに演奏する音楽検索システム
US8686272B2 (en) * 2002-10-03 2014-04-01 Polyphonic Human Media Interface, S.L. Method and system for music recommendation based on immunology
US7081579B2 (en) * 2002-10-03 2006-07-25 Polyphonic Human Media Interface, S.L. Method and system for music recommendation
JP2005049773A (ja) * 2003-07-31 2005-02-24 Denso Corp 音楽再生装置
US7221902B2 (en) * 2004-04-07 2007-05-22 Nokia Corporation Mobile station and interface adapted for feature extraction from an input media sample
JP4650182B2 (ja) 2005-09-26 2011-03-16 ヤマハ株式会社 自動伴奏装置及びプログラム
ATE440334T1 (de) * 2006-02-10 2009-09-15 Harman Becker Automotive Sys System für sprachgesteuerte auswahl einer audiodatei und verfahren dafür
JP5187563B2 (ja) 2007-01-22 2013-04-24 株式会社ゼットエムピー 音響再生ロボット
JP5135931B2 (ja) * 2007-07-17 2013-02-06 ヤマハ株式会社 楽曲加工装置およびプログラム
KR101014884B1 (ko) 2008-10-08 2011-02-15 충남대학교산학협력단 음악 인식을 통한 로봇의 동작제어장치
US20110087965A1 (en) * 2009-10-14 2011-04-14 Sony Ericsson Mobile Communications Ab Method for setting up a list of audio files for a mobile device
US9159338B2 (en) * 2010-05-04 2015-10-13 Shazam Entertainment Ltd. Systems and methods of rendering a textual animation
US9122753B2 (en) 2011-04-11 2015-09-01 Samsung Electronics Co., Ltd. Method and apparatus for retrieving a song by hummed query
EP2759126B8 (en) * 2011-09-18 2021-03-31 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
US8873813B2 (en) * 2012-09-17 2014-10-28 Z Advanced Computing, Inc. Application of Z-webs and Z-factors to analytics, search engine, learning, recognition, natural language, and other utilities
US20130226957A1 (en) 2012-02-27 2013-08-29 The Trustees Of Columbia University In The City Of New York Methods, Systems, and Media for Identifying Similar Songs Using Two-Dimensional Fourier Transform Magnitudes
WO2014117325A1 (en) * 2013-01-29 2014-08-07 Nokia Corporation Method and apparatus for providing segment-based recommendations
US10068588B2 (en) * 2014-07-21 2018-09-04 Microsoft Technology Licensing, Llc Real-time emotion recognition from audio signals
US20160379611A1 (en) * 2015-06-23 2016-12-29 Medialab Solutions Corp. Systems and Method for Music Remixing
US10362357B1 (en) * 2017-12-28 2019-07-23 Rovi Guides, Inc. Systems and methods for resuming media in different modes of playback based on attributes of a physical environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016109069A1 (en) * 2014-12-31 2016-07-07 Pcms Holdings, Inc. Systems and methods for creation of a listening log and music library
WO2017058844A1 (en) * 2015-09-29 2017-04-06 Amper Music, Inc. Machines, systems and processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptors

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220112016A (ko) * 2021-02-03 2022-08-10 이화여자대학교 산학협력단 사용자의 음원 소비 정보 및 맥락 정보에 기초한 적응형 음악 생성 장치 및 방법
WO2023120937A1 (ko) * 2021-12-21 2023-06-29 삼성전자주식회사 다양한 인터랙션을 제공하기 위한 전기 기타 및 그 제어 방법

Also Published As

Publication number Publication date
US20200176017A1 (en) 2020-06-04
US11410679B2 (en) 2022-08-09
KR102495888B1 (ko) 2023-02-03
EP3850821A4 (en) 2021-08-11
EP3850821A1 (en) 2021-07-21
WO2020116930A1 (en) 2020-06-11

Similar Documents

Publication Publication Date Title
US11908472B1 (en) Connected accessory for a voice-controlled device
KR102495888B1 (ko) 사운드를 출력하기 위한 전자 장치 및 그의 동작 방법
EP3803846B1 (en) Autonomous generation of melody
US11699455B1 (en) Viseme data generation for presentation while content is output
CN108806656B (zh) 歌曲的自动生成
US10068573B1 (en) Approaches for voice-activated audio commands
CN108806655B (zh) 歌曲的自动生成
US20150373455A1 (en) Presenting and creating audiolinks
US10789948B1 (en) Accessory for a voice controlled device for output of supplementary content
US20140249673A1 (en) Robot for generating body motion corresponding to sound signal
US11495235B2 (en) System for creating speaker model based on vocal sounds for a speaker recognition system, computer program product, and controller, using two neural networks
US11562520B2 (en) Method and apparatus for controlling avatars based on sound
JP7424359B2 (ja) 情報処理装置、歌唱音声の出力方法、及びプログラム
JP7363954B2 (ja) 歌唱合成システム及び歌唱合成方法
JP7453712B2 (ja) オーディオ再生方法、装置、コンピュータ可読記憶媒体及び電子機器
KR20220165666A (ko) 자연어로 표현된 스타일 태그를 이용한 합성 음성 생성 방법 및 시스템
US11133004B1 (en) Accessory for an audio output device
CN113066462B (zh) 一种修音方法、装置、设备及存储介质
CN110232911B (zh) 跟唱识别方法、装置、存储介质及电子设备
WO2023236054A1 (zh) 一种生成音频的方法、装置及存储介质
JP2023144076A (ja) プログラム、情報処理方法及び情報処理装置
KR101321446B1 (ko) 음성 인식을 이용한 가사 표시 방법
JP2001043126A (ja) ロボットシステム
WO2015200556A2 (en) Presenting and creating audiolinks

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant