首页> 中国专利> 用于增强音频、使音频输入相符于音乐音调以及创作用于音频输入的和声音轨的系统和方法

用于增强音频、使音频输入相符于音乐音调以及创作用于音频输入的和声音轨的系统和方法

摘要

音频的增强包括与音频输入一同接收约束参数,并且确定被约束的音频输入。基于被约束的音频输入音轨来操纵另一音频输入音轨,并且组合音频音轨。还公开了使音频相符于音乐音调。音频输入的两个音符之间的音程被确定,并且对应于音符的第二个的音符基于音乐音调和音程而被选择。音频输入的每个音符对之间的音程被求和,并且每个音符被评分。选择最佳匹配音符。音频输入的第二音符被相符成最佳匹配音符的频率。创作和声音轨包括接收音频输入,并且和声音轨被创作。将和声音轨中的每一个进行变调。基于和弦严格度阈值来操纵单独音符,并且提供音频输出。

著录项

  • 公开/公告号CN106233245A

    专利类型发明专利

  • 公开/公告日2016-12-14

    原文格式PDF

  • 申请/专利权人 音乐策划公司;

    申请/专利号CN201480071808.7

  • 申请日2014-10-29

  • 分类号G06F3/16(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人闫小龙;王传道

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 01:08:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-27

    授权

    授权

  • 2017-01-11

    实质审查的生效 IPC(主分类):G06F3/16 申请日:20141029

    实质审查的生效

  • 2016-12-14

    公开

    公开

说明书

本申请是全部都在2011年7月29日提交的美国专利申请序列号13/194,806;13/194,816;和13/194,819的部分连续案,这三个申请全部都是2010年6月1日提交的美国专利申请号12/791,792、2010年6月1日提交的美国专利申请号12/791,798(2012年12月25日公布的专利号8,338,686);2010年6月1日提交的美国专利申请号12/791,803和2010年6月1日提交的美国专利申请号12/791,807(2013年7月23日公布的专利号8,492,634)的部分连续案。美国专利申请号12/791,792;12/791,798;12/791,803和12/791,807的每一个都要求对于2009年6月1日提交的美国临时专利申请号61/182,982、2009年10月2日提交的美国临时专利申请号61/248,238;以及2009年12月3日提交的美国临时专利申请号61/266,472的优先权。

技术领域

本发明大体涉及音乐创作,并且更特定地,涉及一种用于产生更和声的音乐伴奏的系统和方法。

背景技术

音乐是广受好评、众所周知的人类自我表达的形式。然而,一个人对于这种艺术努力的直接领会可能会以不同方式导出。通常,人可以通过听其他人的创作而更容易地欣赏音乐,而不是通过由他自己或者她自己生成音乐。对于许多人而言,听和识别吸引人的音乐作品的能力是天生的,但是手动地创作合适的音符集的能力还尚不可及。人创作新音乐的能力可能会被时间、金钱和/或将乐器学得足够好以便随意地准确再现声调所必需的技巧所约束。对于大多数人而言,其自身的想象力可能是新音乐的源泉,但是其哼唱或者喃喃地唱这首相同的声调的能力限制了其声调可以为了让其他人欣赏而被正式地保存和再创作的程度。

对伴奏音乐家的表演进行录音也可能是费力的过程。相同材料的多次实录(take)被录音,并且煞费苦心地进行审查,直到单次实录可以以所有不完美之处都被消除的方式被集合。好的实录通常要求有天分的艺术家受到另一人相应地调整他的或者她的表演的指导。在业余录音的情况下,最好的实录通常是好运的结果,并且因此不可重复。多半情况下,业余表演者会产生具有好的部分和坏的部分两者的实录。如果歌曲将在不必小心翼翼地分析每个实录的每个部分的情况下构建的话,录音过程将简单和有趣得多。因此,关于这些考虑和其他方面,做出本发明。

而且,人期望创作的音乐可能是复杂的。例如,所设想的声调可能具有多于一种乐器,其可以与其他乐器以潜在安排一同演奏。这种复杂性进一步补充了对于独立人而言生成所期望的声音组合所要求的时间、技巧和/或金钱。大多数音乐乐器的物理配置还需要人的充分的物理注意来手动生成音符,进一步要求附加人员演奏所期望声调的附加部分。附加地,额外复习和管理然后可能是必需的,以确保与各种所涉及乐器和所期望声调元素的适当交互。

即便对于已经享受于创作其自己的音乐的人们而言,那些听众可能缺少如下类型的专业技术,即:使得能够进行适当的作曲和音乐创作。因此,所创作的音乐可能包含不在相同乐调或者和弦内的音符。在大多数音乐风格中,走调或者和弦走调(off-chord)的音符的存在通常被称为是“不和声的”音符,导致音乐不令人愉悦并且刺耳。因此,由于他们缺少经验和训练,音乐听众通常会创作出听起来不合期望和不专业的音乐。

对于一些人而言,艺术灵感不被相同的时间和位置限制所束缚,所述时间和位置限制典型地与新音乐的生成和录音相关联。例如,某个人对于新声调的想法具体化时,可能不在制作工作室(production studio)中,并且手边有可演奏的乐器。在灵感过去之后,这个人可能不能回忆起完整程度的原始声调,从而导致艺术成就的丢失。而且,这个人可能会对用于再创作的时间和成就不过只是他的或者她的初始的音乐启示的劣等和不完整版本而感到挫败。

目前,专业音乐作曲和编辑软件工具一般是可用的。然而,这些工具对新手用户制造了令人生畏的障碍。这样的复杂用户界面可能会很快使得任何勇于在其艺术幻想的道路上冒险的初学者的热情衰减。被束缚到一整套专业音频服务器也约束了想要在活动中制出声调的移动创新的风格。

所需要的是一种可以容易地与用户的最基本能力对接并且使得能够进行与用户的想象力和预期一样复杂的音乐创作的音乐创作系统和方法。还存在一种对于促进音乐创作免于不和声的音符影响的相关联需要。附加地,在本技术领域中存在一种对于可以通过基于自动选择准则来聚集多个实录部分的音乐编制音轨(track)的音乐著作系统。还合期望的是,这样的系统进一步以当灵感发生时不被用户位置限制的方式来实施,因而使得能够捕获新音乐作曲的第一表达。

在本领域中存在对于如下的一种系统和方法的相关联需要,即:所述系统和方法可以通过自动评估经由电子著作系统所录音的之前录音的音轨的质量并且选择之前录音的音轨中的最好音轨来从多个实录中创作编制音轨。

还合期望的是,实施一种用于基于云中的音乐创作系统和方法,借此,处理密集型的功能由远离客户端设备的服务器来实施。然而,因为数码音乐创作依赖于大量数据,所以这样的配置一般由几个因素所限制。对于提供商而言,处理、存储和提供这样的大量数据可能是占优势的,除非中央处理器是极其强大的,并且从成本和等待时间的角度来看,是昂贵的。考虑到用于存储和发送数据的当前成本,数据从呈现服务器到客户端的传输可以迅速变得成本高昂(cost prohibitive)并且还可能加上不合期望的等待时间。从客户端的角度来看,带宽限制也可能会导致显著的等待时间问题,其减损了用户体验。因此,在本领域还存在一种对于可以解决和克服这些缺点的系统的需要。

发明内容

所公开的主题涉及针对音频输入而创作和声音轨。该方法包括接收音频输入,基于所接收的音频输入而创作多个和声音轨,并且基于针对多个和声音轨的每个相应音轨的变调值将多个和声音轨的每一个音轨进行变调(transpose)。该方法进一步包括基于和弦严格度(strictness)阈值来操纵多个和声音轨的每一个音轨的各个音符,并且基于音频输入和所操纵的多个和声音轨来提供音频输出。

所公开的主题进一步涉及一种用于针对音频输入创作和声音轨的系统。该系统包括一个或者多个处理器以及存储器,所述存储器包含处理器可执行指令,所述指令当被一个或者多个处理器执行时,使得系统接收音频输入,并且基于所接收的音频输入创作多个和声音轨。该系统还基于所接收的音频输入创作多个和声音轨,基于针对多个和声音轨的每个相应音轨的变调值将多个和声音轨的每一个音轨进行变调,并且基于和弦严格度阈值来操纵多个和声音轨的每一个音轨的各个音符。该系统进一步基于多个音轨的每个音轨的增益值来调整多个和声音轨的每个音轨的增益,并且基于音频输入和所操纵的多个和声音轨来提供音频输出。

所公开的主题还涉及一种机器可执行存储介质,其包括用于使得处理器执行一种针对音频输入创作和声音轨的方法的机器可读指令。该方法包括接收音频输入,基于所接收的音频输入创作多个和声音轨,并且基于针对多个和声音轨中的每个相应音轨的变调值来选择多个和声音轨中的每个音轨。该方法还包括基于和弦严格度阈值来操纵多个和声音轨的每一个音轨的各个音符,基于多个音轨的每个音轨的增益值来调整多个和声音轨的每个音轨的增益,以及基于节奏倍数来调整多个和声音轨中的每一个音轨的速度,其中,节奏倍数基于音频输入的对应音符的节奏和持续时间而成比例地增大或者减小多个和声音轨的每个音符的数目和持续时间。该方法进一步包括基于音频输入和所操纵的多个和声音轨来提供音频输出。

附图说明

参考以下附图描述了非限制性并且非排他性的实施例。在附图中,除非以其他方式另有规定,否则贯穿所有的各附图,相同附图标记指代相同的部分。

为了更好理解本公开内容,将做出对以下详细描述的引用,与附图相关联地阅读所述详细描述,其中:

图1A、1B和1C图示了其中可以实践本发明方面的系统的几个实施例。

图2是图1的系统的音频转换器140的潜在组件的一个实施例的框图。

图3图示了用于音乐编制的进程的一个示例性实施例。

图4是图2的系统的音轨分割器204的潜在组件的一个实施例的框图。

图5是图示了具有基本频率和多个谐波的音频输入的频率分布的示例性频谱图。

图6是图示了人类话音的音高(pitch)在第一和第二音高之间改变并且随后停留在第二音高附近的示例性音高对时间图。

图7是被描绘为随时间的音高事件的形态(morphology)的示例性实施例,每个音高事件具有离散的持续时间。

图8是图示了在本发明的一个实施例中的数据文件内容的框图。

图9是图示了一种用于在连续循环录音时间(recording session)内生成音乐音轨的方法的一个实施例的流程图。

图10、10A和10B一同形成了用于在连续循环录音时间内生成音乐音轨的一个潜在用户界面的图示。

图11是用于校准录音时间的一个潜在用户界面的图示。

图12A、12B和12C一同图示了与三个分开的时间段处的连续循环录音时间内的音乐音轨的生成相关联的第二潜在用户界面。

图13A、13B和13C一同图示了用于使用图12的用户界面修改到系统中的音乐音轨输入的用户界面的一个潜在使用。

图14A、14B和14C一同图示了用于在三个分开的时间段处创作节奏音轨的一个潜在用户界面。

图15是图1的系统的MTAC模块144的潜在组件的一个实施例的框图。

图16是图示了用于确定由音频输入中的一个或者多个音符反映的音乐音调的一个潜在过程的流程图。

图16A图示了可以用来较好地确定音调符号的音程简档矩阵。

图16B和16C分别图示了连同音程简档矩阵使用来提供优选的音调符号确定的小调和小调音程简档矩阵。

图17、17A和17B一同形成了图示用于基于和弦顺序约束来对音乐音轨部分进行评分(score)的一个潜在过程的流程图。

图18图示了用于确定形态的形心(centroid)的过程的一个实施例。

图19图示了在具有阻尼响应、过阻尼响应和欠阻尼响应的时间内的谐波振荡器的阶跃响应。

图20图示了示出用于对音乐输入部分进行评分的一个实施例的逻辑流程图。

图21图示了用于从多个录音音轨中对“最佳”音轨进行作曲的过程的一个实施例的逻辑流程图。

图22图示了示出实际音高与理想音高的差异的分数的示例性音频波形和图形表示的一个实施例。

图23图示了根据之前录音音轨的分割部分而构建的新音轨的一个实施例。

图24图示了示出了用于将伴奏音乐输入与主音乐输入进行和声的过程的一个实施例的数据流图。

图25图示了由图24的变换音符模块执行的过程的数据流图。

图26图示了超级键盘的一个示例性实施例。

图27A-B图示了和弦轮的两个示例性实施例。

图28图示了其中可以实践本发明的网络配置的一个示例性实施例。

图29图示了支持本文讨论的过程的设备的框图。

图30图示了音乐网络设备的一个实施例。

图31图示了在游戏环境中的第一界面的一个潜在实施例。

图32图示了用于在图31的游戏环境中创作一个或者多个话音或者乐器音轨的界面的一个潜在实施例。

图33图示了用于在图31的游戏环境中创作一个或者多个打击音轨的界面的一个潜在实施例。

图34A-C图示了用于在图31的游戏环境中创作一个或者多个伴奏音轨的界面的一个潜在实施例。

图35图示了描绘了作为主音乐伴奏而演奏的和弦进程的图形界面的一个潜在实施例。

图36图示了用于在图31的游戏环境中的音乐编制的不同部分之间进行选择的一个潜在实施例。

图37A和37B图示了与可以连同图31-36的游戏环境使用的音乐资产相关联的文件结构的潜在实施例。

图38图示了按照本发明的渲染(render)缓存的一个实施例。

图39图示了按照本发明的示出了用于获取对于所请求的音符的音频的一个实施例的逻辑流程图的一个实施例。

图40图示了按照本发明的用于实施图39的缓存控制过程的流程图的一个实施例。

图41图示了按照本发明的用于实施渲染缓存的架构的一个实施例。

图42图示了按照本发明的用于实施渲染缓存的架构的第二实施例。

图43图示了按照本发明的图示出在客户端、服务器和边缘缓存之间通信的信号图的一个实施例。

图44图示了按照本发明的图示出在客户端、服务器和边缘缓存之间通信的信号图的第二实施例。

图45图示了按照本发明的用于优化音频请求处理队列的第一过程的实施例。

图46图示了按照本发明的用于优化音频请求处理队列的第二过程的实施例。

图47图示了按照本发明的用于优化音频请求处理队列的第三过程的实施例。

图48图示了按照本发明的一个实施例的现场(live)演奏循环的一个示例性实施例。

图49图示了按照本发明可以应用于音乐编制的一系列效果的一个实施例。

图50图示了按照本发明可以应用于乐器音轨的一系列音乐家角色效果的一个实施例。

图51图示了按照本发明可以应用于乐器音轨的一系列制作人角色效果的一个实施例。

图52图示了按照本发明可以应用于编制音轨的一系列制作人角色效果的一个实施例。

图53是图示了用于通过将被约束的音频输入音轨与一个或者多个音频输入音轨组合来增强音频的一个潜在过程的流程图。

图54是图示了用于使音频输入相符于音乐音调的一个潜在过程的流程图。

图55是图示了用于创作用于音频输入的和声音轨的一个潜在过程的流程图。

图56图示了用于在图31的游戏环境中创作一个或者多个和声音轨的界面的潜在实施例。

图57A-57C一同图示了利用图12的用户界面使用和声音轨修改到系统中的音乐音轨输入的用户界面的一个潜在使用。

具体实施方式

现在将在以下参考附图更完整地描述本发明,所述附图形成了本发明的一部分并且作为图示示出了可以实践本发明的具体示例性实施例。然而,本发明可以以许多不同形式体现并且不应该被解读为被限制为本文阐述的实施例;而是,这些实施例被提供为使得本公开内容将是彻底和完全的,并且将完整地将本发明范围传达给本领域技术人员。除了其他方面之外,本发明可以被体现为方法或者设备。因此,本发明可以采取整体硬件实施例、整体软件实施例或者组合了软件和硬件方面的实施例的形式。因此,不以限制性的意义来采纳以下详细描述。

定义

贯穿说明书和权利要求,以下术语采用本文中明确相关联的意义,除非上下文以其他方式明确指示。本文中使用的短语“在一个实施例中”并非必须指代相同的实施例,但是其也可以指代相同实施例。此外,本文中使用的短语“在另一个实施例中”并非必须指代不同的实施例,但是其也可以指代不同的实施例。因此,如以下描述的,本发明的各种实施例可以被容易地组合,而不会偏离本发明的范围或者精神。

附加地,如本文使用的,术语“或”是包含性的“或”运算符,并且等同于术语“和/或”,除非上下文以其他方式明确指示。术语“基于”并非是排他性的,并且允许基于未描述的附加因子,除非上下文以其他方式明确指示。附加地,贯穿本说明书,“一”、“一个”和“该”的意义包括复数引用。“……之中”的意义包括“……之中”,并且包括复数引用。“……之中”的意义包括“……之中”和“……之上”。

如本文使用的术语“音乐输入”指代包含通过各种各样介质中的任何介质传输的音乐和/或控制信息的任何符号输入,所述介质包括但不限于,空气、麦克风、线路输入的机制等等。音乐输入不限于可被人耳听到的信号输入频率,并且可以包括在可被人耳听到的频率之外的其他频率,或者采用不容易被人耳听到的形式。而且,术语“音乐的”的使用不打算传达对于节拍、节奏等等的固有要求。因此,例如,音乐输入可以包括各种输入,诸如包括单次轻拍的轻拍、滴答声、人类输入(诸如话音(例如do、re、mi)、打击输入(例如ka、cha、da-da)等等)以及通过乐器或者其他幅度和/或频率生成机制经由输送的间接输入,其包括但不限于,麦克风输入、线路输入的输入、MIDI输入、具有可用来传达音乐输入的信号信息的文件、或者使得所输送的信号能够被转换成音乐的其他输入。

如本文使用的,术语“音乐音调”是和声的一组音乐音符。音调通常是大调或者小调。例如,音乐家频繁谈到音乐作曲是“音调为”C大调的,这暗示了一段音乐以音符C为和声中心,并且利用其第一音符或者主音为C的大音阶。大音阶是由完美的或者大调的半音组成的八音符进程(例如,C D E F G A B或者do re mi fa so la ti)。关于钢琴而言,例如,中央C(有时被称为“C4”)具有261.626Hz的频率,而D4是293.665Hz;E4是329.628Hz;F4是349.228Hz;G4是391.995Hz;A4是440.000Hz;而B4是493.883Hz。虽然在其他音乐乐器上的相同音符将以相同频率演奏,但是还要理解的是,一些乐器自然地以一个音调或者另一音调进行演奏。

如本文使用的,术语“不和声的音符”是未处于正确音乐音调或者和弦中的音符,其中正确的音乐音调和正确和弦是当前被另一音乐家或者音乐源所演奏的音乐音调或者和弦。

如本文使用的,术语“蓝调音符”是不处于正确的音乐音调或者和弦中的音符,但是其被允许在未变换的情况下被演奏。

如本文使用的,术语“伴奏音乐输入音符”是由伴奏音乐家演奏的音符,其与在对应的主旋律中演奏的音符相关联。

设备架构

图1示出了可以在各种各样的设备50上部署的系统100的一个实施例,出于说明性的目的,所述设备50可以是任何多用途计算机(图1A)、手持计算设备(图1B)和/或专用游戏系统(图1C)。系统100可以被部署为安装在设备上的应用。可替换地,系统可以在http浏览器环境内操作,其可以可选地利用web插入技术来扩展浏览器功能性,从而使得能够实现与系统100相关联的功能性。设备50可以包括比图29中示出的那些多得多或者更少的组件。然而,应该由本领域普通技术人员理解的是,某些组件对于操作系统100而言不是必需的,而诸如处理器、麦克风、视频显示器、和音频扬声器之类的其他组件是重要,即便其对于实践本发明的方面而言不是必需的。

如在图29中示出,设备50包括处理器2902,其可以是经由总线2906与大容量存储器2904通信的CPU。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,处理器2902还可以包括单独或者与另一组件组合的一个或者多个通用处理器、数字信号处理器、其他专用处理器和/或ASIC。设备50还包括电源2908、一个或者多个网络接口2910、音频接口2912、显示驱动器2914、用户输入处理程序2916、照明器2918、输入/输出接口2920、可选的触觉接口2922、以及可选的全球定位系统(GPS)接收器2924。设备50还可以包括相机(未示出),其使得视频能够被获取和/或与特定多音轨录音相关联。来自相机或者其他源的视频还可以被进一步提供给在线社交网站和/或在线音乐社区。设备50还可以可选地与基站(未示出)通信,或者直接与另一计算设备通信。诸如基站之类的其他计算设备可以包括附加音频相关组件,诸如专用音频处理器、生成器、放大器、扬声器、XLR连接器和/或电源。

继续图29,电源2908可以包括可充电或者不可充电电池,或者可以由外部电源提供,诸如还可以对电池进行补给和/或充电的AC适配器或者供电对接支架。网络接口2910包括用于将设备50耦合到一个或者多个网络的电路,并且被构造为用于供一个或者多个通信协议和技术使用,所述通信协议和技术包括但不限于,全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、用户数据报协议(UDP)、传输控制协议/网际协议(TCP/IP)、SMS、通用分组无线服务(GPRS)、WAP、超宽带(UWB)、IEEE 802.16全球互连微波接入(WiMAX)、SIP/RTP、或者各种各样其他无线通信协议中的任何项。因此,网络接口2910可以包括收发器、收发设备或者网络接口卡(NIC)。

音频接口2912(图29)被安排成产生和接收音频信号,诸如人类话音的声音。例如,如在图1A和1B中最清晰示出的,音频接口2912可以耦合到扬声器51和/或麦克风52,以使得能够实现到系统100中的音乐输出和输入。显示驱动器2914(图29)被安排成产生视频信号来驱动各种类型的显示器。例如,显示驱动器2914可以驱动如在图1A中示出的视频监视器显示75,其可以是液晶、气体等离子或者基于发光二极管(LED)的显示器或者可以与计算设备一同使用的任何其他类型的显示器。如在图1B中示出的,显示驱动器2914可以可替换地驱动手持式触敏屏80,其还将被安排成经由用户输入处理程序2916接收诸如触笔或者来自人类的手的手指之类的物体的输入(见图31)。小键盘55可以包括被安排成接收来自用户的输入的任何输入设备(例如,键盘、游戏控制器、跟踪球和/或鼠标)。例如,小键盘55可以包括一个或者多个按键、数字拨号器和/或键。小键盘55还可以包括与选择和发送图像相关联相关的命令按钮。

设备50还包括用于与诸如耳机、扬声器51或者其他输入或者输出设备之类的外部设备通信的输入/输出接口2920。输入/输出接口2920可以利用一个或者多个通信技术,诸如USB、红外、蓝牙TM等等。可选的触觉接口2922被安排成向设备50的用户提供触知反馈。例如,在诸如在图1B中示出的一个实施例中,在设备50是移动或者手持式设备的情况下,可选的触觉接口2922可以被用来以特定方式振动设备,诸如例如在计算设备的另一用户呼叫时。

可选的GPS收发器2924可以确定设备100在地球表面上的物理坐标,其典型将位置输出为纬度和经度值。GPS收发器2924还可以采用其他地理定位机制,其包括但不限于,三角测量法、辅助GPS(AGPS)、E-OTD、CI、SAI、ETA、BSS等等,从而进一步确定设备50在地球表面上的物理位置。然而,在一个实施例中,移动设备可以通过其他组件提供可以被用来确定设备物理位置的其他信息,其包括例如MAC地址、IP地址等等。

如在图29中示出的,大容量存储器2904包括RAM 2924、ROM 2926、和其他存储装置。大容量存储器2904图示了用于存储信息(诸如计算机可读指令、数据结构、程序模块或者其他数据)的计算机可读存储介质的示例。大容量存储器2904存储基本输入/输出系统(“BIOS”)2928以用于控制设备50的低水平操作。大容量存储器还存储操作系统2930以用于控制设备50的操作。将领会的是,该组件可以包括诸如某个版本的MAC OS、WINDOWS、UNIX、LINUX之类的通用目的操作系统或者诸如例如Xbox 360系统软件、Wii IOS、WindowsMobileTM、IOS、Android、webOS、QNX或者Symbian®操作系统之类的专用操作系统。操作系统可以包括Java虚拟模块或者与其对接,所述Java虚拟模块可以使能实现经由Java应用程序控制硬件组件和/或操作系统操作。操作系统还可以包括安全虚拟容器,其也一般被称为“沙盒(Sandbox)”,其使能够实现应用的安全执行,例如Flash和Unity。

一个或者多个数据存储模块132可以被存储在设备50的存储器2904中。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,存储在数据存储模块132中的信息的一部分还可以被存储在盘驱动器或者与设备50相关联的其他存储介质上。这些数据存储模块132可以存储多音轨录音、MIDI文件、WAV文件、音频数据样本和各种各样的其他数据和/或数据格式或者以以上讨论的格式中的任何格式的输入旋律数据。数据存储模块132还可以存储描述系统100的各种能力的信息,其可以例如在通信期间、在接收到请求时或者响应于特定事件等等作为报头的一部分发送给其他设备。而且,数据存储模块132还可以被用来存储社交联网信息,其包括地址簿、好友列表、别名、用户简档信息等等。

设备50可以存储并选择性地执行许多不同应用,其包括用于按照系统100使用的应用。例如,用于按照系统100使用的应用可以包括音频转换器模块140、录音时间现场循环(RSLL)模块142、多实录自动作曲器(MTAC)模块144、和声器模块146、音轨共享器模块148、声音搜索器模块150、流派匹配器模块152、以及和弦匹配器模块154。这些应用的功能在以下更详细描述。

设备50上的应用还可以包括消息器134和浏览器136。消息器132可以被配置成使用各种各样的消息发送通信中的任何消息发送通信来发起和管理消息发送会话,所述消息发送通信包括但不限于,短消息服务(SMS)、即时消息(IM)、多媒体消息服务(MMS)、互联网中继聊天(IRC)、mIRC、RSS订阅等等。例如,在一个实施例中,消息器243可以被配置为IM消息发送应用,诸如AOL即时消息器、Yahoo!消息器、.NET消息器服务、ICQ等等。在另一个实施例中,消息器132可以是被配置成集成并且采用了各种各样消息发送协议的客户端应用。在一个实施例中,消息器132可以与浏览器134交互以用于管理消息。浏览器134可以几乎包括被配置成采用任何基于web的语言来接收和显示图形、文本、多媒体等等的任何应用。在一个实施例中,使得浏览器应用能够采用手持式设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SMGL)、超文本标记语言(HTML)、可扩展标记语言(XML)等等来显示和发送消息。然而,可以采用各种各样其他基于web的语言中的任何项,其包括Python、Java和第三方web插件。

设备50还可以包括其他应用138,诸如计算机可执行指令,所述指令当被客户端设备100执行时,传输、接收和/或以其他方式处理消息(例如,SMS、MMS、IM、电子邮件和/或其他邮件)、音频、视频和使得能够实现与另一个客户端设备的另一个用户的电信。应用程序的其他示例包括日历、搜索程序、电子邮件客户端、IM应用、SMS应用、VoIP应用、联系人管理器、任务管理器、译码器、数据库程序、字处理程序、安全应用、表格程序、游戏、搜索程序等等。以上描述的应用中的每个应用可以被嵌入在设备50上,或者可替换地,在设备50上进行下载和执行。

当然,虽然以上描述的各种应用被示出为在设备50中实施,但是在可替换实施例中,这些应用中的每个应用中的一个或者多个部分可以被实施在一个或者多个远程设备或者服务器上,其中,每个部分的输入和输出通过一个或者多个网络在设备50和一个或者多个远程设备或者服务器之间传递。可替换地,应用中的一个或者多个应用可以被封装,以用于在外围设备上执行或者从外围设备上进行下载。

音频转换器

音频转换器140被配置成接收音频数据,并且将其转换成更有意义的形式,以用于在系统100内使用。音频转换器140的一个实施例在图2中图示出。在该实施例中,音频转换器140可以包括各种各样的子系统,其包括音轨录音器202、音轨分割器204、量化器206、频率检测器208、频移器210、乐器转换器212、增益控件214、谐波生成器216、特效编辑器218和手动调整控件220。到音频转换器140的各种子系统的连接以及在其之间的互连未被示出,以避免使得本发明难以理解,然而,这些子系统将被电连接和/或逻辑连接,如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的。

音轨录音器202使得用户能够对来自嗓音或者乐器的至少一个音轨进行录音。在一个实施例中,用户可以在没有任何伴奏的情况下对音轨录音。然而,音轨录音器202还可以被配置成或是自动地或是在用户请求下演奏音频,其包括滴答声音轨(click track)、音乐伴奏、用户可以针对其评判他的/她的音高和定时的初始声调或者甚至是之前录音的音频。“滴答声音轨”指代打算辅助用户保持一致速度的周期性滴答声噪音(诸如由机械拍子器做出的周期性滴答声噪音)。音轨录音器202还可以使得用户能够设置要录音时间长度——如时间限制(即,分钟和秒的数目)或者音乐小节的数目。当结合MTAC模块144一同使用时,如以下讨论的,音轨录音器202还可以被配置成图形地指示与录音音轨的各种部分相关联的分数,以便于例如在用户走调时进行指示等等。

一般而言,音乐编制由多个抒情部分组成。例如,图3图示了对于一首流行歌曲的一个典型进程,该流行歌曲以前奏部分开始,之后交替进行独唱(verse)和合唱部分,并且在最后的独唱之前是桥接部分。当然,虽然未示出,但是还可以使用其他结构,诸如副歌、结尾等等。因此,在一个实施例中,音轨录音器202还可以被配置成使得用户能够选择所录音的音频音轨要被用于其中的歌曲部分。这些部分然后可以以任何次序来安排(或是自动地(基于由流派匹配器模块152的确定)或者被最终用户选择)来创作完整的音乐编制。

音轨分割器204将所录音的音频音轨划分成单独的分割部分,其然后可以被寻址并且潜在地存储为独立可寻址的单独声音片段或者文件。分割部分被优选地选为使得被端到端地拼接的分段导致很少或者不存在音频噪声(audio artifact)。例如,让我们假设可听输入包括短语“pum pa pum”。在一个实施例中,划分该可听输入可以标识并且将该可听输入的每个音节区别为单独的声音,诸如“pum”、“pa”和“pum”。然而,应该理解的是,该短语可以以其他方式来记述,并且单个分割部分可以包括多于一个音节或者单词。每一个包括多于一个音节的四个分割部分(被标号为“1”、“2”、“3”和“4”)在图1A、1B和1C中的显示器75上图示。如所图示的,分割部分“1”具有多个音符,其可以反映由音轨录音器202使用来自麦克风52的、从人类或者音乐乐器源而来的输入而录音的相同多个音节。

为了执行将可听音轨划分为单独的分割部分,音轨分割器204可以利用在处理器2902上运行的一个或者多个进程。在图4中图示的一个示例性实施例中,音轨分割器204可以包括无声检测器402、停止检测器404和/或手动分割器406,其每个可以用来将音频音轨分割成在时间上对齐的N个分割部分。音轨分割器204可以使用无声检测器302来在无论何种情况下在特定时间段内检测到无声都将音轨进行分割。该“无声”可以由音量阈值所定义,以使得当音频音量在所定义的时间段内降至所定义的阈值以下时,在音轨中的位置被认为是无声的。音量阈值和时间段两者都可以是可配置的。

另一方面,停止检测器404可以被配置为使用诸如共振峰分析之类的语音分析来标识音轨中的元音和辅音。例如,诸如T、D、P、B、G、K和鼻音之类的辅音由其发音中的气流的中断来划定界限。特定元音或者辅音的位置然后可以优选地用来检测和标识分割点。类似于无声检测器402,由停止检测器404用于标识分割点的元音和辅音类型可以是可配置的。手动分割器406还可以被提供为使得用户能够手动地为每个分割划定界限。例如,用户可以简单地规定对于每个分割的时间长度,从而使得音频音轨被划分成每个具有相同长度的许多分割部分。用户还可以被准许标识要在此处创作分割部分的音频音轨中的特定位置。标识可以使用诸如鼠标或者游戏控制器之类的定点设备结合在图1A、1B和1C中图示的图形用户界面类型图形地执行。标识还可以在由音轨录音器202对音频音轨进行可听回放期间通过按压用户输入设备上的按钮或者键(诸如键盘55、鼠标54或者游戏控制器56)来执行。

当然,虽然已经单独描述了无声检测器402、停止检测器304和手动分割器406的功能,但是预计的是,音轨分割器204可以使用无声检测器、停止检测器和/或手动分割器的任何组合来将音频音轨分割或者划分成分段。还将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,用于将音频音轨分割或者划分成分段的其他技术也可以被使用。

量化器206被配置成将所接收的音频音轨部分进行量化,其可以利用在处理器2902上运行的一个或者多个过程。本文中使用的术语量化过程指代每个之前创作的部分(并且因此在该部分中所包含的音符)的时间位移,其可能是必须的,以便将分割部分内的声音与特定节拍对齐。优选地,量化器206被配置成按时间顺序将每个部分的开头与之前确定的节拍相对齐。例如,可以提供某个拍子(meter),其中每个小节可以包括四个节拍并且对单独声音的对齐可以相对于时间的四分之一节拍增量而发生,因而在每个四节拍的小节中提供分割部分可以与其对齐的十六个时间点。当然,对于每个小节而言任何数目的增量(诸如对于华尔兹或者波尔卡效果的三拍、对于摇摆乐效果的二拍等等)和节拍可以被使用,并且在过程期间的任何时间处,可以由用户手动调整或者基于特定准则自动调整,诸如用户对音乐的特定风格或者流派(例如,蓝调、爵士、波尔卡、流行、摇滚、摇摆乐或者华尔兹)的选择。

在一个实施例中,每个分割部分可以由量化器206自动对齐,其中具有其在录音时被最接近地接收的可用时间增量。也就是说,如果某个声音在节拍中的两个时间增量之间开始,则该声音的回放定时将按时间顺序向前或者向后位移到这些增量中更接近其初始开始时间的任一增量。可替换地,每个声音可以在时间上自动位移到每个正好在该声音初始录音的相对时间之前的时间增量。在又一个实施例中,每个声音可以在时间上自动位移到每个正好在该声音初始录音的相对时间之后的时间增量。对于每个单独声音的时间位移(如果存在的话)还可以被可替换地或者附加地基于针对多音轨录音而选择的流派而受到影响,如以下关于流派匹配器152进一步讨论的。在另一个实施例中,每个声音还可以与多音轨录音中的之前录音的音轨自动时间对齐,从而使得能够实现卡拉OK类型的效果。而且,单独声音的长度可以比一个或者多个时间增量更长,并且量化器206的时间位移可以被控制,从而防止单独声音进行时间位移使得其在相同音频音轨内重叠。

频率检测器208被配置成检测和标识可被包含在每个分割部分内的一个或者多个单独声音的音高,其可利用在处理器2902上运行的一个或者多个处理器。在一个实施例中,音高可以通过将每个单独声音转换成频谱来确定。优选地,这通过使用快速傅里叶变换(FFT)算法来实现,诸如通过iZotope的FFT实现。然而,应该理解的是,可以使用任何FFT实现。还预计的是,还可以使用离散傅里叶变换(DFT)算法来获取频谱。

为了图示,图5描绘了可以由对所接收的音频音轨的一部分执行的FFT过程的输出所产生的频谱的一个示例。如可看见的,频谱400除在2F、3F、4F……nF处激励的谐波之外还包括在对应于音高的单个基本频率(F)502处的一个主峰。附加谐波存在于频谱中是因为当诸如声带或者小提琴琴弦之类的振荡器以单个音高被激励时,其典型地以多个频率振动。

在一些实例中,音高的标识可能由于附加噪声而变得复杂。例如,如图5中示出的,频谱可包括由于来自诸如话音或者乐器之类的真实世界振荡器的音频输入而发生的噪声,并且表现为在频谱上遍布的低幅度尖峰信号。在一个实施例中,该噪声可以通过将FFT输出在特定噪声阈值以下进行滤波来提取。在一些实例中,音高的标识还可以通过颤音的存在而变得复杂。颤音是可应用到表演中的故意的频率调制,并且典型地在5.5Hz和7.5Hz之间。类似于噪声,颤音可以通过在频域应用带通滤波器而从FFT输出中滤波出来,但是对颤音进行滤波在许多情景下可能是不合期望的。

除了以上讨论的频域方法之外,预计的是,在分割部分中的一个或者多个声音的音高还可以使用一个或者多个时域方法来确定。例如,在一个实施例中,音高可以通过测量在信号的过零点之间的距离来确定。还可以使用诸如AMDF(平均值微分函数)、ASMDF(平均均方差函数)以及其他相似的自动校正算法之类的算法。

为了使得对音高的评判是最有效的,音高内容还可以被组成(恒定频率的)音符和(稳定增大或者减小的频率的)滑音。然而—与具有自然产生稳定、离散的音高的品丝(fret)或者键的乐器不同—人类话音倾向于以连续方式滑入音符中并且颤动,从而使得对于离散音高的转换变得困难。因此,频率检测器208还可以优选地利用音高脉冲检测来标识在分割部分内的单独声音之间的音高的位移或者改变。

音高脉冲检测是对聚焦于在歌手的话音和他对于他话音感知之间形成的控制回环的弹道的音高事件划界的一种方法。一般地,当歌手表达了某个声音时,该歌手在一会儿之后听到该声音。如果该歌手听到音高是不正确的,则他立即将其话音朝着所打算的音高进行修改。这种负反馈回环可以被建模为由周期性脉冲驱动的阻尼谐动。因此,人类话音可以被认为是单个振荡器:声带。可以在图6中看见针对歌手话音602的音高改变和停留的一个示例图示。在声带中的张力控制着音高,而在音高中的这种改变可以通过对阶跃函数的响应来建模,诸如在图6中的阶跃函数604。因此,新音高事件的开始可以通过找到音高中的阻尼谐波振荡;以及观测音高的连续拐点收敛至稳定值而确定。

在已经确定了音频音轨的分割部分内的音高事件之后,其可以被转换和/或存储到形态中,其是音高事件随时间的图。在图7中描绘了形态的一个示例(在没有分割的情况下)。因此,形态可以包括标识开始、持续时间、以及每个声音的音高或者这些值的任何组合或者子集的信息。在一个实施例中,形态可以采用MIDI数据的形式,但是形态可以指代音高随时间的任何表示,并且不限于半音或者任何特定拍子。例如,可使用的形态的其他这样的示例在由Larry Polansky的“Morphological Metrics”,Journal of New MusicResearch, 第25卷,第289-368页,ISSN:09929-8215中描述,其通过引用并入本文中。

频移器210可以被配置成将可听输入的频率进行位移,其可利用在处理器2902上运行的一个或者多个过程。例如,在可听输入的分割部分内的一个或者多个声音的频率可以被自动升高或者降低,以便与可听输入或之前已经录音的单独声音的基本频率相对齐。在一个实施例中,对于是否增高或者降低可听输入的频率的确定取决于最接近的基本频率。换言之,假设作曲在音调为C大调中,如果由音轨录音器202捕获的可听频率是270.000Hz,则频移器210将会将音符向下位移到261.626Hz(中央C),而如果由音轨录音器202捕获的可听频率是280.000Hz,则频移器210将会将音符向上位移到293.665Hz(或者在中央C之上的D)。即便当频移器210主要将可听输入调整到最接近的基本频率时,移相器210也可以进一步被编程为基于音乐音调、流派和/或和弦而对接近的调用做出不同的决定(即,在可听频率大致处于在两个音符之间的半程部分的情况下)。在一个实施例中,频移器210可以将可听输入调整到其他基本频率,其基于依据由流派匹配器260和/或和弦匹配器270(如以下进一步讨论的)提供的控件的流派和/或和弦、音乐音调使得更有音乐的感觉。可替换地或者附加地,频移器210—响应于来自乐器转换器212的输入—还可以将一个或者多个分割部分的一个或者多个部分分别进行位移以对应于预定的频率或者半音的集合,诸如典型地与诸如钢琴、吉他或者其他弦乐器、木管乐器或者铜管乐器之类的所选音乐乐器相关联的那些频率或者半音。

乐器转换器212可以被配置成执行将可听输入的一个或者多个部分转换成具有与音乐乐器相关联的音色的一个或者多个声音。例如,在可听输入中的一个或者多个声音可以被转换成一个或者多个不同类型的打击乐器的一个或者多个乐器声音,所述打击乐器包括小军鼓、颈铃、低音鼓、三角铃等等。在一个实施例中,将可听输入转换成一个或者多个对应的打击乐器声音可以包括将可听输入中的一个或者多个声音的定时和幅度适配成包括打击乐器中的一个或者多个声音的对应音轨,打击乐器声音包括与一个或者多个可听输入声音相同或者相似的定时和幅度。对于使能实现演奏不同音符的其他乐器而言,诸如长号、或者其他类型的铜管、弦、木管乐器等等,乐器转换可以进一步将可听输入声音的一个或者多个频率与具有由乐器演奏的相同或者相似频率的一个或者多个声音关联。进一步地,每个转换可以由实际演奏对应的物理乐器的物理能力而导出和/或限制。例如,针对萨克斯管音轨生成的乐器声音频率可以由传统萨克斯管的实际频率范围所限制。在一个实施例中,所生成的音频音轨可以包括所转换的可听输出的MIDI格式的表示。用于由乐器转换器212使用的各种乐器的数据将优选地存储在存储器2904中,并且可以从光学或者磁介质、可移除存储器、或者经由网络下载。

增益控件214可以被配置成基于其他之前的录音音轨来自动调整可听输入的相对音量,并且可以利用在处理器2902上运行的一个或者多个过程。谐波生成器216可以被配置成将谐波并入到音频音轨中,其可以利用在处理器2902上运行的一个或者多个过程。例如,可听输入信号的不同附加频率可以被确定,并且被添加到所生成的音频音轨中。确定附加频率还可以基于来自流派匹配器260的流派或者通过使用由用户输入的其他预定参数设置。例如,如果所选流派是华尔兹,则附加频率可以选自与主音乐相和声的、在直接低于主音乐的八度中的、在3/4时有“oom-pa-pa”节拍的大调和弦,如下:根音 ,根音。特效编辑器218可以被配置成优选地利用在处理器2902上运行的一个或者多个过程将各种效果添加到音频音轨,诸如回声、混响等等。

音频转换器140还可以包括手动调整控件220,以使得用户能够手动地更改由以上讨论的模块自动配置的设置。例如,手动调整控件220可以除了其他选项之外,使得用户能够更改音频输入的频率或者其一部分;使得用户能够更改每个单独声音的开始和持续时间;增大或者减小对于某个音频音轨的增益;选择要应用于乐器转换器212的不同乐器。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,该手动调整控件220可以被设计为与一个或者多个图形用户界面一同使用。一个特定图形用户界面将连同以下的图13A、13B和13C在以下进行讨论。

图8图示了对于已经被音频转换器140处理的、或者其他方式从另一源下载、获得或者获取的音频音轨的分割部分的文件结构的一个实施例。如所示出的,在该实施例中,文件包括与该文件相关联的元数据、所获取的形态数据(例如,以MIDI格式)、以及原始音频(例如,以.wav格式)。元数据可以包括指示与音频音轨分割部分的创作者或者提供者相关联的简档的信息。其还可以包括关于数据的音频符号的附加信息,诸如与该音频相关联的音调、速度和分割部分。元数据还可以包括关于可应用于在分割部分中的每个音符的潜在可用音高位移、可应用于每个音符的时间位移量等等的信息。例如,要理解,对于现场录音的音频而言,如果音高位移了多于一个半音,则存在失真的可能性。因此,在一个实施例中,可对现场音频施加约束,以防止位移多于一个半音。当然,还可以使用不同设置和不同约束。在另一实施例中,对于潜在音高位移、时间位移等等的范围还可以被音频音轨分割部分的创作者或者具有对该音频音轨分割部分具有实质权利的任何个体(诸如管理员、合作方等等)更改或者建立。

录音时间现场循环

录音时间现场循环(RSLL)模块142实施了数字音频工作站,其连同音频转换器140使得能够实现可听输入的录音、单独音频音轨的生成、以及多音轨录音的创作。因此,RSLL模块142可以使得任何所录音的音频音轨(或是口头的、吟唱的、或者是其他方式的)能够与之前的录音音轨组合,以创作多音轨录音。如将在以下进一步讨论的,RSLL模块142还优选地被配置成循环之前所录音的多音轨录音的至少一个小节,以用于重复回放。这种重复回放可以在新的可听输入正被录音或者RSLL模块142以其他方式接收对于录音时间当前正在进行的指令的同时执行。因此,RSLL模块142允许用户继续编辑和对音乐音轨进行作曲,同时演奏和收听之前的录音音轨。如将根据以下讨论而理解的,之前的录音音轨的连续循环还使得用户对于任何等待时间的感知最小化,所述等待时间可能是由于应用到当前被用户录音的音频音轨的过程而造成的,因为这样的过程是优选地完成的。

图9图示了一般示出了用于使用RSLL模块142连同音频转换器140创作多音轨录音的概略过程的一个实施例的逻辑流程图。总体上,图9的操作一般表示录音时间。这样的时间可以在每次用户采用系统100以及例如RSLL模块142时被新创作和完成。可替换地,之前的时间可以继续,并且其特定元素(诸如之前录音的多音轨录音或者其他特定于用户的录音参数)也可以被加载和应用。

在任一安排中,在开始框之后,过程900以决定框910开始,其中用户确定当前录音的多音轨录音是否要回放。在使得其他动作能够执行的同时回放当前多音轨录音的过程一般在本文中被称为“进行现场循环”。当前正被回放的多音轨录音的一部分的内容和持续时间在没有明确重复的情况下被称为“现场循环”。在回放期间,多音轨录音可以通过滴答声音轨来伴奏,所述滴答声音轨一般包括不与多音轨录音一同存储的单独音频音轨,其提供一系列相等间隔的、可听地指示对于系统当前被配置成进行录音的音轨的速度和小节的参考声音或者滴答声。

在过程900的初始执行中,可能还没有生成音频音轨。在这样的状态下,在方框910中的空的多音轨录音的回放可以被模拟,并且滴答声音轨可以向用户提供进行回放的仅有声音。然而,在一个实施例中,用户可选择使得滴答声音轨静音,如将在以下关于方框964讨论的。视觉提示可以在录音期间连同音频回放一同提供给用户。即便在音频音轨还未被录音并且滴答声音轨处于静音时,所模拟的回放和当前回放位置的指示可以被单独限制为那些视觉提示,其可以包括例如进度条、指针或者某种其他图形指示的改变显示(见例如图12A、12B和12C)。

在决定框910中回放的现场循环多音轨录音可以包括之前已经被录音的一个或者多个音频音轨。多音轨录音可以包括总长度以及作为现场循环而回放的长度。现场循环的长度可以被选为小于多音轨录音的总长度,从而准许用户将多音轨录音的不同小节单独地分层。现场循环的长度相对于多音轨录音的总长度而言可以由用户手动选择,或者可替换地基于所接收的可听输入来自动地确定。在至少一个实施例中,多音轨录音的总长度和现场循环可以是相同的。例如,现场循环和多音轨录音的长度可以是音乐的单个小节。

当在决定框910处多音轨录音被选择用于回放时,诸如一个或者多个音轨的视觉表示之类的附加视觉提示可以为用户与包括回放的多音轨录音的至少一部分的现场循环的音频回放同步地提供。在播放多音轨录音的同时,过程900继续进行到决定框920处,其中由最终用户做出是否要生成对于多音轨录音的音频音轨的确定。录音可以基于接收到可听输出(诸如由最终用户生成的话音可听输入)而发起。在一个实施例中,可听输入的检测到的幅度可以触发在系统100中所接收的可听输入信号的采样和存储。在可替换实施例中,这样的音轨生成可以由被系统100所接收的手动输入来初始化。进一步地,生成新音频音轨可以要求诸如来自麦克风之类的检测到的可听输入以及手动指示两者。如果要生成新的音频音轨,则处理继续进行到方框922。如果不发起对音频音轨的生成,则过程900继续进行到决定框940。

在方框922处,由音频转换器140的音轨录音器202接收可听输入,并且该可听输入存储在一个或者多个数据存储模块132中的存储器2904中。如本文使用的,“可听”指对设备50的输入的属性,其中当正在提供输入时,其可以并行地、自然地、并且直接地被至少一个用户听到,而不需要放大或者其他电子处理。在一个实施例中,所录音的可听输入的长度可以基于当第一次接收到可听输入时现场循环内的剩余时间量而确定。也就是说,对可听输入的录音可以在现场循环结束后某个时间长度之后结束,而不论是否仍接收到可检测量的可听输入。例如,如果循环长度是以每小节四拍的一小节长,并且在第二拍开始时可听输入的接收第一次被检测到或者触发,则可以记录达三拍的可听输入,其对应于该小节的第二、第三和第四拍,并且因此,该第二、第三、和第四拍将在方框910中连续处理的多音轨录音回放中循环。在这样的安排中,在单个小节结束后所接收的任何可听输入可以被录音并且处理为对于多音轨录音的另一单独音轨的基础。单独音轨的这样的附加处理可以被表示为通过至少方框910、920和922的单独迭代。

在至少一个可替换实施例中,所循环的回放的长度可以基于在方框922所接收的可听输入的长度而被动态调整。也就是说,可听输入可以自动导致当前正在方框910中播放的多音轨录音的音轨长度的延长。例如,如果在当前现场循环的长度已经被回放之后接收到附加可听输入,则这个较长的可听的输入可以被进一步录音并且保持,以用于作为新的音频音轨导出。在这样的安排中,多音轨录音的之前的音轨可以在随后的现场循环内重复,以便与所接收的可听输入的长度相匹配。在一个实施例中,较短的、之前的多音轨录音的重复可以执行整数次数。该整数次的重复保持在之前录音的较短多音轨录音的多个小节之间的关系(如果存在的话)。以这样的方式,多音轨录音和现场循环的循环点可以被动态地更改。

相似地,在方框922处,所接收的音轨长度可以比当前播放的现场循环的长度更短(即,在回放四小节长的现场循环期间仅仅接收到一小节的可听输入)。在这样的安排中,可听输入的结束可以在接收和录音了至少为阈值音量的可听输入之后的预定时间(例如,所选数目的秒)之后没有接收到任何附加可听输入时被检测到。在一个实施例中,对于这种无声的检测可以是基于缺少高于当前现场循环的阈值音量的输入的。可替换地或者附加地,可听输入的结束可以通过接收到手动信号而被发信号通知。这种较短的可听输入的相关联长度可以就小节数目而言具有与多音轨录音相同数目的节拍来确定。在一个实施例中,该数目的小节被选择为当前现场循环的长度的因子。在每种情况下,在方框924处,可听输入一旦被转换成音轨,则可以手动或者自动地选择为重复足以与当前正回放的多音轨录音长度相匹配的次数。

在方框924中,所接收的可听输入可以通过音频转换器140转换成音频音轨。如以上讨论的,音频转换过程可以包括各种操作,其包括分割、量化、频率检测和位移、乐器转换、增益控制、和声生成、添加特效以及手动调整。这些音频转换操作的每一个的次序可以被更改,并且在至少一个实施例中,可以由最终用户来配置。另外,这些操作中的每一个可以被选择性地应用,从而使得可听输入可以尽可能多地或者以所要求的最少附加处理来转变成音频音轨。例如,可以不选择乐器转换,因此准许来自可听输入的一个或者多个原始声音基本上以其原始音色被包括在所生成的音频音轨中。在方框924中,可以应用回声取消过程来从正被有效录音的音频音轨中将在现场循环期间所播放的其他音轨的音频滤波出来。在一个实施例中,这可以通过以下项来完成,即:标识在现场循环期间播放的音频信号,确定在输出音频信号和输入音频信号之间的任何延迟;对输出音频信号进行滤波和延迟以类似于输入音频信号;以及从输入音频信号中减去输出音频信号。一个可使用的优选的回声取消过程是通过iZotope实现的一个回声取消过程,但是也可以使用其他实现。方框924的过程可以随后被应用或者移除,如在本文中关于方框942进一步讨论的。在方框924处将可听输入转换成所生成的音频音轨之后,过程900继续进行到方框926。

在方框926处,来自方框924的所生成的音频音轨可以实时添加到多音轨录音。这可以是已经发起的多音轨,或者可替换地,是其中音频音轨作为其第一音轨而被包括的新的多音轨。在方框926之后,过程900可以再次在决定框910处开始,其中可以回放多音轨,其中包括最近生成的音频音轨。虽然922、924和926的操作被示出为在图9中串联地执行,但是这些步骤还可以针对每个所接收的可听输出并行地执行,以便进一步使得能够实现实时录音和可听输入信号的回放。在每个可听输入期间,每个并行处理可以例如针对从可听输入中标识的每个单独声音而执行,虽然可替换实施例可以包括可听输入信号的其他、不同大小的部分。

在决定框940处,做出在多音轨录音中的一个或者多个音频音轨是否要被修改的确定。例如,可以接收指示最终用户期望修改之前录音的音频音轨中的一个或者多个的输入。在一个实施例中,指示可以通过手动输入而接收。如以上指出的,该修改还可以在当前录音的多音轨录音的回放期间执行,从而准许对于最终用户的对多音轨录音的当前状态的即刻欣赏。在一个实施例中,指示可以包括期望向其应用调整的多音轨录音中的一个或者多个音轨。这些音轨还可以包括手动添加到多音轨录音的一个或者多个新音轨。如果接收到对于音轨修改的指示,则过程900继续进行到框942;否则,过程900继续进行到决定框960。

在方框942处,一个或者多个之前转换的音轨的参数被接收,并且已调整的参数可以由最终用户输入。对于修改的参数可以包括可以使用音频转换器140的过程来完成的任何调整,其可以包括除了其他示例之外的对音轨进行静音或者独奏、移除整个音轨、调整音轨中的乐器的敲打(strike)速率、调整音轨的音量水平、调整在现场循环中的所有音轨的回放速度、添加或者从音轨的所选时间增量中移除单独声音、调整现场循环的长度和/或多音轨录音的总长度。调整现场循环的长度可以包括相对于总的多音轨录音来更改循环的开始和结束点和/或还可以包括将更多小节添加到当前正在现场循环中重复的音轨中、向多音轨录音的之前录音的小节添加和/或附上之前与这些小节相关联的音轨的至少一个子集、或者从多音轨录音中删除小节。添加新音轨可能会要求该新音轨的各种方面被最终用户手动输入。另外,在方框942处,可以针对附加音轨通过使用声音搜索器模块150来进行搜索,以便促进最终用户对之前录音的音频音轨的重新使用。

在方框944处,已调整的参数被应用到决定框940处指示的一个或者多个音轨。应用可以包括将已调整的参数转换成与已调整的一个或者多个音轨兼容的格式。例如,一个或者多个数字参数可以被调整为对应于可应用MIDI或者其他协议格式的一个或者多个值。在方框944之后,过程900可以再次在决定框910处开始,其中对应于现场循环的多音轨录音的至少一部分可以在包括一个或者多个已修改的音频音轨的情况下回放。

在决定框960处,做出录音设定是否要被修改的确定。例如,可以接收指示用户是否期望修改录音设定的一个或者多个方面的输入。该指示还可以通过手动输入来接收。指示可以推进要被调整的录音设定的一个或者多个参数设置。如果最终用户期望修改,则录音设定过程900继续进行到方框962;否则,过程900继续进行到决定框980。

在方框962处,可以校准录音系统。特别地,至少包括音频输入源、音频输出源、以及音频音轨处理组件的录音电路可以被校准,以确定系统100以及设备50的、优选地以秒的千分之一来度量的、在通过音频输出源的声音回放和通过音频输入源的可听输入的接收之间的等待时间。例如,如果录音电路包括耳机和麦克风,则等待时间可以由RSLL 142来确定,以改进对可听输入的接收和转换,特别是确定在正回放的多音轨录音和所接收的可听输入的节拍之间的相对定时。在方框962处的校准之后(如果存在的话),过程900继续进行到方框964。

在方框964处,可以改变其他录音系统参数设置。例如,滴答声音轨的回放可以被开启或者关闭。另外,对于新音轨或者新多音轨录音的默认设置可以被修改,诸如默认速度,并且对于方框924的可听输入的转变的默认设置可以被提供。在方框964处,还可以改变当前多音轨录音的拍号。还可以提供与数字音频工作站相关联的其他设置,因此,其可以由最终用户修改,如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的。在方框964之后,过程900可以返回到决定框910,其中对于录音系统的调整可以应用到对于多音轨录音的音频音轨的随后录音和修改中。

在方框980处,做出录音时间是否要结束的确定。例如,指示时间的结束的输入可以从手动输入接收。可替换地,如果例如数据存储装置132满了,则设备50可以指示时间的结束。如果接收到时间结束的指示,则多音轨录音可以被存储和/或传输以用于附加操作。例如,多音轨录音可以被存储在数据存储装置132中以用于在新时间或者多音轨录音初始创作的时间的继续中的未来检索、回顾和修改。多音轨录音还可以通过网络从设备50传输到另一个设备50,以用于存储在与用户账户相关联的至少一个远程数据仓库中。所传输的多音轨录音还可以通过网络服务器与在线音乐社区共享,或者在由网络服务器托管的游戏中共享。

如果录音时间没有结束,则过程900再次返回决定框910。事件的这样的顺序可以表示用户正在收听现场循环同时决定要生成的附加音轨(如果存在的话)或者要执行的其他修改(如果存在的话)的时段。将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的是,图9(及其他)中图示的流程图的每个方框以及在流程图图示中的方框的组合可以由计算机程序指令实施。这些程序指令可以被提供给处理器以产生机器,以使得在处理器上执行的指令创作用于实施在一个或者多个流程图方框中规定的动作的装置。计算机程序指令可以被处理器执行来使得一系列操作步骤被处理器执行,以产生计算机实施的过程,以使得在处理器上执行的指令提供用于实施在一个或者多个流程图方框中规定的动作的步骤。计算机程序指令还可以使得流程图的方框中示出的操作步骤中的至少一些操作步骤并行地执行。而且,步骤中的一些步骤还可以在多于一个处理器上执行,诸如可以出现于多处理器计算机系统中。附加地,流程图图示中的一个或者多个方框或者方框组合还可以与其他方框或者方框组合并行地执行,或者甚至以不同于所图示的顺序执行,而不会偏离本发明的范围或者精神。因此,流程图图示的方框支持用于执行所规定动作的装置的组合、用于执行所规定动作的步骤的组合、以及用于执行所规定动作的程序指令装置。还将理解的是,流程图图示的每个方框以及在流程图图示中的方框组合可以由执行所规定的动作或者步骤的专用基于硬件系统或者专用硬件或者计算机指令的组合来实施。

本发明的特定方面的操作现在将关于可与实施音频转换器140和RSSL模块142的用户界面相关联的各种屏幕显示来描述。所图示的实施例是非限制性的、非穷举性的示例用户界面,其可以与系统100的操作相关联地采用。各种屏幕显示器可以包括比那些所示出的多得多的或者更少的组件。此外,组件的安排不限于在这些显示中示出的那些安排,并且其他安排也会被设想到,其包括将各种组件置于不同界面上。然而,所示出的组件足以公开用于实践本发明的说明性实施例。

图10、10A和10B一同图示了实施RSLL 142以及音频转换器140的方面以对多音轨录音中的音轨进行录音和修改的用户界面。界面1000的总体显示可以被认为是“控件空间”。界面上显示的每个控件可以基于来自用户的手动输入而操作,诸如通过使用鼠标54、触摸屏80、压力板、或者被安排成响应于并且传达物理控制的设备。如所示出的,界面1000显示录音时间以及作为该时间一部分生成的多音轨录音的各种方面。文件菜单1010包括用于创作新的多音轨录音或者加载之前录音的多音轨录音的选项,如被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的。

速度控件1012显示多音轨录音的以每分钟的节拍的速度。速度控件1012可以由用户直接、手动修改。小节控件1014显示对于多音轨录音的小节数。小节控件1014可以被配置成显示在现场循环期间的当前小节数、小节总数、或者可替换地,用来选择多音轨录音的特定小节数以用于未来在界面100中显示。

节拍控件1016显示对于多音轨录音的节拍数。节拍控件1016可以被配置成显示对于每个小节的节拍总数,或者,可替换地,在多音轨录音回放期间的当前节拍数。时间控件1018显示对于多音轨录音的时间。该时间控件1018可以被配置成显示对于多音轨录音的总时间、对于当前所选的现场循环的时间长度、在现场循环期间的绝对或者相对时间、或者用来跳至多音轨录音的特定绝对时间。界面1000的控件(诸如控件1012、1014、1016、1018和1021-1026)的操作可以在图9的方框964中改变。控件1020对应于音轨和录音设定调整,其将关于图9的方框942和962进一步讨论。

添加音轨控件1021使得用户能够手动地将音轨添加到多音轨录音。在选择了控件1021后,新音轨被添加到多音轨录音,并且界面被更新为包括对于所添加的音轨的附加控件1040-1054,其操作如下文那样讨论。渲染WAV控件1022生成和存储来自多音轨录音的至少一部分的WAV文件。在该WAV文件中渲染的多音轨录音的部分以及其他存储参数可以进一步被用户在选择渲染WAV控件1022时键入。进一步地,除了WAV之外,其他音频文件格式也可以通过诸如控件1022之类的控件而变得可用。

滴答声音轨控件1023切换滴答声音轨的回放。装备控件(armed control)1024切换开启和关闭RSLL 142的录音组件以及设备用于对可听输入进行录音的能力。装备控件1024使得最终用户能够与其他用户说话、练习话音输入、并且在录音时间期间创作其他可听声音,而不会使得那些声音被转换成被RSLL 142进一步处理的可听输入。

电路参数控件1025使得能够实现用户校准录音电路参数,如将关于图11进一步讨论的。滑块1026使得多音轨录音回放的音量能够被控制。回放控件1030使得能够实现多音轨录音的回放。该回放与进一步显示的录音参数协同进行,并且通过控件1012-1018控制。例如,回放控件1030可以发起从经由控件1014-1018指示的位置开始的、并且以在控件1012中显示的速度的多音轨录音的回放。如以上指出的,该控件1030还使得能够实现附加可听输入的录音,以用于生成对于多音轨录音的另一音频音轨。位置控件1032还可以用于控制多音轨录音的当前回放位置。例如,控件1032可以使得回放在多音轨录音的绝对开始处发起,或者可替换地,在当前现场循环的开始处发起。

用户界面1000上的网格1050表示在多音轨录音的一个或者多个音轨内的单独声音的回放和定时,其中每行表示单个音轨,并且每列表示时间增量。每行例如可以包括对于在单个小节中的每个时间增量的框。可替换地,每行可以包括用以表示对于现场循环的总持续时间的时间增量的足够的框。在网格1050中具有第一阴影或者颜色的框(诸如框1052)可以表示其中声音在现场循环期间被回放的相对定时,而其他框(诸如框1054)各自指示在其中单独声音没有被回放的音轨内的时间增量。经由手动控件1021添加的音轨初始地包括诸如框1054之类的框。选择诸如框1052或者框1054之类的框可以在与所选框相关联的时间增量处添加或者从音轨中移除声音。到网格1050中的框的经由手动输入所添加的声音可以包括对于针对该音轨所选的乐器的默认声音,或者可替换地,根据对于音轨的可听输入而量化的至少一个声音的副本。这种利用网格1050的手动操作使得可听输入能够生成对于音轨的一个或者多个声音,并且在音轨内的手动选择位置处添加这些声音中的一个或者多个声音的副本。

进度条1056在视觉上指示了多音轨录音的当前回放位置的时间增量。网格1050中的每个音轨与一组音轨控件1040、1042、1044、1046和1048相关联。移除音轨控件1040使得能够实现将音轨从多音轨录音中移除,并且可以被配置成选择性地从多音轨录音的一个或者多个小节中移除音轨。

乐器选择控件1042使得能够实现在所生成的音频音轨中可听输入的声音被转换成的乐器的选择。如在图10A中图示的,包括打击或者其他类型的非打击乐器的多个乐器可以从下拉菜单中手动地选择。可替换地,默认乐器或者乐器的默认进程可以针对每个给定音频音轨自动选择或者预定。当没有选择任何乐器时,在所生成的音频音轨中的每个声音可以基本上对应于原始可听输入的声音,其包括具有初始可听输入的音色。在一个实施例中,乐器可以基于训练RSLL 142而被选择,以基于例如每个特定声音的频带分类而将可听项中的特定声音转换成相关联的乐器声音。

静音/独奏(solo)控件1044将相关联的音轨静音或者将除了与控件1044相关联的音轨之外的所有其他音轨静音。速率控件1046使得能够实现针对所转换的音频音轨生成的乐器声音的初始击打或者敲打强度的调整,其可以影响针对相关联音频音轨生成的每个乐器声音的峰值、持续时间、释放和总幅度形状。这样的速率可以被手动地键入,或者可替换地,基于从其生成一个或者多个乐器声音的可听输入声音的属性来提取。音量控件1048使得能够实现在多音轨录音中的每个音轨的回放音量的单个控制。

图11图示了用于校准录音电路的界面1100的一个实施例。界面1100可以表示可在控件1025(见图10A)被选择时出现的屏幕显示弹窗等等的一个示例。在一个实施例中,界面1100包括麦克风增益控件1110,其使得能够实现对所接收的可听输入的幅度的调整。上部控件1102和下部控件1130和半衰期(half-life)控件1140提供了附加控制和验证,以用于将所接收的信号标识为用于由系统100进一步处理的可听输入。校准电路发起预定的滴答声音轨,并且可以引导用户复制可听输入信号中的滴答声音轨。在可替换实施例中,用于校准的滴答声音轨可以由诸如麦克风之类的音频输入设备作为可听输入直接接收,而不要求用户可听地复制滴答声音轨。基于生成滴答声音轨中的声音和接收可听输入中的声音之间的相对定时差,可以确定系统等待时间1160。该等待时间值可以由RSLL 142进一步采用,以改进可听输入的量化以及在针对随后导出要添加到多音轨录音的附加音频音轨而接收的可听输入和多音轨录音的回放之间所检测的相对定时。

因此,如图示的,界面1000和1100向用户呈现了欢迎且无威胁性的、有力的、并且一致的、且学习直观的控件空间,其对于并非专业音乐人或者以其他方式不熟悉数字音频著作工具的外行用户而言是特别重要的。

图12A、12B和12C一同图示了可连同多音轨录音中的音频音轨的录音和修改使用的又一个示例性视觉显示。在该示例中,音频频率(实际和形态的(由频移器210进行的后频率位移))、分割部分、量化和速度信息被图形地提供,以便向用户提供甚至更加直观的体验。例如,首先转向图12A,提供了用于现场循环的图形控件空间1200。控件空间包括标识音轨中的分割部分(或者音乐小节)中的每个的多个分割部分指示器1204(在图12A-C的情况下示出了小节1到4)。在图12A-C中图示的图形用户界面的一个实施例中,垂直线1206图示了每个小节内的节拍,其中每个小节的垂直线的数目优选地对应于拍号的上面的数。例如,如果音乐作曲被选为使用3/4拍号来作曲,则每个小节将包括三个垂直线来指示在每个小节或者分割部分中存在三个节拍。在图12A-C中图示的用户界面的相同实施例中,水平线1208还可以标识与可听输入要转换成的所选乐器相关联的基本频率。如将在图12A-C的实施例中进一步图示的,还可以提供乐器图标1210来指示所选的乐器,诸如在图12A-C中所选的吉他。

在图12A-C中图示的实施例中,实线1212表示由最终用户或是话音地或是使用音乐乐器录音的一个音轨的音频波形;而多个水平条1214表示已经由音频转换器140的频移器210和量化器206根据音频波形而生成的音符形态。如所描绘的,所生成的形态的每个音符已经在时间上进行了位移,以便与每个分割部分的节拍相对齐,并且在频率上进行了位移,以便对应于所选乐器的基本频率之一。

如通过将图12A与12B与12C比较而描绘的,还可以提供回放条1216来标识当前正由音轨录音器202依照图9的过程播放的现场循环的特定部分。因此,回放条1216随着现场循环的播放而从左到右移动。在到达第四小节的结束处之后,回放条返回到小节一的开始处,并且再次顺序地重复循环。最终用户可以通过在循环中的适当点处对附加音频进行录音来在现场循环内的任何点处提供附加音频输入。虽然在图12A-C中未示出,但是每个附加录音可以用来提供新音轨(或者音符集)以用于在现场循环内进行描绘。单独音轨可以通过添加附加乐器图标1210而与不同乐器相关联。

图13A、13B和13C一同图示了用于经由图12A-C的界面手动更改之前生成的音符的过程的一个示例。如在图13A中示出的,最终用户可以使用指针1304来选择特定音符1302。如在图13B中示出的,最终用户然后可以将音符垂直拖到另一水平线1208,以便更改所拖动音符的音高。在该示例中,音符1302被视为移动到较高的基本频率。预计的是,还可以将音符移动到在乐器的基本频率之间的频率。如在图13C中示出的,音符的定时还可以通过选择音符的形态描绘的结束并且然后水平拖动其来进行更改。在图13C中,音符1304的持续时间已经被延长。如还在图13C中描绘的,延长音符1304的结果是由量化器206对音符1306的自动缩短,以保持节拍,并且避免由单个乐器演奏重叠的音符。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,相同或者相似方法可以用来缩短所选音符的持续时间,从而导致另一相邻音符的自动延长,并且进一步地,音符的持续时间可以从形态描绘的开始处以关于修改该描绘结尾的相同方式来改变。应该由本领域普通技术人员相似地理解的是,相同的方法可以用来从音轨中删除音符或者复制音符以用于插入在音轨的其他部分处。

图14A、14B和14C图示了供系统100使用的又一个示例性视觉显示。在该示例中,视觉显示使得用户能够对与打击乐器相关联的多音轨录音进行录音和修改。首先转向图14A,控件空间1400包括表示一个或者多个打击音轨内的单独声音的回放和定时的网格1402。如在图12A-C的图示中,每个具有四拍的分割部分1-4在图14A-C的示例中描绘出。例如,在图14A中,网格1402的第一行表示与第一大鼓相关联的声音的回放和定时,网格1402的第二行表示与小军鼓相关联的声音的回放和定时,网格1402的第三和第四行表示与铙钹相关联的声音的回放和定时,而网格1402的第五行表示与落地鼓相关联的声音的回放和定时。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,这些特定打击乐器以及其在网格1402上的次序仅仅意味着图示概念,并且不应该被看做是将该概念限制为该特定示例。

在网格中的每个框表示对于与相关打击乐器相关联的声音的定时增量,其中无阴影的框指示着在该时间增量处没有任何要播放的声音,而阴影框指示着在该时间增量处要播放某个声音(与相关打击乐器的音色相关联)。因此,图14A图示了没有任何要播放的声音的示例,图14B图示了其中要在由阴影框指示的时间处播放大鼓的声音的示例,并且图14C图示了其中要在由阴影框指示的时间处播放大鼓和符号的声音的示例。对于每个打击乐器音轨而言,与特定打击乐器相关联的声音可以以各种方式被添加到用于该乐器的音轨。例如,如在图14B或者14C中示出,回放条1404可以被提供,以视觉地指示在现场循环期间的多音轨录音的当前回放位置的时间增量。因此,在图14B中,回放条指示第三小节的第一拍当前正在播放。然后可以使得用户能够通过在回放条1404在与特定节拍相关联的方框之上时对声音进行录音来在特定节拍处添加与特定打击乐器相关联的声音。在一个实施例中,声音要与之相关联的乐器音轨可以通过用户选择或者点击适当乐器来手动标识。在该情况下,由用户做出的声音的特定本质和音高可能并不重要,但是预计的是,由用户做出的声音的音量可以影响针对打击音轨生成的相关联声音的增益。可替换地,由用户做出的声音可以指示声音要与其相关联的打击乐器。例如,用户可以发声声音“boom”、“tsk”、“ka”,以分别指示大鼓、符号或者嗵嗵鼓节拍。在又一个实施例中,可以使得用户能够通过点击或者选择网格1402中的方框来简单地添加或者从音轨中移除声音。

多实录自动作曲模块

MTAC模块144(图1A)被配置成连同音频转换器140以及可选地RSLL 142操作,以使得能够实现自动产生从实录集合中导出的单个“最佳”实录。MTAC模块144的一个实施例在图15中图示。在该实施例中,MTAC模块144包括用以对来自录音音频的每个实录的分割部分进行评分的分割部分评分器1702、以及用以基于由分割部分评分器1702标识的分数来汇编单个“最佳”实录的作曲器1704。

分割部分评分器1702可以被配置成基于任何一个或者多个准则来对分割部分进行评分,其可以利用在处理器2902上运行的一个或者多个过程。例如,分割部分可以基于相对于针对总体作曲的所选音调的该分割部分的音调来评分。通常,表演者可能会在不知道走调的情况下演唱出走调的音符。因此,分割部分内的音符还可以基于音符的音调和对于该分割部分的适当音调之间的差异来评分。

然而,在许多情况下,新手最终用户可能不知道他想要演唱什么音乐音调。因此,分割部分评分器1702还可以被配置成自动标识音调,其可以被称为“自动音调检测”。利用“自动音调检测”,分割部分评分器1702可以确定最接近于最终用户的所录音的音频表演的音调。系统50可以突显与自动检测音调相比走调的任何音符,并且可以进一步将那些音符自动调整为在自动确定的音调符号中的基本频率。

用于确定音乐音调的一个说明性过程在图16中描绘。如在第一方框中示出的,该过程利用向音调内的每个基本频率给定的权重针对12个音乐音调(C、C#/Db、D#/Eb、E、F、F#/Gb、G、G#/Ab、A、A#/Bb、B)中的每一个对整个音轨进行评分。例如,对于某个任意大调的音调权重可以类似于这个:[1,-1,1,-1,1,1,-1,1,-1,1,-1,1],其向以Do开始并且以Re继续等等的音阶中的十二个音符中的每一个分配加权。向每个音符(或者离主音的音程)分配权重可用于任何类型的音调。走调的音符被给定负权重。虽然权重的量值一般是较不重要的,但是其可以被调整为单个用户喜好或者基于来自流派匹配器模块152的输入。例如,在音调中的一些声调更好地定义了该音调,因此,其权重的量值可以更高。此外,不在音调中的一些声调比其他声调更常见;其可以保持为负但是具有较小的量值。因此,将对于用户或者系统100而言可能的是,(基于例如来自流派匹配器模块152的输入)针对大调开发更加细化的音调权重阵列,其可以是[1,-1,.5,-.5,.8,.9,-1,1,-.8,.9,-.2,.5]。12个大调的每一个将与权重阵列相关联。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,小调(或者任何其他音调)可以通过参考示出在音调内的音符的相对位置的任何文档针对计及音调内的声调的每个阵列选择权重而被容纳。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员相似地理解的,音调权重阵列可以包含对于每个可能的音调组合(即,C到Db、C到D、C到Eb、C到E、……、B到C、B到Db、B到D、……)的加权。所使用的特定权重可以基于任何特定音调组合将在特定音调中演奏的概率(从可通过流派划分的音乐作曲的一些样本的分析导出)。

如在图16的第三方框中示出的,每个音符相对于总乐段(passage)(或者分割部分)的持续时间的相对持续时间乘以当前针对循环被分析的音调中的音符的音高等级的“权重”,以确定用于乐段中的每个音符的分数。在每个乐段开始时,分数归零,然后如针对当前音调相比的用于每个音符的分数彼此相加,直到在乐段中不存在更多音符为止,并且过程循环回转以开始分析关于下一音调的乐段。该过程的主循环的结果是用于每个音调的单个音调分数反映用于乐段中的每个音符的所有分数的聚集。在图16的过程的最后一个方框中,具有最高分数的音调将被选为最佳音调(即,对于乐段最适当的)。如将被本领域普通技术人员理解的,不同音调可以是平局(tie)或者具有足够相似的分数以成为基本上平局。

在一个实施例中,由图17中的值“索引”所表示的音符在音调中的音高等级可以使用以下公式来确定:索引:=(音符.音高-音调+12)%12,其中音符.音高表示与用于某种乐器的特定音高相关联的数值,其中数值优选地以增高的音高的次序来分配。以具有88个音调的钢琴为示例,每个音调可以与1到88之间(包括1与88在内)的数字相关联。例如,音调1可以是A0双踏板A(Double Pedal A),音调88可以是C8第八个八度,而音调40可以是中央C。

可能合期望的是,改进音乐音调确定的准确度,而不是利用之前方法来实现。在这样的改进的准确度是期望的情况下,分割部分评分器1702(或者可替换地,和声器146(以下讨论))可以确定前四个最可能的音调(通过初始音调符号确定方法(之前描述的)来确定)中的每个是否具有一个或者多个大调或者小调模式。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,可能的是,确定任何多个可能音调的大调或者小调模式来实现在音调符号准确度方面的改进,其中要理解,所分析的可能音调数越多,处理要求越多。

可能音调中的每个音调是否具有一个或者多个大调或者小调模式的确定可以通过对馈送给分割部分评分器1702(或者在一些实施例中由主音乐源2404馈送给和声器146)的音符执行音程简档描述来完成。如图16A中示出的,该音程简档描述使用12x12的矩阵来执行,以便反映每个潜在的音高等级。初始地,在该矩阵中的值被设置为零。然后,对于在音符集合中的每个音符到音符的转移而言,两个音符的持续时间的平均值被添加到在由音高等级第一音符:音高等级第二音符所定义的位置处保存的任何预先存在的矩阵值。因此,例如,如果音符集合是:

音符EDCDEE持续时间10.5210.51

其将导致在图16A中描绘的矩阵值。然后,该矩阵与大调音程简档和小调音程简档组合使用(如下讨论的)以计算小调总和以及大调总和。大调和小调音程简档中的每一个是12x12的矩阵—其包含如图16A的矩阵的每个潜在音高等级—其中矩阵中的每个索引具有在-2和2之间的整数值,以便对在每个音调中的各种音高的值进行加权。如将被本领域普通技术人员理解的,在音程简档中的值可以被设置为整数值的不同集合,以实现不同的音调简档。用于大调音程简档的值的一个潜在集合在图16B中示出,而用于小调音程简档的值的一个潜在集合在图16C中示出。

然后,可以按照如下来计算大调和小调总和:

1. 将小调和大调总和初始化为零;

2. 对于在音符转移阵列中的每个索引而言,将整数值乘以其在小调音程简档矩阵中的对应位置中的值;

3. 将每个乘积添加到运行的小调总和;

4. 对于在音符转移阵列中的每个索引而言,将所存储的值乘以其在大调音程简档矩阵中的对应位置;以及

5. 将乘积添加到运行的大调总和。

在完成了针对矩阵中的每个索引的这些乘积-总和计算之后,大调和小调总和的值与被分配给被确定为初始音符符号确定的多个最可能音调的分数相比较,并且做出关于哪个音调/模式组合是最佳的确定。在完成了针对矩阵中的每个索引的这些乘积-总和计算之后,大调和小调总和的值与其在音程简档中的每个音程简档中的对应矩阵索引相乘。随后,这些乘积的总和构成了给定的音符集合在该模式中的概率的最终评估。所以,对于在图16A中阐述的示例,对于C大调模式(图16B),我们将会有:(1.25*1.15)+(1.5*.08)+(.75*.91)+(.75*.47)+(.75*-.74)=1.4375+.12+.6825+.3525+(-.555)=2.0375。因此,对于C大调而言,示例旋律将导致2.0375的分数。

然后,为了确定对于该模式是否是小调的值,然而,我们需要将小调音程简档位移到相对小调中。其原因在于,音程简档被设置为将模式的主音(不是音调符号的根音)考虑为我们的第一列和第一行。我们可以通过查看以下音乐来理解为什么是这样的。任何给定音调符号可以或是大调或者小调。例如,与C大调的音调符号兼容的大调模式是C大调模式。与C大调的音调符号兼容的小调模式是A(自然)小调模式。因为在我们的小调音程中的左上的数值表示在考虑C小调模式时的从C到C的转移,所以比较的所有索引将位移3步(或者更具体地,向右3列,并且向下3行),因为小调音调符号的主音/根音相对于大调音调符号的主音/根音是向下3个半音。一旦位移了3步,在我们的音程简档中的左上的数值表示在A小调模式中从A到A的转移。使用我们图16A的示例来运行这些数字(采用该已位移的矩阵):(1.25*.67)+(1.5*-.08)+(.75*.91)+(.75*.67)+(.75*1.61)=.8375+(-.12)+.6825+.5025+1.2075=3.11。然后,为了比较两个模式的结果,我们需要将两个音程矩阵进行归一化。为了做到这一点,我们简单地针对每个矩阵将所有矩阵值一起相加,并且除以总和。我们发现大调矩阵粗略地具有累积和的1.10的比率,所以我们将我们的小调模式值乘以该量来对两个模式结果归一化。因此,来自我们示例的结果将是示例性音符集合最可能处于A小调模式中,因为3.11*1.10=3.421,其大于2.0375(对于大调模式的结果)。

以上描述的相同过程将应用于任何音调符号,只要音符转移的初始矩阵相关于所考虑的音调。所以,使用图16A作为参考,如果在不同示例作曲中,所考虑的音调符号是F大调,则初始矩阵的行和列以及由图16B和16C表示的音程简档的行和列将以F开始并且以E结束,而不是以C开始并且以B结束(如在图16A中示出的)。

在最终用户知道他们希望处于哪个音乐音调的另一个实施例中,用户可以标识该音调,在该情况下,图16的过程将仅针对由最终用户选择的那个音调开始,而不是所指示的12个音调。以这种方式,每个分割部分可以以以上讨论的方式针对由用户所选的单个预定音调来进行评判。

在另一个实施例中,分割部分还可以针对和弦约束来评判。和弦顺序是可在用户希望对伴奏进行录音时采用的音乐约束。伴奏可以典型地被认为是在和弦音轨中的音符的琶音作曲(arpeggiation),并且还可以包括和弦其本身。当然,可准许演奏和弦之外的音符,但是其必须典型地依据其音乐价值来进行评判。

在图17、17A和17B中描绘出了一种用于基于和弦顺序约束来对分割部分的和声质量进行评分的说明性过程。在图17的过程中,按照所选和弦将与音频音轨的给定分割部分(或者小节)的和声有多好来每遍对一个所选和弦评分。对于每个音符的和弦分数是额外加分(bonus)和乘数的总和。在过程1700的第二方框中,针对乐段中的每个音符,变量重置为零。然后,音符音高的关系与当前所选和弦相比较。如果音符处于所选和弦中,则乘数被设置为过程1700的第一方框中设置的chordNoteMultiplier的值。如果音符是和弦根音(例如,C是C大调和弦的和弦根音)的三全音(即,跨三个声调的音乐音程),则乘数被设置为tritoneMultiplier的值(如在图17A中示出的,其为负,因而指示着该音符与所选和弦的和声不好)。如果音符是高于根音的一个或者八个半音(或者在小调和弦的情况下高于根音的四个半音),则乘数被设置为nonKeyMultipier的值(如在图17A中示出的,其也为负,因而指示着该音符与所选和弦的和声不好)。没有落入前述分类中的音符被分配零乘数,并且因此对和弦分数不具有影响。如在图17B中示出的,乘数由当前音符所占的乐段的部分持续时间来缩放。如果音符在乐段的开始处或者如果音符是用于分析所选的当前和弦的根音,则向和弦分数添加额外加分。关于乐段的和弦分数是针对每个音符的这种计算的累计。一旦分析了第一所选和弦,系统50可以重新使用过程1700分析其他所选和弦(一次一个)。来自每遍的、通过过程1700的和弦分数可以彼此比较,并且最高分数将确定将被选为最适合该乐段来对该乐段进行伴奏的和弦。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,可能会发现的是,两个或者更多和弦具有相对于所选乐段的相同分数,在该情况下,系统50可以基于各种选择(包括但不限于音乐音轨的流派),在那些和弦之间做出决定。还应该被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,以上阐述的评分在某种程度上是对于西方音乐中的流行音乐流派的最佳设计选择。因此,预计的是,对于乘数的选择准则可以针对不同音乐流派而更改和/或被分配给图17中的各种乘数选择准则的乘数值可以被改变为反映不同音乐喜好,而不会偏离本发明的精神。

在另一个实施例中,分割部分评分器1702还可以针对某个所允许的音高值的集合(诸如在西方音乐中典型的半音)来评判分割部分。然而,其他音乐传统(诸如中东文化中的那些)中的四分音也相似地被预计。

在另一个实施例中,分割部分还可以基于在该分割部分内的各种音高之间的转移质量来评分。例如,如之前讨论的,音高中的改变可以使用音高脉冲检测来标识。在一个实施例中,相同的音高脉冲检测还可以用来标识在分割部分中的音高转移的质量。在一个方法中,系统可以利用如下的一般理解的概念,即:阻尼谐振荡器一般满足以下等式:

其中w0是振荡器的无阻尼角频率,而是被称为阻尼比的依赖于系统的常数。(对于在具有弹簧常数k和阻尼系数c的弹簧上的物质而言,有)。要理解,阻尼比的值决定性地确定了阻尼系统的行为(例如,过阻尼、临界阻尼(=1)或者欠阻尼)。在临界阻尼系统中,系统在没有振荡的情况下尽可能快地返回平衡。一般地,专业歌手能够以临界阻尼的响应改变他的/她的音高。通过使用音高脉冲分析,音高改变事件的真实开始和音高改变的质量两者都可以被确定。特别地,音高改变事件是推导出的阶跃函数,而音高改变的质量由值确定。例如,图19描绘了对于三个值的阻尼谐振荡器的阶跃响应。一般地,的值指代较差的话音控制,其中歌手“搜寻”目标音高。因此,值越大,归因于分割部分的音高转移分数越差。

用于对音高转移质量评分的另一个示例性方法在图20中示出。在该实施例中,分割部分的评分可以包括接收音频输入(过程2002),将音频输入转换成示出了在音高改变之间的真实振荡的音高事件的形态(过程2004),使用音高事件形态来构造具有在每个音高事件之间的临界阻尼的音高改变的波形(过程2006),计算在所构造的波形与原始音频波形中的音高之间的差异(过程2008),并且基于该差异来计算分数(过程2010)。在一个实施例中,分数可以基于在“已滤波音高”和“重建音高”之间的有符号均方根误差。简单来说,这种计算可以向最终用户指示他们与“理想”音高偏离了多远,其继而可以转成音高转移分数。

以上描述的评分方法可以用来针对显式参考或者隐式参考对分割部分评分。显式参考可以是现有的或者预先录音的旋律音轨、音乐音调、和弦顺序或者音符范围。显式的情况典型地在表演者配合另一个音轨进行录音时使用。显式的情况可以类似于对卡拉OK进行评判,因为音乐参考存在并且音轨使用之前已知的旋律作为参考来分析。另一方面,隐式参考可以是从已由音轨录音器202保存在数据存储装置132中的多个之前录音的实录所计算的“目标”旋律(即,系统对于表演者打算产生的音符的最佳猜测)。隐式的情况典型地在用户在此期间不可用任何参考时对歌曲的主旋律进行录音时使用,诸如原始作曲或者分割部分评分器1702不知晓的歌曲。

在参考是隐式的情况下,参考可以从实录计算出。这典型地通过确定针对每个之前录音的音轨的N个分割部分中的每一个分割部分的形态的形心来实现。在一个实施例中,形态的集合的形心简单地是通过取针对形态中的每个事件的平均音高和持续时间来构造的新形态。这针对n=1到N重复。所产生的形心将然后被视作是隐式参考音轨的形态。以这种方式针对单个音符而确定的形心的图示在图18中描绘,其中虚线描绘了所产生的形心。预计的是,也可以使用其他方法来计算形心。例如,针对每个实录的形态集的模态平均值可以替代于平均值而被使用。在任何方法中,在计算平均值或者平均数之前,可以丢弃任何在外的值。将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员将理解的是,对于确定实录的形心的附加选项可以基于在说明书中阐述的原理来开发,而不必进行过度的实验。

如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,前述用于对分割部分进行评分的独立方法中的任何数目可以被组合以提供对考虑的更宽泛集合的分析。每个分数可以被给定相同或者不同的权重。如果分数被给定不同权重,则其可以基于如由流派匹配器模块152确定的作曲的特定流派。例如,在一些音乐流派中,可以将较高值置于表演的某一方面(与另一方面相比)。选择应用何种评分方法还可以自动地或者由用户手动地确定。

如在图23中图示的,音乐表演的分割部分可以选自多个录音音轨中的任何录音音轨。作曲器1704被配置成组合来自多个录音音轨的分割部分,以便创作出理想的音轨。选择可以是通过图形用户界面的手动选择,其中用户可以查看针对分割部分的每个版本标识的分数,试听分割部分的每个版本,并且选择一个版本作为“最佳”音轨。可替换地,或者附加地,分割部分的组合可以通过基于以上介绍的评分概念选择具有最高分数的每个音轨分割部分的版本来自动执行。

图21图示了用于使用MTAC模块144连同音频转换器140提供来自实录集合中的单个“最佳”实录的过程的一个示例性实施例。在步骤2102中,用户设置配置。例如,用户可以选择分割部分是否要针对显式或者隐式参考而评分。用户还可以选择一个或者多个准则(即,音调、旋律、和弦、目标等等)来用于对分割部分评分和/或提供用于标识每个准则的相关权重或者重要性的排名。然后,实录在步骤2104中被录制,在步骤2106中被分割,并且在步骤2108中使用以上描述的过程被转换成形态。如果采用了RSSL模块142,则如以上描述的,在实录结束时,音轨可以自动循环回到开始处,从而允许用户对另一实录进行录音。另外,在录音期间,用户可以选择听滴答声音轨、之前录音的音轨、任何单个音轨的MIDI版本或者如以上关于显式或者隐式参考(参见图18、19、20和21)计算的“目标”音轨的MIDI版本。这允许用户收听他可以针对其产生下一(希望是改进的)实录的参考。

在一个实施例中,最终用户可以选择参考和/或一个或者多个方法,针对其(一个或者多个)已录音的实录应该被评分,步骤2110。例如,用户的配置可以指示分割部分可以针对音调、旋律、和弦、根据一个或者多个音轨的形心构造的目标形态、或者以上讨论的任何其他方法来评分。指导选择可以由用户手动做出或者由系统自动设置。

实录的分割部分在步骤2112中被评分,并且在步骤2114,可以向用户指示对于音轨中的每个分割部分的评分的指示。这可以通过向最终用户提供最终用户的音高或者定时在何处断开的指示以使得最终用户可以在未来实录中改进而有益于最终用户。用于图示分割部分的分数的图形显示的一个图示在图22中图示。特别地,图22的垂直条描绘了根据音频源所录音的音频波形,主要为水平的实心黑线描绘了音频源试图模仿的理想波形,并且箭头表示音频源(例如,歌手)的音高如何与理想波形(被称为显式参考)不同。

在步骤2116中,最终用户手动地确定是否对另一实录进行录音。如果用户期望另一实录,则过程返回到步骤2104。一旦最终用户已经对针对音轨的多个实录的所有实录都进行了录音,则过程进行到步骤2118。

在步骤2118中,可以向用户提供关于“最佳”总体音轨是要从所有实录中手动编制还是自动编制的选择。如果用户选择创作手动作曲,则在步骤2120中,用户可以简单地试听第一实录的第一分割部分,其后跟着第二实录的第一分割部分,直到候选的第一分割部分的每一个已经被试听过为止。用于促进在分割部分的各种实录之间的试听和选择的一个界面在图23中示出,其中最终用户通过使用定点设备(诸如鼠标)来点击对于每个分割部分而实录的每个音轨,以便提示该音轨的回放,并且然后,用户随后通过例如双击所期望的音轨和/或将所期望的音轨点击和拖动到底部最终的编制音轨2310中来选择这些候选分割部分之一作为该分割部分的最佳表演。用户针对第二、第三和随后的分割部分重复该过程,直到到达音轨结束为止。然后,在步骤2124中,系统通过将所选分割部分粘接到一起成为单个新音轨而构造“最佳”音轨。在步骤2126中,用户然后还可以决定是否对另外的实录进行录音,以便改进其表演。如果用户选择自动编制“最佳”音轨,则在步骤2122中,新音轨基于在每个实录中的每个分割部分的评分而被拼接到一起(优选地使用针对每个分割部分的最高评分实录)。

从实际录音音轨的分割部分拼接到一起的虚拟“最佳”音轨的一个示例也在图23中图示。在该示例中,最终编制的音轨2310包括来自实录1的第一分割部分2302、来自音轨5的第二分割部分2304、来自实录3的第三分割部分2306和取自音轨2的第四分割部分2308,而没有使用来自音轨4的分割部分。

和声器

和声器模块146实施了一种用于对来自伴奏源的音符与主源的音乐音调和/或和弦进行和声的过程,所述主源可以是话音输入、音乐乐器(真实的或者虚拟的)、或者可以可被用户选择的预先录音的旋律。该和声过程的一个示例性实施例是连同图24和25描述的伴奏源。这些图中的每一个图被图示为数据流图(DFD)。这些图提供了通过信息系统的数据“流”的图形表示,其中数据项经由内部过程从外部数据源或者内部数据仓库流到内部数据仓库或者外部数据接收装置(sink)。这些图不打算提供关于过程的定时或者排序的信息,或者关于过程是否将顺序地或者并行地操作的信息。另外,将输入控制流转换成输出控制流的控制信号和过程一般由虚线指示。

图24描绘了和声器模块146可以一般包括变换音符模块2402、主音乐源2404、伴奏源2406、和弦/音调选择器2408和控制器2410。如所示出的,变换音符模块可以接收来自主音乐源2404的主音乐输入;以及来自伴奏源2406的伴奏音乐输入。主音乐和伴奏音乐可以均由现场音频或者之前存储的音频组成。在一个实施例中,和声器模块146还可以被配置成基于主音乐输入的旋律来生成伴奏音乐输入。

变换音符模块2402还可以从和弦/音调选择器2408接收音乐音调和/或所选和弦。来自控制器2410的控制信号向变换音符模块2402指示音乐输出是否应该基于主音乐输入、伴奏音乐输入和/或来自和弦/音调选择器2408的音乐音调或者和弦以及应该如何操控变换。例如,如以上描述的,音乐音调和和弦可以从主旋律或者伴奏源中导出,或者甚至从由和弦/音调选择器2408指示的手动所选音调或者和弦选择。

基于控制信号,变换音符模块2402可以可替换地将主音乐输入变换成与和弦或者音乐音调协和的音符,从而产生和声输出音符。在一个实施例中,输入音符使用预先建立的协和音程度量被映射到和声音符。在以下更详细讨论的实施例中,控制信号还可以被配置成指示一个或者多个“蓝调音符”是否可以在不由变换音符模块2402变换的情况下被允许位于伴奏音乐输入中。

图25图示了一般示出了可以被图24的变换音符模块2402在选择音符来与主音乐源2404“和声”时执行的更详细过程的数据流图。如所示出的,在过程2502处接收主音乐输入,其中确定了主旋律的音符。在一个实施例中,主旋律的音符可以使用所描述的技术之一来确定,诸如将主音乐输入转换成标识其开始、持续时间和音高或者其任何子集或者组合的形态。当然,如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,可以使用从主旋律确定音符的其他方法。例如,如果主音乐输入已经采用MIDI格式,则确定音符可以简单地包括将音符从MIDI流中进行提取。当确定了主旋律音符之后,其被存储在主音乐缓冲器2510中。在过程2504处,所提出的伴奏音乐输入从伴奏源2406(如在图24中示出的)接收。过程2504确定了伴奏音符并且可以从MIDI流(在可用的情况下)中提取MIDI音符,将音乐输入转换成标识其开始、持续时间和音高或者其任何子集或者组合的形态,或者使用将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的另一方法。

在过程2506处,可以根据在主音乐缓冲器2516中找到的音符来确定主旋律的和弦。主旋律的和弦可以通过以相关联于以上图17中阐述的相同方法分析音符或者通过使用由本领域普通技术人员理解的另一方法(诸如使用由以下描述的和弦匹配器154执行的隐马尔科夫模型的和弦进程分析)来确定。隐马尔科夫模型可以基于本文中相关联于基于自然音阶和声理论的和声概率的转移矩阵所讨论的和弦和声算法来确定最可能的和弦顺序。在该方法中,给定和弦与旋律小节正确和声的概率乘以从之前的和弦到当前和弦的转移的概率,并且然后发现了最佳路径。音符的定时以及音符其本身可以被分析(除了其他潜在考虑之外,诸如流派)来确定主旋律的当前和弦。一旦已经确定了和弦,则其音符被传递给变换音符2510,以等待由来自控制协和音程2514的控制信号的潜在选择。

在图25的过程2508,主旋律的音乐音调可以被确定。在一个实施例中,参考以上图16描述的过程可以被用来确定主旋律的音调。在其他实施例中,包括使用隐马尔科夫模型等等的统计技术可以用来根据存储在主音乐缓冲器中的音符确定音乐音符。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,确定音乐音调的其他方法被相似地预计,其包括但不限于过程1600的组合以及统计技术的使用。过程2508的输出是对变换音符2510的许多输入中的一项。

过程2510(图25)“变换”用作是伴奏的音符。将被输入到过程2510中的伴奏音乐音符进行变换通过控制协和音程2514(将在以下更详细地讨论)的输出来确定。基于控制协和音程2514的输出,变换音符过程2510可以在以下项之间选择:(a)来自过程2504的音符输入(其在图24中被示为已经从伴奏源2406接收到伴奏音乐输入);(b)来自和弦中的一个或者多个音符(其在图24中示出为已经从和弦/音调选择器2408接收到);(c)来自所选音乐音调的音符(已经从和弦/音调选择器2408(如图24中示出的)所接收的音调身份);(d)从来自过程2506的和弦输入而来的一个或者多个音符(其被示为已经是基于根据主音乐缓冲器2516中的音符而确定的音符和音乐音调的);或者(e)由过程2508根据主音乐缓冲器2516中的音符确定的音乐音调。

在过程2512,所变换的音符可以通过修改伴奏音乐输入的音符以及修改伴奏音乐输入的音符的定时而被渲染。在一个实施例中,所渲染的音符被可听地播放。附加地或者可替换地,所变换的音符还可以在视觉上被渲染。

控制协和音程2514表示过程基于来自一个或者多个源的一个或者多个输入做出的、控制由变换音符过程2510做出的音符选择的决定的集合。控制协和音程2514从控制器2410(见图24)接收若干输入控制信号,其可以直接来自用户输入(可能来自图形用户输入或者预设置的配置)、来自和声器模块146、流派匹配器模块152或者另一外部过程。在可被控制协和音程2514所考虑的潜在用户输入之间是要求输出音符是以下项的用户输入:(a)被约束为经由和弦/音调选择器2408(见图24)选择的和弦;(b)被约束为经由和弦/音调选择器2408(见图24)选择的音调;(c)与由2408(见图24)选择的和弦或者音调相和声;(d)被约束为由过程2506确定的和弦;(e)被约束为由过程2508确定的音调;(f)与根据主音符确定的和弦或者音调相和声;(g)被约束在声调的特定范围内(例如,低于中央C、在中央C的两个八度内等等)和/或(h)被约束在声调的特定选择内(即,小调、增强等等)。

在一个方法中,控制协和音程2514可以进一步包括用以发现“坏声音”音符(基于所选和弦进程)并且将其对齐到最近的和弦声调。“坏声音”音符将仍然处于正确音调中,但其将对于正在演奏的和弦而言听起来糟糕。音符被分类成3个不同集合,这有关于其演奏的和弦。集合被定义为:“和弦声调(chordTones)”、“非和弦声调(nonChordTones)”和“糟糕声调(badTones)”。所有音符将仍然处于正确音调中,但是其将具有不同程度的、其声音对于正在演奏的和弦而言有多“糟糕”;和弦声调听起来最佳,非和弦声调听起来还好,而糟糕声调听起来糟糕。附加地,“严格度”变量可以被定义,其中音符基于其应该有多严格地遵循和弦而被分类。这些“严格度”水平可以包括:严格度低、严格度中等、以及严格度高。对于每个“严格度”水平而言,和弦声调、非和弦声调和糟糕声调的三个集合是不同的。进一步地,对于每个“严格度”水平而言,这三个集合总是以这种方式与彼此相关:和弦声调总是和弦与其相一致的声调,糟糕声调是将在该严格度水平听起来“糟糕”的声调,而非和弦声调是未在任一集合中计及的、剩余的自然音阶声调。因为和弦是可变的,所以糟糕声调可以尤其针对每个严格度水平来分类,而其他两个集合可以在给定特定和弦时分类。在一个实施例中,用于标识“糟糕声音”的音符的规则是静止不变的,如下:

严格度低(糟糕声调):

大调和弦上的四度(例如,C大调上的F);

大调和弦上的升四度(例如,C大调上的F#);

小调和弦上的小六度(例如,C小调上的G#);

小调和弦上的大六度(例如,C小调上的A);以及

任何和弦上的小二度(例如,在C小调或者C大调上的C#)。

严格度中等(糟糕声调):

大调和弦上的四度(例如,C大调上的F);

大调和弦上的升四度(例如,C大调上的F#);

小调和弦上的小六度(例如,C小调上的G#);

小调和弦上的大六度(例如,C小调上的A);

任何和弦上的小二度(例如,在C小调或者C大调上的C#);以及

大调和弦上的大七度(例如,C上的B)。

严格度高(糟糕声调):

未落入和弦的任何音符(不是和弦声调)。

仅仅作为“糟糕”的音符可能并不是对于校正的唯一基础,基于古典旋律理论的基本旋律配合逻辑可被用来标识那些将在上下文中听起来糟糕的音符。对于音符是否对齐到和弦声调的规则还可以就以上描述的严格度水平而言动态地定义。每个水平可以使用以上描述的在其对应严格度水平的音符集定义,并且可以进一步就“音级声调(stepTones)”而言被确定。音级声调被定义为在时间上直接落在和弦声调之前的任何音符,并且与和弦声调相距2或者更少的半音;以及在时间上直接落在和弦声调之后的任何音符,并且与和弦声调相距2或者更少的半音。附加地,每个水平可以应用一下的特定规则:

严格度低:对于严格度低而言,音级声调被延长为与和弦声调相距2个音符,以使得对于或者与另一对于或者与和弦声调具有音级关系的音符具有音级关系的任何音符被认为是音级声调。另外,任何由严格度低定义的糟糕声调被对齐到和弦声调(在自然音阶框架中,最近的和弦声调将总是最多距离2个半音),除非该音符是音级声调。

严格度中等:对于严格度中等而言,音级声调不被延长为在时间上与和弦声调相距2个音符(如其处于严格度低中)。作为被定义为严格度中等的糟糕声调的任何音符被对齐为和弦声调。附加地,任何落入到强节拍的强拍上的非和弦声调还被对齐为和弦声调。强拍被定义为在任何节拍的后半时之前开始的任何音符或者在持续了任何节拍的整个前半时的任何音符。强节拍可被定义为如下:

·对于具有可被三整除的节拍的数目(3/4、6/8、9/4)的拍子而言,在第一节拍之后的每个第三节拍以及第一节拍是强节拍(在9/4中,是1、4和7)。

·对于不可被三整除、并且可被二整除的拍子而言,强节拍是第一节拍,以及在其之后的每个第二节拍(在4/4中是1和3;在10/4中是1、3、5、7、9)。

·对于不可被2或者3整除的、并且也不具有5(5是特殊情况)个节拍的拍子而言,第一节拍以及在其之后的每个第二节拍(除了作为最后节拍的第二节拍)被认为是强节拍(在7/4中,是1、3、5)。

·如果拍子每小节具有5个节拍,则强节拍被认为是1和4。

严格度高:任何被严格度高定义为糟糕声调的音符被对齐到和弦声调。然而,如果某个音符被对齐到和弦声调,其将不会被对齐到和弦的三度音。例如,如果D被对齐到和弦C上,则该音符可被对齐到C(根音),而替代于对齐到E(三度音)。

对控制协和音程2514的另一输入是协和音程度量标准,其基本上是来自变换音符过程2510的反馈路径。首先,“协和音程”一般被定义为针对关于某些基本声音的愉悦和声所做的声音。协和音程还可以被认为是不和谐音(其包括任何自由使用的声音,即便其是非和声的)的反义词。因此,如果最终用户已经使得控制信号经由将来自变换音符过程2510的输出音符约束为经由和弦/音调选择器2408手动选择的和弦或者音调的控制器2410馈送到控制协和音程2514中,则可能的是,输出音符中的一项或者多项对于主音乐缓冲器2516而言是非和声的。输出音符是非和声的指示(即,协和音程度量标准)将最终馈送回到控制协和音程2514。虽然由于在反馈以及编程系统中固有的等待时间,控制协和音程2514被设计为迫使由变换音符2510生成的输出音符音轨回到具有主音乐的协和音程中,但是预计若干非和声音符被允许通过进入音乐输出中。实际上,允许由系统产生的音乐中的至少一个非和声音符以及甚至非和声的断裂应该会促进系统50做出较少机械声音形式的音乐作曲,这是由本发明人所期望的。

在一个实施例中,还可以输入到控制协和音程2514中的另一个控制信号指示着一个或者多个“蓝调音符”是否可被允许处于音乐输出中。如以上指出的,出于本说明书的目的,术语“蓝调音符”被给定了比起其在蓝调音乐中的普通使用更加宽泛的意义,作为不处于正确音乐音调或者和弦中的音符,但是其允许在不变换的情况下播放。除了操纵系统等待时间来提供对“蓝调音符”的某种最少插入之外,一个或者多个蓝调累计器(优选地为软件编码的,而不是硬连线的)可以用来为蓝调音符提供某种附加的自由空间。因此,例如,一个累计器可以用来限制在单个分割部分内的蓝调音符数目,另一个累计器可以用来限制在相邻分割部分中的蓝调音符数目,又一个累计器可以用来限制每个某个预定时间间隔或者音符总数的蓝调音符数目。换言之,经由协和音程度量标准的控制协和音程可以对以下的任何一项或者多项进行计数:经过时间、在音乐输出中的蓝调音符的数目、在音乐输出中的总音符数目、每个分割部分中的蓝调音符数目等等。预定的、自动确定的、以及实时确定/调整的上限可以被实时地编程或者作为预设置/预定值。这些值还可以被当前作曲的流派所影响。

在一个实施例中,系统100还可以包括用于提供伴奏音乐源的超级键盘。超级键盘可以是物理硬件设备、或者由计算设备生成和显示的图形表示。在任一种的实施例中,超级键盘可以被认为是对于图24的和弦/音调选择器2408的手动输入。优选地,超级键盘包括在键盘上的至少一行输入键,其动态地映射到在关于现有旋律的音乐音调和/或和弦(即,和弦的一部分)中的音符。超级键盘还可以包括对现有旋律而言非和声的一行输入键。然而,在超级键盘上按压非和声的输入键然后可以被动态地映射到在现有旋律的音乐音调中的音符或者映射到作为对于现有旋律的和弦音符的音符。

按照本发明的超级键盘的一个实施例在图26中图示。在图26中图示的实施例关于对于标准钢琴的音符输出,但是将理解的是,超级键盘可以用于任何乐器。在图26中示出的实施例中,超级键盘的输入键的上行2602映射到标准钢琴键上;中间行2604映射到作为对于现有旋律的音乐音符的音符上;而下行2606映射到在当前和弦内的音符上。更特别地,上行显露出作为常规钢琴中的每八度12个音符,中间行显露出每八度八个音符,而下行显露出每八度三个音符。在一个实施例中,中间行中的每个输入键的颜色可以取决于旋律的当前音乐音调。这样,当旋律的当前音调改变时,曾被选为在中间行显示的输入键也会改变。在一个实施例中,如果由用户从上行键入了非和声的音乐音符,则超级键盘还可以被配置成自动替代地演奏和声音符。以这种方式,演奏者选择了越低的行,则他可以以更受约束的方式来对主音乐伴奏。然而,也设想到其他安排。

图27A图示了按照本发明的和弦选择器的一个实施例。在该实施例中,和弦选择器可以包括和弦轮2700的图形用户界面。和弦轮2700描绘了关于现有旋律的音乐音调中的和弦。在一个实施例中,和弦轮2700显示了从当前所选音乐音调中导出的和弦。在一个实施例中,当前所选的音乐音调由旋律确定,如以上讨论的。附加地或者可替换地,和弦轮的最外的同心圆提供了一种用于选择音乐音调的机制。在一个实施例中,用户可以经由和弦/音调选择器2408通过从和弦轮2700中选择和弦来输入和弦。

在一个实施例中,和弦轮2700描绘了与当前所选音乐音调有关的七个和弦—三个大调和弦、三个小调和弦以及一个减和弦。在该实施例中,减和弦位于和弦轮的中心处;三个小调和弦包围该减和弦;并且三个大调和弦包围了三个小调和弦。在该实施例中,使得演奏者能够通过使用最外的同心圆来选择音乐音调,其中由和弦轮描绘的七个和弦中的每一个由所选的音乐音调来确定。

图27B图示了按照本发明的在系统50的操作期间的特定瞬间的和弦选择器的另一个潜在实施例。在该实施例中,和弦选择器可以包括和弦花(flower)2750。类似于和弦轮2700,和弦花2750描绘了在音乐上落入在当前音频音轨的当前音乐音调内的和弦的至少一个子集。并且和弦花2750还指示了当前正在播放的和弦。在图27B中图示的示例中,音调是C大调(如可从被包括在花瓣上和在中心中的大调和小调和弦的身份中确定的),并且当前播放的和弦由中心中描绘的和弦来指示,其在回放的图示时间中是C大调。和弦花2750被安排成提供关于紧接在当前播放的和弦之后的任何所描绘的和弦的概率的视觉提示。如在图27B中描绘的,最可能的和弦进程将是从当前播放的C大调到G大调,下一最可能的进程将是F大调,在可能性上接下来是A小调。在这种意义上,任何和弦将在另一和弦之后的可能性将不是数学意义上的严密概率,而是在音乐的特定流派中的特定和弦进程的频率的一般概念。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,当主音轨导致不同和弦的计算时,那么和弦花2750将改变。例如,比如说主音乐音轨的下一分割部分实际上被确定为对应于降B大调,则花的中心将示出具有降号的大写B。进而,在C大调的音调中发现的另一和弦将围绕降B“旋转”到指示任何特定和弦将是进程中的下一项的相对可能性的安排中。

音轨共享器模块

返回到图1A中的系统100的图中,音轨共享器模块148可以使得能够实现对于系统100的音轨或者多音轨传输和接收。在一个实施例中,这样的音轨可以从远程设备或者服务器来传送或者接收。音轨共享器模块148还可以执行关于音轨共享的管理操作,诸如使得能够实现账户登录和支付和账单信息的交换。

声音搜索器模块

还在图1A中示出的声音搜索器模块150可以实施关于找到之前录音的音轨或者多音轨录音的操作。例如,基于可听输入,声音搜索器模块150可以搜索之前录音的相似音轨和/或多音轨录音。该搜索可以对特定设备50或者对其他联网设备或者服务器执行。该搜索的结果然后可以经由设备呈现,并且音轨或者多音轨录音可以随后被访问、购买或者以其他方式获得,以供在设备50上使用或者在系统100内以其他方式使用。

流派匹配器模块

还在图1A中示出的流派匹配器模块152被配置成标识对音乐流派而言常见的和弦顺序和节拍简档。也就是说,用户可以输入或者选择特定流派或者具有与流派匹配器模块152相关联的流派的示例性乐队。对于每个录音音轨的处理然后可以通过向每个生成的音频音轨应用所指示的流派的一个或者多个特性来执行。例如,如果用户指示“爵士”作为合期望的流派,则所录音的可听输入的量化可以被应用为使得节拍的定时可以趋向于切分的。另外,根据可听输入生成的所产生的和弦可以包括典型地与爵士音乐相关联的一个或者多个和弦。此外,“蓝调音符”的数目可以比在比如说古典音乐作品中更多。

和弦匹配器模块

和弦匹配器154提供音高和和弦有关的服务。例如,和弦匹配器154可以执行对于单音音轨的智能音高校正。这样的音轨可以从可听输入中导出,并且音高校正可以包括修改输入频率来将可听输入的音高与特定、预定频率对齐。和弦匹配器154还构造和细化对于被包括在之前录音的多音轨录音中的现有旋律的伴奏。

在一个实施例中,和弦匹配器154还可以被配置成基于之前演奏的和弦,动态地标识对于音频音轨的适当的未来的和弦的概率。特别地,在一个实施例中,和弦匹配器142可以包括音乐数据库。连同该数据库使用隐马尔科夫模型,对于和弦的未来进程的概率然后可以基于在音频音轨中发生的之前和弦而确定。

网络环境

如以上讨论的,设备50可以是能够执行以上描述过程的任何设备,并且不需要联网到任何其他设备。尽管如此,图28示出了可以在其中实践本发明的网络环境的一个潜在实施例的组件。不是所有组件可被要求用于实践本发明,并且在组件的安排和类型中的变型可以在不偏离本发明的精神和范围的情况下做出。

如所示出的,图28的系统2800包括局域网(“LAN”)/广域网(“WAN”)-(网络)2806、无线网络2810、客户端设备2801-2805、音乐网络设备(MND)2808、以及外围输入/输出(I/O)设备2811-2813。客户端设备2801-2805中的任何一个或者多个可以由以上描述的设备100构成。当然,虽然图示了客户端设备的几个示例,但是应该理解的是,在图28中公开的网络上下文中,客户端设备2801-2805可以包括能够处理音频信号和通过诸如网络2806、无线网络2810等等的网络发送音频相关数据的几乎任何计算设备。客户端设备2803-2805还可以包括被配置成便携的设备。因此,客户端设备2803-2805可以包括能够连接到另一计算设备并且接收信息的几乎任何便携式计算设备。这样的设备包括诸如蜂窝电话、智能电话、显示呼机、射频(RF)设备、红外(IR)设备、个人数字助理(PDA)、手持式计算机、膝上型计算机、可穿戴计算机、平板计算机、组合前述设备中的一项或者多项的集成设备等等的便携式设备。这样,客户端设备2803-2805典型地就能力和特征而言范围广泛。例如,蜂窝电话可以具有数字小键盘以及几行仅仅可显示文本的单色LCD显示器。在另一示例中,启用web的移动设备可以具有多触摸敏感屏幕、触笔以及多行可以显示文本和图形两者的彩色LCD显示器。

客户端设备2801-2805还可以包括能够通过网络来发送和接收信息(其包括音轨信息和社交联网信息)、执行可听生成的音轨搜索查询等等的几乎任何计算设备。这样设备的集合可以包括典型地使用诸如个人计算机、多处理器系统、基于微处理器或者可编程消费者电子器件、网络PC等等的有线或者无线通信介质连接的设备。在一个实施例中,客户端2803-2805中的至少一些可以通过有线和/或无线网络来操作。

启用web的客户端设备还可以包括被配置成接收和发送web页面、基于web的消息等等的浏览器应用。浏览器应用可以被配置成通过采用几乎任何基于web的语言(包括无线应用协议消息(WAP)等等)来接收和显示图形、文本、多媒体等等。在一个实施例中,浏览器应用使得能够采用手持式设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用25标记语言(SMGL)、超文本标记语言(HTML)、可扩展标记语言(XML)等等来显示和发送各种内容。在一个实施例中,客户端设备的用户可以采用浏览器设备来与诸如文本消息发送客户端、电子邮件客户端等等的消息发送客户端交互来发送和/或接收消息。

客户端设备2801-2805还可以包括被配置成从另一个计算设备接收内容的至少一个其他客户端应用。客户端应用可以包括用于提供和接收文本内容、图形内容、音频内容等等的能力。客户端应用可以进一步提供标识其自身的信息,其包括类型、能力、名称等等。在一个实施例中,客户端设备3001-3005可以通过各种各样机制中的任何项来唯一标识其自身,所述机制包括电话号码、移动标识号(MIN)、电子序列号(ESN)、或者其他移动设备标识符。信息还可以指示使得移动设备能够采用的内容格式。这样的信息可以在网络封装等等中提供,发送给MND 108或者其他计算设备。

客户端设备2801-2805可以进一步被配置成包括使得最终用户能够登陆到可以由诸如MND 2808等的另一计算设备管理的用户账户的客户端应用。这样的用户账户例如可以被配置成使得最终用户能够参与到一个或者多个社交联网活动中,诸如提交音轨或者多音轨录音、搜索与可听输入相似的音轨或者录音、下载音轨或者录音以及参与到在线音乐社区中(特别是围绕着共享、回顾和讨论所产生的音轨和多音轨录音的那种社区)。然而,参与到各种联网活动中还可以在不登陆用户账户的情况下执行。

在一个实施例中,包括旋律的音乐输入可以由客户端设备2801-2805通过网络2806或者2810从MND 3008中接收,或者从任何其他能够传输这样的音乐输入的基于处理器的设备中接收。包含旋律的音乐输入可以由MND 2808或者其他这样的基于处理器的设备预先录音或者被现场捕获。附加地或者可替换地,旋律可以由客户端设备2801-2805实时地捕获。例如,旋律生成设备可以生成旋律,并且与客户端设备2801-2805之一通信的麦克风可以捕获所生成的旋律。如果音乐输入被现场捕获,则系统典型地在计算旋律的音乐音调和和弦之前寻找音乐的至少一小节。这类似于在乐队中演奏的音乐家,其中伴奏音乐家可以典型地在继续做出任何附加音乐之前听旋律的至少一小节,从而确定正在被演奏的音乐音调和和弦。

在一个实施例中,音乐家可以与客户端2801-2805交互,以便伴奏旋律,从而将客户端设备视作是虚拟乐器。附加地或者可替换地,伴奏旋律的音乐家可以唱和/或演奏音乐乐器(诸如用户演奏的乐器)来伴奏旋律。

无线网络2810被配置成将客户端设备2803-2805和其组件与网络2806耦合。无线网络2810可以包括各种各样无线子网络中的任何无线子网络,其可以进一步覆盖独立的自组织网络等等来为客户端设备2803-2805提供面向基础设施的链接。这样的子网络可以包括网格网络、无线LAN(WLAN)网络、蜂窝网络等等。无线网络2810可以进一步包括由无线无线电链路等等连接的终端、网关、路由器等等的自治系统。这些连接器可以被配置成自由和随机地移动,并且任意地对其自身进行组织,以使得无线网络2810的拓扑结构可以快速地改变。

无线网络2810可以进一步采用多种访问技术,其包括对于蜂窝系统的第二(2G)、第三(3G)、第四(4G)代无线电访问、WLAN、无线路由器(WR)网格等等。诸如2G、3G、4G和未来的访问网络之类的访问技术可以使得能够实现对于诸如具有各种程度的移动性的客户端设备2803-2805之类的移动设备的广域覆盖。例如,无线网络2810可以使得能够实现通过无线电网络访问的无线电连接,所述无线电网络访问诸如全球移动通信网络(GSM)、通用分组无线服务技术(GPRS)、增强型数据GSM环境(EDGE)、宽带码分多址(WCDMA)等等。基本上,无线网络2810可以包括几乎任何无线通信机制,通过其,信息可以在客户端设备2803-2805和其他计算设备、网络等等之间行进。

网络2806被配置成将具有包括MND 2808、客户端设备2801-2802的其他计算设备的网络设备并且通过无线网络2810耦合到计算设备2803-2805。使得网络2806能够采用任何形式的计算机可读介质以用于将来自一个电子设备的信息传送到另一个电子设备。另外,除了局域网(LAN)、广域网(WAN)、直接连接(诸如通过通用串行总线(USB)端口)其他形式的计算机可读介质或者其任何组合之外,网络106可以包括互联网。在LAN的互连集合上(其包括基于不同架构和协议的那些装置),路由器充当在LAN之间的链路,从而使得消息从一个装置发送到另一个装置。附加地,在LAN内的通信链路典型地包括双绞线或者同轴电缆,而在网络之间的通信链路可以利用模拟电话线、包括T1、T2、T3和T4的完整的或者一部分的专用数据线、综合业务数字网(ISDN)、数字用户线路(DSL)、包括卫星链路的无线链路、或者对本领域技术人员而言已知的其他通信链路。此外,远程计算机和其他相关电子设备可以经由调制解调器或者瞬时性电话链路远程连接到LAN或者WAN。基本上,网络2806包括通信可以在计算设备之间行进的任何通信方法。

在一个实施例中,客户端设备2801-2805可以例如使用对等配置来直接通信。

附加地,通信介质典型地体现了计算机可读指令、数据结构、程序模块或者其他输送机制,并且包括任何信息递送介质。作为示例,通信介质包括有线介质,诸如双绞线、同轴电缆、光纤、波导和其他有线介质和无线介质,诸如声学、RF、红外和其他无线介质。

包括I/O设备2811-2813的各种外围装置可以附接到客户端设备2801-2805。多触摸压力板2813可以从用户接收物理输入,并且作为USB外围装置来分布,但是不限于USB,并且其他接口协议也可以被使用,但是不限于ZIGBEE、蓝牙等等。通过压力板2813的外部和接口协议输送的数据可以包括例如MIDI格式数据,但是其他形式的数据也可以通过该连接来传达。相似的压力板2809可以可替换地在条目上与诸如移动设备2805之类的客户端设备集成。耳机2812可以附接到客户端设备的音频端口或者其他有线或者无线I/O接口,从而为用户提供示例性安排来与系统的其他可听输入一同听录音音轨的循环回放。麦克风2881也可以经由音频输入端口或者其他连接附接到客户端设备2801-2805。可替换地,或者除了耳机2812和麦克风2811之外,一个或者多个其他扬声器和/或麦克风可以集成到客户端设备2801-2805或者其他外围设备2811-2813中的一项或者多项中。另外,外部设备可以连接到压力板2813和/或客户端设备101-105来提供可由外部控制再现的声音样本、波形、信号或者其他音乐输入的外部源。这样的外部设备可以是客户端设备2803和/或压力板2813可以将MIDI事件或者其他数据向其进行路由以便触发来自外部设备2814的音频回放的MIDI设备。然而,除了MIDI之外的格式可以由这样的外部设备所采用。

图30示出了按照一个实施例的网络设备3000的一个实施例。网络设备3000可以包括除了所示出的那些之外多得多或者更少的组件。然而,所示出的组件足以公开用于实践本发明的说明性实施例。网络设备3000可以例如表示图28的MND 2808。简单而言,网络设备3000可以包括能够连接到网络2806从而使得用户能够在不同账户之间发送和接收音轨和音轨信息的任何计算设备。在一个实施例中,这样的音轨分布或者共享还在不同客户端设备之间执行,其可以被不同用户、系统管理员、商业条目等等管理。附加地或者可替换地,网络设备3000可以使得能够实现共享由客户端设备2801-2805产生的曲调,其包括旋律和和声。在一个实施例中,这样的旋律或者曲调分布或者共享也是在不同客户端设备之间执行的,其可以由不同用户、系统管理员、商业条目等等来管理。在一个实施例中,网络设备3000还自动操作来从音乐音调和/或和弦的集合中提供针对某个旋律的相似“最佳”的音乐音调和/或和弦。

可操作为网络设备3000的设备包括各种网络设备,其包括但不限于个人计算机、台式计算机、微处理器系统、基于微处理器的或者可编程消费者电子器件、网络PC、服务器、网络器具等等。如在图30中示出的,网络设备3000包括处理单元3012、视频显示适配器3014、和大容量存储器,所有这些都经由总线3022与彼此通信。大容量存储器一般包括RAM3016、ROM 3032、以及一个或者多个永久大容量存储设备,诸如硬盘驱动3028、磁带驱动、光学驱动和/或软盘驱动。大容量存储器存储操作系统3020用于控制网络设备3000的操作。任何通用操作系统可以被采用。基本输入/输出系统(“BIOS”)3018还被提供用于控制网络设备3000的低水平操作。如在图30中图示的,网络设备3000还可以经由网络接口单元3010与互联网或者某些其他通信网络通信,所述网络接口单元3010被构建为与包括TCP/IP协议的各种通信协议一同使用。网络接口单元3010有时被已知为收发器、收发设备或者网络接口卡(NIC)。

如上描述的大容量存储器图示了另一种类的计算机可读介质,即计算机可读存储介质。计算机可读存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或者其他数据)的任何方法或者技术实施的易失性、非易失性、可移除和不可移除介质。计算机可读存储介质的示例包括RAM、ROM、EEPROM、闪速存储器或者其他存储器技术、CD-ROM、数字多用盘(DVD)或者其他光学存储装置、盒式磁带、磁带、磁盘存储装置或者其他磁存储设备、或者可以被用来存储所期望的信息以及可被计算设备访问的任何其他介质。

如所示的,数据仓库3052可以包括数据库、文本、表格、文件夹、文件等等,其可被用来保持和存储用户账户标识符、电子邮件地址、IM地址和/或其他网络地址、群组标识符信息、与每个用户账户相关联的音轨或者多音轨录音、用户共享音轨和/或录音的规则、账单信息等等。在一个实施例中,数据仓库3052中的至少一些还可以被存储在网络设备3000的另一组件上,其包括但不限于,CD-ROM/DVD-ROM 3026、硬盘驱动器3028等等。

大容量存储器还存储程序代码和数据。一个或者多个应用3050被加载到大容量存储器中并且在操作系统3020上运行。应用程序的示例可以包括代码转换器、调度程序、日历、数据库程序、字处理程序、HTTP程序、定制用户界面程序、IPSec应用、加密程序、安全程序、SMS消息服务器、IM消息服务器、电子邮件服务器、账户管理器等等。Web服务器3057和音乐服务3056还可以被包括作为应用3050内的应用程序。

Web服务器3057表示被配置成通过网络向另一计算设备提供包括消息的内容的各种各样的服务中的任何服务。因此,web服务器3057包括例如web服务器、文件传输协议(FTP)服务器、数据库服务器、内容服务器等等。Web服务器3057可以通过网络使用各种各样格式中的任何格式来提供包括消息的内容,所述格式包括但不限于WAP、HDML、WML、SMGL、HTML、XML、cHTML、xHTML等等。在一个实施例中,web服务器3057可以被配置成使得用户能够访问和管理用户账户和共享的音轨和多音轨录音。

音乐服务3056可以提供关于使得能够实现在线音乐社区的各种功能,并且可以进一步包括音乐匹配器3054、权限管理器3058、以及旋律数据。音乐匹配器3054可以匹配相似音轨和多音轨录音,其包括那些存储在数据仓库3052中的。在一个实施例中,这样的匹配可以由客户端设备上的声音搜索器或者MTAC来请求,其可以例如提供要匹配的可听输入、音轨或者多音轨。权限管理器3058使得与账户相关联的用户能够上传音轨和多音轨录音。这样的音轨和多音轨录音可以存储在一个或者多个数据仓库3052中。权限管理器3058可以进一步使得用户能够提供对于所提供的音轨和多音轨录音的分布的控制,诸如基于在在线社区中的关系或者成员身份的约束、支付、或者对音轨或者多音轨录音的所打算的使用。使用权限管理器3058,用户还可以将所有访问权限约束为所存储的音轨或者多音轨录音,从而使得未完成的录音或者其他在进程中的工作能够在用户相信其准备好之前在没有社区回顾的情况下被存储。

音乐服务3056还可以托管或者以其他方式使得单个或者多玩家游戏能够被或者在在线音乐社区的各种成员之间被玩耍。例如,由音乐服务3056托管的多用户角色扮演游戏可以被设置在音乐录音工业中。用户可以针对其人物选择角色,所述人物在工业中是典型的。游戏玩家然后可以通过使用其客户端设备50和例如RSLL 142和MTAC 144创作音乐来发展其人物。

消息发送服务器3056可以包括被配置成和安排成从消息用户代理和/或其他消息服务器转发消息或者递送消息的几乎任何的一个或者多个计算组件。因此,消息发送服务器3056可以包括消息传递管理器来采用各种各样的消息发送协议中的任何消息发送协议来传送消息,所述消息发送协议包括但不限于,SMS消息、IM、MMS、IRC、RSS订阅、mIRC、各种各样的文本消息发送协议中的任何消息发送协议、或者各种各样其他消息类型中的任何项。在一个实施例中,消息发送服务器3056可以使得用户能够发起或者其他方式进行聊天会话、VOIP会话、文本消息发送会话等等。

要指出的是,虽然网络设备3000被图示为单个网络设备,但是本发明不是如此受限的。例如,在另一个实施例中,网络设备3000的音乐服务等等可以常驻在一个网络设备中,而相关联的数据仓库可以常驻在另一个网络设备中。在又一个实施例中,各种音乐和/或消息转发组件可以常驻在一个或者多个客户端设备中、操作在对等配置中等等。

游戏环境

为了进一步促进音乐的创作和作曲,图31-37图示了其中游戏界面作为用户界面提供给以上描述的音乐编制工具的实施例。以这种方式,要相信,用户界面将较不吓人、更加用户友好,以便于使得对于最终用户的创作音乐过程的任何干扰最小化。如将根据以下讨论变得显而易见的,游戏界面提供与以上描述的一个或者多个功能方面相关联的视觉提示和标记,以便简化、合理化并且激励音乐编制过程。这使得最终用户(也关于该实施例被称为“玩家”)能够利用专业质量工具来在不要求那些用户具有在音乐理论或者音乐创作工具的操作方面的任何专业技术的情况下专业质量的音乐。

首先转向图31,提供了第一显示界面3100的一个示例性实施例。在该界面中,玩家可以被提供来自坐在调音板(mixing board)之后的音乐制作人的视角的工作室视图。在图31的实施例中,然后在背景中形象化了三个不同的工作室房间:主唱/乐器房间3102、打击房间3104、以及伴奏房间3106。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,房间的数目可以更多或者更少,在每个房间中提供的功能性可以被不同地细划分和/或附加选项可以被提供在房间中。在图31中描绘的三个房间中的每个房间可以包括一个或者多个音乐家“化身”,其提供图示了房间的性质和/或目的的视觉提示,以及提供了关于由“化身”表演的音乐的流派、风格和/或细致的表演以及所利用的各种各样的乐器的另外的提示。例如,在图31中图示的实施例中,主唱/乐器房间3102包括女性流行歌手,伴奏房间3104包括摇滚鼓手,而伴奏房间3106包括乡村小提琴手、摇滚贝斯手、以及嘻哈电音键盘手。如将在以下更详细讨论地,音乐家化身的选择连同游戏环境界面的其他方面提供了视觉的、易于理解的界面,通过所述界面,以上描述的各种工具可被最终用户中的最新手容易地实施。

为了开始创作音乐,玩家可以选择这些房间之一。在一个实施例中,用户可以简单地使用鼠标或者其他输入设备来选择房间。可替换地,可以提供一个或者多个对应于各种工作室房间的按钮。例如,在图31中图示的实施例中,选择主房间按钮3110将把玩家传递到主唱/乐器房间3102,选择打击房间按钮3108将把玩家传递到打击房间3104;而选择伴奏房间按钮3112将把玩家传递到伴奏房间3106。

如在图31中示出的,还可提供其他可选按钮。例如,录音按钮3116和停止按钮3118可以被提供,以经由录音时间现场循环模块142(图1A)开始和停止由工作房间3100中的最终用户做出的任何音乐的录音。可以提供设置按钮3120来许可用户更改各种设置,诸如所期望的流派、速度、和节奏、音量等等。可以提供搜索按钮3122来使得用户能够发起声音搜索器模块150。还可以提供用于保存(3124)和删除(3126)玩家音乐作曲的按钮。

图32呈现了主唱/乐器房间3102的一个示例性实施例。在该实施例中,用于该工作室房间的界面已经被配置成使得最终用户能够创作和录音一个或者多个主唱和/或乐器音轨以用于音乐编制。主唱/乐器房间3102可以包括控制空间3202,其以上相似于连同图12-13描述的那个控制空间。因此,如以上描述的,控制空间3202可以包括多个分割部分指示符3204来标识音轨中的每个分割部分(例如,音乐小节);垂直线3206图示了在每个小节内的节拍,水平线3208标识了与所选乐器(诸如由乐器选择器3214(图32中示出)指示的吉他)相关联的各种基本频率,以及回放条来标识当前正在播放的现场循环的特定部分。

在图32中图示的示例中,界面图示了大约在时间上较早被玩家录音的一个音轨的音频波形3210,然而,用户还可以(特别是连同声音搜索模块150(如由搜索按钮3122调用的(见图31)))提取出预先存在的音频音轨。在图32中图示的示例中,录音音频波形3210已经被转换成其对应于吉他的基本频率的音符3212的形态,如由乐器选择器3214指示的。如应该理解的,通过使用可被拖动到控制空间3202上的各种乐器选择器图标,玩家可能能够选择一个或者多个其他乐器,其将使得原始音频波形被转换成对应于新选择的或者附加选择的(一个或者多个)乐器的基本频率的音符的不同形态。玩家还可以更改小节数目或者每小节的节拍数目,其还可以然后使得音频波形被量化(通过量化器206(参见图2))并且在时间上与新更改的定时对齐。还应该理解的是,虽然玩家可以选择将音频波形转变成与乐器相关联的音符的形态,但是玩家不需要这么做,因此使得来自可听输入的一个或者多个原始声音能够被基本上包括在所生成的音频音轨中并具有其原始音色。

如在图32中示出的,歌手3220的化身还可以被提供在背景中。在一个实施例中,该化身可以提供已经之前被定义在流派匹配器模块152中的音乐的特定流派的可容易理解的视觉指示。例如,在图32中,歌手被图示为流行歌手。在该情况下,录音音轨3210的处理可以通过应用与流行音乐相关联的一个或者多个特性来执行。在其他示例中,歌手可以被图示为男性成人、年轻男性或者女性儿童、理发店四重唱、歌剧或者百老汇女歌手、西方乡村明星、嘻哈音乐家、英国入侵摇滚歌手、民谣歌手等等,并具有人们通常理解为与每种类型的歌手相关联的所产生的音高、节奏、模式、音乐质感、音色、表现质量、和声等等。在一个实施例中,为了提供附加的娱乐价值,歌手化身3220可以被编程为跳舞或者以其他方式表现为像是化身被牵涉到录音时间中,甚至可能与音乐音轨同步。

主唱/乐器房间界面3102可以进一步包括音轨选择器3216。音轨选择器3216使得用户能够录音或者创作多个主实录,并且选择那些实录中的一个或者多个实录来被包括在音乐编制内。例如,在图32中,被标记为“1”、“2”和“3”的三个音轨窗口被图示,其每个示出了对应音轨的音频波形的小型表示,以便提供关于与每个音轨相关联的音频的视觉提示。在每个音轨窗口中的音轨可以表示单独录音的音频实录。然而,还应该理解的是,可以创作音频音轨的副本,在该情况下,每个音轨窗口可以表示单个音频波形的不同实例。例如,音轨窗口“1”可以表示音频波形的未更改的话音版本,音轨窗口“2”可以将音频波形表示为被转换成与吉他相关联的音符形态,而音轨窗口“3”可以将相同的音频波形表示为被转换成与钢琴相关联的音符形态。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,对于可以被音轨选择器3216保持的音轨数目不需要具有特定限制。

提供音轨选择窗口3218来使得玩家能够选择要例如通过将三个音轨窗口中的一个或者多个音轨窗口选择和拖动到选择窗口3218来被包括在音乐编制中的音轨中的一个或者多个音轨。在一个实施例中,选择窗口3218还可以用来参加到MTAC模块144中,以便从多个实录“1”、“2”和“3”中生成单个最佳实录。

主唱/乐器房间界面3102还可以包括多个按钮来启动与主唱或者乐器音轨的创作相关联的一个或者多个功能。例如,最小化按钮3222可以被提供来许可用户将网格3202最小化;声音按钮3224可以被提供来使得用户能够将与一个或者多个音频音轨相关联的声音静音或者非静音,独奏按钮3226可以被提供来基于音频波形3210或者其形态使得已经被系统100生成的任何伴奏音频静音,以便允许玩家集中于与主音频相关联的问题,新音轨按钮3228可以被提供来使得用户能够开始对新的主音轨进行录音;形态按钮3230激活频率检测器和移相器208和210对控制空间3202中的音频波形。一组按钮还可以被提供来使得用户能够设置参考声调,以辅助提供话音音轨。因此,切换声调按钮3232可以启用和禁用参考声调,声调上扬按钮3234可以增大参考声调的频率,而声调下降按钮3236可以减小参考声调的音高。

图33图示了打击房间3104的一个示例性实施例。对于该房间的界面被配置成使得玩家能够创作和录音用于音乐编制的一个或者多个打击音轨。打击房间界面3104包括相似于以上连同图14描述的一个控制空间。因此,控制空间可以包括网格3302,其表示在一个或者多个打击音轨中的单独声音的回放和定时,回放条3304标识当前播放的现场循环的特定部分,而多个分割部分(1-4)划分成多个节拍,并且在网格中的每个方框3306表示对于与相关打击乐器相关联的声音的时间增量(其中,无阴影的框指示在该时间增量处没有要播放的声音,而阴影框指示与相关打击乐器的音色相关联的声音要在该时间增量处播放)。

还可以提供打击分段选择器3308,以便使得玩家能够创作和选择多个打击分段。在图33中图示的示例中,仅仅示出了单个单机分段“A”的分割部分。然而,通过选择打击分段选择器3308,附加分段可以被创作并且标识为分段“B”、“C”等等。玩家然后可以在每个不同分段的不同分割部分内创作不同打击顺序。所创作的分段然后可以以任何次序来安排,以便创作出更多变的打击音轨以供在音乐编制中使用。例如,玩家可能期望创作出以以下次序重复播放的不同打击音轨:“A”,“A”,“B”,“C”,“B”,但是也可以创作任何数目的分段以及可以使用任何次序。为了促进多个打击分段的回顾和创作,分段回放指示符3310可以被提供来视觉地指示当前被播放和/或编辑的打击分段,以及被播放和/或编辑的分段部分。

如在图33中进一步图示的,鼓手3320的化身还可以被提供在背景中。相似于连同主唱/乐器房间3102描述的表演者化身,鼓手化身3220可以提供对于对应于已经之前定义在流派匹配器模块152中的流派的音乐的特定流派和演奏风格的可容易理解的视觉指示。例如,在图33中,鼓手被图示为摇滚鼓手。在该情况下,对所创作的打击音轨的处理可以通过应用与摇滚音乐相关联的打击乐器的一个或者多个之前所定义的特性针对每个打击乐器来执行。在一个实施例中,为了提供附加娱乐价值,鼓手化身3320可以被编程为跳舞或者以其他方式表现为像是化身被牵涉到录音时间中,甚至可能与音乐音轨同步。

打击房间界面3104还可以包括多个按钮来使启动与一个或者多个打击音轨的创作相关联的一个或者多个功能。例如,最小化按钮3312可以被提供来使得用户能够将网格3302最小化,声音按钮3314可以被提供来使得用户能够将与一个或者多个音频音轨相关联的声音静音或者非静音,独奏按钮3316可以被提供来使得用户能够在静音和非静音之间切换从而停止其他音频音轨的回放,因此玩家可以在不分神的情况下聚焦于打击音轨,附加打击乐器按钮3318加入了对应于可被用户选择的打击乐器的附加子音轨,而摇摆按钮3320准许用户对音符进行摇摆(即,切分)。

图34A-C呈现了伴奏房间界面3106的一个示例性实施例。对于该工作室房间的界面被配置成向用户提供音乐平台(pallet),其中用户可以选择和创作一个或者多个用于音乐编制的伴奏音轨。例如,如在图34A中示出的,玩家可以被提供乐器类别选择器条3402来使得用户能够选择用于对主唱和/或音乐音轨伴奏的音乐类别。在所图示的实施例中,图示了用于选择的三个类别——贝斯3404、键盘3406、以及吉他3408。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,可以提供任何数目的乐器类别,其包括各种各样的乐器,所述乐器包括铜管乐器、木管乐器和弦乐器。

出于图示的目的,让我们假设玩家已经选择了图34A中的贝斯类别3404。在该情况下,然后,玩家被提供用于在一个或者多个演奏伴奏乐器的音乐家化身之间选择的选项。例如,如在图34B中示出的,玩家被提供用于在乡村音乐家3410、摇滚音乐家3412和嘻哈音乐家3414之间选择的选项,其中玩家然后可以通过直接点击所期望的化身来进行选择。当然,虽然图示了三个化身,但是可以准许玩家在更多或者更少选择之间进行选择。还可以提供箭头3416来使得玩家能够滚动通过化身的选择,尤其是在提供了更多化身选择的情况下。

在选择了图34B中的音乐化身之后,玩家然后可以被提供用于选择具体乐器的选项。例如,让我们现在假设玩家已经选择了乡村音乐家。如在图34C中示出的,然后可以向玩家给定在电贝斯吉他3418、立式贝斯(standing bass)3420、或者原声贝斯吉他(acousticbass guitar)3422之间选择的选项,其中玩家然后可以通过直接在所期望的乐器上点击来进行选择。还可以提供箭头3424来使得玩家能够滚动通过乐器选择,其如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,可不限于仅仅三个类型的贝斯乐器。当然,虽然在以上顺序中,在选择音乐家化身之前选择了乐器类别,但是预计的是,玩家可以在选择乐器类别之前被提供选择音乐家化身的选项。相似地,还预计的是,玩家可以在选择音乐家化身之前被提供选择具体乐器的选项。

在玩家已经选择了音乐家化身和乐器之后,系统100基于当前在主唱/乐器房间3102(即便其他房间被静音)中演奏的一个或者多个主音轨通过生成一组伴奏音符,利用流派匹配器模块152和和声器模块146来对一个或者多个主音轨进行和声来将那些音符转变成对于所选音乐家和乐器的适当流派、音色和音乐风格,创作出适当的伴奏音轨。因此,对于具体乐器的伴奏音轨可以取决于由玩家选择的乐器和音乐家化身而具有不同声音、定时、和声、蓝调音符内容等等。

伴奏房间界面3106还被配置成使得玩家能够单独地试听多个音乐家化身和/或多个乐器中的每一个,以便辅助对优选伴奏音轨的选择。这样,一旦已经由用户选择了音乐乐器和化身,并且对应的伴奏音轨已经如上描述地被创作出,则伴奏音轨自动连同其他之前创作的音轨(主唱、打击、或者伴奏)在现场循环回放期间进行播放,以使得玩家可以几乎实时地评估新伴奏音轨是否很合适。玩家然后可以选择保持伴奏音轨、选择对于相同乐器的不同音乐家化身、选择对于相同音乐化身的不同乐器、选出全新的化身的乐器或者完全删除伴奏音轨。玩家还可以通过重复以上描述的步骤来创作出多个伴奏音轨。

图35图示了描绘出被播放为主音乐伴奏的和弦进程的图形界面的一个潜在实施例。在一个实施例中,该图形用户界面可以通过按压在图34A、34B、和34C中示出的花按钮来启动。特别地,该界面示出了一般被强加于伴奏房间3106中的多个伴奏化身的和弦进程,其具有该化身可能已经建入到其相关联配置文件中的任何蓝调音符允许度(由于流派以及以上关联于图25讨论的其他问题)。每个化身因为该化身的流派或者基于该化身的其他属性,还可以具有与该化身相关联的特定琶音技术(即,顺序演奏的分解和弦)。如在图35的示例中示出的,和弦进程是“G”大调、“A”小调、“C”大调、“A”小调,并且每个和弦按照与伴奏房间3106中的每个伴奏化身单独相关联的技术针对整个分割部分被演奏。将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,和弦进程可以在单个分割部分内改变和弦多次,或者可以在多个分割部分内保持相同的和弦。

图36图示了玩家可以通过其来标识该玩家期望创作或者编辑的音乐作曲部分的一个示例性界面。例如,在图36中示出的示例性界面中,提供了标签结构3600,其中,用户可以在音乐作曲的前奏部分、独唱部分、和合唱部分之间进行选择。当然,应该理解的是,音乐作曲的其他部分也是可用的,诸如桥接、结尾等等。使得可用于在特定音乐作曲中编辑的部分可以是预定的、由玩家手动选择的、或者基于音乐的所选流派而自动设置的。各种部分被最终安排以形成音乐作曲的次序可以相似地被预定、由玩家手动选择或者基于音乐的所选流派而自动设置。所以,例如,如果新手用户选择创作流行歌曲,则标签结构3600可以被预先填充流行作曲的预期元素,其一般包括前奏、一个或者多个独唱、合唱、桥接和结束。最终用户然后可以被提示来创作与该总作曲的第一方面相关联的音乐。在完成了总作曲的第一方面之后,最终用户可以被导向创作另一方面。每个方面单独地和/或共同地可以被评分,以向最终用户警告相邻元素的音调是否是不同的。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,使用标准图形用户界面操纵结束,作曲的部分可以被删除、移动到该作曲的其他部分、复制并且随后修改等等。

如在图36中示出的,针对音乐作曲的每个部分的标签还可以包括用于使得玩家能够标识和编辑与该部分相关联的音频音轨的可选图标,其中第一行可以图示主音轨,第二行可以图示伴奏音轨,而第三行可以图示打击音轨。在图示的示例中,前奏部分被示出为包括键盘和吉他主音轨(分别是3602和3604);吉他、键盘和贝斯伴奏音轨(分别是3606、3608和3610);以及打击音轨3612。和弦选择器图标3614还可以被提供成,当被选择时,向玩家提供允许该玩家更改与伴奏音轨相关联的和弦的界面(诸如在图27或者图35中)。

图37A和37B图示了可以被提供以用于在以上描述的图形界面中利用并且存储在数据存储装置132中的特定视觉提示的文件结构的一个实施例。首先,转向图37A,在本文中也被称为音乐资产(musical asset)的文件3700可以针对在图形界面内玩家可选择的每个音乐家化身而提供。例如,在图37A中,所图示的上部的音乐资产是针对嘻哈音乐家的。在该实施例中,音乐资产可以包括视觉属性3704,其标识出要与该音乐资产相关联的化身的图形外观。音乐资产还可以包括与该音乐资产相关联的一个或者多个功能属性,并且其在由玩家选择了音乐资产之后被应用到音频音轨或者编制中。功能属性可以被存储在音乐资产内和/或提供对于另一文件、对象或者进程(诸如流派匹配器152)的指针或者调用。功能属性可以被配置成影响以上描述的各种设置或者选择中的任何项,其包括但不限于音轨的节奏或者速度、对于要使用的和弦或者音调的约束、对于可用乐器的约束、在音符之间转移的性质、音乐编制的结果或者进程等等。在一个实施例中,这些功能资产可以是基于将一般与音乐家的视觉表示相关联的音乐流派的。在其中视觉属性提供了具体音乐家的表示的实例中,功能属性还可以是基于该特定音乐家的音乐风格的。

图37B图示了可以与每个可选乐器相关联的另一组音乐资产3706,其可以是乐器的通用类型(即,吉他)或者乐器的具体品牌和/或型号(即,Fender Stratocaster、Rhodes电钢琴、Wurlitzer风琴)。相似于对应于音乐家化身的音乐资产3700,针对乐器的每个音乐资产3706可以包括视觉属性3708,其标识了要与该音乐资产相关联的乐器的图形外观,以及该乐器的一个或者多个功能属性3710。如以上,功能属性3710可以被配置成影响以上描述的各种设置或者选择中的任何项。对于乐器而言,这些可以包括可用的基本频率、在音符之间转移的性质等等。

使用在图31-37中示出的图形工具和基于游戏的动态,新手用户将更容易地能够创作出专业声音的音乐作曲,用户将愿意将其与其他用户分享以用于自我欣赏并甚至以与用户可能收听商业产生的音乐相同的方式进行娱乐。在本说明书中的音乐著作系统的上下文中提供的图形范例将相对于多种多样的创造性项目以及一般由专业人员表演的努力而言工作得一样好,因为甚至用于产生乏味产品所必须的技巧水平将对于普通人而言过于高而不可达到。然而,通过简化例程任务,即便是新手用户也可以以直观简单的方式做出专业水平的项目。

渲染缓存

在一个实施例中,本发明将在云中实施,其中,以上描述的系统和方法被用在客户端-服务器范例内。通过将某些功能分载(offload)到服务器上,由客户端设备所要求的处理能力减小。这增大了本发明可以部署在其上的设备数目和类型两者,其允许与大量用户的交互。当然,由与客户端相对的服务器执行的功能的程度可以变化。例如,在一个实施例中,服务器可以用来存储和提供相关的音频样本,而处理在客户端设备中执行。在可替换实施例中,服务器可以存储相关的音频样本并且在向客户端提供音频之前执行特定处理。

在一个实施例中,客户端侧操作还可以经由在客户端设备上操作并且被配置成与服务器通信的单独应用来执行。可替换地,用户可能能够经由http浏览器(诸如InternetExplorer、Netscape、Chrome、Firefox、Safari、Opera等等)访问系统并且发起与服务器的通信。在一些实例中,其可以要求安装浏览器插件。

按照本发明,系统和方法的某些方面可以通过使用音频渲染缓存来执行和/或增强。更具体地,如将在以下更详细描述的,渲染缓存使得能够实现对与所请求或者所标识的音符相关联的音频分段的改进的标识、处理以及检索。如将根据以下描述理解的,音频渲染缓存在以上描述的系统和方法与以上描述的客户端-服务器范例一同利用时具有特定效用。特别地,在这样的范例中,音频渲染缓存将优选地存储在客户端侧,以改进等待时间并且减少服务器成本,但是如以下描述的,渲染缓存还可以远程地存储。

优选地,渲染缓存被组织为n维阵列,其中n表示与渲染缓存内的音频相关联并且用来组织渲染缓存内的音频的若干属性。按照本发明的渲染缓存3800的一个示例性实施例在图38中图示。在该实施例中,缓存3800被组织为4维阵列,并且具有表示(1)与音乐音符相关联的乐器类型,(2)音符的持续时间,(3)极高和(4)音符速率的阵列的4轴。当然,还可以使用其他或者附加属性。

乐器类型可以表示对应的MIDI通道,音高可以表示相应半音的整数索引,速率可以表示音符所演奏的强度,而持续时间可以表示以毫秒为单位的音符的持续时间。在渲染缓存3800中的条目3802可以基于这四个属性被存储在阵列结构内,并且可以分别包括对于所分配的、包含所缓存的已渲染音频样本的存储器的指针。每个缓存条目还可以包括标识与该条目相关联的指示符,诸如该条目第一次被写入的时间、其最后被访问的时间和/或该条目过期的时间。这准许在乐段之后特定时间段未被访问的项目从缓存中移除。渲染缓存还优选地被保持为有限持续时间的分辨率,例如第16音符,并且在大小上固定以便准许快速标引。

当然,还可以使用其他结构。例如,渲染缓存可以以不同的有限分辨率来保持,或者可以在快速标引不是必需的情况在大小上不是固定的。音频还可以使用多于或者少于四个属性来标识,从而要求具有更多或者更少轴的阵列。例如,在图38中的条目还可以被组织成多个3维阵列而不是4维阵列,并具有针对每个乐器类型的单独阵列。

还应该理解的是,虽然阵列被描述为针对渲染缓存的优选实施例,但是还可以使用其他存储器的习惯。例如在一个实施例中,在渲染缓存中的每个音频条目可以被表达为基于相关联属性值生成的散列值。可用来使用该方法促进缓存系统的一个示例性系统是Memcached。通过以这种方式表达音频,相关联属性的数目可以在不要求对于用于缓存条目查找和标识的相关联代码的显著改变的情况下增多或者减少。

图39图示了利用这样的缓存的一个示例性数据流。如在图39中示出的,过程3904执行缓存控制。过程3904从客户端3902接收针对音符的请求,并且作为响应,检索对应于音符的已缓存音频分段。音符请求可以是针对特定音符的任何请求。例如,音符请求可以是已经被用户通过以上描述的界面中的任何界面标识的音符、由和声器模块标识的音符或者来自任何其他源。音符请求还可以表示与所期望音符相关联的多个属性而不是标识特定音符。虽然一般以单数来指代,但是应该理解的是,音符请求可以牵涉到一系列或者一组音符,其可以存储在单个缓存条目中。

在一个示例性实施例中,音符可以被规定为具有给定持续时间的MIDI “noteon”,而音频被返回为脉冲码调制(PCM)编码音频样本。然而,应该理解的是,音符可以使用任何一个或者多个属性来表达,并且以包括MIDI、XML等等的任何记号来表达。所检索的音频样本还可以被压缩或者不被压缩。

如在图39中示出的,过程3904与过程3906、过程3908以及渲染缓存3800通信。过程3906被配置成标识所请求音符的属性(诸如乐器、note-on、持续时间、音高、速率等等)并且使用可用的音频样本库3910来渲染相对应的音频。由过程3906响应于所请求的音符渲染的硬盘被传回过程3904,其将音频提供给客户端3902并且还可以将已渲染的音频写入到渲染缓存3800.如果然后请求了相似的音符,并且对应于该所请求音符的音频已经在渲染缓存中可得到,过程3904可以从渲染缓存3800中检索音频,而不要求渲染新的音频分段。按照本发明,以及将在以下更详细描述的,音频样本还可以从不是与所请求的音符准确匹配的渲染缓存中检索。该检索的音频样本可以被提供给过程3908,其将音符重建成基本上与基本上对应于所请求音符的音频样本相似的音符。因为从缓存中检索和重建的过程一般比用于渲染新音频的过程3906更快,所以该过程显著地改进了系统性能。还应该理解的是,在包括过程3904、3906和3908、渲染缓存3800和样本库3910的图39中示出的元件的每一个可以在与客户端相同的设备上、远离客户端的服务器上、或者任何其他设备上操作;并且各种元件可以在单个实施例中的各种设备之间分布。

图40描述了可用于由缓存控制3904处理所请求的音符的一种示例性方法。该示例性方法被描述为假设使用如图38中图示的4维缓存。然而,将本说明书置于其面前进行阅读的本领域技术人员将能够容易地适配该方法,以供与不同缓存结构一同使用。

在步骤4002中,从客户端3902接收到所请求的音符。在步骤4004中,确定渲染缓存3800是否包含对应于特定所请求的音符的条目。这可以通过标识所请求的音符相关联的乐器(即,吉他、钢琴、萨克斯管、小提琴等等)、以及音符的持续时间、音高和速率,并且然后确定是否存在与这些参数中的每一个精确匹配的缓存条目来实现。如果存在,则该音频在步骤4006从缓存中检索出并且提供给客户端。如果不存在准确的匹配,则过程进行到步骤4008。

在步骤4008中,确定是否存在足够的时间来渲染针对所请求的音符的新音频样本。例如,在一个实施例中,客户端可以被配置成标识要提供对于音符的音频的特定时间。要提供音频的时间可以是在已经做出请求之后的预设置的时间量。在采用了现场循环的实施例中,如上描述的,要提供音频的时间还可以基于在循环结束之前和/或在音符要在下一循环期间被回放之前的时间(或者小节数目)。

为了评估音频是否可以在时间限制内被提供,用于渲染和发送音符的估计时间量被标识,并且与特定时间限制相比较。该估计可以基于许多因素,其包括生成音频所要求的处理时间的预定估计、在请求时存在的任何待办事件或者处理队列的长度和/或在客户端设备和提供音频的设备之间的带宽连接速度。为了实行该步骤,还可能优选的是,客户端和缓存控制3904在其上操作的设备的系统时钟同步。如果确定了存在足够时间来渲染音符,则在步骤4016,音符被发送给渲染音符过程3906,其中对于所请求的音符的音频被渲染。一旦被渲染,在步骤4018,音频还可以被存储在缓存3800中。

然而,如果确定不存在足够时间渲染音符,则过程进行到步骤4010。在步骤4010中,确定“接近命中”条目是否可得到。出于本描述的目的,“接近命中”是与所请求的音符足够相似的任何音符,通过使用一个或者多个处理技术,其可以被重建成与将针对所请求的音符而渲染的音频样本基本相似的音频样本。“接近命中”可以通过比将所请求音符的乐器类型、音高、速率和/或持续时间与已经缓存音符的那些项进行比较来确定。因为不同乐器会不同地表现,所以应该理解的是,可以被认为是“接近命中”的条目范围将针对不同乐器而不同。

在一个优选实施例中,对于“接近命中”的第一搜索可以沿着渲染缓存的“持续时间”轴查找接近的缓存条目(即,具有相同乐器类型、音高和速率)。甚至更优选地,搜索将针对具有比所请求音符更长持续时间(在被确定为对于给定乐器而言可接受的范围内)的条目,因为缩短音符通常比延长音符产生更好的结果。可替换地,或者如果沿着持续时间轴不存在可接受的条目,则第二搜索可以沿着“音高轴”查找接近的缓存条目,即,在特定半音范围内的条目。

在又一个可替换方案中,或者在持续时间或者音高轴上都不存在可接受的条目,则第三搜索可以沿着速率轴在某个范围内查找接近缓存条目。在一些情况下,具有不同速率的可接受范围可以取决于用于执行音频重建的特定软件和算法。大多数音频采样器使用针对一个音符映射到不同速率范围的几个样本,因为大多数真实乐器在所产生的声音方面取决于该音符多强而具有显著的音色不同。因此,优选地,沿着速率轴的“接近命中”将是仅仅在幅度方面与所请求的音符不同的音频样本。

在又一个可替换方案中,或者在持续时间、音高或者速率轴上都不存在可接受的条目,则第四搜索可以沿着乐器轴在某个范围内查找接近的缓存条目。当然,要理解,该策略可以限于仅仅某种类型的乐器,其产生与其他乐器相似的声音。

还应该理解的是,虽然优选的是,标识仅仅在单个属性方面不同的“接近命中”条目(以便限制重建音频样本所要求的处理量),但是“接近命中”条目也可以是在持续时间、音高、速率和/或乐器属性中的两项或者更多项方面不同的条目。附加地,如果多个“接近命中”条目可得到,则要使用的音频样本可以基于若干因素中的任何一个或者多个来进行选择,所述音符包括例如与阵列中的所期望的音符的距离(例如,通过确定在“n”维空间中的最短欧几里得距离、最接近的基于属性的散列值、在阵列中的每个轴的优先级的加权(例如,在音频方面不同的音频比在速率方面不同的音频更优选,在速率方面不同的音频比在音高方面不同的音频更优选,在音高方面不同的音频比在乐器方面不同的音频更优选)、和/或在处理音频样本时的速率。

在另一实施例中,接近命中可以使用复合索引方法来标识。在该实施例中。在缓存中的每一维被折叠。在一个方法中,其可以通过折叠每一维中的特定数目的比特来实现。例如,如果音高维度的最低两个比特被折叠,则音高全部都可以被映射到32个值之一。相似地,持续时间维度的最低3个比特可以被折叠。因此,所有持续时间可被映射到16个值之一上。其他维度可以被相似地处理。在另一方法中,可以利用非线性折叠方法,其中乐器维度被分配相似声音的乐器并具有相同的折叠维度值。折叠维度值可以然后被截断成复合索引,并且缓存条目可以被存储在由复合索引排序的表中。在请求音符时,相关的缓存条目可以通过基于复合索引的查找来标识。在该情况下,所有匹配复合索引的结果可以被标识为“接近命中”条目。

在步骤4010中,如果确定“接近命中”条目可得到,则过程进行到步骤4012,其中“接近命中”条目被重建(通过重建音符过程3908)以生成基本上对应于所请求音符的音频样本。如在图40中示出的,重建可以以几种方式来执行。以下描述的技术被提供为示例,并且应该理解,还可以使用其他重建技术。此外,以下描述的技术一般在本领域中已知为用于对音频进行采样和操纵。因此,虽然技术的使用连同本发明被描述,但是用于实施技术的特定算法和功能没有详细描述。

以下描述的重建技术还可以在系统中的任何设备处执行。例如,在一个实施例中,重建技术可以被应用在缓存服务器处或者由耦合到缓存服务器的远程设备来应用,其中所重建的音符然后被提供给客户端设备。然而,在另一个实施例中,缓存音符其自身可以被传输到客户端设备,并且重建然后可以在客户端处执行。在该情况下,标识音符的信息和/或用于执行重建的指令还可以与缓存音符一同传输给客户端。

转向第一技术,让我们假设例如“接近命中”条目仅仅在持续时间上与所请求的音符不同。如果针对“接近命中”的音频样本比被请求的音频样本更长,则音频样本可以使用“重新包络(reenvelope)”技术来重建,其中将新的较短包络应用到音频样本。

如果所请求的音符比“接近命中”条目更长,则包络的支撑部分可以被伸长,以便获得所期望的持续时间。因为攻击和衰减被一般认为是给予乐器其音速特点的事物,所以对支持的操纵可以在不对音符的“颜色”做出显著影响的情况下伸长持续时间。这被称为“包络延长”。可替换地,可应用“循环”技术。在该技术中,替代于伸长音频样本的支撑部分,支撑部分中的一部分可以被循环,以便延长音符的持续时间。然而,应该指出的是,随机选择支撑部分中的一部分来进行循环可导致音频中的时钟脉冲(clock)和爆裂声(pops)。在一个实施例中,这可以通过从一个循环端到下一循环端的交叉渐进来克服。为了减少可能由于处理以及添加各种效果导致的任何效果,还优选的是,缓存项是原始样本,并且任何附加数字信号处理可以在重建完成之后执行,例如在客户端设备上。

如果所请求的音符具有与“接近命中”条目不同的音高,则所缓存的音频样本可以进行音高位移,以便获得适当的音高。在一个实施例中,这可以使用FFT在频域中执行。在另一个实施例中,音高位移可以使用自动校正在时域中执行。在其中所请求的音符高八度或者低八度的情景中,缓存音符还可以被简单地伸长或者缩短,以便获得适当的音高。这个概念相似于更快或者更慢地播放磁带录音机。也就是说,如果缓存条目被缩短为以两倍快的速度来播放,则录音材料的音高编程两倍高,或者高于一个八度。如果缓存条目被伸长为以两倍慢的速度来播放,则录音材料的音高变成一半,或者低于一个八度。优选地,该技术应用到在所请求的音符的大致两个半音内的缓存条目,因为将音频样本伸长或者缩短大于该量可能会使得音频样本丢失其音速特点。

如果所请求的音符具有与“接近命中”条目不同的速率,则缓存条目可以在幅度上进行位移,以便匹配新的速率。例如,如果所请求的音符具有较高的速率,则缓存条目的幅度可以在速率上增大相应的差。如果所请求的音符具有较低的速率,则缓存条目的幅度可以在速率上减小相应的差。

所请求的音符还可以具有不同但是相似的乐器。例如,所请求的音符可以针对在重金属吉他上演奏的特定音符,而缓存可以仅仅包括针对原始金属吉他(raw metalguitar)的音符。在该情况下,一个或者多个DSP效果可以被应用到缓存音符,以便根据重金属吉他粗略估计音符。

在使用以上描述的技术中的一个或者多个技术重建了“接近命中”条目之后,其可以被发送回客户端。还可以向用户提供指示来通知该用户已经提供了重建的音符。例如,在诸如图12a中示出的界面那样的界面中,让我们假设音符1214已经被重建。为了通知用户该音符已经从其他音频中重建,音符可以以与所渲染的音符不同的方式来图示。例如,重建的音符可以以具有与其他音符不同的颜色、作为中空的音符(与纯色相反)或者任何其他类型的指示来图示。如果针对该音符的音频然后被渲染(如将在以下讨论的),该音符的视觉表示可以被改变为指示出该音频的渲染版本已经接收到。

在步骤4010,如果不存在“接近命中”缓存条目,则最接近的可用音频样本(如基于乐器、音高、持续时间和速率属性来确定的)可以被检索。在一个实施例中,该音频样本可以从缓存3800中检索。可替换地,客户端设备还可以被配置成将要在渲染音符和重建的“接近命中”音符两者都不可得时的情况下使用的一系列通用音符存储在本地存储器中。诸如以上描述的附加处理还可以对该音频样本执行。在客户端上的用户界面还可以被配置成向用户提供已经提供了既不是所渲染的音频也不是重建的“接近命中”的音频样本的视觉指示。

在步骤4016中,向渲染音符过程3906做出请求,以使用样本库3910来渲染针对所请求的音符的音频。一旦渲染了音符,则音频被返回到缓存控制3904,其向客户端3902提供所渲染的音频,并且在步骤4018中,将所渲染的音频写入渲染缓存3800。

图41示出了按照本发明的一种用于实施渲染缓存的架构的一个实施例。如所示出的,提供了服务器4102,其包括用于如上所述的渲染音频的音频渲染引擎4104,以及服务器缓存4106。服务器4102可以被配置成经由通信网络4118与多个不同客户端设备4108、4110和4112通信。通信网络4118可以是任何网络,其包括互联网、蜂窝网络、wi-fi等等。

在图41中示出的示例实施例中,设备4108是厚客户端,设备4110是薄客户端而设备4112是移动客户端。诸如全特征的台式或者膝上型电脑之类的厚客户端典型地具有大量可用的存储器。这样,在一个实施例中,渲染缓存可以完全保持在薄客户端的内部硬盘驱动上(被图示为客户端缓存4114)。薄客户端一般是具有比厚客户端更少的存储空间。因此,对于薄客户端的渲染缓存可以被拆分在本地硬盘驱动(被图示为客户端缓存4116)和服务器缓存4106之间。在一个实施例中,最频繁使用的音符可以在硬盘驱动上本地缓存,而较不频繁使用的音符可以被缓存在服务器上。移动客户端(诸如蜂窝电话或者只能电话)一般具有比厚客户端或者薄客户端更少的存储器。因此,对于移动客户端的渲染缓存可以被完全保持在服务器缓存4106上。当然,这些作为示例提供,并且应该理解的是,以上配置中的任何配置可以用于任何类型的客户端设备。

图42示出了按照本发明的一种用于实施渲染缓存的架构的另一个实施例。在该示例中,多个边缘缓存服务器4102-4106可以被提供并且被定位,以便提供各种地理位置。每个客户端设备4108、4110和4112然后可以与最接近其地理位置的边缘缓存服务器4102、4104和4106通信,以便减少获取缓存的音频样本所要求的传输时间。在该实施例中,如果客户端设备请求之前未被缓存在客户端设备上的音符的音频,则做出关于相应边缘缓存服务器包括针对所请求的音符的音频还是针对该音符的“接近命中”的确定。如其包括任一项,则音频样本被分别获取和/或重建并且提供给客户端。如果这样的缓存条目不可得到,则音频样本可以从服务器4102中请求,所述服务器4102按照关联于图40描述的过程,可以提供缓存的条目(准确匹配或者“接近命中”)或者渲染音符。

图43图示了在客户端、服务器和来自图42的边缘缓存之间的信号定序的一个实施例。虽然图43引用了客户端4108(即,厚客户端)和边缘缓存4202,但是应该理解的是,该信号顺序可以相似地应用到薄客户端4110和4112,以及图42中的边缘缓存4204和4206。在图43中,信号4302表示在服务器4102和边缘缓存4202之间的通信。特别地,服务器4102将音频数据传输到边缘缓存4202,以便向边缘缓存发送和预先加载音频内容。这可以自治地或者响应于来自客户端的渲染请求发生。信号4304表示针对音频内容的请求,其从客户端4108发送至服务器4102。在一个实施例中,该请求可以使用超文本传输协议(http)来格式化,但是还可以使用其他语言或者格式。响应于该请求,服务器4102将响应发送回客户端,如信号4306图示的。响应信号4306向客户端4108提供了对缓存位置的重新导向(例如在边缘缓存4202中)。服务器4102还可以提供包括对于缓存内容列表的参考的清单。该列表可以标识所有的缓存内容,但是优选地,该列表将仅仅标识与所请求的音频相关的缓存内容。例如,如果客户端4108请求了针对中央C小提琴的音频,则服务器可以标识针对小提琴音符的所有缓存内容。清单还可以包括访问相关缓存内容所要求的任何加密密钥以及可与每个缓存条目相关联的存活时间(TTL)。

在从服务器4102接收了响应之后,客户端4108向边缘缓存4202发送请求(图示为信号4310)来基于清单中的信息标识适当的缓存条目(无论是针对特定相关联音频、“接近命中”等等)。再次,该请求可以使用http来格式化,但是还可以使用其他语言或者格式。在一个实施例中,客户端4108执行对于适当缓存条目的确定,但是还可以在边缘缓存4202处远程地执行确定。信号4310表示从边缘缓存服务器到包括所标识的缓存条目的客户端4108的响应。然而,如果请求标识了超过其TTL的缓存条目或者以其他方式不可得到的缓存条目,则响应将包括请求已经失败的指示。这可以使得客户端4108向服务器4102重试其请求。如果响应4310确实包括所请求的音频条目,则其然后可以按照需要被客户端4108解密和/或解压缩。如果缓存条目是“接近命中”,则其还可以使用以上描述的过程或者其等同物来重建。

图44图示了在客户端、服务器、以及来自关联于图42公开的实施例的边缘缓存之间的信号定序的可替换实施例。在该实施例中,在客户端4108和4202之间的通信相似与在图43中描述的,而除了替代于客户端4108联系服务器4102获取缓存位置和缓存内容清单,客户端4108直接向边缘缓存4202发送对于音频内容4308的请求。

图45-57图示了可以用来响应于来自客户端的请求优化针对请求和检索音频所使用的过程的三种技术。这些技术可以用在服务器处、边缘缓存处、或者存储音频内容并且响应于所请求的音符向客户端提供音频内容的任何其他设备。这些技术还可以各自单独地应用或者连同彼此应用。

首先,转向图45,描述了一种使得客户端能够快速和高效地标识何时不存在足够时间从远程服务器或者缓存提供音频的示例性方法。在方框4502中,在客户端处生成音频请求。音频请求可以是针对缓存音频的请求或者是针对要被渲染的音频的请求。在方框4504中,失败标识请求以及由客户端要求音频的时间(被称为“到期时间”)也可以与音频请求一同被包括。失败请求可以包括标识如果音频不能在到期时间之前提供给客户端是中止还是继续音频请求的变元。在音频请求中提供的到期时间优选是实时值。在该情况下,必要的是,使得接收请求的客户端和服务器/缓存在时间上同步。如将被将本说明书、附图和权利要求置于其面前进行阅读的本领域普通技术人员理解的,还可以使用用于标识到期时间的其他方法。优选地,失败标识请求和到期时间被包括在音频请求的报头中,但是其可以在请求的任何其他部分中被传输,或者作为单独的信号传输。

在方框4506中,音频请求从客户端传输到相关服务器或者缓存。服务器或者缓存在方框4508接收音频请求并且在方框4510中确定所接收的音频请求包括失败请求被服务器或者缓存接收。在方框4512中,接收的服务器或者缓存确定所请求的音频是否可以在到期时间之前提供给客户端。这优选地基于所计划或之前确定的用于标识以及获取缓存音频的时间、渲染音符和/或将音符传输回客户端来缺点。将音符传输回客户端所要求的时间还可以基于在音频请求的传输时间和其被所接收的时间之间标识的等待时间。

如果确定了音频可以在到期时间之前提供,则在方框4514中,音频被放置在队列中,并且用于标识、定位和/或渲染音频的方法如上描述地进行。如果确定了音频不能在到期时间之前提供,则在方框4516,消息被发送回客户端,其通知客户端音频在到期时间之前将不可得。在一个实施例中,通知可以作为http 412错误消息来传输,但是也可以使用任何其他格式。在方框4518中,客户端然后可以采取任何必须的动作来获取并且提供代替音频。这可以通过客户端标识相似于对于来自本地缓存的所请求音符所要求的音频那样的音频和/或将处理应用到之前存储或者缓存的音频来粗略估计所请求的音符来实现。

在方框4520中,服务器/缓存检查失败请求是否已经标识了在音频可能不能被到期时间提供的事件中是要中止还是继续。如果失败请求被设置为中止,则在方框4522中,音频请求被丢弃,并且不采取进一步的动作。如果失败请求被设置为继续,则在方框4514中,音频请求被置于用于处理的队列中。在该情况下,音频然后一旦被完成可以被提供给客户端并且用来替代已经被客户端获取的代替音频。

图46图示了用于对队列中的音频请求按优先级排序的示例性过程。该过程连同以上描述的录音时间现场循环的实现特别有用,因为其有益于由用户对现场循环时间中的音符做出的任何改变,所述现场循环时间期望在该现场循环的下一个回放回合期间音符被回放之前实施。在方框4602中,由客户端针对要在当前现场循环内使用的音符而生成音频请求。在方框4604中,与现场循环相关联的定时信息被包括在音频请求中。在一个实施例中,定时信息可以标识循环的持续时间(被称为循环长度)。在另一个实施例中,定时信息还可以包括标识循环内的音符位置的信息(被称为音符开始时间)以及正在回放的循环的当前位置,如可以被以上描述的回放条或者播放头位置(被称为播放头时间)所标识的。(在本段落中描述的现场循环以及相关定时信息的示例性实施例在图48中图示)。

返回图46,在方框4606中,音频请求以及定时信息一同发送给服务器或者缓存。在一个实施例中,还可以将指示何时消息被发送的时间戳与消息一同被包括。

在方框4608中,接收到音频请求,并且在方框4610中,确定服务时间。例如,在一个实施例中,如果音频请求仅仅包括关于循环的持续时间的信息,则服务时间可以仅仅通过将循环持续时间分成两半来“计算”。这提供了在客户端处的现场循环的回放将到达音频所请求的音符位置之前很可能要求的时间长度的统计上的粗略估计。

在另一个实施例中,如果音符开始时间和播放头时间信息被包括在音频请求中,则服务时间可以更精确地计算。例如,在该情况下,其可以首先确定音符开始时间是否大于播放头时间(即,音符在循环中处于比在做出音频请求时的回放条更靠后的位置处)。如果音符开始时间更大,则服务时间可以如下计算:time_to_service=note_start_time-play_head_time(服务时间=音符开始时间-播放头时间)。如果播放头时间大于音符开始时间(即,音符在循环中处于比在做出音频请求时的回放条更靠前的位置处),则服务时间可以如下计算:time_to_service=(loop_length-play_head_time)+note_start_time(服务时间=(循环长度-播放头时间)+音符开始时间)。在另一个实施例中,服务时间的计算还可以包括加上对于将音频数据传输回客户端所要求的计划等待时间。等待时间可以通过标识何时音频请求被发送的时间戳并且计算在时间戳和由服务器或者缓存接收到音频请求的时间之间标识的经过时间来确定。

在服务时间值确定之后,音频请求基于其服务时间置于队列中。因此,具有较短服务时间的音频请求在那些具有较长服务时间的音频请求之前处理,因此增大音频请求将在现场循环中的相关联音符的下一回放之前被处理的可能性。

图47图示了用于汇编与相同音符有关的重复音频请求的示例性过程。在方框4702中,由客户端生成音频请求。在方框4704中,音轨ID、音符ID、开始时间和结束时间与音频请求一同被包括。音轨ID标识了针对其做出音频请求的音乐音轨,而音符ID标识了音符。优选地,音轨ID是全局唯一ID,而音符ID是针对音轨内的每个音符唯一的。开始时间和结束时间分别标识了与音轨的开始相关的音符的开始和结束位置。在方框4706中,音频请求和相关联的音轨ID、音符ID、开始时间和结束时间被传输到服务器和/或缓存。

如在图47中示出的,在该实施例中,服务器和/或缓存具有队列4720,其包括多个音轨队列4722。每个音轨队列4722包括用于处理对于单个音轨的音频请求的单独队列在方框4708中,服务器或者缓存接收音频请求,并且在方框4710中基于与音频请求相关联的音轨ID标识在队列4720中的音轨队列4722。在方框4712中,搜索音轨队列来标识具有相同音符ID的任何之前进入队列的音频请求。如果定位了具有相同ID的音频请求,则在方框4714中,该请求从音轨队列4722中移除。

然后,将新音频请求置于多个音轨队列4722中的一个相应音轨队列中。这可以以几种方式之一来实现。优选地,如果具有相同音符ID的之前的音频请求已经被定位和丢掉,则新音频请求可以替代在音轨队列4720中的所丢掉的请求。可替换地,在另一个实施例中,新的音频请求可以基于音频请求的开始时间置于音轨队列中。更具体地,具有较早开始时间的音符在队列中被置于比具有较晚开始时间的音符之前。

作为图47中描述的方法的结果,废弃或者淘汰的音频请求从队列中消除,因此保留了处理能力。这在一个或者多个用户在现场循环时间期间对单个音符做出许多和连续改变时特别有用,因为其增大了系统快速和高效处理的能力,并且提供了最近请求的音符,并且避免了对不再需要或者以其他方式期望的音符进行处理。

效果链处理

图49-52图示了可以基于由用户选择的要与特别是针对以上描述的游戏环境的那些音乐音轨相关联的虚拟音乐家、乐器和制作人而将一系列多个效果应用到一个或者多个音乐音轨的过程。如将根据以下描述理解的,凭借这些过程,用户创作的音轨可以被处理为更好地表示或者模仿在游戏环境中表示的可用音乐家、乐器和制作人的风格、细微差别和趋势。因此,单个音轨可以基于被选为与音轨相关联的音乐家、乐器和制作人而具有显著不同的声音。

首先转向图49,图示了用于将效果应用到一个或者多个音乐音轨以用于音乐编制的示例性效果链。如所示出的,对于每个乐器音轨而言,第一系列效果4902、4904和4904可以基于所选择的、与该音轨相关联的音乐家化身而应用。这些效果在本文中被称为音乐家角色效果。第二系列效果4904然后可以基于所选的制作人化身而被应用到乐器音轨中的每一个。其在本文中被称为制作人角色效果。虽然现在将在以下描述所应用的效果的特定示例,但是应该理解的是,可以使用各种效果,并且可以针对音乐家和制作人角色的每一个应用的效果的数目和次序可以更改。

图50示出了可以应用到音轨的音乐家角色效果的一个示例性实施例。在该实施例中,音轨5002被输入到失真/配套元件选择模块5004,其将相关数字信号处理应用到音乐音轨以便基本上重新创作可以与由通过游戏界面选择的虚拟乐器表示的真实世界乐器相关联的声音类型。例如,如果音轨5002是吉他音轨,则一个或者多个效果可以被应用到基本电子或者原声吉他音轨5002,以便模仿和重新创作特定吉他的声音风格,其包括例如旁路(bypass)、合唱、失真、回声、包络、混响、哇音效果以及甚至导致复古、金属、蓝调或者垃圾摇滚“感觉”的效果的复杂组合。在另一个示例中,效果可以被自动应用到基本电键盘音轨5002,以便模仿键盘类型,诸如Rhodes钢琴或者Wurlitzer电风琴。如果音轨5002是基本鼓音轨,则预先配置的鼓声音配套元件可以经由效果链基于所选的鼓的集合被应用。因此,效果链5004可以被用户所期望的对一个或者多个效果的添加或者修改通过系统将配套元件应用到基本音轨或者其组合来被控制。

在应用了失真效果和/或配套元件选择之后,音轨优选地传输到均衡器模块5006,其将一组均衡器设置应用到音轨。音轨然后优选地被传输到压缩模块5008,其中应用了一组压缩效果。要应用的均衡器和压缩设置被优选地针对每个音乐家化身预先配置,但是其也可以被手动设置或者调整。通过应用以上效果,音乐音轨可以被处理,以便表示由用户选择的虚拟音乐家和乐器的风格、声音和音乐趋势。

一旦已经应用了音乐家角色效果,则应用一系列制作人角色效果,如在图51和52中图示的。首先转向图51,音轨5102被拆分在三个并行信号路径之间,并且单独的级别控件5104a-c被应用到每个路径。针对每个路径的孤立的级别控件是合期望的,因为每个路径可以具有不同的动态。并行地应用效果使得链中的混合以及不想要或者不适当效果最小化。对于诸如鼓(其可以包括底鼓、小军鼓、镲、铙钹等等)之类的乐器而言,与每个鼓、镲、铙钹等等相关联的音频被认为是单独的音轨,其中那些音轨中的每一个被拆分到三个信号路径中以用于处理。

如在图51中示出的,然后将单独效果应用到三个信号路径中的每一个。第一路径被提供给效用效果模块5106,其将一个或者多个效用设置应用到音轨。效用设置的示例包括但不限于诸如均衡器设置和压缩设置之类的效果。第二路径被发送给延迟效果模块5108,其将一个或者多个延迟设置应用到音轨,以便对各种音符的定时进行位移。第三路径被发送给混响效果模块5110,其将一组混响效果应用到音轨。虽然未图示,但是还可以应用多个混响或者延迟设置。对于效用、延迟和混响效果中的每一个的设置优选地针对可经由游戏界面选择的每个虚拟制作人而预先配置,但是其也可以是可手动调整的。一旦应用了效用、延迟和混响效果,三个信号路径由混合器5112混合回到一起成为单个路径。

如在图52中示出的,对应于单个音乐作曲中的每个乐器的音轨被馈送给混合器5202,其中,它们被混合到单个编制音轨中。以这种方式,用户可以配置,各种分量(即,乐器)的相对音量可以相对彼此进行调整,以便比起某个乐器而言强调另一个乐器。每个制作人还可以与唯一混合设置相关联。例如,嘻哈风格的制作人可以与导致较大声贝斯的混合设置相关联,而摇滚制作人可以与导致较大声的吉他的混合设置相关联。一旦被混合,编制音轨被发送给均衡器模块5204、压缩模块5206和限制器模块4708,其中均衡器设置、压缩设置和限制器设置分别应用到编制音轨。这些设置优选地针对可由用户选择的用户化身可选择的每个虚拟制作人而预配置,但是其也可以手动地设置或者调整。

在一个实施例中,每个虚拟音乐家和制作人还可以被分配指示器影响音乐编制的能力的“影响”值。这些值然后可以用来确定以上描述的效果被应用的方式。例如,音乐家或者制作人的“影响”值越强,则其设置可对音乐的影响越大。相似的情景然后可以应用于制作人角色效果。对于在音乐家和制作人角色两者中都应用了的效果而言,诸如均衡器和压缩设置,“影响”值还可以用于确定如何消除在效果设置之间的差。例如,在一个实施例中,效果设置的加权平均值可以基于在“影响”值中的差而被应用。作为示例,让我们假设“影响”值可以是从1到10的数字。如果所选的、具有10的“影响”值的音乐家与具有1的“影响”值的制作人一同工作,则与该所选音乐家相关联的效果全部都可以被整个地应用。如果所选音乐家具有5的“影响”值并且与具有5的“影响”值的制作人一同工作,则任何所应用的音乐家设置的效果可以与制作人的设置以可能随机但将优选是预定的方式来组合。如果所选的音乐家具有1的“影响”值,则仅仅非常小的效果可以被应用。如果所选音乐家具有1的“影响”值,则仅仅非常小的效果可以被应用。在另一个实施例中,所管理的效果设置可以仅仅基于虚拟音乐家和制作人中的哪一位具有更大的“影响”值来选择。

在图49-52中描述的效果还可以被应用在系统中的任何设备上。例如,在所描述的服务器-客户端配置中,效果设置可以在服务器或者客户端处被处理。在一个实施例中,标识在哪里处理效果还可以基于客户端的能力被动态地确定。例如,如果客户端被确定为是智能电话,则大部分效果可以优选地在服务器处被处理,而如果客户端是台式计算机,则大部分效果可以优选地在客户端处被处理。

与被保护的内容和声

以上公开的和声器可以与包含被保护内容的预先录音的音频音轨一同使用。包括约束参数的音频输入音轨的非限制性示例包括任何被许可的或者以其他方式被约束的内容,诸如整首歌、对于歌曲的单个话音或者乐器音轨、取自电影的音频音轨、电视广播、或者视频、音频效果音轨、口头说的话、讲座、无线电广播、播客等等。具有约束参数的音频输入音轨的示例是具有在许可之下销售的版权被保护内容的音频音轨。这样的音频输入音轨可在其使用方面受到约束,从而保护作品的艺术完整性。为了与这些类型的音频音轨一同工作,并且保留作品的艺术完整性,必要的是,确保变换音符模块2402没有更改包括这样的约束的音频输入音轨的被保护的方面。图53的流程图是图示了一种通过将被约束的音频输入音轨与一个或者多个其他音频输入音轨组合来增强音频,从而在增强音频的剩余部分的同时实现对作品的艺术完整性的这种保护的潜在过程。

在5310,接收到多个音频输入音轨,其中,多个音频输入音轨中的至少一个音频输入音轨包括约束参数。音频输入音轨可以包括预先录音的内容。这样的预先录音的内容可以包括已经经由从网络下载、购买和导入而获取的音频音轨。预先录音的内容可以包括对用户自身表演的录音。音频输入音轨全部都可以被预先录音。音频输入音轨之一可以作为现场音频输入音轨被接收。例如,音频输入可以包括用户向连接到计算机的外围设备(即,麦克风)演唱或者演奏乐器。

音频输入音轨中的至少一个音频输入音轨包括约束参数。约束参数可以是从音高约束、音调约束、和弦约束或者定时约束的组中选择的约束中的一个或者多个约束。例如,作为来自歌曲的话音音轨的音频输入音轨可以包括音高约束,其不允许话音音轨的音高位移,以便保护艺术家话音的唯一质量。相似地,音调约束防止音频音轨变调成另一音高,而和弦约束防止对和弦结构的改变。定时约束可以防止以分数或者以倍数地加快或者减慢音频音轨。约束参数可以附加地或者可替换地包括阈值,诸如音高阈值、音调阈值、和弦阈值或者时间阈值。音高阈值可以允许音高位移阈值数目的音高、MIDI调音标准(MTS)半音、Hertz或者其他形式的小节。音调阈值可以指定音频输入音轨可以被变调成的音乐音调而限制其他方面。和弦阈值可以指定在其之内可以操纵音频输入音轨的和弦框架和/或可以指定在其之内音频输入音轨可能不能被操纵的和弦。定时约束阈值可以音频输入音轨可以被加快或者减慢的某个范围、上阈值或下阈值。定时约束阈值可以可替换地仅仅允许以特定倍数进行加快和/或减慢。音频输入音轨可以具有约束使得音频输入音轨不允许针对音频音轨的速度、音高、音调或者和弦的操纵。可替换地,音频输入音轨可以具有一个约束参数、多个约束参数、约束参数和约束参数阈值的组合、一个约束参数阈值或者多个约束参数阈值。

在5330,确定所约束的音频输入音轨,其中所约束的音频输入音轨是包括约束参数的音频输入音轨中的音频输入音轨。多个音轨可以包括约束参数。可以向用户发送指示音频输入音轨包括约束参数的通知。对用户的通知可以标识哪个音轨被约束、标识(一个或者多个)约束的类型以及甚至可以向用户提供移除所约束的音频输入音轨的选项。通知可以仅仅在所有音频输入被预先录音时提供。这样的通知的一个示例可以指示用户的预先录音的话音音轨将基于由用户要求的操作被基本上更改。

在5350,基于所约束的音频输入音轨的音乐属性,操纵多个音频输入音轨中的至少一个其他音频输入音轨。对多个音频输入音轨中的至少一个其他音频输入音轨的操纵可以报考将多个音频输入音轨中的至少一个其他音频输入音轨变调为所约束的音频输入音轨的音调。对音频音轨的操纵可以包括在本申请的“和声器”部分中公开的技术。所约束的音频输入音轨还可以按照本申请的“和声器”部分,在每个音轨的相应约束阈值的限制内被操纵。

在5370,所约束的音频输入音轨和所操纵的至少一个其他输入音轨被组合成单个输出音频音轨。

音调符号对齐(snap)

图54是图示了一种用于使得音频输入遵守音乐音调的潜在过程的流程图。本学科技术的系统和方法的用户可以具有多种多样水平的音乐才华。一些用户可能会具有不连贯的音高准确度。相对于整个音符集合而言,音高准确度一般在逐音高的基础上更好。也就是说,在两个相邻演唱的音符之间的音程比绝对音高(频率)具有更小的错误机会。系统和方法利用来自逐音高准确度的较好音高准确度来进行创作,以便除了保持用户所打算的音符符号之外,调整用户表演的音高。

在5410,接收到音频输入。音频输入可以是预先录音的,或者可以是现场捕获的。用户可以使用在系统中预先录音的音轨,或者可以输入已经在其他地方录音的、预先录音的音轨。例如,音频输入可以向诸如麦克风之类的外围设备进行演唱或者演奏。

在5430,确定音频输入的音乐音调。音频输入的音调可以通过图16的过程来确定。在5450,一系列动作针对以音频输入的第一音符开始并且继续进行到音频输入的最后一个音符的音频输入的每个连续音符而顺序地执行。在5450A,针对之前音符和之后音符的音高值被确定,并且在音频输入的之前音符和之后音符之间的音程也被确定。术语“之前音符”和“之后音符”可以表示在音频输入中的任何两个连续音符,并且描述了过程流(随着该过程流针对每一对音符发生)。也就是说,在针对音频输入的每个连续音符而顺序地执行步骤时,“之后音符”将在下一迭代中变成“之前音符”。关于音高值的确定,如果由用户向麦克风演唱音频输入,则实际音高针对之前音符和之后音符来确定,并且将反映用户是否准确地演唱了每个音符的音高。音高值可以以MIDI音高范围、频率或者任何标准度量标准来表达。例如,如果用户准确合拍地演唱了音符A,则如果以频率度量则音高值可以等于440,而如果以MIDI音高范围度量则音高值可以等于69。如果用户轻微升调地演唱了音符“A”,则如果以频率度量则音高值可以等于450。如果以MIDI音高范围度量则轻微升调地演唱音符“A”的示例可以是69.1。在音频输入的之前音符和之后音符之间的音程可以被确定,其也以MIDI音高范围、频率或者任何标准度量标准来反映实际音程。在过程中的所有音程可以以MIDI音高范围、频率或者任何标准度量标准来确定。

在5450B,基于之后音符的所确定的音乐音调和所确定的音高值,针对每个之后音符,选择多个可替换之后音符。可以选择任何数目的可替换之后音符,只要对于针对每个连续音符顺序执行的每次选择而言,可替换之后音符数目相同。示例性实施例具有针对之后音符的每一个而选择的三个音符。可替换之后音符可以被选择为最接近所确定的音乐音调中的第二音符的三个音符。本文使用的术语“最接近”包含其简单和普通的意义,其包括但不限于由半音、频率等等所度量的、或是高于或是低于即时音符的最近或者下一音符。最接近音符的选择可以被进一步约束,以使得最接近音符不能是在音乐音调内的特定和弦。多个可替换之后音符表示用户的走调演唱可能本应打算的最接近可能音符。例如,用户在音频输入中演唱了被确定为处于“C”的音乐音调。所演唱的音符之一是轻微升调的音符“C”,针对该音符的三个最接近音符被选择为“B”、“C”和“D”。如果替代地,音频输入被确定为处于“D”的音乐音调,则三个最接近的音符被选择为“B”、“C#”和“D”。

在5450C,在每个可替换之后音符和对应于之前音符的所选多个可替换之后音符的每个相应音符之间的每个音程基于在音频输入的之前音符和之后音符之间的音程而被评分。出于清晰的目的,该步骤将采用针对音符所选的三个可替换之后音符的优选实施例来进一步图示。在每个迭代中的之后音符将于针对“之前音符”所选的三个可替换之后音符相比较。也就是说,在之前的迭代中,之前音符是之后音符,并且因此,三个可替换之后音符之前针对现在变成之前音符的音符而选择。因此,在示例性实施例中,包含九个音程的三维矩阵被创作,所述九个音程基于每个音程对于初始确定的音程而言有多接近而被评分。在该步骤中,针对每一对音符,在所有可能可替换音符之间的音程被确定,并且相对于对应的实际音符的音程而评分,以确定哪个音程是最相似的。

在5450D,基于已评分的音程,选择针对每个可替换之后音符的最佳音程。在针对每个音符的三个可替换之后音符的示例性实施例中,三个可替换之后音符中的每一个将具有与其相关联的三个已评分音程,并且被保存,直到已经针对音频输入的所有连续音符顺序地完成了步骤为止。最佳音程是最接近于音频输入的对应音符的实际音程的那个音程。

确定每个可替换之后音符在对应于之前音符的所选多个之后音符的每个相应音符之后的概率。也就是说,已评分音程的每一个可以被进一步评估,以确定在音调符号中的一个音符之后是该音调符号中的另一音符的概率。该概率可以基于对现有音乐作曲的选择的分析来确定。概率数据的集合可以在本学科技术的系统之外确定,并且基于由第三方执行的数据分析导入到系统中。概率可以计及音调符号、流派、起源国家或者任何其他分组。这些特性可以是针对音频输入而确定的,所以应用于音频输入的概率最匹配于音频输入的特性。这些特定可以由用户输入或者可以由系统确定。概率可以构成音程分数的一部分,或者可以在对每个音程评分之后被确定和添加。可替换地,概率可以仅仅针对对于每个可替换之后音符的所选最佳音程而确定。在5470,针对音频输入的每个音符的最佳匹配音符基于音频输入的多个音符的所有音符的最佳音程而被选择。一旦已经针对音频输入的连续音符中的所有音符顺序执行步骤,则所有潜在“路径”针对在音频输入的每个音符之间的“最佳音程”的每个可能组合而确定。这可以通过字符串匹配算法来执行。针对音频输入的所有音符的最佳匹配音符因此表示在所确定的音调音符中的、最接近地匹配于原始音频输入音符的实际音程的音符。在包括概率分量的实施例中,整个音频输入的音符选择的累计概率将通知最佳匹配音符的选择,以使得最佳匹配音符也表示在具有相似于原始音频输入的特性的音乐创作中更通常使用的音符。在5490,音频输入的每个音符然后与每个相应的最佳匹配音符的频率相符。相符的音符然后变成可以提供给用户的音频输出。最佳匹配音符的选择可以进一步考虑所确定的概率。在选择最佳匹配音符时所确定的概率的权重可以被预先确定。

创作针对音频音轨的和声

本发明的一个益处是提供一种用于创作用于音频音轨的和声的系统和方法。例如,对话音音轨进行和声可以基于以下描述的方法和系统,被添加到主话音音轨中,以便根据单个音频(例如,话音)输入做出多个音频音轨。对已和声的音频音轨的创作可以与系统100并且连同诸如和声器之类的本学科技术的其他模块一同使用。通过使用本学科技术,多个和声音轨可以针对单个音频音轨而创作,从而创作多部分的和声。所创作的和声的每个部分的特性可以基于音轨的所选音符、音量和效果而形成。和声的每个部分的特性可以不同于和声的其他部分,以供与相同音频音轨一同使用。一个或者多个音轨以及其特性可以被预定,并且作为不同的“麦克风”呈现给用户。不同的“麦克风”可以针对多音轨音频输入的每个单个音轨而被选择。

图55图示了一种用于创作用于音频输入的和声音轨的潜在过程的流程图。在5510,接收音频输入。音频输入可以是现场音频输入音轨。例如,用户可以向诸如麦克风之类的外围设备演唱和/或演奏乐器或者演奏连接到计算机的乐器(诸如连接到计算机的电钢琴)。音频输入还可以包括预先录音的内容,其包括已经经由下载、购买和从网络导入而获取的音频音轨。预先录音的内容可以包括用户自己的表演的录音。音频输入音轨全部都可以是预先录音的。音频输入还可以包括预先录音的内容的现场录音。

在5530,基于所接收的音频输入,创作和声音轨。每个和声音轨可以作为输入音频中的一些或者全部输入音频的副本而开始。例如,如果用于创作和声所期望的输入音轨是话音音轨,并且音频输入包括乐器音轨和话音音轨,则可以仅仅选择话音音轨以用于创作和声音轨。

在5550,多个和声音轨中的每一个基于针对多个和声音轨的每个相应音轨的变调值而被变调。变调值可以是许多半音。变调值可以对于多个和声音轨的每一个而不同。对于相应音轨的变调值可以被确定使得音频输入和其对应的和声音轨创作和弦声调的任何组合。一个示例是创作“麦克风”,其采用音频输入创作三和音和声。

在本发明的一个实施例中,音频输入的多个副本被提供具有各种特性。音轨可以被提供具有初始音频输入,而不是创作和声音轨作为输入音频的副本。所提供的和声音轨可以是具有不同音高和/或速度的原始音频输入的录音表演。因此,替代于基于变调值对每个和声音轨的副本进行变调,音轨可以基于和声音轨从音频输入中选择。在本发明的又一个实施例中,音频输入的多个副本被提供具有各种特性。基于对于相应和声音轨的变调值,音频输入变调值可以被选择,并且进一步地,和声音轨可以被进一步变调,以创作一个或者多个和声音轨。在一个示例中,要进行和声的音频输入是预先录音的话音轻拍(vocallick)。表演者以三种不同音高和三种不同速度对相同的话音轻拍进行录音,从而导致一个话音轻拍的十二中变型。这十二个预先录制的话音轻拍是基于变调值选择用作是和声音轨的音轨的基础。所选的预先录音的音轨也可以基于变调值而被变调。也就是说,如果对于音频输入的和声音轨要创作三和音和声,则可以选择如下这样的预先录音的音轨,即:其最接近于对于第三(与根音相距四个半音)和第五(与根音相距七个半音)和声的音高,以使得和声音轨必须被变调的半音数目被减少。使用具有不同音高的多个预先录音的音轨提供了更实际的声音音频输出音轨的益处。

在5570,基于和弦严格度阈值,操纵多个和声音轨的每一个的单独音符。和声严格度阈值可以基于和弦声调。基于和弦严格度而操纵多个和声音轨的每一个的单独音符可以进一步包括确定多个和声音轨的每个音符是否在和弦严格度阈值内并且将在和声严格度阈值之外的每个音符变调成在和弦严格度阈值内的最接近音符。和弦严格度值可以对应于“严格度”水平,并且对音符的操纵可以通过控制协和音程2514的逻辑来实行,或者以与其相同的方式来实行。本文使用的相关于音符的术语“最接近的”涵盖其简单和普通意义,其包括但不限于与另一规定音符或者音符范围相距最少数目的半音的音符。最接近的音符可以附加地指代具有与在音乐音调或者和弦结构内的另一规定音符或者音符范围相距最少数目半音的音符。

在5590,基于音频输入和已操纵的和声音轨来提供音频输出。附加操纵可以针对和声音轨而做出。增益可以基于和声音轨的每一个的增益值,针对多个和声音轨的每一个而调整。增益值可以针对和声音轨的每一个而不同。增益值可以被设置为使得和声音轨的每一个等于音频输入,或者增益和声音轨可以被设置为等于彼此但是不同于音频输入。用户可以选择增益值或者增益值可以是预定的。

和声的预定集合可以被创作,并且经由图形用户界面提供给用户,以用于简化的使用。这些和声集合可以作为包含预定特性的不同麦克风来提供,所述预定特性诸如变调值、和弦严格度阈值、增益值、混响(“reverb”)效果和节奏倍数。对于每个音符的效果还可以是影响每个音轨中的音符中的一些或者所有音符的起音和衰减质量的所添加的特性。效果可以采用利用在处理器2902上运行的一个或者多个进程的特效编辑器218来实施。不同麦克风可以包括预定特性和使得用于选择特性的选项两者。图形用户界面可以允许用户选择针对多个音频音轨的多个麦克风。

图56图示了用于在图31的游戏环境中创作一个或者多个和声音轨的界面的潜在实施例。对于包括由化身3410创作的音频输入的任何音频输入音轨而言,用户可以被导航到或者被呈现用于选择一个或者多个麦克风来创作预定和声集合的选项。用户可以被提供用于在具有各种效果集合的各种麦克风5618、5620或者5622之间选择的选项。麦克风的外观可以以如在“游戏环境”部分中公开的相同方式,在视觉上表示流派或者效果。

图57A-57C一同图示了采用图12的用户界面使用和声音轨修改对系统的音乐音轨输入的用户界面的一种潜在使用。当用户已经选择了麦克风来采用和声音轨增强音频输入时,麦克风图标5720可以与乐器图标5710一同显示。麦克风图标5720可以在任何用户界面中出现,以指定具有与输入相关联的和声音轨的音频输入。

前述描述和附图仅仅解释和图示了本发明,并且本发明不限于此。虽然相关于特定实现或者实施例描述了本说明书,但是许多细节是出于图示的目的而阐述的。因此,前述内容仅仅图示了本发明的原理。例如,本发明可以具有其他特定形式,而不会偏离其精神或者基本特性。所描述的安排是说明性的而不是限制性的。对于本领域技术人员而言,本发明易受到附加实现或者实施例的影响,并且在本申请中描述的这些细节中的某些细节可以在不偏离本发明的基本原理的情况下相当大地不同。因此,将领会的是,本领域技术人员将能够设想各种安排,其虽然没有在本文中明确描述或示出,但是体现了本发明的原则并且因此在其范围和精神之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号