CN109643533B - 用于单元作曲的装置和方法 - Google Patents
用于单元作曲的装置和方法 Download PDFInfo
- Publication number
- CN109643533B CN109643533B CN201780052139.2A CN201780052139A CN109643533B CN 109643533 B CN109643533 B CN 109643533B CN 201780052139 A CN201780052139 A CN 201780052139A CN 109643533 B CN109643533 B CN 109643533B
- Authority
- CN
- China
- Prior art keywords
- music
- user
- data
- data set
- change
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 273
- 239000000203 mixture Substances 0.000 title claims abstract description 146
- 230000008859 change Effects 0.000 claims description 197
- 230000004044 response Effects 0.000 claims description 114
- 238000001914 filtration Methods 0.000 claims description 54
- 230000007704 transition Effects 0.000 claims description 44
- 230000033001 locomotion Effects 0.000 claims description 22
- 230000033764 rhythmic process Effects 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 107
- 238000004891 communication Methods 0.000 description 30
- 230000015654 memory Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 23
- 238000004519 manufacturing process Methods 0.000 description 21
- 238000013500 data storage Methods 0.000 description 16
- 230000000694 effects Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 230000008901 benefit Effects 0.000 description 12
- 238000012986 modification Methods 0.000 description 12
- 230000004048 modification Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 230000000284 resting effect Effects 0.000 description 10
- 239000011295 pitch Substances 0.000 description 7
- 230000001020 rhythmical effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000036651 mood Effects 0.000 description 3
- ZYXYTGQFPZEUFX-UHFFFAOYSA-N benzpyrimoxan Chemical compound O1C(OCCC1)C=1C(=NC=NC=1)OCC1=CC=C(C=C1)C(F)(F)F ZYXYTGQFPZEUFX-UHFFFAOYSA-N 0.000 description 2
- 230000009028 cell transition Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 241000234479 Narcissus Species 0.000 description 1
- 206010039897 Sedation Diseases 0.000 description 1
- 241000405217 Viola <butterfly> Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000009527 percussion Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 230000036280 sedation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/635—Filtering based on additional data, e.g. user or group profiles
- G06F16/636—Filtering based on additional data, e.g. user or group profiles by using biological or physiological data
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
- G10H1/0041—Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
- G10H1/0058—Transmission between separate instruments or between individual components of a musical system
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/38—Chord
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/125—Medley, i.e. linking parts of different musical pieces in one single piece, e.g. sound collage, DJ mix
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/145—Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/351—Environmental parameters, e.g. temperature, ambient light, atmospheric pressure, humidity, used as input for musical purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/351—Environmental parameters, e.g. temperature, ambient light, atmospheric pressure, humidity, used as input for musical purposes
- G10H2220/355—Geolocation input, i.e. control of musical parameters based on location or geographic position, e.g. provided by GPS, WiFi network location databases or mobile phone base station position databases
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/371—Vital parameter control, i.e. musical instrument control based on body signals, e.g. brainwaves, pulsation, temperature or perspiration; Biometric information
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/075—Musical metadata derived from musical analysis or for use in electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical 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
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/121—Musical 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/131—Library retrieval, i.e. searching a database or selecting a specific musical piece, segment, pattern, rule or parameter set
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/171—Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
- G10H2240/201—Physical layer or hardware aspects of transmission to or from an electrophonic musical instrument, e.g. voltage levels, bit streams, code words or symbols over a physical link connecting network nodes or instruments
- G10H2240/241—Telephone transmission, i.e. using twisted pair telephone lines or any type of telephone network
- G10H2240/251—Mobile telephone transmission, i.e. transmitting, accessing or controlling music data wirelessly via a wireless or mobile telephone receiver, analogue or digital, e.g. DECT, GSM, UMTS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Physiology (AREA)
- Telephone Function (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
概括地说,本发明的实施例提供用于使用单元(即,短音乐主题)来实时地进行单元作曲/生成音乐的系统、方法和装置,其中单元作曲依赖于用户数据。
Description
发明领域
本发明总体上涉及用于单元作曲/从单元(即,短音乐主题)生成音乐的装置、方法和系统。
发明背景
常常在便携式电子设备(诸如移动电话、智能电话、平板设备和膝上型计算机)上听音乐。便携式电子设备的用户通常从存储在该设备上(或通过该设备访问)的很多预录的音乐的选择中或者通过选择广播预录的音乐的无线电台来选择要听的一支音乐。用户可以根据他们的心情、他们正在做什么(例如放松、做运动、入睡等)和/或他们的环境或周围事物来选择要听的特定的一支音乐。一般来说,当这种设备的用户正执行另一项活动(例如跑步)时,他们不能实时地生成新音乐。
本申请人已经认识到对提供音乐的改进的技术的需要。
发明概述
根据本发明的第一方面,提供了一种单元作曲方法,其包括:在第一装置处:接收对单元作曲的请求;接收用户数据;以及向第二装置传输包括请求和用户数据的控制信号;在第二装置处:从第一装置接收控制信号;响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元;从经过滤的至少一个数据集中选择至少一个单元;以及响应于控制信号,根据路径来布置至少一个单元。
根据本发明的第二方面,提供了用于单元作曲的系统,该系统包括:第一装置,其用于:接收对单元作曲的请求;接收用户数据;以及生成包括该请求和用户数据的控制信号;以及第二装置,其用于:从第一装置接收控制信号;以及响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元;从经过滤的至少一个数据集中选择至少一个单元;以及生成包括所选择的至少一个模块的控制信号;以及响应于控制信号,根据路径来布置至少一个单元。
在实施例中,选择至少一个单元的步骤包括在第二装置处基于第一单元的属性来从第一经过滤的数据集中选择第一单元并且从第二经过滤的数据集中选择第二单元,该方法还包括:在第二装置处:根据第一路径布置第一单元;根据第二路径布置第二单元;并且其中第一路径和第二路径至少部分地重叠。可以从和声数据集中选择第一模块,以及可以从节拍数据集、独奏数据集或气氛数据集之一中选择第二模块。第一路径和第二路径至少部分地重叠,使得例如第一模块的和声和第二模块的音乐元素至少部分地重叠在每一个之上,以形成单元作曲。
在实施例中,单元作曲过程可以包括在第一装置处接收用户数据的至少一个变化;以及传输修改的控制信号。
传输修改的控制信号的步骤可以包括:对于用户数据的每个变化,确定变化类型和变化幅度;以及生成包括每个确定的变化类型和变化幅度的修改的控制信号。
在实施例中,单元作曲过程可以包括(在第二装置处)接收修改的控制信号;识别对应于每个确定的变化类型和变化幅度的至少一个转变规则;以及将至少一个转变规则应用于单元作曲。
应用至少一个转变规则的步骤可以包括:识别在单元作曲中的要替换的单元;确定所识别的单元的属性;基于转变规则和所述单元的所确定的属性来从至少一个数据集内选择新单元;以及用所选择的新单元替换在单元作曲中的所识别的单元。
根据本发明的另一方面,提供了一种用于生成/创作音乐的装置,该装置包括:用户接口,其被配置为接收创作音乐的请求;以及处理器,其被配置为响应于所接收的请求:接收用户数据;响应于接收到的用户数据而过滤包含多个预录的音乐项目的至少一个数据集;从经过滤的至少一个数据集中选择至少一个预录的音乐项目;使用所选择的预录的音乐项目或每个选择的预录的音乐项目来创作音乐;以及生成与所创作的音乐相关联的元数据。
根据本发明的另一方面,提供了一种用于生成/创作音乐的方法,该方法包括:接收创作音乐的请求;接收用户数据;响应于接收到的用户数据而过滤包含多个预录的音乐项目的至少一个数据集;从经过滤的至少一个数据集中选择至少一个预录的音乐项目;使用所选择的预录的音乐项目或每个选择的预录的音乐项目来生成音乐;以及生成与所创作的音乐相关联的元数据。
根据本发明的另一方面,提供了一种用于生成/创作音乐的系统,该系统包括:远程数据储存器(data store),其包括包含多个预录的音乐项目的至少一个数据集;以及装置,其包括:用户接口,其被配置为接收创作音乐的请求;处理器;以及通信模块,其耦合到处理器以:接收用户数据;将接收到的用户数据与创作音乐的请求一起传输到远程数据储存器;并且其中处理器被配置为生成与所创作的音乐相关联的元数据。
下面的特征同样适用于本发明的每个方面。
单元作曲/音乐生成方法可以在单个装置(例如,用户设备)上实现。该装置可以是任何用户电子设备,诸如但不限于计算机、膝上型计算机、台式PC、智能电话、智能手表或平板电脑。该装置更广泛地可以是由用户拥有或使用的任何设备,诸如物联网(IoT)设备、玩具(例如遥控汽车、活动人偶等)、游戏系统(例如计算机游戏系统、虚拟现实游戏系统等)、虚拟现实设备/头戴式耳机/系统、车辆(例如汽车)等。在实施例中,该装置包括用于诸如经由互联网或经由移动(蜂窝)网络连接到包含预录的音乐项目的远程数据储存器的工具。在实施例中,用户的运动可用于创作音乐,其可经由用户设备(或通过可耦合到用户设备的传感器/设备)来检测。在实施例中,设备的运动或与设备相关联的运动可用于创作音乐。例如,视频游戏中的角色的、虚拟现实环境中的化身的、汽车的或玩具的运动可以用来创作音乐。
在实施例中,单元作曲/音乐生成方法的步骤可以分布在两个或更多个装置之间,例如在用户设备和远程服务器之间,或者在远程服务器和音乐制作组件之间,或者在用户设备、远程服务器和音乐制作组件之间。因此,在下文中,执行单元作曲/音乐生成过程的步骤的处理器可以位于用户设备、远程服务器和/或音乐制作组件中。
在实施例中,处理器(位于用户装置中,或远离装置)被配置为:从至少两个经过滤的数据集中选择至少两个预录的音乐项目;并且组合所选择的预录的音乐项目来创作(原始)音乐。
在实施例中,处理器(位于用户装置中,或远离装置)被配置为通过修改所选择的预录的音乐项目的特征或每个选择的预录的音乐项目的特征来创作音乐。优选地,处理器通过修改音高、声调、旋律、节奏、音色、形式和拍子中的至少一个来修改所选择的预录的音乐项目的特征或每个选择的预录的音乐项目的特征。
至少一个数据集(位于用户装置中,或者远离装置)包括和声数据集,并且处理器被配置为:响应于接收到的用户数据而过滤和声数据集;并且从经过滤的和声数据集中选择预录的音乐项目。
在实施例中,至少一个数据集(位于用户装置中或远离装置)包括和声数据集、节拍数据集、独奏数据集和气氛数据集,并且其中处理器被配置为:响应于接收到的用户数据而过滤和声数据集、节拍数据集、独奏数据集和气氛数据集;并且从经过滤的和声数据集中选择第一预录的音乐项目;并且从经过滤的节拍数据集、经过滤的独奏数据集和经过滤的气氛数据集中的一个或更多个中选择另外的预录的音乐项目。处理器(在该装置中或远离该装置)被配置成组合所选择的第一预录的音乐项目和另外的预录的音乐项目或每个另外的预录的音乐项目以创作音乐。
在实施例中,处理器被配置为基于所选择的第一预录的音乐项目进一步过滤节拍数据集、独奏数据集和气氛数据集。
在实施例中,处理器被配置为:接收用户数据的变化;以及响应于用户数据的变化而修改所创作的音乐。处理器可以通过修改所创作的音乐的至少一个特征来修改所创作的音乐。此外或可替换地,处理器可以通过下列操作来修改所创作的音乐:从至少一个数据集中选择至少一个另外的预录的音乐项目;以及用所选择的另外的预录的音乐项目替换在所创作的音乐中的一个预录的音乐项目。
用户数据可以包括下列项中的一个或更多个:接收到的创作音乐的请求的时间、接收到的创作音乐的请求的日期、当创作音乐的请求被接收到时的天气条件、生物统计数据、步调、速度、行进模式、心率、位置、GPS位置和移动方向。因此,用户数据可以包括关于用户的数据、与当创作音乐的请求被接收到时的条件相关的数据(例如时间、日期、天气)或者两者的组合。可以从(被包含在用户设备/装置内的或者位于用户设备外部的)一个或更多个传感器(诸如加速度计、计步器、心率监测器、健身跟踪器、GPS跟踪器等)获得用户数据。可以从用户设备本身通过互联网(例如气象数据网站、国家或地区气象服务或英国气象局气象数据网站)等获得条件数据(例如针对时间和日期)。
在实施例中,处理器(在用户装置中或远离用户装置)被配置为:接收与步调、速度和心率中的一个或更多个相关的用户数据的变化;以及响应于用户数据的变化而修改所创作的音乐的拍子。
在实施例中,处理器被配置为:接收与步调、速度和心率中的一个或更多个相关的用户数据的变化;响应于用户数据的变化而从节拍数据集中选择另外的预录的音乐项目;以及修改所创作的音乐以合并来自节拍数据集中的另外的预录的音乐项目。
在实施例中,处理器被配置为:接收与行进方向相关的用户数据的变化;以及响应于用户数据的变化而修改所创作的音乐的声调。例如,处理器:确定行进方向改变的角度;从查找表中确定对应于所确定的角度的声调的预定变化;并且将所创作的音乐修改为所确定的预定声调。
在实施例中,处理器被配置为:接收与位置相关的用户数据的变化;响应于用户数据的变化而从气氛数据集中选择另外的预录的音乐项目;以及修改所创作的音乐以合并来自气氛数据集中的另外的预录的音乐项目。
在实施例中,处理器被配置成:如果在预定时间段内没有用户数据的变化被接收到,则在该时间段之后改变所创作的音乐的至少一个特征。
在实施例中,装置的用户接口被配置为接收操作模式选择,并且处理器(在用户装置中或远离用户装置)被配置为:响应于所选择的操作模式而过滤包含多个预录的音乐项目的至少一个数据集。
在实施例中,用户接口被配置为接收对声调、模式和变奏中的一个或更多个的选择,并且处理器被配置为:响应于接收到的选择而过滤包含多个预录的音乐项目的至少一个数据集。
在实施例中,该装置包括数据储存器以存储生成的元数据。在装置中的数据储存器可以包含预录的音乐项目的至少一个数据集。在附加或替代的实施例中,预录的音乐项目的至少一个数据集位于远程数据储存器中。
在实施例中,该装置包括被配置为从外部设备接收用户数据的通信模块。外部设备可以是传感器,诸如加速度计、计步器、心率监测器、健身跟踪器、GPS跟踪器等。
通信模块可以被配置为:将用户数据传输到包括至少一个数据集的远程数据储存器,该至少一个数据集包含预录的音乐项目;从远程数据储存器接收至少一个预录的音乐项目。此外或可替换地,通信模块可以被配置为:将用户数据传输到包括至少一个数据集的远程数据储存器,该至少一个数据集包含预录的音乐项目;基于用户数据从远程数据储存器接收所创作的音乐。
在实施例中,装置的用户接口被配置为接收关于所创作的音乐的反馈数据。处理器可以被配置为:响应于接收到的反馈数据而过滤包含预录的音乐项目的至少一个数据集。
在实施例中,装置包括被配置为捕获图像或记录视频的摄像机,并且处理器被配置为:输出所创作的音乐;当所创作的音乐被输出时,确定摄像机已经捕获图像;在所捕获的图像和所创作的音乐之间创建链接。
在实施例中,用户接口被配置为接收重放所创作的音乐的请求,并且处理器被配置为:获取与所创作的音乐相关联的元数据;使用所述元数据从至少一个数据集获取形成所创作的音乐的预录的音乐项目或每个预录的音乐项目;使用元数据修改获取的预录的音乐项目或每个获取的预录的音乐项目;并重新创作所创作的音乐。
在实施例中,该方法包括:从至少两个经过滤的数据集中选择至少两个预录的音乐项目;以及组合所选择的预录的音乐项目来创作音乐。
创作音乐的步骤可以包括:修改所选择的预录的音乐项目或每个选择的预录的音乐项目的特征。此外或可替换地,创作音乐的步骤可以包括:接收用户数据的变化;以及响应于用户数据的变化而修改所创作的音乐的至少一个特征。
在实施例中,该方法包括接收与行进方向相关的用户数据的变化;确定行进方向改变的角度;使用查找表来确定对应于所确定的角度的声调的预定变化;以及将所创作的音乐修改到所确定的预定声调。
在实施例中,该方法还包括:接收关于所创作的音乐的反馈数据;以及响应于接收到的反馈数据而过滤包含预录的音乐项目的至少一个数据集。
在实施例中,该方法还包括:输出所创作的音乐;从摄像机接收在所创作的音乐被输出时捕获的图像;以及在所捕获的图像和所创作的音乐之间创建链接。
在实施例中,远程数据储存器被配置为:响应于接收到的用户数据而过滤包含预录的音乐项目的至少一个数据集;以及从经过滤的至少一个数据集中选择至少一个预录的音乐项目。
远程数据储存器可以被配置为将所选择的至少一个预录的音乐项目传输到装置的通信模块,并且其中处理器被配置为使用所选择的至少一个预录的音乐项目来创作音乐。
远程处理器可以被配置为:从远程数据储存器接收所选择的至少一个预录的音乐项目;使用所选择的预录的音乐项目或每个选择的预录的音乐项目来创作音乐;并将所创作的音乐传输到装置的通信模块。
远程处理器可以被配置为:从远程数据储存器接收至少两个所选择的预录的音乐项目;并且组合所接收的预录的音乐项目以创作音乐。
远程处理器可以被配置成通过修改所选择的预录的音乐项目的特征或每个选择的预录的音乐项目的特征来创作音乐。
远程数据储存器可以包括和声数据集、节拍数据集、独奏数据集和气氛数据集,并且其中远程处理器被配置为:响应于接收到的用户数据而过滤和声数据集、节拍数据集、独奏数据集和气氛数据集;并且从经过滤的和声数据集中选择第一预录的音乐项目;并且从经过滤的节拍数据集、经过滤的独奏数据集和经过滤的气氛数据集中的一个或更多个中选择另外的预录的音乐项目。
该装置的通信模块可以被配置为:接收用户数据的变化;并且将接收到的用户数据的变化传输到远程处理器。远程处理器可以被配置为:响应于用户数据的变化而修改所创作的音乐;并将修改后的所创作的音乐传输到通信模块。
该系统还可以包括至少一个传感器以感测用户数据。在特定实施例中,至少一个传感器可以被包含在装置内。在附加或替代的实施例中,至少一个传感器可以经由有线或无线手段耦合到装置。至少一个传感器可以被配置成感测生物统计数据、步调、速度、心率、位置、GPS位置和移动方向中的一个或更多个。
在实施例中,远程处理器被配置为:接收与步调、速度和心率中的一个或更多个相关的用户数据的变化;以及响应于用户数据的变化而修改所创作的音乐的拍子。
在本发明的一个相关方面中,提供了一种携带处理器控制代码以实现本文描述的方法的非暂态数据载体。
如将由本领域中的技术人员认识到的,本技术可被体现为系统、方法或计算机程序产品。因此,本技术可以采取完全硬件实施例、完全软件实施例、或组合软件和硬件方面的实施例的形式。
此外,本技术可采用体现在计算机可读介质中的计算机程序产品的形式,该计算机可读介质具有体现在其上的计算机可读程序代码。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备或者前述项的任何合适的组合。
可以用一种或更多种编程语言的任何组合(包括面向对象的编程语言和传统的过程编程语言)来写用于执行本技术的操作的计算机程序代码。代码组件可以体现为过程、方法等,并且可以包括子组件,这些子组件可以采取在从本地指令集的直接机器指令到高级编译或解释语言结构的任何抽象级别处的指令或指令序列的形式。
本技术的实施例还提供了一种携带代码的非暂态数据载体,该代码当在处理器上实现时使处理器执行本文描述的方法。
这些技术还提供处理器控制代码以例如在通用计算机系统或数字信号处理器(DSP)上实现上述方法。这些技术还提供了携带处理器控制代码的载体,以在运行时实现上述方法中的任一个,特别是在非暂态数据载体(诸如磁盘、微处理器、CD-ROM或DVD-ROM)、编程存储器(诸如只读存储器(固件))上或者在数据载体例如光或电信号载体上。代码可以在载体(诸如磁盘、微处理器、CD-ROM或DVD-ROM)、编程存储器(诸如非易失性存储器(例如闪存))或只读存储器(固件)上被提供。实现这些技术的实施例的代码(和/或数据)可以包括以传统编程语言(解释或编译)(诸如C)的源、对象或可执行代码、或者汇编代码、用于设置或控制ASIC(专用集成电路)或FPGA(现场可编程门阵列)的代码、或者用于硬件描述语言(诸如VerilogTM或VHDL(超高速集成电路硬件描述语言))的代码。如技术人员将认识到的,这样的代码和/或数据可以分布在彼此通信的多个耦合的组件之间。这些技术可以包括控制器,该控制器包括微处理器、工作存储器和耦合到系统的一个或更多个组件的程序存储器。
本领域中的技术人员还将清楚,根据本技术的优选实施例的逻辑方法的全部或部分可以适当地体现在包括执行上述方法的步骤的逻辑元件的逻辑装置中,并且这种逻辑元件可以包括在例如可编程逻辑阵列或专用集成电路中的组件,诸如逻辑门。这种逻辑布置可以进一步体现在用于使用例如虚拟硬件描述符语言来在这种阵列或电路中临时或永久地建立逻辑结构的启用元件中,虚拟硬件描述符语言可以使用固定或可传输的载体介质来被存储和传输。
在实施例中,本技术可以以数据载体的形式实现,数据载体具有在其上的功能数据,所述功能数据包括功能计算机数据结构,以当被加载到计算机系统或网络中并从而被操作时使所述计算机系统能够执行上述方法的所有步骤。
附图简述
在附图中通过示例的方式概略地示出了这些技术,其中:
图1A显示了用于生成音乐的设备的示意图;
图1B显示了用于创作音乐的系统的示意图;
图1C显示了用于单元作曲的系统的示意图;
图2A显示了使用图1A的设备生成音乐的系统的示意图;
图2B显示了包含不同类型的预录的音乐项目的音乐数据集的示意图;
图3显示了创作音乐的示例步骤的流程图;
图4显示了创作音乐的示例步骤的更详细的流程图;
图5显示了选择音乐项目来创作音乐的示例步骤的流程图;
图6显示了响应于用户步行或跑步来创作音乐的示例步骤的流程图;
图7显示了响应于用户坐着或休息而创作音乐的示例步骤的流程图;
图8显示了在睡眠模式中创作音乐的示例步骤的流程图;
图9显示了在用于生成音乐的图1A的设备上的用户界面的示意图;
图10是显示音乐项目如何被组合以创作音乐的示例的示意图;
图11是显示用户的运动方向的变化如何引起所创作的音乐中的声调的变化的示意图;
图12是显示用户运动中的变化如何引起所创作的音乐中的变化的示意图;
图13是重新创作先前创作的音乐的示例步骤的流程图;
图14是将所捕获的图像与一支所创作的音乐链接的示例步骤的流程图;
图15是获得对所创作的音乐的用户反馈的示例步骤的流程图;
图16显示了在音乐生成系统中创作音乐的步骤的示意图;
图17显示了单元作曲的组件的示意图;
图18显示了生成单元作曲的步骤的示意图;
图19显示了生成单元作曲的示例步骤的更详细的流程图;
图20显示了响应于用户数据的变化来修改单元作曲的示例步骤的流程图;以及
图21显示了示例变化类型和变化幅度的表以及示例对应的转变规则。详细描述
泛泛地说,本发明的实施例提供了用于使用一个或更多个预录的音乐项目(或包括在路径上运行的一个或更多个单元的模块)来实时地生成音乐(或单元作曲)的方法、系统和装置,其中生成的音乐/单元作曲取决于用户数据。用户数据可以包括与当用户请求音乐被生成时的初始条件(诸如时间、日期、季节、天气和位置)有关的数据,并且可以包括与实时变化的可变条件(诸如位置、运动/行进方向、行进速度和心率)有关的数据。所生成的音乐/单元作曲可以基于初始条件来生成,并且可以根据可变条件实时地被修改。例如,用户心率的增加可能使引起生成的音乐/单元作曲的拍子增加,并且用户的运动方向的改变可能引起所生成的音乐/单元作曲的声调的改变。因此,所生成的音乐/单元作曲取决于用户数据,并且可以由用户实时地改变。这可能导致为用户生成实质上独特的多支音乐/单元作曲。
术语“和声”或“和声层”在本文中用于意指可以同时(或相继地)被演奏或演唱并且常常产生令人愉悦的声音的同时的音乐音高、音调、音符或和弦的排列。
术语“节拍(beat)”或“节拍(beats)”或“节拍层”在本文中用于意指有节奏的运动或一支音乐被演奏时的速度,其通常形成一支音乐的律动或额外的有节奏的元素。可以通过打击乐器的演奏来提供节拍。例如,节拍可以是在鼓上演奏的有节奏的声音。
术语“独奏”或“独奏层”在本文中用于意指由单个表演者演奏或演唱的一支音乐(或一段音乐),和/或意指旋律(即形成不同乐句或乐思的单个音符的序列/排列)。
术语“气氛”或“气氛层”在本文中用于通常意指声音效果、文本或口头说的话的记录、环境声音等,其可能不一定是音乐性的。示例包括诗歌的朗读、“清晨时的鸟叫声”的记录和降雨的声音。
在实施例中,所生成的音乐可以根据用户数据(以及可能任何用户偏好)由一个或更多个预录的音乐项目创作,并且每个预录的音乐项目可以在有修改或没有修改的情况下被使用。一般来说,一支音乐可以包括多个音乐层,例如在和声层、节拍层、独奏层和气氛层中的一个或更多个。在本技术的实施例中,一支所生成的音乐可以由从和声数据集、节拍数据集、独奏数据集和气氛数据集中的一个或更多个中选择的预录的音乐项目创作。每个数据集包括多个预录的音乐项目。例如,和声数据集包括和声层的多个预录的项目,并且节拍层包括节拍层的多个预录的项目。可以通过从一个或更多个数据集选择预录的音乐项目来创作所生成的音乐。如果从数据集中选择了多个音乐项目,则由所选择的音乐项目的组合来创作所生成的音乐。可以修改一个或更多个所选择的音乐项目以形成所生成的音乐。例如,可以基于用户数据来修改所选择的和声的音高。所述音乐项目或每个音乐项目如何从数据集中被选择并可能被修改可能取决于用户数据,并在下面被更详细地描述。
术语“预录的音乐项目”在本文与术语“音乐的项目”、“音乐项目”、“音乐层”和“层”可互换地使用。
术语“生成音乐”用于意指从基于用户数据或“初始条件”选择的一个或更多个单元(即预录的音乐项目或短音乐主题)实时地创作音乐,并意指基于用户数据的变化或“可变条件”实时地修改所创作的音乐。
在实施例中,单元作曲可以根据用户数据(以及可能任何用户偏好)由一个或更多个模块形成。一般来说,单元作曲可以包括多个音乐层,例如在和声层、节拍层、独奏层和气氛层中的一个或更多个。在实施例中,单元作曲可由选自和声数据集、节拍数据集、独奏数据集和气氛数据集中的一个或更多个的模块来创作。每个数据集包括多个模块组,每个模块组包括多个模块。模块包括多个单元。单元是具有和声和内部模式的短音乐主题或乐句,类似于固定音型。模块中的每个单元可以具有相同的主题,但是具有不同的声调或和弦。模块组包括密切相关的模块,即它们具有相似的特征。例如,在模块组中的模块可以具有相同的和声特征,但是不同的构造。模块组可能彼此非常不同,使得在模块组之间的切换引起单元作曲的显著变化。
和声数据集包括形成和声层的多个模块组,并且节拍层包括形成节拍层的多个模块组,等等。可以通过从一个或更多个数据集中选择模块组来形成单元作曲。如果从数据集中选择了多个模块组,则单元作曲由所选择的模块组的组合(具体地,在每个所选择的模块组中的一个模块)形成。所述模块/模块组或每个模块/模块组如何从数据集中被选择可能取决于用户数据,并在下面被更详细地描述。
术语“所生成的音乐”在本文与术语“单元作曲”可互换地使用。
用户可以使用用户设备来获得所生成的音乐/创建单元作曲。用户设备可以是任何用户电子设备,诸如但不限于计算机、膝上型计算机、台式PC、智能电话、智能手表或平板计算机。在实施例中,用户设备可以用于生成音乐,且因此可以包括预录的音乐项目的库以及关于如何使用这些音乐项目和用户数据来实时地创作音乐的指令。指令可以以软件或计算机控制代码的形式被提供。这些指令可以作为用户也许能够下载、安装并在用户设备上运行的“软件应用”的一部分被提供。在实施例中,创作音乐的过程可以分布在用户设备和远程服务器之间。远程服务器可以包括远程数据集,该远程数据集包含预录的音乐项目的库。在实施例中,远程服务器可以包括远程数据集和远程处理工具,以创作音乐。在任何情况下,用户设备都被用来向用户传送所创作的音乐。
图1A显示了用于生成音乐的示例用户设备10的示意图。用户设备10可以用于创作音乐,或者可以是用于创作音乐的更大系统的一部分。用户设备包括至少一个处理器12,处理器12可以包括用于处理数据(例如,用户数据、程序、从用户接收的指令等)的处理逻辑。在实施例中,处理器12可以被配置为响应于该处理而向用户输出所生成的音乐/单元作曲。处理器12可以是微控制器或微处理器。处理器12可以耦合到至少一个存储器22。存储器22可以包括工作存储器和程序存储器,程序存储器存储计算机程序代码以实现本文中描述的音乐生成/单元作曲过程的全部或部分。存储器22的程序存储器可用于在执行计算机程序代码时缓冲数据,例如用于在使用用户数据来生成音乐/修改所生成的音乐之前缓冲任何接收到的用户数据,和/或用于在输出给用户之前缓冲任何所生成的音乐。
在实施例中,用户设备10可以包括至少一个传感器14。该至少一个传感器14可以包括下列项中的任何一个或更多个:加速度计(其可以用作计步器的一部分)、陀螺仪(其可以用于感测方向和/或运动)、诸如GPS传感器的位置传感器(其可以用于提供关于用户设备10的位置和/或用户设备10的用户的速度的信息)以及心率监测器。然而,这不是详尽的列表,并且该至少一个传感器14可以是能够提供关于用户和/或用户的周围事物/环境的信息的任何传感器。在实施例中,用户设备10可以不包括传感器14,且传感器(多个传感器)14可以替代地在用户设备10的外部被提供。在实施例中,用户设备10可以包括一个或更多个传感器14,并且一个或更多个附加传感器14可以在用户设备10外部被提供。外部传感器14可以与用户设备10能够通过有线或无线连接通信。例如,外部传感器(多个外部传感器)14可以使用蓝牙(RTM)、WiFi、蓝牙低能(RTM)或任何其他通信协议来将感测到的用户数据传输到用户设备10。
从任何外部传感器14或任何其他设备接收的数据可以在用户设备10的通信模块16处被接收。通信模块16可以被配置为发送和/或接收来自外部设备(例如,外部传感器、计步器、心率监测器、健身跟踪器)的数据。通信模块16可以被配置为发送和/或接收来自外部源(诸如,互联网或远程服务器)的数据。
用户设备10可以包括接口18,诸如传统的计算机屏幕/显示屏、键盘、鼠标和/或其他接口,诸如网络接口和软件接口。接口18可以包括用户接口,诸如图形用户界面(GUI)、触摸屏、麦克风、话音/语音识别接口、物理或虚拟按钮。用户接口可以被配置为接收用户数据和/或用户输入。例如,用户可以使用用户接口来做出对所创作的音乐的请求——该请求可以通过选择/启动在用户设备10的显示屏上的软件“应用”、通过语音命令或其他方式来做出。用户接口可以被配置为接收对一支所生成的音乐的用户反馈,和/或接收用户请求以修改(或保存或购买等)一支所生成的音乐。
在实施例中,用户设备10包括用于连接到包含预录的音乐项目的远程数据储存器的工具。通信模块16和/或接口18(或专用通信模块)可用于诸如经由互联网或经由移动(蜂窝)网络来将用户设备10连接到远程数据储存器。
用户设备10包括被配置为存储例如用户数据和与音乐生成相关的任何用户偏好的数据储存器20。数据储存器20可以包括一个或更多个音乐数据集,该音乐数据集包括多个预录的音乐项目。在实施例中,用户设备10可以被配置为在数据储存器20中在本地存储用于创作音乐的可用的预录的音乐项目的全部或子集。本地存储的音乐项目可以存储在数据储存器20中的音乐数据集内。在音乐生成由用户设备10执行的实施例中,在用户设备10内(即,在数据储存器20内)存储可用的预录的音乐项目的全部或子集可能是更有效的。这可以避免当用户请求音乐被创作时对用户设备10从远程服务器获取预录的音乐项目的需要,这可能是耗时的(导致在提供所创作的音乐时的延迟),和/或可能消耗用户的移动电话数据额度的一大部分。数据储存器20可以基于用户偏好/标准来存储可用的预录的音乐项目的子集。例如,用户偏好/标准可以例如指示用户喜欢或不喜欢哪种类型的音乐,并且数据储存器可以仅存储满足用户标准的那些预录的音乐项目。此外或可替换地,如果用户设备10不包括足够的存储器来存储所有可用的音乐项目,则数据储存器20可以存储可用的预录的音乐项目的子集。
存储器22和/或数据储存器20可以包括易失性存储器(诸如随机存取存储器(RAM)),用于在处理器12处理用户数据或执行与音乐生成相关的任务时用作临时存储器。此外或可替换地,存储器22和/或数据储存器20可以包括非易失性存储器(诸如闪存、只读存储器(ROM)或电可擦除可编程ROM(EEPROM)),用于存储由处理器12接收或处理的数据、程序或指令。
用户设备10可以包括音频模块24以向用户提供所创作的音乐。例如,音频模块24可以包括用于将形成所创作的音乐的电信号转变成音频信号并用于输出音频信号(例如通过扬声器或到达耦合到用户设备10的耳机/头戴式耳机)的工具。
图1B显示了可用于创作音乐的示例系统的示意图。这些仅仅是可以如何实现本文描述的音乐生成方法的一些示例,并且是非限制性的。
如前所述,音乐生成过程可以发生在用户设备10内——这在图1B中的系统30”中示出。在系统30”中,创作音乐所需的所有处理都在用户设备10内执行。在系统30”中,用户设备10可以存储用于实现在本文描述的创作音乐的方法的指令,并且可以存储可用的预录的音乐项目的全部(或子集),从这些音乐项目中创作音乐。用户设备10可能能够连接到远程服务器,以将音乐项目存储在本地(例如,在数据储存器20中)。用户设备10可能能够连接到提供用户数据的任何外部设备。
系统30”的优点是,当音乐将被创作时,到远程服务器的连接是不需要的,因为音乐生成过程实质上完全出现在用户设备10内。如果用户设备10的用户处于不可能有到达远程服务器的连接的位置(例如,处于没有互联网和/或移动网络连接的远程位置上),这可能是特别有利的。系统30”的另一个优点是,每当用户设备10创作音乐时,用户的移动数据额度和/或宽带数据额定不被消耗,因为用户设备10不需要在每次生成音乐时从远程服务器获取音乐项目。系统30”的另一个优点是,响应于接收到的用户数据和接收到的用户数据的变化,音乐可以实时地生成,而在接收用户数据和作为响应地输出所生成的音乐之间没有明显的延迟(因为用户设备10不必连接到远程服务器)。
此外或可替换地,音乐生成过程可以分布在用户设备10和远程服务器28之间,如由图1B中的系统30’所示的。在系统30’中,远程服务器28定位成远离用户设备10,并且可以是云计算系统的一部分。远程服务器28可以包括数据储存器,该数据储存器存储用于在音乐生成过程中使用的可用的预录的音乐项目。在系统30’中,当用户请求音乐被创作时,用户设备10可以向远程服务器28传输用户数据。远程服务器28可以使用用户数据来从远程数据储存器中选择和获取一个或更多个预录的音乐项目,并将这些所选择的音乐项目传输到用户设备10。用户设备10的处理器12使用该所选择的音乐项目或每个选择的音乐项目来创作音乐,并将所创作的音乐提供给用户。因此,在系统30’中,音乐库(即音乐数据集)远离用户设备10被存储。系统30’的优点是,用户设备10可以不存储可用的预录的音乐项目的全部(或子集)的本地副本,本地副本可能使用用户设备10中的大量可用存储器/数据存储空间。系统30’的另一个优点是,用户设备10的处理器12可能不需要知道如何基于用户数据来从音乐数据集中选择音乐项目。相反,该操作由远程服务器28执行,这可以减少将由用户设备10执行的处理的量(或处理的复杂性),在实施例中,用户设备10可能比系统30”使用更少的功率。系统30’的另一个优点是,音乐数据集可以定期地和集中地被更新,而不需要每个用户设备10下载已更新的音乐数据集。
此外或可替代地,音乐生成过程可以分布在用户设备10和远程服务器28之间,如由图1B中的系统30所示的。在系统30中,远程服务器28定位成远离用户设备10,并且可以是云计算系统的一部分。远程服务器28可以包括数据储存器,该数据储存器存储用于在音乐生成过程中使用的可用的预录的音乐项目。远程服务器28可以包括处理器或处理能力,以响应于接收到的用户数据来生成音乐。
在系统30中,当用户请求音乐被创作时,用户设备10可以向远程服务器28传输用户数据。远程服务器28可以使用用户数据来从远程数据储存器中选择和获取一个或多个预录的音乐项目。远程服务器28的处理器使用所选择的音乐项目来创作音乐,并且一旦被创作,远程服务器28就将所创作的音乐提供给用户。在实施例中,用户设备10从远程服务器28流式传输所创作的音乐,并且不下载所创作的音乐。如早些时候所提到的,所创作的音乐是响应于用户数据和用户数据的变化而创作的,且因此所创作的音乐根据用户数据实时地变化。因此,从远程服务器28流式传输所创作的音乐可能是有利的,因为与如果每当所生成的音乐被创建和/或修改时用户设备10必须下载所生成的音乐相比,实时地将所创作的音乐传送给用户可能是更快和更有效的过程。因此,在系统30中,远离用户设备10地存储音乐库(即音乐数据集),并且远离用户设备10地执行生成/创作音乐所需的处理。用户设备10简单地向远程服务器传输对所生成的音乐和用户数据的请求。系统30的优点是,用户设备10可以不存储可用的预录的音乐项目的全部(或子集)的本地副本,本地副本可能使用在用户设备10中的大量可用存储器/数据存储空间。系统30的另一个优点是,用户设备10的处理器12不需要知道如何基于用户数据来从音乐数据集中选择音乐项目。相反,该操作由远程服务器28执行,这可以减少将由用户设备10执行的处理的量(或处理的复杂性),在实施例中,用户设备10可以比系统30”和30’使用更少的功率。系统30的另一个优点是,音乐数据集可以定期地和集中地被更新,而不需要每个用户设备10下载已更新的音乐数据集。
图1C显示了可用于生成音乐/单元作曲的示例系统的示意图。在系统300中,当用户请求单元作曲时,用户设备10可以向远程服务器28传输用户数据。远程服务器28可以使用用户数据来从远程数据储存器中选择和获取一个或更多个模块。在实施例中,远程数据集可以位于远程服务器28内——在这种情况下,可以直接从远程数据储存器中进行选择。在可替代的实施例中,远程数据集可以位于单独的音乐制作组件302内——在这种情况下,远程服务器28可以查阅与在音乐制作组件的远程数据集中的模块相对应的模块组的列表,并从该列表中进行选择。在实施例中,远程服务器28和音乐制作组件302都可以包括至少一个数据集,从其可以选择模块。
远程服务器28向音乐制作组件302传输控制信号,该控制信号包括所选择的模块(多个模块)或哪个模块(哪些模块)已被选择的指示。音乐制作组件302接收控制信号,并响应于该控制信号而将在每个所选择的模块内的多个单元中的每个单元布置到路径内。该路径指示从一个单元到另一个单元的进展。默认地,每个单元可以在单元作曲中循环或重复。也就是说,单元作曲可以由重复的相同单元形成。在没有用户数据的任何变化的情况下,相同的单元在该单元用单元作曲中的新单元(其来自同一模块)替换之前可以重复某个持续时间。在没有用户数据的任何变化的情况下,单元转变可以基于预定规则。例如,规则可以指定哪个单元跟随另一个单元。因此,音乐制作组件302可以将在每个所选择的模块中的多个单元布置到默认路径内,以形成单元作曲。音乐制作组件302可以将单元作曲直接传输到设备10,或者经由远程服务器28传输到设备10。
在实施例中,用户设备10从远程服务器28或音乐制作组件302流式传输单元作曲,并且不下载单元作曲。如早些时候所提到的,单元作曲是响应于用户数据和用户数据的变化而形成的,且因此单元作曲可以响应于用户数据的变化而实时地变化。因此,从远程服务器28/音乐制作组件302流式传输单元作曲可能是有利的,因为与如果每当单元作曲被创建和/或修改时用户设备10必须下载单元作曲相比,实时地向用户传送单元作曲可能是更快和更有效的过程。因此,在系统300中,远离用户设备10地存储模块库(即,音乐数据集),并且远离用户设备10地执行生成/创作音乐所需的处理。用户设备10简单地向远程服务器传输对单元作曲和用户数据的请求。系统300的优点是,用户设备10可以不存储可用模块或模块组的全部(或子集)的本地副本,本地副本可能使用用户设备10中的大量可用存储器/数据存储空间。系统300的另一个优点是,用户设备10的处理器12不需要知道如何基于用户数据来从音乐数据集中选择模块。相反,该操作由远程服务器28执行,这可以减少将由用户设备10执行的处理的量(或处理的复杂性),在实施例中,用户设备10可以比系统30”和30’使用更少的功率。系统300的另一个优点是,模块数据集可以定期地和集中地被更新,而不需要每个用户设备10下载已更新的数据集。
在实施例中,提供了一种单元作曲方法,其包括:在第一装置处:接收对单元作曲的请求;接收用户数据;响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元;从经过滤的至少一个数据集中选择至少一个模块;以及向第二装置传输包括所选择的至少一个模块的控制信号;在第二装置处:从第一装置接收控制信号;以及响应于控制信号而将在所选择的模块或每个选择的模块内的多个单元中的每个单元布置到路径内。在图1C的系统300中,远程服务器28可以被视为第一装置,而音乐制作组件302可以被视为第二装置。在图1B中,远程服务器28可以被视为第一装置,而设备10可以被视为第二装置。(可替换地,设备10可以被视为第一装置,而远程服务器28可以被视为第二装置)。
图2A显示了用于生成音乐/单元作曲的示例系统的框图,并且是图1B所示的系统30的更详细的版本。在系统30中,远程服务器28定位成远离用户设备10,并且在实施例中可以是云计算系统的一部分。远程服务器28包括(远程)数据储存器36,其存储用于在音乐生成/单元创作过程中使用的可用的预录的音乐项目/模块。远程服务器28包括(远程)处理器38或处理能力,以响应接收到的用户数据而生成音乐/单元作曲。远程数据储存器36和远程处理器38可以位于远程服务器28内,或者以其他方式作为远程服务器28的一部分。在实施例中,远程数据储存器36和远程处理器38可以是耦合到远程服务器28的不同实体。
在系统30中,当用户请求音乐/单元作曲被生成时,用户设备10向远程服务器28传输用户数据。用户设备10可以从用户设备10内的传感器接收用户数据(如上面关于图1A所述的),和/或可以从外部源(诸如外部传感器32)接收用户数据。外部传感器32可以是例如计步器、心率监测器、健身跟踪器、卫星导航系统等。用户设备10可以从诸如互联网的其他外部源接收用户数据。例如,用户设备可以接收关于当用户请求音乐被生成时的“初始条件”的数据,诸如来自气象数据网站或国家气象服务网站(例如Met Office网站)的天气数据。在实施例中,用户设备10可以接收来自用户自身的用户数据。例如,用户设备10的用户可以通过设备10的接口来输入用户数据。用户数据可以由用户设备10从这些潜在数据源中的一个或更多个获得。在实施例中,当用户请求音乐被生成时,用户设备10整理来自一个或多个数据源的用户数据。例如,用户设备10可以通过连接到Met Office网站并获得用户设备10所位于的位置的天气信息来自动获取天气数据。用户设备10可以轮询任何内部和/或外部传感器(如果用户设备10检测到外部传感器),并从传感器请求最新的用户数据。用户设备10可以例如通过在用户设备10的显示屏上显示请求或者通过听得见的命令来提示用户自己输入用户数据。
用户设备10将接收到的用户数据连同对所生成的音乐/单元作曲的请求一起传输到远程服务器28。用户设备10可以使用任何适当的通信协议和技术来与远程服务器通信。例如,用户设备10可以经由互联网(使用到路由器或网关34的有线或无线连接)或者经由移动网络或“移动web”(可能通过使用网关34,网关34使用不同的通信协议来在网络之间按规定路线发送数据)来与远程服务器28通信。用户设备10也许能够使用一种或更多种技术/协议连接到远程服务器28,并且也许能够在协议之间(例如在WiFi连接和移动web连接之间)自动切换。
远程服务器28使用用户数据来从远程数据储存器中选择(并且在实施例中,获取)一个或更多个预录的音乐项目(或模块)。远程数据储存器可以包括音乐数据集,诸如图2B所示的音乐数据集。在图2B中,数据储存器或音乐数据集40包括和声数据集40a、节拍数据集40b、独奏数据集40c和气氛数据集40d。这些数据集40a至40d中的每一个包括多个预录的音乐项目(或模块)。例如,和声数据集40a包括多个预录的和声。和声通常是音乐作曲/一支音乐的主要组成部分。在实施例中,和声是要从音乐数据集中选择以生成音乐/单元作曲的第一音乐项目(或模块),并且如果任何其他音乐项目(或模块)被选择,则它们是基于所选择的和声的特征而被选择的。也就是说,一支所生成的音乐的和声层首先被选择,并且是在所生成的音乐中的核心听得见的材料,并且在所生成的音乐中存在的任何其他层都从属于/取决于和声层。
节拍数据集40b包括形成一支所生成的音乐/单元作曲的律动或额外的有节奏的元素的多个预录的节拍。(在实施例中,独奏层、和声层和气氛层由于是音乐性的而可以包含具有节奏特性的元素,在这种情况下,节拍层为一支所生成的音乐提供了额外的有节奏的元素)。可以基于用户设备10的用户的步调或速度来选择从节拍数据集40b中选择的节拍。例如,如果用户被感测到缓慢地步行,则从节拍数据集40b中选择的节拍可能比较慢,并且可能与用户的步行速度的拍子/步调相匹配。类似地,如果用户被感测到正在跑步,则从节拍数据集40b中选择的节拍可以具有更快的拍子。从节拍数据集40b中选择的音乐项目的律动/节拍的拍子(例如,每分钟节拍或BPM)可以与用户设备10的用户的心率(以BPM为单位)成比例,或者与用户的每分钟步幅数(例如,用户的脚步节奏或每分钟转数)成比例。因此,如果由用户设备10传输到远程服务器28的用户数据包括关于用户的心率或脚步节奏的信息,则该信息可以用于从节拍数据集40b中选择具有实质上匹配的拍子的音乐项目。
独奏数据集40c包括多个预录的旋律。如果所生成的音乐包括旋律,则在从和声数据集40a中选择和声之后,从独奏数据集40c中选择旋律。所选择的和声的特征可能影响旋律如何被选择。例如,如果从和声数据集40a中选择的音乐项目以降B大调音阶为中心,则旋律可以从独奏数据集40c中的音乐项目的子集中被选择,该子集是降B大调或另一个互补小调/模态声调。
气氛数据集40d包括多个预录的气氛声音效果和文本/口语元素。气氛数据集40d中的音乐项目可以不是音乐性的,并且可以包括例如语音和声音效果。气氛数据集40d可以包括例如诗歌的朗读或来自剧本、小说或演讲的摘录的朗读。气氛数据集40d可以包括声音效果,诸如,例如“清晨时的鸟叫声”的记录、降雨或碰撞波的声音等。如果从气氛数据集40d中选择音乐项目以生成/创作音乐,则可以根据用户的位置、当前天气等进行该选择。
存储在音乐数据集40中的每个音乐项目、模块和/或模块组可以被标记或加标签,以便可以容易地识别该音乐项目/模块/模块组的特征。例如,如果节拍数据集40b中的音乐项目具有60节拍/分钟的拍子,则该音乐项目可以被标记/加标签以指示该特定特征。类似地,如果气氛数据集40d中的音乐项目包括碰撞波的声音,则该音乐项目可以被标记/加标签以指示如果用户位于靠近水体处(例如,在海边或湖边),则该音乐项目是合适的。例如,如果气氛数据集40d中的音乐项目包括对华兹华斯的“水仙花”诗的朗读,则如果用户位于联合王国的湖区地区中和/或如果当用户请求音乐被生成时的季节是春天,则该音乐项目可以被标记/加标签以指示该音乐项目是合适的。标签可以使音乐项目能够基于接收到的用户数据从音乐数据集40中快速和有效地被选择。标签可以使音乐数据集能够被过滤,使得只有具有对应于接收到的用户数据的标记/标签的那些音乐项目可用于在所生成的音乐中使用。
音乐数据集40中的每个预录的音乐项目、或模块或模块组可以包括标识符或ID。优选地,标识符/ID是唯一的和静态的。标识符可以是例如数字或字母数字ID,或者8位或16位二进制数字。优选地,当每个预录的音乐项目被保存在音乐数据集40中时,它被分配一个标识符。每个预录的音乐项目的标识符可以有助于从音乐数据集40中获取音乐项目。每个预录的音乐项目的标识符可以使所生成的音乐能够在稍后的时间重新生成,如下文更详细解释的那样。
在实施例中,图2B所示的音乐数据集40可以在用户设备10内(例如,在数据储存器20内)被提供。在图2B所示的实施例中,音乐数据集40可以在远程数据储存器36内被提供。在实施例中,音乐数据集40可以在远程数据储存器36内被提供,并且音乐数据集的全部或子集也可以在用户设备10内被提供。
回到图2A,远程服务器28使用用户数据来从远程数据储存器36中的音乐数据集40中选择和获取一个或更多个预录的音乐项目(或模块)。远程服务器28可以使用用户数据和在音乐数据集中的每个预录的音乐项目的标签/标记来过滤音乐数据组40。处理器38然后可以从经过滤的音乐数据集40中选择一个或更多个音乐项目,该音乐数据集40包含可用的预录的音乐项目/模块的子集。
在实施例中,处理器38可以从数据集40a至40d中的每一个中选择一个预录的音乐项目(模块),并组合这些音乐项目以生成音乐/单元作曲。此外或可替换地,处理器38可以仅从和声数据集40a中选择音乐项目,并使用此来生成音乐。在这种情况下,所生成的音乐可以由所选择的和声组成,而没有修改。优选地,可以例如通过基于用户正行进的方向而改变和声的声调来修改所选择的和声,以生成/创作音乐。
此外或可替换地,处理器38可以从数据集40a至40d中的一个或更多个中选择音乐项目。默认地,处理器38可以从数据集40a至40d中的每一个中选择预录的音乐项目。然而,如果用户已经提供了用户偏好或指示例如他们不希望所生成的音乐包含气氛层的反馈,则处理器38可以不从气氛数据集40d中选择预录的音乐项目。
一旦处理器38已经生成音乐,远程服务器28就可以通知用户设备10所生成的音乐可用于流式传输。在实施例中,一旦处理器38已经生成音乐,流式传输就可以自动开始。因此,用户设备10从远程服务器28流式传输所生成的音乐,这通常需要在用户设备10和远程服务器28之间的连续通信连接。
如下文更详细解释的,可以基于用户数据的变化来实时地修改所生成的音乐。例如,如果用户设备10的用户从步行切换到跑步,则用户的心率或节奏的改变可以用于改变所生成的音乐的拍子。在另一示例中,如果用户设备10的用户从沿一个方向(例如,正北)步行切换到沿另一个方向(例如,西北)步行,则方向的改变可以用于改变在所生成的音乐中的和声层的声调。每当变化被检测到/接收到时,用户数据的变化可以由用户设备10发送到远程服务器28。可替换地,用户设备10可以定期(例如,每分钟、每几分钟、每小时)向远程服务器28发送用户数据,无论用户数据是否已经改变。在这种情况下,用户设备10可以以有规律的间隔轮询任何内部传感器、外部传感器或任何其他用户数据源。在实施例中,用户设备10向远程服务器28发送用户数据的频率可以由用户设备10的用户指定。例如,如果用户希望在他们跑步或训练时音乐被生成,则用户可以指定更新的频率为每30秒一次,因为他们知道他们的速度/节奏/心率将在跑步/训练期间变化。在实施例中,用户可以根据用户设备10如何连接到远程服务器28来指定频率。例如,如果用户设备10经由WiFi或有线互联网连接来连接到远程服务器28,则用户可以将更新的频率设置为高(例如,每30秒一次),并且如果用户设备10通过移动web连接到远程服务器28,则用户可以将频率设置为低(例如,每5分钟一次)(例如,以减少他们的移动数据额度的使用)。用户可能能够经由用户设备10的接口18向用户设备提供该信息。在实施例中,用户设备10向远程服务器28发送用户数据的频率可以是默认频率,例如每三分钟一次。
在实施例中,音乐生成过程可以具有多于一种操作模式。例如,音乐生成过程可以具有“主动”操作模式和“被动”操作模式。例如,步行和跑步操作模式可以被认为是“主动”操作模式,其中所生成的音乐响应于用户数据和用户数据的变化而生成。在“被动”操作模式中,用户数据可以包括用户选择或用户输入的数据。例如,如果当用户正休息或入睡时音乐生成过程正在运行,则他们可能正在使用“被动”操作模式,在该模式中,所生成的音乐可以响应于用户选择和默认模式相关规则而生成。下面参考图9更详细地描述被动操作模式。
现在描述一种使用一个或更多个预录的音乐项目并基于用户数据来实时地生成/创作音乐的方法。图3显示了在“主动”操作模式中生成/创作音乐的示例步骤的流程图。该方法开始于开始步骤S30,其可以是当用于生成/创作音乐的软件应用被初始化时。该方法包括接收生成/创作音乐的请求(步骤S32)。该请求可以响应于用户按压在他们的用户设备10上的物理或虚拟按钮、响应于由用户输入到用户设备10中的语音命令或其他方式来被接收。
在步骤S34,接收用户数据。如上面所解释的,可以接收、获取和/或请求用户数据。用户数据可以由用户设备10从用户设备10内的传感器和/或从诸如外部传感器(例如计步器、心率监测器、健身跟踪器、卫星导航系统等)的外部源接收。用户设备10可以从诸如互联网的其他外部源接收用户数据。用户设备10可以轮询任何内部和/或外部传感器,并从传感器请求最新的用户数据。可替换地,当从传感器接收到数据时,来自该传感器或每个传感器的用户数据可以存储在用户设备中的数据储存器中,并且在步骤S34,用户设备可以获取所存储的用户数据。此外或可替换地,用户设备10可以提示用户自己输入用户数据,并且在步骤S34接收用户输入的用户数据。
该方法包括使用所接收的用户数据来过滤包含多个预录的音乐项目的音乐数据集(步骤S36)。如上面所提到的,每个预录的音乐项目可以被标记或加标签以识别该音乐项目的一个或更多个特征。该方法包括将接收到的用户数据映射到音乐的特定特征。例如,如果用户数据指定用户的心率为每分钟120个节拍,则该方法可以包括将该心率映射到特定拍子(或拍子范围)。在步骤S36,基于该拍子来过滤音乐数据集,以提供经过滤的数据集,其包含具有指示它们具有所需的拍子(或者在所需的拍子范围内的拍子)的标签/标记的那些音乐项目。在此示例中,基于用户心率的过滤可以仅用于过滤节拍数据集。该方法可以包括查阅包括关于如何将用户数据映射到音乐特征的信息的一个或更多个查找表(或类似对象)。对于每种类型的用户数据(例如位置、心率、行进方向、速度、天气等)和/或对于每种类型的音乐特征(例如拍子、声调、气氛等),可以有单独的查找表。如果用户数据包括多条信息,则该方法可以包括同时使用所有的信息条来过滤音乐数据集,或者可以包括首先使用特定的一条信息。这关于图5被更详细地描述。
在步骤S38,从经过滤的音乐数据集中选择至少一个音乐项目。在实施例中,从和声、节拍和独奏数据集中的每一个中以及可选地从气氛数据集中选择一个音乐项目。
在步骤S40,使用所选择的音乐项目(多个音乐项目)来生成音乐。在实施例中,当生成音乐时,可以修改所选择的音乐项目(多个音乐项目)的一个或更多个特征。例如,可以基于特定用户数据来修改所选择的和声的声调。在实施例中,在不修改的情况下组合所选择的音乐项目以生成/创作音乐。如果音乐在用户设备10中生成,则可以将所生成的音乐输出给用户。如果音乐在远程服务器中生成,则所生成的音乐可以以任何数量的方式——包括例如流式传输或下载——被传送给用户(经由用户设备10)。
在实施例中,所生成的音乐被生成,直到用户终止音乐生成过程为止。因此,所生成的音乐可以是几分钟长或几小时长的一支连续的音乐。所生成的音乐可以不被存储或保存(在用户设备10中或者在远程数据储存器中)。相反,当音乐生成过程结束(响应于用户终止命令,或者在默认或预定时间段之后)时,该方法包括生成和存储与所生成的音乐相关的元数据(步骤S46)。元数据包括使得所生成的音乐能够在稍后的日期重新生成的信息。例如,元数据可以包括用于生成音乐的每个预录的音乐项目的唯一标识符、该支所生成的音乐的长度、所生成的音乐响应于用户数据的变化而被修改的时刻以及音乐如何被修改等。
可以提示用户“命名”或以其他方式标记为每一支所生成的音乐生成的元数据,使得用户可以仅从元数据中识别所生成的音乐。例如,如果一支音乐是在她跑步时产生的,则用户可以将它贴上“跑步音乐”的标签。在实施例中,一支所生成的音乐的默认名称可以由音乐生成开始/结束的日期和时间以及可能的用户标识符(例如用户名)形成。元数据可以保存在本地(例如在用户设备10上)和/或在远程服务器中。
如果用户希望再次听特定的一支所生成的音乐,则她从所保存的元数据列表中选择特定的一条元数据,且然后可以请求与所选择的元数据相关联的音乐重新生成。元数据使所生成的音乐能够被重新生成。例如,处理器可以从元数据中提取用于生成音乐的每个预录的音乐项目的唯一标识符,并且可以使用标识符来从音乐数据集中获取音乐项目。元数据优选地指示预录的音乐项目如何和何时被组合,所生成的音乐如何和何时响应于用户数据的变化、所生成的音乐的长度等而被修改,使得所生成的音乐可以容易被重新生成。有利地,这可能意味着所生成的多支音乐不需要被存储(这减少了在系统中的存储器需要),因为元数据足以在需要时重新生成音乐。一旦元数据已经生成并被保存(以及可选地,被命名),该过程就结束(步骤S48)。
可选地,音乐生成过程可以包括响应于用户数据的变化而实时地修改所生成的音乐。例如,如果确定用户的心率已经改变(例如,因为他们已经从步行切换到跑步),则可以作为响应而改变所生成的音乐的拍子。因此,可选地,在步骤S42,该方法可以包括接收用户数据的变化,并且在步骤S44,可以响应于用户数据的变化来修改所生成的音乐。该方法可以包括使用查找表或其他数据来确定如何响应于用户数据的变化来修改所生成的音乐。查找表可以与在步骤S36使用的查找表相同。对所生成的音乐所做的任何修改都被合并到在步骤S46生成的元数据中。
因此,用于生成音乐的一般方法包括:接收生成/创作音乐的请求;接收用户数据;响应于接收到的用户数据而过滤包含多个预录的音乐项目的至少一个数据集;从经过滤的至少一个数据集中选择至少一个预录的音乐项目;使用该所选择的预录的音乐项目或每个选择的预录的音乐项目来生成音乐;以及生成与所生成/创作的音乐相关联的元数据。该方法可以在用户设备(例如,用户设备10)中实现,或者该方法的各方面可以分布在用户设备和远程服务器之间(如上面关于图1B和图2A所述的)。
图4显示了生成/创作音乐的示例步骤的更详细的流程图。该方法开始于开始步骤S50,其可以是当用于生成/创作音乐的软件应用被初始化时和/或当生成/创作音乐的请求被接收到时。在步骤S52,如上面所解释的接收用户数据(参见例如图3的步骤S34)。在所示实施例中,该方法包括确定是否已经接收到“保存”命令(步骤S54)。该方法可以包括提示用户决定他们是否希望保存在音乐生成过程结束时要生成的音乐。例如,该方法可以包括在用户设备的显示屏上显示询问用户决定是否保存所生成的音乐的提示。如早些时候所提到的,所生成的音乐本身可能不被保存,但替代地与所生成的音乐相关联的元数据可以被生成并保存。因此,“保存”的提示可以是保存元数据的提示。在实施例中,提示可以在音乐生成过程结束时提供给用户。此外或可替换地,该方法可以默认保存与所生成的音乐相关联的元数据(并且不需要用户做出“保存”命令)。
如果在步骤S54接收到保存命令(从用户或从默认设置),则该方法包括在音乐生成过程结束时设置“保存”标志或其他指示符/提醒来保存元数据(步骤S56)。在步骤S56之后或者如果不需要保存,该方法包括响应于接收到的用户数据而过滤包含多个预录的音乐项目的至少一个数据集(步骤S58)。过滤音乐数据集(多个音乐数据集)的过程类似于关于图3的步骤S36描述的过程,且因此为了简明起见而不再重复。在步骤S60,从经过滤的音乐数据集(多个经过滤的音乐数据集)中选择至少一个音乐项目。在实施例中,从和声、节拍和独奏数据集中的每一个中以及可选地从气氛数据集中选择一个音乐项目。如果在步骤S60选择了两个或更多个音乐项目,则该方法包括组合所选择的音乐项目(步骤S62)。如果在步骤S60仅选择了一个音乐项目,则该方法可以包括修改所选择的音乐项目以生成音乐。在步骤S64,输出所生成的音乐。在音乐在用户设备10中生成的实施例中(例如,如上面关于图1B所述的),所生成的音乐可以实质上紧接着在音乐生成之后经由用户设备10的音频模块24输出给用户。在音乐在远程服务器中生成的实施例中,所生成的音乐可以以任何数量的方式——包括例如流式传输或下载——(经由用户设备10)传送给用户。在实施例中,远程服务器可以通知用户设备10所生成的音乐准备好流式传输/下载,或者可替换地,远程服务器可以在用户设备10处自动发起流式传输过程。
音乐生成过程可以包括响应于用户数据的变化而实时地修改所生成的音乐。例如,如果确定用户的心率已经改变(例如,因为他们已经从步行切换到跑步),则可以作为响应而改变所生成的音乐的拍子。因此,在步骤S66,该方法可以包括检查是否已经接收到用户数据的变化。该检查可以以有规律的间隔(诸如,例如每30秒、每分钟或每几分钟)被执行。有规律的间隔可以是预定义的或者可以是用户定义的(例如,基于用户活动)。例如,如果用户正在锻炼,则用户可能希望音乐生成快速适应用户的变化的心率或活动,且因此可以定义步骤S66被执行的间隔。如果没有接收到用户数据的变化,则该方法在重新检查之前等待预定义或用户定义的间隔。
如果接收到用户数据的变化,则该方法可以包括响应于用户数据的变化而修改所生成的音乐。在特定实施例中,用户数据的变化可能不导致所生成的音乐被修改。例如,如果用户的心率在特定范围内变化(例如变化了+/-5个节拍/分钟),则所生成的音乐的拍子可能不改变到匹配心率的变化。在实施例中,该方法可以包括使用查找表或其他数据来确定如何响应于用户数据的变化而修改所生成的音乐。查找表可以与在步骤S58使用的查找表相同。然后,根据步骤S64输出修改后的所生成的音乐(步骤S70)。
在实施例中,该方法包括检查是否已经接收到终止音乐生成过程的命令(步骤S72)。在实施例中,在预定时间段之后和/或如果在预定时间段内没有用户数据的变化被接收到,音乐生成过程可以自动终止。如果没有接收到“停止”或终止命令,该方法可以包括循环回以检查是否接收到用户数据的任何变化。如果接收到停止命令,该方法可以包括检查是否已经设置了”保存”标志(步骤S74)。如果已经设置了”保存”标志,则该方法包括以与关于图3的步骤S46描述的方式类似的方式生成与所生成的音乐相关联的元数据(步骤S76)。在步骤S76之后,或者如果没有设置”保存”标志,则音乐生成过程随后终止(步骤S78)。
在图4中所示和上面所述的方法可以在用户设备(例如,用户设备10)中实现。此外或可选地,该方法的特定步骤可以分布在用户设备和远程服务器之间。例如,在步骤S52,可以在用户设备处或远程服务器处(从用户设备)接收用户数据。类似地,在步骤S64,输出所生成的音乐的步骤可以在用户设备处被执行,或者可以在远程服务器处被执行,该远程服务器向用户设备指示所生成的音乐准备流式传输。
如上面所提到的,所生成的音乐由从音乐数据集中选择的至少一个预录的音乐项目创作。图5显示了选择预录的音乐项目以生成/创作音乐的示例步骤的流程图。在步骤S90,选择在所生成的音乐中使用的音乐项目的方法包括接收用户数据。在所示的实施例中,音乐数据集包括上面关于图2B描述的和声数据集、节拍数据集、独奏数据集和气氛数据集。
该方法包括使用所接收的用户数据来过滤在音乐数据集40a至40d中的所有音乐数据集(步骤S92)。这可以被执行,即使没有从数据集40a到40d中的每个数据集中选择音乐项目。在步骤S92的过滤可以被认为是高级过滤或粗过滤。执行这种粗过滤的技术可以是上面关于图3的步骤S36所描述的技术,且因此为了简明起见而不再重复。因为和声通常是音乐作曲/一支音乐的主要组成部分,所以和声层是从音乐数据集中选择来生成/创作音乐的第一音乐项目。因此,在步骤S94,从经过滤的和声数据集中选择音乐项目。在实施例中,和声音乐项目的选择可以是随机的,并由处理器(在用户设备中或远程服务器中)执行。在实施例中,音乐和声项目的选择可以响应于他们需要什么类型的和声的用户指示。这在下面关于图9被更详细地描述。
和声音乐项目的选择触发音乐数据集的进一步过滤。在所示的实施例中,要从音乐数据集中选择的下一音乐项目是节拍音乐项目。因此,在步骤S96,该方法包括使用所选择的和声项目来进一步过滤节拍数据集40b。节拍数据集40b已经基于用户数据被过滤一次(在步骤S92),并且现在基于所选择的音乐和声项目的一个或更多个特征被进一步过滤。例如,所选择的音乐和声项目可以更好地适合于特定类型的节拍或特定拍子,并且这些适合性标准可以用于进一步过滤节拍数据集。因此,节拍数据集(和其他数据集)的进一步过滤被执行,使得最适合于和声的音乐项目是可选择的。这个进一步的过滤可以被认为相对于在步骤S92执行的过滤来说是精细过滤。从进一步经过滤的节拍数据集40b中选择音乐项目(步骤S98)。在实施例中,仅和声层和节拍层被用于生成/创作音乐,并且在这种情况下,所选择的音乐项目在步骤S108被组合以生成/创作音乐。
在实施例中,音乐项目可以从独奏数据集40c中被选择,并且加上和声层和节拍层,以用于生成/创作音乐。在这种情况下,在步骤S100,所选择的节拍音乐项目可用于进一步过滤独奏数据集40c。在实施例中,在所选择的节拍音乐项目和和声音乐项目中的一个或两个可用于进一步过滤独奏数据集40c。独奏数据集40c已经基于用户数据被过滤一次(在步骤S92),并且现在基于所选择的和声音乐项目和/或所选择的节拍音乐项目的一个或更多个特征被进一步过滤。例如,所选择的音乐项目可能更好地适合特定类型的旋律,并且任何这样的适合性标准可以用于进一步过滤独奏数据集。例如,如果从和声数据集40a中选择的音乐项目以降B大调音阶为中心,则旋律可以从独奏数据集40c中的音乐项目的子集中被选择,该子集是降B大调或另一个互补小调/模态声调。因此,独奏数据集的进一步过滤被执行,使得最好地适合于和声和/或节拍的音乐项目是可选择的。这个进一步的过滤可以被认为相对于在步骤S92执行的过滤来说是精细过滤。从进一步经过滤的独奏数据集40c中选择音乐项目(步骤S102)。在实施例中,仅和声层、节拍层和独奏层被用于生成/创作音乐,并且在这种情况下,所选择的音乐项目在步骤S108被组合以生成/创作音乐。
可选地,音乐项目可以从气氛数据集40d中被选择,并且加上和声层、节拍层和独奏层,以用于生成/创作音乐。在这种情况下,在步骤S104,可以使用一个或更多个所选择的音乐项目来进一步过滤气氛数据集40d。从进一步经过滤的气氛数据集40d中选择音乐项目(步骤S106),并且在步骤S108组合所选择的音乐项目以生成/创作音乐。
将理解,按照图5所示的顺序执行音乐数据集的过滤并不是必要的。在实施例中,所选择的和声音乐项目可用于过滤独奏数据集而不是节拍数据集。此外,在实施例中,所生成的音乐可以由来自四个音乐数据集40a至40d中的一些或全部的音乐项目组成。在实施例中,从一个音乐数据集选择特定音乐项目可能不导致一个或更多个剩余数据集的更精细过滤。例如,节拍音乐项目的选择可能不影响哪些气氛音乐项目可以用于生成/创作音乐。
此外,可以以类似于所有数据集的初始粗过滤的方式来执行每个数据集的更精细过滤。也就是说,该方法可以包括查阅包括关于如何使用所选择的音乐项目(多个所选择的音乐项目)的音乐特征来进一步过滤音乐数据集的信息的一个或更多个查找表(或类似对象)。音乐项目的标记/标签可用于执行进一步的过滤过程。例如,音乐项目的标记/标签可以识别该音乐项目的特定特征,并且进一步的过滤过程可以涉及针对特定特征的过滤。此外或可替换地,音乐项目的标记/标签可以指示对特定音乐项目的适合性。
音乐生成过程可以根据用户活动而变化,并且在实施例中,指定用户活动来适应音乐生成过程也许是可能的。图6、7和8分别显示了基于用户是步行/跑步、坐着/休息还是入睡的一般音乐生成过程的变化(图4)。这些只是一些可能的操作模式,且可能还有影响音乐生成过程的其他可能的操作模式。
现在转到图6,这显示了响应于用户步行或跑步来生成/创作音乐的示例步骤的流程图。当用户请求音乐被生成时,用户也许也可以选择“操作模式”。在这种情况下,用户选择了步行或跑步模式。音乐生成过程实质上与关于图4描述的过程相同,直到步骤S66为止。在步行/跑步模式中,在该过程的步骤S66,该方法包括检查是否已经接收到用户数据的变化。该检查可以以有规律的间隔(诸如,例如每30秒、每分钟或每几分钟)被执行。有规律的间隔可以针对操作模式预先定义,或者可以是用户定义的(例如,基于用户活动)。例如,在步行/跑步模式中,用户可能希望音乐生成快速适应用户的变化的心率或活动,且因此步骤S66在步行/跑步操作模式中被执行的默认间隔可能比在其他操作模式中更短(即更频繁)。如果没有接收到用户数据的变化,则该方法在重新检查之前等待预定义或用户定义的间隔。
如果接收到用户数据的变化,该方法可以包括确定接收到了什么类型的变化。例如,该方法可以包括确定接收到的已改变的用户数据是否指示用户的步调已经改变(步骤S120)。例如,步调可以由节奏、心率或通过确定用户多么快地覆盖特定的距离来指示。可以从用户设备中的和/或在用户设备外部的传感器获得这个数据。如果用户的步调已经改变,该方法可以确定步调是增加还是减少,和/或步调相对于原始用户数据改变了多少。如果步调改变了显著的量,则该方法可以包括从节拍数据集中选择更好地匹配/适合用户的新步调的新项目(步骤S122)。在实施例中,响应于用户的步调的变化而简单地改变(例如增加或减少)现有的所生成的音乐的拍子。在实施例中,仅当步调的变化在预定误差范围之外时,才进行在步骤S122的修改。例如,心率的预定误差范围可以是+/-5个节拍/分钟,使得至多5个节拍/分钟的心率的变化被认为不足以保证所生成的音乐的节拍/拍子的修改。
该方法可以包括确定用户行进的方向是否已经改变(步骤S124)。行进方向的改变可能使所生成的音乐的声调被修改。该方法可以包括查阅查找表以确定方向的改变如何引起所生成的音乐的声调的改变。
图11显示了显示用户的运动方向的改变可如何引起所生成的音乐中的声调的预定变化的示意图。每个基本方向(北、东、南、西)和中间(顺序的)方向可以与特定声调相关联。例如,向正北行进可能与C大调声调相关联,而向南行进可能与升F大调声调相关联。二十四个可能的声调(12个小调和12个大调)可以各自与特定的基本行进方向(例如北、西北、东南偏南等)相关联。在实施例中,如图11所示,24个声调中的每一个都可以与特定的行进角度或方向相关联,并且可以与它们的邻居分开相同的角度θ(例如15°)。在实施例中,24个声调可以不与基本/顺序方向相关联,且替代地,用户的初始行进方向可以定义“虚拟北方”,并且所有其他方向和声调变化都相对于初始行进方向被定义。在实施例中,在相邻行进方向之间的角度间隔可能是不相等/不均匀的。例如,在特定方向/声调之间可能有较大的角间隔,使得例如仅当行进方向显著变化时才发生特定声调变化。
回到图6,该方法可以包括确定用户的行进方向改变的角度,并使用用户的行进方向改变的角度来确定如何修改所生成的音乐的声调。例如,基于图11中的示例,如果用户的方向相对于原始行进方向(其对应于C大调)在顺时针方向上改变了角度θ,则所生成的音乐的声调可能改变为A小调。在用户的方向相对于原始行进方向在逆时针方向上改变角度2θ(或-2θ)时,所生成的音乐的声调可以改变为G大调。可以相对于原始行进方向或相对于先前行进方向来确定方向的后续变化。因此,在图6中的步骤S126,方向的所确定的变化被用于修改所生成的音乐的和声层的声调(或者所生成的音乐的总体声调)。在实施例中,如果和声层的声调的改变意味着所生成的音乐中的一个或更多个其它层不再适合于和声层,则步骤S126可以包括所选择的其它合适的层(即,来自节拍、独奏和/或气氛数据集的其它更合适的音乐项目)。
该方法可以包括确定用户的位置是否已经改变(步骤S128)。位置的改变可以提示从气氛数据集中选择新的音乐项目,或者从所生成的音乐中移除现有的(如果有的话)气氛音乐项目(步骤S130)。如早些时候所提到的,可以基于用户的位置和/或用户到显著地点、感兴趣地点等的接近度来选择气氛音乐项目。例如,如果用户现在被确定为正在经过伦敦(英国)的环球剧院步行/跑步,则在步骤S130从气氛数据集中选择的新音乐项目可以是来自莎士比亚的戏剧或诗的一段的朗读。
图6仅显示了所生成的音乐可基于用户数据的变化来被修改的一些可能方式。步骤S120至S128的顺序仅仅是示例性的,并且可以采取附加或可替换的步骤来修改所生成的音乐。在所生成的音乐已经被修改之后(或者已经确定不需要修改),音乐生成过程返回到图4的步骤S70。
图7显示了响应于用户坐着或休息而生成/创作音乐的示例步骤的流程图。在这种情况下,用户选择了坐着/休息操作模式。音乐生成过程实质上与关于图4描述的过程相同,直到步骤S66为止。在坐着/休息模式中,在该过程的步骤S66,该方法包括检查是否已经接收到用户数据的变化。该检查可以以有规律的间隔(诸如,例如每30秒、每分钟或每几分钟)被执行。有规律的间隔可以针对操作模式预先定义,或者可以是用户定义的(例如,基于用户活动)。例如,在坐着模式中,步骤S66被执行的默认间隔可能比在运行操作模式中更长(即,更不频繁)。如果在步骤S66没有接收到用户数据的变化,则该方法在重新检查之前等待预定义或用户定义的间隔。
如果接收到用户数据的变化,则该方法可以包括确定用户是否已经开始移动,即不再坐着/休息(步骤S144)。如果是,则可以从节拍数据集中选择更好地匹配/适合用户的新步调的新项目(步骤S146)。在实施例中,响应于用户的步调的变化而简单地改变(例如增加或减少)现有的所生成的音乐的拍子。在实施例中,如早些时候所解释的,仅当步调的改变在预定误差范围之外时,才进行在步骤S146的修改。运动中的小变化(例如,用户在他们的座位上洗牌)或运动中的不频繁的变化(例如,如果用户仅在房间里走动片刻)可能不被认为足够显著到改变所生成的音乐的节拍或拍子。因此,在特定实施例中,可以使用运动的延长的变化来确定用户正在移动,并且节拍/拍子可能需要被修改。
在实施例中,该方法可以包括确定用户的位置是否已经改变。如果用户已经开始移动,则用户的位置可能改变。在实施例中,用户可能仍然在休息/坐着,但是他们的位置可能已经改变,例如他们在移动的车辆(例如火车、汽车、飞机等)的情况下。在任何情况下,位置的改变可以以与上面关于图6描述的方式类似的方式提示从气氛数据集中选择新的音乐项目,或者从所生成的音乐中移除现有的(如果有的话)气氛音乐项目(步骤S150)。
在实施例中,如果在步骤S66没有接收到用户数据的变化,则该方法可以包括检查自上次接收用户数据(或用户数据的变化)以来是否经过了预定时间段(步骤S140)。预定时间段可以是几分钟、30分钟、一小时等。如果预定时间段没有过去,则该方法返回到步骤S66。如果预定时间段已经过去,则该方法可以包括以预定方式自动修改所生成的音乐(步骤S142)。例如,该方法可以包括自动修改和声层的声调。如早些时候所提到的,改变和声层的声调也可能需要对在所生成的音乐中的其他层进行改变。因此,音乐生成过程被配置为即使没有用户数据的变化被接收到,也在坐着/休息模式中自动修改所生成的音乐,以便在所生成的音乐中引入变化。过程然后继续到步骤4的步骤S70。
图8显示了在睡眠模式中生成/创作音乐的示例步骤的流程图。在这种情况下,用户选择了睡眠操作模式。如果用户希望听音乐来帮助他们放松、冥想或入睡,则可以选择睡眠模式。因此,在该操作模式中,在某个时间后终止音乐生成过程使得用户能够入睡或保持睡眠可能是合乎需要的。音乐生成过程实质上与关于图4描述的过程相同,直到步骤S64为止。在睡眠模式中,该方法可以包括确定用户是否已经设置了“结束时间”(步骤S160)。当用户选择睡眠模式时,他们可能被提示指定在音乐生成过程终止之前他们想要音乐被生成多长时间。用户可以指定结束时间(例如23:30)或持续时间(例如30分钟),或者可以从选项的列表中选择结束时间/持续时间。可替换地,用户可以忽略这个提示,并且可以决定手动地终止音乐生成过程或者允许指示用户已经睡着的用户数据来确定音乐生成过程何时终止。
如果在步骤S160确定已经指定/设置了结束时间,则该方法可以包括检查是否已经到达该结束时间(步骤S162)。如果已经到达结束时间,该方法包括停止所生成的音乐的输出(步骤S164),且然后该过程继续进行到图4的步骤S74。如果还没有到达结束时间,则该方法返回到步骤S162。
如果在步骤S160确定没有指定/设置结束时间,则该方法可以包括确定是否已经接收到指示用户正在睡觉的数据(步骤S166)。用户可能佩戴心率监测器、健身跟踪器或睡眠监测设备,其可能能够确定用户是否睡着了(例如,用户的心率是否落到休息心率之下)。如果在步骤S166接收到这样的数据,则该方法包括停止所生成的音乐的输出(步骤S164)。如果在步骤S166没有接收到这样的数据,则该方法可以包括在预定时间段之后自动停止所生成的音乐的输出(步骤S168)。例如,该方法可以包括在45分钟后或在60分钟后自动停止所生成的音乐的输出。在实施例中,步骤S166可以包括在用户设备上显示询问用户是否他们希望继续接收所生成的音乐的提示。如果接收到来自用户的响应,该方法可以包括基于用户的响应而继续或停止音乐生成。如果没有接收到来自用户的响应,则该方法可以确定用户正在睡觉,并且可以前进到步骤S164。
在睡眠模式中,如果要停止所生成的音乐的输出,则该方法可以包括使所生成的音乐渐隐,而不是突然停止音乐,因为突然的改变可能惊吓或唤醒用户。
图9显示了用于生成音乐的用户设备10的图形用户界面的示意图。用户设备10可以包括显示屏50,在实施例中,显示屏50可以是触摸屏。显示屏50可用于在用户发起“应用”以生成/创作音乐时显示/呈现图形用户界面(GUI)。图9所示的示例GUI包括操作模式按钮52a至52d,其使用户能够选择步行模式(按钮52a)、慢跑/跑步模式(按钮52b)、坐着/注视/放松模式(按钮52c)或睡眠模式(按钮52d)。操作模式的数量和类型以及在GUI上的相应按钮可以改变。在实施例中,一旦用户选择了特定的操作模式,用户数据就可以由处理器(在用户设备10中或远程服务器中)使用来从音乐数据集中选择适当的音乐项目。所选择的操作模式也可以使某些预定义的以及模式相关的规则被应用。例如,如果用户选择睡眠模式,则应用于和声层的声调的变化可以由模式相关规则定义,该规则可以指定特定的镇静声调变化(例如从D大调到G大调)。类似地,如果用户选择了步行或跑步模式,声调的可能变化可以由模式相关规则来定义,这可以允许声调的更突然/剧烈的变化。
在实施例中,用户数据可以包括用户选择或用户输入的数据。这在音乐生成过程处于“被动”操作模式时可能是有用的。例如,步行和跑步操作模式可以被认为是“主动”操作模式,其中所生成的音乐响应于用户数据和用户数据的变化而生成。睡眠和休息模式可以被认为是“被动”操作模式,其中所生成的音乐可以响应于用户选择以及默认模式相关规则而生成。在实施例中,睡眠和休息模式可以是“主动”操作模式,因为所生成的音乐也可以响应于用户数据以及默认模式相关规则而生成。
在被动操作模式中,图9所示的GUI可以使用户能够做出用户选择,这些选择被用来(除了用户数据之外,或者代替用户数据)生成/创作音乐。GUI可以包括另外的按钮,用户可以使用这些按钮来做出关于要生成的音乐的选择。在特定实施例中,GUI可以使用户能够做出和声音乐项目的伪随机选择。这在“被动”操作模式时(例如,当用户是静止的时)可能是有用的,以防止或最小化每当音乐生成过程处于“被动”模式时相同音乐项目被默认地选择的机会。如上所述,可以基于所选择的和声音乐项目来选择和组合音乐的另外层。
GUI可以包括声调选择器54、模式选择器56和/或变奏选择器58。声调选择器54使用户能够选择二十四个可能的音乐声调中的一个。声调选择器54可以在二十四个声调中循环,并且当用户按下GUI上的声调选择器54按钮时,声调选择器选择它在那个时间正在循环通过的声调。声调选择器54可以在它在声调中循环时向用户播放每个声调,或者可以显示该声调(例如A-、F+、F#+等),或者可替换地当声调选择器54在可能的声调中循环时可能不提供声调的任何听觉或视觉指示。当用户使用声调选择器54来选择声调时,声调选择器54可以提供听觉输出来指示哪个声调已经被选择。在实施例中,如果用户不喜欢原始选择,他们也许能够再次旋转声调选择器54以选择不同的声调。
模式选择器56使用户能够选择模式。模式是在根声调(即所选择的声调)内部和周围的不同类型的振荡、手势和修饰。例如,吉他演奏者可以轻轻演奏弹拨的和弦、琶音或淡入淡出的声音来代表和弦。这种模式也适用于较大的音乐团体,包括管弦乐队。因此,模式可以包括在所选择的声调中在单个乐器上演奏的声音、在所选择的声调中由完整管弦乐队演奏的声音、或者在所选择的声调中由其他乐器组合演奏的声音。因此,模式选择器56可以基于使用声调选择器54选择的声调在各种模式中循环,并且以与上面对声调选择器描述的过程类似的方式,用户也许能够使用模式选择器56来选择特定模式。
变奏选择器58使用户能够选择所选择的模式的变化。变奏是一种音乐技巧,其中材料以改变的形式被重复。这些改变可能涉及对下列项中的一个或更多个的改变:和声、旋律、节奏、音色、配器。例如,如果所选择的模式从和弦的最低音符振荡到最高音符,且然后再次回来,则变奏可能不包含小提琴,或者它可能只包含钢琴,或者它可能通过中提琴拨它们的弦(拨弦弹奏)来被执行而不是用弓演奏。因此,变奏选择器58可以基于使用模式选择器56选择的模式并且以与上面对声调选择器描述的过程类似的方式在多个变奏中循环,用户也许能够使用变奏选择器58来选择特定的变奏。
每个选择器可以被呈现为旋转轮或转盘,一旦用户选择了被动操作模式,旋转轮或转盘就可以自动开始旋转,并且可以被用户停止以实现和声音乐项目的伪随机选择。例如,声调选择器54可以在所有二十四个音乐声调中循环,并且用户可以按下声调选择器54来选择特定的声调。一旦声调被选择,模式选择器56就可以在所选择的声调的结构变奏中循环。对于每一个声调,可以有任何数量的结构变奏。一旦模式被选择,变奏选择器58就可以基于所选择的模式来在变奏中循环。对于每个模式,可以有任何数量的变奏。因此,使用所有三个选择器导致和声音乐项目由用户伪随机地选择。如上所述,基于所选择的和声项目,可以从数据集中选择更多的音乐项目来生成/创作音乐。
图10是显示可以如何组合音乐项目以生成/创作音乐的示例的示意图。如早些时候所提到的,和声音乐项目(或和声层)可以在音乐生成过程中首先被选择。在实施例中,每个层可以同时呈现于所生成的音乐中。此外或可替换地,和声层可以通过所生成的音乐呈现,并且其他层可以随着时间的推移在所生成的音乐中出现和消失。在点70(时间t=0)处,和声层已经在所生成的音乐中开始。在点72处,节拍层开始出现在所生成的音乐中,并且在点74处,独奏层开始出现在所生成的音乐中。在点74处及其后,和声、独奏和节拍层都呈现在所生成的音乐中。在点76处,气氛层出现在所生成的音乐中,并且在点78处,气氛层从所生成的音乐消失(例如,响应于用户数据的变化,或者以其他方式)。因此,在点76和点78之间,所有四个层都呈现在所生成的音乐中,并且从点78到点80(当音乐生成过程终止时),仅三个层呈现于所生成的音乐中。如早些时候所解释的,在与所生成的音乐相关联的元数据中记录每个层被添加和从所生成的音乐中移除的时间。
图12是显示用户的运动(即,用户数据)的改变可如何引起所生成的音乐的改变的示意图。用户可以做出对所生成的音乐的请求,且然后开始去散步。用户在初始方向上步行。在点102处,用户改变她的行进方向。行进方向的改变可能引起所生成的音乐的声调的改变,如上面参考图6所解释的。在点104处,用户再次改变她的行进方向,且这可能再次引起所生成的音乐的声调的改变。在点106处,用户开始跑步。如参考图6所述的,用户的速度(或心率)的变化可用于引起所生成的音乐的拍子或节拍的相应变化。在这个跑步期间,用户的方向也改变。根据用户的方向变化得多么快,所生成的音乐的声调可以改变或可以不改变。仅当行进方向被维持特定时间量(例如30秒或几分钟)时,声调才可以改变。然后,用户终止音乐生成过程(在结束处),并且与所生成的音乐相关联的元数据可以被生成和存储。
图13是重新生成/重新创作先前生成/创作的音乐的示例步骤的流程图。如上面所解释的,元数据可以使一支所生成的音乐能够被重新生成。重新生成音乐的方法在开始步骤S200开始。该方法包括接收听/重放一支先前生成的音乐的请求。可以通过用户设备的用户接口获得该请求。用户可能能够基于已经被创建和存储的元数据来访问所生成的各支音乐的列表,并且用户可以从列表中选择一支特定的所生成的音乐以用于重新生成。在步骤S204,该方法包括获取与所选择的所生成的音乐相关联的元数据。该步骤可以由用户设备中的处理器或由远程服务器/远程处理器执行。元数据可以在本地(即,在用户设备中)或者远离用户设备(例如,在远程数据储存器中)被存储。该方法可以包括使用元数据从至少一个音乐数据集中获取形成所生成的音乐的预录的音乐项目或每个预录的音乐项目(步骤S206)。如果多个音乐项目形成所生成的音乐,则在步骤S208根据元数据组合这些音乐项目。
如果所生成的音乐随着时间的推移(例如响应于用户数据的变化)被修改,则这些修改以及它们何时出现在所生成的音乐中被记录在元数据中。因此,该方法包括使用元数据来修改获取的预录的音乐项目或每个获取的预录的音乐项目(步骤S210),且然后重新生成所生成的音乐并输出结果(步骤S212)。在实施例中,一旦原始的所生成的音乐已经被重新生成并输出,该过程就在步骤S220结束。
在实施例中,用户修改重新生成的音乐以创建新的所生成的音乐也许是可能的。如果在播放/输出重新生成的音乐时接收到用户数据(步骤S214),则该方法可以可选地包括基于接收到的用户数据来修改重新生成的音乐(步骤S216),并从而创建新的所生成的音乐。该方法可以包括以与早些时候所述的相同的方式为新的/修改的重新生成的音乐生成元数据(步骤S218)。
在实施例中,用户可能被要求支付要重新生成的先前生成的音乐的费用,即支付“再次听”先前生成的音乐的费用。在实施例中,听重新生成的音乐可能不需要用户付费。
在实施例中,用户能够购买所生成的音乐的项目,使得她可以每当她喜欢时收听所生成的音乐而无需每次都重新生成音乐。因此,在关于图13描述的过程中,可以向用户呈现购买先前生成的音乐的选项(例如,在步骤S202和步骤S204之间,或者在重新生成音乐之前,或者在重新生成的音乐被输出期间/之后)。购买所生成的音乐的项目可能意味着用户能够下载所生成的音乐的副本,该副本可以播放而不需要重新生成过程被执行。
图14是将所捕获的图像与一支所生成的音乐链接的示例步骤的流程图。在实施例中,生成音乐(步骤S300),并且用户可以使用图像捕获设备(例如,摄像机、或者包括摄像机的智能手机、或者网络摄像头等)来拍摄照片和/或记录视频,同时音乐被产生(S302)。当音乐正在被生成和输出时,用户设备可以从图像捕获设备接收所捕获的图像/视频。该方法包括生成元数据或者以其他方式在所捕获的图像和所生成的音乐之间创建链接(步骤S304)。元数据或链接可以与所生成的音乐、所捕获的图像/视频或二者相关联。
在步骤S300的音乐生成过程已经结束之后的将来的某个时刻,用户可以观看所捕获的图像/视频。所捕获的图像/视频可以显示在用户设备上(S306)。在图像/视频包括元数据或链接以将图像与所生成的音乐相关联的实施例中,该方法包括使用元数据/链接来重新生成与图像相关联的所生成的音乐。重新生成过程类似于关于图13描述的过程。该方法可以包括在用户观看图像/视频时输出重新生成的音乐(步骤S310)。
此外或可替换地,在步骤S300的音乐生成过程结束之后的将来的某个时刻,用户可以请求一支所生成的音乐被重新生成。如果所生成的音乐(其将被重新生成)包括元数据或者链接以将音乐与图像/视频相关联,则该方法可以包括使用元数据来获取相关联的图像/视频(步骤S314)并且在重新生成的音乐被输出的同时显示相关联的图像/视频(步骤S316)。
图15是获得对所生成的音乐的用户反馈的示例步骤的流程图。该方法通过使用上述任何方法生成音乐(步骤S400)来开始。当音乐生成过程已经终止时,该方法包括请求来自用户的对所生成的音乐的反馈(步骤S402)。可以通过在用户设备显示屏上显示提示或弹出窗口或者通过给用户的电子邮件或者以其他方式来请求反馈。用户可能能够紧接着在音乐产生后或在之后的一段时间提供对一支所产生的音乐的反馈。用户可能能够提供各种不同类型的反馈。例如,用户可能能够对所生成的音乐进行评级,或者指示他喜欢或不喜欢所生成的音乐的哪些特征。例如,用户可能能够指示他喜欢和声层,但是不欣赏节拍层,或者他可能能够指定他喜欢/不喜欢响应于用户数据的变化而对生成的音乐进行的特定修改。该方法包括接收反馈数据(步骤S404),并存储所接收的反馈数据(步骤S406)。反馈数据可以存储在本地,或者优选地存储与用户的账户或用户简档相关联的远程数据储存器中。
优选地,下次用户请求音乐被生成时使用反馈数据(步骤S408)。当生成音乐时,反馈数据可用于过滤音乐数据集(例如,以基于她的不喜欢来移除特定类型的节拍)。可选地,反馈数据可用于向用户呈现获得对额外“层包(layer pack)”的访问/购买额外“层包”的选项(步骤S410)。例如,如果用户指示他们欣赏特定类型的和声,则反馈数据可用于给用户访问类似类型的和声的选项。如果用户购买额外的“层包”,则用户可以访问远程数据储存器中的额外的预录的音乐项目,或者可能能够下载额外的预录的音乐项目,用于在未来的音乐生成中使用。
人工智能和机器学习技术可用于了解用户的喜欢和不喜欢,并在生成音乐时过滤音乐数据集,以提高给用户提供他们喜欢的所生成的音乐的机会。机器学习技术可以使用由用户提供的反馈数据来为每个单独的用户定制音乐生成过程,和/或可以使用由用户提供的其他“隐式”类型的反馈。隐式反馈可以由用户提供,例如,当用户在仅听了一支所生成的音乐的短时间段之后请求音乐生成过程重新开始/开始时。这可能暗示用户不喜欢这支所生成的音乐,并希望该过程重新开始。隐式反馈的另一个示例是用户放弃选择的情况。例如,在上面关于图9描述的伪随机选择过程中,如果用户丢弃了使用声调选择器54选择的声调(即,通过请求声调选择器54再次开始在声调中循环),则用户可能隐含地指示他们不喜欢原始的所选择的声调。
如上面所提到的,音乐生成过程可以使用一天中的时间作为输入来生成/创作和修改所生成/创作的音乐。例如,可以在白天期间或者当用户步行/跑步时生成具有更快的拍子的音乐,而可以在晚上或者当用户放松时生成具有更慢的拍子的音乐。然而,在夜间工作的用户可能更喜欢所生成的音乐在夜间具有更快的拍子以及在白天具有更慢的拍子。如果用户反复拒绝特定的选定节拍并且更喜欢更快/更慢的节拍拍子,则他们可能隐含地提供了关于他们的工作模式或生活方式的信息。机器学习技术可以用来理解用户的习惯、工作和锻炼模式以及他们的喜欢和不喜欢,以产生用户更可能欣赏的音乐。
如上面所提到的,音乐数据集中的每个预录的音乐项目可以包括标记或标签。标记或标签也可以被附加到音乐项目上,以指示创造、创作和/或表演该音乐项目的艺术家/音乐家。例如,由杰克·怀特表演的吉他独奏可以用“杰克·怀特”来标记,由帕特里克·斯图尔特表演的诗歌的朗读可以用“帕特里克·斯图尔特”来标记,并且由皇家爱乐乐团表演的和声音乐项目可以用“皇家爱乐乐团”或者用演奏该音乐的管弦乐团的成员的个人名字来标记。这些标签可用于特别响应于特定艺术家/音乐家的用户反馈或用户偏好(其由用户输入或通过机器学习技术确定)而过滤音乐数据集,或者向用户提供购买“层包”的选项,该“层包”包含由他们优选的艺术家/音乐家创作或演奏的更多预录的音乐项目。
标记/标签可以用作艺术家/音乐家补偿方案的一部分。例如,标记/标签可用于确定特定艺术家的音乐项目多久一次地用于生成/创作音乐并相应地补偿艺术家。
如早些时候所提到的,音乐生成过程的全部或部分可以在远程服务器上而不是在用户设备上被执行。图16显示了在音乐生成系统中生成/创作音乐的步骤的示意图,其中音乐生成过程的步骤可以分布在各种设备当中。音乐生成系统类似于图2A所示的系统30。该系统包括远程服务器28,其定位成远离用户设备10并且在实施例中可以是云计算系统的一部分。远程服务器包括(远程)数据储存器36,其存储用于在音乐生成过程中使用的可用的预录的音乐项目。远程服务器包括(远程)处理器38或处理能力,以响应于接收到的用户数据来生成/创作音乐。远程数据储存器36和远程处理器38可以位于远程服务器内,或者以其他方式作为远程服务器的一部分。在实施例中,远程数据储存器36和远程处理器38可以是耦合到远程服务器的不同实体。
为了让用户(和用户设备10)访问音乐生成服务,用户/用户设备10可能需要向音乐生成服务注册。在步骤S500,用户使用她的用户设备10向音乐生成服务发送订阅请求。用户可能只需要向音乐生成服务注册一次,而不是每用户设备注册。远程处理器38接收预订/注册请求。因为音乐生成过程使用用户数据来生成/创作音乐,所以在用户设备和远程服务器之间实现安全通信非常重要,使得用户数据是恶意的第三方不可访问的。这特别重要,因为用户数据可以包括关于用户的精确位置的实时信息以及生物统计数据等。因此,作为注册过程的一部分,远程处理器38可以生成公钥-私钥对,以使在用户设备10和远程服务器之间的通信能够被加密(步骤S502)。远程处理器38向用户设备10发送注册的确认,并且还向用户设备10传输公钥-私钥对的公钥。(私钥仅对远程服务器/远程处理器38是已知的)。用户设备10可以被配置为存储公钥,并在请求音乐被生成时使用它来加密被发送到远程服务器的所有数据。
当用户做出对所生成的音乐的请求时,音乐生成过程开始。在步骤S506,用户设备接收对所生成的音乐的请求。在实施例中,用户设备10可能需要获得用于在音乐生成过程中使用的用户数据。因此,在实施例中,用户设备可以轮询一个或更多个传感器(步骤S508)以获得用户数据。在图16中,传感器被示为外部传感器32,但是传感器可以在用户设备10本身内。在步骤S510,外部传感器32将感测到的用户数据传输回到用户设备,并且在步骤S512用户设备10接收用户数据。在步骤S512接收的用户数据可以包括从一个或更多个源(包括外部传感器32、任何内部传感器(多个内部传感器)、互联网、用户本人等)接收的用户数据。在步骤S514,用户设备10用公钥来加密接收到的用户数据,且然后在步骤S516传输加密的用户数据和对所生成的音乐的请求。用户设备10可以使用任何适当的通信协议和技术来与远程服务器通信。例如,用户设备10可以经由互联网(使用到路由器或网关的有线或无线连接)或经由移动网络或“移动web”来与远程服务器通信。
远程处理器38接收来自用户设备的传输,并使用公钥-私钥对的私钥来对用户数据解密(步骤S518)。远程处理器请求远程服务器的音乐数据集被过滤(步骤S520),并且远程数据储存器36如上所述使用用户数据来过滤音乐数据集(步骤S522)。如早些时候所述的,远程处理器38从经过滤的音乐数据集中选择一个或多个音乐项目(步骤S524)。如果多个音乐项目被选择,则在步骤S526远程处理器38组合所选择的音乐项目并生成音乐。在步骤S528,远程处理器38可以将所生成的音乐传输到用户设备10,或者可以向用户设备10指示所生成的音乐可用于从远程服务器流式传输。在实施例中,一旦处理器38已经开始生成音乐,流式传输可以自动开始。因此,用户设备10可以从远程服务器流式传输所生成的音乐,这通常需要在用户设备10和远程服务器之间的连续通信连接。
可以基于用户数据的变化来实时地修改所生成的音乐。每当检测到/接收到变化时,用户数据的变化就可以由用户设备10发送到远程服务器。可替换地,用户设备10可以定期(例如,每分钟、每几分钟、每小时)向远程服务器发送用户数据,无论用户数据是否已经改变。在这种情况下,用户设备10可以以有规律的间隔轮询任何内部传感器、外部传感器或任何其他用户数据源。
在步骤S530,外部传感器32自动地或响应于来自用户设备10的轮询/查询而向用户设备10发送已更新的用户数据。用户设备接收改变的用户数据并将该数据加密(步骤S532),且然后将改变的用户数据传输到远程处理器(步骤S534)。远程处理器38接收改变的用户数据,将该数据解密,并使用该数据来确定是否修改所生成的音乐,以及如果是,如何修改所生成的音乐。在步骤S538,以类似于步骤S528的方式将修改后的所生成的音乐提供给用户设备。
当用户终止音乐生成过程时,用户设备10可以向远程处理器38发送终止请求。作为响应,远程处理器38终止音乐生成过程,并且可以如早些时候所述地生成和存储元数据(步骤S540)。元数据可以与用户的简档/账户相关联地被存储在音乐生成服务中。
如上面所提到的,在实施例中,单元作曲可以根据用户数据而由一个或更多个模块形成。图17显示出单元作曲的部件的示意图。一般来说,单元作曲可以包括多个音乐层,例如在和声层、节拍层、独奏层和气氛层中的一个或更多个。为了简单起见,图17显示了由两个音乐层形成的单元作曲。在实施例中,单元作曲可以由选自在和声数据集、节拍数据集、独奏数据集和气氛数据集中的一个或更多个的单元组成。如图17所示,每个数据集(诸如和声数据集150)包括多个模块组152。在多个模块组152中的模块组(诸如模块组154)包括多个模块1-6。(对在模块组中的模块的数量没有限制,且模块组可以包含相同或不同数量的模块)。模块(诸如模块2)包括多个单元156。单元是具有和声和内部模式的短音乐主题或乐句,类似于固定音型。模块154内的每个单元156可以具有相同的主题,但是具有不同的声调或和弦。每个单元具有许多属性。单元属性用于选择与用户偏好或用户数据/动作相匹配的单元。例如,属性可以包括关于复杂性、构造、心情、拍子等的信息。每个单元还链接到至少一个其他单元/与至少一个其他单元格相关——与另一个单元的每个关系都在单元的属性中被定义。这种关系可以指示一个单元与另一个单元的音乐相似性或互补性,并且可以用来选择可以混合在一起的单元,以形成令人愉悦的作曲。(彼此在音乐上非常不同的单元可能导致刺耳的作曲,因为声音可能剧烈地变化)。
如图17所示,一个单元可具有在C#大调中的和声,而其他单元可以在D大调、B小调、F#大调、降B小调等中。模块组(诸如模块组154)包括密切相关的模块,即它们具有相似的特性。例如,模块组154内的模块1-6可以具有相同的谐波特性但具有不同的结构。模块组可能彼此非常不同,使得在模块组之间的切换引起单元作曲的显著变化。
为了形成单元作曲,装置(例如,用户设备10、远程服务器28或音乐制作组件302)基于用户偏好或用户数据/动作来过滤音乐数据集。该装置可以从至少一个数据集(例如和声数据集)中选择单元156,该数据集具有与用户偏好/数据实质上匹配的属性。基于第一所选择的单元与其它单元的关系来选择用于形成和声层或形成单元作曲的其它层(例如节拍层)的任何其它单元。例如,所选择的和声单元可以与同一模块内的另一和声单元相关,并且可以与其他模块或模块组中的其他单元相关,并且可以与其他数据集(例如节拍数据集)中的其他单元相关。这些关系用于选择单元以形成单元作曲。当被选择时,每个层的单元根据路径158被布置。路径158指示在单元作曲中从一个单元到另一个单元的进展。该路径可以指定在下一个单元被引入到单元作曲内之前任何单独单元是否将循环/重复。每个层的路径可以至少部分地重叠。默认地,每个单元156可以在单元作曲中循环或重复。也就是说,单元作曲可以由重复的相同单元形成。在没有用户数据的任何变化的情况下,相同的单元在该单元用单元作曲中的新单元(其来自同一模块)替换之前可以重复某个持续时间。在没有用户数据的任何变化的情况下,单元转变可以基于预定的转变规则。转变规则可以指定例如哪个单元跟随另一个单元以形成路径。因此,该装置可以根据默认路径布置多个单元,以形成单元作曲。
用户数据的变化可能引起单元作曲的变化。变化的类型和/或变化的幅度可用于确定单元作曲如何改变。例如,针对用户数据的每个变化,可以通过首先确定变化类型和变化幅度且然后响应于该确定而在应用至少一个转变规则之前识别对应于用户数据的每个变化的至少一个转变规则,来修改单元作曲。与用户数据的较小变化相比,用户数据的较大变化(例如,用户速度或心率或运动方向的较大变化)可能引起对单元作曲的较大变化。例如,当用户开始锻炼时,用户的心率将可能显著增加。这可能引起单元作曲的很大变化,例如在模块组中的变化(即和声的变化)。在模块组中的变化可能是单元作曲的最剧烈的变化。单元作曲的最小变化可以是简单地切换到模块内的新单元(即声调/和弦的变化)。例如,如果在特定持续时间过去之后没有接收到用户数据的变化,则可以实现这种类型的变化。如果用户数据的变化小且频繁,使得小且频繁的变化不引起可能听起来令人不愉快的、单元作曲的剧烈变化,那么可以实现小的变化,诸如声调/和弦的变化。例如,当用户停下来开门、停下来过马路、从办公桌上站起来步行到打印机或厨房等时,“空闲”到步行转变可能在白天期间频繁地出现。因此,一般来说,用户数据的大变化引起对单元作曲的显著/剧烈变化,反之亦然。
在实施例中,单元作曲至少由和声层形成。用户数据的变化可能引起对和声层的改变,即和声层内的单元被转变。由于在单元之间的关系,对和声层中的单元的变化可能自动引起任何其他层(例如节拍层)中的单元的变化。
单元可以是不同的长度。例如,一个和声单元可能是两个度量长,而另一个和声单元可能是三个度量长。类似地,来自不同数据集的单元可能是不同的长度,即使在它们之间存在关系。例如,两个度量长的和声单元可能与两个度量长的节拍单元和三个度量长的另外的节拍单元有关。单元可以循环/重复不同次数,例如一个和声单元可以重复一次,另一个可以重复四次。在单元长度/持续时间和重复方面的差异可能意味着,当和声单元接近于被转变到另一个和声单元时,基础节拍单元不接近于被转变。然而,当和声单元在实施例中指示在其它层中的单元的转变时,当和声单元转变时,所有单元都可以转变。
图18显示了生成单元作曲的步骤的示意图。使用第一装置和第二装置来实现图18的方法。如早些时候所解释的,例如,第一装置可以是用户设备或远程服务器,并且第二装置可以是远程服务器或音乐制作组件。在实施例中,该方法可以涉及第三装置,并且该方法的步骤可以分布在第一装置(例如远程服务器)、第二装置(例如音乐制作组件)和第三装置(例如用户设备)当中。
在图18的示例实施例中,第一装置可以是远程服务器,并且第二装置可以是音乐制作组件。在步骤S600,第一装置接收对单元作曲的请求。这可以从用户设备接收。第一装置从用户设备和/或从传感器或监测用户活动的其他设备接收用户数据(步骤S602)。第一装置响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,其中每个模块如上面所解释的那样包括多个单元(步骤S604)。第一装置从经过滤的至少一个数据集中选择至少一个模块(步骤S606)。第一装置向第二装置传输包括所选择的至少一个模块的控制信号(步骤S608)。第二装置接收控制信号(步骤S610),并且响应于控制信号根据路径来布置每个单元(步骤S612)。第二装置将单元作曲输出到第一装置或用户设备或输出到其他地方(步骤S614)。如早些时候所述的,第一装置(或第二装置)生成与单元作曲相关联的元数据。
图19显示了生成单元作曲的示例步骤的更详细的流程图。该方法开始于开始步骤S650,其可以是当用于生成单元作曲的软件应用被初始化时和/或当对单元作曲的请求被接收到时。在步骤S652,如上所解释的接收用户数据。在所示实施例中,该方法包括确定是否已经接收到“保存”命令(步骤S654)。该方法可以包括提示用户决定他们是否希望在该过程结束时保存单元作曲。例如,该方法可以包括在用户设备的显示屏上显示询问用户决定是否保存单元组合的提示。如早些时候所提到的,单元作曲本身可以不被保存,但替代地与单元作曲相关联的元数据可以被生成和保存。因此,“保存”的提示可以是保存元数据的提示。在实施例中,提示可以在单元作曲过程结束时提供给用户。此外或可替换地,该方法可以默认地保存与单元作曲相关联的元数据(并且不需要用户做出“保存”命令)。
如果在步骤S654接收到保存命令(其来自用户或来自默认设置),该方法包括在单元作曲过程结束时设置“保存”标志或其他指示符/提醒以保存元数据(步骤S656)。在步骤S656之后或者如果不需要保存,该方法包括响应于接收到的用户数据而过滤包含多个模块的至少一个数据集(步骤S658)。过滤音乐数据集(多个音乐数据集)的过程类似于关于图3的步骤S36描述的过程,且因此为了简明起见而不重复。在步骤S660,从经过滤的音乐数据集(多个经过滤的音乐数据集)中选择至少一个单元。在实施例中,从在和声、节拍和独奏数据集中的每一个中并且可选地从气氛数据集中选择一个单元。该方法包括根据路径来布置每个所选择的单元,如早些时候关于图17所解释的(步骤S662)。在步骤S664,输出单元作曲。在单元作曲在用户设备10中形成的实施例中(例如,如上面关于图1B所述的),实质上紧接在单元作曲生成之后可以通过用户设备10的音频模块24将单元作曲输出给用户。在单元作曲在远程服务器或音乐制作组件中形成的实施例中,所生成的音乐可以以任何数量的方式——包括例如流式传输或下载——(经由用户设备10)传送给用户。在实施例中,远程服务器可以通知用户设备10单元作曲已经准备好流式传输/下载,或者可替换地远程服务器可以在用户设备10处自动发起流式传输过程。
单元作曲过程可以包括响应于用户数据的变化而实时的修改单元作曲。例如,如果确定用户的心率已经改变(例如,因为他们已经从步行切换到跑步),则单元作曲的拍子可以作为响应而改变。因此,在步骤S666,该方法可以包括检查是否已经接收到用户数据的变化。该检查可以以有规律的间隔(诸如,例如每30秒、每分钟或每几分钟)被执行。有规律的间隔可以是预定义的或者可以是用户定义的(例如,基于用户活动)。例如,如果用户正在锻炼,则用户可能希望单元作曲快速适应用户的变化的心率或活动,且因此可以定义步骤S666被执行的间隔。如果没有接收到用户数据的变化,则该方法在重新检查之前等待预定义或用户定义的间隔。
如果接收到用户数据的变化,则该方法可以包括响应于用户数据的变化而修改单元作曲。在特定实施例中,用户数据的变化可能不导致单元作曲被修改。例如,如果用户的心率在特定范围(例如,变化了+/-5个节拍/分钟)内变化,则单元作曲的拍子可能不改变,以匹配心率的变化。在实施例中,该方法可以包括使用预定规则、查找表或其他数据来确定如何响应于用户数据的变化而修改单元作曲。在步骤S668,该方法包括为用户数据的每个变化来确定变化类型和变化幅度。例如,用户数据的变化可以包括用户位置的变化和用户心率的变化。心率和位置是示例变化类型。例如,可以通过将新的位置和心率与先前的位置和心率进行比较来确定变化的幅度。
在步骤S670,该过程包括响应于确定变化类型(多个类型)和幅度(多个幅度)而识别与用户数据的每个改变相对应的至少一个转变规则。在图21中显示了示例转变规则。在步骤S672,该过程包括应用至少一个转变规则。例如,如果所识别的转变规则规定模块组中的改变是需要的,则该过程可以包括过滤至少一个音乐数据集并选择新的模块组(或来自新模块组的模块)。如果所识别的转变规则规定声调或和弦的变化是需要的,则该过程可以包括在每个现有模块内(或者至少在和声模块内)选择新的单元,并且沿着新的路径布置在每个现有模块内的单元。然后输出修改的单元作曲(步骤S674)。
在实施例中,该方法包括检查是否已经接收到终止单元作曲过程的命令(步骤S676)。在实施例中,在预定时间段之后和/或如果在预定时间段内没有接收到用户数据的变化,则单元作曲过程可以自动终止。如果没有接收到“停止”或终止命令,则该方法可以包括循环返回以检查是否已经接收到用户数据的任何变化。如果接收到停止命令,则该方法可以包括检查是否已经设置了“保存”标志(步骤S678)。如果已经设置了“保存”标志,则该方法包括生成与单元作曲相关联的元数据(步骤S680)。在步骤S680之后,或者如果没有设置“保存”标志,则单元作曲过程终止(步骤S682)。
在图19中所示和上面所述的方法可以在用户设备(例如,用户设备10)中实现。此外或可替换地,该方法的特定步骤可以分布在用户设备和远程服务器之间,或者在用户设备、远程服务器和音乐制作组件之间。例如,步骤S666至S670可以由远程服务器(即,执行步骤S652至S660的装置)实现。远程服务器可以在识别出每个变化类型的转变规则之后向音乐制作组件发送修改的控制信号,修改的控制信号包括关于如何修改单元作曲的指令。如果转变规则包括改变声调/和弦,则修改的控制信号可以包括改变声调/和弦的指令(即,选择和声模块内的新单元)。如果转变规则包括切换到新模块或新模块组,则修改的控制信号可以包括新模块/模块组或识别新模块/模块组的数据。步骤S672至S674可以由音乐制作组件(即,执行步骤S662至S664的装置)来实现。
图20显示了响应于用户数据的变化(在这种情况下响应于用户速度的变化)而修改单元作曲的示例步骤的流程图。单元作曲过程实质上与关于图19描述的相同,直到步骤S666为止。在步骤S666,该过程包括确定是否已经接收到用户数据的变化。该检查可以以有规律的间隔(诸如,例如,每30秒、每分钟或每几分钟)被执行。有规律的间隔可以针对操作模式被预先定义的,或者可以是用户定义的(例如,基于用户活动)。如果接收到用户数据的变化,该过程包括确定变化类型和幅度。在这种情况下,在这个示例中,变化类型被确定为用户速度的改变。这种变化类型可以从例如GPS数据确定,或者间接地从心率数据确定。下一步是确定变化幅度并应用相应的转变规则。因此,在步骤S720,该过程可以包括确定用户是否已经从空闲状态(例如坐着/休息)转变为步行,或者反之亦然。这可以使用GPS数据、心率数据、加速度计数据等并通过将新数据与先前的用户数据进行比较来确定。如果用户数据变化的幅度指示用户从空闲转变为步行,则该过程识别对应于该变化类型和幅度的转变规则。例如,转变规则可能需要从模块中选择新的单元来实现和弦/声调改变(步骤S722)。
如果在步骤S720,用户没有被确定从空闲转变为步行,则该过程可以包括确定用户是否已经从步行转变为慢跑(S724),或者反之亦然。如果用户数据的变化的幅度指示用户从步行转变为慢跑(或者反之亦然),则该过程识别对应于该变化类型和幅度的转变规则。例如,转变规则可能需要从模块组中选择新模块来实现结构改变(步骤S726)。
如果在步骤S724,用户没有被确定从步行转变为慢跑,则该过程可以包括确定用户是否已经从空闲转变为慢跑(S728),或者反之亦然。如果用户数据的变化的幅度指示用户从空闲转变到慢跑(或者反之亦然),则该过程识别对应于该变化类型和幅度的转变规则。例如,转变规则可能需要从模块数据集(多个模块数据集)中选择新的模块组来实现和声变化(步骤S730)。
图20仅显示了可以如何基于用户数据的变化来修改单元作曲的示例。步骤S720至S730的顺序仅仅是示例性的,并且额外的或替代的步骤可以被采取来修改单元作曲。在单元作曲已经被修改(或者已经确定不需要修改)后,该过程返回到图19的步骤S674。
图21显示了示例变化类型和变化幅度的表以及示例对应的转变规则。显示了五个示例转变规则,这些规则按逐渐增加的变化幅度的顺序列出。泛泛地说,用户数据的较大变化(例如,用户速度或心率或运动方向的大变化)可能比用户数据的较小变化引起对单元作曲的更大或更剧烈的变化。例如,当用户开始锻炼时,用户的心率和/或速度可能显著增加。这可能引起单元作曲的很大变化,例如在模块组中的变化(即和声的变化)。在模块组中的变化可能是单元作曲的最剧烈的变化。单元作曲的最小变化可以是简单地切换到模块内的新单元(即声调/和弦的改变)。例如,如果在特定持续时间过去之后没有接收到用户数据的变化,则可以实现这种类型的改变。如果用户数据的变化小且频繁,使得小且频繁的变化不引起可能听起来令人不愉快的对单元作曲的剧烈变化,那么可以实现小的变化,诸如声调/和弦的变化。例如,当用户停下来开门、停下来过马路、从她的办公桌站起来步行到打印机或厨房等时,“空闲”到步行的转变可能在白天期间频繁地出现。因此,一般来说,用户数据的大变化引起单元作曲的显著/剧烈变化,反之亦然。
如表中所示的,用户的角方向的变化的不同幅度使不同的转变规则被应用。+/-5°的角变化(相对于用户的先前运动方向)可能不能保证单元作曲的任何变化。用户方向的小变化(在+/-6°且至多+/-12°之间)可能使弦移位被实现(例如,将和声模块内的单元改变为不同的和弦)。在+/-50°和+/-89°之间的用户方向的改变可能使模块改变被实现(例如,改变到现有模块组中的模块)。+/-90°或更大的用户方向的变化足以引起模块组中的变化。类似地,当确定用户接近新的感兴趣地方(例如伦敦的著名地标)时,可以实现模块组改变。例如,模块组改变可以针对所有模块组来实现,或者可以简单地针对气氛层模块组来实现。
本领域技术人员将认识到,虽然前文已经描述了被认为是最佳模式的内容和在适当的情况下的执行本技术的其他模式,但是本技术不应该局限于在优选实施例的本描述中公开的特定配置和方法。本领域中的技术人员将认识到,本技术具有宽的应用范围,并且实施例可以采用宽范围的修改,而不偏离如在所附权利要求中所定义的任何创造性概念。
在下文的一个或更多个实施例中可实现本公开的各方面:
1)一种单元作曲方法,包括:
在第一装置处:
接收对单元作曲的请求;
接收用户数据;以及
向第二装置传输包括所述请求和用户数据的控制信号;
在所述第二装置处:
从所述第一装置接收所述控制信号;
响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元;
从经过滤的至少一个数据集中选择至少一个单元;以及
响应于所述控制信号,根据路径来布置所述至少一个单元。
2)如1)所述的方法,其中,选择至少一个单元的所述步骤包括在所述第二装置处基于所述第一单元的属性来从第一经过滤的数据集中选择第一单元并且从第二经过滤的数据集中选择第二单元,所述方法还包括:
在所述第二装置处:
根据第一路径布置所述第一单元;
根据第二路径布置所述第二单元;并且
其中所述第一路径和第二路径至少部分地重叠。
3)如1)或2)所述的方法,还包括:
在所述第一装置处:
接收用户数据的至少一个变化;以及
传输修改的控制信号。
4)如3)所述的方法,其中传输修改的控制信号的所述步骤包括:
对于用户数据的每个变化,确定变化类型和变化幅度;以及
生成包括每个确定的变化类型和变化幅度的修改的控制信号。
5)如3)或4)所述的方法,还包括在所述第二装置处:
接收所述修改的控制信号;
识别对应于每个确定的变化类型和变化幅度的至少一个转变规则;以及
将所述至少一个转变规则应用于所述单元作曲。
6)如5)所述的方法,其中应用所述至少一个转变规则的所述步骤包括:
识别在所述单元作曲中的要替换的单元;
确定所识别的单元的属性;
基于所述至少一个转变规则和所识别的单元的所确定的属性来从所述经过滤的至少一个数据集内选择新单元;以及
用所选择的新单元替换在所述单元作曲中的所识别的单元。
7)一种用于单元作曲的系统,所述系统包括:
第一装置,其用于:
接收对单元作曲的请求;
接收用户数据;以及
生成包括所述请求和用户数据的控制信号;以及
第二装置,其用于:
从所述第一装置接收所述控制信号;以及
响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元;
从经过滤的至少一个数据集中选择至少一个单元;以及
生成包括所选择的至少一个单元的控制信号;以及
响应于所述控制信号,根据路径来布置所述至少一个单元。
8)一种用于创作音乐的装置,所述装置包括:
用户接口,其被配置为接收创作音乐的请求;以及
处理器,其被配置为响应于所接收的请求:
接收用户数据;
响应于接收到的用户数据而过滤包含多个预录的音乐项目的至少一个数据集;
从经过滤的至少一个数据集中选择至少一个预录的音乐项目;
使用所选择的预录的音乐项目或每个选择的预录的音乐项目来创作音乐;以及
生成与所创作的音乐相关联的元数据。
9)如8)所述的装置,其中,所述处理器被配置为:
从至少两个经过滤的数据集中选择至少两个预录的音乐项目;以及
组合所选择的预录的音乐项目来创作音乐。
10)如8)或9)所述的装置,其中,所述处理器被配置为通过下列操作来创作音乐:
修改所述选择的预录的音乐项目的或每个选择的预录的音乐项目的特征。
11)如10)所述的装置,其中,所述处理器通过修改在音高、声调、旋律、节奏、音色、形式和拍子中的至少一个来修改所述选择的预录的音乐项目的或每个选择的预录的音乐项目的特征。
12)如8)到11)中的任一项所述的装置,其中,所述至少一个数据集包括和声数据集,并且所述处理器被配置为:
响应于接收到的用户数据而过滤所述和声数据集;以及
从经过滤的和声数据集中选择所述预录的音乐项目。
13)如8)到11)中的任一项所述的装置,其中,所述至少一个数据集包括和声数据集、节拍数据集、独奏数据集和气氛数据集,并且其中所述处理器被配置为:
响应于接收到的用户数据而过滤所述和声数据集、所述节拍数据集、所述独奏数据集和所述气氛数据集;以及
从经过滤的和声数据集中选择第一预录的音乐项目;以及
从经过滤的节拍数据集、经过滤的独奏数据集和经过滤的气氛数据集中的一个或更多个中选择另外的预录的音乐项目。
14)如13)所述的装置,其中,所述处理器被配置成组合所选择的第一预录的音乐项目和所述另外的预录的音乐项目或每个另外的预录的音乐项目以创作音乐。
15)如13)或14)中的任一项所述的装置,其中,所述处理器被配置为基于所选择的第一预录的音乐项目进一步过滤所述节拍数据集、所述独奏数据集和所述气氛数据集。
16)如8)到15)中的任一项所述的装置,其中,所述处理器被配置为:
接收用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐。
17)如16)所述的装置,其中,所述处理器通过下列操作来修改所述创作的音乐:
修改所述创作的音乐的至少一个特征。
18)如16)或17)所述的装置,其中,所述处理器通过下列操作来修改所创作的音乐:
从所述至少一个数据集中选择至少一个另外的预录的音乐项目;以及
用所选择的另外的预录的音乐项目替换在所述创作的音乐中的一个预录的音乐项目。
19)如8)到18)中的任一项所述的装置,其中,所述用户数据是下列项中的一个或更多个:接收到的创作音乐的请求的时间、接收到的创作音乐的请求的日期、当创作音乐的请求被接收到时的天气条件、生物统计数据、步调、速度、行进模式、心率、位置、GPS位置和移动方向。
20)如8)到19)中的任一项所述的装置,其中,所述处理器被配置为:
接收与在步调、速度和心率中的一个或更多个相关的用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐的拍子。
21)如13)到20)中的任一项所述的装置,其中,所述处理器被配置为:
接收与在步调、速度和心率中的一个或更多个相关的用户数据的变化;
响应于用户数据的所述变化而从所述节拍数据集中选择另外的预录的音乐项目;以及
修改所述创作的音乐以合并来自所述节拍数据集中的所述另外的预录的音乐项目。
22)如8)到21)中的任一项所述的装置,其中,所述处理器被配置为:
接收与行进方向相关的用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐的声调。
23)如22)所述的装置,其中,所述处理器:
确定所述行进方向改变的角度;
从查找表中确定对应于所确定的角度的声调的预定变化;以及
将所述创作的音乐修改到所确定的预定声调。
24)如13)到23)中的任一项所述的装置,其中,所述处理器被配置为:
接收与位置相关的用户数据的变化;
响应于用户数据的所述变化而从所述气氛数据集中选择另外的预录的音乐项目;以及
修改所述创作的音乐以合并来自所述气氛数据集中的所述另外的预录的音乐项目。
25)如8)到24)中的任一项所述的装置,其中,所述处理器被配置成如果在预定时间段内没有用户数据的变化被接收到,则在所述预定时间段之后改变所创作的音乐的至少一个特征。
26)如8)到25)中的任一项所述的装置,其中,所述用户接口被配置为接收操作模式选择,并且所述处理器被配置为:
响应于所选择的操作模式而过滤包含多个预录的音乐项目的至少一个数据集。
27)如8)到26)中的任一项所述的装置,其中,所述用户接口被配置为接收对在声调、模式和变奏中的一个或更多个的选择,并且所述处理器被配置为:
响应于接收到的选择而过滤包含多个预录的音乐项目的至少一个数据集。
28)如8)到27)中的任一项所述的装置,还包括数据储存器,以存储生成的元数据。
29)如28)所述的装置,其中,所述数据储存器包含预录的音乐项目的所述至少一个数据集。
30)如8)到29)中的任一项所述的装置,还包括被配置为从外部设备接收用户数据的通信模块。
31)如30)所述的装置,其中,所述通信模块被配置为:
将用户数据传输到包括所述至少一个数据集的远程数据储存器,所述至少一个数据集包含所述预录的音乐项目;
从所述远程数据储存器接收至少一个预录的音乐项目。
32)如31)所述的装置,其中,所述通信模块被配置为:
将用户数据传输到包括所述至少一个数据集的远程数据储存器,所述至少一个数据集包含所述预录的音乐项目;
基于所述用户数据,从所述远程数据储存器接收创作的音乐。
33)如8)到32)中的任一项所述的装置,其中,所述用户接口被配置为接收关于所述创作的音乐的反馈数据。
34)如33)所述的装置,其中,所述处理器被配置为:
响应于接收到的反馈数据而过滤包含所述预录的音乐项目的所述至少一个数据集。
35)如8)到34)中的任一项所述的装置,其中,所述装置包括被配置为捕获图像的图像捕获设备,并且所述处理器被配置为:
输出所述创作的音乐;
当所述创作的音乐被输出时,确定所述图像捕获设备已经捕获图像;
在所捕获的图像和所述创作的音乐之间创建链接。
36)如8)到35)中的任一项所述的装置,其中,所述用户接口被配置为接收重放所述创作的音乐的请求,并且所述处理器被配置为:
获取与所述创作的音乐相关联的元数据;
使用所述元数据从所述至少一个数据集中获取形成所述创作的音乐的所述预录的音乐项目或每个预录的音乐项目;
使用所述元数据修改所获取的预录的音乐项目或每个获取的预录的音乐项目;以及
重新创作所述创作的音乐。
37)一种用于生成音乐的方法,所述方法包括:
接收创作音乐的请求;
接收用户数据;
响应于接收到的用户数据而过滤包含多个预录的音乐项目的至少一个数据集;
从经过滤的至少一个数据集中选择至少一个预录的音乐项目;
使用所选择的预录的音乐项目或每个选择的预录的音乐项目来生成音乐;以及
生成与所创作的音乐相关联的元数据。
38)如37)所述的方法,还包括:
从至少两个经过滤的数据集中选择至少两个预录的音乐项目;以及
组合所选择的预录的音乐项目来创作音乐。
39)如37)或38)所述的方法,其中,创作音乐的所述步骤包括:
修改所选择的预录的音乐项目或每个选择的预录的音乐项目的特征。
40)如37)到39)中的任一项所述的方法,还包括:
接收用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐的至少一个特征。
41)如37)到40)中的任一项所述的方法,还包括:
接收与行进方向相关的用户数据的变化;
确定所述行进方向改变的角度;
使用查找表来确定对应于所确定的角度的声调的预定变化;以及
将所创作的音乐修改到所确定的预定声调。
42)如37)到41)中的任一项所述的方法,还包括:
接收关于所述创作的音乐的反馈数据;
响应于接收到的反馈数据而过滤包含所述预录的音乐项目的所述至少一个数据集。
43)如37)到42)中的任一项所述的方法,还包括:
播放所述创作的音乐;
从图像捕获设备接收在所述创作的音乐被播放时捕获的图像;以及
在所述捕获的图像和所述创作的音乐之间创建链接。
44)一种非暂态数据载体,所述非暂态数据载体携带用于实现1)至7)或37)至43)中的任一项的方法的处理器控制代码。
45)一种用于生成音乐的系统,所述系统包括:
远程数据储存器,其包括包含多个预录的音乐项目的至少一个数据集;以及
装置,其包括:
用户接口,其被配置为接收创作音乐的请求;
处理器;以及
通信模块,其耦合到所述处理器以:
接收用户数据;
将接收到的用户数据与创作音乐的请求一起传输到所述远程数据储存器;并且
其中,所述处理器被配置为生成与所创作的音乐相关联的元数据。
46)如45)所述的系统,其中,所述远程数据储存器被配置为:
响应于所接收的用户数据而过滤包含所述预录的音乐项目的所述至少一个数据集;以及
从经过滤的至少一个数据集中选择至少一个预录的音乐项目。
47)如46)所述的系统,其中,所述远程数据储存器被配置为将所选择的至少一个预录的音乐项目传输到所述装置的通信模块,并且其中所述处理器被配置为使用所选择的至少一个预录的音乐项目来创作音乐。
48)如45)或46)之一所述的系统,还包括远程处理器,所述远程处理器被配置为:
从所述远程数据储存器接收所选择的至少一个预录的音乐项目;
使用所选择的预录的音乐项目或每个选择的预录的音乐项目来创作音乐;以及
将所创作的音乐传输到所述装置的通信模块。
49)如48)所述的系统,其中,所述远程处理器被配置为:
从所述远程数据储存器接收至少两个所选择的预录的音乐项目;以及
组合所接收的预录的音乐项目以创作音乐。
50)如48)或49)所述的系统,其中,所述远程处理器被配置成通过下列操作来创作音乐:
修改所选择的预录的音乐项目的或每个选择的预录的音乐项目的特征。
51)如48)到50)中的任一项所述的系统,其中,所述远程数据储存器包括和声数据集、节拍数据集、独奏数据集和气氛数据集,并且其中所述远程处理器被配置为:
响应于所接收的用户数据而过滤所述和声数据集、所述节拍数据集、所述独奏数据集和所述气氛数据集;以及
从经过滤的和声数据集中选择第一预录的音乐项目;以及
从在经过滤的节拍数据集、经过滤的独奏数据集和经过滤的气氛数据集中的一个或更多个中选择另外的预录的音乐项目。
52)如48)到51)中的任一项所述的系统,其中,所述通信模块被配置为:
接收用户数据的变化;以及
将接收到的用户数据的变化传输到所述远程处理器;并且
其中,所述远程处理器被配置为:
响应于用户数据的所述变化而修改所述创作的音乐;以及
将修改后的创作的音乐传输到所述通信模块。
53)如45)到52)中的任一项所述的系统,还包括至少一个传感器,以感测用户数据。
54)如53)所述的系统,其中,所述至少一个传感器被包含在所述装置内。
55)如53)或54)所述的系统,其中,所述至少一个传感器被配置成感测在生物统计数据、步调、速度、心率、位置、GPS位置和移动方向中的一个或更多个。
56)如52)到55)中的任一项所述的系统,其中,所述远程处理器被配置为:
接收与在步调、速度和心率中的一个或更多个相关的用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐的拍子。
Claims (16)
1.一种单元作曲方法,包括:
在第一装置处:
接收包括用户数据的控制信号;
响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元,每个单元包括音乐项目;
响应于接收到的用户数据,从经过滤的至少一个数据集中选择至少一个单元;以及
根据路径来布置所述至少一个单元,所述路径指示在所述单元作曲中从一个单元到另一个单元的进展;
还包括在所述第一装置处:
接收修改的控制信号,所述修改的控制信号包括用户数据的至少一个变化;
识别对应于用户数据中所述至少一个变化中的每个变化的变化类型和变化幅度的至少一个转变规则;以及
将所述至少一个转变规则应用于所述单元作曲。
2.如权利要求1所述的方法,其中,选择所述至少一个单元包括在所述第一装置处,至少部分地基于所述至少一个单元的属性来从第一经过滤的数据集中选择第一单元并且从第二经过滤的数据集中选择第二单元,所述方法还包括:
在所述第一装置处:
根据第一路径布置所述第一单元;
根据第二路径布置所述第二单元;并且
所述第一路径和第二路径至少部分地重叠。
3.如权利要求1所述的方法,还包括:
在第二装置处:
接收所述用户数据的至少一个变化;以及
传输所述修改的控制信号。
4.如权利要求3所述的方法,其中在传输所述修改的控制信号之前,还包括:
在所述第二装置处,对于用户数据的每个变化,确定所述变化类型和变化幅度,其中所述修改的控制信号包括每个确定的变化类型和变化幅度。
5.如权利要求1所述的方法,其中应用所述至少一个转变规则包括:
识别在所述单元作曲中的要替换的单元;
确定所识别的单元的属性;
至少部分地基于所述转变规则和所述单元的所确定的属性来从所述至少一个数据集内选择新单元;以及
用所选择的新单元替换在所述单元作曲中的所识别的单元。
6.一种用于单元作曲的系统,所述系统包括:
第一装置,其配置为:
接收包括用户数据的控制信号;
响应于接收到的用户数据而过滤包含多个模块的至少一个数据集,每个模块包括多个单元,每个单元包括音乐项目;
响应于所述用户数据,从经过滤的至少一个数据集中选择至少一个单元;以及
根据路径来布置所述至少一个单元,所述路径指示在所述单元作曲中从一个单元到另一个单元的进展
其中,所述第一装置还配置为:
接收修改的控制信号,所述修改的控制信号包括用户数据的至少一个变化;
识别对应于用户数据中所述至少一个变化中的每个变化的变化类型和变化幅度的至少一个转变规则;以及
将所述至少一个转变规则应用于所述单元作曲。
7.一种用于创作音乐的装置,所述装置包括:
用户接口,其被配置为接收创作音乐的请求;以及
处理器,其被配置为响应于所接收的请求:
接收用户数据;
响应于接收到的用户数据而过滤包含多个预录的音乐项目的多个数据集,以生成多个经过滤的数据集,所述多个数据集包括和声数据集、节拍数据集、独奏数据集和气氛数据集,所述经过滤的数据集包括经过滤的和声数据集、经过滤的节拍数据集、经过滤的独奏数据集和经过滤的气氛数据集;
响应于接收到的用户数据,从经过滤的和声数据集中选择第一预录的音乐项目;
从经过滤的节拍数据集、经过滤的独奏数据集和经过滤的气氛数据集中选择另外的预录的音乐项目;
使用所选择的预录的音乐项目来创作音乐;以及
生成与所创作的音乐相关联的元数据;
其中,所述处理器被配置为基于所选择的第一预录的音乐项目过滤所述节拍数据集、所述独奏数据集和所述气氛数据集。
8.如权利要求7所述的装置,其中,所述处理器被配置为:
从至少三个经过滤的数据集中选择至少两个预录的音乐项目;以及
组合所选择的预录的音乐项目来创作音乐。
9.如权利要求7所述的装置,其中,所述处理器被配置为通过下列操作来创作音乐:
修改一个或多个所选择的预录的音乐项目的特征。
10.如权利要求9所述的装置,其中,所述处理器通过修改在音高、声调、旋律、节奏、音色、形式和拍子中的至少一个来修改一个或多个所选择的预录的音乐项目的或每个选择的预录的音乐项目的特征。
11.如权利要求7所述的装置,其中,所述处理器被配置成组合所选择的第一预录的音乐项目和所述另外的预录的音乐项目以创作音乐。
12.如权利要求7所述的装置,其中,所述处理器被配置为:
接收用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐。
13.如权利要求12所述的装置,其中,所述处理器通过下列操作来修改所述创作的音乐:
修改所述创作的音乐的至少一个特征。
14.如权利要求7所述的装置,其中,所述处理器通过下列操作来修改所创作的音乐:
从所述多个数据集中选择至少一个另外的预录的音乐项目;以及
用所选择的另外的预录的音乐项目替换在所述创作的音乐中的一个预录的音乐项目。
15.如权利要求7所述的装置,其中,所述用户数据是下列项中的一个或更多个:接收到的创作音乐的请求的时间、接收到的创作音乐的请求的日期、当创作音乐的请求被接收到时的天气条件、生物统计数据、步调、速度、行进模式、心率、位置、GPS位置和移动方向。
16.如权利要求7所述的装置,其中,所述处理器被配置为:
接收与在步调、速度和心率中的一个或更多个相关的用户数据的变化;以及
响应于用户数据的所述变化而修改所述创作的音乐的拍子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211402711.2A CN115762451A (zh) | 2016-06-30 | 2017-06-30 | 用于单元作曲的装置和方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1611453.0A GB2551807B (en) | 2016-06-30 | 2016-06-30 | Apparatus and methods to generate music |
GB1611453.0 | 2016-06-30 | ||
PCT/GB2017/051928 WO2018002650A1 (en) | 2016-06-30 | 2017-06-30 | Apparatus and methods for cellular compositions |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211402711.2A Division CN115762451A (zh) | 2016-06-30 | 2017-06-30 | 用于单元作曲的装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109643533A CN109643533A (zh) | 2019-04-16 |
CN109643533B true CN109643533B (zh) | 2022-11-08 |
Family
ID=56891126
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211402711.2A Pending CN115762451A (zh) | 2016-06-30 | 2017-06-30 | 用于单元作曲的装置和方法 |
CN201780052139.2A Active CN109643533B (zh) | 2016-06-30 | 2017-06-30 | 用于单元作曲的装置和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211402711.2A Pending CN115762451A (zh) | 2016-06-30 | 2017-06-30 | 用于单元作曲的装置和方法 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10839780B2 (zh) |
EP (2) | EP3479372B1 (zh) |
CN (2) | CN115762451A (zh) |
GB (1) | GB2551807B (zh) |
WO (1) | WO2018002650A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2866585C (en) * | 2012-03-06 | 2021-02-23 | Sirius Xm Radio Inc. | Systems and methods for audio attribute mapping |
IES86526B2 (en) | 2013-04-09 | 2015-04-08 | Score Music Interactive Ltd | A system and method for generating an audio file |
GB2551807B (en) * | 2016-06-30 | 2022-07-13 | Lifescore Ltd | Apparatus and methods to generate music |
US10205709B2 (en) * | 2016-12-14 | 2019-02-12 | Visa International Service Association | Key pair infrastructure for secure messaging |
GB201721061D0 (en) * | 2017-12-15 | 2018-01-31 | Pob Enterprises Ltd | System for processing music |
US10424280B1 (en) | 2018-03-15 | 2019-09-24 | Score Music Productions Limited | Method and system for generating an audio or midi output file using a harmonic chord map |
CN110555126B (zh) | 2018-06-01 | 2023-06-27 | 微软技术许可有限责任公司 | 旋律的自动生成 |
KR102269591B1 (ko) * | 2018-10-26 | 2021-06-24 | 주식회사 크리에이티브마인드 | 자동작곡장치 및 그 방법 |
KR102240871B1 (ko) * | 2019-04-23 | 2021-04-16 | 주식회사 크리에이티브마인드 | 장난감 사용자의 감정에 따른 음악 생성 방법 및 그 장치 |
KR102240872B1 (ko) * | 2019-04-23 | 2021-04-16 | 주식회사 크리에이티브마인드 | 주변 환경 기반의 자동 작곡 방법 및 그 장치 |
US11232773B2 (en) * | 2019-05-07 | 2022-01-25 | Bellevue Investments Gmbh & Co. Kgaa | Method and system for AI controlled loop based song construction |
GB2602118A (en) * | 2020-12-18 | 2022-06-22 | Scored Tech Inc | Generating and mixing audio arrangements |
CN113793581B (zh) * | 2021-09-16 | 2024-02-20 | 上海渐华科技发展有限公司 | 一种基于运动检测辅助识别的打击乐智能教育系统 |
WO2023217352A1 (en) * | 2022-05-09 | 2023-11-16 | Algoriddim Gmbh | Reactive dj system for the playback and manipulation of music based on energy levels and musical features |
US20240127776A1 (en) * | 2022-10-14 | 2024-04-18 | Aimi Inc. | Dynamic control of generative music composition |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101496094A (zh) * | 2006-07-31 | 2009-07-29 | 惠普开发有限公司 | 浏览音乐的方法和系统 |
CN104391980A (zh) * | 2014-12-08 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 生成歌曲的方法和装置 |
Family Cites Families (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5693902A (en) * | 1995-09-22 | 1997-12-02 | Sonic Desktop Software | Audio block sequence compiler for generating prescribed duration audio sequences |
US6230047B1 (en) * | 1998-10-15 | 2001-05-08 | Mchugh David | Musical listening apparatus with pulse-triggered rhythm |
FR2827069A1 (fr) * | 2001-07-03 | 2003-01-10 | Thomson Multimedia Sa | Dispositifs et procede de production de musique en fonction de parametres physiologiques |
US7054672B2 (en) * | 2002-12-02 | 2006-05-30 | Improvista Interactive Music, Inc. | Incoming-call signaling melody data transmitting apparatus, method therefor, and system therefor |
US7521623B2 (en) * | 2004-11-24 | 2009-04-21 | Apple Inc. | Music synchronization arrangement |
JP4188138B2 (ja) * | 2003-05-15 | 2008-11-26 | 株式会社第一興商 | 指定された楽曲の演奏期間中の指定された一部区間の映像を指定された映像に差し替えるカラオケ装置の映像システム |
WO2005057821A2 (en) | 2003-12-03 | 2005-06-23 | Christopher Hewitt | Method, software and apparatus for creating audio compositions |
US7179980B2 (en) * | 2003-12-12 | 2007-02-20 | Nokia Corporation | Automatic extraction of musical portions of an audio stream |
EP1846916A4 (en) * | 2004-10-12 | 2011-01-19 | Medialab Solutions Llc | SYSTEMS AND METHODS FOR REMOVE MUSIC |
US7734569B2 (en) * | 2005-02-03 | 2010-06-08 | Strands, Inc. | Recommender system for identifying a new set of media items responsive to an input set of media items and knowledge base metrics |
JP4622829B2 (ja) * | 2005-11-29 | 2011-02-02 | 日本ビクター株式会社 | 楽曲検索再生装置、楽曲検索再生方法、印象語設定プログラム |
US7884275B2 (en) * | 2006-01-20 | 2011-02-08 | Take-Two Interactive Software, Inc. | Music creator for a client-server environment |
JP2007280581A (ja) * | 2006-04-12 | 2007-10-25 | Sony Corp | コンテンツ検索選択方法、コンテンツ再生装置および検索サーバ |
US8189797B1 (en) * | 2006-10-20 | 2012-05-29 | Adobe Systems Incorporated | Visual representation of audio data |
EP2043087A1 (en) | 2007-09-19 | 2009-04-01 | Sony Corporation | Method and device for content recommendation |
JP5228432B2 (ja) * | 2007-10-10 | 2013-07-03 | ヤマハ株式会社 | 素片検索装置およびプログラム |
US8094891B2 (en) * | 2007-11-01 | 2012-01-10 | Sony Ericsson Mobile Communications Ab | Generating music playlist based on facial expression |
US7886045B2 (en) * | 2007-12-26 | 2011-02-08 | International Business Machines Corporation | Media playlist construction for virtual environments |
US8779268B2 (en) * | 2009-06-01 | 2014-07-15 | Music Mastermind, Inc. | System and method for producing a more harmonious musical accompaniment |
US9432790B2 (en) * | 2009-10-05 | 2016-08-30 | Microsoft Technology Licensing, Llc | Real-time sound propagation for dynamic sources |
US9053695B2 (en) * | 2010-03-04 | 2015-06-09 | Avid Technology, Inc. | Identifying musical elements with similar rhythms |
JP5842545B2 (ja) * | 2011-03-02 | 2016-01-13 | ヤマハ株式会社 | 発音制御装置、発音制御システム、プログラム及び発音制御方法 |
GB201109731D0 (en) * | 2011-06-10 | 2011-07-27 | System Ltd X | Method and system for analysing audio tracks |
WO2014008209A1 (en) * | 2012-07-02 | 2014-01-09 | eScoreMusic, Inc. | Systems and methods for music display, collaboration and annotation |
US9459828B2 (en) * | 2012-07-16 | 2016-10-04 | Brian K. ALES | Musically contextual audio advertisements |
US9235198B2 (en) * | 2012-10-25 | 2016-01-12 | International Business Machines Corporation | System and method for using biometrics to predict and select music preferences |
US9183849B2 (en) * | 2012-12-21 | 2015-11-10 | The Nielsen Company (Us), Llc | Audio matching with semantic audio recognition and report generation |
US9195649B2 (en) * | 2012-12-21 | 2015-11-24 | The Nielsen Company (Us), Llc | Audio processing techniques for semantic audio recognition and report generation |
US9595932B2 (en) * | 2013-03-05 | 2017-03-14 | Nike, Inc. | Adaptive music playback system |
US8927846B2 (en) * | 2013-03-15 | 2015-01-06 | Exomens | System and method for analysis and creation of music |
US9454604B2 (en) * | 2013-03-15 | 2016-09-27 | Futurewei Technologies, Inc. | Motion-based music recommendation for mobile devices |
US20140338516A1 (en) * | 2013-05-19 | 2014-11-20 | Michael J. Andri | State driven media playback rate augmentation and pitch maintenance |
US9012754B2 (en) * | 2013-07-13 | 2015-04-21 | Apple Inc. | System and method for generating a rhythmic accompaniment for a musical performance |
US9251773B2 (en) * | 2013-07-13 | 2016-02-02 | Apple Inc. | System and method for determining an accent pattern for a musical performance |
US20160292270A1 (en) * | 2013-12-27 | 2016-10-06 | Intel Corporation | Tracking heart rate for music selection |
US20150258301A1 (en) * | 2014-03-14 | 2015-09-17 | Aliphcom | Sleep state management by selecting and presenting audio content |
WO2015154159A1 (en) * | 2014-04-10 | 2015-10-15 | Vesprini Mark | Systems and methods for musical analysis and determining compatibility in audio production |
US9536560B2 (en) * | 2015-05-19 | 2017-01-03 | Spotify Ab | Cadence determination and media content selection |
US9570059B2 (en) * | 2015-05-19 | 2017-02-14 | Spotify Ab | Cadence-based selection, playback, and transition between song versions |
US20160379611A1 (en) * | 2015-06-23 | 2016-12-29 | Medialab Solutions Corp. | Systems and Method for Music Remixing |
US9640158B1 (en) * | 2016-01-19 | 2017-05-02 | Apple Inc. | Dynamic music authoring |
GB2551807B (en) * | 2016-06-30 | 2022-07-13 | Lifescore Ltd | Apparatus and methods to generate music |
US10529320B2 (en) * | 2016-12-21 | 2020-01-07 | Google Llc | Complex evolution recurrent neural networks |
WO2019000054A1 (en) * | 2017-06-29 | 2019-01-03 | Virtual Voices Pty Ltd | SYSTEMS, METHODS, AND APPLICATIONS FOR MODULATING AUDIBLE PERFORMANCE |
WO2019040524A1 (en) * | 2017-08-21 | 2019-02-28 | Muvik Labs, Llc | METHOD AND SYSTEM FOR MUSIC COMMUNICATION |
-
2016
- 2016-06-30 GB GB1611453.0A patent/GB2551807B/en active Active
-
2017
- 2017-06-30 CN CN202211402711.2A patent/CN115762451A/zh active Pending
- 2017-06-30 EP EP17736738.0A patent/EP3479372B1/en active Active
- 2017-06-30 US US16/313,499 patent/US10839780B2/en active Active
- 2017-06-30 EP EP22156503.9A patent/EP4020459A1/en active Pending
- 2017-06-30 CN CN201780052139.2A patent/CN109643533B/zh active Active
- 2017-06-30 WO PCT/GB2017/051928 patent/WO2018002650A1/en unknown
-
2019
- 2019-12-23 US US16/724,816 patent/US11195502B2/en active Active
-
2021
- 2021-12-06 US US17/542,850 patent/US11881195B2/en active Active
-
2023
- 2023-12-20 US US18/390,497 patent/US20240203386A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101496094A (zh) * | 2006-07-31 | 2009-07-29 | 惠普开发有限公司 | 浏览音乐的方法和系统 |
CN104391980A (zh) * | 2014-12-08 | 2015-03-04 | 百度在线网络技术(北京)有限公司 | 生成歌曲的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018002650A1 (en) | 2018-01-04 |
US11881195B2 (en) | 2024-01-23 |
US20240203386A1 (en) | 2024-06-20 |
GB201611453D0 (en) | 2016-08-17 |
US11195502B2 (en) | 2021-12-07 |
US20220157283A1 (en) | 2022-05-19 |
EP3479372A1 (en) | 2019-05-08 |
US20200126524A1 (en) | 2020-04-23 |
EP3479372B1 (en) | 2022-02-16 |
US20190164528A1 (en) | 2019-05-30 |
CN115762451A (zh) | 2023-03-07 |
GB2551807B (en) | 2022-07-13 |
GB2551807A (en) | 2018-01-03 |
CN109643533A (zh) | 2019-04-16 |
EP4020459A1 (en) | 2022-06-29 |
US10839780B2 (en) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109643533B (zh) | 用于单元作曲的装置和方法 | |
Overholt et al. | Advancements in actuated musical instruments | |
JP2005526264A (ja) | 楽器装置及び方法 | |
Collins | Live electronic music. | |
JP2004086189A (ja) | 楽曲検索システム | |
JP5771498B2 (ja) | 楽曲再生システム、装置及び楽曲再生方法 | |
JP5967564B2 (ja) | 電子オルゴール | |
JP6596843B2 (ja) | 楽曲生成装置および楽曲生成方法 | |
CN105976802A (zh) | 基于机器学习技术的音乐自动生成系统 | |
CN104822094A (zh) | 复合节拍特效系统及复合节拍特效处理方法 | |
JP6352164B2 (ja) | 聴取者評価を考慮したカラオケ採点システム | |
Nymoen et al. | Self-awareness in active music systems | |
JP2006154777A (ja) | 音楽生成システム | |
CN112912951A (zh) | 表示动作的数据的信息处理装置 | |
JP5941811B2 (ja) | プログラム、楽曲出力方法及び楽曲出力システム | |
WO2023139883A1 (ja) | 信号処理装置、及び信号処理方法 | |
KR102033720B1 (ko) | 분위기 컨트롤이 가능한 음원 믹싱 방법 및 시스템 | |
JP2006106411A (ja) | 音出力制御装置、楽曲再生装置、音出力制御方法、そのプログラム、および、そのプログラムを記録した記録媒体 | |
Martin | Mobile computer music for percussionists | |
JP6611633B2 (ja) | カラオケシステム用サーバ | |
Jadinon | LEO PALAYENG: BRIDGING THE GAP FROM TRADITIONAL TO ELECTRONIC ACHOLI MUSIC | |
Bardin | Cyberinet: Integrated Semi-Modular Sensors for the Computer-Augmented Clarinet | |
Thelle | Making sensors make sense: challenges in the development of digital musical instruments | |
JP2013231944A (ja) | 歌唱支援装置 | |
JP2022003382A (ja) | リズム把握支援システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |