CN110910860B - 线上ktv实现方法、装置、电子设备及存储介质 - Google Patents
线上ktv实现方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110910860B CN110910860B CN201911202791.5A CN201911202791A CN110910860B CN 110910860 B CN110910860 B CN 110910860B CN 201911202791 A CN201911202791 A CN 201911202791A CN 110910860 B CN110910860 B CN 110910860B
- Authority
- CN
- China
- Prior art keywords
- singing
- guest
- virtual room
- accompaniment
- sound
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0033—Recording/reproducing or transmission of music for electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/361—Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
- G10H1/365—Recording/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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本公开关于一种线上KTV实现方法、装置、电子设备及存储介质。所述方法包括:主播和唱歌嘉宾连麦第一虚拟房间的情况下,唱歌嘉宾开唱,主播端通过第一虚拟房间对应的第二虚拟房间,接收唱歌嘉宾端发送的干声;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;然后主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;根据所述第一K歌混音,生成所述第一虚拟房间的面向观众的直播流。主播端通过两个有关联的虚拟房间,收集唱歌嘉宾K歌的干声并生成直播流,使观众获得的第一虚拟房间的直播流中,唱歌嘉宾在线K歌的伴奏音质显著提高。
Description
技术领域
本公开涉及网络技术领域,尤其涉及线上KTV实现方法、装置、电子设备及存储介质。
背景技术
随着网络技术的兴起,越来越多用户选择通过个人移动终端进行线上KTV。线上KTV一般由主播建立一个虚拟房间(也称直播室),该虚拟房间的连麦嘉宾中有一个唱歌嘉宾,其根据本地播放的BGM(BackgroundMusic,伴奏)进行K歌,然后唱歌嘉宾端把唱歌嘉宾的干声和BGM混合之后一起发送给虚拟房间中的其他嘉宾和主播。主播收到唱歌嘉宾端的混音之后,连同收到的其他嘉宾端的语音混合在一起,推直播流给服务器,观众进入虚拟房间之后,可以通过服务器拉取相应的直播流,由此既可以听到虚拟房间中唱歌嘉宾K歌,也可以听到虚拟房间中的主播和其他嘉宾的聊天语音。
然而,由于BGM从唱歌嘉宾端到主播端的传输过程中,存在语音编/解码的损失,因此上述实现方案下,观众客户端收到的混合声音中,唱歌嘉宾K歌的BGM音质较差。
发明内容
本公开提供一种线上KTV实现方法、装置、电子设备及存储介质,以至少解决相关技术中观众端收到的唱歌嘉宾K歌的BGM音质较差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种线上KTV实现方法,包括:
一种线上KTV实现方法,其特征在于,应用于主播端,所述主播端的主播连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括唱歌嘉宾端的唱歌嘉宾;所述方法包括:
通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;
将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;
根据所述第一K歌混音,生成所述第一虚拟房间的面向观众的直播流。
在其中一个实施例中,所述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾;所述方法还包括:
基于所述第一虚拟房间,向所述非唱歌嘉宾端以及所述唱歌嘉宾端发送所述主播的第一语音,以及,接收所述非唱歌嘉宾端的第二语音。
在其中一个实施例中,所述通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声之后,还包括:
将所述干声存储至抖动缓冲器中;
所述将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,包括:
通过播放引擎从所述抖动缓冲器中获取所述干声;
播放所述干声,以及与所述干声对应的所述主播端的本地伴奏;
将所述干声和所述主播端的本地伴奏混合,得到所述第一K歌混音。
在其中一个实施例中,所述将所述干声存储至抖动缓冲器中之前,还包括:
调整所述抖动缓冲器的延迟时间,使得调整后的所述抖动缓冲器的延迟时间大于所述第二虚拟房间创建前的所述抖动缓冲器的延迟时间。
在其中一个实施例中,所述将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音之前,还包括:
获取所述干声对应的伴奏标识信息;
下载与所述伴奏标识信息对应的伴奏到所述主播端,得到所述本地伴奏。
在其中一个实施例中,所述通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声之前,还包括:
接收所述服务器发送的所述第二虚拟房间的地址;
根据所述第二虚拟房间的地址,将所述主播端的主播连接到所述第二虚拟房间。
根据本公开实施例的第二方面,提供一种线上KTV实现方法,应用于唱歌嘉宾端,所述唱歌嘉宾端的唱歌嘉宾连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括主播端的主播;所述方法包括:
向服务器发送开唱指示信息,以使所述服务器创建所述第一虚拟房间对应的第二虚拟房间;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;
获取所述唱歌嘉宾的干声;
通过所述第二虚拟房间向所述主播端发送所述干声,以使所述主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,以及根据所述第一K歌混音生成述第一虚拟房间的面向观众的直播流。
在其中一个实施例中,所述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾;所述方法还包括:
基于所述第一虚拟房间,接收所述主播端发送的所述主播的第一语音和所述唱歌嘉宾端发送的第二K歌混音,以及向所述主播端和所述唱歌嘉宾端发送所述非唱歌嘉宾的第二语音;
其中,所述第二K歌混音是根据所述唱歌嘉宾的干声和所述唱歌嘉宾端的伴奏混合得到的。
在其中一个实施例中,所述向服务器发送开唱指示信息之后,还包括:
接收所述服务器发送的所述第二虚拟房间的地址;
根据所述第二虚拟房间的地址,将所述唱歌嘉宾端的唱歌嘉宾连接到所述第二虚拟房间。
根据本公开实施例的第三方面,提供一种线上KTV实现装置,应用于主播端,所述主播端的主播连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括唱歌嘉宾端的唱歌嘉宾;所述装置包括:
干声接收模块,被配置为执行通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;
混音模块,被配置为执行将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;
直播流生成模块,被配置为执行根据所述第一K歌混音,生成所述第一虚拟房间的面向观众的直播流。
在其中一个实施例中,所述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾;所述装置还包括:
语音发送及接收模块,被配置为执行基于所述第一虚拟房间,向所述非唱歌嘉宾端以及所述唱歌嘉宾端发送所述主播的第一语音,以及接收所述非唱歌嘉宾端的第二语音。
在其中一个实施例中,所述装置还包括:
干声缓冲模块,被配置为执行将所述干声存储至抖动缓冲器中;
其中,所述混音模块,被配置为执行通过播放引擎从所述抖动缓冲器中获取所述干声,播放所述干声以及与所述干声对应的所述主播端的本地伴奏,将所述干声和所述主播端的本地伴奏混合,得到所述第一K歌混音。
在其中一个实施例中,所述装置还包括:
缓冲器调整模块,被配置为执行调整所述抖动缓冲器的延迟时间,使得调整后的所述抖动缓冲器的延迟时间大于所述第二虚拟房间创建前的所述抖动缓冲器的延迟时间。
在其中一个实施例中,所述装置还包括:
伴奏标识接收模块,被配置为执行获取所述干声对应的伴奏标识信息;
伴奏下载模块,被配置为执行下载与所述伴奏标识信息对应的伴奏到所述主播端,得到所述本地伴奏。
在其中一个实施例中,所述装置还包括:
第一地址接收模块,被配置为执行接收所述服务器发送的所述第二虚拟房间的地址;
第一房间连接模块,被配置为执行根据所述第二虚拟房间的地址,将所述主播端的主播连接到所述第二虚拟房间。
根据本公开实施例的第四方面,提供一种线上KTV实现装置,应用于唱歌嘉宾端,所述唱歌嘉宾端的唱歌嘉宾连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括主播端的主播;所述装置包括:
开唱指示模块,被配置为执行向服务器发送开唱指示信息,以使所述服务器创建所述第一虚拟房间对应的第二虚拟房间;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;
干声采集模块,被配置为执行获取所述唱歌嘉宾的干声;
干声发送模块,被配置为执行通过所述第二虚拟房间向所述主播端发送所述干声,以使所述主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,以及根据所述第一K歌混音生成述第一虚拟房间的面向观众的直播流。
在其中一个实施例中,所述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾;所述装置还包括:
语音接收及发送模块,被配置为执行基于所述第一虚拟房间,接收所述主播端发送的所述主播的第一语音和所述唱歌嘉宾端发送的第二K歌混音,以及向所述主播端和所述唱歌嘉宾端发送所述非唱歌嘉宾的第二语音;
其中,所述第二K歌混音是根据所述唱歌嘉宾的干声和所述唱歌嘉宾端的伴奏混合得到的。
在其中一个实施例中,所述装置还包括:
第二地址接收模块,被配置为执行接收所述服务器发送的所述第二虚拟房间的地址;
第二房间连接模块,被配置为执行根据所述第二虚拟房间的地址,将所述唱歌嘉宾端的唱歌嘉宾连接到所述第二虚拟房间。
根据本公开实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一方面所述的线上KTV实现方法。
根据本公开实施例的第六方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述任一方面所述的线上KTV实现方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行时,使得所述服务器能够实现上述第一方面以及上述第二方面的任一种实现方式中所述的线上KTV实现方法所执行的操作。
本公开的实施例提供的技术方案至少带来以下有益效果:
主播和唱歌嘉宾连麦第一虚拟房间,在唱歌嘉宾在开唱后,主播端可以通过第一虚拟房间对应的第二虚拟房间接收唱歌嘉宾端发送的干声;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;上述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;然后,主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;并根据所述第一K歌混音生成所述第一虚拟房间的面向观众的直播流。主播端通过两个有关联的虚拟房间,收集唱歌嘉宾K歌的干声并生成面向观众的直播流,观众端的观众进入第一虚拟房间之后,可通过拉取该直播流听到第一虚拟房间中唱歌嘉宾在线K歌,使得观众端获取到的直播流中,唱歌嘉宾在线K歌的伴奏部分是主播端的本地伴奏,减少了伴奏的传输和接收损失,因此观众听到K歌混音中伴奏部分的音质得以显著提高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1为一个实施例中线上KTV实现方法的应用环境图。
图2是一示例性实施例示出的主播端的线上KTV实现方法的流程图。
图3是一示例性实施例示出的唱歌嘉宾端线上KTV实现方法的逻辑示意图。
图4是一示例性实施例示出的在主播端生成直播流的逻辑示意图。
图5是一示例性实施例示出的唱歌嘉宾端线上KTV实现方法的流程图。
图6是一示例性实施例示出的线上KTV实现方法的多端交互流程图。
图7是另一示例性实施例示出的线上KTV实现方法的多端交互流程图。
图8是一示例性实施例示出的主播端的线上KTV实现装置的框图。
图9是一示例性实施例示出的唱歌嘉宾端的线上KTV实现装置的框图。
图10是一示例性实施例示出的一种客户端所在电子设备的框图。
图11是一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1为一个实施例中线上KTV实现方法的应用环境图。参照图1,本公开的线上KTV实现方法可以应用于这样的系统,该系统包括客户端100和服务器200,客户端100具体可以包括主播端、唱歌嘉宾端、非唱歌嘉宾端以及观众端。主播端、唱歌嘉宾端、非唱歌嘉宾端以及观众端可以分别与服务器200网络连接。
其中,主播端指的是主播使用的客户端,唱歌嘉宾使用的客户端可以称为唱歌嘉宾端,其他非唱歌嘉宾使用的客户端可以称为非唱歌嘉宾端。主播可以通过主播端向服务器200发起虚拟房间创建请求,服务器200收到该虚拟房间创建请求后创建一个虚拟房间,然后多个嘉宾可以通过各自的客户端连麦到该虚拟房间。连麦指的是多人可以进入同一个虚拟房间,在该虚拟房间中,所有人可以开麦或者闭麦,主播端可以通过网络把虚拟房间中多人的声音合到一起并推流出去。同一个虚拟房间的多个连麦嘉宾里可以有一个唱歌嘉宾和若干个非唱歌嘉宾。进入该虚拟房间的观众所使用的客户端则可以称作观众端。
在直播过程中,连麦到同一个虚拟房间的主播端、唱歌嘉宾端、非唱歌嘉宾端可以通过各各自所在电子设备的麦克风采集用户音频,还可以通过摄像头采集用户视频,将所采集的音频或者音频视频的组合作为直播流发送给服务器200。观众端连接到服务器200之后,观众可选择进入任一虚拟房间,通过观众端向服务器200发送进入选中虚拟房间的请求,以从服务器200拉取该虚拟房间内的直播流,通过观众端所在电子设备的扬声器、显示屏等输出装置输出获取到的直播流。
本公开实施例中,主播端、唱歌嘉宾端、非唱歌嘉宾端以及观众端,可以是电子设备中的应用软件,包括但不限于APP、浏览器、小程序等。其中电子设备具体可以手机、平板电脑、笔记本电脑、台式电脑等中的至少一种。在另一些实施例中,主播端、唱歌嘉宾端、非唱歌嘉宾端以及观众端还可以是集成有用于实现本公开的线上KTV实现方法的电子设备本身。服务器200可以用独立的服务器或者是多个服务器组成的服务器集群来实现。对于客户端100和服务器200的表现形式,可以根据实际情况选择。在一个实施例中,服务器200可以是CDN(ContentDeliveryNetwork,内容分发网络)的形式,这种情况下,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等处理,使客户端可以就近获取所需内容,可以降低网络拥塞,提高用户访问响应速度和命中率。
传统的线上KTV的实现实现方法中,服务器200创建一个虚拟房间A,并且主播、唱歌嘉宾、非唱歌嘉宾连麦到该虚拟房间A后,唱歌嘉宾可以根据本地播放的BGM进行K歌,唱歌嘉宾端会将本地播放的BGM和唱歌嘉宾的干声混合,将得到的混音通过服务器200发给连麦虚拟房间A的非唱歌嘉宾和主播,非唱歌嘉宾端和主播端接收唱歌嘉宾端发送的混音。在唱歌嘉宾K歌时其他人可以闭麦或者开麦聊天,同时,非唱歌嘉宾端还可以通过服务器200发送非唱歌嘉宾的语音给主播端和唱歌嘉宾端。在主播端,将接收到的唱歌嘉宾的混音和非唱歌嘉宾的语音混合,得到虚拟房间A的多人混音,根据多人混音生成虚拟房间A的面向观众的直播流,然后推流给服务器200,观众进入虚拟房间A之后,从服务器200拉取虚拟房间A的直播流到本地,由此观众可以听到虚拟房间A中唱歌嘉宾的K歌以及其他连麦嘉宾的聊天语音。观众端获取的直播流中,BGM是源自唱歌嘉宾端的,该BGM从唱歌嘉宾端到主播端的传输过程中,一般以单声道信号方式传输,还可能存在其他语音编/解码、转码的损失,因此主播端生成虚拟房间A的面向观众的直播流中,唱歌嘉宾K歌的BGM音质较差。
本公开实施例的线上KTV实现方法的思想包括,服务器200创建一个虚拟房间A(下文也称作第一虚拟房间),并且主播、唱歌嘉宾连麦虚拟房间A,此后,唱歌嘉宾在开唱时向服务器200发送开唱指示信息;服务器200接收该开唱指示信息后创建一个新的虚拟房间B(下文也称作第二虚拟房间),将主播和唱歌嘉宾加入虚拟房间B;唱歌嘉宾端采集唱歌嘉宾的干声,将所述干声通过虚拟房间B发送给主播端,主播端收到干声后和本地伴奏混合得到一个K歌混音(下文也称作第一K歌混音);然后主播端根据该K歌混音生成虚拟房间A的面向观众的直播流,发送直播流到服务器200。由此观众进入虚拟房间A之后,通过服务器200拉取虚拟房间A的直播流,该直播流中唱歌嘉宾K歌的伴奏源自主播端,伴奏的传输和接收损失相比传统方式大大降低,因此观众听到的唱歌嘉宾K歌的伴奏音质显著提高。
需要说明的是,本公开实施例中,唱歌嘉宾可以是连麦到虚拟房间A中的任意嘉宾。虚拟房间A的连麦嘉宾中,唱歌嘉宾的数量可以是一个或者多个。当为多个时,多个唱歌嘉宾可以对应同一个虚拟房间B,也可以分别对应一个虚拟房间B,各个虚拟房间B均与所虚拟房间A存在对应关系。唱歌嘉宾和非唱歌嘉宾的角色并非固定的,不同时刻唱歌嘉宾和非唱歌嘉宾的角色可以互换,可以将当前唱歌的唱歌嘉宾称为主唱嘉宾。
需要说明的是,本公开实施例中。主播指的是在线上KTV实现方法过程中作为主播角色的对象。该对象可以是虚拟房间A的发起者,也可以是收到其他对象转移的主播权限的对象。
图2是根据一示例性实施例示出的一种线上KTV实现方法的流程图,该线上KTV实现方法可以应用于上述应用环境中的主播端中,并且主播端的主播连麦第一虚拟房间,第一虚拟房间的连麦对象至少还包括唱歌嘉宾端的唱歌嘉宾;主播端的线上KTV实现方法包括以下步骤。
在步骤S101中,主播端通过第一虚拟房间对应的第二虚拟房间,接收唱歌嘉宾端发送的干声;第二虚拟房间中包括主播以及唱歌嘉宾;第二虚拟房间为服务器接收唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间。
本公开实施例中,第一虚拟房间可以是网络直播间。主播可以将第一虚拟房间设置为多人连麦模式,在多人连麦模式下,主播可以邀请多个嘉宾进行连麦。连麦成功之后,主播和多个嘉宾便可在该第一虚拟房间进行聊天,观众可以通过网络直播平台进入该第一虚拟房间,拉取该虚拟房间的直播流以收听第一虚拟房间中主播和多个嘉宾的聊天语音。其中,第一虚拟房间的直播流可以是音频流,还可以是音视频的直播流,若第一虚拟房间的直播流为音视频的直播流,观众端还可以观看第一虚拟房间中主播和多个嘉宾的聊天视频画面。
本公开实施例中,第一虚拟房间的连麦对象至少包括主播和唱歌嘉宾,其他非唱歌嘉宾可以在唱歌嘉宾开唱前连麦到第一虚拟房间,也可以在唱歌嘉宾K歌过程中连麦到第一虚拟房间。连麦到第一虚拟房间的唱歌嘉宾开始K歌之前,可以通过唱歌嘉宾端向服务器发送一开唱指示信息,该开唱指示信息中携带开唱指示,还可以携带有第一虚拟房间的标识信息和唱歌嘉宾的身份信息,服务器接收开唱指示信息并创建所述第一虚拟房间对应的第二虚拟房间,根据第一虚拟房间的标识信息可以确定出对应的主播,根据唱歌嘉宾的身份信息确定出唱歌嘉宾,并将主播和唱歌嘉宾加入第二虚拟房间。
本公开实施例中,第二虚拟房间也可以是网络直播间,并且第二虚拟房间可以与第一虚拟房间功能相同,或者是,第二虚拟房间作为第一虚拟房间的附属房间,其功能少于第一虚拟房间,例如第二虚拟房间可以禁止主播和唱歌嘉宾之外的其他人进入。需要说明的是,本发明实施例中的第一虚拟房间还可以称作聊天房间,第二虚拟房间还可以称作KTV房间。
在第二虚拟房间创建之后,第一虚拟房间中的连麦对象不受影响,第一虚拟房间和第二虚拟房间同时存在,并且第一虚拟房间和第二虚拟房间之间存在对应关系。观众感知到的仍然是第一虚拟房间,并不会察觉到有第二虚拟房间的存在。
本公开实施例中,干声指的是不包含BGM的音频数据,例如KTV场景下的原声和伴奏,其中原声可以理解为干声。唱歌嘉宾的干声可以通过唱歌嘉宾使用的电子设备的拾音部件采集,唱歌嘉宾端可以将干声以及第二虚拟房间的标识信息发送给服务器,服务器基于第二虚拟房间的标识信息,将该干声推送给同样连接第二虚拟房间的主播端。然后主播端可以通过服务器接收唱歌嘉宾端发送的干声。
在步骤S102中,主播端将唱歌嘉宾的干声和主播端的本地伴奏混合,得到第一K歌混音。
本公开实施例中,在主播端接收唱歌嘉宾端发送的干声之后,获取与所述干声对应的本地伴奏。主播端的本地伴奏可以是预先存储的,或者是主播端收到干声后,通过网络实时下载到本地的,还可以是主播端收到干声后,通过网络在线播放的。本公开实施例中对于主播端的本地伴奏的获取方式不做限定。
其中,主播端对所述干声和主播端的本地伴奏进行混合的具体方法不作限定。在一个实施例中,在主播端对所述干声和主播端的本地伴奏进行混合之前,还包括对所述干声和本地伴奏进行对齐处理,使得混合之后得到的第一K歌混音的效果更好,观众听到的唱歌嘉宾K歌效果更好。
在步骤S103中,主播端根据第一K歌混音生成第一虚拟房间的面向观众的直播流。
主播端在根据上述的第一K歌混音生成第一虚拟房间的面向观众的直播流之后,可以将该直播流以及第一虚拟房间的标识信息推送至服务器,进入该第一虚拟房间的观众端可以从服务器拉取该直播流,由此观众端的观众可以听到第一虚拟房间的嘉宾唱歌在线K歌。
基于上述实施例,主播和唱歌嘉宾连麦第一虚拟房间,在唱歌嘉宾在开唱后,主播端通过两个有关联的虚拟房间,收集唱歌嘉宾K歌的干声并生成面向观众的直播流,观众端的观众进入第一虚拟房间之后,可通过拉取该直播流听到第一虚拟房间中唱歌嘉宾在线K歌,使得观众端获取到的直播流中,唱歌嘉宾在线K歌的伴奏部分是主播端的本地伴奏,减少了伴奏的传输和接收损失,因此观众听到K歌混音中伴奏部分的音质得以显著提高。
本公开一个实施例中,上述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾,因此在唱歌嘉宾K歌过程中,主播端还可以基于第一虚拟房间向非唱歌嘉宾端以及唱歌嘉宾端发送主播的第一语音,同时,主播端还可以基于第一虚拟房间接收非唱歌嘉宾端的第二语音。也即是,第一虚拟房间和第二虚拟房间同时存在,并且第二虚拟房间不影响第一虚拟房间原有的连麦聊天功能。
结合图3所示,唱歌嘉宾开唱后,唱歌嘉宾以及主播加入第二虚拟房间,第一虚拟房间中的连麦对象未发生变化,因此第一虚拟房间中的非唱歌嘉宾可以按照传统方式,通过非唱歌嘉宾端采集非唱歌嘉宾的语音,通过第一虚拟房间将非唱歌嘉宾的语音发送给主播端。此外,主播端还可以实时获取主播的第一语音,并发送给非唱歌嘉宾端和唱歌嘉宾端。因此,在主播端既可以收到上述的唱歌嘉宾端通过第二虚拟房间发送的干声,还可以收到第一虚拟房间中非唱歌嘉宾的第二语音,第一虚拟房间原有的连麦聊天功能不受到限制。
结合图4所示,通过上述实施例,主播端将唱歌嘉宾的干声和本地伴奏BGM_1混合得到第一K歌混音之后,还可以将第一K歌混音与主播的第一语音和非唱歌嘉宾的第二语音进行混合,由此生成第一虚拟房间的面向观众的直播流,并推送该面向观众的直播流。观众既可以听到唱歌嘉宾的K歌混音,还可以听到主播和其他连麦嘉宾的聊天语音,并且唱歌嘉宾K歌混音的伴奏音质得到提高。
在具体实施例中,主播的第一语音、非唱歌嘉宾的第二语音可以包括干声和背景声音。在另一个具体实施例中,主播的第一语音、非唱歌嘉宾的第二语音为干声,不包含背景声音,以有利于提高第一虚拟房间的聊天语音的清晰度,降低客户端背景声音对直播效果的影响。
本公开一个实施例中,本公开的线上KTV实现方法还包括步骤:唱歌嘉宾发出开唱指示信息,服务器创建第二虚拟房间并将唱歌嘉宾以及主播加入第二虚拟房间之后,主播端可以拒收唱歌嘉宾端通过第一虚拟房间发送的第二K歌混音,或者主播端在收到该第二K歌混音之后将其丢弃。其中,不同于第一K歌混音,第二K歌混音是由唱歌嘉宾端的伴奏BGM_2和唱歌嘉宾的干声混合得到的。
结合图3所示,唱歌嘉宾以及主播加入第二虚拟房间之后,由于第一虚拟房间中的连麦对象未发生变化,唱歌嘉宾仍然属于第一虚拟房间的连麦对象,因此唱歌嘉宾端可以按照传统的方式,将唱歌嘉宾的干声和唱歌嘉宾端的伴奏BGM_2混合得到第二K歌混音,通过第一虚拟房间将第二K歌混音发送给主播端和非唱歌嘉宾端。由于主播端可以通过第二虚拟房间接收唱歌嘉宾的干声。通过本实施例,有利于节省主播端的存储空间,避免主播端的信息冗余。
本公开一个实施例中,主播端通过第二虚拟房间接收唱歌嘉宾端发送的干声之后,还可以包括步骤:将接收到的唱歌嘉宾的干声存储至抖动缓冲器(jitterbuffer)中。相应地,上述步骤S102的具体实现方式可以包括:通过播放引擎从上述抖动缓冲器中获取唱歌嘉宾的干声;播放唱歌嘉宾的干声,播放与唱歌嘉宾的干声对应的本地伴奏(即BGM_1);将唱歌嘉宾的干声和本地伴奏混合得到第一K歌混音。通过设置抖动缓冲器,可以提高主播端收到的唱歌嘉宾的干声的连贯性,进而提高主播端生成的第一K歌混音的连贯性。
进一步地,主播端将唱歌嘉宾的干声存储至抖动缓冲器之前,还包括:调整上述抖动缓冲器的延迟时间,使得调整后的抖动缓冲器的延迟时间大于第二虚拟房间创建前的该抖动缓冲器的延迟时间。通过调大抖动缓冲器的延迟时间,使用一个较大延迟时间的jitterbuffer来加强抗抖动和乱序的效果,这样可以提高主播端收到的唱歌嘉宾的干声的连贯性,进而提高主播端生成的第一K歌混音的连贯性,由此提高第一虚拟房间的观众的听歌体验。
本公开实施例中,第一虚拟房间和第二虚拟房间共用一个播放引擎。该播放引擎既可以采集基于第二虚拟房间接收到的唱歌嘉宾的干声,还可以解码主播端的本地BGM,同时还用于采集主播的第一语音、基于第一虚拟房间接收的非唱歌嘉宾的第二语音,然后把四者混合后,得到第一虚拟房间的面向观众的直播流。通过本实施例,能够实现第一虚拟房间和第二虚拟房间之间的音频混合以及面向观众的直播流的生成。
本公开一个实施例中,主播端在将唱歌嘉宾的干声和主播端的本地伴奏混合之前,还包括:接收上述唱歌嘉宾的干声对应的伴奏标识信息,根据该伴奏标识信息下载对应的伴奏到主播端,得到主播端的本地伴奏。
其中,主播端可以通过服务器接收唱歌嘉宾的干声对应的伴奏标识信息,具体包括,唱歌嘉宾端在向主播端发送唱歌嘉宾的干声时,将待唱歌曲的伴奏标识信息一并发送给主播端。主播端可以基于伴奏标识信息从网络下载对应的伴奏到本地,作为本地伴奏,也可以从本地存储中伴奏中查找与该伴奏标识对应的伴奏。此后主播端通过第二虚拟房间接收唱歌嘉宾端发送的干声时,可开始播放上述方式得到的本地伴奏。
本公开一个实施例中,唱歌嘉宾的干声对应的伴奏标识信息可以随着唱歌嘉宾的第一个干声数据一并发出;无需在每个干声数据中携带伴奏标识信息,有利于减少数据的传输量。
本公开另一个实施例中,唱歌嘉宾开唱之前可预先将唱歌曲的伴奏标识信息发送给主播端。预先获得对应的本地伴奏,以保证唱歌嘉宾开唱后,本地伴奏能够及时与之适应,有利于干声和本地伴奏的对齐处理。
本公开一个实施例中,主播端通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声之前,还可以接收服务器发送的第二虚拟房间的地址,根据第二虚拟房间的地址,将主播端的主播连接到第二虚拟房间。
具体实施例中,服务器接收唱歌嘉宾端的开唱指示信息并创建第二虚拟房间之后,分别向主播端和非唱歌嘉宾端发送第二虚拟房间的地址。主播端在收到第二虚拟房间的地址之后输出相应的提示信息,以提示有唱歌嘉宾开唱,是否加入第二虚拟房间,其中,提示信息包括但不限于提示窗口、提示语音、提示文字、提示动画等。若主播确认后加入该第二虚拟房间,则根据第二虚拟房间的地址连接到第二虚拟房间。除此之外,主播也可以拒绝加入该第二虚拟房间,服务器收到主播拒绝加入的消息后,可解散第二虚拟房间。
主播加入到第二虚拟房间之后,可以通过主播端显示第二虚拟房间的相应信息,以提示主播当前已加入第二虚拟房间以及第二虚拟房间中包含的唱歌嘉宾,便于主播管理第二虚拟房间中的唱歌嘉宾。
图5是根据另一示例性实施例示出的一种线上KTV实现方法的流程图,该线上KTV实现方法可以应用于上述应用环境中的唱歌嘉宾端,唱歌嘉宾端的唱歌嘉宾连麦第一虚拟房间,并且该第一虚拟房间的连麦对象至少还包括主播端的主播。唱歌嘉宾端的线上KTV实现方法包括以下步骤。
在步骤S401中,唱歌嘉宾端向服务器发送开唱指示信息,以使所述服务器创建所述第一虚拟房间对应的第二虚拟房间;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾。
在唱歌嘉宾连麦到第一虚拟房间之后,唱歌嘉宾可以通过唱歌嘉宾端的选项发起开唱指示信息,并向服务器发送开唱指示信息,服务器收到该开唱指示信息后创建第二虚拟房间,并将唱歌嘉宾以及主播加入所述第二虚拟房间。
本公开实施例中,唱歌嘉宾端可以在接受到主播端发起的连麦邀请之后,将唱歌嘉宾连麦到第一虚拟房间;或者,唱歌嘉宾端也可以向主播端主动发起连麦请求,请求连麦至第一虚拟房间,待主播端接受唱歌嘉宾端的连麦请求,唱歌嘉宾连麦到第一虚拟房间。
其中,唱歌嘉宾端将唱歌嘉宾连麦到第一虚拟房间之后,在唱歌嘉宾端的客户端界面上可以显示一个用于发起开唱指示信息的操作选项,唱歌嘉宾通过操作该的操作选项,可以向服务器发送开唱指示信息。
在步骤S402中,唱歌嘉宾端获取所述唱歌嘉宾的干声。
唱歌嘉宾端可以通过其所在的电子设备中的拾音装置采集唱歌嘉宾的干声。该拾音装置可以是唱歌嘉宾端所在的电子设备自带的装置,也可以是连接到唱歌嘉宾端所在的电子设备的外部装置。
在步骤S403中,通过所述第二虚拟房间向所述主播端发送所述干声,以使所述主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,以及根据所述第一K歌混音生成述第一虚拟房间的面向观众的直播流。
唱歌嘉宾唱歌时,唱歌嘉宾端可以播放相应的伴奏,唱歌嘉宾端的拾音装置拾取到的本地声音数据中还包括伴奏声音。因此唱歌嘉宾端还可以从拾取到的本地声音数据中,过滤出唱歌嘉宾的干声,仅将唱歌嘉宾的干声通过第二虚拟房间向主播端发送。具体例如,唱歌嘉宾端将唱歌嘉宾的干声和第二虚拟房间的房间信息一起发送给服务器,服务器根据房间信息将唱歌嘉宾的干声发送至主播端。
通过上述实施例,主播和唱歌嘉宾连麦第一虚拟房间,唱歌嘉宾开唱时,唱歌嘉宾端通过两个有关联的虚拟房间,可以向主播端发送唱歌嘉宾的干声,使得主播端收集唱歌嘉宾K歌的干声并生成面向观众的直播流,观众端的观众进入第一虚拟房间之后,可通过拉取该直播流听到第一虚拟房间中唱歌嘉宾在线K歌,使得观众端获取到的直播流中,唱歌嘉宾在线K歌的伴奏部分是主播端的本地伴奏,减少了伴奏的传输和接收损失,因此观众听到K歌混音中伴奏部分的音质得以显著提高。
本公开一个实施例中,第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾。相应地,在唱歌嘉宾端开唱后,还包括步骤:唱歌嘉宾端本地播放与唱歌嘉宾的干声对应的伴奏,混合所述唱歌嘉宾的干声和伴奏,得到第二K歌混音,通过第一虚拟房间向非唱歌嘉宾端发送第二K歌混音。使得第一虚拟房间中的连麦嘉宾既可以听到相互的聊天语音,还可以听到唱歌嘉宾的K歌混音,与上述实施例的第一K歌混音不同,第二K歌混音中的伴奏源自唱歌嘉宾端的伴奏。
结合图3所示,服务器根据唱歌嘉宾端的开唱指示信息创建第二虚拟房间,将唱歌嘉宾以及主播加入第二虚拟房间,此时第一虚拟房间中的连麦对象未发生变化,因而唱歌嘉宾仍然属于第一虚拟房间的连麦对象。唱歌嘉宾唱歌过程中,唱歌嘉宾端可以按照传统的方式,将唱歌嘉宾的干声和唱歌嘉宾端的伴奏混合后,得到第二K歌混音,并通过第一虚拟房间将该第二K歌混音发送给非唱歌嘉宾端,使得第一虚拟房间中的非唱歌嘉宾也能够听到唱歌嘉宾端的线上KTV声音。
此外,参见前述实施例,唱歌嘉宾端还可以通过第一虚拟房间将该第二K歌混音发送给主播端。然而本公开实施例中,主播端可以通过第二虚拟房间接收唱歌嘉宾的干声,故主播端可以拒收第二K歌混音,以节省主播端的存储空间。
图6是根据另一示例性实施例示出的一种线上KTV实现方法的流程图,该线上KTV实现方法可以应用于上述应用环境中的线上KTV系统中,线上KTV实现方法包括以下步骤。
在步骤S501中,主播端向服务器请求创建第一虚拟房间。
服务器创建第一虚拟房间之后,主播端可以向指定对象发送连麦邀请,邀请嘉宾连麦第一虚拟房间。
在步骤S502中,唱歌嘉宾端的唱歌嘉宾连麦到第一虚拟房间。
本公开一个实施例中,非唱歌嘉宾端的非唱歌嘉宾也可以预先连麦到第一虚拟房间,第一虚拟房间的连麦对象包括主播、唱歌嘉宾和非唱歌嘉宾。本公开实施例中,连麦到第一虚拟房间的连麦对象可以理解为客户端的登陆用户。唱歌嘉宾端、非唱歌嘉宾端可以在接收到主播端的连麦邀请时,将唱歌嘉宾、唱歌嘉宾端连麦到第一虚拟房间。其中,唱歌嘉宾端、非唱歌嘉宾端可以同时连麦到第一虚拟房间,也可以先后连麦到第一虚拟房间。
在步骤S503中,唱歌嘉宾端通过第一虚拟房间向服务器发送开唱指示信息。
唱歌嘉宾可以通过相应操作选项发起开唱指示。该相应操作选项可以为用户界面上的操作控件,也可以是唱歌嘉宾端所在电子设备的物理按键。
在步骤S504中,服务器接收唱歌嘉宾端的开唱指示信息,创建第二虚拟房间,将唱歌嘉宾以及主播加入第二虚拟房间。
本公开一个实施例中,第二虚拟房间被创建之后,主播端和唱歌嘉宾端可以分别接收服务器发送的第二虚拟房间的地址,主播端根据第二虚拟房间的地址,将主播端的主播连接到第二虚拟房间;唱歌嘉宾端根据第二虚拟房间的地址,将唱歌嘉宾端的唱歌嘉宾连接到第二虚拟房间。
在步骤S505中,唱歌嘉宾端播放伴奏,唱歌嘉宾开始唱歌。唱歌嘉宾端获取唱歌嘉宾的干声。
在步骤S506中,唱歌嘉宾端通过第二虚拟房间向主播端发送唱歌嘉宾的干声。
在步骤S507中,主播端通过所述第二虚拟房间接收唱歌嘉宾端发送的唱歌嘉宾的干声,播放本地伴奏。
在步骤S508中,主播端将唱歌嘉宾的干声和主播端的本地伴奏混合,得到第一K歌混音。
主播端可以基于第一K歌混音生成第一虚拟房间的面向观众直播流,并推送该直播流。
此外,参见图7所示,本公开一个实施例中,在唱歌嘉宾端向主播端发送唱歌嘉宾的干声的过程中,还可以包括如下步骤:
在步骤S601中,唱歌嘉宾端混合唱歌嘉宾的干声和唱歌嘉宾端播放的伴奏,得到第二K歌混音,通过第一虚拟房间,分别向主播端和非唱歌嘉宾端发送第二K歌混音。
在步骤S602中,主播端拒收第二K歌混音。
在步骤S603中,非唱歌嘉宾端接收第二K歌混音,使得非唱歌嘉宾端能够听到唱歌嘉宾的线上K歌。
继续参见图7所示,本公开一个实施例中,在唱歌嘉宾端向主播端发送唱歌嘉宾的干声的过程中,还可以包括如下步骤:
在步骤S701中,主播端获取主播的第一语音,基于第一虚拟房间,向所述非唱歌嘉宾端以及所述唱歌嘉宾端发送所述主播的第一语音;
在步骤S702中,非唱歌嘉宾端获取非唱歌嘉宾的第二语音,基于第一虚拟房间向主播端、唱歌嘉宾端发送第二语音。
在步骤S703中,主播端将第一K歌混音、主播的第一语音以及非唱歌嘉宾的第二语音一起混合,生成第一虚拟房间的面向观众的直播流。主播端将该直播流发送到服务器,进入第一虚拟房间的观众端通过服务器拉取该直播流,观看第一虚拟房间的直播。
通过上述实施例,既保证第一虚拟房间的嘉宾连麦效果,同时让观众听到的K歌混音中伴奏音质提高,使得线上KTV的效果更佳。
基于与上述实施例中的线上KTV实现方法相同的思想,本文还提供线上KTV实现装置。
图8是根据一示例性实施例示出的一种线上KTV实现装置001框图,该线上KTV实现装置001应用于主播端,主播端的主播连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括唱歌嘉宾端的唱歌嘉宾。参照图8,该装置包括干声接收模块801、混音模块802以及直播流生成模块803。
干声接收模块801,被配置为执行通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;
混音模块802,被配置为执行将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;
直播流生成模块803,被配置为执行根据所述第一K歌混音,生成所述第一虚拟房间的面向观众的直播流。
本公开一个实施例中,所述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾;所述线上KTV实现装置001还包括:
语音发送及接收模块,被配置为执行基于所述第一虚拟房间,向所述非唱歌嘉宾端以及所述唱歌嘉宾端发送所述主播的第一语音,以及接收所述非唱歌嘉宾端的第二语音。
本公开一个实施例中,所述线上KTV实现装置001还包括:
干声缓冲模块,被配置为执行将所述干声存储至抖动缓冲器中;
其中,所述混音模块,被配置为执行通过播放引擎从所述抖动缓冲器中获取所述干声,播放所述干声以及与所述干声对应的所述主播端的本地伴奏,将所述干声和所述主播端的本地伴奏混合,得到所述第一K歌混音。
本公开一个实施例中,所述线上KTV实现装置001还包括:
缓冲器调整模块,被配置为执行调整所述抖动缓冲器的延迟时间,使得调整后的所述抖动缓冲器的延迟时间大于所述第二虚拟房间创建前的所述抖动缓冲器的延迟时间。
本公开一个实施例中,所述线上KTV实现装置001还包括:
伴奏标识接收模块,被配置为执行获取所述干声对应的伴奏标识信息;
伴奏下载模块,被配置为执行下载与所述伴奏标识信息对应的伴奏到所述主播端,得到所述本地伴奏。
本公开一个实施例中,所述线上KTV实现装置001还包括:
第一地址接收模块,被配置为执行接收所述服务器发送的所述第二虚拟房间的地址;
第一房间连接模块,被配置为执行根据所述第二虚拟房间的地址,将所述主播端的主播连接到所述第二虚拟房间。
上述实施例的线上KTV实现装置001,主播端通过两个有关联的虚拟房间,收集唱歌嘉宾K歌的干声并生成面向观众的直播流,观众端的观众进入第一虚拟房间之后,可通过拉取该直播流听到第一虚拟房间中唱歌嘉宾在线K歌,使得观众端获取到的直播流中,唱歌嘉宾在线K歌的伴奏部分是主播端的本地伴奏,减少了伴奏的传输和接收损失,因此观众听到K歌混音中伴奏部分的音质得以显著提高。
图9是根据另一示例性实施例示出的一种线上KTV实现装置002框图,该线上KTV实现装置002应用于唱歌嘉宾端,所述唱歌嘉宾端的唱歌嘉宾连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括主播端的主播。参照图9,该装置包括开唱指示模块901,干声采集模块902以及干声发送模块903。
该开唱指示模块901,被配置为执行向服务器发送开唱指示信息,以使所述服务器创建所述第一虚拟房间对应的第二虚拟房间;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;
该干声采集模块902,被配置为执行获取所述唱歌嘉宾的干声;
该干声发送模块903,被配置为执行通过所述第二虚拟房间向所述主播端发送所述干声,以使所述主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,以及根据所述第一K歌混音生成述第一虚拟房间的面向观众的直播流。
本公开一个实施例中,所述第一虚拟房间的连麦对象还包括非唱歌嘉宾端的非唱歌嘉宾;所述线上KTV实现装置002还包括:
语音接收及发送模块,被配置为执行基于所述第一虚拟房间,接收所述主播端发送的所述主播的第一语音和所述唱歌嘉宾端发送的第二K歌混音,以及向所述主播端和所述唱歌嘉宾端发送所述非唱歌嘉宾的第二语音;
其中,所述第二K歌混音是根据所述唱歌嘉宾的干声和所述唱歌嘉宾端的伴奏混合得到的。
本公开一个实施例中,所述线上KTV实现装置002还包括:
第二地址接收模块,被配置为执行接收所述服务器发送的所述第二虚拟房间的地址;
第二房间连接模块,被配置为执行根据所述第二虚拟房间的地址,将所述唱歌嘉宾端的唱歌嘉宾连接到所述第二虚拟房间。
上述实施例的线上KTV实现装置002,主播和唱歌嘉宾连麦第一虚拟房间,唱歌嘉宾开唱时,唱歌嘉宾端通过两个有关联的虚拟房间,可以向主播端发送唱歌嘉宾的干声,使得主播端收集唱歌嘉宾K歌的干声并生成面向观众的直播流,观众端的观众进入第一虚拟房间之后,可通过拉取该直播流听到第一虚拟房间中唱歌嘉宾在线K歌,使得观众端获取到的直播流中,唱歌嘉宾在线K歌的伴奏部分是主播端的本地伴奏,减少了伴奏的传输和接收损失,因此观众听到K歌混音中伴奏部分的音质得以显著提高。
本公开提供的线上KTV实现装置可以实现为一种计算机程序的形式,计算机程序可在电子设备上运行。电子设备的存储器中可存储组成该线上KTV实现装置的各个程序模块。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图10示出了另一个实施例中电子设备的内部结构图。该电子设备具体可以是图1中的客户端100所在的电子设备,具体可以是主播端、唱歌嘉宾端、非唱歌嘉宾端或者观众端所在的电子设备。如图10所示,该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,处理器用于提供计算和控制能力;存储器包括非易失性存储介质、内存储器,该非易失性存储介质存储有操作系统和计算机程序,该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境;网络接口用于与外部的设备通过网络连接通信;该计算机程序被处理器执行时以实现线上KTV实现方法;显示屏可以是液晶显示屏或者电子墨水显示屏;输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
图11示出了一个实施例中服务器200的内部结构图,包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该电子设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现常规的网络直播间的功能,还能够在在收到唱歌嘉宾端的开唱指示后创建第二虚拟房间,以及将唱歌嘉宾和主播加入该第二虚拟房间,协同实现上述的线上KTV实现方法。
本领域技术人员可以理解,图10、图11中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种电子设备,包括处理器,用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上任一项实施例所述的线上KTV实现方法。
在一个实施例中,还提供了一种存储介质,例如包括指令的存储器,上述指令可由处理器执行以完成上述任一项实施例所述的线上KTV实现方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (20)
1.一种线上KTV实现方法,其特征在于,应用于主播端,所述主播端的主播连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括唱歌嘉宾端的唱歌嘉宾以及非唱歌嘉宾端的非唱歌嘉宾;所述方法包括:
通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声,并通过所述第一虚拟房间接收所述非唱歌嘉宾端的第二语音;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;
将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;
根据所述第一K歌混音和所述第二语音,生成所述第一虚拟房间的面向观众的直播流。
2.根据权利要求1所述的线上KTV实现方法,其特征在于,所述方法还包括:
基于所述第一虚拟房间,向所述非唱歌嘉宾端以及所述唱歌嘉宾端发送所述主播的第一语音。
3.根据权利要求1所述的线上KTV实现方法,其特征在于,所述通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声之后,还包括:
将所述干声存储至抖动缓冲器中;
所述将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,包括:
通过播放引擎从所述抖动缓冲器中获取所述干声;
播放所述干声,以及与所述干声对应的所述主播端的本地伴奏;
将所述干声和所述主播端的本地伴奏混合,得到所述第一K歌混音。
4.根据权利要求3所述的线上KTV实现方法,其特征在于,所述将所述干声存储至抖动缓冲器中之前,还包括:
调整所述抖动缓冲器的延迟时间,使得调整后的所述抖动缓冲器的延迟时间大于所述第二虚拟房间创建前的所述抖动缓冲器的延迟时间。
5.根据权利要求1所述的线上KTV实现方法,其特征在于,所述将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音之前,还包括:
获取所述干声对应的伴奏标识信息;
下载与所述伴奏标识信息对应的伴奏到所述主播端,得到所述本地伴奏。
6.根据权利要求1至5任一项所述的线上KTV实现方法,其特征在于,所述通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声之前,还包括:
接收所述服务器发送的所述第二虚拟房间的地址;
根据所述第二虚拟房间的地址,将所述主播端的主播连接到所述第二虚拟房间。
7.一种线上KTV实现方法,其特征在于,应用于唱歌嘉宾端,所述唱歌嘉宾端的唱歌嘉宾连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括主播端的主播以及非唱歌嘉宾端的非唱歌嘉宾;所述方法包括:
向服务器发送开唱指示信息,以使所述服务器创建所述第一虚拟房间对应的第二虚拟房间;所述第一虚拟房间用于接收所述非唱歌嘉宾端的第二语音,所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;
获取所述唱歌嘉宾的干声;
通过所述第二虚拟房间向所述主播端发送所述干声,以使所述主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,以及根据所述第一K歌混音和所述第二语音生成述第一虚拟房间的面向观众的直播流。
8.根据权利要求7所述的线上KTV实现方法,其特征在于,
所述方法还包括:
基于所述第一虚拟房间,接收所述主播端发送的所述主播的第一语音和所述唱歌嘉宾端发送的第二K歌混音,以及向所述主播端和所述唱歌嘉宾端发送所述非唱歌嘉宾的第二语音;
其中,所述第二K歌混音是根据所述唱歌嘉宾的干声和所述唱歌嘉宾端的伴奏混合得到的。
9.根据权利要求7所述的线上KTV实现方法,其特征在于,所述向服务器发送开唱指示信息之后,还包括:
接收所述服务器发送的所述第二虚拟房间的地址;
根据所述第二虚拟房间的地址,将所述唱歌嘉宾端的唱歌嘉宾连接到所述第二虚拟房间。
10.一种线上KTV实现装置,其特征在于,应用于主播端,所述主播端的主播连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括唱歌嘉宾端的唱歌嘉宾以及非唱歌嘉宾端的非唱歌嘉宾;所述装置包括:
干声接收模块,被配置为执行通过所述第一虚拟房间对应的第二虚拟房间,接收所述唱歌嘉宾端发送的干声;所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;所述第二虚拟房间为服务器接收所述唱歌嘉宾端发送的开唱指示信息所触发创建的虚拟房间;
语音发送及接收模块,被配置为执行通过所述第一虚拟房间接收所述非唱歌嘉宾端的第二语音;
混音模块,被配置为执行将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音;
直播流生成模块,被配置为执行根据所述第一K歌混音和所述第二语音,生成所述第一虚拟房间的面向观众的直播流。
11.根据权利要求10所述的线上KTV实现装置,其特征在于,所述语音发送及接收模块,还被配置为执行:
基于所述第一虚拟房间,向所述非唱歌嘉宾端以及所述唱歌嘉宾端发送所述主播的第一语音。
12.根据权利要求10所述的线上KTV实现装置,其特征在于,所述装置还包括:
干声缓冲模块,被配置为执行将所述干声存储至抖动缓冲器中;
其中,所述混音模块,被配置为执行通过播放引擎从所述抖动缓冲器中获取所述干声,播放所述干声以及与所述干声对应的所述主播端的本地伴奏,将所述干声和所述主播端的本地伴奏混合,得到所述第一K歌混音。
13.根据权利要求12所述的线上KTV实现装置,其特征在于,所述装置还包括:
缓冲器调整模块,被配置为执行调整所述抖动缓冲器的延迟时间,使得调整后的所述抖动缓冲器的延迟时间大于所述第二虚拟房间创建前的所述抖动缓冲器的延迟时间。
14.根据权利要求10所述的线上KTV实现装置,其特征在于,所述装置还包括:
伴奏标识接收模块,被配置为执行获取所述干声对应的伴奏标识信息;
伴奏下载模块,被配置为执行下载与所述伴奏标识信息对应的伴奏到所述主播端,得到所述本地伴奏。
15.根据权利要求10至14任一项所述的线上KTV实现装置,其特征在于,所述装置还包括:
第一地址接收模块,被配置为执行接收所述服务器发送的所述第二虚拟房间的地址;
第一房间连接模块,被配置为执行根据所述第二虚拟房间的地址,将所述主播端的主播连接到所述第二虚拟房间。
16.一种线上KTV实现装置,其特征在于,应用于唱歌嘉宾端,所述唱歌嘉宾端的唱歌嘉宾连麦第一虚拟房间,所述第一虚拟房间的连麦对象至少还包括主播端的主播以及非唱歌嘉宾端的非唱歌嘉宾;所述装置包括:
开唱指示模块,被配置为执行向服务器发送开唱指示信息,以使所述服务器创建所述第一虚拟房间对应的第二虚拟房间;所述第一虚拟房间用于接收所述非唱歌嘉宾端的第二语音,所述第二虚拟房间中包括所述主播以及所述唱歌嘉宾;
干声采集模块,被配置为执行获取所述唱歌嘉宾的干声;
干声发送模块,被配置为执行通过所述第二虚拟房间向所述主播端发送所述干声,以使所述主播端将所述干声和所述主播端的本地伴奏混合,得到第一K歌混音,以及根据所述第一K歌混音和所述第二语音生成述第一虚拟房间的面向观众的直播流。
17.根据权利要求16所述的线上KTV实现装置,其特征在于,所述装置还包括:
语音接收及发送模块,被配置为执行基于所述第一虚拟房间,接收所述主播端发送的所述主播的第一语音和所述唱歌嘉宾端发送的第二K歌混音,以及向所述主播端和所述唱歌嘉宾端发送所述非唱歌嘉宾的第二语音;
其中,所述第二K歌混音是根据所述唱歌嘉宾的干声和所述唱歌嘉宾端的伴奏混合得到的。
18.根据权利要求17所述的线上KTV实现装置,其特征在于,所述装置还包括:
第二地址接收模块,被配置为执行接收所述服务器发送的所述第二虚拟房间的地址;
第二房间连接模块,被配置为执行根据所述第二虚拟房间的地址,将所述唱歌嘉宾端的唱歌嘉宾连接到所述第二虚拟房间。
19.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至9中任一项所述的线上KTV实现方法。
20.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至9中任一项所述的线上KTV实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202791.5A CN110910860B (zh) | 2019-11-29 | 2019-11-29 | 线上ktv实现方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202791.5A CN110910860B (zh) | 2019-11-29 | 2019-11-29 | 线上ktv实现方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110910860A CN110910860A (zh) | 2020-03-24 |
CN110910860B true CN110910860B (zh) | 2022-07-08 |
Family
ID=69820722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911202791.5A Active CN110910860B (zh) | 2019-11-29 | 2019-11-29 | 线上ktv实现方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110910860B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111787353A (zh) | 2020-05-13 | 2020-10-16 | 北京达佳互联信息技术有限公司 | 多方音频的处理方法、装置、电子设备及存储介质 |
CN111901537B (zh) * | 2020-06-28 | 2022-09-23 | 上海文化广播影视集团有限公司 | 一种基于云平台的广播电视互动节目制作方式 |
CN112104887B (zh) * | 2020-09-16 | 2022-05-17 | 广州方硅信息技术有限公司 | 视频来源校验方法、装置、设备及存储介质 |
CN112148248A (zh) * | 2020-09-28 | 2020-12-29 | 腾讯音乐娱乐科技(深圳)有限公司 | 线上歌房实现方法及电子设备和计算机可读存储介质 |
CN113205575A (zh) * | 2021-04-29 | 2021-08-03 | 广州繁星互娱信息科技有限公司 | 直播唱歌信息的显示方法、装置、终端及存储介质 |
CN113645472B (zh) * | 2021-07-05 | 2023-04-28 | 北京达佳互联信息技术有限公司 | 一种基于播放对象的交互方法、装置、电子设备及存储介质 |
CN114095480B (zh) * | 2022-01-24 | 2022-04-15 | 北京麦颂文化传播有限公司 | Ktv直播连麦方法、装置和系统 |
CN116170613A (zh) * | 2022-09-08 | 2023-05-26 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频流处理方法、计算机设备和计算机程序产品 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131583A (zh) * | 2016-06-30 | 2016-11-16 | 北京小米移动软件有限公司 | 一种直播处理方法、装置、终端设备及系统 |
CN109995741B (zh) * | 2018-01-02 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 一种网络直播中连麦实现方法及系统 |
US11250825B2 (en) * | 2018-05-21 | 2022-02-15 | Smule, Inc. | Audiovisual collaboration system and method with seed/join mechanic |
CN110264986B (zh) * | 2019-03-29 | 2023-06-27 | 深圳市即构科技有限公司 | 在线k歌装置、方法及计算机可读存储介质 |
CN110267081B (zh) * | 2019-04-02 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 直播流处理方法、装置、系统、电子设备及存储介质 |
-
2019
- 2019-11-29 CN CN201911202791.5A patent/CN110910860B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110910860A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110910860B (zh) | 线上ktv实现方法、装置、电子设备及存储介质 | |
CN110692252B (zh) | 具有用于广域广播的延迟管理的视听协作方法 | |
US8582565B1 (en) | System for streaming audio to a mobile device using voice over internet protocol | |
CN103718528B (zh) | 一种多终端协同播放多媒体文件的方法和相关装置及系统 | |
TWI554317B (zh) | 對於視訊遊戲玩家及旁觀者之管理音訊及視訊通道之系統及方法 | |
US20080252637A1 (en) | Virtual reality-based teleconferencing | |
US20090106670A1 (en) | Systems and methods for providing services in a virtual environment | |
WO2008125593A2 (en) | Virtual reality-based teleconferencing | |
EP3454327A1 (en) | Computer implemented method for providing real-time interaction between first player and second player to collaborate for musical performance over network | |
US11700353B2 (en) | Integration of remote audio into a performance venue | |
JP6315568B2 (ja) | 通信カラオケシステム及びサーバ | |
US20120155671A1 (en) | Information processing apparatus, method, and program and information processing system | |
JP3970700B2 (ja) | カラオケライブ配信サービス方法 | |
CN106792237B (zh) | 一种消息显示方法和系统 | |
CN114125480A (zh) | 直播合唱互动方法、系统、装置及计算机设备 | |
CN113645472A (zh) | 一种基于播放对象的交互方法、装置、电子设备及存储介质 | |
KR102069695B1 (ko) | 분산 텔레프레즌스 서비스 제공 방법 및 장치 | |
CN115550595A (zh) | 线上会议实现方法、装置、设备及可读存储介质 | |
JP2021182696A (ja) | 双方向放送方法及びシステム | |
JP2016127303A (ja) | 音声データ送受信システム | |
JP3241225U (ja) | 無観客ライブ配信システム | |
KR20190138980A (ko) | 개인 방송이 가능한 네트워크 기반의 노래방 서비스를 지원하는 노래반주기 및 그 동작 방법 | |
US20210320959A1 (en) | System and method for real-time massive multiplayer online interaction on remote events | |
CN112584180B (zh) | 基于点唱终端设备的直播方法、装置和点唱终端设备 | |
KR101650071B1 (ko) | 온라인 음원 제작 시스템 및 방법 |
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 |