一种对音乐信号主动跟随的伴奏方法及相关设备
文献发布时间:2023-06-19 10:38:35
技术领域
本发明涉及音频处理技术领域,尤其涉及一种对音乐信号主动跟随的伴奏方法及相关设备。
背景技术
随着音乐市场的日益成熟和音乐教育的普及,越来越多的场景需要使用自动伴奏播放,实现伴奏与人们的演奏相匹配,来取得更好的交互,进而带来更好音乐享受和体验。典型的需要自动播放伴奏的应用场景有:演唱会,卡拉OK,各种乐器独奏等。
现有的伴奏播放方案为:由于伴奏跟乐谱是一一对应的,人们按照乐谱进行演奏/演唱,先将演奏/演唱的音频信号与乐谱进行位置对应确定当前的演奏/演唱位置,进而播放与演奏/演唱位置对应的伴奏音频,从而达到伴奏匹配演奏/演唱的效果。但是,上述方案,伴奏存在延迟播放的缺陷,伴奏无法实时匹配音频信号,导致自动伴奏播放的效果不好,用户体验不佳。并且,伴奏音频是事先准备好的,固定的,不可修改的,这导致人们在跟随该伴奏音频进行表演的过程中只能将自己的演奏/演唱速度,停顿,快慢变化等表达方式与该伴奏相匹配,严重阻碍了表演者对该曲目个性化的音乐表达,降低了音乐的美感。
发明内容
为了解决上述问题,本发明实施例提供了一种对音乐信号主动跟随的伴奏方法及相关设备,可以准确预测表演者下一个表演的音符的出现时刻,实现伴奏自动匹配表演进行播放,提升交互效果。
第一方面,本发明实施例提供了一种对音乐信号主动跟随的伴奏方法,包括:
获取表演者在表演目标曲目过程中的第一音频数据,所述第一音频数据包括所述表演者表演的第一个音符到当前表演的音符之间的音频数据;
根据所述第一音频数据和所述目标曲目对应的乐谱确定观测序列,所述观测序列为所述第一音频数据中每个音符及其表演时刻的对应序列;
根据所述观测序列和所述乐谱确定预测序列,所述预测序列为所述第一音频数据的每个音符及其预测的表演时刻的对应序列;
根据所述观测序列和所述预测序列,对所述表演者下一个表演的音符的表演时刻进行预测,并根据所述乐谱和所述目标曲目的伴奏音频的对应关系,在预测的表演时刻控制与所述下一个表演的音符对应的伴奏音频数据进行播放。
可选地,所述根据所述第一音频数据和所述目标曲目对应的乐谱确定观测序列,包括:
根据所述第一音频数据、所述乐谱和音频乐谱对应算法确定所述第一音频数据中每个音符在所述乐谱中的对应音符,并确定每个对应音符的表演时刻,根据所述对应音符和所述表演时刻的对应关系得到所述观测序列。
可选地,所述音频乐谱对应算法包括但不限于时间动态规整算法或基于隐马尔可夫模型的处理算法。
可选地,所述根据所述观测序列和所述乐谱确定预测序列,包括:
根据所述观测序列确定所述表演者的初始表演速度;
根据所述乐谱、所述初始表演速度、所述表演的第一个音符的表演时刻,确定所述第一音频数据的每个音符及其预测的表演时刻的对应序列。
可选地,所述根据所述观测序列和所述预测序列,对所述表演者下一个表演的音符的表演时刻进行预测,包括:
根据所述观测序列、所述预测序列以及基于贝叶斯滤波原理的预测算法,对所述表演者下一个表演的音符的表演时刻进行预测。
可选地,所述预测算法包括但不限于卡尔曼滤波算法、粒子滤波算法、直方图滤波算法中的任一种。
可选地,所述获取表演者在表演目标曲目过程中的第一音频数据,包括:
获取表演者在表演目标曲目过程中的第二音频数据;
对所述第二音频数据进行以下至少一种处理,以得到第三音频数据:消除伴奏回声,噪声抑制,所述噪声抑制包括表演环境噪声抑制和/或电路噪声抑制;
对所述第三音频数据进行信号放大处理以得到所述第一音频数据。
可选地,所述方法还包括:
获取所述表演者的表演音频,所述表演音频包括所述表演者开始表演的时刻到结束表演的时刻之间的音频;
对所述表演音频和所述乐谱进行对齐处理得到对齐乐谱;
根据所述对齐乐谱和所述对应关系处理所述伴奏音频得到对齐伴奏音频;
根据所述表演音频和所述对齐伴奏音频生成表演曲目音频。
可选地,确定所述预测序列的方法还包括:
根据所述对应关系和所述对齐伴奏音频确定所述乐谱的每个音符及对应的音符出现时刻,并根据所述每个音符及对应的音符出现时刻确定所述预测序列。
第二方面,本发明实施例提供了一种伴奏装置,包括:
获取模块,用于获取表演者在表演目标曲目过程中的第一音频数据,所述第一音频数据包括所述表演者表演的第一个音符到当前表演的音符之间的音频数据;
第一确定模块,用于根据所述第一音频数据和所述目标曲目对应的乐谱确定观测序列,所述观测序列为所述第一音频数据中每个音符及其表演时刻的对应序列;
第二确定模块,用于根据所述观测序列和所述乐谱确定预测序列,所述预测序列为所述第一音频数据的每个音符及其预测的表演时刻的对应序列;
伴奏模块,用于根据所述观测序列和所述预测序列,对所述表演者下一个表演的音符的表演时刻进行预测,并根据所述乐谱和所述目标曲目的伴奏音频的对应关系,在预测的表演时刻控制与所述下一个表演的音符对应的伴奏音频数据进行播放。
第三方面,本发明实施例提供了一种伴奏设备,包括:处理器和存储器;
所述处理器和存储器相连,其中,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如第一方面所述的对音乐信号主动跟随的伴奏方法。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如第一方面所述的对音乐信号主动跟随的伴奏方法。
本发明实施例中,先获取表演者在表演目标曲目过程中的第一音频数据,第一音频数据包括表演者表演的第一个音符到当前表演的音符之间的音频数据;根据第一音频数据和目标曲目对应的乐谱确定观测序列,观测序列为第一音频数据中每个音符及其表演时刻的对应序列;再根据观测序列和乐谱确定预测序列,预测序列为第一音频数据的每个音符及其预测的表演时刻的对应序列;根据观测序列和预测序列,对表演者下一个表演的音符的表演时刻进行预测,并根据乐谱和目标曲目的伴奏音频的对应关系,在预测的表演时刻控制与下一个表演的音符对应的伴奏音频数据进行播放。利用本发明实施例的方法,可以准确预测表演者下一个即将表演的音符的出现时刻,也即表演时刻,这样,伴奏播放可以实现自动匹配表演进行播放,使其与表演相匹配,从而提升它们之间的交互效果与表演的整体艺术效果,有效提高表演者的表演体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种对音乐信号主动跟随的伴奏方法的场景示意图;
图2是本发明实施例提供的一种对音乐信号主动跟随的伴奏方法的流程示意图;
图3是本发明实施例提供的一种表演音频在乐谱上的位置对齐流程示意图;
图4是本发明实施例提供的一种利用卡尔曼滤波算法预测音符出现时刻的流程示意图;
图5是本发明实施例提供的一种伴奏装置的结构示意图;
图6是本发明实施例提供的一种伴奏设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本发明中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本发明所描述的实施例可以与其它实施例相结合。
本申请实施例中,表演者包括演唱者、演奏者,对应的,表演者表演的曲目可以是歌曲、戏曲或乐曲,对于乐曲,演奏者可以通过乐器进行演奏,乐器可以包括弦乐,钢琴,管乐,打击乐,民乐,吉他演奏等等类别包含的所有乐器,例如以下任意一种:小提琴、钢琴、大提琴、吉他、手风琴、古筝、口琴、二胡等等,本申请不做限制。
现有技术中,对于伴奏播放的控制流程是:由于曲目的乐谱和伴奏是一一对应的,在表演者按照乐谱进行表演时,可以获取表演者的表演音频信号,然后根据乐谱和表演音频信号确定当前的表演位置,进而控制播放与当前的表演位置对应的伴奏音频,然而,上述方案存在伴奏延迟播放的缺陷,导致伴奏无法实时匹配音频信号进行播放,表演者的交互体验不佳。并且,伴奏音频是事先准备好的,固定的,不可修改的,这导致人们在跟随该伴奏音频进行表演的过程中只能将自己的演奏/演唱速度,停顿,快慢变化等表达方式与该伴奏相匹配,严重阻碍了表演者对该曲目个性化的音乐表达,降低了音乐的美感。为此,本申请提出一种对音乐信号主动跟随的伴奏方法,可以准确预测表演者下一个表演的音符的出现时刻,进而控制伴奏的播放,使其与表演相匹配,从而提升它们之间的交互效果、以及表演的整体艺术效果。
请参见图1,图1是本发明实施例提供的一种对音乐信号主动跟随的伴奏方法的场景示意图;图1中,以表演者为演唱者101为例,本申请实施例的伴奏方法在伴奏装置102进行执行。
具体地,演唱者101在舞台上演唱歌曲时,伴奏装置102通过实时获取演唱者101在演唱歌曲过程中的第一音频数据,第一音频数据包括演唱的第一个音符到当前演唱的音符之间的音频数据,也即包括演唱者从开始演唱到当前演唱时刻之间的音频数据;接着,根据歌曲对应的乐谱和第一音频数据确定一个观测序列和一个预测序列,并根据观测序列和预测序列对演唱者下一个演唱的音符的出现时刻进行预测,最后,根据预测的出现时刻控制乐谱对应的伴奏音频播放对应时刻的伴奏音频数据,实现伴奏自动跟随演唱,有效提升了伴奏和表演的交互效果,提高表演者的表演体验。
请参见图2,图2是本发明实施例提供的一种对音乐信号主动跟随的伴奏方法的流程示意图;对音乐信号主动跟随的伴奏方法包括:
步骤201,获取表演者在表演目标曲目过程中的第一音频数据,第一音频数据包括表演者表演的第一个音符到当前表演的音符之间的音频数据;
具体地,第一音频数据中包含一切可以被识别的音乐信号,如声波信号(例如利用麦克风来获取),MIDI(Musical Instrument Digital Interface,乐器数字接口)信号(例如利用乐器数字接口来获取)等;例如,用户拨动琴弦,可通过将伴奏装置与乐器上的midi进行连接,当用户演奏乐器时,可获取到对应的数字乐音信号。另外,上述第一音频数据也即包括从表演者开始表演到当前时刻之间获得的音频数据。
步骤202,根据第一音频数据和目标曲目对应的乐谱确定观测序列,观测序列为第一音频数据中每个音符及其表演时刻的对应序列;
具体地,一般地,曲目的乐谱和伴奏音频是一一对应的,而一般表演者是依据乐谱来进行表演的,因此,根据上述第一音频数据和目标曲目对应的乐谱,可以确定第一音频数据中的每个音符及其对应表演时刻,这样,可以得到一个观测序列。
步骤203,根据观测序列和乐谱确定预测序列,预测序列为第一音频数据的每个音符及其预测的表演时刻的对应序列;
具体地,根据观测序列和目标曲目的乐谱可以对第一音频数据的每个音符的表演时刻进行预测,以得到一个预测序列。
特别地,也可以根据其他获取方法获取预测序列和观测序列,本申请实施例对预测序列和观测序列的获取方法和获取顺序不做特别限定。
步骤204,根据观测序列和预测序列,对表演者下一个表演的音符的表演时刻进行预测,并根据乐谱和目标曲目的伴奏音频的对应关系,在预测的表演时刻控制与下一个表演的音符对应的伴奏音频数据进行播放。
具体地,利用观测序列和预测序列,可以对下一个即将表演的音符的表演时刻(即出现时刻)进行预测,这样,可以在预测的表演时刻控制与该时刻对应的伴奏音频数据进行播放,实现伴奏和曲目表演的同步呈现。
利用本发明实施例的伴奏方法,可以准确预测表演者下一个即将表演的音符的出现时刻,也即表演时刻,这样,使伴奏与表演相匹配,从而提升它们之间的交互效果与表演的整体艺术效果,提高表演者的表演体验。
在一个可能的实施例中,上述步骤201包括:
步骤2011,获取表演者在表演目标曲目过程中的第二音频数据;
具体地,实际上,在表演者开始表演时,同步控制目标曲目对应的伴奏开始播放,然后开始获取在表演目标曲目过程中的第二音频数据,此时伴奏无法与表演曲目实现同步,因此,需要利用本发明实施例提供的伴奏方法进行伴奏播放控制,使得伴奏和表演曲目同步进行呈现。其中,此时的第二音频数据包括表演者的表演音频、伴奏产生的回声和各种噪声信号。
步骤2012,对第二音频数据进行以下至少一种处理,以得到第三音频数据:消除伴奏回声,噪声抑制,噪声抑制包括表演环境噪声抑制和/或电路噪声抑制;
具体地,进行回声消除的目的是将自动伴奏的回声去除;再进行噪声抑制,目的是去除环境噪声和电路噪声以及上一步的残留回声。其中,本发明实施例采用先进行消除伴奏回声,再进行噪声抑制的处理顺序,以实时去除第二音频数据中夹杂的伴奏回声和各种噪声信号,得到第三音频数据。
步骤2013,对第三音频数据进行信号放大处理以得到第一音频数据。
具体地,通过自动增益控制将较弱的信号进行放大,以进一步提高信噪比,得到失真较小且信噪比较高的第一音频数据。其中,对信号放大的处理方法不做特别限定。
在一个可能的实施例中,步骤202具体包括:
根据第一音频数据、乐谱和音频乐谱对应算法确定第一音频数据中每个音符在乐谱中的对应音符,并确定每个对应音符的表演时刻,根据对应音符和表演时刻的对应关系得到观测序列。
具体地,表演者依据乐谱进行目标曲目表演,即获取的第一音频数据中的每个音符可以与乐谱上的音符对应起来,本发明实施例即是利用音频乐谱对应算法实时获取当前表演的音频帧在电子乐谱上的位置,即实现表演音频与乐谱之间的对齐。其中,根据第一音频数据和音频乐谱对应算法,可以计算出当前表演的音符与乐谱上相应音符的对应关系,再结合记录的每个音符的表演时刻,可以得到的一个音符和表演时刻之间的对应序列,即为观测序列,记为y
参考图3,图3是本发明实施例提供的一种表演音频在乐谱上的位置对齐流程示意图;本发明实施例以DTW为例进行音频与乐谱对齐方法的说明:
首先要对第一音频数据(即表演信号)以及当前计算窗口内(固定窗长)的乐谱信息进行预处理以及特征提取,预处理的过程包括分帧,加窗,短时傅里叶变换,提取的特征可以包括但不限于Chroma,音高等特征;然后,计算当前音频帧与在当前计算窗口内的各乐谱帧的局部距离值,通过这些局部距离值来更新全局距离矩阵;最后,以当前计算窗口内的全局距离最小点作为实时乐谱位置的估计值,并根据该最小点更新全局距离矩阵内的计算窗口中心点的位置,准备下一次的计算。输出的结果是当前表演的音符在乐谱上的位置,其将作为下一步基于贝叶斯滤波原理的预测算法的观测数据。
在一个可能的实施例中,步骤203包括:
步骤2031,根据观测序列确定表演者的初始表演速度;
具体地,根据观测序列中开始表演后在预设时长(例如开始表演后的前5s、前10s、前20s、前25s等,可以根据实际需要进行调节)内的音符和表演时刻的对应关系,可以计算出初始表演速度v0,单位是拍/分钟(beats per minutes,bpm)。
步骤2032,根据乐谱、初始表演速度、表演的第一个音符的表演时刻,确定第一音频数据的每个音符及其预测的表演时刻的对应序列。
具体地,观测序列中的第一个音符(即表演的第一个音符)的表演时刻已知,为t0。根据第一个音符的表演时刻t0和初始表演速度v0可以由乐谱生成一个预测时间序列,同样包含每个音符对应预测的出现的时刻,即可以得到一个预测序列,记为
在一个可能的实施例中,步骤204包括:
根据观测序列、预测序列以及基于贝叶斯滤波原理的预测算法,对表演者下一个表演的音符的表演时刻进行预测。
具体地,将步骤202获取到的观测序列和步骤203获得的预测序列作为贝叶斯滤波的输入,以实现对下一个表演的音符的表演时刻的预测,贝叶斯滤波的递推过程如下:
1)设置初始状态x0和它的概率密度函数f0(x);
2)预测步:
3)更新步:
其中,
4)求状态量:
由于上面式2)、3)、4)中三个求无穷积分的过程是难以实现的,因此需要采用基于贝叶斯滤波的思想的预测算法来进行预测,例如卡尔曼滤波算法、粒子滤波算法、直方图滤波算法中的任一种,它可以对即将到来的表演音频在乐谱上的位置进行预测,也即预测下一个表演的音符的出现时刻,从而播放相应位置的伴奏音频。
参图4,图4是本发明实施例提供的一种利用卡尔曼滤波算法预测音符出现时刻的流程示意图;下面以卡尔曼滤波算法为例,进行具体说明:
首先对初始表演速度和第一个音符的表演时刻进行初始化,然后进行卡尔曼滤波算法的5步迭代。开始的预测过程包含两步:
预测步:先将上一次迭代估计的最优值作为当前迭代的预测值,然后根据上一次迭代估计的最优值方差计算当前迭代预测值的方差。
更新步:主要目的是通过DTW的观测数据来校正预测数据,该过程包含三步:首先利用预测值和观测值的方差来计算卡尔曼增益,然后根据观测数据对预测数据进行校正得到下一个表演的音符出现时刻的最优估计,此估计就是卡尔曼滤波的输出,用来控制伴奏的播放,最后再计算此最优估计的方差。最优估计值和其方差分别作为下一次迭代的预测值和方差,如此观测步和预测步交替更新,最终卡尔曼滤波的结果收敛到真实值附近。
利用该卡尔曼滤波的输出来控制现有伴奏音乐的播放即可达到伴奏的播放与表演曲目相匹配的效果。
接着,结合公式进行说明,本发明实施例以卡尔曼滤波为例进行实现,包含五个步骤:
(1)
(2)
(3)
(4)
(5)
在本场景下,F和h可设为1,预测序列的误差服从高斯分布,其方差为Q,观测序列的误差同样服从高斯分布,其方差为R。由于预测和观察过程中难免引入误差,所以R和Q的取值源于历史经验值。而卡尔曼增益K表示预测状态量的方差、与观测方差、预测状态量的方差之和的比值,通俗讲就是根据预测和观测的方差来判定相信预测结果多一些,还是相信观测结果多一些。
对于预测步:
公式(1)表示用上一时刻的最优估计值
公式(2)表示当前时刻预测状态量的方差
对于更新步:
公式(3)表示卡尔曼增益,分子是预测状态量的方差
公式(4)表示对结合当前音符的测量值(DTW结果),对上一时刻的预测进行校正,得到校正后的最优估计,该估计具有最小均方差。该值在下一次迭代中替代式(1)中的
公式(5)表示利用卡尔曼增益K和预测状态量的方差
在一个可能的实施例中,在预测到下一个表演的音符的出现时刻之后,本发明实施例的伴奏方法还包括:
获取表演者下一个表演的音符对应的第四音频数据;
具体地,可以利用步骤201获取得到第四音频数据。
根据第四音频数据和预测的表演时刻对应的伴奏数据,生成表演曲目音频。
具体地,由于第四音频数据和预测的表演时刻对应的伴奏数据具有对应关系,根据该对应关系,伴奏装置可以生成表演者所表演的曲目对应的表演曲目音频,即生成属于表演者的一首曲目,表演者可以将生成的曲目发送给自己或者分享给其他人,例如通过蓝牙发送给自己,或者通过微信、QQ等即时通讯软件进行分享。
在另一个可选的实施例中,伴奏方法还包括:
获取表演者的表演音频,表演音频包括表演者开始表演的时刻到结束表演的时刻之间的音频;
具体地,当表演者结束表演后,步骤2011获取的第二音频数据即为上述表演音频,其包括了从表演者开始表演的时刻到结束表演的时刻之间的音频数据。
对表演音频和乐谱进行对齐处理得到对齐乐谱;
具体地,可以利用上述的音频乐谱对应算法对表演音频和目标曲目的乐谱进行对齐处理,将乐谱的每个音符的出现时刻调整为与表演音频中对应音符的出现时刻相对应,以得到对齐乐谱。
根据乐谱和伴奏音频的对应关系和对齐乐谱,处理伴奏音频得到对齐伴奏音频;
具体地,由于目标曲目的乐谱与伴奏音频具有对应关系,因此,可以根据对齐乐谱对伴奏音频中的伴奏数据的出现时刻进行调整,得到调整后的对齐伴奏音频。
根据表演音频和对齐伴奏音频生成表演曲目音频。
具体地,由于对齐伴奏音频与表演音频匹配得更精准,可以生成并导出为一个表演曲目音频给用户欣赏,同样地,表演曲目音频也可以供用户进行分享。
在一个可选的实施例中,确定预测序列的方法还包括:
根据乐谱和伴奏音频的对应关系、以及对齐伴奏音频,确定乐谱的每个音符及对应的音符出现时刻,并根据每个音符及对应的音符出现时刻确定预测序列。
具体地,实际使用中,在表演者某次表演目标曲目结束后,利用上述生成表演曲目音频的方法,可以得到目标曲目的对齐伴奏音频,该对齐伴奏音频可作为下一次表演者表演该目标曲目进行自动伴奏播放的参考依据(即预测序列)。理论上这个音频记录了该用户表演该目标曲目的演奏习惯,用此对齐伴奏音频作为预测序列,下一次表演时表演和伴奏音频会匹配更准确。其中,根据乐谱和伴奏音频的对应关系、以及对齐伴奏音频,可以确定乐谱中的每个音符及对应的音符出现时刻,并根据每个音符及对应的音符出现时刻确定一个预测序列。
基于上述对音乐信号主动跟随的伴奏方法实施例的描述,本发明实施例还公开了一种伴奏装置,参考图5,图5是本发明实施例提供的一种伴奏装置的结构示意图,伴奏装置包括:
获取模块504,用于获取表演者在表演目标曲目过程中的第一音频数据,第一音频数据包括表演者表演的第一个音符到当前表演的音符之间的音频数据;
第一确定模块503,用于根据第一音频数据和目标曲目对应的乐谱确定观测序列,观测序列为第一音频数据中每个音符及其表演时刻的对应序列;
第二确定模块502,用于根据观测序列和乐谱确定预测序列,预测序列为第一音频数据的每个音符及其预测的表演时刻的对应序列;
伴奏模块501,用于根据观测序列和预测序列,对表演者下一个表演的音符的表演时刻进行预测,并根据乐谱和目标曲目的伴奏音频的对应关系,在预测的表演时刻控制与下一个表演的音符对应的伴奏音频数据进行播放。
在一个可能的实施例中,参考图5,获取模块504包括:
第一子模块,用于获取表演者在表演目标曲目过程中的第二音频数据;
具体地,实际上,在表演者开始表演时,同时将事先准备好的伴奏音频通过伴奏模块501进行伴奏播放,则第一子模块在获取第二音频数据时,可以获得包括伴奏的回声、表演音频,以及其他噪声的第二音频数据。其中,伴奏模块可以包含一切播放音频的设备(如耳机,各种扬声器等)和一切音频传输技术(例如通过有线,蓝牙,Wi-Fi,UWB脉冲等中的任一种将伴奏音频传输至伴奏模块)。而第一子模块包含一切音频接收设备(如数字音频接口,麦克风等)和传输技术,例如通过包含各类有线传输(如USB接口等)和无线传输(如蓝牙,Wi-Fi等)进行音频传输。
第二子模块,用于对第二音频数据进行以下至少一种处理,以得到第三音频数据:消除伴奏回声,噪声抑制,噪声抑制包括表演环境噪声抑制和/或电路噪声抑制;
第三子模块,用于对第三音频数据进行信号放大处理以得到第一音频数据。
特别地,获取模块504应当使用复杂度较低的实时在线算法才能满足系统整体的实时性要求。
在一个可能的实施例中,第一确定模块503具体用于:
根据第一音频数据、乐谱和音频乐谱对应算法确定第一音频数据中每个音符在乐谱中的对应音符,并确定每个对应音符的表演时刻,根据对应音符和表演时刻的对应关系得到观测序列。
其中,音频乐谱对应算法包括但不限于时间动态规整算法或基于隐马尔可夫模型的处理算法。
在一个可能的实施例中,第二确定模块502包括:
第四子模块,用于根据观测序列确定表演者的初始表演速度;
第五子模块,用于根据乐谱、初始表演速度、表演的第一个音符的表演时刻,确定第一音频数据的每个音符及其预测的表演时刻的对应序列。
在一个可能的实施例中,伴奏模块501具体用于:
根据观测序列、预测序列以及基于贝叶斯滤波原理的预测算法,对表演者下一个表演的音符的表演时刻进行预测;
在预测的表演时刻控制与所述下一个表演的音符对应的伴奏数据进行播放。
其中,预测算法包括但不限于卡尔曼滤波算法、粒子滤波算法、直方图滤波算法中的任一种。
在一个可能的实施例中,获取模块,还用于获取表演者下一个表演的音符对应的第四音频数据;
伴奏装置还包括:
第一生成模块,用于根据第四音频数据和预测的表演时刻对应的伴奏数据,生成表演曲目音频。
在另一个可选的实施例中,获取模块,还用于获取表演者的表演音频,表演音频包括表演者开始表演的时刻到结束表演的时刻之间的音频;
伴奏装置还包括:
处理模块,用于对表演音频和乐谱进行对齐处理得到对齐乐谱;根据乐谱和伴奏音频的对应关系和对齐乐谱,处理伴奏音频得到对齐伴奏音频;
第二生成模块,用于根据表演音频和对齐伴奏音频生成表演曲目音频。
在一个可选的实施例中,确定预测序列的方法还包括:
根据乐谱和伴奏音频的对应关系、以及对齐伴奏音频,确定乐谱的每个音符及对应的音符出现时刻,并根据每个音符及对应的音符出现时刻确定预测序列。值得指出的是,其中,伴奏装置的具体功能实现方式可以参见上述对音乐信号主动跟随的伴奏方法的描述,这里不再进行赘述。伴奏装置中的各个单元或模块可以分别或全部合并为一个或若干个另外的单元或模块来构成,或者其中的某个(些)单元或模块还可以再拆分为功能上更小的多个单元或模块来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元或模块是基于逻辑功能划分的,在实际应用中,一个单元(或模块)的功能也可以由多个单元(或模块)来实现,或者多个单元(或模块)的功能由一个单元(或模块)实现。
基于上述方法实施例以及装置实施例的描述,本发明实施例还提供一种伴奏设备。
请参见图6,是本发明实施例提供的一种伴奏设备的结构示意图。如图6所示,上述的伴奏装置可以应用于所述伴奏设备600,所述伴奏设备600可以包括:处理器601,网络接口604和存储器605,此外,所述伴奏设备600还可以包括:用户接口603,和至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,用户接口603可以包括显示屏(Display)、键盘(Keyboard),可选用户接口603还可以包括标准的有线接口、无线接口。网络接口604可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器605可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器605可选的还可以是至少一个位于远离前述处理器601的存储装置。如图6所示,作为一种计算机存储介质的存储器605中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图6所示的伴奏设备600中,网络接口604可提供网络通讯功能;而用户接口603主要用于为用户提供输入的接口;而处理器601可以用于调用存储器605中存储的设备控制应用程序,以实现上述对音乐信号主动跟随的伴奏方法的步骤。
应当理解,本发明实施例中所描述的伴奏设备600可执行前文所述伴奏方法,也可执行前文所述伴奏装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的伴奏装置所执行的计算机程序,且所述计算机程序包括程序指令,当处理器执行所述程序指令时,能够执行前文所述对音乐信号主动跟随的伴奏方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
- 一种对音乐信号主动跟随的伴奏方法及相关设备
- 一种对音乐信号主动跟随的伴奏方法及相关设备