CN111028818B - 合唱方法、装置、电子设备和存储介质 - Google Patents

合唱方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN111028818B
CN111028818B CN201911116178.1A CN201911116178A CN111028818B CN 111028818 B CN111028818 B CN 111028818B CN 201911116178 A CN201911116178 A CN 201911116178A CN 111028818 B CN111028818 B CN 111028818B
Authority
CN
China
Prior art keywords
chorus
time
countdown
server
audio data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911116178.1A
Other languages
English (en)
Other versions
CN111028818A (zh
Inventor
张晨
邢文浩
江景春
范威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201911116178.1A priority Critical patent/CN111028818B/zh
Publication of CN111028818A publication Critical patent/CN111028818A/zh
Application granted granted Critical
Publication of CN111028818B publication Critical patent/CN111028818B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/365Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems the accompaniment information being stored on a host computer and transmitted to a reproducing terminal by means of a network, e.g. public telephone lines
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/361Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
    • G10H1/368Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems displaying animated or moving pictures synchronized with the music or audio part
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/125Medley, i.e. linking parts of different musical pieces in one single piece, e.g. sound collage, DJ mix

Abstract

本公开关于一种合唱方法、装置、电子设备和存储介质,涉及音视频技术领域。所述方法包括:确定主唱终端和服务器的第一时钟偏差;在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时;根据第一倒计时长、接收到合唱发起指令的本地时间、以及第一时钟偏差,确定开唱服务器时间;向服务器发送包含开唱服务器时间的合唱指令,由服务器将合唱指令发送给合唱嘉宾终端,由合唱嘉宾终端确定第二倒计时长,并在第二倒计时长的倒计时结束时播放伴奏并采集第二音频数据;在第一倒计时长的倒计时结束时播放伴奏并采集第一音频数据;向服务器发送第一音频数据,由主播终端生成目标合唱音频数据。采用本方法能够提高合唱同步效果。

Description

合唱方法、装置、电子设备和存储介质
技术领域
本公开涉及音视频技术领域,尤其涉及一种合唱方法、装置、电子设备和存储介质。
背景技术
随着线上K歌的兴起,越来越多的用户通过线上K歌的应用程序进行唱歌,线上K歌的应用程序通常具有合唱功能,用户可以通过连麦的方式与其他用户进行合唱。参与连麦合唱的合唱者分为主唱和合唱嘉宾,主唱和合唱嘉宾可以在不同的线下地点,通过各自的终端访问提供合唱服务的线上平台,进入到同一个合唱房间,由主唱发起合唱,合唱嘉宾加入由主唱发起的合唱,使得主唱和合唱嘉宾可以像在线下KTV一样进行对唱或合唱。
影响线上合唱效果的一个重要因素是合唱者的开唱时间是否同步,相关技术中由主唱确认开唱后,主唱端和合唱嘉宾端开始播放伴奏,然而,由于线上连麦存在网络和系统延时,合唱嘉宾端接收到主唱端的信息需要一定的时间,会造成合唱嘉宾端开始播放伴奏的时间与主唱端不能准确同步,导致合唱同步效果差。
发明内容
本公开提供一种合唱方法、装置、电子设备和存储介质,以至少解决相关技术中合唱同步效果差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种合唱方法,包括:
确定主唱终端本地时钟和服务器时钟的第一时钟偏差;
在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时;
根据所述第一倒计时长、接收到所述合唱发起指令的本地时间、以及所述第一时钟偏差,确定所述待合唱歌曲的开唱服务器时间;
向服务器发送包含所述开唱服务器时间的合唱指令,由所述服务器将所述合唱指令发送给合唱嘉宾终端,由所述合唱嘉宾终端根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差,确定所述待合唱歌曲的伴奏在合唱嘉宾终端播放的第二倒计时长,并在所述第二倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含合唱嘉宾干声的第二音频数据;
在所述第一倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据;
向所述服务器发送所述第一音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
可选的,所述根据所述第一倒计时长、接收到所述合唱发起指令的本地时间、以及所述第一时钟偏差,确定所述待合唱歌曲的开唱服务器时间,包括:
将所述接收到所述合唱发起指令的本地时间加上所述第一倒计时长,得到主唱终端计划开唱时间;
将所述主唱终端计划开唱时间加上所述第一时钟偏差,得到所述待合唱歌曲的开唱服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差。
可选的,所述在所述预设第一倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,包括:
在所述第一倒计时长的倒计时结束时,根据当前本地时间、所述第一时钟偏差、以及所述开唱服务器时间,确定第一伴奏播放偏移量;
根据所述第一伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
可选的,所述根据当前本地时间、所述第一时钟偏差、以及所述开唱服务器时间,确定第一伴奏播放偏移量,包括:
将所述第一倒计时长的倒计时结束时的本地时间加上所述第一时钟偏差,得到主唱终端实际开唱时间对应的服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差;
将所述主唱终端实际开唱时间对应的服务器时间减去所述开唱服务器时间,得到第一伴奏播放偏移量。
可选的,在所述第一倒计时长的倒计时结束后,还包括:
接收所述第二音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为所述合唱嘉宾终端发送所述第二音频数据的时间间隔;
计算所述对应的发送时间间隔和接收到所述第二音频数据的接收时间间隔的时间差,获得所述第二音频数据在本地的缓冲时间;
根据所述缓冲时间,对所述第二音频数据缓冲后进行播放。
根据本公开实施例的第二方面,提供一种合唱方法,包括:
确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差;
接收服务器发送的包含待合唱歌曲的开唱服务器时间的合唱指令,所述开唱服务器时间由主唱终端根据所述待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、接收到合唱发起指令的本地时间、以及主唱终端本地时钟与服务器时钟的第一时钟偏差而确定,由所述主唱终端在所述第一倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含主唱干声的第一音频数据;
根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及所述第二时钟偏差,确定所述待合唱歌曲的伴奏在本地播放的第二倒计时长;
在获得所述第二倒计时长时,启动所述第二倒计时长的倒计时;
在所述第二倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据;
向所述服务器发送所述第二音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
可选的,所述根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及所述第二时钟偏差,确定所述待合唱歌曲的伴奏在本地播放的第二倒计时长,包括:
将所述开唱服务器时间减去所述第二时钟偏差,得到合唱嘉宾终端计划开唱时间,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差;
将所述合唱嘉宾终端计划开唱时间减去所述接收到所述合唱指令的本地时间,得到所述待合唱歌曲的伴奏在本地播放的第二倒计时长。
可选的,所述在所述第二倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,包括:
在所述第二倒计时长的倒计时结束时,根据当前本地时间、所述第二时钟偏差、以及所述开唱服务器时间,确定第二伴奏播放偏移量;
根据所述第二伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
可选的,所述在所述第二倒计时长的倒计时结束时,根据当前本地时间、所述第二时钟偏差、以及所述开唱服务器时间,确定第二伴奏播放偏移量,包括:
将所述第二倒计时长的倒计时结束时的本地时间加上所述第二时钟偏差,得到合唱嘉宾终端实际开唱时间对应的服务器时间;
将所述合唱嘉宾终端实际开唱时间减去所述开唱服务器时间,得到第二伴奏播放偏移量,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差。
可选的,在所述第二倒计时长的倒计时结束后,还包括:
接收所述第一音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为主唱终端发送所述第一音频数据的时间间隔;
计算所述对应的发送时间间隔和接收到所述第一音频数据的接收时间间隔的时间差,获得所述第一音频数据在本地的缓冲时间;
根据所述缓冲时间,对所述第一音频数据缓冲后进行播放。
根据本公开实施例的第三方面,提供一种合唱装置,包括:
第一时钟偏差确定模块,被配置为确定主唱终端本地时钟和服务器时钟的第一时钟偏差;
第一倒计时模块,被配置为在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时;
开唱服务器时间确定模块,被配置为根据所述第一倒计时长、接收到所述合唱发起指令的本地时间、以及所述第一时钟偏差,确定所述待合唱歌曲的开唱服务器时间;
合唱指令发送模块,被配置为向服务器发送包含所述开唱服务器时间的合唱指令,由所述服务器将所述合唱指令发送给合唱嘉宾终端,由所述合唱嘉宾终端根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差,确定所述待合唱歌曲的伴奏在嘉宾合唱终端播放的第二倒计时长,并在所述第二倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集合唱嘉宾干声的第二音频数据;
第一播放和采集模块,被配置为在所述第一倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据;
第一音频数据发送模块,被配置为向所述服务器发送所述第一音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
可选的,所述开唱服务器时间确定模块包括:
第一时间确定单元,被配置为将所述接收到所述合唱发起指令的本地时间加上所述第一倒计时长,得到主唱终端计划开唱时间;
第二时间确定单元,被配置为将所述主唱终端计划开唱时间加上所述第一时钟偏差,得到所述待合唱歌曲的开唱服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差。
可选的,所述第一播放和采集模块包括:
第一偏移量确定单元,被配置为在所述第一倒计时长的倒计时结束时,根据当前本地时间、所述第一时钟偏差、以及所述开唱服务器时间,确定第一伴奏播放偏移量;
第一进度调整单元,被配置为根据所述第一伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
可选的,所述第一偏移量确定单元包括:
第一时间确定子单元,被配置为将所述第一倒计时长的倒计时结束时的本地时间加上所述第一时钟偏差,得到主唱终端实际开唱时间对应的服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差;
第二时间确定子单元,被配置为将所述主唱终端实际开唱时间对应的服务器时间减去所述开唱服务器时间,得到第一伴奏播放偏移量。
可选的,所述第一播放和采集模块还包括:
第一音频数据接收单元,被配置为接收所述第二音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为所述合唱嘉宾终端发送所述第二音频数据的时间间隔;
第一缓冲时间计算单元,被配置为计算所述对应的发送时间间隔和接收到所述第二音频数据的接收时间间隔的时间差,获得所述第二音频数据在本地的缓冲时间;
第一缓冲播放单元,被配置为根据所述缓冲时间,对所述第二音频数据缓冲后进行播放。
根据本公开实施例的第四方面,提供一种合唱装置,包括:
第二时钟偏差确定模块,被配置为确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差;
合唱指令接收模块,被配置为接收服务器发送的包含待合唱歌曲的开唱服务器时间的合唱指令,所述开唱服务器时间由主唱终端根据所述待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、接收到合唱发起指令的本地时间、以及主唱终端本地时钟与服务器时钟的第一时钟偏差而确定,由所述主唱终端在所述第一倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含主唱干声的第一音频数据;
倒计时长确定模块,被配置为根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及所述第二时钟偏差,确定所述待合唱歌曲的伴奏在本地播放的第二倒计时长;
第二倒计时模块,被配置为在获得所述第二倒计时长时,启动所述第二倒计时长的倒计时;
第二播放和采集模块,被配置为在所述第二倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据;
第二音频数据发送模块,被配置为向所述服务器发送所述第二音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
可选的,所述倒计时长确定模块包括:
第三时间确定单元,被配置为将所述开唱服务器时间减去所述第二时钟偏差,得到合唱嘉宾终端计划开唱时间,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差;
第四时间确定单元,被配置为将所述合唱嘉宾终端计划开唱时间减去所述接收到所述合唱指令的本地时间,得到所述待合唱歌曲的伴奏在本地播放的第二倒计时长。
可选的,所述第二播放和采集模块包括:
第二偏移量确定单元,被配置为在所述第二倒计时长的倒计时结束时,根据当前本地时间、所述第二时钟偏差、以及所述开唱服务器时间,确定第二伴奏播放偏移量;
第二进度调整单元,被配置为根据所述第二伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
可选的,第二偏移量确定单元包括:
第三时间确定子单元,被配置为将所述第二倒计时长的倒计时结束时的本地时间加上所述第二时钟偏差,得到合唱嘉宾终端实际开唱时间对应的服务器时间;
第四时间确定子单元,被配置为将所述合唱嘉宾终端实际开唱时间减去所述开唱服务器时间,得到第二伴奏播放偏移量,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差。
可选的,所述第二播放和采集模块还包括:
第二音频数据接收单元,被配置为接收所述第一音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为所述主唱终端发送所述第一音频数据的时间间隔;
第二缓冲时间计算单元,被配置为计算所述对应的发送时间间隔和接收到所述第一音频数据的接收时间间隔的时间差,获得所述第一音频数据在本地的缓冲时间;
第二缓冲播放单元,被配置为根据所述缓冲时间,对所述第一音频数据缓冲后进行播放。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述存储器上所存放的指令时,实现第一至第二方面中任一所述方法的步骤。
根据本公开实施例的第六方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行第一至第二方面中任一所述方法的步骤。
根据本公开实施例的第七方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一至第二方面中任一所述方法的步骤。
本公开的实施例提供的技术方案至少带来以下有益效果:参与合唱的各终端与服务器进行对表,获得各终端本地时钟与服务器时钟的时钟偏差,主唱终端在接收到合唱发起指令时,根据待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、当前本地时间以及对应的第一时钟偏差,确定开唱服务器时间,合唱嘉宾终端接收到合唱指令时,根据开唱服务器时间、当前本地时间以及对应的第二时钟偏差,确定待合唱歌曲的伴奏在合唱嘉宾终端播放的第二倒计时长。利用服务器时间作为校准时间,使得各终端的倒计时长的倒计时结束时对应同一服务器时间,从而同步各终端开始播放伴奏的时间,继而同步合唱者的开唱时机,提高合唱同步效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为根据一示例性实施例示出的一种合唱方法的应用环境图;
图2为根据一示例性实施例示出的一种合唱方法的时序图;
图3为根据一示例性实施例示出的一种合唱方法的流程图;
图4为根据一示例性实施例示出的一种合唱方法的流程图;
图5为根据一示例性实施例示出的一种合唱装置的框图;
图6为根据一示例性实施例示出的一种合唱装置的框图;
图7为根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开提供的合唱方法,可以应用于如图1所示的应用环境中。该应用环境涉及服务器120和多个终端,其中,多个终端可以包括主唱终端111、合唱嘉宾终端112、主播终端113和观众终端114,每个终端分别和服务器120通过网络连接。不同角色的用户,如主唱、合唱嘉宾、主播和观众,可以分别通过主唱终端111、合唱嘉宾终端112、主播终端113和观众终端114访问提供合唱服务的直播平台,服务器120可以是该直播平台所在的服务器。主唱发起合唱指令并参与合唱,合唱嘉宾接收合唱指令并参与合唱,主播对主唱和合唱嘉宾的合唱音频进行处理后发送给观众。各终端具体可以是台式终端或移动终端,移动终端具体可以但不限于是手机、平板电脑和笔记本电脑。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
合唱开始之前,先在主唱终端、合唱嘉宾终端以及主播终端之间建立连麦。在一种可行的实施方式中,主播终端向服务器发送创建合唱房间请求,服务器在接收到创建合唱房间请求后,创建目标合唱房间,主唱终端和合唱嘉宾终端向服务器发送携带有目标合唱房间标识的加入合唱房间请求,服务器在接收到加入合唱房间请求后,将主唱终端和合唱嘉宾终端加入至目标合唱房间内,从而,主唱终端、合唱嘉宾终端以及主播终端位于同一目标合唱房间内,其中合唱嘉宾终端可以是一个,也可以是多于一个。合唱开始后,主唱终端和合唱嘉宾终端分别通过服务器向主播终端发送主唱和合唱嘉宾的合唱音频数据,主播终端对合唱音频数据进行处理后,发送给观众终端以供观众收听。
图2是根据一示例性实施例示出的一种合唱方法的时序图,如图2所示,该方法用于图1中的主唱终端111、合唱嘉宾终端112、主播终端113和服务器120的交互过程中,包括以下步骤201至步骤214。
步骤201,主唱终端确定主唱终端本地时钟和服务器时钟的第一时钟偏差。
在实施中,主唱终端可以获取同一时刻对应的主唱终端本地时间和服务器时间,并计算主唱终端本地时间和服务器时间的差值,获得第一时钟偏差。
在一种可行的实施方式中,主唱终端可以计算服务器时间减去主唱终端本地时间的差值,获得第一时钟偏差。举例来说,若主唱终端本地时间为T1,相应的服务器时间为T0,则第一时钟偏差ΔT1=T0-T1。在该计算方式下,若服务器时间快于主唱终端本地时间,则第一时钟偏差为一正值,若服务器时间慢于主唱终端本地时间,则第一时钟偏差为一负值,若服务器时间等于主唱终端本地时间,则第一时钟偏差为零。可以理解,在其它可行的实施方式中,也可以是计算主唱终端本地时间减去服务器时间的差值,获得第一时钟偏差,在实施中对此不做限定。
步骤202,合唱嘉宾终端确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差。
在实施中,合唱嘉宾终端可以获取同一时刻对应的合唱嘉宾终端本地时间和服务器时间,并计算合唱嘉宾终端本地时间和服务器时间的差值,获得第二时钟偏差。
在一种可行的实施方式中,合唱嘉宾终端可以计算服务器时间减去合唱嘉宾终端本地时间的差值,获得第二时钟偏差。举例来说,若合唱嘉宾终端本地时间为T2,相应的服务器时间为T0,则第二时钟偏差ΔT2=T0-T2。在该计算方式下,若服务器时间快于合唱嘉宾终端本地时间,则第二时钟偏差为一正值,若服务器时间慢于合唱嘉宾终端本地时间,则第二时钟偏差为一负值,若服务器时间等于合唱嘉宾终端本地时间,则第二时钟偏差为零。可以理解,在其它可行的实施方式中,也可以是计算合唱嘉宾终端本地时间减去服务器时间的差值,获得第二时钟偏差,在实施中对此不做限定。
步骤203,主唱终端在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时。
在实施中,可以是当主唱选择待合唱歌曲时,认为主唱终端接收到合唱发起指令,该合唱发起指令携带待合唱歌曲的伴奏标识。主唱终端可以预先下载待合唱歌曲伴奏并保存在本地,也可以在接收到合唱发起指令后,根据合唱发起指令中携带的待合唱歌曲的伴奏标识,下载相应的待合唱歌曲伴奏并保存在本地。第一倒计时长表示从第一倒计时开启时间到待合唱歌曲伴奏在主唱终端的开始播放时间之间的长度,即第一倒计时长的倒计时结束时间对应待合唱歌曲伴奏在主唱终端的开始播放时间,第一倒计时开启时间可以是主唱终端接收到合唱发起指令的本地时间,第一倒计时长可以根据实际需求在主唱终端预先设置。
在一种可行的实施方式中,主唱终端可以通过启动预设了第一倒计时长的定时器,开始待合唱歌曲伴奏播放倒计时。
步骤204,主唱终端根据第一倒计时长、接收到合唱发起指令的本地时间、以及第一时钟偏差,确定待合唱歌曲的开唱服务器时间。
在实施中,主唱终端可以将接收到合唱发起指令的本地时间加上第一倒计时长,得到主唱终端计划开唱时间,再将主唱终端计划开唱时间加上第一时钟偏差,得到待合唱歌曲的开唱服务器时间。其中,主唱终端计划开唱时间表示待合唱歌曲的伴奏在主唱终端的本地计划开始播放时间。举例来说,若主唱终端接收到合唱发起指令的本地时间为T1′,第一时钟偏差为ΔT1,第一倒计时长为Ti1,则开唱服务器时间Tbgm0=T1′+Ti1+ΔT1。
步骤205,主唱终端向服务器发送包含待合唱歌曲的开唱服务器时间的合唱指令。在实施中,合唱指令还可以包括待合唱歌曲的伴奏标识。
步骤206,服务器接收到合唱指令后,将合唱指令发送给合唱嘉宾终端。
步骤207,合唱嘉宾终端接收到合唱指令后,根据开唱服务器时间、接收到合唱指令的本地时间、以及第二时钟偏差,确定待合唱歌曲的伴奏在本地播放的第二倒计时长。
在实施中,合唱嘉宾终端可以预先下载待合唱歌曲伴奏并保存在本地,也可以在接收到合唱指令后,根据合唱指令中携带的待合唱歌曲的伴奏标识,下载相应的待合唱歌曲伴奏并保存在本地。第二倒计时长表示从第二倒计时开启时间到待合唱歌曲伴奏在合唱嘉宾终端的开始播放时间之间的长度,即第二倒计时长的倒计时结束时间对应待合唱歌曲伴奏在合唱嘉宾终端的开始播放时间,第二倒计时开启时间可以是合唱嘉宾终端接收到合唱指令的本地时间。
在一种可行的实施方式中,合唱嘉宾终端可以将开唱服务器时间减去第二时钟偏差,得到合唱嘉宾终端计划开唱时间,再将合唱嘉宾终端计划开唱时间减去接收到合唱指令的本地时间,得到待合唱歌曲的伴奏在本地播放的第二倒计时长。其中,合唱嘉宾终端计划开唱时间表示待合唱歌曲的伴奏在合唱嘉宾终端的本地计划开始播放时间。举例来说,若合唱嘉宾终端接收到合唱指令的本地时间为T2′,第二时钟偏差为ΔT2,开唱服务器时间为Tbgm0,则第二倒计时长为Ti2=Tbgm0-ΔT2-T2′。
步骤208,合唱嘉宾终端在获得第二倒计时长时,启动第二倒计时长的倒计时。
在实施中,合唱嘉宾终端可以通过启动预设了第二倒计时长的定时器,开始待合唱歌曲伴奏播放倒计时。
步骤209,主唱终端在第一倒计时长的倒计时结束时,播放待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据。
在实施中,主唱终端可以通过预设的音频播放部件,例如扬声器、音箱等,播放待合唱歌曲伴奏。主唱终端可以通过预设的音频采集部件,例如麦克风、拾音器等,采集第一音频数据,第一音频数据对应主唱终端的声音,包含主唱干声。
在一种可行的实施方式中,主唱终端的播放和采集过程均采用低延迟模式,例如通过设置音频设备缓冲区的大小来调整播放和采集的延迟,降低由于音频设备导致的延迟。主唱终端还可以对音频数据进行降噪处理、音效处理等处理,处理过程采用低延迟模式,例如使用短帧进行处理,即每一次处理较少的数据,减少数据等待引入的延迟。主唱终端还可以通过预设的编解码器对音频数据进行编解码,编解码过程采用低延迟模式,例如缩短编码的帧长,降低由于音频设备导致的延迟。这样能够降低主唱终端和合唱嘉宾终端之间的延时,提升主唱和合唱嘉宾的合唱体验。
步骤210,合唱嘉宾终端在第二倒计时长的倒计时结束时,播放待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据。
在实施中,合唱嘉宾终端可以通过预设的音频播放部件,例如扬声器、音箱等,播放待合唱歌曲伴奏。合唱嘉宾终端可以通过预设的音频采集部件,例如麦克风、拾音器等,采集第二音频数据,第二音频数据对应合唱嘉宾终端的声音,包含合唱嘉宾干声。
在一种可行的实施方式中,合唱嘉宾终端的播放和采集过程均采用低延迟模式,例如通过设置音频设备缓冲区的大小来调整播放和采集音频数据的延迟,降低由于音频设备导致的延迟。合唱嘉宾终端还可以对音频数据进行降噪处理、音效处理等处理,处理过程采用低延迟模式,例如使用短帧进行处理,即每一次处理较少的数据,减少数据等待引入的延迟。合唱嘉宾终端还可以通过预设的编解码器对音频数据进行编解码,编解码过程采用低延迟模式,例如缩短编码的帧长,降低由于音频设备导致的延迟。这样能够降低主唱终端和合唱嘉宾终端之间的延时,提升主唱和合唱嘉宾的合唱体验。
步骤211,主唱终端向服务器发送第一音频数据。
步骤212,合唱嘉宾终端向服务器发送第二音频数据。
步骤213,服务器接收到第一音频数据和第二音频数据后,向主播终端发送第一音频数据和第二音频数据。
步骤214,主播终端根据第一音频数据和第二音频数据,生成目标合唱音频数据。
在实施中,主播终端还可以获取第一音频数据对应的伴奏进度在主唱终端的第一伴奏播放时间戳、以及第二音频数据对应的伴奏进度在合唱嘉宾终端的第二伴奏播放时间戳,根据第一音频数据、第一伴奏播放时间戳、第二音频数据以及第二伴奏播放时间戳,生成目标合唱音频数据。
在一种可行的实施方式中,第一音频数据为主唱干声,第二音频数据为合唱嘉宾干声,主播终端根据主唱干声、第一伴奏播放时间戳、合唱嘉宾干声、第二伴奏播放时间戳、以及本地的待合唱歌曲伴奏的播放进度,对主唱干声、合唱嘉宾干声、以及本地的待合唱歌曲伴奏进行混音,生成目标合唱音频数据。主播终端还可以通过服务器将目标合唱音频数据发送至观众终端。这样能够避免混入伴奏的音频在传输过程受损,提高目标合唱音频的音质,提升观众体验。
上述实施例中提供的合唱方法,参与合唱的各终端与服务器进行对表,获得各终端本地时钟与服务器时钟的时钟偏差,主唱终端在接收到合唱发起指令时,根据待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、当前本地时间以及对应的第一时钟偏差,确定开唱服务器时间,合唱嘉宾终端接收到合唱指令时,根据开唱服务器时间、当前本地时间以及对应的第二时钟偏差,确定待合唱歌曲的伴奏在合唱嘉宾终端播放的第二倒计时长。利用服务器时间作为校准时间,使得各终端的倒计时长的倒计时结束时对应同一服务器时间,从而同步各终端开始播放伴奏的时间,继而同步合唱者的开唱时机,提高合唱同步效果。
可选的,步骤209中,主唱终端在第一倒计时长的倒计时结束时,还可以根据当前本地时间、第一时钟偏差、以及开唱服务器时间,确定第一伴奏播放偏移量;根据第一伴奏播放偏移量,调整待合唱歌曲伴奏的播放进度。
由于主唱终端的倒计时可能存在一定的误差,使得主唱终端的实际倒计时长相对于预设第一倒计时长增加,导致待合唱歌曲伴奏在主唱终端的本地实际开始播放时间慢于本地计划开始播放时间,本地计划开始播放时间为与开唱服务器时间对应的本地时间。
在一种可行的实施方式中,主唱终端可以将第一倒计时长的倒计时结束时的本地时间加上第一时钟偏差,得到主唱终端实际开唱时间对应的服务器时间,再将主唱终端实际开唱时间对应的服务器时间减去开唱服务器时间,得到第一伴奏播放偏移量。其中,主唱终端实际开唱时间表示待合唱歌曲的伴奏在主唱终端的本地实际开始播放时间。举例来说,若第一倒计时长的倒计时结束时的主唱终端本地时间为T1″,第一时钟偏差为ΔT1,开唱服务器时间为Tbgm0,则第一伴奏播放偏移量Toffset1=T1″+ΔT1-Tbgm0。主唱终端在获得第一伴奏播放偏移量后,可以通过快进播放待合唱歌曲伴奏,将待合唱歌曲伴奏的播放进度调整到实际位置,使得主唱终端和合唱嘉宾终端开始播放待合唱歌曲伴奏的位置误差尽可能的小,保证合唱者开始合唱的同步性。
可选的,步骤210中,合唱嘉宾终端在第二倒计时长的倒计时结束时,还可以根据当前本地时间、第二时钟偏差、以及开唱服务器时间,确定第二伴奏播放偏移量;根据第二伴奏播放偏移量,调整待合唱歌曲伴奏的播放进度。
由于合唱嘉宾终端的倒计时可能存在一定的误差,使得合唱嘉宾终端的实际倒计时长相对于第二倒计时长增加,导致待合唱歌曲伴奏在合唱嘉宾终端的本地实际开始播放时间慢于本地计划开始播放时间,本地计划开始播放时间为与开唱服务器时间对应的本地时间。
在一种可行的实施方式中,合唱嘉宾终端可以将第二倒计时长的倒计时结束时的本地时间加上第二时钟偏差,得到合唱嘉宾终端实际开唱时间对应的服务器时间,再将合唱嘉宾终端实际开唱时间对应的服务器时间减去开唱服务器时间,得到第二伴奏播放偏移量。其中,合唱嘉宾终端实际开唱时间表示待合唱歌曲的伴奏在合唱嘉宾终端的本地实际开始播放时间。举例来说,若第二倒计时长的倒计时结束时的合唱嘉宾终端本地时间为T2″,第二时钟偏差为ΔT2,开唱服务器时间为Tbgm0,则第二伴奏播放偏移量Toffset2=T2″+ΔT2-Tbgm0。合唱嘉宾终端在获得第二伴奏播放偏移量后,可以通过快进播放待合唱歌曲伴奏,将待合唱歌曲伴奏的播放进度调整到实际位置,使得合唱嘉宾终端和主唱终端开始播放待合唱歌曲伴奏的位置误差尽可能的小,保证合唱者开始合唱的同步性。
可选的,步骤211中,主唱终端向服务器发送第一音频数据时,还可以向服务器发送第一音频数据对应的发送时间间隔。步骤212中,合唱嘉宾终端向服务器发送第二音频数据时,还可以向服务器发送第二音频数据对应的发送时间间隔。步骤213中,服务器还可以接收第一音频数据对应的发送时间间隔和第二音频数据对应的发送时间间隔,并向主唱终端发送第二音频数据及其对应的发送时间间隔,向合唱嘉宾终端发送第一音频数据及其对应的发送时间间隔。
通常发送端发出的音频数据包是等时间间隔的,但是经过网络传输时,由于可能存在的网络堵塞或延迟,音频数据包不是等时间间隔到达接收端,这种时间间隔的变化称之为jitter(抖动)。可以理解,主唱终端和合唱嘉宾端均可以同时作为发送端和接收端。
在实施中,主唱终端播放待合唱歌曲伴奏时,还可以接收第二音频数据及其对应的发送时间间隔;根据第二音频数据对应的发送时间间隔和接收到第二音频数据的接收时间间隔的时间差,确定第二音频数据在本地的缓冲时间;根据缓冲时间,对第二音频数据缓冲后进行播放。
相应的,合唱嘉宾终端播放待合唱歌曲伴奏时,还可以接收第一音频数据及其对应的发送时间间隔;根据第一音频数据对应的发送时间间隔和接收到第一音频数据的接收时间间隔的时间差,确定第一音频数据在本地的缓冲时间;根据缓冲时间,对第一音频数据缓冲后进行播放。
在一种可行的实施方式中,主唱终端和合唱嘉宾终端分别设置有jitter buffer(抖动缓冲队列),以缓冲接收到的音频数据,缓冲时间与抖动缓冲队列的长度相关。抖动缓冲队列本身会引入延迟,主唱终端和合唱嘉宾终端分别根据接收到音频数据的时间间隔,统计出网络抖动大小的目标水位。对于主唱终端,目标水位可以是主唱终端接收到第二音频数据的接收时间间隔与合唱嘉宾终端发送第二音频数据的发送时间间隔的差值中,统计概率为预设范围内对应的差值。对于合唱嘉宾终端,目标水位可以是合唱嘉宾终端接收到第一音频数据的接收时间间隔与主唱终端发送第一音频数据的发送时间间隔的差值中,统计概率为预设范围内对应的差值。主唱终端和合唱嘉宾终端分别根据目标水位调整各自的抖动缓冲队列的长度,例如可以是通过压低目标水位,使抖动缓冲队列的长度减小,从而减少延迟。
图3是根据一示例性实施例示出的一种合唱方法的流程图,如图3所示,该方法用于图1中的主唱终端111,包括以下步骤301至步骤306。
步骤301,确定主唱终端本地时钟和服务器时钟的第一时钟偏差。在实施中,此步骤的具体处理过程与步骤201相同,此处不再赘述。
步骤302,在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时。在实施中,此步骤的具体处理过程与步骤203相同,此处不再赘述。
步骤303,根据第一倒计时长、接收到合唱发起指令的本地时间、以及第一时钟偏差,确定待合唱歌曲的开唱服务器时间。在实施中,此步骤的具体处理过程与步骤204相同,此处不再赘述。
步骤304,向服务器发送包含开唱服务器时间的合唱指令,由服务器将合唱指令发送给合唱嘉宾终端,由合唱嘉宾终端根据开唱服务器时间、接收到合唱指令的本地时间、以及合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差,确定待合唱歌曲的伴奏在合唱嘉宾终端播放的第二倒计时长,并在第二倒计时长的倒计时结束时播放待合唱歌曲伴奏并采集包含合唱嘉宾干声的第二音频数据。
步骤305,在第一倒计时长的倒计时结束时,播放待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据。在实施中,此步骤的具体处理过程与步骤209相同,此处不再赘述。
步骤306,向服务器发送第一音频数据,由服务器向主播终端发送第一音频数据和第二音频数据,由主播终端根据第一音频数据和第二音频数据,生成目标合唱音频数据。
可以理解,在其它可行的实施方式中,上述主唱终端还可以作为合唱嘉宾终端和/或主播终端,执行合唱嘉宾终端和/或主播终端相应的步骤。
例如,上述主唱终端作为合唱嘉宾终端时,还可以接收服务器发送的第二合唱指令(这里命名为第二合唱指令仅用于描述目的,与上述主唱终端发送的合唱指令加以区分,下述的“第二待合唱歌曲”、“第二开唱服务器时间”、“第二主唱终端”、“第二合唱发起指令”、“第三倒计时长”、“第三时钟偏差”、“第四倒计时长”、“第三音频数据”、“第四音频数据”等命名也是用于同样的描述目的,以区分类似对象),第二合唱指令包括第二待合唱歌曲的第二开唱服务器时间,第二开唱服务器时间由处于同一合唱房间的第二主唱终端根据第二待合唱歌曲的伴奏在第二主唱终端播放的第三倒计时长、接收到第二合唱发起指令的本地时间、以及第二主唱终端本地时钟与服务器时钟的第三时钟偏差而确定,由第二主唱终端在第三倒计时长的倒计时结束时播放第二待合唱歌曲伴奏并采集包含第二主唱干声的第三音频数据。上述主唱终端根据第二开唱服务器时间、接收到第二合唱指令的本地时间、以及第一时钟偏差,确定第二待合唱歌曲的伴奏在本地播放的第四倒计时长;启动第四倒计时长的倒计时;在第四倒计时长的倒计时结束时,播放第二待合唱歌曲伴奏,并采集包含主唱干声的第四音频数据;向服务器发送第四音频数据,由服务器向主播终端发送第三音频数据和第四音频数据,由主播终端根据第三音频数据和第四音频数据,生成目标合唱音频数据。
上述主唱终端作为主播终端时,还可以接收服务器发送的由参与合唱的各终端采集的音频数据,根据参与合唱的各终端采集的音频数据,生成目标合唱音频数据。在实施中,此步骤的具体处理过程与步骤214相同,此处不再赘述。
图4是根据一示例性实施例示出的一种合唱方法的流程图,如图4所示,该方法用于图1中的合唱嘉宾终端112,包括以下步骤401至步骤406。
步骤401,确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差。在实施中,此步骤的具体处理过程与步骤202相同,此处不再赘述。
步骤402,接收服务器发送的包含待合唱歌曲的开唱服务器时间的合唱指令,开唱服务器时间由主唱终端根据待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、接收到合唱发起指令时的本地时间、以及主唱终端本地时钟与服务器时钟的第一时钟偏差而确定,由主唱终端在第一倒计时长的倒计时结束时播放待合唱歌曲伴奏并采集包含主唱干声的第一音频数据。
步骤403,根据开唱服务器时间、接收到合唱指令的本地时间、以及第二时钟偏差,确定待合唱歌曲的伴奏在本地播放的第二倒计时长。在实施中,此步骤的具体处理过程与步骤207相同,此处不再赘述。
步骤404,在获得第二倒计时长时,启动第二倒计时长的倒计时。在实施中,此步骤的具体处理过程与步骤208相同,此处不再赘述。
步骤405,在第二倒计时长的倒计时结束时,播放待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据。在实施中,此步骤的具体处理过程与步骤210相同,此处不再赘述。
步骤406,向服务器发送第二音频数据,由服务器向主播终端发送第一音频数据和第二音频数据,由主播终端根据第一音频数据和第二音频数据,生成目标合唱音频数据。
可以理解,在其它可行的实施方式中,上述合唱嘉宾终端还可以作为主唱终端和/或主播终端,执行主唱终端和/或主播终端相应的步骤。
例如,上述合唱嘉宾终端还可以在接收到第三合唱发起指令时,启动第三待合唱歌曲的伴奏在本地播放的第五倒计时长的倒计时,根据第五倒计时长、接收到第三合唱发起指令的本地时间、以及第二时钟偏差,确定第三待合唱歌曲的第三开唱服务器时间;向服务器发送包含第三开唱服务器时间的第三合唱指令,由服务器将第三合唱指令发送给处于同一合唱房间的第二合唱嘉宾终端,由第二合唱嘉宾终端根据第三开唱服务器时间、接收到第三合唱指令的本地时间、以及第二合唱嘉宾终端本地时钟和服务器时钟的第四时钟偏差,确定第三待合唱歌曲的伴奏在第二合唱嘉宾终端播放的第六倒计时长,并在第六倒计时长的倒计时结束时播放第三待合唱歌曲伴奏并采集包含第二合唱嘉宾干声的第六音频数据;在第五倒计时长的倒计时结束时,播放第三待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第五音频数据;向服务器发送第五音频数据,由服务器向主播终端发送第五音频数据和第六音频数据,由主播终端根据第五音频数据和第六音频数据,生成目标合唱音频数据。
上述合唱嘉宾终端作为主播终端时,还可以接收服务器发送的由参与合唱的各终端采集的音频数据,根据参与合唱的各终端采集的音频数据,生成目标合唱音频数据。在实施中,此步骤的具体处理过程与步骤214相同,此处不再赘述。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5是根据一示例性实施例示出的一种合唱装置框图,如图5所示,该合唱装置500被配置为图1中的主唱终端111,包括:第一时钟偏差确定模块510、第一倒计时模块520、开唱服务器时间确定模块530、合唱指令发送模块540、第一播放和采集模块550和第一音频数据发送模块560。
第一时钟偏差确定模块510,被配置为确定主唱终端本地时钟和服务器时钟的第一时钟偏差。
第一倒计时模块520,被配置为在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时。
开唱服务器时间确定模块530,被配置为根据第一倒计时长、接收到合唱发起指令时的本地时间、以及第一时钟偏差,确定待合唱歌曲的开唱服务器时间。
合唱指令发送模块540,被配置为向服务器发送包含开唱服务器时间的合唱指令,由服务器将合唱指令发送给合唱嘉宾终端,由合唱嘉宾终端根据开唱服务器时间、接收到合唱指令的本地时间、以及合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差,确定待合唱歌曲的伴奏在嘉宾合唱终端播放的第二倒计时长,并在第二倒计时长的倒计时结束时播放待合唱歌曲伴奏并采集包含合唱嘉宾干声的第二音频数据。
第一播放和采集模块550,被配置为在第一倒计时长的倒计时结束时,播放待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据。
第一音频数据发送模块560,被配置为向服务器发送第一音频数据,由服务器向主播终端发送第一音频数据和第二音频数据,由主播终端根据第一音频数据和第二音频数据,生成目标合唱音频数据。
可选的,开唱服务器时间确定模块530包括:第一时间确定单元和第二时间确定单元。第一时间确定单元,被配置为将接收到合唱发起指令的本地时间加上第一倒计时长,得到主唱终端计划开唱时间。第二时间确定单元,被配置为将主唱终端计划开唱时间加上第一时钟偏差,得到待合唱歌曲的开唱服务器时间,第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差。
可选的,第一播放和采集模块550还包括:第一偏移量确定单元和第一进度调整单元。第一偏移量确定单元,被配置为在第一倒计时长的倒计时结束时,根据当前本地时间、第一时钟偏差、以及开唱服务器时间,确定第一伴奏播放偏移量;第一进度调整单元,被配置为根据第一伴奏播放偏移量,调整待合唱歌曲伴奏的播放进度。
可选的,第一偏移量确定单元包括:第一时间确定子单元和第二时间确定子单元。第一时间确定子单元,被配置为将第一倒计时长的倒计时结束时的本地时间加上第一时钟偏差,得到主唱终端实际开唱时间对应的服务器时间,第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差。第二时间确定子单元,被配置为将主唱终端实际开唱时间对应的服务器时间减去开唱服务器时间,得到第一伴奏播放偏移量。
可选的,第一播放和采集模块550还包括:第一音频数据接收单元、第一缓冲单元计算和第一缓冲播放单元。第一音频数据接收单元,被配置为接收第二音频数据及其对应的发送时间间隔,第二音频数据对应的发送时间间隔为合唱嘉宾终端发送第二音频数据的时间间隔;第一缓冲时间计算单元,被配置为计算第二音频数据对应的发送时间间隔和接收到第二音频数据的接收时间间隔的时间差,获得第二音频数据在本地的缓冲时间;第一缓冲播放单元,被配置为根据缓冲时间,对第二音频数据缓冲后进行播放。
图6是根据一示例性实施例示出的一种合唱装置框图,如图6所示,该合唱装置600被配置为图1中的合唱嘉宾终端112,包括:第二时钟偏差确定模块610、合唱指令接收模块620、倒计时长确定模块630、第二倒计时模块640、第二播放和采集模块650和第二音频数据发送模块660。
第二时钟偏差确定模块610,被配置为确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差。
合唱指令接收模块620,被配置为接收服务器发送的包含待合唱歌曲的开唱服务器时间的合唱指令,开唱服务器时间由主唱终端根据待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、接收到合唱发起指令的本地时间、以及主唱终端本地时钟与服务器时钟的第一时钟偏差而确定,由主唱终端在第一倒计时长的倒计时结束时播放待合唱歌曲伴奏并采集包含主唱干声的第一音频数据。
倒计时长确定模块630,被配置为根据开唱服务器时间、接收到合唱指令的本地时间、以及第二时钟偏差,确定待合唱歌曲的伴奏在本地播放的第二倒计时长。
第二倒计时模块640,被配置为在获得第二倒计时长时,启动第二倒计时长的倒计时。
第二播放和采集模块650,被配置为在第二倒计时长的倒计时结束时,播放待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据。
第二音频数据发送模块660,被配置为向服务器发送第二音频数据,由服务器向主播终端发送第一音频数据和第二音频数据,由主播终端根据第一音频数据和第二音频数据,生成目标合唱音频数据。
可选的,倒计时长确定模块630包括:第三时间确定单元和第四时间确定单元。第三时间确定单元,被配置为将开唱服务器时间减去第二时钟偏差,得到合唱嘉宾终端计划开唱时间,第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差。第四时间确定单元,被配置为将合唱嘉宾终端计划开唱时间减去接收到合唱指令的本地时间,得到待合唱歌曲的伴奏在本地播放的第二倒计时长。
可选的,第二播放和采集模块650还包括:第二偏移量确定单元和第二进度调整单元。第二偏移量确定单元,被配置为在第二倒计时长的倒计时结束时,根据当前本地时间、第二时钟偏差、以及开唱服务器时间,确定第二伴奏播放偏移量;第二进度调整单元,被配置为根据第二伴奏播放偏移量,调整待合唱歌曲伴奏的播放进度。
可选的,第二偏移量确定单元包括:第三时间确定子单元和第四时间确定子单元。第三时间确定子单元,被配置为将第二倒计时长的倒计时结束时的本地时间加上第二时钟偏差,得到合唱嘉宾终端实际开唱时间对应的服务器时间;第四时间确定子单元,被配置为将合唱嘉宾终端实际开唱时间减去开唱服务器时间,得到第二伴奏播放偏移量,第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差。
可选的,第二播放和采集模块650还包括:第二音频数据接收单元、第二缓冲时间计算单元和第二缓冲播放单元。第二音频数据接收单元,被配置为接收第一音频数据及其对应的发送时间间隔,第一音频数据对应的发送时间间隔为主唱终端发送第一音频数据的时间间隔;第二缓冲时间计算单元,被配置为根据第一音频数据对应的发送时间间隔和接收到第一音频数据的接收时间间隔的时间差,确定第一音频数据在本地的缓冲时间;第二缓冲播放单元,被配置为根据缓冲时间,对第一音频数据缓冲后进行播放。
可以理解,合唱装置500还可以被配置为合唱嘉宾终端和/或主播终端,被配置为合唱嘉宾终端时,还包括合唱指令接收模块620和倒计时长确定模块630;被配置为主播终端时,还包括音频数据接收模块和目标合唱音频数据生成模块,音频数据接收模块被配置为接收服务器发送的由参与合唱的各终端采集的音频数据,目标合唱音频数据生成模块被配置为根据参与合唱的各终端采集的音频数据,生成目标合唱音频数据。
合唱装置600还可以被配置为主唱终端和/或主播终端,被配置为主唱终端时,还包括开唱服务器时间确定模块530和合唱指令发送模块540;被配置为主播终端时,还包括音频数据接收模块和目标合唱音频数据生成模块,音频数据接收模块被配置为接收服务器发送的由参与合唱的各终端采集的音频数据,目标合唱音频数据生成模块被配置为根据参与合唱的各终端采集的音频数据,生成目标合唱音频数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
上述实施例中提供的合唱装置,参与合唱的各终端与服务器进行对表,获得各终端本地时钟与服务器时钟的时钟偏差,主唱终端在接收到合唱发起指令时,根据待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、当前本地时间以及对应的第一时钟偏差,确定开唱服务器时间,合唱嘉宾终端接收到合唱指令时,根据开唱服务器时间、当前本地时间以及对应的第二时钟偏差,确定待合唱歌曲的伴奏在合唱嘉宾终端播放的第二倒计时长。利用服务器时间作为校准时间,使得各终端的倒计时长的倒计时结束时对应同一服务器时间,从而同步各终端开始播放伴奏的时间,继而同步合唱者的开唱时机,提高合唱同步效果。
图7是根据一示例性实施例示出的一种用于合唱的电子设备700的框图,该电子设备可以是终端,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种合唱方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种电子设备,包括处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为执行存储器上所存放的指令时,实现上述实施例中任一合唱方法的步骤。
在一个实施例中,提供了一种存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例中任一合唱方法的步骤。
在一个实施例中,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一合唱方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (22)

1.一种合唱方法,其特征在于,包括:
确定主唱终端本地时钟和服务器时钟的第一时钟偏差;
在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时,所述第一倒计时长为在所述主唱终端预设的时长;
根据所述第一倒计时长、接收到所述合唱发起指令的本地时间、以及所述第一时钟偏差,确定所述待合唱歌曲的开唱服务器时间;
向服务器发送包含所述开唱服务器时间的合唱指令,由所述服务器将所述合唱指令发送给合唱嘉宾终端,由所述合唱嘉宾终端根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差,确定所述待合唱歌曲的伴奏在合唱嘉宾终端播放的第二倒计时长,并在所述第二倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含合唱嘉宾干声的第二音频数据;
在所述第一倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据;
向所述服务器发送所述第一音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一倒计时长、接收到所述合唱发起指令的本地时间、以及所述第一时钟偏差,确定所述待合唱歌曲的开唱服务器时间,包括:
将所述接收到所述合唱发起指令的本地时间加上所述第一倒计时长,得到主唱终端计划开唱时间;
将所述主唱终端计划开唱时间加上所述第一时钟偏差,得到所述待合唱歌曲的开唱服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差。
3.根据权利要求1所述的方法,其特征在于,所述在所述预设第一倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,包括:
在所述第一倒计时长的倒计时结束时,根据当前本地时间、所述第一时钟偏差、以及所述开唱服务器时间,确定第一伴奏播放偏移量;
根据所述第一伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
4.根据权利要求3所述的方法,其特征在于,所述根据当前本地时间、所述第一时钟偏差、以及所述开唱服务器时间,确定第一伴奏播放偏移量,包括:
将所述第一倒计时长的倒计时结束时的本地时间加上所述第一时钟偏差,得到主唱终端实际开唱时间对应的服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差;
将所述主唱终端实际开唱时间对应的服务器时间减去所述开唱服务器时间,得到第一伴奏播放偏移量。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在所述第一倒计时长的倒计时结束后,还包括:
接收所述第二音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为所述合唱嘉宾终端发送所述第二音频数据的时间间隔;
计算所述对应的发送时间间隔和接收到所述第二音频数据的接收时间间隔的时间差,获得所述第二音频数据在本地的缓冲时间;
根据所述缓冲时间,对所述第二音频数据缓冲后进行播放。
6.一种合唱方法,其特征在于,包括:
确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差;
接收服务器发送的包含待合唱歌曲的开唱服务器时间的合唱指令,所述开唱服务器时间由主唱终端根据所述待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、接收到合唱发起指令的本地时间、以及主唱终端本地时钟与服务器时钟的第一时钟偏差而确定,由所述主唱终端在所述第一倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含主唱干声的第一音频数据,所述第一倒计时长为在所述主唱终端预设的时长;
根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及所述第二时钟偏差,确定所述待合唱歌曲的伴奏在本地播放的第二倒计时长;
在获得所述第二倒计时长时,启动所述第二倒计时长的倒计时;
在所述第二倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据;
向所述服务器发送所述第二音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
7.根据权利要求6所述的方法,其特征在于,所述根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及所述第二时钟偏差,确定所述待合唱歌曲的伴奏在本地播放的第二倒计时长,包括:
将所述开唱服务器时间减去所述第二时钟偏差,得到合唱嘉宾终端计划开唱时间,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差;
将所述合唱嘉宾终端计划开唱时间减去所述接收到所述合唱指令的本地时间,得到所述待合唱歌曲的伴奏在本地播放的第二倒计时长。
8.根据权利要求6所述的方法,其特征在于,所述在所述第二倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,包括:
在所述第二倒计时长的倒计时结束时,根据当前本地时间、所述第二时钟偏差、以及所述开唱服务器时间,确定第二伴奏播放偏移量;
根据所述第二伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
9.根据权利要求8所述的方法,其特征在于,所述在所述第二倒计时长的倒计时结束时,根据当前本地时间、所述第二时钟偏差、以及所述开唱服务器时间,确定第二伴奏播放偏移量,包括:
将所述第二倒计时长的倒计时结束时的本地时间加上所述第二时钟偏差,得到合唱嘉宾终端实际开唱时间对应的服务器时间;
将所述合唱嘉宾终端实际开唱时间减去所述开唱服务器时间,得到第二伴奏播放偏移量,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差。
10.根据权利要求6至9中任一项所述的方法,其特征在于,在所述第二倒计时长的倒计时结束后,还包括:
接收所述第一音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为主唱终端发送所述第一音频数据的时间间隔;
计算所述对应的发送时间间隔和接收到所述第一音频数据的接收时间间隔的时间差,获得所述第一音频数据在本地的缓冲时间;
根据所述缓冲时间,对所述第一音频数据缓冲后进行播放。
11.一种合唱装置,其特征在于,包括:
第一时钟偏差确定模块,被配置为确定主唱终端本地时钟和服务器时钟的第一时钟偏差;
第一倒计时模块,被配置为在接收到合唱发起指令时,启动待合唱歌曲的伴奏在本地播放的第一倒计时长的倒计时,所述第一倒计时长为在所述主唱终端预设的时长;
开唱服务器时间确定模块,被配置为根据所述第一倒计时长、接收到所述合唱发起指令的本地时间、以及所述第一时钟偏差,确定所述待合唱歌曲的开唱服务器时间;
合唱指令发送模块,被配置为向服务器发送包含所述开唱服务器时间的合唱指令,由所述服务器将所述合唱指令发送给合唱嘉宾终端,由所述合唱嘉宾终端根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差,确定所述待合唱歌曲的伴奏在嘉宾合唱终端播放的第二倒计时长,并在所述第二倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含合唱嘉宾干声的第二音频数据;
第一播放和采集模块,被配置为在所述第一倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含主唱干声的第一音频数据;
第一音频数据发送模块,被配置为向所述服务器发送所述第一音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
12.根据权利要求11所述的装置,其特征在于,所述开唱服务器时间确定模块包括:
第一时间确定单元,被配置为将所述接收到所述合唱发起指令的本地时间加上所述第一倒计时长,得到主唱终端计划开唱时间;
第二时间确定单元,被配置为将所述主唱终端计划开唱时间加上所述第一时钟偏差,得到所述待合唱歌曲的开唱服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差。
13.根据权利要求11所述的装置,其特征在于,所述第一播放和采集模块包括:
第一偏移量确定单元,被配置为在所述第一倒计时长的倒计时结束时,根据当前本地时间、所述第一时钟偏差、以及所述开唱服务器时间,确定第一伴奏播放偏移量;
第一进度调整单元,被配置为根据所述第一伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
14.根据权利要求13所述的装置,其特征在于,所述第一偏移量确定单元包括:
第一时间确定子单元,被配置为将所述第一倒计时长的倒计时结束时的本地时间加上所述第一时钟偏差,得到主唱终端实际开唱时间对应的服务器时间,所述第一时钟偏差为服务器时间减去主唱终端本地时间所得到的时间差;
第二时间确定子单元,被配置为将所述主唱终端实际开唱时间对应的服务器时间减去所述开唱服务器时间,得到第一伴奏播放偏移量。
15.根据权利要求11至14中任一项所述的装置,其特征在于,所述第一播放和采集模块还包括:
第一音频数据接收单元,被配置为接收所述第二音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为所述合唱嘉宾终端发送所述第二音频数据的时间间隔;
第一缓冲时间计算单元,被配置为计算所述对应的发送时间间隔和接收到所述第二音频数据的接收时间间隔的时间差,获得所述第二音频数据在本地的缓冲时间;
第一缓冲播放单元,被配置为根据所述缓冲时间,对所述第二音频数据缓冲后进行播放。
16.一种合唱装置,其特征在于,包括:
第二时钟偏差确定模块,被配置为确定合唱嘉宾终端本地时钟和服务器时钟的第二时钟偏差;
合唱指令接收模块,被配置为接收服务器发送的包含待合唱歌曲的开唱服务器时间的合唱指令,所述开唱服务器时间由主唱终端根据所述待合唱歌曲的伴奏在主唱终端播放的第一倒计时长、接收到合唱发起指令的本地时间、以及主唱终端本地时钟与服务器时钟的第一时钟偏差而确定,由所述主唱终端在所述第一倒计时长的倒计时结束时播放所述待合唱歌曲伴奏并采集包含主唱干声的第一音频数据,所述第一倒计时长为在所述主唱终端预设的时长;
倒计时长确定模块,被配置为根据所述开唱服务器时间、接收到所述合唱指令的本地时间、以及所述第二时钟偏差,确定所述待合唱歌曲的伴奏在本地播放的第二倒计时长;
第二倒计时模块,被配置为在获得所述第二倒计时长时,启动所述第二倒计时长的倒计时;
第二播放和采集模块,被配置为在所述第二倒计时长的倒计时结束时,播放所述待合唱歌曲伴奏,并采集包含合唱嘉宾干声的第二音频数据;
第二音频数据发送模块,被配置为向所述服务器发送所述第二音频数据,由所述服务器向主播终端发送所述第一音频数据和所述第二音频数据,由所述主播终端根据所述第一音频数据和所述第二音频数据,生成目标合唱音频数据。
17.根据权利要求16所述的装置,其特征在于,所述倒计时长确定模块包括:
第三时间确定单元,被配置为将所述开唱服务器时间减去所述第二时钟偏差,得到合唱嘉宾终端计划开唱时间,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差;
第四时间确定单元,被配置为将所述合唱嘉宾终端计划开唱时间减去所述接收到所述合唱指令的本地时间,得到所述待合唱歌曲的伴奏在本地播放的第二倒计时长。
18.根据权利要求16所述的装置,其特征在于,所述第二播放和采集模块包括:
第二偏移量确定单元,被配置为在所述第二倒计时长的倒计时结束时,根据当前本地时间、所述第二时钟偏差、以及所述开唱服务器时间,确定第二伴奏播放偏移量;
第二进度调整单元,被配置为根据所述第二伴奏播放偏移量,调整所述待合唱歌曲伴奏的播放进度。
19.根据权利要求18所述的装置,其特征在于,第二偏移量确定单元包括:
第三时间确定子单元,被配置为将所述第二倒计时长的倒计时结束时的本地时间加上所述第二时钟偏差,得到合唱嘉宾终端实际开唱时间对应的服务器时间;
第四时间确定子单元,被配置为将所述合唱嘉宾终端实际开唱时间减去所述开唱服务器时间,得到第二伴奏播放偏移量,所述第二时钟偏差为服务器时间减去合唱嘉宾终端本地时间所得到的时间差。
20.根据权利要求16至19中任一项所述的装置,其特征在于,所述第二播放和采集模块还包括:
第二音频数据接收单元,被配置为接收所述第一音频数据及其对应的发送时间间隔,所述对应的发送时间间隔为所述主唱终端发送所述第一音频数据的时间间隔;
第二缓冲时间计算单元,被配置为计算所述对应的发送时间间隔和接收到所述第一音频数据的接收时间间隔的时间差,获得所述第一音频数据在本地的缓冲时间;
第二缓冲播放单元,被配置为根据所述缓冲时间,对所述第一音频数据缓冲后进行播放。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述存储器上所存放的指令时,实现如权利要求1至10中任一项所述方法的步骤。
22.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至10中任一项所述方法的步骤。
CN201911116178.1A 2019-11-14 2019-11-14 合唱方法、装置、电子设备和存储介质 Active CN111028818B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911116178.1A CN111028818B (zh) 2019-11-14 2019-11-14 合唱方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911116178.1A CN111028818B (zh) 2019-11-14 2019-11-14 合唱方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111028818A CN111028818A (zh) 2020-04-17
CN111028818B true CN111028818B (zh) 2022-11-22

Family

ID=70200205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911116178.1A Active CN111028818B (zh) 2019-11-14 2019-11-14 合唱方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111028818B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112489611A (zh) * 2020-11-27 2021-03-12 腾讯音乐娱乐科技(深圳)有限公司 线上歌房实现方法及电子设备和计算机可读存储介质
CN112927666B (zh) * 2021-01-26 2023-11-28 北京达佳互联信息技术有限公司 音频处理方法、装置、电子设备及存储介质
CN113192486B (zh) * 2021-04-27 2024-01-09 腾讯音乐娱乐科技(深圳)有限公司 一种合唱音频的处理方法、设备及存储介质
CN113596516B (zh) * 2021-08-06 2023-02-28 腾讯音乐娱乐科技(深圳)有限公司 进行连麦合唱的方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394860A (zh) * 2011-08-31 2012-03-28 无敌科技(西安)有限公司 信号传送系统、方法、电脑程序产品及电脑可读取储存媒体
CN104392711A (zh) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 一种实现卡拉ok功能的方法及装置
AU2016201682A1 (en) * 2011-09-18 2016-04-07 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5418003B2 (ja) * 2009-06-12 2014-02-19 ソニー株式会社 情報処理装置、同期補正方法及びコンピュータプログラム
JP5982359B2 (ja) * 2011-03-04 2016-08-31 株式会社電通 シンクロコンテンツ放送配信システム
CN103377649B (zh) * 2012-04-20 2015-09-09 上海渐华科技发展有限公司 一种实现实时网络卡拉ok对唱的方法
CN103065658B (zh) * 2012-12-18 2015-07-08 华为技术有限公司 多终端同步播放控制方法及装置
CN103337240B (zh) * 2013-06-24 2016-03-30 华为技术有限公司 处理语音数据的方法、终端、服务器及系统
CN105992025B (zh) * 2015-02-15 2019-09-27 湖南汇德电子有限公司 基于音频同步播放的系统时间校准方法、音频同步播放方法及装置
US10382511B2 (en) * 2016-02-25 2019-08-13 Amp Me Inc. Synchronizing playback of digital media content
CN107396137B (zh) * 2017-07-14 2020-06-30 腾讯音乐娱乐(深圳)有限公司 在线互动的方法、装置及系统
CN109859730B (zh) * 2019-03-25 2021-03-26 北京达佳互联信息技术有限公司 一种音频处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102394860A (zh) * 2011-08-31 2012-03-28 无敌科技(西安)有限公司 信号传送系统、方法、电脑程序产品及电脑可读取储存媒体
AU2016201682A1 (en) * 2011-09-18 2016-04-07 Touchtunes Music Corporation Digital jukebox device with karaoke and/or photo booth features, and associated methods
CN104392711A (zh) * 2014-08-27 2015-03-04 贵阳朗玛信息技术股份有限公司 一种实现卡拉ok功能的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
移动流媒体及视频服务;马磊;《中国优秀硕士学位论文全文数据库》;20061231(第12期);全文 *

Also Published As

Publication number Publication date
CN111028818A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111028818B (zh) 合唱方法、装置、电子设备和存储介质
CN107027050B (zh) 辅助直播的音视频处理方法及装置
US8918541B2 (en) Synchronization of audio and video signals from remote sources over the internet
US8301790B2 (en) Synchronization of audio and video signals from remote sources over the internet
CN111050185B (zh) 直播间连麦视频混流方法、存储介质、电子设备及系统
US7096080B2 (en) Method and apparatus for producing and distributing live performance
CN110910860B (zh) 线上ktv实现方法、装置、电子设备及存储介质
CN112714330A (zh) 基于连麦直播的礼物赠送方法、装置及电子设备
US9812105B2 (en) Apparatus, method, and computer-readable storage medium for compensating for latency in musical collaboration
JP2016526826A (ja) コンテンツの分散型再生の同期化を支援するシステム及び方法
CN108174233A (zh) 一种直播方法、装置、服务器及介质
CN110856009B (zh) 网络k歌系统、网络k歌的音视频播放方法及相关设备
CN111343477B (zh) 数据传输方法、装置、电子设备及存储介质
TWI620438B (zh) 校正直播節目中互動時間的方法、裝置與電腦可讀取儲存裝置
CN110392273B (zh) 音视频处理的方法、装置、电子设备及存储介质
CN110992920A (zh) 直播合唱方法、装置、电子设备及存储介质
CN111726686B (zh) 基于电视的虚拟卡拉ok系统及方法
CN106407353B (zh) 一种播放动画的方法和装置
KR102559350B1 (ko) 모바일 디바이스 상의 오디오 콘텐츠를 별개의 시각적 디스플레이 시스템에 동기화하기 위한 시스템 및 방법
CN116962747A (zh) 基于网络直播的实时合唱同步方法、装置及网络直播系统
JP7469525B1 (ja) 時刻調整システム、端末装置、およびサーバ装置
CN114500572B (zh) 多设备的同步方法及装置、电子设备、存储介质
CN112584180B (zh) 基于点唱终端设备的直播方法、装置和点唱终端设备
JP6733990B2 (ja) 解説音声再生装置、解説音声生成装置及び解説音声再生プログラム
US20230042477A1 (en) Reproduction control method, control system, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant