CN115065860A - 适用于舞台的音频数据处理方法、装置、设备及介质 - Google Patents
适用于舞台的音频数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115065860A CN115065860A CN202210775583.XA CN202210775583A CN115065860A CN 115065860 A CN115065860 A CN 115065860A CN 202210775583 A CN202210775583 A CN 202210775583A CN 115065860 A CN115065860 A CN 115065860A
- Authority
- CN
- China
- Prior art keywords
- audio data
- audio
- data packet
- timestamp
- queue
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 90
- 238000004458 analytical method Methods 0.000 claims abstract description 64
- 238000000605 extraction Methods 0.000 claims abstract description 55
- 230000003111 delayed effect Effects 0.000 claims abstract description 11
- 238000013441 quality evaluation Methods 0.000 claims description 70
- 238000012545 processing Methods 0.000 claims description 53
- 230000001174 ascending effect Effects 0.000 claims description 21
- 238000000034 method Methods 0.000 claims description 18
- 238000012937 correction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 23
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
- G11B2020/10629—Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
- G11B2020/10638—First-in-first-out memories [FIFO] buffers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Abstract
本发明实施例公开了一种适用于舞台的音频数据处理方法、装置、设备及介质,包括:从每个无线通信模块发送的音频数据包的包名中提取第一时间戳;判断主缓存队列对应的各个包名中是否包含第一时间戳;若不包含则将音频数据包插入主缓存队列中;将主缓存队列对应的各个包名对应的各个时间戳中的最早值作为第二时间戳,将当前时间减去延迟提取时长得到最晚提取时间,判断第二时间戳是否晚于最晚提取时间;若否则对主缓存队列中提取与第二时间戳对应的音频数据包进行音频解析得到音频数据段,将音频数据段插入播放队列,重复执行确定第二时间戳的步骤;若是则重复执行确定第二时间戳的步骤;根据播放队列进行音频播放,提高了音频播放的质量。
Description
技术领域
本发明涉及音频数据处理技术领域,尤其涉及一种适用于舞台的音频数据处理方法、装置、设备及介质。
背景技术
随着大型演出场景科技元素的日益丰富,舞台内的电子设备和装饰物品越来越多。舞台内的音响设备都是用卡侬头音频线进行音频传输,导致舞台内的音频线较多,又因有的音响设备距离较近,有的音响设备距离较远,导致音频线的走线错综复杂。为了解决该问题,在音响设备中设置WIFI(通过无线电波来连网的无线网络)进行音频传输,因舞台内的电子设备和装饰物品较多,导致存在遮挡和干扰,从而使WIFI传输的稳定性受到影响,影响了音频播放的质量,影响了舞台的演出效果。
发明内容
基于此,有必要针对现有技术的因舞台内的电子设备和装饰物品较多,导致存在遮挡和干扰,从而使WIFI传输的稳定性受到影响,影响了音频播放的质量问题,提出了一种适用于舞台的音频数据处理方法、装置、设备及介质。
一种适用于舞台的音频数据处理方法,所述方法应用于舞台的音频播放设备,所述方法包括:
获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
根据所述播放队列进行音频播放。
进一步的,所述若包含,则不将所述音频数据包插入所述主缓存队列中的步骤,包括:
若所述主缓存队列对应的各个所述包名中包含所述第一时间戳,则不将所述音频数据包插入所述主缓存队列中,并将预设的计数器初始化为1;
获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列;
判断所述待分析队列对应的各个所述包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述待分析队列中,以使所述待分析队列对应的各个所述包名按时间戳升序排序;
若包含,则将所述计数器加1,重复执行所述获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列的步骤,直至获取到所述停止处理信号;
所述对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段的步骤,包括:
从所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包,作为第一数据包;
根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段。
进一步的,所述根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段的步骤,包括:
从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,作为第二数据包;
根据预设的通道优先级配置,从所述第一数据包和各个所述第二数据包提取通道优先级最高的所述音频数据包,作为待解析数据包;
对所述待解析数据包进行音频解析,得到所述音频数据段。
进一步的,所述根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段的步骤,还包括:
对所述第一数据包进行音频解析,得到第一数据段;
将所述第一数据段输入预设的音频质量评估模型进行质量评估计算,作为第一质量评估结果;
判断所述第一质量评估结果是否位于预设的质量评估范围;
若是,则将所述第一数据段作为所述音频数据段;
若否,则从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,作为第三数据包;
对每个所述第三数据包进行音频解析,得到第二数据段;
将每个所述第二数据段输入所述音频质量评估模型进行质量评估计算,作为第二质量评估结果;
从所述第一质量评估结果和各个所述第二质量评估结果提取质量最高的质量评估结果,作为目标质量评估结果;
对所述目标质量评估结果对应的所述音频数据包进行音频解析,得到所述音频数据段。
进一步的,所述对所述第一数据包进行音频解析,得到第一数据段的步骤,包括:
将当前时间减去所述第二时间戳,作为待分析时长;
判断所述待分析时长是否小于预设的时长阈值;
若是,则对所述第一数据包进行音频解析,得到所述第一数据段;
若否,则对所述第一数据包进行音频解析,得到所述音频数据段。
进一步的,所述获取所述音频播放设备的每个无线通信模块发送的音频数据包的步骤之前,包括:
获取总控台发送的设备矫正时间和时间辅助列表;
根据所述设备矫正时间,对所述音频播放设备的本地时钟进行更新;
基于预设的间隔时长,从所述时间辅助列表中获取预设的时间窗对应的各个时间点,作为时间点集;
根据所述时间点集设置所述主缓存队列的节点,其中,每个所述节点用于存储一个所述音频数据包;
所述将所述音频数据包插入所述主缓存队列中的步骤,包括:
将所述音频数据包插入所述主缓存队列中的与所述第一时间戳对应的节点;
所述对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段的步骤,包括:
对所述主缓存队列中的与所述第二时间戳对应的节点中的所述音频数据包进行音频解析,作为所述音频数据段;
对所述主缓存队列中的与所述第二时间戳对应的节点进行删除处理。
进一步的,所述获取所述音频播放设备的每个无线通信模块发送的音频数据包的步骤,包括:
若所述无线通信模块的通信类型不为WIFI,则获取预设的音频输出设备通过通信类型不为WIFI的所述无线通信模块发送的所述音频数据包;
若所述无线通信模块的通信类型为WIFI,则获取预设的中转设备通过通信类型为WIFI的所述无线通信模块中发送的所述音频数据包,其中,所述中转设备位于所述舞台上方,所述中转设备用于获取所述音频输出设备发送的所述音频数据包;
其中,所述音频输出设备用于:
获取所述总控台发送的所述设备矫正时间和所述时间辅助列表;
根据所述设备矫正时间,对所述音频输出设备的所述本地时钟进行更新;
根据所述时间辅助列表,对预设的目标音频数据进行数据包打包,得到所述音频数据包。
一种适用于舞台的音频数据处理装置,所述装置应用于舞台的音频播放设备,所述装置包括:
数据获取模块,用于获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
第一判断模块,用于判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
缓存模块,用于若所述主缓存队列对应的各个包名中不包含所述第一时间戳,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若所述主缓存队列对应的各个包名中包含所述第一时间戳,则不将所述音频数据包插入所述主缓存队列中;
第二判断模块,用于将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
第一处理模块,用于若所述第二时间戳不晚于所述最晚提取时间,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
第二处理模块,用于所述第二时间戳晚于所述最晚提取时间,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
音频播放模块,用于根据所述播放队列进行音频播放。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
根据所述播放队列进行音频播放。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
根据所述播放队列进行音频播放。
本申请的适用于舞台的音频数据处理方法,通过获取所述音频播放设备的每个无线通信模块发送的音频数据包,从而实现了采用多个无线通信通道进行音频传输;判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳,若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中,实现了将多个无线通信模块最先到达的音频数据包插入主缓存队列中,综合了多个无线通信模块的传输优势,提高了音频传输的及时性和稳定性,从而为后续的音频处理和播放预留了时间,提高了音频播放的质量;在所述第二时间戳不晚于所述最晚提取时间时,对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,通过对比第二时间戳和最晚提取时间,尽量避免了部分时间戳的音频数据包的缺失,提高了音频播放的质量;根据所述播放队列进行音频播放,提高了播放的流畅性,提高了舞台的演出效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中适用于舞台的音频数据处理方法的流程图;
图2为一个实施例中适用于舞台的音频数据处理装置的结构框图;
图3为一个实施例中计算机设备的内部结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,在一个实施例中,提供了一种适用于舞台的音频数据处理方法。该方法应用于终端,所述终端应用于也可以应用于舞台的音频播放设备。该适用于舞台的音频数据处理方法具体包括如下步骤:
S1:获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
具体而言,基于无线通信模块与音频输出设备的无线通信连接,获取音频输出设备发送的音频数据包;从此次获取到的所述音频数据包的包名中提取出时间戳,将提取的时间戳作为第一时间戳。
音频数据包,是包含音频片段的数据包。音频数据包的包名中设有时间戳。
音频输出设备是音频源设备。
可以理解的是,因同一个音频片段采用多个无线通信模块进行传输,可能需要将音频片段采用多种数据包打包方式进行打包,针对同一个音频片段打包出来的各个音频数据包对应的各个包名中的时间戳相同。
步骤S1中的无线通信模块,是舞台的音频播放设备中的无线通信模块。无线通信模块是采用无线技术进行无线通信的通道。无线技术的选择范围包括但不限于:WIFI、Zigbee(低速短距离传输的无线网上协议)技术和蓝牙技术。
S2:判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
具体而言,判断预设的主缓存队列对应的各个包名对应的各个时间戳中是否包含第一时间戳。
可选的,主缓存队列,是一个可以在任意位置插入元素的队列。
S3:若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
具体而言,若不包含,也就是预设的主缓存队列对应的各个包名中不包含所述第一时间戳,此时意味着主缓存队列中还不包含第一时间戳对应的所述音频数据包,因此,将此次获取到的所述音频数据包插入所述主缓存队列中,插入完成后所述主缓存队列对应的各个所述包名按时间戳升序排序;若包含,也就是预设的主缓存队列对应的各个包名中包含所述第一时间戳,此时意味着主缓存队列中已经存储过第一时间戳对应的所述音频数据包,不需要再将此次获取到的所述音频数据包插入主缓存队列,因此,不将此次获取到的所述音频数据包插入所述主缓存队列中。从而使主缓存队列中永远保存每个时间戳最先到达的音频数据包,综合了多个无线通信模块的传输优势,提高了音频传输的及时性和稳定性,从而为后续的音频处理和播放预留了时间,提高了音频播放的质量。
可以理解的是,步骤S1至步骤S3循环执行,直至获取到停止处理信号。
停止处理信号,是停止音频播放的信号。停止处理信号可以是用户输入的,也可以是第三方应用系统发送的,还可以实现本申请的程序根据预设条件主动生成的。
S4:将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
具体而言,将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值作为第二时间戳,从而找到了还未解析处理的最早的时间戳;将当前时间减去预设的延迟提取时长,将相减得到的时间作为最晚提取时间;判断所述第二时间戳是否晚于所述最晚提取时间,就是判断所述第二时间戳对应的所述音频数据包是否满足解析时间条件。从而为等待音频数据包的获取和缓存提供了预设的时间条件,尽量避免了部分时间戳的音频数据包的缺失。
S5:若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
具体而言,若否,也就是所述第二时间戳不晚于所述最晚提取时间,此时意味着所述第二时间戳对应的所述音频数据包满足解析时间条件,因此,对从所述主缓存队列中提取的与所述第二时间戳对应的所述音频数据包进行音频解析,将解析得到的数据作为音频数据段;将所述音频数据段插入预设的播放队列的尾部,为基于播放队列进行音频播放提供了基础;重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,也就是重复执行步骤S4至步骤S5,直至获取到预设的停止处理信号;当获取到停止处理信号时,意味着停止进行音频播放,此时需要停止重复执行步骤S4至步骤S5。
S6:若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
具体而言,若是,也就是所述第二时间戳晚于所述最晚提取时间,此时意味着所述第二时间戳对应的所述音频数据包不满足解析时间条件,因此,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,也就是重复执行步骤S4至步骤S6,直至获取到所述停止处理信号;当获取到停止处理信号时,意味着停止进行音频播放,此时需要停止重复执行步骤S4至步骤S6。
S7:根据所述播放队列进行音频播放。
具体而言,从所述播放队列的头部获取音频数据段进行音频播放。
可以理解的是,步骤S1至步骤S3的循环执行、步骤S4至步骤S6的循环执行、步骤S7的执行可以同时并持续的进行。
本实施例通过获取所述音频播放设备的每个无线通信模块发送的音频数据包,从而实现了采用多个无线通信通道进行音频传输;判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳,若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中,实现了将多个无线通信模块最先到达的音频数据包插入主缓存队列中,综合了多个无线通信模块的传输优势,提高了音频传输的及时性和稳定性,从而为后续的音频处理和播放预留了时间,提高了音频播放的质量;在所述第二时间戳不晚于所述最晚提取时间时,对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,通过对比第二时间戳和最晚提取时间,尽量避免了部分时间戳的音频数据包的缺失,提高了音频播放的质量;根据所述播放队列进行音频播放,提高了播放的流畅性,提高了舞台的演出效果。
在一个实施例中,上述若包含,则不将所述音频数据包插入所述主缓存队列中的步骤,包括:
S311:若所述主缓存队列对应的各个所述包名中包含所述第一时间戳,则不将所述音频数据包插入所述主缓存队列中,并将预设的计数器初始化为1;
具体而言,若所述主缓存队列对应的各个所述包名中包含所述第一时间戳,此时意味着主缓存队列中已经包含第一时间戳对应的所述音频数据包,不需要再将此次获取到的所述音频数据包插入主缓存队列,因此,不将所述音频数据包插入所述主缓存队列中,并将预设的计数器初始化为1,为将此次获取到的所述音频数据包插入辅助缓存队列提供了基础。
S312:获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列;
具体而言,获取编号与所述计数器的值对应的辅助缓存队列,将获取的辅助缓存队列作为待分析队列。
辅助缓存队列,是一个可以在任意位置插入元素的队列。
辅助缓存队列的数量为多个。每个辅助缓存队列具有唯一的编号。
S313:判断所述待分析队列对应的各个所述包名中是否包含所述第一时间戳;
具体而言,判断所述待分析队列对应的各个所述包名对应的各个时间戳中是否包含所述第一时间戳。
S314:若不包含,则将所述音频数据包插入所述待分析队列中,以使所述待分析队列对应的各个所述包名按时间戳升序排序;
具体而言,若不包含,也就是所述待分析队列对应的各个包名中不包含所述第一时间戳,此时意味着所述待分析队列中还未缓存第一时间戳对应的所述音频数据包,因此,将此次获取到的所述音频数据包插入所述待分析队列中,插入完成时所述待分析队列对应的各个所述包名按时间戳升序排序。
S315:若包含,则将所述计数器加1,重复执行所述获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列的步骤,直至获取到所述停止处理信号;
具体而言,若包含,此时意味着待分析队列中已经缓存第一时间戳对应的所述音频数据包,不需要再将此次获取到的所述音频数据包插入待分析队列,因此,将所述计数器加1,为查找下一个辅助缓存队列作为待分析队列提供了基础;重复执行所述获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列的步骤,也就是重复执行步骤S312至步骤S315,直至获取到所述停止处理信号;当获取到所述停止处理信号时,停止重复执行步骤S312至步骤S315。
所述对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段的步骤,包括:
S511:从所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包,作为第一数据包;
具体而言,从所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包,将提取的数据包作为第一数据包。
S512:根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段。
具体而言,根据所述第一数据包和各个所述辅助缓存队列中的与所述第二时间戳对应的各个所述音频数据包,确定所述音频数据段。
本实施例在主缓存队列中已经缓存第一时间戳对应的所述音频数据包,将所述音频数据包存入辅助缓存队列,实现了在采用主缓存队列缓存最先达到的音频数据包的情况下,通过辅助缓存队列缓存多余的音频数据包,为结合主缓存队列和辅助缓存队列确定更优的音频数据段提供了基础。
在一个实施例中,上述根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段的步骤,包括:
S521:从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,作为第二数据包;
具体而言,从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,将提取的所述音频数据包作为第二数据包。
S522:根据预设的通道优先级配置,从所述第一数据包和各个所述第二数据包提取通道优先级最高的所述音频数据包,作为待解析数据包;
具体而言,将所述第一数据包和各个所述第二数据包作为数据包集;从所述数据包集中提取通道优先级最高的所述音频数据包,将提取的所述音频数据包作为待解析数据包,从而实现了将所述第一数据包和各个所述第二数据包中的通道优先级最高的所述音频数据包作为待解析数据包。
通道优先级,是指无线通信模块对应的无线通道的优先级。
通道优先级配置包括:通道优先级和无线通信模块对应的无线通道的标识。无线通信模块对应的无线通道的标识可以是无线通信模块对应的无线通道的名称,也可以是无线通信模块对应的无线通道的ID,用于唯一标识一个无线通信模块对应的无线通道。
可选的,每个所述音频数据包的包名中携带有无线通信模块对应的无线通道的标识。
S523:对所述待解析数据包进行音频解析,得到所述音频数据段。
具体而言,对所述待解析数据包进行音频解析,将解析得到的数据作为音频数据段。
因不同无线技术对数据包打包的质量和传输的质量不同,本实施例从所述第一数据包和各个所述第二数据包提取通道优先级最高的所述音频数据包作为待解析数据包,有利于将通道优先级最高的的音频数据包作为待解析数据包,进一步提高了音频播放的质量。
在一个实施例中,上述根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段的步骤,还包括:
S5231:对所述第一数据包进行音频解析,得到第一数据段;
具体而言,对所述第一数据包进行音频解析,将解析得到的数据作为第一数据段。
S5232:将所述第一数据段输入预设的音频质量评估模型进行质量评估计算,作为第一质量评估结果;
具体而言,将所述第一数据段输入预设的音频质量评估模型进行质量评估计算,将计算得到的质量评估结果作为第一质量评估结果。
第一质量评估结果,可以是分数,也可以是等级。
音频质量评估模型,又称为音频质量评价模型,是用于进行音频的质量评估。音频质量评估模型是基于神经网络训练得到的模型。
S5233:判断所述第一质量评估结果是否位于预设的质量评估范围;
S5234:若是,则将所述第一数据段作为所述音频数据段;
具体而言,若是,也就是所述第一质量评估结果位于预设的质量评估范围,此时意味着第一数据段的质量符合要求,因此,将所述第一数据段作为所述音频数据段。
S5235:若否,则从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,作为第三数据包;
具体而言,若是,也就是所述第一质量评估结果不位于预设的质量评估范围,此时意味着第一数据段的质量不符合要求,因此,从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,将提取的每个所述音频数据包作为一个第三数据包。
S5236:对每个所述第三数据包进行音频解析,得到第二数据段;
具体而言,对每个所述第三数据包进行音频解析,将解析得到的数据作为第二数据段。
S5237:将每个所述第二数据段输入所述音频质量评估模型进行质量评估计算,作为第二质量评估结果;
具体而言,将每个所述第二数据段输入所述音频质量评估模型进行质量评估计算,将计算得到的质量评估结果作为第二质量评估结果。
第二质量评估结果,可以是分数,也可以是等级。
S5238:从所述第一质量评估结果和各个所述第二质量评估结果提取质量最高的质量评估结果,作为目标质量评估结果;
具体而言,从所述第一质量评估结果和各个所述第二质量评估结果提取质量最高的质量评估结果结果,将提取出的质量评估结果作为目标质量评估结果。
可以理解的是,第一质量评估结果和所述第二质量评估结果可以均是分数,也可以均是等级。
S5239:对所述目标质量评估结果对应的所述音频数据包进行音频解析,得到所述音频数据段。
具体而言,所述目标质量评估结果对应的所述音频数据包,是缓存的所述第二时间戳的质量最好的所述音频数据包,因此,对所述目标质量评估结果对应的所述音频数据包进行音频解析,将解析得到的数据作为所述音频数据段。
本实施例在第一数据包解析得到的第一数据段的质量符合要求时,直接将第一数据段作为音频数据段,从而在确保质量的情况下,提高了解析的速度;在第一数据包解析得到的第一数据段的质量不符合要求时,将从缓存的所述第二时间戳的质量最好的所述音频数据包解析出的数据作为音频数据段,从而尽可能的提高音频数据段的质量。
在一个实施例中,上述对所述第一数据包进行音频解析,得到第一数据段的步骤,包括:
S52311:将当前时间减去所述第二时间戳,作为待分析时长;
具体而言,将当前时间减去所述第二时间戳,将计算得到的数据作为待分析时长。
S52312:判断所述待分析时长是否小于预设的时长阈值;
其中,时长阈值是一个大于0的数值。
S52313:若是,则对所述第一数据包进行音频解析,得到所述第一数据段;
具体而言,若是,也就是所述待分析时长小于预设的时长阈值,此时意味着时间还足够,因此,对所述第一数据包进行音频解析,得到所述第一数据段,为基于质量评估确定音频数据段提供了基础。
S52314:若否,则对所述第一数据包进行音频解析,得到所述音频数据段。
具体而言,若否,也就是所述待分析时长大于或等于预设的时长阈值,此时意味着时间不足够,此时如果基于质量评估确定音频数据段,将会影响音频播放的流畅性,因此,对所述第一数据包进行音频解析,直接将解析得到的数据作为所述音频数据段。
本实施例在所述待分析时长小于预设的时长阈值时再对所述第一数据包进行音频解析,得到所述第一数据段,在不影响音频播放的流畅性的情况下,为基于质量评估确定音频数据段提供了基础,提高了音频播放的质量;在所述待分析时长大于或等于预设的时长阈值时,对所述第一数据包进行音频解析,得到所述音频数据段,从而不基于质量评估确定音频数据段,提高了音频播放的流畅性。
在一个实施例中,上述获取所述音频播放设备的每个无线通信模块发送的音频数据包的步骤之前,包括:
S111:获取总控台发送的设备矫正时间和时间辅助列表;
具体而言,基于与总控台的通信连接,获取总控台发送的设备矫正时间和时间辅助列表。
总控台,是中央控制台,用于控制舞台上的所有设备。
时间辅助列表包括多个时间戳。
S112:根据所述设备矫正时间,对所述音频播放设备的本地时钟进行更新;
具体而言,将所述音频播放设备的本地时钟与所述设备矫正时间进行同步,从而使所述音频播放设备的本地时钟与总控台保持一致,为后续基于统一的时间戳的音频播放提供了基础。
S113:基于预设的间隔时长,从所述时间辅助列表中获取预设的时间窗对应的各个时间点,作为时间点集;
具体而言,基于预设的间隔时长,从所述时间辅助列表中获取预设的时间窗对应的各个时间点,也就是每间隔预设的间隔时长,从所述时间辅助列表中获取各个时间点,获取的各个时间点的最大的时间跨度与预设的时间窗的长度相同。
S114:根据所述时间点集设置所述主缓存队列的节点,其中,每个所述节点用于存储一个所述音频数据包;
具体而言,在所述主缓存队列中,针对所述时间点集的每个时间点设置一个节点。从而为音频数据包的快速插入提供了基础。
可选的,所述主缓存队列的节点按时间戳升序排序。
所述将所述音频数据包插入所述主缓存队列中的步骤,包括:
S321:将所述音频数据包插入所述主缓存队列中的与所述第一时间戳对应的节点;
具体而言,将所述音频数据包插入所述主缓存队列中的与所述第一时间戳对应的节点,从而实现了快速的插入音频数据包,提高了音频处理的速度。
所述对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段的步骤,包括:
S531:对所述主缓存队列中的与所述第二时间戳对应的节点中的所述音频数据包进行音频解析,作为所述音频数据段;
具体而言,对所述主缓存队列中的与所述第二时间戳对应的节点中的所述音频数据包进行音频解析,从而快速的从所述主缓存队列中提取音频数据包进行音频解析,提高了音频处理的速度。
S532:对所述主缓存队列中的与所述第二时间戳对应的节点进行删除处理。
具体而言,对所述主缓存队列中的与所述第二时间戳对应的节点进行删除处理,从而减少了主缓存队列占用的存储空间。
本实施例通过总控台发送的设备矫正时间对所述音频播放设备的本地时钟进行更新,从而使所述音频播放设备的本地时钟与总控台保持一致,为后续基于统一的时间戳的音频播放提供了基础;根据总控台发送的时间辅助列表设置主缓存队列,有利于快速的进行缓存和进行音频提取,提高了音频处理的速度;通过预设的时间窗限制了每次主缓存队列的长度,并且,在对所述主缓存队列中的与所述第二时间戳对应的节点中的所述音频数据包进行音频解析之后,对所述主缓存队列中的与所述第二时间戳对应的节点进行删除处理,减少了主缓存队列占用的存储空间。
在一个实施例中,上述获取所述音频播放设备的每个无线通信模块发送的音频数据包的步骤,包括:
S121:若所述无线通信模块的通信类型不为WIFI,则获取预设的音频输出设备通过通信类型不为WIFI的所述无线通信模块发送的所述音频数据包;
具体而言,若所述无线通信模块的通信类型不为WIFI,则获取预设的音频输出设备通过通信类型不为WIFI的所述无线通信模块发送的所述音频数据包,从而实际基于WIFI以外的无线通信技术,从音频输出设备直接获取音频数据包。
S122:若所述无线通信模块的通信类型为WIFI,则获取预设的中转设备通过通信类型为WIFI的所述无线通信模块中发送的所述音频数据包,其中,所述中转设备位于所述舞台上方,所述中转设备用于获取所述音频输出设备发送的所述音频数据包;
具体而言,若所述无线通信模块的通信类型为WIFI,则获取预设的中转设备通过通信类型为WIFI的所述无线通信模块中发送的所述音频数据包,从而实现从中转设备获取发送的音频数据包;而且中转设备位于所述舞台上方,提高了中转设备与各个音频输出设备及各个音频播放设备的无线通信连接的稳定性。
可选的,所述中转设备用于基于无线通信连接和/或有线通信连接,获取所述音频输出设备发送的所述音频数据包。
其中,所述音频输出设备用于:获取所述总控台发送的所述设备矫正时间和所述时间辅助列表;根据所述设备矫正时间,对所述音频输出设备的所述本地时钟进行更新;根据所述时间辅助列表,对预设的目标音频数据进行数据包打包,得到所述音频数据包。
具体而言,根据所述总控台发送的所述设备矫正时间对所述音频输出设备的所述本地时钟进行更新,从而使所述音频输出设备的本地时钟与总控台保持一致,为后续基于统一的时间戳的音频播放提供了基础;根据所述时间辅助列表中的各个时间戳,对预设的目标音频数据进行数据包打包,以实现按照总控台的要求的时间戳生成音频数据包。
本实施例中转设备位于所述舞台上方,提高了中转设备与各个音频输出设备及各个音频播放设备的无线通信连接的稳定性;根据所述总控台发送的所述设备矫正时间对所述音频输出设备的所述本地时钟进行更新,从而使所述音频输出设备的本地时钟与总控台保持一致,为后续基于统一的时间戳的音频播放提供了基础;根据所述时间辅助列表中的各个时间戳,对预设的目标音频数据进行数据包打包,以实现按照总控台的要求的时间戳生成音频数据包,从而提高了舞台的音频播放的同步性,进一步提高了舞台的演出效果。
如图2所示,在一个实施例中,提供了一种适用于舞台的音频数据处理装置,所述装置应用于舞台的音频播放设备,所述装置包括:
数据获取模块801,用于获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
第一判断模块802,用于判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
缓存模块803,用于若所述主缓存队列对应的各个包名中不包含所述第一时间戳,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若所述主缓存队列对应的各个包名中包含所述第一时间戳,则不将所述音频数据包插入所述主缓存队列中;
第二判断模块804,用于将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
第一处理模块805,用于若所述第二时间戳不晚于所述最晚提取时间,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
第二处理模块806,用于所述第二时间戳晚于所述最晚提取时间,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
音频播放模块807,用于根据所述播放队列进行音频播放。
本实施例通过获取所述音频播放设备的每个无线通信模块发送的音频数据包,从而实现了采用多个无线通信通道进行音频传输;判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳,若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中,实现了将多个无线通信模块最先到达的音频数据包插入主缓存队列中,综合了多个无线通信模块的传输优势,提高了音频传输的及时性和稳定性,从而为后续的音频处理和播放预留了时间,提高了音频播放的质量;在所述第二时间戳不晚于所述最晚提取时间时,对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,通过对比第二时间戳和最晚提取时间,尽量避免了部分时间戳的音频数据包的缺失,提高了音频播放的质量;根据所述播放队列进行音频播放,提高了播放的流畅性,提高了舞台的演出效果。
图3示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现适用于舞台的音频数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行适用于舞台的音频数据处理方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述适用于舞台的音频数据处理方法,所述方法应用于舞台的音频播放设备,所述方法包括:
获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
根据所述播放队列进行音频播放。
本实施例通过获取所述音频播放设备的每个无线通信模块发送的音频数据包,从而实现了采用多个无线通信通道进行音频传输;判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳,若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中,实现了将多个无线通信模块最先到达的音频数据包插入主缓存队列中,综合了多个无线通信模块的传输优势,提高了音频传输的及时性和稳定性,从而为后续的音频处理和播放预留了时间,提高了音频播放的质量;在所述第二时间戳不晚于所述最晚提取时间时,对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,通过对比第二时间戳和最晚提取时间,尽量避免了部分时间戳的音频数据包的缺失,提高了音频播放的质量;根据所述播放队列进行音频播放,提高了播放的流畅性,提高了舞台的演出效果。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述适用于舞台的音频数据处理方法,所述方法应用于舞台的音频播放设备,所述方法包括:
获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
根据所述播放队列进行音频播放。
本实施例通过获取所述音频播放设备的每个无线通信模块发送的音频数据包,从而实现了采用多个无线通信通道进行音频传输;判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳,若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中,实现了将多个无线通信模块最先到达的音频数据包插入主缓存队列中,综合了多个无线通信模块的传输优势,提高了音频传输的及时性和稳定性,从而为后续的音频处理和播放预留了时间,提高了音频播放的质量;在所述第二时间戳不晚于所述最晚提取时间时,对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,通过对比第二时间戳和最晚提取时间,尽量避免了部分时间戳的音频数据包的缺失,提高了音频播放的质量;根据所述播放队列进行音频播放,提高了播放的流畅性,提高了舞台的演出效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种适用于舞台的音频数据处理方法,所述方法应用于舞台的音频播放设备,所述方法包括:
获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若包含,则不将所述音频数据包插入所述主缓存队列中;
将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
若否,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
若是,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
根据所述播放队列进行音频播放。
2.根据权利要求1所述的适用于舞台的音频数据处理方法,其特征在于,所述若包含,则不将所述音频数据包插入所述主缓存队列中的步骤,包括:
若所述主缓存队列对应的各个所述包名中包含所述第一时间戳,则不将所述音频数据包插入所述主缓存队列中,并将预设的计数器初始化为1;
获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列;
判断所述待分析队列对应的各个所述包名中是否包含所述第一时间戳;
若不包含,则将所述音频数据包插入所述待分析队列中,以使所述待分析队列对应的各个所述包名按时间戳升序排序;
若包含,则将所述计数器加1,重复执行所述获取编号与所述计数器的值对应的辅助缓存队列,作为待分析队列的步骤,直至获取到所述停止处理信号;
所述对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段的步骤,包括:
从所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包,作为第一数据包;
根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段。
3.根据权利要求2所述的适用于舞台的音频数据处理方法,其特征在于,所述根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段的步骤,包括:
从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,作为第二数据包;
根据预设的通道优先级配置,从所述第一数据包和各个所述第二数据包提取通道优先级最高的所述音频数据包,作为待解析数据包;
对所述待解析数据包进行音频解析,得到所述音频数据段。
4.根据权利要求2所述的适用于舞台的音频数据处理方法,其特征在于,所述根据所述第一数据包和各个所述辅助缓存队列,确定所述音频数据段的步骤,还包括:
对所述第一数据包进行音频解析,得到第一数据段;
将所述第一数据段输入预设的音频质量评估模型进行质量评估计算,作为第一质量评估结果;
判断所述第一质量评估结果是否位于预设的质量评估范围;
若是,则将所述第一数据段作为所述音频数据段;
若否,则从每个所述辅助缓存队列提取与所述第二时间戳对应的所述音频数据包,作为第三数据包;
对每个所述第三数据包进行音频解析,得到第二数据段;
将每个所述第二数据段输入所述音频质量评估模型进行质量评估计算,作为第二质量评估结果;
从所述第一质量评估结果和各个所述第二质量评估结果提取质量最高的质量评估结果,作为目标质量评估结果;
对所述目标质量评估结果对应的所述音频数据包进行音频解析,得到所述音频数据段。
5.根据权利要求4所述的适用于舞台的音频数据处理方法,其特征在于,所述对所述第一数据包进行音频解析,得到第一数据段的步骤,包括:
将当前时间减去所述第二时间戳,作为待分析时长;
判断所述待分析时长是否小于预设的时长阈值;
若是,则对所述第一数据包进行音频解析,得到所述第一数据段;
若否,则对所述第一数据包进行音频解析,得到所述音频数据段。
6.根据权利要求1所述的适用于舞台的音频数据处理方法,其特征在于,所述获取所述音频播放设备的每个无线通信模块发送的音频数据包的步骤之前,包括:
获取总控台发送的设备矫正时间和时间辅助列表;
根据所述设备矫正时间,对所述音频播放设备的本地时钟进行更新;
基于预设的间隔时长,从所述时间辅助列表中获取预设的时间窗对应的各个时间点,作为时间点集;
根据所述时间点集设置所述主缓存队列的节点,其中,每个所述节点用于存储一个所述音频数据包;
所述将所述音频数据包插入所述主缓存队列中的步骤,包括:
将所述音频数据包插入所述主缓存队列中的与所述第一时间戳对应的节点;
所述对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段的步骤,包括:
对所述主缓存队列中的与所述第二时间戳对应的节点中的所述音频数据包进行音频解析,作为所述音频数据段;
对所述主缓存队列中的与所述第二时间戳对应的节点进行删除处理。
7.根据权利要求6所述的适用于舞台的音频数据处理方法,其特征在于,所述获取所述音频播放设备的每个无线通信模块发送的音频数据包的步骤,包括:
若所述无线通信模块的通信类型不为WIFI,则获取预设的音频输出设备通过通信类型不为WIFI的所述无线通信模块发送的所述音频数据包;
若所述无线通信模块的通信类型为WIFI,则获取预设的中转设备通过通信类型为WIFI的所述无线通信模块中发送的所述音频数据包,其中,所述中转设备位于所述舞台上方,所述中转设备用于获取所述音频输出设备发送的所述音频数据包;
其中,所述音频输出设备用于:
获取所述总控台发送的所述设备矫正时间和所述时间辅助列表;
根据所述设备矫正时间,对所述音频输出设备的所述本地时钟进行更新;
根据所述时间辅助列表,对预设的目标音频数据进行数据包打包,得到所述音频数据包。
8.一种适用于舞台的音频数据处理装置,所述装置应用于舞台的音频播放设备,所述装置包括:
数据获取模块,用于获取所述音频播放设备的每个无线通信模块发送的音频数据包,并从所述音频数据包的包名中提取出时间戳,作为第一时间戳;
第一判断模块,用于判断预设的主缓存队列对应的各个包名中是否包含所述第一时间戳;
缓存模块,用于若所述主缓存队列对应的各个包名中不包含所述第一时间戳,则将所述音频数据包插入所述主缓存队列中,以使所述主缓存队列对应的各个所述包名按时间戳升序排序,若所述主缓存队列对应的各个包名中包含所述第一时间戳,则不将所述音频数据包插入所述主缓存队列中;
第二判断模块,用于将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳,将当前时间减去预设的延迟提取时长,得到最晚提取时间,判断所述第二时间戳是否晚于所述最晚提取时间;
第一处理模块,用于若所述第二时间戳不晚于所述最晚提取时间,则对所述主缓存队列中提取与所述第二时间戳对应的所述音频数据包进行音频解析,得到音频数据段,将所述音频数据段插入预设的播放队列,重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到预设的停止处理信号;
第二处理模块,用于所述第二时间戳晚于所述最晚提取时间,则重复执行所述将所述主缓存队列对应的各个所述包名对应的各个所述时间戳中的最早值,作为第二时间戳的步骤,直至获取到所述停止处理信号;
音频播放模块,用于根据所述播放队列进行音频播放。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210775583.XA CN115065860B (zh) | 2022-07-01 | 2022-07-01 | 适用于舞台的音频数据处理方法、装置、设备及介质 |
US18/344,876 US20240007707A1 (en) | 2022-07-01 | 2023-06-30 | Audio data processing method, audio data processing apparatus, computer readble storage medium, and electronic device suitable for stage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210775583.XA CN115065860B (zh) | 2022-07-01 | 2022-07-01 | 适用于舞台的音频数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115065860A true CN115065860A (zh) | 2022-09-16 |
CN115065860B CN115065860B (zh) | 2023-03-14 |
Family
ID=83204378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210775583.XA Active CN115065860B (zh) | 2022-07-01 | 2022-07-01 | 适用于舞台的音频数据处理方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240007707A1 (zh) |
CN (1) | CN115065860B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024093490A1 (zh) * | 2022-10-31 | 2024-05-10 | 抖音视界有限公司 | 一种音频编码数据包的处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100338A (zh) * | 2014-05-23 | 2015-11-25 | 联想(北京)有限公司 | 降低噪声的方法和装置 |
CN108737874A (zh) * | 2018-06-05 | 2018-11-02 | 武汉斗鱼网络科技有限公司 | 一种视频播放方法及电子设备 |
CN108873987A (zh) * | 2018-06-02 | 2018-11-23 | 熊冠 | 一种舞台音响的智能控制系统及方法 |
CN108965971A (zh) * | 2018-07-27 | 2018-12-07 | 北京数码视讯科技股份有限公司 | 多路音频同步控制方法、控制装置及电子设备 |
CN109714634A (zh) * | 2018-12-29 | 2019-05-03 | 青岛海信电器股份有限公司 | 一种直播数据流的解码同步方法、装置及设备 |
WO2020024945A1 (zh) * | 2018-08-01 | 2020-02-06 | 北京微播视界科技有限公司 | 确定时间戳的方法和装置 |
CN114512139A (zh) * | 2022-04-18 | 2022-05-17 | 杭州星犀科技有限公司 | 多路音频混音的处理方法、系统、混音处理器和存储介质 |
-
2022
- 2022-07-01 CN CN202210775583.XA patent/CN115065860B/zh active Active
-
2023
- 2023-06-30 US US18/344,876 patent/US20240007707A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105100338A (zh) * | 2014-05-23 | 2015-11-25 | 联想(北京)有限公司 | 降低噪声的方法和装置 |
CN108873987A (zh) * | 2018-06-02 | 2018-11-23 | 熊冠 | 一种舞台音响的智能控制系统及方法 |
CN108737874A (zh) * | 2018-06-05 | 2018-11-02 | 武汉斗鱼网络科技有限公司 | 一种视频播放方法及电子设备 |
CN108965971A (zh) * | 2018-07-27 | 2018-12-07 | 北京数码视讯科技股份有限公司 | 多路音频同步控制方法、控制装置及电子设备 |
WO2020024945A1 (zh) * | 2018-08-01 | 2020-02-06 | 北京微播视界科技有限公司 | 确定时间戳的方法和装置 |
CN109714634A (zh) * | 2018-12-29 | 2019-05-03 | 青岛海信电器股份有限公司 | 一种直播数据流的解码同步方法、装置及设备 |
CN114512139A (zh) * | 2022-04-18 | 2022-05-17 | 杭州星犀科技有限公司 | 多路音频混音的处理方法、系统、混音处理器和存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024093490A1 (zh) * | 2022-10-31 | 2024-05-10 | 抖音视界有限公司 | 一种音频编码数据包的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115065860B (zh) | 2023-03-14 |
US20240007707A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190007344A1 (en) | Multiplexing method for scheduled frames in an ethernet switch | |
CN115065860B (zh) | 适用于舞台的音频数据处理方法、装置、设备及介质 | |
US20160373364A1 (en) | Packet processing device, packet processing method and program | |
CN109446173A (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
CN108155982B (zh) | 一种时间戳处理方法及设备 | |
KR102235825B1 (ko) | 통신 신호 프레임을 송신하는 방법, 실체 및 프로그램 | |
CN106911589B (zh) | 一种数据处理方法和设备 | |
US9042411B1 (en) | System and method for accurate time sampling in presence of output delay | |
CN112468410B (zh) | 一种增强网络流量特征准确率的方法和装置 | |
CN109246163A (zh) | 终端信息识别方法及装置 | |
CN106506249B (zh) | 数据采集方法和装置 | |
CN109063142B (zh) | 网页资源推送方法、服务器及存储介质 | |
CN114647698A (zh) | 数据同步方法、装置及计算机存储介质 | |
US10686897B2 (en) | Method and system for transmission and low-latency real-time output and/or processing of an audio data stream | |
US20220210078A1 (en) | Method implemented by computer means of a communicating entity in a packet-switched network, and computer program and computer-readable non-transient recording medium thereof, and communicating entity of a packet-switched network | |
US8095638B2 (en) | Systems and methods for harvesting expired sessions | |
CN109640141B (zh) | 一种音频时间戳的校正方法、校正装置及音视频终端 | |
US10033665B2 (en) | System and a method of analysing a plurality of data packets | |
CN109427342A (zh) | 用于防止语音延迟的语音数据处理装置及方法 | |
CN114071487B (zh) | 一种接口时延测量方法、相关网络设备和存储介质 | |
CN112019393B (zh) | 一种确定时延的方法及装置 | |
US20100260062A1 (en) | Protocol delay measuring device and protocol delay measuring method | |
CN115022658A (zh) | 适用于嵌入式的直播数据处理方法、装置、设备及介质 | |
US20220308914A1 (en) | Non-transitory computer-readable storage medium, data processing method, and data processing system | |
CN113904992B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |