CN117476026A - 一种多路音频数据混音的方法、系统、装置及存储介质 - Google Patents

一种多路音频数据混音的方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN117476026A
CN117476026A CN202311801062.8A CN202311801062A CN117476026A CN 117476026 A CN117476026 A CN 117476026A CN 202311801062 A CN202311801062 A CN 202311801062A CN 117476026 A CN117476026 A CN 117476026A
Authority
CN
China
Prior art keywords
audio data
superimposed
data
audio
terminal
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
Application number
CN202311801062.8A
Other languages
English (en)
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.)
Xi'an Xintong Semiconductor Technology Co ltd
Original Assignee
Xi'an Xintong Semiconductor 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 Xi'an Xintong Semiconductor Technology Co ltd filed Critical Xi'an Xintong Semiconductor Technology Co ltd
Priority to CN202311801062.8A priority Critical patent/CN117476026A/zh
Publication of CN117476026A publication Critical patent/CN117476026A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems

Abstract

本发明实施例公开了一种多路音频数据混音的方法、系统、装置及存储介质,属于音频处理技术领域,该方法可以包括:接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;将所述输出音频数据发送至各终端进行播放以实现多路通话。通过该技术方案,能够不限制混音路数,可以提高整体音频质量并避免过饱和及爆破音失真现象。

Description

一种多路音频数据混音的方法、系统、装置及存储介质
技术领域
本发明实施例涉及音频处理技术领域,尤其涉及一种多路音频数据混音的方法、系统、装置及存储介质。
背景技术
随着音频技术的发展,目前大部分音频以数字信号的形式进行保存和传输。对于多路通话的场景,例如,视频会议、电话会议、音视频直播等,通过对多路音频数据的混音处理,可以实现多个通话终端之间的音频数据的统一混合和分发,从而实现多路通话的效果。所述对多路音频数据的混音处理的工作原理为将多路音频数据按照一定的混音算法进行叠加计算,混合成单路音频数据。目前,通常采用线性叠加算法对所述多路音频数据进行混音处理,所述线性叠加算法是将输入的多路音频信号的振幅值直接相加,因此,对混合结果的影响是相互独立、线性叠加的,即每个输入的音频信号对混合结果的贡献是可以直接叠加的,不会相互影响或者相互抵消。通过所述线性叠加算法可以将多路音频信号进行简单有效的混合以实现多路音频信号的合成和混音。
当混音算法采用所述线性叠加算法时,存在以下两个问题,其中,一个问题是如果混音路数过多容易出现声音过饱和,即声音听上去比较沉闷,反应在频谱上就是低频成分较多,另一个问题是容易出现爆破音,即对数据组截断处理后导致的声音不连续、突变现象。
发明内容
有鉴于此,本发明实施例期望提供一种多路音频数据混音的方法、系统、装置及存储介质,能够不限制混音路数,可以提高整体音频质量并避免过饱和及爆破音失真现象。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种多路音频数据混音的方法,包括:
接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;
将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;
将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;
将所述输出音频数据发送至各终端进行播放以实现多路通话。
第二方面,本发明实施例提供一种混音系统,所述系统包括:一个或多个终端以及服务器,各组件之间通过网络连接进行通信,其中,
所述一个或多个终端,用于将自身的音频数据通过网络连接发送至服务器;
所述服务器,用于接收各终端的多路音频数据以执行第一方面所述多路音频数据混音的方法。
第三方面,本发明实施例提供一种多路音频数据混音的装置,所述装置包括:接收部分、叠加部分、采样部分以及发送部分;其中,
所述接收部分,经配置为接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;
所述叠加部分,经配置为将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;
所述采样部分,经配置为将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;
所述发送部分,经配置为将所述输出音频数据发送至各终端进行播放以实现多路通话。
第四方面,本发明实施例提供了一种服务器设备,所述服务器设备包括:通信接口,存储器和处理器;各个组件通过总线系统耦合在一起;其中,
所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行第一方面所述多路音频数据混音的方法。
第五方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现第一方面所述多路音频数据混音的方法。
本发明实施例提供了一种多路音频数据混音的方法、系统、装置及存储介质,通过服务器接收各终端上传的多路待叠加的音频数据,获得叠加后的音频数据,并将所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据,然后对所述叠加后的音频数据进行音频重采样以调整音频的频率、采样格式、通道数等参数并获得单路的输出音频数据,将所述输出音频数据发送至各终端进行播放以实现多路通话。通过该技术方案,对混音路数没有限制,可以避免混音处理过程中的过饱和失真现象,并且将所述多路音频数据通过音频数据交替复制算法叠加到目标音频数据,未对所述多路音频数据进行截断处理,减少了混音处理过程中的爆破音失真现象。
附图说明
图1为能够实现本发明实施例技术方案的一种混音系统的组成示意图;
图2为本发明实施例提供的一种服务器设备的硬件结构示意图;
图3为本发明实施例提供的一种多路音频数据混音的方法流程图;
图4为本发明实施例提供的一种多路音频数据的复制流程图;
图5为本发明实施例提供的一种多路音频数据的音频重采样流程图;
图6为本发明实施例提供的一种多路音频数据混音的详细流程图;
图7为本发明实施例提供的一种多路音频数据混音的装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
参见图1,其示出了能够适用于本发明实施例所阐述技术方案的示例性(和简化的)的混音系统100。需注意,图1所示出的混音系统100是可能的系统的仅一个示例,并且可根据需要在各种系统中的任一系统中实现本发明的实施方案。如图1所示,混音系统100可以包括一个或多个(3个为例)终端,分别被标识为终端10-1、终端10-2以及终端10-3、网络20和服务器30。其中,终端10-1、终端10-2以及终端10-3上可以安装有各种客户端应用,例如,唱歌类应用、录音类应用、音频数据编辑类应用等。各终端可以是硬件,也可以是软件。当各终端为硬件时,可以是具有显示屏并且支持音频数据编辑功能的各种电子设备,例如,通过连接的麦克风采集的音频数据。当各终端为软件时,可以安装在上述所列举的电子设备中,可以实现为多个软件或软件模块,例如用来提供分布式服务,也可以实现成单个软件或软件模块,在此不做具体限定。本发明实施例中的终端10-1、终端10-2以及终端10-3,可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(PDA)、平板电脑(PAD)、便携式多媒体播放器(PMP)、车载终端,例如车载导航终端等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。
网络20,经配置用于在终端10-1、终端10-2以及终端10-3与服务器30之间提供通信链路的介质。网络20可以包括各种连接类型,例如,有线、无线通信链路或者光纤电缆等等。用户可以使用终端10-1、终端10-2以及终端10-3通过网络20与服务器30交互以接收或送消息或数据。
服务器30,可以是提供各种服务的服务器,例如,为终端10-1、终端10-2以及终端10-3所安装的音频数据编辑类应用提供支持的服务器。作为示例,在多方通话时,终端10-1、终端10-2以及终端10-3可以将自身录制的通话内容,即多路音频数据上传到服务器30,服务器30在接收到各终端上传的所述多路音频数据后进行解码。进一步,可以对解码后的所述多路音频数据进行重采样处理以生成单路的输出音频数据,对所述输出音频数据进行编码、封装等处理之后下发给各终端进行播报。服务器30可以是硬件,也可以是软件。当服务器30为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器30为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务,也可以实现成单个软件或软件模块,在此不做具体限定。需要说明的是,本发明的实施例所提供的用于多路音频数据混音的方法一般由服务器30执行,相应地,用于多路音频数据混音的装置一般设置于服务器30中。可以理解地,如图1中所示的终端10-1、终端10-2以及终端10-3、网络20和服务器30的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
针对图1所示出的混音系统100,在一些示例中,对于服务器30的硬件结构组成,参见图2,其示出了服务器设备200的硬件组成的示例,该服务器设备200至少可以包括:通信接口211、处理器212以及存储器213;各个组件通过总线系统214耦合在一起。可理解,总线系统214用于实现这些组件之间的连接通信。总线系统214除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统214。其中,在一些示例中,所述通信接口211,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送。
在一些示例中,处理器212可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)、音频处理器或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的内容可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器213中。
在一些示例中,存储器213可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如,静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(EnhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的系统和方法的存储器213旨在包括但不限于这些和任意其它适合类型的存储器。如图1所示的服务器30将终端10-1、终端10-2以及终端10-3上传的自身录制的音频数据存储至存储器213,然后通过处理器212进行解码、叠加以及重采样等以获得单路的输出音频数据。
结合图1所示的混音系统100以及图2,对于各终端上传的多路音频数据的混音处理,当前通常采用线性叠加算法,所述线性叠加算法是将输入的多路音频信号的振幅值直接相加,因此,对混合结果的影响是相互独立、线性叠加的。但是当混音算法采用所述线性叠加算法时,存在以下两个问题,其中,一个问题是如果混音路数过多容易出现声音过饱和,即声音听上去比较沉闷,反应在频谱上就是低频成分较多,另一个问题是容易出现爆破音,即对数据组截断处理后导致的声音不连续、突变现象。基于此,本发明实施例期望提供一种多路音频数据混音的技术方案,以多路通话场景为例,通过服务器对接收到的不同终端的音频数据进行交替复制并进行音频重采样以获得单路的输出音频数据,达到混音的效果。通过该技术方案,能够不限制混音路数,可以提高整体音频质量并避免过饱和及爆破音失真现象。参见图3,其示出了本发明实施例提供的一种多路音频数据混音的方法,该方法应用于如图1所示的混音系统100中的服务器30,该方法包括:
S301:接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;
S302:将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;
S303:将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;
S304:将所述输出音频数据发送至各终端进行播放以实现多路通话。
根据上述方案的描述,本发明实施例通过服务器接收各终端上传的多路待叠加的音频数据,获得叠加后的音频数据,并将所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据,然后对所述叠加后的音频数据进行音频重采样以调整音频的频率、采样格式、通道数等参数并获得单路的输出音频数据,将所述输出音频数据发送至各终端进行播放以实现多路通话。通过该技术方案,对混音路数没有限制,可以避免混音处理过程中的过饱和失真现象,并且将所述多路音频数据通过音频数据交替复制算法叠加到目标音频数据,未对所述多路音频数据进行截断处理,减少了混音处理过程中的爆破音失真现象。
针对图3所示的技术方案,在一些可能的实现方式中,所述接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据,具体来说,本发明实施例以三个终端为例,三个终端通过网络连接分别上传自身录制的音频数据,即有三路待叠加的音频数据。各终端上传的自身录制的音频数据,即为实时脉冲编码调制(Pulse Code Modulation,PCM)数据,所述PCM数据是指没有经过压缩处理的裸音频数据。对于各终端将自身录制的音频数据上传至服务器的具体实现为:各终端可以使用网络传输协议,例如,传输控制协议/网际协议(Transmission Control Protocol/InternetProtocol,TCP/IP)或用户数据报协议(User DatagramProtocol,UDP),将本地通话内容,即本地的PCM数据上传至服务器。通常情况下,所述PCM数据会以数字音频数据的形式进行传输。各终端将自身录制的音频数据进行压缩编码,然后通过网络传输协议将所述音频以数据包形式发送至服务器。常见的音频传输协议,包括实时传输协议(Real-time TransportProtocol,RTP)和实时流传输协议(Real Time Streaming Protocol,RTSP)等。相应地,服务器需要设置相应的网络接收功能以接收来自各终端的多路待叠加的音频数据,可以通过网络套接字或者其他网络通信库来实现,具体来说,当服务器需要接收来自各终端的多路待叠加的音频数据时,可以通过以下步骤来实现:首先,创建套接字,服务器创建一个网络套接字,以便与各终端进行通信。具体来说,通过使用套接字应用程序接口来实现,根据具体的网络协议选择合适的套接字类型,例如,TCP套接字或UDP套接字。其次,绑定端口,服务器需要将套接字绑定到一个特定的网络端口上,以使得各终端可以通过该端口与服务器进行通信,通过调用套接字绑定函数来实现。再次,监听连接,如果使用TCP套接字,服务器需要开始监听传入的连接请求,以使得各终端可以建立与服务器的连接,通过调用套接字监听函数来实现。然后,接收连接,一旦有终端发起连接,服务器需要接收连接请求,并创建一个新的套接字来处理与该终端的通信,通过调用套接字接收函数来实现。最后,接收数据,一旦连接建立,服务器可以通过新创建的套接字接收来自各终端的音频数据,通过调用套接字接收函数来实现,接收到的音频数据将被存储至服务器的存储器中。需要注意的是,在实际应用中,服务器还需要处理网络异常、数据包丢失、超时等情况,并进行相应的错误处理和重传机制。此外,对于UDP套接字,服务器端需要处理数据包的顺序问题和丢包问题。
针对图3所示的技术方案,在一些可能的实现方式中,所述将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据,包括:
将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法复制到目标音频数据以获得复制后的音频数据;
将所述复制后的音频数据与所述目标音频数据进行叠加以获得叠加后的音频数据。
对于上述实现方式,在一些示例中,所述将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法复制到目标音频数据以获得复制后的音频数据,具体来说,参见图4,其示出了本发明实施例提供的一种多路音频数据的复制流程图,具体来说,如果有三路音频数据,假设每一路音频频率均是48000 HZ,则单路一秒的数据量为48000,目标音频数据总的大小是48000*3。所述多路音频数据的复制,操作时只需依次复制第一路数据的第1个数据,即数据1,第二路的第1个数据,即数据1',第三路的第1个数据,即数据1'',第一路的第2个数据,即数据2,第二路的第2个数据,即数据2',第三路的第2个数据,即数据2'',第一路的第3个数据……第一路的第n个数据,第二路的第n个数据,第三路的第n个数据依次复制即可。
对于上述示例,所述复制操作是由如图1所示的服务器30完成的,服务器30将多个终端的音频数据复制到一个数据源中,即目标音频数据。上述复制操作可以通过编程语言提供的内存操作函数来完成。复制后的音频数据由服务器30来管理,包括对其进行进一步处理、输出到文件或者传输到音频处理器等操作。
需要说明的是,如果每路音频数据有多个声道,则目标音频数据调整为对应声道数,并把每路音频数据的对应声道的数据复制到对应目标音频数据对应的声道数据中即可,此部分非本发明的重点使用场景,其工作的原理与上述技术方案类似,本发明实施例不再详细赘述。
对于上述实现方式,在一些示例中,所述将所述复制后的音频数据与所述目标音频数据进行叠加以获得叠加后的音频数据,包括:
将复制后的音频数据中的每个采样值与所述目标音频数据的相应位置的对应采样点的采样值进行叠加以获得叠加后的音频数据。
对于上述示例,具体来说,所述将所述复制后的音频数据与所述目标音频数据进行叠加,实际上是将复制后的多路音频数据中的每个采样值叠加到目标音频数据的相应位置上,即对复制后的多路音频数据中的每个采样值与目标音频数据的相应位置上的每个采样点的采样值会相加。举例来说,假设有两路音频数据A和B,每一路音频数据都是由一系列采样点组成的。要将这两路音频数据叠加到目标音频数据C中,那么叠加的过程就是将A和B的每个采样点的采样值分别叠加到C的相应位置上。例如,假设A、B和C的前5个采样点的采样值分别为A:[0.2,0.3,0.5,0.4,0.1] 、B:[0.1,0.2,0.4,0.3,0.2]、C:[0.5,0.7,0.3,0.6,0.8],那么将A和B叠加到C后,C的采样值将变为C:[0.6,1.0,0.9,0.7,1.0],上述过程就是简单的叠加。
针对图3所示的技术方案,在一些可能的实现方式中,所述方法还包括:
将所述叠加后的音频数据,根据缩放因子进行归一化处理以调整所述叠加后的音频数据的振幅值范围,获得归一化后的音频数据。
对于上述实现方式,在一些示例中,所述将所述叠加后的音频数据,根据缩放因子进行归一化处理以调整所述叠加后的音频数据的振幅值范围,获得归一化后的音频数据,包括:
根据叠加后的音频数据的取值范围确定目标范围的最大值并遍历所述叠加后的音频数据以获得叠加后的音频数据的最大振幅值;
根据所述目标范围的最大值和所述叠加后的音频数据的最大振幅值计算缩放因子,根据所述缩放因子进行归一化处理以获得归一化后的音频数据。
对于上述示例,具体来说,在实际应用中,对所述叠加后的音频数据还需要进行归一化处理,即需要调整所述叠加后的音频数据的振幅值范围以确保其在合适的范围内,避免过饱和及爆破音等问题。详细来说,在音频处理中,各终端自身录制的音频数据,即PCM数据,通常表示音频信号的振幅值,通过归一化处理可以确保整个音频信号的振幅范围在合适的范围内,不至于超出音频处理器的处理能力。具体的归一化处理流程如下:首先,确定归一化的目标范围的最大值,通常情况下,PCM数据的取值范围是在一个固定的区间内,例如,对于16位整型的PCM来说,其取值范围为[-32768,32767],则目标范围的最大值为32767,对于浮点数表示的PCM数据,其取值范围为[-1.0, 1.0],则目标范围的最大值为1.0。其次,计算所述叠加后的音频数据,即目标PCM数据的最大振幅值,遍历所述目标PCM数据,找到振幅值的绝对值的最大值,用于后续的归一化处理。然后,对所述目标PCM数据进行归一化处理或缩放处理,将所述目标PCM数据中的每个采样值乘以缩放因子,使得目标PCM数据的最大振幅值小于等于目标范围的最大值。具体的缩放因子计算公式为:
缩放因子 = 目标范围的最大值 /目标PCM数据的最大振幅值。
需要说明的是,所述缩放因子是将所述目标PCM数据的最大振幅值进行调整,使其振幅值的范围适应目标范围。具体来说,所述缩放因子是一个比例系数,用于将所述目标PCM数据中的振幅值进行线性缩放,以使其适应目标范围。在归一化处理中,所述缩放因子的计算是基于所述目标PCM数据的最大振幅值和所述目标范围的最大值来计算的。通过所述缩放因子,可以将所述目标PCM数据的振幅值按比例进行调整,使其最大振幅值小于等于目标范围的最大值。举例来说,如果所述目标PCM数据的最大振幅值为10000,而对于16位整型的PCM数据来说,目标范围的最大值为32767,那么缩放因子是32767/10000=3.2767。对所述目标PCM数据进行缩放处理,是将所述目标PCM数据中的每个采样值乘以缩放因子,即对于所述目标PCM数据中的每个采样值,都需要乘以3.2767,以使其振幅值的范围适应目标范围。通过这种调整,可以保证音频信号的质量和稳定性。此外,所述归一化处理流程,可以确保所述目标PCM数据的振幅值范围在合适的范围内,避免了过饱和及爆破音等问题。这对于音频处理中的混音、叠加等操作非常重要,可以提高整体音频质量并避免不必要的失真。所述过饱和及爆破音都是混音过程中可能出现的音频失真现象,其中,所述过饱和指的是音频信号的振幅值超过了处理设备或者文件格式所能表示的目标范围的最大值,导致信号被截断或者失真。所述爆破音是指音频信号的振幅值超过了设备所能处理的目标范围的最大值,导致波形发生截断,产生尖锐的失真声。这两种失真都是由于音频信号的振幅值超过了设备或者文件格式的处理能力而引起的。因此,在进行混音处理时,需要注意控制各个音频信号的振幅值,避免出现过饱和及爆破音等问题,以保证混音结果的音质和听感。
针对图3所示的技术方案,在一些可能的实现方式中,所述将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据,包括:
根据将所述叠加后的音频数据重采样到的目标采样频率,判断所述目标采样频率与所述叠加后的音频数据的原始频率之间的关系;
若所述目标采样频率高于所述叠加后的音频数据的原始频率,则将所述叠加后的音频数据采用插值方式匹配所述目标采样频率以获得单路的输出音频数据;
若所述目标采样频率低于所述叠加后的音频数据的原始频率,则将所述叠加后的音频数据采用抽取方式匹配所述目标采样频率以获得单路的输出音频数据。
对于上述实现方式,具体来说,所述音频重采样是为了调整音频的采样频率,如果是对声道数的调整,则称为 downmix或者upmix,如果是采样格式的调整,则通过对应的函数来实现,将音频数据转换为新的输出格式以便混音处理和播放。其中,所述采样频率,用于表示音频数据的每秒采样点数。常见的音频的采样频率有8000 Hz、44100 Hz、48000Hz以及96000 Hz等,则对应的单路一秒的比特率分别为8000、44100、48000以及96000。所述声道,用于确定当前音频有几路输出。可以理解地,单声道就只需要一个扬声器即可播放,如果是双声道或立体声,就需要两个扬声器,即左右声道,通过音频可以判断出音源位置,如果是三声道,需要三个扬声器,即左,中,右 或者 左,右+低音,此外,还有四声道,五声道以及六声道等等。对于网络通话场景来说,使用单声道即可。所述采样格式,即数据类型,用于表示单个音频数据的类型,可以是unsigned char、char、short、unsigned short、int、unsigned int、float以及double,通常是unsigned char数据类型。例如,将数据类型从未定义的字符串数据类型unsigned char转换为浮点数据类型float,对应函数是:
float gtofloat(uint8_t val)
{
return val*(1.0/255.0f);
}
对于上述调整以具体的实施例阐述,举例来说,如果是双声道,采样频率为44100Hz,采样格式为int类型,则每秒数据量为2*44100*4=344.53KB。此外,例如,一个服务器中处理器,例如音频处理器只支持特定的采样频率和通道数,如果要将音频数据传输到所述音频处理器,就需要将音频数据重采样为所述音频处理器支持的采样频率和通道数。另外,有些应用程序需要特定的采样格式,例如,16位整数或32位浮点数,因此需要将音频数据转换为相应的采样格式或者将不同采样频率的音频信号统一到一个采样频率上。在音频处理中,音频重采样通常是必要的并且也是一种常见的音频处理操作,用于满足不同服务器设备和应用程序的需求,因为不同的服务器设备和应用程序可能需要不同的采样频率、采样格式和通道数。本发明实施例以转换采样频率为例,如果各终端的多路待叠加的音频数据和叠加后的音频数据的采样频率不同,则对所述叠加后的音频数据进行音频重采样,即通过插值或抽取的方式改变采样频率以使得叠加后的音频数据在时间上对齐并融合在一起以获取单路的输出音频数据。参见图5,其示出了本发明实施例提供的一种多路音频数据的音频重采样流程图,所述叠加后的音频数据的采样频率为44100 Hz,即单路一秒的比特率为44100,采样格式为16位的整数,声道数为2,通过音频重采样后,获取到单路的输出音频数据,即采样后的PCM数据,其采样频率为48000Hz,即单路一秒的比特率为48000,采样格式为32位的浮点数,声道数为1。对于所述音频重采样,详细来说,首先,确定将所述叠加后的音频数据重采样到的目标采样频率,如图5所示的目标采样频率是48000Hz。其次,若所述目标采样频率高于所述叠加后的音频数据的原始频率,则采用插值方式匹配所述目标采样频率,即在所述叠加后的音频数据的采样点之间进行插值以增加新的采样点来匹配目标采样频率,常用的插值方法包括线性插值、立方插值等。若所述目标采样频率低于所述叠加后的音频数据的原始频率,则采用抽取方式匹配所述目标采样频率,即从所述叠加后的音频数据中抽取部分采样点以减少采样点数量来匹配目标采样频率,通常采用的抽取方法包括简单抽取或者滤波抽取。在进行抽取操作时,通常需要进行低通滤波以避免混叠失真,所述低通滤波可以去除抽取过程中产生的高频噪声,以保证重采样后的音频数据质量。然后,根据目标采样频率和所述叠加后的音频数据的采样点进行重采样计算以生成单路的输出音频数据,将所述输出音频数据进行压缩处理以获取压缩后的输出音频数据。对于上述操作,在一些示例中,通常在音频处理库或工具中提供了重采样函数,可以直接使用这些函数来完成重采样操作。如果多路待叠加的音频数据和叠加后的音频数据的采样频率相同,则不需要音频重采样的操作。
针对图3所示的技术方案,在一些可能的实现方式中,所述将所述输出音频数据发送至各终端进行播放以实现多路通话,包括:
将所述输出音频数据进行编码并封装为数据包;
将所述数据包发送至各终端进行播放以实现多路通话。
对于上述实现方式,具体来说,服务器将各终端的音频数据进行叠加、加权平均或者其他混音算法的处理,以创建一个统一的叠加后的音频数据,将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据。服务器将所述输出音频数据进行解码并封装为数据包,所述数据包通常包括音频数据本身以及一些额外的控制信息,比如时间戳、序列号等,以使得各终端能够正确地解析和播放所述输出音频数据。然后,将所述数据包通过服务器与各终端的网络连接发送至各终端进行播放。在一些示例中,所述将所述数据包通过服务器与各终端的网络连接发送至各终端进行播放,通常需要按照以下步骤进行具体实现,首先,服务器需要与各终端建立网络连接以进行数据传输。所述建立网络连接,可以通过TCP、UDP或者其他网络协议来实现。对于实时音频传输,通常选择UDP协议,因为它具有较低的传输延迟和更好的实时性。其次,将经过服务器重新编码并封装为数据包的所述输出音频数据通过网络连接发送给各终端,对于UDP协议,可以通过网络套接字的sendto函数实现。对于TCP协议,可以通过send函数实现。需要注意的是,对于实时音频传输,需要考虑网络带宽和传输延迟等因素,以确保音频数据能够及时地传输到各终端。然后,服务器端及时处理各终端的反馈信息,例如,确认收到数据包、请求重传、网络状况反馈等信息,并根据需要进行相应的调整和处理。此外,服务器需要定期检测和维护与各终端的网络连接状态,以确保连接的稳定性和可靠性,涉及到超时处理、连接重连、网络拓扑变化等操作。需要注意的是,实际的实现还涉及一些其他细节,例如,网络传输的安全性、数据包的丢失和重传机制、流量控制等。因此,在实际应用中,需要根据具体的需求和网络环境进行相应的调整和优化。最后,各终端进行播放。所述各终端进行播放是整个音频传输流程的最终环节,它使得用户能够听到混音处理后的输出音频数据。在多人会议、音视频直播等场景中,终端可以是各个参与者的设备,比如手机、电脑、音频会议设备等。通过在终端上播放所述输出音频数据,参与者可以听到其他人的声音,从而实现实时的沟通和交流。
结合图1所示的混音系统100以具体的实施例阐述图3所示的技术方案,参见图6,其示出了本发明实施例提供的多路音频数据混音的详细流程图,具体的步骤如下:
步骤1:服务器接收各终端的第1路数据、第2路数据……第n路数据;
在多方通话场景下,各终端可以将自身录制的通话内容,即多路待叠加的音频数据上传到如图1所示的服务器30,服务器30在接收到各终端上传的所述多路待叠加的音频数据后进行解码。
步骤2:将接收到的各终端的多路待叠加的音频数据通过多路数据交替复制算法叠加到目标音频数据;
将接收到的各终端的第1路数据、第2路数据……第n路数据依次复制到目标音频数据,并将各终端的多路待叠加的音频数据中的每个采样值叠加到目标音频数据的相应位置上,即对于目标音频数据的相应位置上的每个采样点,目标音频数据和多路音频数据的对应采样点的采样值进行相加以获得叠加后的音频数据。
步骤3:将所述叠加后的音频数据进行重采样;
重采样是为了调整音频的采样频率,即通过插值或抽取的方式改变采样频率以使得叠加后的音频数据在时间上对齐并融合在一起以获取单路的输出音频数据。服务器将所述输出音频数据进行解码并封装为数据包,所述数据包通常包括音频数据本身以及一些额外的控制信息,比如时间戳、序列号等,以使得各终端能够正确地解析和播放所述输出音频数据。然后,将所述数据包通过服务器与各终端的网络连接发送至各终端进行播放以实现多方通话。
基于前述技术方案相同的发明构思,参见图7,其示出了本发明实施例提供的一种多路音频数据混音的装置700,所述装置700包括:接收部分701、叠加部分702、采样部分703以及发送部分704;其中,
所述接收部分701,经配置为接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;
所述叠加部分702,经配置为将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;
所述采样部分703,经配置为将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;
所述发送部分704,经配置为将所述输出音频数据发送至各终端进行播放以实现多路通话。
在一些示例中,所述叠加部分702,经配置为:
将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法复制到目标音频数据以获得复制后的音频数据;
将所述复制后的音频数据与所述目标音频数据进行叠加以获得叠加后的音频数据。
在一些示例中,所述叠加部分702,经配置为:
将复制后的音频数据中的每个采样值与所述目标音频数据的相应位置的对应采样点的采样值进行叠加以获得叠加后的音频数据。
在一些示例中,所述叠加部分702,经配置为:
将所述叠加后的音频数据,根据缩放因子进行归一化处理以调整所述叠加后的音频数据的振幅值范围,获得归一化后的音频数据。
在一些示例中,所述叠加部分702,经配置为:
根据叠加后的音频数据的取值范围确定目标范围的最大值并遍历所述叠加后的音频数据以获得叠加后的音频数据的最大振幅值;
根据所述目标范围的最大值和所述叠加后的音频数据的最大振幅值计算缩放因子,根据所述缩放因子进行归一化处理以获得归一化后的音频数据。
在一些示例中,所述发送部分704,经配置为:
将所述输出音频数据进行编码并封装为数据包;
将所述数据包发送至各终端进行播放以实现多路通话。
可以理解地,上述多路音频数据混音的装置700的示例性技术方案,与前述多路音频数据混音的方法的技术方案属于同一构思,因此,上述多路音频数据混音的装置700的技术方案未详细描述的细节内容,均可以参见前述多路音频数据混音的方法的技术方案的描述。本发明实施例对此不做赘述。
除此之外,本领域技术人员可以理解,上述附图所示出的服务器设备的结构并不构成对服务器设备的限定,服务器设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,服务器设备中还包括显示屏、摄像组件、麦克风、扬声器、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、光纤传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上各个实施例所述的多路音频数据混音的方法。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中;服务器设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该服务器设备执行以实现上述各个实施例所述的多路音频数据混音的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种多路音频数据混音的方法,其特征在于,所述方法应用于混音系统中的服务器,所述方法包括:
接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;
将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;
将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;
将所述输出音频数据发送至各终端进行播放以实现多路通话。
2.根据权利要求1所述方法,其特征在于,所述将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据,包括:
将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法复制到目标音频数据以获得复制后的音频数据;
将所述复制后的音频数据与所述目标音频数据进行叠加以获得叠加后的音频数据。
3.根据权利要求2所述方法,其特征在于,所述将所述复制后的音频数据与所述目标音频数据进行叠加以获得叠加后的音频数据,包括:
将复制后的音频数据中的每个采样值与所述目标音频数据的相应位置的对应采样点的采样值进行叠加以获得叠加后的音频数据。
4.根据权利要求2所述方法,其特征在于,所述方法还包括:
将所述叠加后的音频数据,根据缩放因子进行归一化处理以调整所述叠加后的音频数据的振幅值范围,获得归一化后的音频数据。
5.根据权利要求4所述方法,其特征在于,所述将所述叠加后的音频数据,根据缩放因子进行归一化处理以调整所述叠加后的音频数据的振幅值范围,获得归一化后的音频数据,包括:
根据叠加后的音频数据的取值范围确定目标范围的最大值并遍历所述叠加后的音频数据以获得叠加后的音频数据的最大振幅值;
根据所述目标范围的最大值和所述叠加后的音频数据的最大振幅值计算缩放因子,根据所述缩放因子进行归一化处理以获得归一化后的音频数据。
6.根据权利要求1所述方法,其特征在于,所述将所述输出音频数据发送至各终端进行播放以实现多路通话,包括:
将所述输出音频数据进行编码并封装为数据包;
将所述数据包发送至各终端进行播放以实现多路通话。
7.一种混音系统,其特征在于,所述系统包括:一个或多个终端以及服务器,各组件之间通过网络连接进行通信,其中,
所述一个或多个终端,用于将自身录制的音频数据通过网络连接发送至服务器;
所述服务器,用于接收各终端的多路音频数据以执行权利要求1至6任一所述多路音频数据混音的方法。
8.一种多路音频数据混音的装置,其特征在于,所述装置包括:接收部分、叠加部分、采样部分以及发送部分;其中,
所述接收部分,经配置为接收各终端上传的多路待叠加的音频数据,其中,所述多路待叠加的音频数据至少包括两路音频数据;
所述叠加部分,经配置为将接收到的所述多路待叠加的音频数据通过音频数据交替复制算法叠加到目标音频数据以获得叠加后的音频数据;
所述采样部分,经配置为将所述叠加后的音频数据进行音频重采样以获得单路的输出音频数据;
所述发送部分,经配置为将所述输出音频数据发送至各终端进行播放以实现多路通话。
9.一种服务器设备,其特征在于,所述服务器设备包括:通信接口,处理器,存储器;各个组件通过总线系统耦合在一起;其中,
所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行权利要求1至6任一所述多路音频数据混音的方法。
10.一种计算机存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如权利要求1至6任一所述多路音频数据混音的方法。
CN202311801062.8A 2023-12-26 2023-12-26 一种多路音频数据混音的方法、系统、装置及存储介质 Pending CN117476026A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311801062.8A CN117476026A (zh) 2023-12-26 2023-12-26 一种多路音频数据混音的方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311801062.8A CN117476026A (zh) 2023-12-26 2023-12-26 一种多路音频数据混音的方法、系统、装置及存储介质

Publications (1)

Publication Number Publication Date
CN117476026A true CN117476026A (zh) 2024-01-30

Family

ID=89635040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311801062.8A Pending CN117476026A (zh) 2023-12-26 2023-12-26 一种多路音频数据混音的方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN117476026A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3026283A1 (en) * 2001-06-14 2005-09-15 Dolby Laboratories Licensing Corporation Reconstructing audio signals with multiple decorrelation techniques
CN1985303A (zh) * 2004-07-09 2007-06-20 弗劳恩霍夫应用研究促进协会 产生多通道输出信号的装置和方法
CN101656072A (zh) * 2009-09-08 2010-02-24 北京飞利信科技股份有限公司 混音装置、混音方法及利用该混音装置的会议系统
CN102804260A (zh) * 2009-06-19 2012-11-28 富士通株式会社 声音信号处理装置以及声音信号处理方法
CN104768121A (zh) * 2014-01-03 2015-07-08 杜比实验室特许公司 响应于多通道音频通过使用至少一个反馈延迟网络产生双耳音频
CN106375905A (zh) * 2016-11-30 2017-02-01 北京酷我科技有限公司 一种多路音频的合成和调节的方法
CN107710323A (zh) * 2016-01-22 2018-02-16 弗劳恩霍夫应用研究促进协会 使用频谱域重新取样来编码或解码音频多通道信号的装置及方法
CN112019994A (zh) * 2020-08-12 2020-12-01 武汉理工大学 一种基于虚拟扬声器构建车内扩散声场环境的方法及装置
CN112951197A (zh) * 2021-04-02 2021-06-11 北京百瑞互联技术有限公司 一种音频混音方法、装置、介质及设备
CN115567845A (zh) * 2022-09-30 2023-01-03 联想(北京)有限公司 一种信息处理方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3026283A1 (en) * 2001-06-14 2005-09-15 Dolby Laboratories Licensing Corporation Reconstructing audio signals with multiple decorrelation techniques
CN1985303A (zh) * 2004-07-09 2007-06-20 弗劳恩霍夫应用研究促进协会 产生多通道输出信号的装置和方法
CN102804260A (zh) * 2009-06-19 2012-11-28 富士通株式会社 声音信号处理装置以及声音信号处理方法
CN101656072A (zh) * 2009-09-08 2010-02-24 北京飞利信科技股份有限公司 混音装置、混音方法及利用该混音装置的会议系统
CN104768121A (zh) * 2014-01-03 2015-07-08 杜比实验室特许公司 响应于多通道音频通过使用至少一个反馈延迟网络产生双耳音频
CN107710323A (zh) * 2016-01-22 2018-02-16 弗劳恩霍夫应用研究促进协会 使用频谱域重新取样来编码或解码音频多通道信号的装置及方法
CN106375905A (zh) * 2016-11-30 2017-02-01 北京酷我科技有限公司 一种多路音频的合成和调节的方法
CN112019994A (zh) * 2020-08-12 2020-12-01 武汉理工大学 一种基于虚拟扬声器构建车内扩散声场环境的方法及装置
CN112951197A (zh) * 2021-04-02 2021-06-11 北京百瑞互联技术有限公司 一种音频混音方法、装置、介质及设备
CN115567845A (zh) * 2022-09-30 2023-01-03 联想(北京)有限公司 一种信息处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周敬利;马志龙;范晔斌;陈小平;: "一种新的多媒体会议实时混音方案", 小型微型计算机系统, no. 01, 15 January 2009 (2009-01-15) *

Similar Documents

Publication Publication Date Title
TWI466102B (zh) 用以使經編碼音訊資料之錯誤消隱的方法和裝置
CN110140170B (zh) 适配用于终端用户自由视点监控的分布式音频录制
US6898637B2 (en) Distributed audio collaboration method and apparatus
CA2908654C (en) Audio recording and playback apparatus
JP2007528149A (ja) 分離した解像度高度化補助データを用いたマルチメディア配信、及び/またはマルチメディア再生システム、及び方法
JP2006217592A (ja) 第3のディスプレイを通じた画像提供を可能にするビデオ通話方法
CN101960865A (zh) 用于捕获和呈现多个音频声道的装置
CN106921843B (zh) 数据传输方法及装置
CN114697733B (zh) 投屏音视频数据的传输方法以及相关设备
TW202215863A (zh) 音訊訊號渲染方法、裝置、設備及電腦可讀存儲介質
CN111049709B (zh) 一种基于蓝牙的互联音箱控制方法、设备及存储介质
US7389093B2 (en) Call method, call apparatus and call system
US20230085918A1 (en) Audio Representation and Associated Rendering
US20230199504A1 (en) Wireless audio distribution systems and methods
JP4544029B2 (ja) 携帯端末、ストリーミング通信システム、ストリーミング通信方法及びストリーミング通信プログラム
CN117476026A (zh) 一种多路音频数据混音的方法、系统、装置及存储介质
EP4344194A2 (en) Audio processing in immersive audio services
CN111225102A (zh) 一种蓝牙音频信号传输方法和装置
Rothbucher et al. Backwards compatible 3d audio conference server using hrtf synthesis and sip
JP4207701B2 (ja) 通話装置及び通話方法、並びに通話システム
CN110753232A (zh) 在线互动场景的音频处理方法、系统和存储介质
US11477600B1 (en) Spatial audio data exchange
US11729570B2 (en) Spatial audio monauralization via data exchange
RU2810920C2 (ru) Обработка звука в звуковых услугах с эффектом присутствия
CN117221292A (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