一种合唱方法、装置、设备和可读存储介质与流程

    专利查询2022-07-09  141



    1.本技术涉及多媒体技术领域,更具体地说,涉及一种合唱方法、装置、设备和可读存储介质。


    背景技术:

    2.随着互联网技术的广泛普及和直播功能的快速发展,主唱用户能够通过直播app中的线上k歌应用程序进行唱歌,合唱用户可以通过连麦的方式与主唱用户进行合唱。
    3.在这种唱歌聊天场景中,一般都是由单人的唱歌录音推流,即主唱用户唱歌录音推流,或者是两人的同时开始播放伴奏录音推流,其本质都是在合唱之前,主唱用户和合唱用户都完成伴奏下载,然后同时开始播放伴奏。合唱用户如果想要与主唱用户一起演唱,必须要等待主唱用户当前歌曲结束,在下一首歌才能与主唱用户一起合唱。
    4.考虑到这一合唱方式无法实现多人的中途可以加入,并实现实时合唱,具有有比较大的局限性,需要一种合唱方案,能够实现合唱用户可随时加入实时合唱。


    技术实现要素:

    5.有鉴于此,本技术提供了一种合唱方法、装置、设备和可读存储介质,能够实现合唱用户可随时加入实时合唱,并使合唱用户的伴奏播放与主唱用户的伴奏播放同步。
    6.为了实现上述目的,现提出的方案如下:
    7.一种合唱方法,应用于合唱端,该方法包括:
    8.响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏;
    9.接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    10.根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度;
    11.根据所述目标播放进度播放所述歌曲伴奏。
    12.优选的,根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度,包括:
    13.确定所述获取时刻与当前本地时刻的时间差;
    14.根据所述时间差和接收的所述播放进度,确定对所述歌曲伴奏的目标播放进度,所述目标播放进度为接收的所述播放进度与所述时间差之和。
    15.优选的,还包括:
    16.在歌曲伴奏播放过程中,按照预设周期接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    17.根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的新的目标播放进度;
    18.确定所述新的目标播放进度与当前对所述歌曲伴奏的播放进度之间的差异是否超过阈值;
    19.在所述差异超过阈值的情况下,调整当前对所述歌曲伴奏的播放进度至所述新的目标播放进度处,并进行播放。
    20.优选的,在根据所述目标播放进度播放所述歌曲伴奏之前,还包括:
    21.获取主唱端对所述歌曲伴奏的播放参数设置情况;
    22.根据所述播放参数设置情况,调整本地将要播放的所述歌曲伴奏的播放参数设置,使所述本地将要播放的所述歌曲伴奏的播放参数设置与所述主唱端正在演唱的当前歌曲的歌曲伴奏的播放参数设置一致。
    23.优选的,下载主唱端正在演唱的当前歌曲的歌曲伴奏,包括:
    24.获取主唱端正在演唱的当前歌曲的歌曲伴奏的版本信息;
    25.下载与所述版本信息匹配的所述歌曲伴奏。
    26.优选的,还包括:
    27.下载主唱端正在演唱的当前歌曲的歌词,其中歌词的显示时间与所述歌曲伴奏进度对应设置;
    28.在歌曲伴奏播放过程中,根据所述目标播放进度显示所述歌词。
    29.一种合唱装置,包括:
    30.下载单元,用于响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏;
    31.接收单元,用于接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    32.确定单元,用于根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度;
    33.播放单元,用于根据所述目标播放进度播放所述歌曲伴奏。
    34.优选的,所述确定单元,包括:
    35.时间差确定单元,用于确定所述获取时刻与当前本地时刻的时间差;
    36.进度确定单元,用于根据所述时间差和接收的所述播放进度,确定对所述歌曲伴奏的目标播放进度,所述目标播放进度为接收的所述播放进度与所述时间差之和。
    37.一种合唱设备,包括存储器和处理器;
    38.所述存储器,用于存储程序;
    39.所述处理器,用于执行所述程序,实现如上述的合唱方法的各个步骤。
    40.一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述的合唱方法的各个步骤。
    41.从上述的技术方案可以看出,本技术提供的一种合唱方法、装置、设备和可读存储介质,通过响应用户加入合唱操作,合唱端下载主唱端正在演唱的当前歌曲的歌曲伴奏,接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻。合唱端根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度,并最后根据所述目标播放进度播放所述歌曲伴奏。
    42.本技术中合唱端接收主唱端发送的主唱端的播放进度及所述播放进度对应的获取时刻,从而确定合唱端的对歌曲伴奏的目标播放进度,合唱端从目标播放进度处开始播放所述歌曲伴奏,可以使合唱端对当前歌曲的伴奏的播放进度与主唱端对歌曲伴奏的播放进度保持一致,合唱用户可以在任一时刻提出并加入合唱,而无需等待下一首歌曲,实现合唱用户可随时加入实时合唱。
    附图说明
    43.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
    44.图1为本技术实施例公开的一种合唱方法流程图;
    45.图2为本技术公开的一种合唱装置结构框图;
    46.图3为本技术公开的一种合唱设备的硬件结构框图。
    具体实施方式
    47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
    48.接下来介绍本技术方案,参见图1,图1为本技术实施例公开的一种合唱方法流程图。
    49.如图1所示,该方法可以包括:
    50.步骤s1、响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏。
    51.具体的,当主唱端在演唱当前歌曲时,其他用户可随时提出加入演唱,与主唱端共同演唱当前歌曲。当用户提出加入合唱请求时,合唱端响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏。
    52.步骤s2、接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻。
    53.具体的,所述获取时刻为所述主唱端获取所述播放进度的时刻。主唱端可以获取当前主唱端对歌曲伴奏的播放进度,并将记录获取播放进度的获取时刻,将播放进度和对应的获取时刻发送到合唱端。合唱端接收到主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,可根据获取的播放进度和获取时刻后续确定合唱端对歌曲伴奏的播放进度。
    54.步骤s3、根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度。
    55.具体的,合唱端在获取得到主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻后,确定当前本地时刻,并依据接收的所述播放进度、获取时刻及当前本地时刻,确定合唱端对所述歌曲伴奏的播放进度,即目标播放进度。确定目标
    播放进度的方式可以通过获取时刻及当前本地时刻,及获取时刻与播放进度的对应关系,确定当前本地时刻对应的目标播放进度。
    56.步骤s4、根据所述目标播放进度播放所述歌曲伴奏。
    57.具体的,合唱端根据所述目标播放进度播放所述歌曲伴奏,即从目标播放进度处开始播放歌曲伴奏。
    58.从上述的技术方案可以看出,本技术提供的一种合唱方法,通过响应用户加入合唱操作,合唱端下载主唱端正在演唱的当前歌曲的歌曲伴奏,接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻。合唱端根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度,并最后根据所述目标播放进度播放所述歌曲伴奏。
    59.本技术中合唱端接收主唱端发送的主唱端的播放进度及所述播放进度对应的获取时刻,从而确定合唱端的对歌曲伴奏的目标播放进度,合唱端从目标播放进度处开始播放所述歌曲伴奏,可以使合唱端对当前歌曲的伴奏的播放进度与主唱端对歌曲伴奏的播放进度保持一致,合唱用户可以在任一时刻提出并加入合唱,而无需等待下一首歌曲,实现合唱用户可随时加入实时合唱。
    60.在本技术的一些实施例中,对步骤s3、根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度的过程进行介绍,具体可以包括:
    61.步骤s31、确定所述获取时刻与当前本地时刻的时间差。
    62.具体的,确定从主唱端获取当前播放进度的获取时刻到合唱端接收到主唱端发送的播放进度的过程中耗费的时间,即所述获取时刻与当前本地时刻的时间差,所述时间差可用于后续合唱端确定对歌曲伴奏的目标播放进度。
    63.步骤s32、根据所述时间差和接收的所述播放进度,确定对所述歌曲伴奏的目标播放进度。
    64.具体的,所述目标播放进度为接收的所述播放进度与所述时间差之和。在获取时刻,主唱端对歌曲伴奏的播放进度与获取时刻对应,当合唱端接收到获取时刻和对应的播放进度时,从主唱端获取当前播放进度的获取时刻到合唱端接收到主唱端发送的播放进度的过程中耗费的时间内,主唱端仍然在对歌曲伴奏进行持续播放。
    65.因此在为使得合唱端与主唱端的歌曲伴奏的播放进度保持一致,目标播放进度需要依据所述时间差,在接收到的播放进度上进行进度调整,即目标播放进度调整至接收的所述播放进度与所述时间差之和的位置,并在此处开始进行歌曲伴奏的播放。
    66.在本技术的一些实施例中,在合唱端以根据目标播放进度对歌曲伴奏进行播放过程中,为避免因传输延迟或播放卡顿等因素,导致合唱端与主唱端间出现播放进度的较大误差的情况,还可以在合唱过程中,按照预设周期依据接收主唱端发送的播放进度和对应的获取时间,进行播放进度之间的差异检测,从而校正合唱端对所述歌曲伴奏的播放进度。
    67.在上述实施例的基础上,还可以包括:
    68.步骤s5、在歌曲伴奏播放过程中,按照预设周期接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻。
    69.具体的,在合唱端已对歌曲伴奏进行播放,实现合唱端与主唱端的共同演唱时,为避免传输过程的时间延迟,或因合唱端设备卡顿导致的合唱端伴奏播放与主唱端之间产生较大差异,合唱端还可以按照预设周期接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻。
    70.步骤s6、根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的新的目标播放进度。
    71.步骤s7、确定所述新的目标播放进度与当前对所述歌曲伴奏的播放进度之间的差异是否超过阈值。
    72.具体的,根据新的目标播放进度,和获取得到的当前对所述歌曲伴奏的播放进度,检测所述新的目标播放进度与当前对所述歌曲伴奏的播放进度之间的差异是否超过阈值。并依据检测结果在合唱过程中不断对合唱端的歌曲伴奏播放进度进行校正,保证合唱端与主唱端对歌曲伴奏的播放进度始终保持基本一致。
    73.步骤s8、在所述差异超过阈值的情况下,调整当前对所述歌曲伴奏的播放进度至所述新的目标播放进度处,并进行播放。
    74.具体的,在所述差异未超过阈值的情况下,无需对合唱端对歌曲伴奏的播放进行调整。在所述差异超过阈值的情况下,需要调整合唱端当前对所述歌曲伴奏的播放进度至所述新的目标播放进度处,并在新的目标播放进度处开始对歌曲伴奏进行播放。
    75.利用本实施例,合唱端根据接收到的所述播放进度、获取时刻及当前本地时刻,可在后续不断校正合唱端的对伴奏歌曲的播放进度,避免因传输延迟等因素造成的影响,使合唱用户的伴奏播放与主唱用户的伴奏播放基本同步。
    76.在本技术的一些实施例中,考虑到在实际情况下,主唱端可能依据个人习惯对歌曲伴奏的播放参数进行调整,为使主唱端与合唱端的歌曲伴奏整体保持一致,应根据主唱端对歌曲伴奏的播放参数设置情况,对合唱端的歌曲伴奏的播放参数进行设置。播放参数可以包括音高、重低音、播放速度等。
    77.示例如,主唱端会根据个人音域对歌曲伴的奏音高进行重新设置,示例如音域较高的主唱在演唱整体音调较低的曲目时,会将该曲目的歌曲伴奏进行适当调高,为避免因主唱端与合唱端的歌曲伴奏的音调不一致导致的合唱突兀,应根据主唱端对歌曲伴奏的音高设置情况,对合唱端的歌曲伴奏的音高进行设置,使合唱端歌曲伴奏的音高与主唱端一致。
    78.因此,在步骤s4、根据所述目标播放进度调整并播放所述歌曲伴奏之前,还可以包括:
    79.步骤s9、获取主唱端对所述歌曲伴奏的播放参数设置情况。
    80.步骤s10、根据所述播放参数设置情况,调整本地将要播放的所述歌曲伴奏的播放参数设置。
    81.具体的,根据所述播放参数设置情况,调整本地将要播放的所述歌曲伴奏的播放参数,使所述本地将要播放的所述歌曲伴奏的播放参数与所述主唱端正在演唱的当前歌曲的歌曲伴奏的播放参数一致。
    82.在本技术的一些实施例中,对步骤s1、响应用户加入合唱操作,并下载主唱端正在演唱的当前歌曲的歌曲伴奏的过程进行介绍,具体可以包括:
    83.步骤s101、获取主唱端正在演唱的当前歌曲的歌曲伴奏的版本信息。
    84.具体的,对于同一歌曲,可能存在多个版本不同的歌曲伴奏,为使主唱端与合唱端的歌曲伴奏保持一致,需要获取主唱端正在演唱的当前歌曲的歌曲伴奏的版本信息,以供后续合唱端下载与主唱端的版本一致的歌曲伴奏。
    85.步骤s102、下载与所述版本信息匹配的所述歌曲伴奏。
    86.具体的,在获取得到主唱端正在演唱的当前歌曲的歌曲伴奏的版本信息后,下载与所述版本信息匹配的所述歌曲伴奏,该歌曲伴奏与主唱端的歌曲伴奏相同。
    87.在本技术的一些实施例中,为实现主唱端的歌词和合唱端的歌词显示保持一致,在上述各实施例的基础上,合唱方法还可以包括:
    88.步骤s11、下载主唱端正在演唱的当前歌曲的歌词。
    89.具体的,合唱端下载主唱端正在演唱的当前歌曲的歌词,其中歌词的每一句都对应设置有显示时间,显示时间与所述歌曲伴奏进度对应,即每一句歌词都有设置在歌曲伴奏播放到某一对应时间点后进行显示,在另一时间点消失。在歌曲伴奏播放时,歌词会根据预先设置的显示时间逐一进行显示。
    90.步骤s12、在歌曲伴奏播放过程中,根据所述目标播放进度显示所述歌词。
    91.具体的,合唱端在确定对歌曲伴奏的目标播放进度后,根据所述目标播放进度调整并显示所述歌词,使主唱端的歌词和合唱端的歌词显示保持一致。
    92.下面对本技术实施例提供的合唱装置进行描述,下文描述的合唱装置与上文描述的合唱方法可相互对应参照。
    93.参见图2,图2为本技术实施例公开的一种合唱装置结构示意图。
    94.如图2所示,该装置可以包括:
    95.下载单元110,用于响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏;
    96.接收单元120,用于接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    97.确定单元130,用于根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度;
    98.播放单元140,用于根据所述目标播放进度播放所述歌曲伴奏。
    99.从上述的技术方案可以看出,本技术提供的一种合唱装置,通过响应用户加入合唱操作,合唱端下载主唱端正在演唱的当前歌曲的歌曲伴奏,接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻。合唱端根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度,并最后根据所述目标播放进度播放所述歌曲伴奏。
    100.本技术中合唱端接收主唱端发送的主唱端的播放进度及所述播放进度对应的获取时刻,从而确定合唱端的对歌曲伴奏的目标播放进度,合唱端从目标播放进度处开始播放所述歌曲伴奏,可以使合唱端对当前歌曲的伴奏的播放进度与主唱端对歌曲伴奏的播放进度保持一致,合唱用户可以在任一时刻提出并加入合唱,而无需等待下一首歌曲,实现合唱用户可随时加入实时合唱。
    101.可选的,上述确定单元,可以包括:
    102.时间差确定单元,用于确定所述获取时刻与当前本地时刻的时间差;
    103.进度确定单元,用于根据所述时间差和接收的所述播放进度,确定对所述歌曲伴奏的目标播放进度,所述目标播放进度为接收的所述播放进度与所述时间差之和。
    104.可选的,上述合唱装置,还可以包括:
    105.校正接收单元,用于在歌曲伴奏播放过程中,按照预设周期接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    106.校正确定单元,用于根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的新的目标播放进度;
    107.校正检测单元,用于确定所述新的目标播放进度与当前对所述歌曲伴奏的播放进度之间的差异是否超过阈值;
    108.校正调整单元,用于在所述差异超过阈值的情况下,调整当前对所述歌曲伴奏的播放进度至所述新的目标播放进度处,并进行播放。
    109.可选的,上述合唱装置,还可以包括:
    110.参数获取单元,用于获取主唱端对所述歌曲伴奏的播放参数设置情况;
    111.参数调整单元,用于根据所述播放参数设置情况,调整本地将要播放的所述歌曲伴奏的播放参数设置,使所述本地将要播放的所述歌曲伴奏的播放参数设置与所述主唱端正在演唱的当前歌曲的歌曲伴奏的播放参数设置一致。
    112.可选的,上述下载单元,包括:
    113.版本获取单元,用于获取主唱端正在演唱的当前歌曲的歌曲伴奏的版本信息;
    114.伴奏下载单元,用于下载与所述版本信息匹配的所述歌曲伴奏。
    115.可选的,上述合唱装置,还可以包括:
    116.歌词下载单元,用于下载主唱端正在演唱的当前歌曲的歌词,其中歌词的显示时间与所述歌曲伴奏进度对应设置;
    117.歌词调整单元,用于在歌曲伴奏播放过程中,根据所述目标播放进度显示所述歌词。
    118.本技术实施例提供的合唱装置可应用于合唱设备。可选的,图3示出了合唱设备的硬件结构框图,参照图3,合唱设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
    119.在本技术实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
    120.处理器1可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
    121.存储器3可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
    122.其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
    123.响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏;
    124.接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应
    的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    125.根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度;
    126.根据所述目标播放进度播放所述歌曲伴奏。
    127.可选地,所述程序的细化功能和扩展功能可参照上文描述。
    128.本技术实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
    129.响应用户加入合唱操作,下载主唱端正在演唱的当前歌曲的歌曲伴奏;
    130.接收主唱端发送的所述歌曲伴奏在所述主唱端的播放进度及所述播放进度对应的获取时刻,所述获取时刻为所述主唱端获取所述播放进度的时刻;
    131.根据接收的所述播放进度、获取时刻及当前本地时刻,确定对所述歌曲伴奏的目标播放进度;
    132.根据所述目标播放进度播放所述歌曲伴奏。
    133.可选地,所述程序的细化功能和扩展功能可参照上文描述。
    134.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
    ……”
    限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
    135.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
    136.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
    转载请注明原文地址:https://tc.8miu.com/read-3127.html

    最新回复(0)