变化音频回放的制作方法

文档序号:19418849发布日期:2019-12-14 01:13阅读:319来源:国知局
变化音频回放的制作方法

本公开涉及用于播放音频数据组(例如音乐轨)的方法。更具体地,本公开涉及用于控制音乐轨的回放拍速的方法。



背景技术:

在音乐产业中,许多音乐轨被再混合(即再制作),以创造不同的歌曲。即使旋律大部分被保留,再混合通常也会改变歌曲的原始节奏(rhythm)或拍速(tempo),以创造出不同的气氛或氛围。例如,歌曲可以被加速以达到欢快的效果,或者放慢拍速以给它一种更放松的感觉。

将音乐轨再混合成不同的拍速的过程是复杂的过程。歌曲或音乐轨通常是若干音频数据组(例如8个音频数据组)混合的结果,每个音频数据组分配给具有特定功能的音频分量(声乐1、声乐2、节拍......)或乐器(钢琴、吉他、竖琴、萨克斯、贝斯......)。每个音频数据组以及因此音乐轨本身的特征在于其旨在呈现或播放的回放拍速。

音乐轨的回放拍速的改变可能显著地破坏原始编排(originalarrangement),因为单独的分量无法适应不同的拍速。因此,音频分量,更具体地是所分配的音频数据组,通常由音乐编辑器重新制作,以生成可以满足观众的音乐轨的编排。该混合将大体由艺术的和技术的工作组成,以改变回放拍速,同时生成新的同样悦耳的编排。

期望的是动态地更新音乐轨的拍速,而不需要对组成该音乐轨的单独的音频分量进行复杂的重新编排。然而,简单地加快或减慢音乐轨的拍速将影响其音调,并且由此产生的回放对收听者来说可能听起来很奇怪。对音频数据组的时间拉伸允许音调的控制,使得回放拍速的差异减少了对艺术编排的影响。时间拉伸的问题是,原始回放拍速经过一定百分比的提高或降低后,可用的工具以及音乐编辑器的艺术技能不能弥补编排的粗糙变形。

因此,需要一种方法以在大范围的拍速上动态地更新音乐轨的拍速,同时维持原始编排的保真度。特别地,需要在收听者收听音乐轨的同时实现这种拍速的改变。

其中的一个应用是在锻炼中,特别是音乐的同步应用,其中运动员有意识地将他或她的步率与音乐的节奏联系起来。这可以导致增加的动力和运动的节奏性,从而导致与较低的相对氧摄取相关联的效率增益(参见《运动领域中的音乐:回顾与综合》(musicintheexercisedomain:areviewandsynthesis)(第二部分),terry,p.c.&karageorghis,c.i.(2011))。

us2014288679公开了一种方法和系统,该方法和系统用于接收描述用户正在锻炼的步速的信息,以取决于步速的回放拍速呈现描述比赛的视频内容,并显示包括步速的指示的仪表板。

us2016313972公开了一种电子设备,该电子设备可包括音频处理电路、步速跟踪电路和定位电路。步速跟踪电路可以被操作,以基于由定位电路生成的位置数据、期望的拍速以及歌曲存储是在本地还是网上,选择用于回放的要处理的歌曲,和/或通过音频处理电路控制应用于这些歌曲的时间拉伸。



技术实现要素:

根据一个方面,提供了一种用于控制要在音频输出处呈现的音轨的回放拍速的方法,该音轨包括多个音频分量,多个音频分量的第一音频分量与多个音频数据组相关联,其中,多个音频数据组中的每个音频数据组与相应的回放拍速范围相关联,该方法包括:接收用于在音频输出处呈现音轨的回放拍速;从多个音频数据组中选择具有包括所接收的回放拍速的相关联的回放拍速范围的音频数据组;以及将所选择的音频数据组分配给第一音频分量,以在音频输出处呈现音轨。

可选地,多个音频分量的其他音频分量中的每一个音频分量都与至少一个音频数据组相关联,并且每个音频数据组具有相关联的回放拍速范围。可选地,该方法还包括:针对多个音频分量的第二音频分量,确定是否存在具有包括所接收的回放拍速的相关联的回放拍速范围的音频数据组;针对多个音频分量的第二音频分量,选择具有包括所接收的回放拍速的相关联的回放拍速范围的相应的音频数据组;以及将所选择的频数据组分配给多个音频分量的第二音频分量,以在音频输出处呈现音轨。

可选地,对于第一音频分量,多个音频数据组中的每个音频数据组的回放拍速范围与多个音频数据组中的其他音频数据组的回放拍速范围不同。可选地,第一音频分量的音频数据组的回放拍速范围与不同音频分量的音频数据组的回放拍速范围不同。可选地,每音频数据组还与旨在被呈现于的预定的回放拍速相关联,预定的回放拍速包括在该音频数据组的回放拍速范围内,分配给音频分量还包括:执行所选择的音频数据组的时间拉伸处理,时间拉伸处理包括:将所选择的音频数据组从预定的回放拍速转变,以生成旨在以所接收的回放拍速呈现的修改的音频数据组,使用该修改的音频数据组作为用于分配给音频分量的所选择的音频数据组。

可选地,该方法还包括接收更新的回放拍速,并基于更新的回放拍速更新所选择的音频数据组。可选地,如果更新的回放拍速包括在所选择的音频数据组的回放拍速范围内,则更新所选择的音频数据组包括:对所选择的音频数据组执行时间拉伸处理,以提供旨在以更新的回放拍速呈现的更新的修改的音频数据组,并用更新的修改的音频数据组替换分配给音频分量的所选择的音频数据组。可选地,如果更新的回放拍速不包括在选择的音频数据组的回放拍速范围内,则更新所选择的音频数据组包括:用与包括更新的回放拍速的回放拍速范围相关联的音频数据组替换所选择的音频数据组。

可选地,该方法还包括:在改变选择的音频数据组之后,对所选择的音频数据组执行时间拉伸处理,以提供旨在以更新的回放拍速呈现的更新的修改的音频数据组。可选地,该方法还包括在音频输出处呈现音轨。

可选地,该方法还包括在音频输出处呈现音轨,并且其中更新的回放拍速在第一时刻被接收到音轨的呈现,并且在音频输出处呈现音轨时考虑第一时刻。可选地,呈现音轨包括在第一时刻之后在所选择的音频数据组和更新的音频数据组之间实现交界渐变。可选地,该方法还包括:如果更新的回放拍速不包括在所选择的音频数据组的回放拍速范围内,则在第一时刻之后通过采用延迟来使用更新的音频数据组呈现音轨。

可选地,回放拍速定义用于呈现音轨的节拍之间的时间间隔,该延迟随预设的完成的节拍的数量而变化。可选地,接收回放拍速包括接收用户输入。可选地,用户输入是当前用户步调。可选地,该方法还包括将回放拍速的每分钟节拍数设定为与当前用户步调的每分钟步数相同。

可选地,用户输入是期望的回放拍速。可选地,用户输入是用户参数的目标值,该方法还包括将目标用户参数转换为回放拍速。可选地,用户参数的目标值是目标用户步调、目标用户心率或目标用户速度。可选地,用户参数的目标值是目标用户步调,该方法还包括将回放拍速的每分钟节拍数设定为与目标用户步调的每分钟步数相同。可选地,用户参数的目标值是目标用户心率,并且将目标用户心率转换为回放拍速是基于用户的休息心率或用户的当前心率。可选地,用户参数的目标值是目标用户速度,并且将目标用户速度转换为回放拍速是基于用户的步长。

可选地,该方法还包括监测用户参数的当前值,并且如果用户参数的当前值与用户参数的目标值不匹配,则更新回放拍速。可选地,更新回放拍速包括:如果用户参数的当前值低于用户参数的目标值,则提高回放拍速;如果用户参数的当前值高于用户参数的目标值,则降低回放拍速。

可选地,该方法还包括:接收对应于第一时段的第一用户输入和对应于第二时段的第二用户输入,基于第一用户输入确定第一时段的第一回放拍速,以及基于第二用户输入确定第二时段的第二回放拍速。

可选地,该方法还包括:接收对应于用户要跑的第一段距离的第一用户输入和对应于用户要跑的第二段距离的第二用户输入,基于第一用户输入确定用户要跑的第一段距离的第一回放拍速,以及基于第二用户输入确定用户要跑的第二段距离的第二回放拍速。

根据另一方面,提供了一种用于控制在音频输出处呈现的音轨的回放拍速的电子设备,该电子设备包括配置为执行该方法的处理器。

根据另一方面,提供了一种系统,该系统包括用于呈现音轨的音频输出和电子设备,该电子设备包括配置为执行该方法的处理器。

根据另一方面,提供了一种计算机可读介质,该计算机可读介质包括计算机可读指令,该计算机可读指令在使用中配置为使处理器执行该方法。

附图说明

现在将参考附图来描述本发明的示例性实施例,其中:

图1是表示根据本公开的用户设备的示意图;

图2是基于用户输入动态更新音乐拍速的流程图;

图3是根据本公开的音乐轨的示例性表示;

图4是本方法的另一种布置的示意图,包括用户设备和远程设备;

图5.1和图5.2是示出根据本方法的不同布置由处理器实现的总体操作步骤的流程图;以及

图6示出了计算设备的一种实现的框图。

具体实施方式

图1描绘了可用于回放音轨(特别是音乐轨)的用户设备100。用户设备100可以是智能手机、便携式媒体播放器或能够播放音频的任何其他设备。用户设备100包括处理器110,该处理器110用于执行计算机程序的指令以执行本文描述的方法。用户设备100还包括用于存储多个自适应媒体文件的存储器120,每个自适应媒体文件由对应于音乐轨的不同音频分量的多个音频数据组组成。音频数据组可以包含在一个或多个音频文件中,并且配置文件可以定义音频文件的相关细节,例如回放拍速范围和包括数据组之间的转换特性的数据组之间的关系,这将在稍后变得明显。用户设备100还包括用于通过无线或有线连接交换数据的接收器/发送器单元130。交换的数据可以是实现本音频混音方案所需的音频数据或其他类型的数据。可选地,数据可以是用户数据,例如由心率监测器170测量的用户心率。用户设备100还包括触敏显示器140和多个传感器150,用于定义输入,例如音轨的回放拍速,如下所述。传感器150包括加速计、陀螺仪和/或gps跟踪器。用户设备100还包括音频输出160,该音频输出160可以采用扬声器或耳机插孔的形式。

用户设备100的用户可能希望例如在运动期间使用该设备来播放音乐。用户可能希望以给定的拍速播放音乐,这允许用户在跑步时将他或她的步调(每分钟跑的步数)与音乐的拍速同步。用户设备100能够通过实现本文描述的方法以用户输入的拍速播放音乐。用户可以通过多种方式输入所需的拍速。

在第一实施例中,用户可以经由触敏显示器140以每分钟节拍(beatsperminute,bpm)输入期望的拍速。以这种方式,用户可以设定用于从设备进行音乐回放的恒定拍速。然后,用户可以将他或她的步调与音乐的节拍同步,这允许在跑步的持续时间内维持恒定的步率。

在该实施例的变型中,用户可以输入在跑步的持续时间内要遵循的不同的拍速或步调的程序。例如,用户可能希望5公里跑的第一公里处于每分钟60步的步调,接下来的3公里处于每分钟80步的步调,并且最后一公里处于每分钟70步的步调。用户经由触敏显示器140将该程序输入到用户设备100中。用户可以将第一公里的音乐拍速设置为60bpm,接下来3公里的音乐拍速设置为80bpm,最后一公里的音乐拍速设置为70bpm。可选地,用户可以输入目标步调,并且处理器100使用一对一的比率将步调转换为拍速。

在用户输入要在不同距离处开始的不同的拍速或步调的情况下,用户设备100使用多个传感器150中的gps跟踪器来跟踪用户的进度并在正确的距离处更新拍速。然后,音乐以用于跑步的不同阶段的期望拍速播放,并且用户能够将他或她的步调与音乐的拍速同步。

可以设想,用户可以对每个阶段在任何期望的距离处输入任何期望的阶段数。还可以设想,设定程序的不同方法是可能的,例如按时间而不是按距离将跑步分成阶段,在这种情况下,用户设备100将使用内部时钟来监测何时应该更新拍速。

在跑步过程中,用户设备100可以使用多个传感器150中的加速计来监测用户的实际步调。如果在跑步过程中,用户的步调下降到低于音乐的拍速,则处理器110可以提高音乐的拍速以鼓励用户提高他或她的步调直到用户达到预设的步调。类似地,如果用户的步调高于音乐的拍速,则处理器110可以降低音乐的拍速以鼓励用户减少他或她的步调直到用户达到预设的步调。

在另一实施例中,用户可以输入他或她希望在跑步期间达到的目标心率,例如160bpm。处理器110计算对应于将导致用户达到目标心率的所需步调的音乐的拍速。这可以通过使用历史用户数据、由心率监测器170测量的用户的正常的休息心率或用户的当前心率来计算。最初,处理器110使用历史用户心率和步调数据来确定对应于目标心率的用户的步调。在这种情况下,用户设备100连接到心率监测器170。通过这种方式,并且也类似于第一实施例,心率监测器170可以用于在跑步期间测量用户的实际心率,并且处理器110可以相应地提高或降低音乐的拍速以确保用户的心率维持在期望的水平。可以存储表示用户的步调与用户的心率之间的对应关系的数据以供将来使用。与第一实施例类似,用户可以设置不同的目标心率,以对应于跑步的不同阶段。

在另一实施例中,用户可以输入他们希望跑的目标步速。这可以是以米/秒(m/s)、千米/时(km/h)、英里/小时(mph)等为单位的速度。使用用户基本信息数据(例如用户的步长),处理器110计算用户以目标步速跑步所需的步调并将音乐设置为以相对的拍速播放。处理器110可以使用历史用户步速和步调数据来确定对应于目标步速的用户的步调。同样,用户可以设定不同的目标步速以对应于跑步的不同阶段。而且,在多个传感器150中的gps跟踪器可用于监测用户在跑步期间的进展。如果用户的步速在跑步的给定点下降到目标步速以下,则处理器110可以提高音乐的拍速以鼓励用户提高他或她的速度。类似地,如果用户的步速高于音乐的拍速,则处理器110可以降低音乐的拍速以鼓励用户减速。

用户还可以通过按照距离和/或时间并为每个阶段设定不同类型的目标而将跑步分成不同的阶段,从而“混合和匹配”上述每个实施例。例如,用户可能希望以每分钟60步跑2公里,以160bpm的心率跑60秒,以及以8km的步速(约2.2m/s)跑1公里。

在图2中示出了用于基于用户的表现动态地更新音乐回放拍速的方法200。该方法由用户设备100执行。该方法开始于步骤202,其中用户设备100从用户接收指示跑步目标的输入。如上所述,目标可以是目标步调、目标心率或目标步速。

在步骤204处,处理器110计算与在步骤202中用户输入的目标相对应的拍速。如果用户输入了步调目标,则拍速是以每分钟步数为单位的步调到以bpm为单位的拍速的简单1对1映射。如果设定了心率或步速目标,则在计算拍速时使用用户基本信息数据,如上所述。

在步骤206处,以所计算的拍速播放音乐。通过结合图5.1和5.2描述的方法实现以所计算的拍速回放音乐。

在步骤208处,用户设备100监测相对于目标的用户的表现。如果用户输入了步调目标,则多个传感器150中的加速计用于测量用户的实际步调。如果用户输入了心率目标,则心率监测器170用于测量用户的实际心率。如果用户输入了步速目标,则使用多个传感器150中的gps跟踪器来测量用户的实际步速。

在步骤210处,做出用户是否正在满足目标的判断。如果用户没有达到目标,则该方法移动到步骤212,在步骤212判断用户的表现是低于目标还是高于目标。如果用户的表现低于目标,例如以比目标更低的步调、心率或步速,则处理器110在步骤214提高音乐回放的拍速。如果用户的表现没有低于目标(即,表现高于目标),例如以比目标更高的步调、心率或步速,则处理器110在步骤216降低音乐回放的拍速。一旦拍速增加或减少,该方法返回到步骤208,其中用户设备100继续监测相对于目标的用户的表现。

如果在步骤210判定用户以目标表现,则用户设备100在步骤218处以相对于目标计算的拍速播放音乐。如果用户一直以目标表现,这将是回放的简单继续,或者如果由于用户没有以目标表现导致先前已经提高或降低了拍速,则这将是最初计算的拍速的恢复。该方法再次返回到步骤208,其中用户设备100继续监测相对于目标的用户的表现。

在另一实施例中,用户可以根本不设定目标。相反,用户可以以自然的步调跑步,并且多个传感器150中的加速计测量用户的步调。然后可以将该信息馈送到处理器110,然后处理器110设定音乐的拍速以匹配用户的步调。如果用户提高他们的步调,则音乐的拍速增加。类似地,如果用户降低他们的步调,则音乐的拍速降低。

现在将解释处理器110基于输入更新音乐轨的拍速的方式。

音轨,例如歌曲,通常包括一个或多个音频分量。每个音频分量对应于音轨的不同部分,例如不同的乐器、声乐等。在图3中可以看到用于产生音轨的自适应媒体文件的说明,图3示出了具有由垂直延伸的条形元素表示的10个音频分量的自适应媒体文件。音频分量可以各自对应于相应的音频通道,或者由多于一个音频数据组组成的音频分量可以分布在多于一个的音频通道上。例如,在图3中,“钢琴低”音频分量对应于单个音频通道,“钢琴高”音频分量对应于两个音频通道。轨(track)的回放拍速在垂直轴上指示。

每个音频分量具有由条形元素的不同部分表示的一个或多个音频数据组。每个部分对应于一回放拍速范围。这样,这些部分在垂直方向上不重叠,并且在垂直方向上分别用第一边界和第二边界界定。看向“钢琴低”音频通道,3个部分311、312和313分别与回放拍速范围60bpm-100bpm、100bpm-170bpm和170bpm-240bpm相关联,这些值以bpm为单位表示。“竖琴:合成器”音频通道包括2个部分301和302,分别与回放拍速范围80bpm-139bpm和139bpm-240bpm相关联。对于给定的音频分量,回放拍速范围可以看作是音频数据组可以在其上使用的回放拍速范围。回放拍速范围可以是相邻的,即第一回放拍速范围的最高水平对应于第二回放拍速范围的最低水平。在这种情况下,两个连续的回放拍速范围共享共同的回放拍速边界。

在记录音频数据组期间,音乐家可以以若干拍速在乐器上演奏相同系列的音符,以便记录必要数量的音频数据组。类似地,歌手可以以不同的拍速唱出相同的旋律以针对语音音频分量定义多个音频数据组。在可选布置中,音符和旋律可以适合于相应的记录拍速。在图3的示例中的不同拍速是70bpm、120bpm和172bpm。这些预定的回放拍速值对应于可以被称为相应的音频数据组的本地回放拍速的内容。它们定义了在记录音频数据组时该音频数据组旨在被呈现于的回放拍速(例如,语音、乐器、节拍等的初始拍速)。音频数据组的本地回放拍速包括在该音频数据组的回放拍速范围中。

如将结合图5.1和5.2所讨论的,由多个音频分量和多个音频数据组组成的音轨的实现允许选择拍速并动态地混合音轨。该音频混合可以完全通过用户设备100的处理器110使用存储在用户设备100的存储器120中的多个音频数据组来实现。可选地,可以通过如图4所示客户端/服务器关系启用音频混合。包括用户界面410的设备400被布置为例如以在上面讨论的关于跑步的方式之一来接收音乐轨的回放拍速。可以从远程服务器420上的一个或多个数据库(图4中未示出)访问相关的多个音频数据组,并将该相关的多个音频数据组下载到设备400以供处理。可选地,音频分量管理以及相关的回放拍速范围和相应的多个音频数据组的选择可以在远程服务器420处执行,远程服务器420还操作对存储了多个音频数据组的数据库的访问。

现在将结合图5说明本音频混合方法,图5示出了执行该方法的不同操作或步骤的流程图。

图5.1是根据第一布置的本方法的说明性流程图。该方法可以由图1的用户设备100的处理器100执行,或者替代性地由远程电子设备(如服务器410)的处理器执行。在启动步骤500中,一旦选择了音乐轨,就从用户设备100的存储器120加载用于音乐轨的不同音频数据组。可选地,音频数据组可以以任何可用的标准音频格式通过空中流式传输,或从远程存储器下载。

如上所述,每个音频数据组对应于一音频分量。每个分量对应音乐轨的一部分,例如乐器、节拍或一个或多个语音。可以将每个分量分配给单个音频通道,或者如果分量由多个音频数据组组成,则分配给多个通道。每个音频数据组与回放拍速范围相关联。在为给定的分量加载多于一个音频数据组的情况下,每个音频数据组覆盖不同的拍速范围。音频数据组还可以与本地回放拍速相关联,该本地回放拍速对应于其旨在被呈现于的初始拍速,例如,该音频数据组被记录于的拍速。

在进一步的步骤510中,处理器110将接收用于例如以上文在跑步的背景中论述的方式之一来呈现音乐轨的回放拍速。每次用户输入回放拍速时,本方案使得能够选择具有包括针对每个音频分量的输入回放拍速的回放拍速范围的音频数据组。现在针对第一音频分量大体地描述步骤520至550。

在步骤520中,处理器110确定对于具有包括所接收的回放拍速的回放拍速范围的音频分量是否存在音频数据组。如果是,则将在进一步的步骤530中选择与包括接收的回放拍速的回放拍速范围相关联的音频数据组。在随后的步骤540中,处理器110将所选择的音频数据组分配给第一音频分量,以便在稍后的步骤560中在用户设备100的音频输出160处呈现音乐轨。

为了说明,图3示出了在水平方向上延伸的附加的条形元素315,该条形元素表明120bpm的输入回放拍速。在这种情况下,选择对应于低钢琴的100bpm-170bpm范围的音频数据组312,并选择用于竖琴的80bpm-139bpm范围的音频数据组301。然后将这些数据组分配给它们相应的音频分量以呈现音乐轨。

由于音乐轨包括一个或多个附加的音频分量,该附加的音频分量与第一音频分量一起形成多个音频分量,音乐轨的呈现包括在步骤550中混合多个音频分量。与第一音频分量一样,每个分量与至少一个音频数据组相关联,并且每个音频数据组与回放拍速范围相关联。与第一分量一样,对于其他分量重复用于第一分量的步骤520至步骤550,如图5.1所示,其中步骤522至步骤552用于第二音频分量。换句话说,对于每个附加的或当前音频分量,以下步骤是重复的:

从与给定的音频分量相关联的多个音频数据组中识别和选择与包括接收的回放拍速的回放拍速范围相关联的音频数据组;以及

将所选择的音频数据组分配给给定的音频分量,用于在用户设备100的音频输出160处呈现音乐轨。

用户可以在轨的任何点处改变回放拍速。如果在步骤570接收到新的回放拍速(对步骤570回答为“是”),则过程返回到步骤510以更新每个音频分量的回放拍速范围,并因此根据需要改变多个音频数据组。在本方案中,给定的音频分量可以包括两个连贯的回放拍速范围,该两个连贯的回放拍速范围可以是毗邻的并且共享共同的回放拍速边界。当由于输入回放拍速的提高而越过该共同的回放拍速边界时,所选择的音频数据组将改变。在这种情况下,回放拍速的更新将导致处理器110“关闭”当前选择的音频数据组并“打开”与更新的回放拍速所属于的回放拍速范围相关联的音频数据组。

在图3的示例中,如果回放拍速从120bpm变为100bpm,则停止“钢琴高”音频分量的范围为104bpm-171bpm的部分。开始“合成器&竖琴”音频分量的范围为60bpm-115bpm的部分。

如果新的回放拍速落在音频分量的两个音频数据组之间的共享边界上,如图3的示例中的“钢琴低”音频通道的情况,则处理器110将使用渐变(fade)参数来影响两个相邻部分之间的交界渐变(cross-fade)。渐变参数包括一个参数,该参数表明在回放拍速超过阈值bpm值之后是否应该立即开始渐变,或者是否应该将开始延迟直到下一个条形的第一个节拍。渐变参数还包括指定渐变应该多快或多慢的参数。

当在步骤570没有接收到更新的回放拍速时(对步骤570回答为“否”),该过程将继续呈现具有在步骤560中混合的当前音频数据组的音乐轨。

如果输入回放拍速与音频数据组的本地拍速不完全匹配,而是落在该音频数据组的拍速范围内,则用户可以选择在启动当前音频混合时启用对音频数据组的时间拉伸。时间拉伸是改变音频信号的拍速或持续时间而不影响其音调的过程,以便除了改变回放拍速之外还保持歌曲对耳朵“熟悉”。当禁用时间拉伸时,如图5.1的示例所示,在回放拍速范围内选择的输入回放拍速不会影响音频数据组的呈现。

图5.2显示了当前音频混合方案的示例,其中用户启用了时间拉伸。除了分别用步骤541和步骤543替换的图5.1的步骤540和步骤542之外,该附加布置中的步骤类似于图5.1所示布置的步骤。

步骤541和543分别描述在输入回放拍速不同于该音频数据组的本地回放拍速的情况下对给定的音频数据组执行的时间拉伸过程。更确切地说,对于当前选择的音频数据组,用户设备100的处理器110将执行所选择的音频数据组的时间拉伸过程,该时间拉伸处理包括转换所选择的音频数据组,以产生旨在以受控制的音调在输入回放拍速下被呈现的修改的音频数据组。然后使用修改的音频数据组代替(或作为)用于分配给音频分量的所选择的音频数据组。

在图3的示例中,在95bpm的回放拍速下,音频混合器将仅选择“钢琴低”通道、第一个“弦乐”通道、“竖琴:合成器”通道和“合成器&竖琴”通道。这些分量中的音频数据组具有相应的70bpm、70bpm、120bpm和70bpm的本地回放拍速。因此,除了“竖琴:合成器”音频数据组从120bpm降到95bpm地被拉伸,音频数据组从70bpm被拉伸到95bpm。

在步骤541和543中,本领域技术人员可以使用不同的技术来从音频数据组的本地回放拍速时间拉伸该音频数据组,以生成旨在以接收的回放拍速呈现的修改的音频数据组。类似地,许多技术可用于图5.2的混合步骤551,以使音乐轨的布置更加悦耳。这些方案超出了本说明书的范围。然而,在本解决方案中,通过限制可能对于足够的时间拉伸来说太大的回放拍速范围的影响,向用户提出了改进的回放拍速控制器。

涉及选择的多个音频数据组的混合的图5.1的混合步骤550,在图5.2的这个附加布置中用混合步骤551替换,其中混合了修改的多个音频数据组。一旦被混合,修改的音频数据组在步骤551中被混合成旨在以接收的回放拍速呈现的音乐轨,本方法在步骤560中继续,并且例如在用户设备100的音频输出160处呈现音乐轨。与图5.1的布置一样,处理器110将在步骤570中继续监测是否接收到新的回放拍速值。

当没有接收到新的回放拍速时(步骤570回答为“否”),本方法将继续混合不同的音频分量以在步骤560中在音频输出160处呈现音乐。

如果接收到更新的回放拍速(对步骤570回答为“是”),则处理器110将更新的回放拍速视为新的当前回放拍速。将继续重复已经描述的图5.2的步骤510至步骤560。在这种情况下,可能会出现两种情境。

在第一种情境中,更新的回放拍速包括在与先前回放拍速相同的回放拍速范围内,这样不需要改变所选择的音频数据组。更新的回放拍速将替代地影响时间拉伸,并且修改的音频数据组需要更新。实际上,使用与先前回放拍速相同的所选择的音频数据组,通过对先前修改的音频数据组进行时间拉伸来产生旨在以更新的回放速度呈现的更新的修改的音频数据组,并且利用更新的修改的音频数据组来替换被分配给音频分量的先前修改的音频数据组。

在第二种情境中,更新的回放拍速包括在不同的回放拍速范围内,这样需要改变所选择的音频数据组。这发生在当更新回放拍速越过回放拍速边界时,例如在两个毗邻的回放拍速范围之间。然后,处理器110将关闭修改的一音频数据组,并且如果存在具有与新的回放拍速相对应的回放拍速范围的音频数据组,则打开与新的回放拍速范围相关联的音频数据组。这是在执行可能需要考虑新选择的音频数据组的更新的回放节奏和本地回放节奏的任何差异的时间拉伸之前完成的。

当用于音频分量的音频数据组变化时,音乐轨的渲染可能会由于例如音频数据组的突然变化或错过的节拍受到影响。为解决这种情况,下文给出了不同的方案。当涉及到时间拉伸时,它们将关联图5.2中的音频混合方案的布置进行说明,但也可在不使用或禁用时间拉伸时使用。

让我们假设在第一时刻(例如2分钟)接收更新的回放拍速到音乐轨的呈现。然后,使用用于音频分量的更新的修改的音频数据组的音乐轨的呈现将考虑第一时刻,从而使得音轨的呈现无间隙或连续而不论音频数据的改变。

第一时刻用于确定当越过回放拍速阈值时关闭看到越过阈值的音频分量(例如,在图3的示例中在间隔311和312之间的回放拍速为100bpm的低钢琴通道)的先前音频数据组,并且开启要被替代地使用的更新的修改的音频数据组的时间。

在本方法的附加的布置中,用户可以定义先前修改的音频数据组与更新的修改的音频数据组之间的交界渐变,该交界渐变在第一时刻之后开始。因此,可以在预设的持续时间内执行先前修改的音频数据组的关闭,以便缓和该过渡。

此外,由于所接收的更新的回放拍速导致拍速范围的改变,因此可以在第一时刻之后通过采用延迟来呈现使用了更新的修改的音频数据组的音乐轨。该延迟可以根据完成的节拍的数量来定义。定义音乐轨被呈现的拍速的回放拍速可以看作音乐轨的节拍之间的时间间隔。延迟可以随使用先前回放拍速或更新的拍速测量的预定数量的完成的节拍而变化。

从一个音频数据组到其他音频数据组的过渡还可以控制与每个音频数据组相关联的音量。返回参考图3,该表音频数据组的每个部分与在水平方向上延伸的音量曲线相关联。当观察301或311部分时,这些部分的左侧将定义对于该音频数据组的音量的最小值(例如0),而右侧将定义最大值(例如1)。如从301和311部分可以看出的,可以为回放拍速范围的每个回放拍速定义例如包括在间隔[0-1]或任何其他值范围中的音量值。音量值定义了拍速范围内的音量曲线,可用作对音频数据组的附加控制。通过减小接近第一回放拍速范围的上限的音量,并且当移动到远离第二回放拍速范围的下限的更高的回放拍速值时增大音量,该音量曲线可以有利地用于在回放拍速阈值处的音频数据组之间的过渡的背景下。

音量曲线还可以用于减小第一音频数据组的回放拍速范围的末端上的第一音频数据组的音量,特别是如果没有其他音频数据组可连续地用于第一音频数据组时。

本音频回放方法使用户能够在音乐轨中的任何点实时改变音乐轨的回放拍速,而不受拍速范围的限制并且在某些拍速下没有差的性能。使用本音频混合方案,收听者可以在任何拍速下使自适应曲目更好听,而不需要专家或混音专业人员。

除了上面概述的跑步应用之外,这种类型的自适应音乐回放非常适合于其他特定活动。例如,滑雪应用程序可能会使轨的速度取决于滑雪者的速度:在山顶上缓慢;但随着滑雪者滑下山而速度更快。在派对上,用户可以轮流控制音乐的拍速,使得每个人都按照选择的节拍跳舞。在舞蹈或锻炼课上,教练可以在慢的拍速解释编舞,并且当学生熟悉步骤时,可以提高音乐的拍速。

申请人已经发现,使用当前回放拍速控制方案的音乐轨将在非常宽的拍速范围内(例如,从60bpm到240bpm及以上)听起来很好。这允许从以低bpm行走过渡到以每分钟约140步的跑步,过渡到对于长跑运动员通常以持续的每分钟180步的跑步,并且以每分钟200步以上发生的冲刺。收听者的许多其他活动将需要在不太极端的拍速需求下调整音乐。

虽然以上描述讨论了播放音频数据的系统,但将理解,这些原理适用于利用音频的任何应用或媒体。例如,视频包括视频帧和音频数据作为整个视频的组成部分。该应用可以应用于该视频的音频部分。结果,可以在健身设施内提供与跑步、滑雪或其他运动相关的许多有益的应用,其中用户可以收听音频并且还可以观看相关的视觉效果。响应于用户输入改变而改变音频元素的拍速的概念也可以应用于视频帧。

本文档中提供的音频应用示例涉及音乐。然而,应当理解,所讨论的应用可以应用于其他类型的音频。例如,这些原理可以应用于包括对于跑步者具有节律的可听指令(例如“左,右,左,右”)的音轨。然后,这些指令可以根据与拍速相关的特征而变化。

图6说明了计算设备600的一个实现的框图,在该计算设备600内可以执行用于使计算设备执行本文所讨论的任何一个或多个方法的指令组。在替代性实现中,计算设备可以连接(例如,联网)到局域网(localareanetwork,lan)、内联网、外联网或因特网中的其他机器。计算设备可以在客户端-服务器网络环境中以服务器或客户端机器的能力操作,或者作为对等(peer-to-peer)(或分布式)网络环境中的对等机器操作。计算设备可以是个人计算机(personalcomputer,pc)、平板计算机、机顶盒(set-topbox,stb)、个人数字助理(personaldigitalassistant,pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥、或任何能够执行指定该机器要采取的动作的指令组(顺序或其他)的机器。此外,虽然仅说明了单个计算设备,但是术语“计算设备”还应被视为包括单独或联合执行一组(或多组)指令以执行本文讨论的任何一个或多个方法的任何机器(例如,计算机)的集合。

示例计算设备600包括处理设备602、主存储器604(例如,只读存储器(rom)、闪存、动态随机存取存储器(dram)(例如同步动态随机存取存储器(synchronousdram,sdram)或rambus动态随机存取存储器(rambusdram,rdram)等)、静态存储器606(例如,闪存、静态随机存取存储器(sram)等)和辅助存储器(例如,数据存储设备618),它们经由总线630彼此通信。

处理设备602表示一个或多个通用处理器,例如微处理器、中央处理器等。更具体地,处理设备602可以是复杂指令集计算(complexinstructionsetcomputing,cisc)微处理器,精简指令集计算(reducedinstructionsetcomputing,risc)微处理器,超长指令字(verylonginstructionword,vliw)微处理器,实现其他指令集的处理器,或实现指令集组合的处理器。处理设备602还可以是一个或多个专用处理设备,例如,专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、数字信号处理器(digitalsignalprocessor,dsp)、网络处理器等。处理设备602配置为执行用于执行本文所讨论的操作和步骤的处理逻辑(指令622)。

计算设备600还可以包括网络接口设备608。计算设备600还可以包括视频显示单元610(例如,液晶显示器(liquidcrystaldisplay,lcd)或阴极射线管(cathoderaytube,crt))、字母数字输入设备612(例如,键盘或触摸屏)、光标控制设备614(例如,鼠标或触摸屏)和音频设备616(例如,扬声器)。

数据存储设备618可以包括一个或多个机器可读存储介质(或者更具体地,一个或多个非暂时性计算机可读存储介质)628,其上存储有实现本文描述的任何一个或多个方法或功能的一组或多组指令622。指令622还可以在计算机系统600执行该指令622期间完全或至少部分地驻留在主存储器604内和/或处理设备602内,主存储器604和处理设备602也构成计算机可读存储介质。

上述各种方法可以由计算机程序实现。该计算机程序可以包括计算机代码,该计算机代码被布置成指示计算机执行上述各种方法中的一个或多个的功能。可以将计算机程序和/或用于执行这些方法的代码提供至装置(例如计算机),或提供到一个或多个计算机可读介质(或者更一般地,计算机程序产品)上。计算机可读介质可以是暂时性的或非暂时性的。一个或多个计算机可读介质可以是例如电子、磁、光、电磁、红外或半导体系统,或用于数据传输(例如用于通过因特网下载代码)的传播介质。替代性地,一个或多个计算机可读介质可以采用一个或多个物理计算机可读介质的形式,例如半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(ram)、只读存储器(rom)、刚性磁盘和光盘(例如cd-rom,cd-r/w或dvd)。

在一个实现中,本文描述的模块、组件和其他特征可以实现为分立组件或集成在硬件部件(例如asics、fpga、dsp或类似设备)的功能中。

“硬件部件”是能够执行某些操作的有形的(例如,非暂时性)物理部件(例如,一个或多个处理器的组),并且可以以特定物理方式配置或布置。硬件组件可以包括永久配置为执行某些操作的专用电路或逻辑。硬件部件可以是或包括专用处理器,例如现场可编程门阵列(fpga)或asic。硬件部件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。

相应地,短语“硬件部件”应该被理解为包括有形的实体,该有形的实体可以物理构造,永久配置(例如,硬连线)或临时配置(例如,编程)以便以某种方式操作或执行本文描述的某些操作。

此外,模块和部件可以实现为硬件设备内的固件或功能电路。此外,模块和部件可以以硬件设备和软件组件的任何组合来实现,或者仅以软件(例如,存储或以其他方式收录在机器可读介质或传输介质中的代码)来实现。

除非另外特别说明,否则从以下讨论中可明显的看出,应理解的是,在整个说明书中,利用例如“接收”、“判定”、“比较”、“启用”、“维持”、“识别”、“选择”、“分配”等术语的讨论,指的是计算机系统或类似电子计算设备的动作和过程,该计算机系统或类似电子计算设备将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操作和转换成类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。

应理解,以上描述旨在说明,而非限制。在阅读和理解以上描述后,许多其他实施方式对于本领域技术人员而言将是明显的。尽管已经参考特定示例实施例描述了本发明,但是将认识到,本发明不限于所描述的实施例,而是可以在所附权利要求的精神和范围内通过修改和变更来实践。相应地,说明书和附图应被视为说明性意义而非限制性意义。因此,本发明的范围应该参考所附权利要求以及这些权利要求授权的等同物的全部范围来确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1