CN114217996A - 混音方法和装置 - Google Patents
混音方法和装置 Download PDFInfo
- Publication number
- CN114217996A CN114217996A CN202111614065.1A CN202111614065A CN114217996A CN 114217996 A CN114217996 A CN 114217996A CN 202111614065 A CN202111614065 A CN 202111614065A CN 114217996 A CN114217996 A CN 114217996A
- Authority
- CN
- China
- Prior art keywords
- mixing
- audio
- target number
- target
- preset
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本公开提供了混音方法和装置,具体涉及音频信号处理技术领域。具体实现方案为:接收预设数量条音频流;执行混音操作,混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流,其中,目标数量为预设数量与混合数的比值,混音计算服务器用于对混合数条音频流进行混音;响应于确定目标数量的值满足预设条件,输出目标数量条音频流。该方式有助于实现对海量音频的混音。
Description
技术领域
本公开涉及计算机技术领域,具体涉及音频信号处理技术领域,尤其涉及一种混音方法和装置。
背景技术
目前,实时多媒体通信服务的应用越来越多,用以满足日益增长的业务需求,例如,多媒体会议系统、直播系统等等,因此混音相关技术显得十分重要。
现有的智能混音技术是将码流都上行放入同一个混音资源(本文内简称MP)处理,将会碰到如下瓶颈:随着音频流的增加,混音资源的解码运算开销是线性增长的。为解决上述瓶颈,可以纵向扩展智能混音的处理能力(如使用更高性能的CPU或者DSP),但存在明显的理论上限。
发明内容
本公开实施例提供了一种混音方法、装置、设备以及存储介质。
第一方面,本公开实施例提供了一种混音方法,该方法包括:接收预设数量条音频流;执行混音操作,混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流,其中,目标数量为预设数量与混合数的比值,混音计算服务器用于对混合数条音频流进行混音;响应于确定目标数量的值满足预设条件,输出目标数量条音频流。
第二方面,本公开实施例提供了一种混音装置,该装置包括:接收模块,被配置成接收预设数量条音频流;混音模块,被配置成执行混音操作,混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流,其中,目标数量为预设数量与混合数的比值,混音计算服务器用于对混合数条音频流进行混音;输出模块,被配置成响应于确定目标数量的值满足预设条件,输出目标数量条音频流。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被该一个或多个处理器执行,使得一个或多个处理器实现如第一方面的任一实施例的混音方法。
第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面的任一实施例的混音方法。
第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面的任一实施例的混音方法。
本公开有助于实现对海量音频的混音。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。
附图说明
图1是本公开可以应用于其中的示例性系统架构图;
图2是根据本公开的混音方法的一个实施例的流程图;
图3是根据本公开的混音方法的一个应用场景的示意图;
图4是根据本公开的混音方法的又一个实施例的流程图;
图5是根据本公开的混音装置的一个实施例的示意图;
图6是适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本公开的混音方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、服务器103,网络104和数据库服务器集群105、混音计算服务器集群106。网络104用以在终端设备101、102、服务器103和数据库服务器集群105和混音计算服务器集群之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、服务器103通过网络104与混音计算服务器集群105、数据库服务器集群106交互,以接收或发送消息等。终端设备101、102、服务器103上可以接收音频流。
终端设备101、102可以是硬件,也可以是软件。当终端设备101、102为硬件时,可以是具有显示屏的各种电子设备,包括但不限于手机和笔记本电脑。当终端设备101、102为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供混音服务),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器103可以是提供各种服务的服务器,例如,接收预设数量条音频流;执行混音操作,混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流,其中,目标数量为预设数量与混合数的比值,混音计算服务器用于对混合数条音频流进行混音;响应于确定目标数量的值满足预设条件,输出目标数量条音频流。
需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供混音服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要指出的是,本公开的实施例所提供的混音方法可以由服务器103执行,也可以由终端设备101、102执行,还可以由服务器103和终端设备101、102彼此配合执行。相应地,混音装置包括的各个部分(例如各个单元、子单元、模块、子模块)可以全部设置于服务器103中,也可以全部设置于终端设备101、102中,还可以分别设置于服务器103和终端设备101、102中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示出了混音方法的实施例的流程示意图200。该混音方法包括以下步骤:
步骤201,接收到预设数量条音频流。
在本实施例中,执行主体(例如,图1中的服务器103或终端设备101、102)可接收负载均衡过后来自不同客户端的基于RTP(Real-time Transport Protocol,实时传输协议)的预设数量条音频流。
其中,预设数量可根据经验、实际需求设定,例如,100000条,90000条等,本申请对此不作限定。
步骤202,执行混音操作。
在本实施例中,执行主体可基于预设数量条音频流,执行混音操作。
其中,混音操作包括:对于每一条音频流,将音频流解析为音频数据和对应的时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列。
进一步地,基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流。
其中,目标数量为预设数量与混合数的比值,混音计算服务器用于对混合数条音频流进行混音,即将混合数条音频流合成一条音频流。
这里,混合数可基于混音计算服务器的处理能力确定,例如,处理能力较高的混音计算服务器可将10000条音频流混合为一条音频流,处理能力较低的混音计算服务器仅能将10条音频流混合为一条音频流。
具体地,执行主体接收到预设数量条音频流,例如,100000条音频流,则执行混音操作,混音操作包括:对于每一条音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列,进一步地,执行主体按照消息队列中各音频数据的数据库索引在数据库集群中提取音频数据,并控制目标数量个混音计算服务器对提取的音频数据进行混音,得到目标数量条音频流,其中,混音计算服务器用于对混合数条,例如,100条,音频流进行混音,目标数量为预设数量与混合数的比值,例如,100000/100=1000。
这里,消息队列可以是现有技术或未来发展技术中的消息链表,例如,ActiveMQ队列、RabbitMQ队列、Kafka队列等,本申请对此不作限定。
数据库集群可以是现有技术或未来发展技术中的由多台数据库服务器构成的集群,例如,Mongodb集群、Redis集群等,本申请对此不作限定。
在一些可选的方式中,消息队列为Kafka队列,数据库集群为Redis集群。
在本实现方式中,消息队列为Kafka队列,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,信息处理效率较高。
数据库集群为Redis(Remote Dictionary Server,即远程字典服务)集群,是一个高性能的Key-Value数据库,其支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。
该实现方式中,消息队列为Kafka队列,数据库集群为Redis集群,有助于有效提升混音处理的有效性和可靠性。
在一些可选的方式中,混音操作还包括:响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行混音操作。
在本实现方式中,执行主体基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流后,可进一步判断目标数量的值是否满足预设条件,若目标数量不满足预设条件,则将目标数量确定为预设数量,并继续执行混音操作。
其中,预设条件可根据经验、实际需求和具体地应用场景确定,例如,目标数量的值等于预设值,目标数量的值处于预设的阈值范围等,本申请对此不作限定。
具体地,执行主体接收到预设数量条音频流,例如,1000000条音频流,则执行混音操作,混音操作包括:对于每一条音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列,进一步地,执行主体按照消息队列中各音频数据的数据库索引在数据库集群中提取音频数据,并控制目标数量个混音计算服务器对提取的音频数据进行混音,得到目标数量条音频流,其中,混音计算服务器用于对混合数,例如,100,条音频流进行混音,目标数量为预设数量与混合数的比值,例如,1000000/100=10000,即得到10000条音频流。
若预设条件为目标数量的数值为1,则执行主体将目标数量确定为预设数量,继续执行混音操作,即对于目标数量条音频流中的每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列,执行主体按照消息队列中各音频数据的数据库索引在数据库集群中提取音频数据,并控制目标数量个混音计算服务器对提取的音频数据进行混音,得到目标数量条音频流,目标数量为预设数量与混合数的比值,例如,10000/100=100,即得到100条音频流。
进一步,执行主体对目标数量的值进行判断,若目标数量的值仍不满足预设条件,则将目标数量确定为预设数量,继续执行混音操作,即对于目标数量条音频流中的每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列,执行主体按照消息队列中各音频数据的数据库索引在数据库集群中提取音频数据,并控制目标数量个混音计算服务器对提取的音频数据进行混音,得到目标数量条音频流,目标数量为预设数量与混合数的比值,例如,100/100=1,即得到1条音频流。
最后,执行主体对目标数量的值进行判断,若目标数量的值满足预设条件,则输出目标数量条音频流。
该实现方式通过响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行混音操作,以及响应于确定目标数量的值满足预设条件,输出目标数量条音频流,有助于在目标数量不满足预设条件时,进行多级混音,进而实现海量音频流的混音。
在一些可选的方式中,响应于确定目标数量不满足预设条件,将目标数量确定为预设数量,继续执行混音操作,包括:响应于确定目标数量的值不满足预设条件,且当前时刻未达到截止时间戳,将目标数量确定为预设数量,继续执行混音操作。
在本实现方式中,执行主体基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流后,可进一步判断目标数量是否满足预设条件,及当前时刻是否达到截止时间戳,若目标数量不满足预设条件,并且当前时刻未达到截止时间戳,则将目标数量确定为预设数量,并继续执行混音操作。
其中,截止时间戳可根据经验、实际需求设定,本申请对此不作限定。
具体地,执行主体接收到预设数量条音频流,例如,1000000条音频流,则执行混音操作,混音操作包括:对于每一条音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列,进一步地,执行主体按照消息队列中各音频数据的数据库索引在数据库集群中提取音频数据,并控制目标数量个混音计算服务器对提取的音频数据进行混音,得到目标数量条音频流,其中,混音计算服务器用于对混合数,例如,100,条音频流进行混音,目标数量为预设数量与混合数的比值,例如,1000000/100=10000,即得到10000条音频流。
若预设条件为目标数量的数值为1,当前时刻为00:00,截止时间戳为00:01,则执行主体可确定确定目标数量的值不满足预设条件,且当前时刻未达到截止时间戳,进而将目标数量确定为预设数量,继续执行混音操作。
需要指出的是,若执行主体响应于确定目标数量的值不满足预设条件,且当前时刻达到截止时间戳,则可输出备用音频流,以避免将不满足预设条件的视频流输出,或无视频流输出造成的音频卡顿的问题。
该实现方式通过响应于确定目标数量的值不满足预设条件,且当前时刻未达到截止时间戳,将目标数量确定为预设数量,继续执行混音操作,有助于混音处理操作超时,进而保障混音的有效性。
步骤203,响应于确定目标数量的值满足预设条件,输出目标数量条音频流。
在本实施例中,执行主体在得到目标数量条音频流后,可对目标数量的值进行判断,若目标数量的值满足预设条件,则输出目标数量条音频流。
其中,预设条件可根据经验、实际需求和具体地应用场景确定,例如,目标数量等于预设值,例如,1,5,10等,目标数量处于预设的阈值范围等,本申请对此不作限定。
继续参见图3,图3是根据本实施例的混音方法的应用场景的一个示意图。在直播场景中,执行主体301接收负载均衡后来自不同客户端的基于RTP的预设数量条音频流,例如,100000条音频流。对预设数量条音频流执行混音操作,混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群302,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于混音计算服务器集群303中的目标数量个混音计算服务器、数据库集群302和消息队列进行混音,得到目标数量条音频流,其中,目标数量为预设数量与混合数的比值,例如,100000/100,混音计算服务器用于对混合数条,例如,100条,音频流进行混音。响应于确定目标数量的值满足预设条件,输出目标数量条音频流。
本公开的实施例提供的混音方法,通过接收预设数量条音频流;执行混音操作,混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、数据库集群和消息队列进行混音,得到目标数量条音频流,其中,目标数量为预设数量与混合数的比值,所述混音计算服务器用于对混合数条音频流进行混音;响应于确定目标数量的值满足预设条件,输出目标数量条音频流,有助于实现对海量音频的混音。
进一步参考图4,其示出了图2所示的混音方法的又一个实施例的流程400。在本实施例中,混音方法的流程400,可包括以下步骤:
步骤401,接收到预设数量条音频流。
在本实施例中,步骤401的实现细节和技术效果,可以参考对步骤201的描述,在此不再赘述。
步骤402,执行混音操作。
在本实施例中,步骤402的实现细节和技术效果,可以参考对步骤202的描述,在此不再赘述。
步骤403,响应于确定目标数量的值满足预设条件,基于根据音频流对应的时间戳确定的音频流的时间长度,输出目标数量条音频流。
在本实施例中,执行主体在得到目标数量条音频流后,可对目标数量的值进行判断,若目标数量的值满足预设条件,则进一步根据时间戳确定音频流对应的时间长度,例如,10ms、20ms等,进而在该时间长度内同时输出目标数量条音频流。
本公开的上述实施例,与图2所示实施例相比,突出了响应于确定目标数量的值满足预设条件,基于根据音频流对应的时间戳确定的音频流的时间长度,输出目标数量条音频流,有助于输出的目标音频流的时间长度,与接收的音频流的时间长度相匹配,提升了输出的目标数量条音频流的有效性。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种混音装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的混音装置500包括:接收模块501、混音模块502和输出模块503。
其中,接收模块501,可被配置成接收预设数量条音频流。
混音模块502,可被配置成执行混音操作。
输出模块503,可被配置成响应于确定目标数量的值满足预设条件,输出目标数量条音频流。
在本实施例的一些可选的方式中,混音操作,还包括:响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行所述混音操作。
在本实施例的一些可选的方式中,响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行混音操作,包括:响应于确定目标数量的值不满足预设条件,且当前时刻未达到截止时间戳,将目标数量确定为预设数量,继续执行混音操作。
在本实施例的一些可选的方式中,输出模块进一步被配置成:响应于确定目标数量的值满足预设条件,基于根据音频流对应的时间戳确定的音频流的时间长度,输出目标数量条音频流。
在本实施例的一些可选的方式中,消息队列为Kafka队列,数据库集群为Redis集群。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图6所示,是根据本公开实施例的混音方法的电子设备的框图。
600是根据本公开实施例的混音方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的混音方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的混音方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的混音方法对应的程序指令/模块(例如,附图5所示的接收模块501、混音模块502和输出模块503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的混音方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储人脸跟踪的电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至车道线检测的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
混音方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生与车道线检测的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本公开实施例的技术方案,实现了加速了算子开发,提高了算子的可维护性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种混音方法,包括:
接收预设数量条音频流;
执行混音操作,所述混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、所述数据库集群和所述消息队列进行混音,得到目标数量条音频流,其中,所述目标数量为预设数量与混合数的比值,所述混音计算服务器用于对混合数条音频流进行混音;
响应于确定所述目标数量的值满足预设条件,输出所述目标数量条音频流。
2.根据权利要求1所述的方法,其中,所述混音操作,还包括:
响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行所述混音操作。
3.根据权利要求2所述的方法,其中,所述响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行所述混音操作,包括:
响应于确定目标数量的值不满足预设条件,且当前时刻未达到截止时间戳,将目标数量确定为预设数量,继续执行所述混音操作。
4.根据权利要求1所述的方法,其中,所述响应于确定所述目标数量的值满足预设条件,输出所述目标数量条音频流,包括:
响应于确定所述目标数量的值满足预设条件,基于根据音频流对应的时间戳确定的音频流的时间长度,输出所述目标数量条音频流。
5.根据权利要求1所述的方法,其中,所述消息队列为Kafka队列,所述数据库集群为Redis集群。
6.一种混音装置,包括:
接收模块,被配置成接收预设数量条音频流;
混音模块,被配置成执行混音操作,所述混音操作包括:对于每一音频流,将音频流解析为音频数据和时间戳,并将音频数据写入数据库集群,将该音频数据对应的数据库索引、时间戳和混合数写入消息队列;基于目标数量个混音计算服务器、所述数据库集群和所述消息队列进行混音,得到目标数量条音频流,其中,所述目标数量为预设数量与混合数的比值,所述混音计算服务器用于对混合数条音频流进行混音;
输出模块,被配置成响应于确定所述目标数量的值满足预设条件,输出所述目标数量条音频流。
7.根据权利要求6所述的装置,其中,所述混音操作,还包括:
响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行所述混音操作。
8.根据权利要求7所述的装置,其中,所述响应于确定目标数量的值不满足预设条件,将目标数量确定为预设数量,继续执行所述混音操作,包括:
响应于确定目标数量的值不满足预设条件,且当前时刻未达到截止时间戳,将目标数量确定为预设数量,继续执行所述混音操作。
9.根据权利要求6所述的装置,其中,所述输出模块进一步被配置成:
响应于确定所述目标数量的值满足预设条件,基于根据音频流对应的时间戳确定的音频流的时间长度,输出所述目标数量条音频流。
10.根据权利要求6所述的装置,其中,所述消息队列为Kafka队列,所述数据库集群为Redis集群。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614065.1A CN114217996A (zh) | 2021-12-27 | 2021-12-27 | 混音方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614065.1A CN114217996A (zh) | 2021-12-27 | 2021-12-27 | 混音方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114217996A true CN114217996A (zh) | 2022-03-22 |
Family
ID=80706152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614065.1A Pending CN114217996A (zh) | 2021-12-27 | 2021-12-27 | 混音方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114217996A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827101A (zh) * | 2022-04-13 | 2022-07-29 | 京东科技信息技术有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN114900503A (zh) * | 2022-04-22 | 2022-08-12 | 北京字节跳动网络技术有限公司 | 一种混音方法、装置、处理服务器、媒体服务器及介质 |
-
2021
- 2021-12-27 CN CN202111614065.1A patent/CN114217996A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827101A (zh) * | 2022-04-13 | 2022-07-29 | 京东科技信息技术有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN114900503A (zh) * | 2022-04-22 | 2022-08-12 | 北京字节跳动网络技术有限公司 | 一种混音方法、装置、处理服务器、媒体服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7194162B2 (ja) | データ処理方法、装置、電子機器及び記憶媒体 | |
WO2021259013A1 (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN111625738B (zh) | App目标页面的唤起方法、装置、设备和存储介质 | |
CN114217996A (zh) | 混音方法和装置 | |
CN111767069A (zh) | 小程序处理方法、服务器、设备及存储介质 | |
CN111757118B (zh) | 视频转码处理方法、装置、设备和介质 | |
JP2005228227A (ja) | シンクライアントシステム及びその通信方法 | |
CN111913884A (zh) | 分布式测试方法、装置、设备、系统和可读存储介质 | |
US20220138074A1 (en) | Method, electronic device and computer program product for processing data | |
CN112311597B (zh) | 消息推送方法和装置 | |
CN111881387A (zh) | 用于小程序的数据处理方法、装置、设备和介质 | |
CN111770161A (zh) | https的嗅探跳转方法和装置 | |
CN111813623A (zh) | 一种页面监控方法、装置、电子设备及存储介质 | |
CN114040220A (zh) | 直播方法和装置 | |
CN113825170A (zh) | 用于确定网络通道的方法和装置 | |
CN111865720A (zh) | 用于处理请求的方法、装置、设备以及存储介质 | |
CN112099933B (zh) | 一种任务作业、查询方法、装置、电子设备及存储介质 | |
CN111522599B (zh) | 用于发送信息的方法和装置 | |
CN111338937B (zh) | 一种对小程序干预下线的方法、装置、设备和介质 | |
CN112489659A (zh) | 基于输入法的数据处理方法、系统、服务器及终端设备 | |
CN111767489A (zh) | 网页运行的加速方法、装置、设备以及存储介质 | |
CN113779018A (zh) | 一种数据处理方法和装置 | |
CN112817965A (zh) | 一种数据拼接方法、装置、电子设备和存储介质 | |
CN113127512B (zh) | 多数据流的数据拼接触发方法、装置、电子设备和介质 | |
CN112738567B (zh) | 平台内容处理方法、装置、电子设备和存储介质 |
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 |