掌桥专利:专业的专利平台
掌桥专利
首页

乐谱展示方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 18:35:48


乐谱展示方法、装置、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,具体涉及一种乐谱展示方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

背景技术

音乐是精神世界的美好产物,它直抵心灵,迸发情感,使人们得到其他事物无法带来的精神享受。随着人民群众生活水平的不断提高,人们对音乐的需求也越来越高。

钢琴、电子琴、吉他等各类乐器,也走入了寻常百姓家,但是想要使用这些乐器演奏美妙的曲目,却不是一件容易的事。相关技术中的乐器教学,都是建立在用户懂得乐理知识及乐谱的基础上的,门槛较高,对初学者不友好。

发明内容

本申请实施例提供一种乐谱展示方法、装置、电子设备及存储介质,以降低乐器学习门槛,提升对初学者的友好度。

本申请实施例的一方面提供一种乐谱展示方法,包括:响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面,其中,音乐展示界面包括:乐谱展示区域以及指法展示区域;响应于演奏开始指令,在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,并在指法展示区域展示用于弹奏当前音节的弹奏指法信息。

本申请实施例的另一方面提供一种乐谱展示装置,包括:显示单元,用于响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面,其中,音乐展示界面包括:乐谱展示区域以及指法展示区域;提示单元,用于响应于演奏开始指令,在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,并在指法展示区域展示用于弹奏当前音节的弹奏指法信息。

本申请实施例的另一方面提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行如上任一实施例所述的方法。

本申请实施例的另一方面提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所述的方法。

本申请实施例的另一方面提供一种计算机程序产品,包括计算机程序,其特征在于,计算机程序被处理器执行时实现如上任一实施例所述的方法。

本申请实施例提供的乐谱展示方法、装置、电子设备及存储介质,通过响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面,其中,音乐展示界面包括:乐谱展示区域以及指法展示区域;响应于演奏开始指令,在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,并在指法展示区域展示用于弹奏当前音节的弹奏指法信息。因此,可以通过标识信息在乐谱展示区域提示当前音节的乐谱符号,并在指法展示区域展示该当前音节的弹奏指法,使得用户无需懂得乐理知识、也不需要能看懂乐谱,便可学习弹奏该乐器,降低了乐器学习的门槛,对初学者较为友好。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为应用本申请实施例的乐谱展示方法的系统的结构示意图;

图2为本申请实施例提供的乐谱展示方法的流程示意图;

图3为本申请实施例提供的音乐展示界面的一种示意图;

图4为本申请实施例提供的选择界面的一种示意图;

图5a为图3中乐谱展示区域的局部示意图;

图5b为图3中指法展示区域的示意图;

图6为本申请实施例提供的第二展示模式的示意图;

图7a为本申请实施例提供的点击练习反馈后的显示界面的示意图;

图7b为本申请实施例提供的第三展示模式的示意图;

图7c为本申请实施例提供的第三展示模式结束时的显示界面的示意图;

图7d为本申请实施例提供的分享显示界面的示意图;

图8a为本申请实施例提供的点击反复播放后的显示界面的示意图;

图8b为本申请实施例提供的点击播放速度后的显示界面的示意图;

图8c为本申请实施例提供的点击切换乐器后的显示界面的示意图;

图9a为本申请实施例提供的音乐展示界面的另一种示意图;

图9b为本申请实施例提供的第二展示模式的示意图;

图9c为图9a中指法展示区域的示意图;

图9d为本申请实施例提供的吉他的左手指法示意图;

图9e为本申请实施例提供的第一状态提示信息的另一种示意图;

图9f为本申请实施例提供的第二状态提示信息的另一种示意图;

图10为本申请实施例提供的乐谱展示方法的流程框图;

图11a为本申请实施例提供的钢琴中白键的示意图;

图11b为本申请实施例提供的钢琴的虚拟乐器区域的加载流程框图;

图12a为基于图9d生成的二维数组的示意图;

图12b为本申请实施例提供的吉他的虚拟乐器区域的加载流程框图;

图13为本申请实施例提供的指法展示区域的加载流程框图;

图14为本申请实施例提供的乐谱展示区域的加载流程框图;

图15为本申请实施例提供的练习模式的加载流程框图;

图16为本申请实施例提供的乐谱展示装置的结构示意图;

图17为本申请实施例提供的电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种乐谱展示方法、装置、电子设备及存储介质。具体地,本申请实施例的乐谱展示方法可以由电子设备执行,其中,该电子设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、智能语音交互设备、智能家电、穿戴式智能设备、飞行器、智能车载终端等设备,终端还可以包括客户端,该客户端可以是音频客户端、视频客户端、浏览器客户端、即时通信客户端或小程序等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。

在相关技术的乐器学习中,以钢琴学习为例,用户需要熟识五线谱,并熟练掌握钢琴按键与乐谱符号的对应关系,但这对用户的要求较高,即钢琴学习的门槛较高,对初学者不友好。

为了解决上述技术问题中的至少一个,本申请实施例提供一种乐谱展示方法、装置、电子设备及存储介质,可以通过标识信息在乐谱展示区域提示当前音节的乐谱符号,并在指法展示区域展示该当前音节的弹奏指法,使得用户无需懂得乐理知识、也不需要能看懂乐谱,便可学习弹奏该乐器,降低了乐器学习的门槛,对初学者较为友好。以下将结合附图对本申请实施例进行具体说明。图1为应用本申请实施例的乐谱展示方法的系统的结构示意图。请参照图1,该系统包括终端10和服务器20等;终端10和服务器20之间通过网络连接,比如,通过有线或无线网络连接等。

其中,终端10,可以用于显示图形用户界面。其中,该终端用于通过图形用户界面与用户进行交互,例如通过终端下载安装相应的客户端并运行,例如通过调用相应的小程序并运行,例如通过登录网站呈现相应的图像用户界面等。在本申请实施例中,终端10可以安装有乐器学习类应用,服务器20中可以设置有包含目标音乐的音乐数据库,终端10可以通过服务器20获取目标音乐的乐谱,并且终端10通过响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面,其中,音乐展示界面包括:乐谱展示区域以及指法展示区域;以及响应于演奏开始指令,在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,并在指法展示区域展示用于弹奏当前音节的弹奏指法信息。

需要说明的是,虽然以终端10从服务器20中获取目标乐器的乐谱为例进行说明,但是本领域技术人员应该理解的是,终端10中也可以存储有音乐数据库,即其可以依靠自身音乐数据库获取乐谱。此外,应用程序可以为安装在台式机上的应用程序、也可以为安装在移动终端的应用程序,还可以为嵌入到应用程序中的小程序等,本公开对此不进行特殊限定。

需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施例在此方面不受任何限制。相反,本公开的实施例可以应用于适用的任何场景。

以下进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。

图2为本申请实施例提供的乐谱展示方法的流程示意图;图3为本申请实施例提供的音乐展示界面的一种示意图;请参照图2和图3,本申请实施例提供一种乐谱展示方法100,方法100包括以下步骤S110至S120。

步骤S110中,响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面200,其中,音乐展示界面200包括:乐谱展示区域210以及指法展示区域220。

步骤S120中,响应于演奏开始指令,在乐谱展示区域210展示用于指示目标音乐的当前音节的标识信息211,并在指法展示区域220展示用于弹奏当前音节的弹奏指法信息。

在步骤S110中,选择指令可以为通过点击、或双击等操作选取目标音乐和目标乐器的指令。目标音乐可以为使用对象所想要弹奏的音乐,目标音乐可以包括多个音节。目标乐器为使用对象想要弹奏目标音乐所使用的乐器。通过选择目标音乐和目标乐器,可以显示与该目标乐器相对应的音乐展示界面200。使用对象可以为乐器的学习者或者使用乐器的用户。

图4为本申请实施例提供的选择界面的一种示意图;请参照图4,在一些实施例中,当使用对象选择一首目标音乐后,例如歌曲1后,可以展示图4所示的选择界面300,该选择界面300的上方可以展示有所选歌曲的名称,例如歌曲1,另外其还可以展示多种可供选择的乐器,例如钢琴、小提琴、吉他、萨克斯、单簧管、尤克里里、贝斯等可供选择的控件,为了便于说明,以下以钢琴为目标乐器为例,若使用对象选择钢琴,则可以显示图3所示的音乐展示界面200。

音乐展示界面200可以包括乐谱展示区域210和指法展示区域220。乐谱展示区域210和指法展示区域220可以沿第一方向(图3中的上下方向)排列在音乐展示界面200中。乐谱展示区域210中展示有目标音乐的乐谱,乐谱可以包括多个乐谱符号,这些乐谱符号与目标音乐中的多个音节可以具有一一对应关系。可以理解,该乐谱是与目标乐器相对应的,例如,目标乐器为钢琴,乐谱可以展示为五线谱,又例如,目标乐器为吉他,乐谱可以展示为六线谱。

另外,音乐展示界面200的顶端还可以显示有目标乐器的类型和目标音乐的名称,例如“钢琴谱”和“歌曲1”。音乐展示界面200的底端还可以展示有目标音乐的进度条231、播放控件232等。

在步骤S120中,演奏开始指令可以为语音指令或者对播放控件232的点击指令等等。可以理解,当前音节为在目标音乐的演奏过程中位于当前时刻的音节。

图5a为图3中乐谱展示区域的局部示意图;请参照图3和图5a,标识信息211可以为乐谱中的用于指示当前音节的标记,其可以展示在与当前音节对应的乐谱符号上,例如其可以表示为图5a中的竖向光标,又或者,其还可以展示为箭头等形状的光标。标识信息211的颜色可以区别于其他区域的颜色,以达到醒目的作用。

在一些实施例中,乐谱展示区域210展示有乐谱中的多个乐谱行,方法100还可以包括高亮显示标识信息211所在的乐谱行214,从而可以进一步提示使用对象标识信息211所在的位置。该高亮模式可以为显示半透明浮层或框选区域等方式。

以点击播放控件232为例,若使用对象点击播放控件232,此时,乐谱展示区域210开始展示标识信息211,随着时间的增加,该标识信息211可以在乐谱中移动,从而可以始终指示在当前音节对应的乐谱符号上。并且,在点击播放控件232后,指法展示区域220可以开始展示与当前音节相对应的弹奏指法,随着标识信息211的移动,指法展示区域220展示的内容也不断变化,从而可以始终展示标识信息211所指示的当前音节的弹奏指法。可以理解,该弹奏指法可以有多种形式,例如可以以文字、图形或文字与图形结合的方式提示所需要弹奏的钢琴琴键的位置。

因此,本实施例可以通过标识信息211在乐谱展示区域210提示当前音节的乐谱符号,并在指法展示区域展示220该当前音节的弹奏指法,使得用户无需懂得乐理知识、也不需要能看懂乐谱,可以快速将乐谱和真实的声音联系起来,并且可以实时查看乐器的弹奏指法,能够帮助无乐器基础的用户快速学会弹奏乐器,降低了乐器学习的门槛,对初学者较为友好。

图5b为图3中指法展示区域的示意图;请参照图3和图5b,在一些实施例中,指法展示区域220包括:虚拟乐器区域221,虚拟乐器区域221包括与目标乐器的多个弹奏部件分别对应的多个弹奏控件221a;步骤S120中的在指法展示区域220展示用于弹奏当前音节的弹奏指法信息,包括:在与当前音节相对应的当前弹奏控件处展示第一提示信息221b,第一提示信息221b用于提示使用对象操作目标乐器中与当前弹奏控件相对应的当前弹奏部件。

其中,虚拟乐器区域221可以模拟目标乐器的形状结构。弹奏部件可以为目标乐器中能够弹奏的部件。以钢琴为例,钢琴可以包括多个琴键,具体分为多个黑键和多个白键,每个琴键可以作为一个弹奏部件,虚拟乐器区域221可以模拟钢琴形状,显示多个弹奏控件221a,多个弹奏控件221a可以分别对应钢琴中的多个琴键。当前弹奏控件指若弹奏其对应的弹奏部件能够发出当前音节对应的声音的控件。第一提示信息221b可以显示在当前弹奏控件处,第一提示信息221b可以以半透明浮层的形式显示,或者可以以箭头的形式等。

可以理解,在获取演奏开始指令前,指法展示区域220可以不显示内容,或者可以显示虚拟乐器区域221。在获取演奏开始指令后,可以在虚拟乐器区域展示第一提示信息221b,第一提示信息221b可以指示出当前弹奏控件,使用对象看到第一提示信息221b后,可以对应弹奏钢琴中与当前弹奏控件相对应的琴键,快速确定当前音节的弹奏位置,通过拟物化的虚拟乐器区域可以直观地展示弹奏指法,给予用户提示,有利于初学者学习。

在一些实施例中,若目标乐器为键盘乐器,第一提示信息221b包括左手提示信息以及右手提示信息,且左手提示信息的显示格式区别于右手提示信息的显示格式。

键盘类乐器,例如钢琴等,其通常需要双手弹奏,那么第一提示信息221b可以同时提示左手以及右手的弹奏位置。如图5b中,左边的第一提示信息221b为左手提示信息,右边的第一提示信息221b为右手提示信息,两者显示格式不同,例如颜色不同、颜色深浅不同或填充图案不同等。图5b中左手提示信息的颜色较浅,右手提示信息的颜色较深,从而可以便于使用对象区分左手和右手的弹奏位置。

在一些实施例中,指法展示区域220还包括设置有手部图形223a的手势展示区域223,步骤S120中的在指法展示区域220展示用于弹奏当前音节的弹奏指法信息,还包括:在手部图形223a中展示第二提示信息223b,第二提示信息223b用于提示使用对象操作当前弹奏部件的手指的位置。

其中,手部图形223a可以根据目标乐器的种类进行设置,例如,钢琴需要采用两手弹奏,手部图形223a可以包括左右图形和右手图形,又例如,吉他主要指法在于左手,手部图形223a可以只包括左手图形。

第二提示信息223b可以为高亮圆圈或箭头等,在一些实施例中,若目标乐器为键盘乐器,第二提示信息223b展示于用于弹奏当前音节的手指处,使用对象可以通过第一提示信息221b了解要按压的琴键,通过第二提示信息223b了解用哪根手指按压,从而快速学习该乐器的弹奏方法。

在一些实施例中,左手图形的显示格式可以与左手提示信息相同,右手图形的显示格式可以与右手提示信息相同,显示格式可以为颜色(图5b)、填充图案等等,进一步方便使用对象直观地确定左右手的弹奏位置。

在一些实施例中,如图5b所示,步骤S120中在指法展示区域220展示用于弹奏当前音节的弹奏指法信息,还包括:在当前弹奏控件处展示用于弹奏当前音节的手指的位置标识信息270,位置标识信息270为手指在手掌中的位置序号。

位置标识信息270可以为数字,其可以表示需要按压琴键的手指在手掌中的位置,例如,以大拇指为1,从大拇指到小指,数字依次为1-5。位置标识信息270可以展示在当前弹奏控件处,其可以与第一提示信息221b有部分重叠,或者没有重叠。

图5b中,左手提示信息下方显示位置标识信息270是5,表示要用左手小指按压该弹奏控件对应的琴键,右手提示信息下方显示位置标识信息270是3,表示要用右手中指按压该弹奏控件对应的琴键。由于位置标识信息显示在第一提示信息221b的附近,因此,使用对象可以更方便地了解弹奏当前音节的弹奏指法。

在一些实施例中,方法100还可以包括:响应于使用对象的当前弹奏输入信息与当前音节不相符,在指法展示区域220展示第一状态提示信息240,第一状态提示信息240用于指示使用对象对当前音节的弹奏状态为错误状态。

可以理解,电子设备可以通过蓝牙等无线方式或者数据线等有线方式与乐器连接,从而获取使用对象的弹奏输入信息,即使用对象实际按压的琴键或发出的声音。

当前弹奏输入信息为当前时刻使用对象的弹奏输入信息。当检测到当前弹奏输入信息与当前音节不相符时,可以在指法展示区域220中展示第一状态提示信息240,第一状态提示信息240可以为“×”、“错误”等方式,从而表示弹奏错误。通过对比用户练习的乐器发声和系统标准发声,并以第一状态提示信息240给予提示,可以帮助用户实时了解自己的演奏是否正确,从而可以边学习边纠正弹奏指法。

在一些实施例中,第一状态提示信息240可以展示在使用对象实际弹奏的弹奏控件221a处,即第一提示信息221b示出了使用对象应该弹奏的位置,而第一状态提示信息240示出了使用对象实际按压的琴键位置。当然在其他实施例中,第一状态提示信息240可以展示在其他位置。

在一些实施例中,方法100还可以包括:响应于当前弹奏输入信息与当前音节相符合,在指法展示区域展示第二状态提示信息250,第二状态提示信息250用于指示使用对象对当前音节的弹奏状态为正确状态。

当检测到当前弹奏输入信息与当前音节相符时,可以在指法展示区域220中展示第二状态提示信息250,第二状态提示信息250可以为“√”、“正确”等方式,从而表示弹奏正确。通过第二状态提示信息250,使用对象可以快速了解自己是否弹对。在一些实施例中,第二状态提示信息250可以展示在第一提示信息221b所展示的当前弹奏控件处,当然在其他实施例中,其还可以展示在其他位置。

可以理解,图5b中,第一状态提示信息240表示左手弹奏错误,而第二状态提示信息250表示右手弹奏正确。

在一些实施例中,继续参照图5b,若目标乐器为键盘乐器,指法展示区域220还包括:指法滚动区域222;步骤S120中在指法展示区域220展示用于弹奏当前音节的弹奏指法信息,还可以包括:在指法滚动区域222展示包括多个子提示信息261的第三提示信息260,且多个子提示信息261分别用于提示在当前音节之后的多个音节的弹奏位置以及弹奏时刻。

指法滚动区域222可以位于乐谱展示区域210和虚拟乐器区域221之间,第三提示信息260可以包括多个子提示信息261,每个子提示信息261可以方形、圆形或其他形状显示,当连续几个音节相同时,多个子提示信息261还可以连接成一个长条形。第三提示信息260可以帮助使用对象及时了解后续多个音节在弹奏时刻、以及弹奏位置。

在一些实施例中,上述方法中的在指法滚动区域222展示包括多个子提示信息261的第三提示信息260,可以包括:响应于目标音乐中的音节与当前音节之间的时间间隔小于或等于预设时间间隔,在指法滚动区域222展示与音节相对应的子提示信息261,其中,子提示信息261位于与音节相对应的弹奏控件221a沿第一方向的一端,且子提示信息261以预设速度沿第一方向朝向弹奏控件221a移动。上述方法中的在与当前音节相对应的当前弹奏控件处展示第一提示信息221b,可以包括:响应于子提示信息261移动至弹奏控件221a,取消展示子提示信息261,将弹奏控件作为当前弹奏控件并在当前弹奏控件展示第一提示信息221b。

可以理解,子提示信息261对应于一个音节,基于目标音乐,可以确定每个子提示信息对应的音节与当前音节之间的时间间隔,预设速度乘以该时间间隔可以等于该子提示信息261与虚拟乐器区域221之间沿第一方向的距离。

预设时间间隔可以为指法滚动区域222沿第一方向的长度尺寸除以预设速度得到。根据当前音节和预设时间间隔可以获得展示在指法滚动区域222中的多个音节,进而可以绘制出这些音节对应的第三提示信息260。

针对某一子提示信息261,可以计算出其出现在指法滚动区域222的时刻,而其出现位置可以为相应音节对应的弹奏控件221a的上方,其距离虚拟乐器区域的距离也可以计算得到,进而可以绘制该子提示信息261,且随着演奏的继续,该子提示信息261可以向下移动,当其移动至虚拟乐器区域221时,其对应的音节刚好为当前音节,此时,可以取消展示该子提示信息261,将该子提示信息261沿上下方向对应的弹奏控件作为当前弹奏控件,并显示第一提示信息261,可以直观地向使用对象展示后续需要弹奏的音节的指法。

另外,图5b中左侧的第三提示信息260可以为左手指法,而右侧的第三提示信息260可以为右手指法,两者可以分别与左手提示信息和右手提示信息的显示格式相同,从而方便判断左手指法和右手指法。

在一些实施例中,乐谱展示区域中的乐谱包括多个乐谱符号,每个乐谱符号与目标音乐中的一个音节相对应,方法100还可以包括:响应于当前弹奏输入信息与当前音节不相符,在与当前音节对应的乐谱符号处展示第一信息;响应于当前弹奏输入信息与当前音节相符合,在与当前音节对应的乐谱符号处展示第二信息。

通过第一信息和第二信息可以在乐谱中直观地展示各个乐谱符号的历史弹奏状态,第一信息表示弹奏错误,第二信息表示弹奏正确,从而帮助使用对象及时了解自己对各个音乐小节的掌握程度。

在一些实施例中,第一信息的形状与对应的乐谱符号的形状相同,第二信息的形状与对应的乐谱符号的形状相同,且第一信息的显示格式区别于第二信息的显示格式。

例如,第二信息的显示格式可以为绿色,第一信息的显示格式可以为红色。在弹奏正确的乐谱符号上可以展示与其形状相同的绿色浮层,在弹奏错误的乐谱符号上可以展示与其形状相同的红色浮层,使得标识信息211之前的乐谱符号均可以展示为红色或绿色,从而直观地展示整首音乐的历史弹奏状态。

如图5a所示,标识信息211之后的没有弹奏的乐谱符号可以展示为黑灰色。另外,线框212和线框213中展示了位于标识信息211之前的已经弹奏过的乐谱符号,若线框212中的乐谱符号对应的音节全部弹奏错误,那么该线框212中的乐谱符号可以显示为红色,若线框213中的乐谱符号对应的音节全部弹奏正确,那么该线框212中的乐谱符号可以显示为绿色。

在一些实施例中,音乐展示方式可以具有多种模式,例如包括图3所展示的第一展示模式,第一展示模式可以为新手模式,步骤S110中的显示与目标乐器相对应的音乐展示界面200,可以包括:响应于对第一展示模式的第一操作指令,显示音乐展示界面200,且乐谱展示区域210以及指法展示区域220沿第一方向排列。

第一操作指令可以为点击、双击等操作。如图3所示,该音乐展示界面200可以为第一展示模式下的显示界面,此时,音乐展示界面200包括乐谱展示区域210以及位于乐谱展示区域210下方的指法展示区域220,第一展示模式可以方便初学者根据弹奏指法来学习乐器弹奏。

图6为本申请实施例提供的第二展示模式的示意图;请参照图6,在一些实施例中,音乐展示方式可以包括第二展示模式,第二展示模式可以为专家模式,以沿第一方向的尺寸为长度尺寸,方法100还可以包括:响应于对第二展示模式的第二操作指令,取消显示指法展示区域,并调整乐谱展示区域的显示尺寸,以使调整后的乐谱展示区域的长度尺寸等于第一展示模式时的乐谱展示区域以及指法展示区域的长度尺寸的总和。

第二操作指令可以为点击、双击等操作。如图3所示,音乐展示界面200底部还可以展示有各种控件,例如新手模式271、反复播放272、播放速度273、练习反馈274、切换乐器275。在一些实施例中,若点击新手模式271,可以切换至第二展示模式,并且展示图6所示显示界面400,此时乐谱展示区域410扩大至占据原有指法展示区域,并取消展示指法展示区域,从而可以方便有一定乐理基础的专家弹奏。

图7a为本申请实施例提供的点击练习反馈后的显示界面的示意图;图7b为本申请实施例提供的第三展示模式的示意图;请参照图7a和图7b,在一些实施例中,音乐展示方式可以包括第三展示模式,第三展示模式可以为练习模式,方法100还可以包括:响应于对第三展示模式的第三操作指令,调整乐谱展示区域和指法展示区域的显示方向和显示尺寸,以使调整后的乐谱展示区域和调整后的指法展示区域沿第二方向排列,其中第二方向与第一方向相互垂直。

第三操作指令可以为点击、双击等操作。若点击图3中的练习反馈274,可以显示图7a所示的显示界面450,可以通过练习反馈弹窗提示使用对象即将开始练习反馈,并询问使用对象是否录制练习视频。若使用对象点击显示界面450中的开启后,将跳转至第三展示模式,并且展示图7b所示显示界面500。可以理解,图3中,显示界面为竖屏展示,上下方向为第一方向,左右方向为第二方向,而图7中,显示界面的方向发生了变化,为横屏展示,上下方向为第二方向,左右方向为第一方向。

图7b中,显示界面500包括乐谱展示区域510和指法展示区域520,两者沿第二方向上下排列,可以理解,第三展示模式和第一展示模式的乐谱展示区域和指法展示区域除了显示方向和显示比例发生变化之外,两者展示方式和内容可以相同,也可以略有区别,例如乐谱展示区域510可以只显示一个乐谱行,指法展示区域520中的手势展示区域521可以展示在指法滚动区域左下角。在第三展示模式下,指法展示区域520的展示面积更大,可以方便使用对象更好地学习弹奏指法。

图7c为本申请实施例提供的第三展示模式结束时的显示界面的示意图;图7d为本申请实施例提供的分享显示界面的示意图;请参照图7c和图7d,若在第三展示模式中目标音乐弹奏完成,可以显示图7c所示的显示界面550,该显示界面550可以显示有弹奏打分弹窗,并展示系统对该次弹奏的打分情况,若用户点击弹奏打分弹窗中的结束,可以展示图7d所示的分享显示界面600,以供使用对象分享录制的练习视频,并展示分享至弹窗,通过该分享至弹窗可以展示有可供分享的平台和复制连接选项,通过获取用户对分享至弹窗的选择,可以跳转至相应的平台或将练习视频复制至剪贴板中。

当然,音乐展示界面的控件并不局限于图3所示的控件,在其他实施例中,还可以有其他控件,由第一展示模式跳转至第三展示模式的方法也可以有多种,例如取消显示显示界面450,直接显示显示界面500等。

图8a为本申请实施例提供的点击反复播放后的显示界面的示意图;请参照图3和图8a,若点击图3中的反复播放272,可以显示图8a所示的显示界面620,通过用户的选择可以在乐谱展示区域中高亮显示其想要反复练习的段落,并在段落的前后标出“反复”字样,如图8a中的前两个乐谱行,当所示段落播放完成后,可以自动重新播放从而可供用户反复练习该段落,以便快速学习弹奏指法。

图8b为本申请实施例提供的点击播放速度后的显示界面的示意图;请参照图3和图8b,若点击图3中的播放速度273,可以显示图8b所示的显示界面640,并提供可选的播放速度,例如1.0、0.75、0.5、0.25等等,用户可以选择想要的播放速度,且在选择播放速度后,标识信息的移动速度和整个指法展示的速度会相应调整,从而使得用户可以根据熟练程度自主选择播放速度,可以帮助用户快速学习弹奏指法,对初学者很友好。

图8c为本申请实施例提供的点击切换乐器后的显示界面的示意图;请参照图3和图8c,若点击图3中的切换乐器275,可以显示图8c所示的显示界面660,并提供可选的切换乐器,例如吉他、小提琴、钢琴、尤克里里等,以选择吉他为例,若选择吉他后,可以相应地调整乐谱展示区域的乐谱,由五线谱变为六线谱,指法展示区域也可以由展示钢琴的指法转换为显示吉他的指法,用户可以在学习过程中自主切换乐器,提升用户体验。

以上通过以钢琴代表目标乐器中的键盘乐器为例,解释说明了本实施例的音乐显示界面的多种展示方法,以下以吉他代表目标乐器中的弦乐器为例,简要说明吉他的音乐展示界面的展示方法,可以理解的是,未做特殊说明的部分与钢琴的展示方法相同,不再赘述。

图9a为本申请实施例提供的音乐展示界面的另一种示意图;图9b为本申请实施例提供的第二展示模式的示意图;图9c为图9a中指法展示区域的示意图。为了清楚显示,图9c中示出了手势展示区域的放大图。请参照图9a至图9c,音乐展示界面700可以包括乐谱展示区域710和指法展示区域720。乐谱展示区域710展示有目标音乐的六线谱。若获取到演奏开始指令,此时,乐谱展示区域710开始展示标识信息711,指法展示区域220可以开始展示与当前音节相对应的弹奏指法。

图9a所示可以为吉他下的第一展示模式的显示界面,若点击音乐展示界面700中的新手模式771,可以展示图9b所示的第二模式的显示界面760,此时,取消显示指法展示区域720,并增加乐谱展示区域710的显示面积。

另外,指法展示区域220也可以包括虚拟乐器区域721以及手势展示区域723。

图9d为本申请实施例提供的吉他的左手指法示意图,其中,EF、BC是半音关系,两者之间没有降调或者升调。如图9d所示,可以理解,吉他的指法主要提现在左手,因此,指法展示部分以左手指法展示为主,吉他共包含6根弦(横向)和19品(纵向),但是为了方便弹奏,吉他采用半音进阶(#、b)的方式,在0至4品内就基本上涵盖了所有的音节,通常情况下可以只采取常用的前0至3品的弹奏部位作为弹奏控件,而0品是空弦不需要按压,可以不去展示,由此可以得出吉他的虚拟乐器区域721共有6行3列,总计18个弹奏控件721a。如图9c所示,示出了第一行即第6弦的3个弹奏控件721a。

在虚拟乐器区域721中展示当前音节的第一提示信息时,可以大致分为两种情况,若当前音节对应0品时,由于无需按压,第一提示信息721b可以凸显当前弹奏控件所在行,例如图9c中第6行的以竖向格子填充的第一提示信息721b,该第一提示信息721b为长条形。而若当前音节不是0品时,可以在对应的当前弹奏控件处展示第一提示信息,例如,图9c中第4行第2列或第5行第2列中圆形的第一提示信息721b。可以理解,图9c中所示的三个第一提示信息721b通常状况下不会同时出现,图9c只是为了便于集中说明,才将其绘制在一张图中。

由于吉他的弹奏主要依靠左手四根手指,因此,手势展示区域723中的手部图形723a可以只包括左手图形。左手图形可以展示有第二提示信息723b。

在一些实施例中,若所述目标乐器为弦乐器,即需要弹奏多根弦时,例如吉他,第二提示信息723b包括分别展示于多个手指处的多个提示图形,每个所述提示图形的显示格式区别于其他的所述提示图形的显示格式,且所述当前弹奏控件处的所述第一提示信息的显示格式和与所述当前弹奏控件对应的手指处的所述提示图形的显示格式相同。

例如,小指中的提示图形可以采用斜线填充,无名指中的提示图形可以采用斜向格子填充,中指中的提示图形可以不填充,食指中的提示图形可以采用点状填充。对应的第一提示信息也可以采用同样方式填充。以图9c中第4行第2列的第一提示信息721b为例,其采用斜线填充,对应的提示图形为小指处的第二提示信息723b,表明需要用小指弹奏第一提示信息的位置上的弹奏控件721a。通过这种方式,可以直观地显示当前音节的弹奏位置和弹奏手指。

图9e为本申请实施例提供的第一状态提示信息的另一种示意图;请参照图9e,当检测到当前弹奏输入信息与当前音节不相符时,可以在指法展示区域720中展示第一状态提示信息740,对于可以获取到当前弹奏输入信息所在的弹奏控件的位置时,可以在该弹错的弹奏控件的位置处显示第一状态提示信息,若无法获取到该弹错的弹奏控件的位置,可以在任一位置显示第一状态提示信息740。

图9f为本申请实施例提供的第二状态提示信息的另一种示意图;请参照图9f,当检测到当前弹奏输入信息与当前音节相符时,可以在指法展示区域720中展示第二状态提示信息750,第二状态提示信息750可以展示在第一提示信息221b所展示的当前弹奏控件处,当然在其他实施例中,其还可以展示在其他位置。

另外,当前弹奏控件处还可以展示有位置标识信息,以指示弹奏该当前弹奏控件所使用的手指在手掌中的位置序号。在一些实施例中,乐谱展示区域710还可以有第一信息或第二信息以在乐谱中直观地展示各个乐谱符号的历史弹奏状态,第一信息表示弹奏错误,第二信息表示弹奏正确。

以上分别以钢琴和吉他展示了方法100中各个显示界面的UI层的展示内容及切换方式,以下将结合显示界面的逻辑层的生成方法进行说明。

图10为本申请实施例提供的乐谱展示方法的流程框图;请参照图10,在一个具体实施例中,乐谱展示方法大致可以分为界面显示UI层和逻辑层,在步骤31选择目标音乐后,可以执行步骤36请求并解析目标音乐的数据,生成步骤38的音乐数据,音乐数据是指基于能被电子设备读取和使用的数据格式由目标音乐解析而成的相关数据,并在经过步骤37的目标乐器选择后,执行步骤32的加载虚拟乐器区域。另外,在音乐数据生成后可以执行步骤33加载乐谱,即在乐谱展示区域根据音乐数据生成对应乐谱,在获取到演奏开始指令后,可以接着执行步骤34在乐谱展示区域加载标识信息,同时可以执行步骤35在指法展示区域加载弹奏指法。

在一些实施例中,在生成虚拟乐器区域时,方法100还包括:获取虚拟乐器区域的尺寸信息;基于目标乐器中弹奏部件的排列规则以及虚拟乐器区域的尺寸信息,确定每个弹奏控件的尺寸信息以及虚拟乐器区域中弹奏控件的排布方式;在虚拟乐器区域展示多个弹奏控件。

请参照图3和图5b,虚拟乐器区域221的尺寸信息可以包括沿第一方向(上下方向)的长度尺寸和沿第二方向(左右方向)的宽度尺寸,长度尺寸可以根据需求设置,宽度尺寸可以为音乐展示界面200的宽度尺寸。目标乐器中弹奏部件的排列规则可以为各个弹奏部件的排列位置关系和尺寸关系,虚拟乐器区域中弹奏控件的排布方式可以与目标乐器中弹奏部件的排列规则相同,展示弹奏控件可以是将该目标乐器的弹奏部件按照一定比例展示在虚拟乐器区域221,弹奏部件和弹奏控件221a一一对应,从而实现虚拟乐器区域的绘制生成。

在一些实施例中,为了实现第一提示信息的展示,方法100还可以包括:基于弹奏控件与音节的对应关系,生成包括多个音节数据的数列集合,音节数据的排布方式与虚拟乐器区域中弹奏控件的排布方式相对应,音节数据用于表征与弹奏控件相对应的音节,且音节数据在数列集合中的坐标信息用于表征弹奏控件在虚拟乐器区域的位置坐标;上述步骤中的在与当前音节相对应的当前弹奏控件处展示第一提示信息,包括:在数列集合中查找与当前音节相对应的音节数据;确定音节数据在数列集合中的坐标信息;基于坐标信息,在虚拟乐器区域中确定与坐标信息相对应的当前弹奏控件;在当前弹奏控件处展示第一提示信息。

可以理解,每个弹奏控件可以具有对应的所能发出的音节,每种乐器的弹奏控件和对应的音节可以构成数列集合,该对应的音节在数列集合中可以称为音节数据,该数列集合可以为一维、二维等。数列集合中包括多个音节数据,每个音节数据具有在数列集合中的坐标信息,坐标信息用于表示对应的弹奏控件在虚拟乐器区域的位置坐标。可以理解,基于乐器类型不同,音节数据的数量可以与弹奏控件的数量相同,例如吉他。或者音节数据的数量可以小于弹奏控件的数量,例如钢琴中的音节数据的数量可以与白键的数量相同,当然,在钢琴中的音节数据的数量也可以与黑白键的总和相同。

通过在数列集合中找到与当前音节相对应的音节数据,进而可以确定其在数列集合中的坐标信息,基于坐标信息可以确定当前弹奏控件在虚拟乐器区域的位置,从而可以确定第一提示信息的展示位置,然后可以在该位置展示第一提示信息。

在一些实施例中,上述步骤中的在数列集合中查找与当前音节相对应的音节数据,可以包括:获取当前音节的音节属性信息;基于当前音节的音节属性信息,生成音节组合数据;基于音节组合数据,在数列集合中确定与音节组合数据相一致的音节数据。其中,若目标乐器为键盘乐器,音节属性信息包括音阶信息、音调信息以及半阶信息;若目标乐器为弦乐器,音节属性信息包括音阶信息以及半阶信息。

可以理解,每个音节可以包括音节属性信息,根据乐器种类不同,音节属性信息可以包括音阶信息、音调信息以及半阶信息(例如钢琴),或者,可以包括音阶信息和音调信息(例如吉他)。音阶信息为音节的音阶,音调信息为音节的音调,半阶信息可以表示该音节是否为半音阶。

通过解析当前音节,可以获得音节属性信息,通过组合音节属性信息可以确定当前音节的音节组合数据,然后可以通过音节组合数据可以在数列集合中找到与音节组合数据相同的音节数据,将其作为与当前音节相对应的音节数据。

以下分别以钢琴和吉他为例说明虚拟乐器区域以及第一提示信息的生成方法。

图11a为本申请实施例提供的钢琴中白键的示意图;图11b为本申请实施例提供的钢琴的虚拟乐器区域的加载流程框图;请参照图11a和图11b,在一些实施例中,以E调版的钢琴为例:钢琴分为52个白键和36个黑键,共88个键。音阶信息分为do、re、mi、fa、so、la、si七个,音调信息从低到高分为9组,最左边两个(la、si)为一组,最右边一个(do)为一组,中间49个每7个为一组,总计可以分为2+7*7+1=52档,这即是白键对应的弹奏控件,黑键档位为某一个白键的前半阶或者后半阶。当步骤40获取到钢琴乐谱数据(乐谱版本,如E调版、C调版等)时,同时进行步骤41和步骤42。可以理解,乐谱版本也可以在图4所示的显示界面进行选择。

步骤41可以基于当前模式是新手模式获取显示界面宽度(练习模式时为高度)/52,确定白键宽度,并绘制白键,然后基于黑键位置是在白键1-2、3-4、4-5、6-7、7-8…之间,可以执行步骤43在白键之间绘制黑键。

步骤42在解析钢琴乐谱数据后,可以构建钢琴下的数列集合,数列集合中的音节数据的排列方式如下:可以先基于音阶信息和音调信息排列白键对应的音节数据,do、re、mi、fa、so、la、si分别由C/c、D/d、E/e、F/f、G/g、A/a、B/b表示,音调分组序号从左往右分别是2、1、0、0、1、2、3、4、5,所以从左往右的白键的音节数据分布如图11a所示。黑键是半音阶(#、b),可以在相邻白键之间插入黑键的音节数据,例如C1表示第三个白键,D1表示第四个白键,两者之间的黑键的音节数据可以表示为C1#、D1b,c表示第十七个白键,d表示第十八个白键,两者之间的黑键的音节数据可以表示为c#、db。黑键和白键的音节数据可以依次从左至右排列构成数列集合,其坐标信息可以依次为1-88。而虚拟乐器区域绘制的88个按键区域(包含黑键白键)的位置坐标也对应为1-88。

继续参照图11b,若演奏开始后,可以基于当前音节执行步骤44获取音阶信息以及步骤45获取音调信息,然后执行步骤46组合音阶信息和音调信息,接着可以基于步骤47判断是否为半阶信息,若是,可以将步骤46生成的数据结合半音阶(#、b)生成音节组合数据,然后基于数列集合,确定与音节组合数据一致的黑键的坐标信息,例如音节数据C1#的坐标信息为5,进而确定其在虚拟乐器区域的位置坐标也为5,然后执行步骤48在虚拟乐器区域的第5个按键区域即黑键处展示第一提示信息。同理,若不是半音阶,例如音节数据C1,其坐标信息为4,可以执行步骤49在虚拟乐器区域的第4个位置按键区域即白键处展示第一提示信息。

图12a为基于图9d生成的二维数组的示意图;图12b为本申请实施例提供的吉他的虚拟乐器区域的加载流程框图;请参照图12a和图12b,在一些实施例中,以E调版的吉他为例,由于虚拟乐器区域只展示前4(0至3)品,而0品是空弦不需要按压,所以吉他的二维数列集合可以由图12a所示的数组中的第2列至第5列构成。

如图12b所示,步骤50获取到吉他乐谱数据(乐谱版本例如E调版、C调版等)之后,可以执行步骤51a和步骤54。

步骤51a可以判断是否为练习模式,若是可以执行步骤52a获取显示界面高度为吉他宽度,按照42:17的比例计算高度,若否可以执行步骤51b判断是否为新手模式,若是可以执行步骤52b获取显示界面宽度为吉他宽度,按照42:13的比例计算高度,在步骤52a或者步骤52b之后,可以执行步骤53吉他宽度/3、高度/6为单个弹奏控件的尺寸,进而可以在虚拟乐器区域绘制吉他的所有弹奏控件,如图9c所示。另外,若不是新手模式,则可以执行步骤52c不展示指法展示区域。

步骤54可以构建吉他下的二维数列集合,若演奏开始,可以基于当前音节获取音阶信息和音调信息,并将两者组合生成音节组合数据,然后在数列集合中寻找与音节组合数据相同的音节数据。接着可以执行步骤55确定当前音节对应的音节数据在数列集合中的横坐标,即确定第一提示信息所在的行,然后可以执行步骤56判断当前音节是否是0品,若是,则确定0品对应的弹奏控件的所在行,执行步骤57在所在行展示第一提示信息(图9c中最下方的第一提示信息721b),若否,可以执行步骤58对比音节属性信息(C、D、F、#......),即确定音节数据的纵坐标对应的弹奏控件的位置坐标,接着执行步骤59基于建议指法(图9d),确定第一提示信息的显示格式,,并以该显示格式展示第一提示信息(图9d中以圆形表示的第一提示信息721b)。

在一些实施例中,图5b中的第三提示信息可以采用以下方法生成,方法100还可以包括:基于目标音乐,生成提示信息列表,提示信息列表包括以预设规则排列的多个子提示信息,每个子提示信息与目标音乐中的一个音节相对应。上述步骤中的在指法滚动区域展示包括多个子提示信息的第三提示信息之前,方法100还可以包括:基于当前时刻与演奏开始指令的接收时刻,确定当前指法展示时长;基于当前指法展示时长、预设速度以及指法滚动区域沿第一方向的长度尺寸,从提示信息列表中确定构成第三提示信息的多个子提示信息。

其中,提示信息列表可以包括整首歌曲所需要展示的所有子提示信息。这些子提示信息按照预设规则排列,该预设规则可以包括子提示信息的前后时间排列顺序以及其对应的弹奏控件的位置信息。且所有子提示信息的时间排列顺序分别与目标音乐中的音节的时间排列顺序对应。

在展示第三提示信息时,可以先获取当前时刻,然后减去演奏开始指令的接收时刻,计算当前指法展示时长。然后根据当前指法展示时长,确定当前音节对应的子提示信息在提示信息列表中的第一位置,接着用指法滚动区域沿第一方向的长度尺寸除以预设速度得到一个展示时间间隔,然后获取从当前音节之后并且展示时间间隔内的所有音节,根据最后一个音节确定提示信息列表中对应的子提示信息的第二位置,然后可以确定第一位置和第二位置之间的所有子提示信息构成的第三提示信息,从而可以展示第三提示信息。

图13为本申请实施例提供的指法展示区域的加载流程框图;请参照图13,在一些实施例中,在确定目标音乐后,可以执行步骤60加载音乐数据,接着可以执行步骤61判断是否为新手模式,若否,则执行步骤62a隐藏指法展示区域,若是,则执行步骤62b解析音乐数据,在经过步骤63a确定目标乐器后,可以执行步骤64加载虚拟乐器的弹奏控件。

另外在步骤62b之后还可以执行步骤63b解析提示信息列表,然后在演奏开始后,可以执行步骤65提示信息列表按节奏滚动,即在指法滚动区域依次展示多个子提示信息。并且在演奏完成之后,可以执行步骤66滚动结束,即不再展示子提示信息。

另外,在演奏开始后,可以通过步骤70外接乐器或音频采集输入,获取当前弹奏输入信息,接着通过步骤71解析当前弹奏输入信息,然后执行步骤67比对当前音节与当前弹奏输入信息,并执行步骤68判断两者是否相符,若否则可以执行步骤69展示第一状态提示信息。

在一些实施例中,乐谱展示区域的乐谱展示可以通过以下方法实现,方法100还可以包括:基于目标音乐以及乐谱展示区域的尺寸信息,生成包括M个乐谱行的乐谱,每个乐谱行包括多个乐谱符号,每个乐谱符号与目标音乐中的一个音节相对应,其中,M为自然数;基于当前指法展示时长,确定当前展示于乐谱展示区域的N个乐谱行以及当前音节对应的乐谱符号在N个乐谱行中的目标位置,其中,N为自然数,且N小于或等于M;将N个乐谱行展示在乐谱展示区域。上述步骤S120中的在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,可以包括:在目标位置处展示标识信息。

其中,基于目标音乐可以生成目标音乐的对应的乐谱,乐谱可以包括多个乐谱符号,乐谱符号可以与目标音乐的音节相对应。且乐谱可以根据乐谱展示区域的宽度尺寸进行换行,以形成M个乐谱行。

根据当前指法展示时长,可以确定当前音节所对应的乐谱符号所在的乐谱行、以及该乐谱符号在乐谱行中的目标位置。可以理解的是,由于乐谱展示区域的长度尺寸有限,M个乐谱行中可以只展示N个乐谱行,且这N个乐谱行会随着时间更新,所以可以根据当前指法展示时长来确定能够展示在该区域的N个乐谱行。该方法中当前音节所在的乐谱行可以始终显示在乐谱展示区域。

图14为本申请实施例提供的乐谱展示区域的加载流程框图;请参照图14,在一些实施例中,乐谱展示区域可以包括乐谱行列表的背景区域,以及叠加在该背景区域上方的交互区域,在演奏开始前,交互区域可以为透明区域,背景区域、交互区域以及乐谱展示区域的尺寸信息可以一致。

以步骤S110中的音乐展示界面中的乐谱展示区域的显示为例,在步骤80加载音乐数据后,可以基于目标乐器,生成对应的乐谱行列表,乐谱行列表可以包含需要展示的N个乐谱行。同时,还可以在背景区域执行步骤81加载五线谱,接着执行步骤82获取渲染尺寸,即五线谱区域的尺寸信息,该尺寸信息可以为交互区域的尺寸信息一致,因此,可以计算交互区域的尺寸信息。

在构建乐谱行列表和计算交互区域时,可以执行步骤83判断乐谱行列表是否加载完成,即是否在五线谱上绘制完乐谱行列表,若是,则执行步骤84UI初始化完成,若否则继续执行步骤83,直至步骤84完成。另外,在获取到演奏开始指令后,可以在交互区域中绘制标识信息以及高亮浮层。

图15为本申请实施例提供的练习模式的加载流程框图;请参照图15,在第三展示模式下,如练习模式下,乐谱展示区域可以包括横向滑动区域和设置于横向滑动区域上的交互区域。且在演奏开始前,交互区域可以为透明区域。

横向滑动区域与乐谱展示区域尺寸信息一致,其中的乐谱符号可以横向滑动,以使当前音节始终展示在该乐谱展示区域。

可以在选择目标音乐后执行步骤90加载音乐数据,然后执行步骤91判断是否为练习模式,若否,则执行步骤92进入新手模式的加载,具体可以参照图13所示的流程。若是,则执行步骤93绘制指法展示区域和步骤94加载五线谱,其中,步骤93与图13中的指法展示区域的加载类似,在此不在赘述。步骤94之后可以执行步骤95解析音乐数据,生成乐谱,由于该练习模式只展示一行乐谱行,所以可以执行步骤96按小节解析乐谱(即获取展示的多个乐谱符号),并将解析好的数据绘制到横向滑动区域。

另外,步骤95之后还可以执行步骤97,解析标识信息,并绘制到交互区域,然后可以执行步骤98将交互区域和横向滑动区域叠加形成乐谱展示区域。

可以理解,本申请实施例以吉他代表弦乐器,以钢琴代表键盘乐器为例进行说明,但是,两者的实施例可以相互替换或者结合,并根据乐器类型可以适应性地调整。

为便于更好的实施本申请实施例的乐谱展示方法,本申请实施例还提供一种乐谱展示装置,请参照图16,图16为本申请实施例提供的乐谱展示装置的结构示意图。乐谱展示装置800可以包括以下单元。

显示单元801,用于响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面,其中,音乐展示界面包括:乐谱展示区域以及指法展示区域。

提示单元802,用于响应于演奏开始指令,在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,并在指法展示区域展示用于弹奏当前音节的弹奏指法信息。

在一些实施例中,指法展示区域包括:虚拟乐器区域,虚拟乐器区域包括与目标乐器的多个弹奏部件分别对应的多个弹奏控件;提示单元802在用于在指法展示区域展示用于弹奏当前音节的弹奏指法信息时,还进一步用于在与当前音节相对应的当前弹奏控件处展示第一提示信息,第一提示信息用于提示使用对象操作目标乐器中与当前弹奏控件相对应的当前弹奏部件。

在一些实施例中,指法展示区域还包括设置有手部图形的手势展示区域,提示单元802在用于在指法展示区域展示用于弹奏当前音节的弹奏指法信息时,还进一步用于在手部图形中展示第二提示信息,第二提示信息用于提示使用对象操作当前弹奏部件的手指的位置。

在一些实施例中,装置800还包括:第一单元,用于响应于使用对象的当前弹奏输入信息与当前音节不相符,在指法展示区域展示第一状态提示信息,第一状态提示信息用于指示使用对象对当前音节的弹奏状态为错误状态。

在一些实施例中,装置800还包括:第二单元,用于响应于当前弹奏输入信息与当前音节相符合,在指法展示区域展示第二状态提示信息,第二状态提示信息用于指示使用对象对当前音节的弹奏状态为正确状态。

在一些实施例中,乐谱展示区域中的乐谱包括多个乐谱符号,每个乐谱符号与目标音乐中的一个音节相对应,装置800还包括:第三单元,用于响应于当前弹奏输入信息与当前音节不相符,在与当前音节对应的乐谱符号处展示第一信息;响应于当前弹奏输入信息与当前音节相符合,在与当前音节对应的乐谱符号处展示第二信息。

在一些实施例中,第一信息的形状与对应的乐谱符号的形状相同,第二信息的形状与对应的乐谱符号的形状相同,且第一信息的显示格式区别于第二信息的显示格式。

在一些实施例中,提示单元802在用于在指法展示区域展示用于弹奏当前音节的弹奏指法信息时,还进一步用于在当前弹奏控件处展示用于弹奏当前音节的手指的位置标识信息,位置标识信息为手指在手掌中的位置序号。

在一些实施例中,若目标乐器为键盘乐器,指法展示区域还包括:指法滚动区域;提示单元802在用于在指法展示区域展示用于弹奏当前音节的弹奏指法信息时,还进一步用于在指法滚动区域展示包括多个子提示信息的第三提示信息,且多个子提示信息分别用于提示在当前音节之后的多个音节的弹奏位置以及弹奏时刻。

在一些实施例中,提示单元802在用于在指法滚动区域展示包括多个子提示信息的第三提示信息时,还进一步用于响应于目标音乐中的音节与当前音节之间的时间间隔小于或等于预设时间间隔,在指法滚动区域展示与音节相对应的子提示信息,其中,子提示信息位于与音节相对应的弹奏控件沿第一方向的一端,且子提示信息以预设速度沿第一方向朝向弹奏控件移动;提示单元802在用于在与当前音节相对应的当前弹奏控件处展示第一提示信息时,还进一步用于响应于子提示信息移动至弹奏控件,取消展示子提示信息,将弹奏控件作为当前弹奏控件并在当前弹奏控件展示第一提示信息。

在一些实施例中,若目标乐器为键盘乐器,第一提示信息包括左手提示信息以及右手提示信息,且左手提示信息的显示格式区别于右手提示信息的显示格式。

在一些实施例中,若目标乐器为键盘乐器,第二提示信息展示于用于弹奏当前音节的手指处;若目标乐器为弦乐器,第二提示信息包括分别展示于多个手指处的多个提示图形,每个提示图形的显示格式区别于其他的提示图形的显示格式,且当前弹奏控件处的第一提示信息的显示格式和与当前弹奏控件对应的手指处的提示图形的显示格式相同。

在一些实施例中,显示单元801在用于显示与目标乐器相对应的音乐展示界面时,还进一步用于响应于对第一展示模式的第一操作指令,显示音乐展示界面,且乐谱展示区域以及指法展示区域沿第一方向排列。

在一些实施例中,以沿第一方向的尺寸为长度尺寸,装置800还包括:第四单元,用于响应于对第二展示模式的第二操作指令,取消显示指法展示区域,并调整乐谱展示区域的显示尺寸,以使调整后的乐谱展示区域的长度尺寸等于第一展示模式时的乐谱展示区域以及指法展示区域的长度尺寸的总和。

在一些实施例中,装置800还包括:第五单元,用于响应于对第三展示模式的第三操作指令,调整乐谱展示区域和指法展示区域的显示方向和显示尺寸,以使调整后的乐谱展示区域和调整后的指法展示区域沿第二方向排列,其中第二方向与第一方向相互垂直。

在一些实施例中,装置800还包括:第六单元,用于获取虚拟乐器区域的尺寸信息;基于目标乐器中弹奏部件的排列规则以及虚拟乐器区域的尺寸信息,确定每个弹奏控件的尺寸信息以及虚拟乐器区域中弹奏控件的排布方式;在虚拟乐器区域展示多个弹奏控件。

在一些实施例中,装置800还包括:第七单元,用于基于弹奏控件与音节的对应关系,生成包括多个音节数据的数列集合,音节数据的排布方式与虚拟乐器区域中弹奏控件的排布方式相对应,音节数据用于表征与弹奏控件相对应的音节,且音节数据在数列集合中的坐标信息用于表征弹奏控件在虚拟乐器区域的位置坐标;提示单元802在用于在与当前音节相对应的当前弹奏控件处展示第一提示信息时,还进一步用于在数列集合中查找与当前音节相对应的音节数据;确定音节数据在数列集合中的坐标信息;基于坐标信息,在虚拟乐器区域中确定与坐标信息相对应的当前弹奏控件;在当前弹奏控件处展示第一提示信息。

在一些实施例中,提示单元802在用于在数列集合中查找与当前音节相对应的音节数据时,还进一步用于获取当前音节的音节属性信息;基于当前音节的音节属性信息,生成音节组合数据;基于音节组合数据,在数列集合中确定与音节组合数据相一致的音节数据;其中,若目标乐器为键盘乐器,音节属性信息包括音阶信息、音调信息以及半阶信息;若目标乐器为弦乐器,音节属性信息包括音阶信息以及半阶信息。

在一些实施例中,装置800还包括:第八单元,用于基于目标音乐,生成提示信息列表,提示信息列表包括以预设规则排列的多个子提示信息,每个子提示信息与目标音乐中的一个音节相对应;

提示单元802在用于在指法滚动区域展示包括多个子提示信息的第三提示信息之前,装置800还包括:第九单元,用于基于当前时刻与演奏开始指令的接收时刻,确定当前指法展示时长;基于当前指法展示时长、预设速度以及指法滚动区域沿第一方向的长度尺寸,从提示信息列表中确定构成第三提示信息的多个子提示信息。

在一些实施例中,装置800还包括:第十单元,用于基于目标音乐以及乐谱展示区域的尺寸信息,生成包括M个乐谱行的乐谱,每个乐谱行包括多个乐谱符号,每个乐谱符号与目标音乐中的一个音节相对应,其中,M为自然数;基于当前指法展示时长,确定当前展示于乐谱展示区域的N个乐谱行以及当前音节对应的乐谱符号在N个乐谱行中的目标位置,其中,N为自然数,且N小于或等于M;将N个乐谱行展示在乐谱展示区域;提示单元802在用于在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息时,还进一步用于在目标位置处展示标识信息。

乐谱展示装置800的实现方式与乐谱展示方法相同,具体可以参考上述各个实施例。

在一些实施例中,本申请还提供了一种电子设备,包括:处理器;以及存储器,存储器用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行实现上述任一实施例中的方法。

图17为本申请实施例提供的电子设备的结构示意图,该电子设备900可以是图1所示的终端或服务器。如图17所示,该电子设备900可以包括:通信接口901,存储器902,处理器903和通信总线904。通信接口901,存储器902,处理器903通过通信总线904实现相互间的通信。通信接口901用于电子设备900与外部设备进行数据通信。存储器902可用于存储软件程序以及模块,处理器903通过运行存储在存储器902的软件程序以及模块,例如上述方法实施例中的相应操作的软件程序。

在一些实施例中,该处理器903可以调用存储在存储器902的软件程序以及模块执行如下操作:响应于针对目标音乐以及目标乐器的选择指令,显示与目标乐器相对应的音乐展示界面,其中,音乐展示界面包括:乐谱展示区域以及指法展示区域;响应于演奏开始指令,在乐谱展示区域展示用于指示目标音乐的当前音节的标识信息,并在指法展示区域展示用于弹奏当前音节的弹奏指法信息。

本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例的方法。为了简洁,在此不再赘述。

本申请还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述任一实施例中的方法。为了简洁,在此不再赘述。

本申请还提供了一种计算机程序,该计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得电子设备执行本申请实施例中的各方法中的相应流程,为了简洁,在此不再赘述。

应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

技术分类

06120115626581