CN110299144A - 音频混音方法、服务器及客户端 - Google Patents

音频混音方法、服务器及客户端 Download PDF

Info

Publication number
CN110299144A
CN110299144A CN201810234914.2A CN201810234914A CN110299144A CN 110299144 A CN110299144 A CN 110299144A CN 201810234914 A CN201810234914 A CN 201810234914A CN 110299144 A CN110299144 A CN 110299144A
Authority
CN
China
Prior art keywords
audio signal
client
full
downmix
stereo process
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
Application number
CN201810234914.2A
Other languages
English (en)
Other versions
CN110299144B (zh
Inventor
梁俊斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810234914.2A priority Critical patent/CN110299144B/zh
Publication of CN110299144A publication Critical patent/CN110299144A/zh
Application granted granted Critical
Publication of CN110299144B publication Critical patent/CN110299144B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering

Abstract

本申请提出一种音频混音方法、服务器及客户端,其中,方法包括:接收各客户端发送的第一音频信号;对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;将所述全混音音频信号发送给每个客户端,以使所述客户端从所述全混音音频信号中过滤自身经过全混音处理的第一音频信号,得到携带其他客户端经过全混音处理的第一音频信号的混音音频信号进行播放。通过本方法,只需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销。

Description

音频混音方法、服务器及客户端
技术领域
本申请涉及音频处理技术领域,尤其涉及一种音频混音方法、服务器及客户端。
背景技术
混音是指对多个来源的音频信号的线性叠加过程。随着群社交需求的增大,越来越多的场景中需要进行多人语音通话,比如多人音视频会议、多人在线直播、网游中的多人实时语音聊天等,实现多人语音通话的核心技术便是混音。
现有的混音技术按照混音主体可以分为服务器混音和客户端混音两种。其中,服务器混音是将所有参与多人通话的客户端的语音信号发送至服务器,由服务器针对各个通道的需求,利用其它通道发送的语音信号进行混音处理,服务器需要进行多个混音处理,混音处理开销大,对服务器处理能力要求高。客户端混音是多人通话的各个客户端向其它客户端发送自身的语音信号,并接收其它客户端发送的语音信号,利用接收到的语音信号在本地进行混音处理,这种方式中客户端需要有较高的带宽资源,带宽占有率高。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
本申请一方面实施例提出了一种音频混音方法,包括:
接收各客户端发送的第一音频信号;
对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
将所述全混音音频信号发送给每个客户端,以使所述客户端从所述全混音音频信号中过滤自身的经过全混音处理的所述第一音频信号,得到混音音频信号进行播放;其中所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号。
本申请实施例的音频混音方法,服务器通过接收各客户端发送的第一音频信号,并对接收到的第一音频信号进行全混音处理得到全混音音频信号,进而将全混音音频信号发送给每个客户端,以使各个客户端从接收的全混音音频信号中过滤掉自身经过全混音处理的第一音频信号,得到携带其他客户端经过全混音音频处理的第一音频信号的混音音频信号进行播放。由于全混音音频信号是通过对接收到的第一音频信号进行全混音处理得到的,全混音音频信号中包括了各个需要混音的客户端的第一音频信号,因此只需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销,降低了处理难度和运营成本,解决了现有技术中混音处理开销大的技术问题。
本申请另一方面实施例提出了一种音频混音方法,包括:
接收各客户端发送的第一音频信号;
对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
针对每个客户端,从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号,得到所述客户端对应的所述混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号;
向所述客户端发送所述混音音频信号,以使所述客户端进行播放。
本实施例的音频混音方法,通过在接收各个客户端发送的第一音频信号时缓存各个第一音频信号,并在对接收的第一音频信号进行全混音处理得到全混音音频信号后,针对每个客户端,从全混音音频信号中过滤来自客户端的经过全混音处理后的第一音频信号,得到客户端对应的混音音频信号,进而将混音音频信号发送给对应的客户端进行播放,由此,需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销,降低了处理难度和运营成本。并且由服务器从全混音音频信号中,滤除来自客户端自身的音频信号,向每个客户端发送的混音音频信号不再包含自身的音频信号,不需要客户端进行滤波处理,能够进一步地降低客户端的处理开销,提升客户端的运行速度。
本申请另一方面实施例提出了另一种音频混音方法,包括:
向服务器发送第一音频信号;
接收服务器发送的全混音音频信号;其中,所述全混音音频信号是由所述服务器对接收到的所述第一音频信号进行全混音处理得到的;
从所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号,得到混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理后的所述第一音频信号;
播放所述混音音频信号。
本申请实施例的音频混音方法,客户端向服务器发送第一音频信号,并接收服务器发送的全混音音频信号,进而从全混音音频信号中滤除当前客户端的经过全混音处理的第一音频信号,得到携带其他客户端经过全混音处理后的第一音频信号的混音音频信号并播放。由于客户端只需要发送自身的第一音频信号和接收全混音音频信号,而无需接收其他各个客户端的第一音频信号,大大节省了带宽资源,降低了带宽资源的占有率,从而能够解决现有技术中带宽资源占有率高的技术问题。
本申请另一方面实施例提出了一种服务器,包括:
接收模块,用于接收各客户端发送的第一音频信号;
混音处理模块,用于对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
发送模块,用于将所述全混音音频信号发送给每个客户端,以使所述客户端从所述全混音音频信号中过滤自身经过全混音处理的所述第一音频信号,得到混音音频信号进行播放;其中,所述混音音频中携带其他客户端经过全混音处理的所述第一音频信号。
本申请实施例的服务器,由于全混音音频信号是通过对接收到的第一音频信号进行全混音处理得到的,全混音音频信号中包括了各个需要混音的客户端的第一音频信号,因此只需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销,降低了处理难度和运营成本,解决了现有技术中混音处理开销大的技术问题。
本申请另一方面实施例提出了一种服务器,包括:
接收模块,用于接收各客户端发送的第一音频信号;
混音处理模块,用于对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
过滤模块,用于针对每个客户端,从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号,得到所述客户端对应的所述混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号;
发送模块,用于向所述客户端发送所述混音音频信号,以使所述客户端进行播放。
本申请实施例的服务器,只需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销,降低了处理难度和运营成本。并且由服务器从全混音音频信号中,滤除来自客户端自身的音频信号,向每个客户端发送的混音音频信号不再包含自身的音频信号,不需要客户端进行滤波处理,能够进一步地降低客户端的处理开销,提升客户端的运行速度。
本申请另一方面实施例提出了一种客户端,包括:
发送模块,用于向服务器发送第一音频信号;
接收模块,用于接收服务器发送的全混音音频信号;其中,所述全混音音频信号是由所述服务器对接收到的所述第一音频信号进行全混音处理得到的;
滤波模块,用于从所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号,得到混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理后的第一音频信号;
播放模块,用于播放所述第一音频信号。
本申请实施例中,由于客户端只需要向服务器发送自身的第一音频信号和接收全混音音频信号,而无需向其他各个客户端发送的第一音频信号,大大节省了带宽资源,降低了带宽资源的占有率,从而能够解决现有技术中带宽资源占有率高的技术问题。进一步地,由服务器进行混音处理,客户端无需进行混音处理,避免客户端由于混音处理导致的资源开销较大的问题。
本申请另一方面实施例提出了一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现上述实施例中所述的音频混音方法。
本申请另一方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例中所述的音频混音方法。
本申请第七方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述实施例中所述的音频混音方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了可以应用本申请的音频混音方法或装置的实施例的示例性系统架构;
图2为本申请实施例所提供的一种音频混音方法的流程示意图;
图3为本申请实施例所提供的另一种音频混音方法的流程示意图;
图4为本申请实施例所提供的另一种音频混音方法的流程示意图;
图5为本申请实施例所提供的另一种音频混音方法的流程示意图;
图6为本申请实施例所提供的另一种音频混音方法的流程示意图;
图7为本申请实施例所提供的另一种音频混音方法的流程示意图;
图8为本申请实施例所提供的另一种音频混音方法的流程示意图;
图9为本申请实施例所提供的另一种音频混音方法的流程示意图;
图10为多个客户端与服务器进行交互的架构示意图;
图11为客户端的实体结构示意图之一;
图12为服务器的实体结构示意图之一;
图13为客户端的实体结构示意图之二;
图14为服务器的实体结构示意图之二;
图15为客户端与服务器交互实现音频混音方法的流程示意图;
图16为本申请实施例所提供的一种服务器的结构示意图;
图17为本申请实施例所提供的另一种服务器的结构示意图;
图18为本申请实施例所提供的另一种服务器的结构示意图;
图19为本申请实施例所提供的另一种服务器的结构示意图;
图20为本申请实施例所提供的另一种服务器的结构示意图;
图21为本申请实施例所提供的一种客户端的结构示意图;
图22为本申请实施例所提供的另一种客户端的结构示意图;
图23为本申请实施例所提供的另一种客户端的结构示意图;以及
图24为本申请实施例所提供的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的音频混音方法、服务器及客户端。
现有的混音方法可以分为服务器混音和客户端混音两种。
在客户端混音技术中,当有N个客户端参与通话时,任意一个客户端均需要接收其它N-1个客户端发送的语音信号,并需要向其它N-1个客户端发送自身采集的语音信号,各客户端接收到其它N-1个客户端发送的语音信号后,在本地进行混音。这一方式中,由于客户端需要从其它的多个客户端接收语音信号,并向多个客户端发送语音信号,因此需要占用较大的带宽资源,对可用的带宽资源要求较高。
在服务器混音技术中,服务器接收所有参与多人通话的客户端发送的语音信号,并进行混音处理后将混音后的信号发送至对应的客户端。下面以A、B、C和D四个客户端的语音信号进行混音为例,详细介绍现有服务器混音的实现过程。首先,服务器对接收的四个客户端发送的语音信号进行解码。接着,针对每个通道上的客户端,根据各个通道的需求分别进行混音处理。例如,针对客户端A,需要对B、C和D三个客户端的语音信号进行混音处理;针对客户端B,需要对A、C和D三个客户端的语音信号进行混音处理。因此,当有N个客户端参与多人通话时,需要进行N次混音处理。随后,对每个混音处理后得到的混音信号进行编码压缩后发送给对应的客户端。由于各个客户端对应的混音信号不同,需要分别进行编码压缩,当有N个客户端参与多人通话时,服务器需要进行N次编码压缩。可见,当有N个客户端参与多人通话时,采用现有的服务器混音技术需要进行N次混音处理和N次编码处理,由于编码和混音占用的处理资源较高,因此现有的服务器混音会耗费大量的处理资源,开销较大,影响服务器的处理能力。
图1示出了可以应用本申请的音频混音方法或装置的实施例的示例性系统架构。
如图1所示,系统架构可以包括客户端110、120、130、140,网络150和服务器160。网络150用于在客户端110、120、130、140和服务器160之间提供传输链路的介质。网络150可以包括各种连接类型,例如有线、无线传输链路或者光纤电缆等等。
用户可以使用客户端110、120、130、140通过网络150与服务器160交互,以接收或发送消息等。客户端110、120、130、140上可以安装有即时通信应用程序。
客户端110、120、130、140可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
服务器160可以是对客户端110、120、130、140上的即时通信应用程序提供支持的服务器。服务器160可以接收客户端110、120、130、140发送的包含音频信号,可以将音频信号进行混音处理后,再发送给客户端110、120、130、140。
应该理解,图1中的客户端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。
图2为本申请实施例所提供的一种音频混音方法的流程示意图,该方法可以由支持混音功能的服务器执行。
如图2所示,该音频混音方法包括以下步骤:
步骤101,接收各客户端发送的第一音频信号。
在多人音视频会议、多人在线直播等多人通话的应用场景中,各个参与者所使用的客户端采集对应的参与者发出的第一音频信号,并将采集的第一音频信号通过网络发送至服务器。其中,参与者所使用的客户端中安装有音频信号采集器(例如麦克风),通过音频信号采集器采集参与者发出的语音信息。
为了减少信号传输所占用的带宽资源,在本申请实施例一种可能的实现方式中,客户端采集到第一音频信号后,可以对第一音频信号进行编码压缩处理,之后再将编码后的第一音频信号发送至服务器。服务器接收到各个客户端发送的第一音频信号之后,先对各个第一音频信号进行解码后再处理。
步骤102,对接收到的第一音频信号进行全混音处理,得到全混音音频信号。
本实施例中,服务器接收到各个客户端发送的第一音频信号之后,可以对接收到的第一音频信号进行全混音处理,得到全混音音频信号。例如,服务器可以对接收的第一音频信号进行线性叠加得到全混音音频信号。其中,全混音处理是指对接收到的所有第一音频信号进行混音,以获得包含参与多人通话的所有客户端发送的音频信息的混音信号;或者,对需要进行混音的客户端发送的第一音频信号进行混音处理,得到包含需要混音的各个客户端发送的音频信息的混音信号。
步骤103,将全混音音频信号发送给每个客户端,以使客户端从全混音音频信号中过滤自身经过全混音处理的第一音频信号,得到混音音频信号进行播放;其中,混音音频信号中携带其他客户端经过全混音处理的第一音频信号。
服务器对第一音频信号进行混音处理得到全混音音频信号之后,可以将全混音音频信号发送给每个客户端,由客户端进行滤波处理,从全混音音频信号中过滤掉自身经过全混音处理的第一音频信号,得到携带其他客户端经过全混音处理的第一音频信号的混音音频信号进行播放。
此处需要说明的是,经过全混音处理的第一音频信号,指的是通过全混音处理获得当前接收到的全混音音频信号时采用的第一音频信号,即参与获得当前接收的全混音音频信号的第一音频信号。
本实施例的音频混音方法,服务器通过接收各客户端发送的第一音频信号,并对接收到的第一音频信号进行全混音处理得到全混音音频信号,进而将全混音音频信号发送给每个客户端,以使客户端从全混音音频信号中过滤掉自身经过全混音处理的第一音频信号,得到携带其他客户端的第一音频信号的混音音频信号进行播放。由于全混音音频信号是通过对接收到的第一音频信号进行全混音处理得到的,全混音音频信号中包括了各个需要混音的客户端的第一音频信号,因此只需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销,降低了处理难度和运营成本,解决了现有技术中混音处理开销大的技术问题。
为了获取到全混音音频信号,在本申请实施例一种可能的实现方式中,当将所有的音频信号进行线性叠加时,会导致音频信号的幅值超出门限阈值,因此,本申请中服务器需要在全混音处理中,加入防破音处理避免混音后出现破音现象。本申请中服务器可以对接收的所有通道的第一音频信号进行防破音和线性叠加处理,得到全混音音频信号。其中,防破音处理可以采用防破音功放芯片实现,线性叠加处理由服务器的处理芯片实现。由此,仅需要进行一次混音处理即可得到包含各个通道上的客户端发送的第一音频信号,降低了处理开销。
实际应用中,由于环境中存在噪声,处于不同环境中的客户端采集的第一音频信号中存在不同的背景噪声。为避免利用所有接收到的第一音频信号进行混音处理得到的全混音音频信号中存在较大的噪声,影响语音质量,在本申请实施例一种可能的实现方式中,可以对用于混音处理的第一音频信号进行筛选。图3为本申请实施例所提供的另一种音频混音方法的流程示意图。
如图3所示,在如图2所示实施例的基础上,步骤102可以包括以下步骤:
步骤201,获取每个客户端上第一音频信号的信号特征。
其中,信号特征可以包括但不限于信号能量、信噪比等。
步骤202,根据信号特征,从所有的第一音频信号中选取出参与全混音处理的目标第一音频信号。
本实施例中,服务器接收了各个客户端发送的第一音频信号之后,可以对所接收的第一音频信号进行分析,以获取每个第一音频信号的信号能量、信噪比等特征。
进而,服务器根据获取的各个第一音频信号的信号特征,可以对第一音频信号进行筛选,从所有的第一音频信号中选取出参与全混音处理的目标第一音频信号。
作为一种示例,服务器可以根据各个第一音频信号的信号能量进行筛选。通常,用户发出的语音信号的音量大于周围噪声的音量,即语音信号的信号能量大于噪声的信号能够,从而,服务器可以获取每个第一音频信号的信号能量,并设置预设的能量阈值,将信号能量低于能量阈值的第一音频信号剔除,将信号能量高于或等于能量阈值的第一音频信号作为用于混音处理的目标第一音频信号。
作为一种示例,服务器可以通过语音活动检测(Voice Activity Detection,VAD)算法对接收的各个第一音频信号进行筛选,以识别并剔除第一音频信号中长时间的静音期,将剩余的第一音频信号作为目标第一音频信号。
步骤203,对选取出的所有的目标第一音频信号进行防破音和线性叠加处理,得到全混音音频信号。
服务器筛选出目标第一音频信号后,可以对所有的目标第一音频信号进行防破音和线性叠加处理,得到全混音音频信号。
具体地,服务器在对目标第一音频信号进行防破音和线性叠加处理时,可以先获取参与全混音处理的每个客户端的增益系数,其中,增益系数也称为混音权重,可以通过防破音算法计算获得。以平均防破音算法为例,获取每个客户端的增益系数的计算公式如公式(1)所示,先获取参与全混音处理的客户端的个数,再根据客户端的个数确定增益系数。
其中,m表示第m个目标第一音频信号;n表示目标第一音频信号对应的帧序列号;N(n)表示目标第一音频的个数;Gain(m,n)表示第m个目标第一音频信号所对应的通道的增益系数。
进而,将所得的增益系数与对应通道上的第一音频信号相乘,并将相乘后的结果进行线性叠加,得到全混音音频信号。其中,线性叠加得到全混音音频信号的计算公式如公式(2)所示。
其中,Pcm_dec(m,n)表示第m个目标第一音频信号,Pcm_all表示对N(n)个目标第一音频信号进行全混音处理后得到的全混音音频信号。
本实施例的音频混音方法,通过获取每个客户端上第一音频信号的信号特征,根据信号特征从所有的第一音频信号中选取出目标第一音频信号进行防破音和线性叠加处理,得到全混音音频信号,能够从第一音频信号中筛选出语音信号和非语音信号,并仅使用语音信号进行混音处理,能够有效降低处理开销。
图4为本申请实施例所提供的另一种音频混音方法的流程示意图。如图4所示,该音频混音方法可以包括以下步骤:
步骤301,接收各客户端发送的第一音频信号。
步骤302,获取第一音频信号的标识信息,标识信息中包括客户端的标识码和第一音频信号所对应的帧序列号。
多人语音通话时,服务器从各个客户端接收第一音频信号,并在接收每一个客户端发送的第一音频信号时,记录传输该第一音频信号的客户端的标识码和帧序列号。
其中,帧序列号可以由客户端生成。多人语音通话时,每个参与者说的话通常不止一句,则客户端采集的第一音频信号不止一段,客户端可以在此次多人语音通话开始时,针对每一个第一音频信号,按照第一音频信号产生的顺序依次进行编号,比如,为第一个产生的第一音频信号生成的帧序列号为1,为第一个产生的第一音频信号生成的帧序列号为2,依次类推。
客户端的标识码可以由服务器生成,服务器可以在多人语音通话发起时,为各个接入的客户端进行编号,根据参与多人语音通话的客户端数,针对每个客户端进行编号,比如,当有4个客户端参与此次多人语音通话时,服务器对这4个客户端依次编号1、2、3和4,或者编号为A、B、C和D。或者,客户端的标识码可以为客户端所在通道的通道号,在进行多人语音通话时,为各个客户端分配相应的通道,然后将通道的通道号作为对应客户端的标识码。或者,客户端的标识码可以为客户端所在设备的设备码。此次需要说明的是,客户端的标识码和第一音频信号的帧序列号的编号可以连续也可以不连续,本申请对此不作限制。优选地,帧序列号的编号顺序为连续编号,以方便服务器采用相同编号的第一音频信号进行混音处理,避免出现采用本次接收的第一音频信号和之前接收的第一音频信号进行混音处理的问题。
步骤303,对接收到的第一音频信号进行全混音处理,得到全混音音频信号。
需要说明的是,本实施例中对步骤303的描述可以参见前述实施例中所述的有关获取全混音音频信号的描述,为避免重复,此处不再赘述。
步骤304,将标识信息以及第一音频信号所对应客户端的增益系数携带在全混音音频信号中发送至客户端。
其中,增益系数是在进行全混音处理时获取的,可以根据防破音算法确定,详细说明可以参见前述实施例中的相关描述。
针对每个参与混音处理的第一音频信号对应的客户端,服务器可以根据第一音频信号的标识信息,获取第一音频信号所对应客户端的增益系数,并将该第一音频信号的标识信息、对应客户端的增益系数以及全混音音频信号进行打包,一起发送至对应的客户端,以使客户端利用增益系数、标识信息对全混音音频信号进行滤波处理,得到携带其他客户端的经过全混音处理的第一音频信号的混音音频信号进行播放。
例如,客户端A、B和C发送的第一音频信号参与混音处理,得到全混音音频信号,则服务器向各个客户端发送全混音音频信号时,针对客户端A,服务器将客户端A的增益系数以及客户端A发送的第一音频信号的标识信息,与全混音音频信号打包在一起发送给客户端A;针对客户端B,服务器将客户端B的增益系数以及客户端B发送的第一音频信号的标识信息,与全混音音频信号打包在一起发送给客户端B,针对客户端C,服务器将客户端C的增益系数以及客户端C发送的第一音频信号的标识信息,与全混音音频信号打包在一起发送给客户端C。
本实施例的音频混音方法,通过获取第一音频信号的标识信息,将标识信息以及第一音频信号所对应客户端的增益系数携带在全混音音频信号中发送给对应的客户端,使得客户端可以获取混音处理时采用的增益系数和第一音频信号,为客户端从全混音音频信号中滤除自身的音频信号奠定了基础。
为了降低数据传输时对带宽资源的占用,在本申请实施例一种可能的实现方式中,在客户端和服务器发送数据之前,还可以对待发送的数据进行编码压缩处理。从而,本申请实施例提出了另一种音频混音方法,图5为本申请实施例所提供的另一种音频混音方法的流程示意图。
如图5所示,该音频混音方法可以包括以下步骤:
步骤401,接收各客户端发送的第一音频信号。
步骤402,对第一音频信号进行解码处理,得到解码后的第一音频信号。
客户端采集的语音信号在进行传输之前,需要对语音信号进行编码,即将模拟的语音信号转换为数字信号,之后再通过传输通道传输至接收端。本实施例中,服务器接收到各个客户端发送的第一音频信号后,先对第一音频信号进行解码处理,得到解码后的第一音频信号。
步骤403,对解码后的第一音频信号进行全混音处理,得到全混音音频信号。
需要说明的是,本实施例中对步骤403的描述可以参见前述实施例中所述的有关获取全混音音频信号的描述,为避免重复,此处不再赘述。
步骤404,将全混音音频信号进行编码,得到全混音音频编码信号发送给每个客户端,以使客户端对全混音音频信号进行解码处理后,从解码处理所得的全混音音频信号中过滤自身的经过全混音处理的第一音频信号,得到携带其他客户端的经过全混音处理的第一音频信号的混音音频信号进行播放。
本实施例中,服务器对需要混音的各个客户端发送的第一音频信号进行混音处理,得到全混音音频信号后,可以对全混音音频信号进行编码压缩处理,得到全混音音频编码信号,并将全混音音频编码信号发送给各个需要混音的客户端,以使各个客户端从接收的全混音音频编码信号中过滤掉自身经过全混音处理的第一音频信号,得到携带其他客户端经过全混音处理的第一音频信号的混音音频信号进行播放。
作为一种可能的实现方式,服务器可以仅对全混音音频信号进行编码,得到全混音音频编码信号后通过网络发送给对应的客户端,随后,针对每个客户端,服务器可以根据每个客户端的标识码,将与该客户端对应的增益系数和参与全混音处理的该客户端上的第一音频信号的帧序列号发送给对应的客户端,以使各个客户端对全混音音频编码信号进行解码处理后,根据增益系数和帧序列号对应的第一音频信号对解码处理后所得的全混音音频信号进行滤波,得到仅携带其他客户端经过全混音处理的第一音频信号的混音音频信号并播放。
本实施例的音频混音方法,通过将全混音音频信号进行编号得到全混音音频编码信号后发送给各个客户端,实现了模拟信号与数字信号之间的转换,有利于信号存储和传输,减少对传输带宽的占用。
为了进一步降低客户端的处理开销,在本发明实施例一种可能的实现方式中,还可以在服务器侧进行滤波处理,并将滤波处理后得到的混音音频信号发送给对应的客户端,以使客户端接收到混音音频信号后可以直接进行播放。从而,本发明实施例提出了另一种音频混音方法,图6为本发明实施例所提供的另一种音频混音方法的流程示意图。
如图6所示,该音频混音方法可以包括以下步骤:
步骤501,接收各客户端发送的第一音频信号。
本实施例中,服务器从参与多人语音通话的各个客户端接收第一音频信号后。
作为一种示例,可以对接收的第一音频信号进行缓存,将接收的第一音频信号缓存在本地存储器中,以供后续使用。
步骤502,对接收到的第一音频信号进行全混音处理,得到全混音音频信号。
需要说明的是,本实施例中对步骤502的描述可以参见前述实施例中所述的有关获取全混音音频信号的描述,此处不再赘述。
步骤503,针对每个客户端,从全混音音频信号中,过滤来自客户端的经过全混音处理后的第一音频信号,得到客户端对应的混音音频信号。
本实施例中,服务器对接收的第一音频信号进行全混音处理得到全混音音频信号之后,可以针对每个客户端,从全混音音频信号中过滤掉来自该客户端的经过全混音处理后的第一音频信号,得到与该客户端对应的混音音频信号。
服务器获取针对每个客户端的混音音频信号时,首先,可以分别对全混音音频信号和客户端的第一音频信号进行短时傅里叶变换,得到全混音音频信号的第一功率谱和第一音频信号的第二功率谱;再根据客户端的增益系数、第一功率谱和第二功率谱,计算客户端每个频点上当前帧的滤波系数。其中,增益系数是在进行全混音处理时获取的,可以根据防破音算法确定,详细说明可以参见前述实施例中的相关描述。
具体地,服务器在获取每个频点上当前帧的滤波系数时,可以针对客户端的每个频点,获取频点的前一帧的滤波系数,再计算第二功率谱在频点上的功率值与第一功率谱在频点上功率值的第一比值,接着,根据第一比值和增益系数,计算得到频点的当前帧过滤滤波系数,进而,根据预设的平滑系数和过滤滤波系数,对前一帧滤波系数进行平滑处理,得到当前帧最终的滤波系数。
接着,根据每个频点上当前帧的滤波系数,对第二功率谱进行平滑滤波,得到第三功率谱。
最终,对第三功率谱进行反傅里叶变换,得到客户端的混音音频信号。
具体地,在计算客户端的当前帧的滤波系数时,可以针对客户端的每个频点,获取频点的前一帧的滤波系数,并计算第二功率谱在该频点上的功率值与第一功率谱在该频点上功率值的第一比值,接着,根据所得的第一比值和增益系数,计算得到频点的当前帧的过滤滤波系数,最后,根据预设的平滑系数和过滤滤波系数,对前一帧滤波系数进行平滑处理,得到当前帧最终的滤波系数。滤波系数的计算公式如公式(3)所示。
W(i,j,k)=a*W(i,j-1,k)+(1-a)*(1-G(i,j))*P2(j,k)/P1(j,k) (3)
其中,i表示第i个客户端,j表示第一音频信号的帧序列号,k表示第k个频点;W(i,j,k)表示第i个客户端对应的第j帧在频点k上的滤波系数;W(i,j-1,k)表示第i个客户端对应的第j-1帧在频点k上的滤波系数;G(i,j)表示第i个客户端对应的第j帧的增益系数;P1(j,k)表示第i个客户端对应的第j帧的第一音频信号的第一功率谱;P2(j,k)表示全混音音频信号的第二功率谱;a表示预设的平滑系数,例如,a=0.85。
不难理解,上述计算滤波系数的过程为迭代过程,对于客户端上第一帧的滤波系数,可以预先设置一个默认的初始值作为第一帧的滤波系数,该初始值可以由技术人员设定。
需要说明的是,在步骤503之前,还需要从缓存区内提取出客户端对应的第一音频信号。可选地,根据第一音频信号中携带的标识信息,从缓存区内获取客户端对应的第一音频信号。
步骤504,向客户端发送混音音频信号,以使客户端进行播放。
服务器获取了针对每个客户端的混音音频信号后,可以将混音音频信号发送给对应的客户端,以使客户端接收到混音音频信号后,播放混音音频信号。
需要说明的是,在全混音处理过程中,存在全部客户端参与全混音处理和部分客户端参与全混音处理两种情况。在步骤503中,可以对每个客户端都进行滤波处理,也可以仅对参与了全混音处理的客户端进行滤波处理。当仅对参与了全混音处理的客户端进行滤波处理时,服务器向未参与全混音处理的客户端发送的音频信号就是全混音音频信号,而服务器向参与全混音处理的客户端发送的音频信号就是经过滤波后的混音音频信号。
本实施例的音频混音方法,通过在接收各个客户端发送的第一音频信号时缓存各个第一音频信号,并在对接收的第一音频信号进行全混音处理得到全混音音频信号后,针对每个客户端,从全混音音频信号中过滤来自客户端的经过全混音处理后的第一音频信号,得到客户端对应的混音音频信号,进而将混音音频信号发送给对应的客户端进行播放,由此,能够降低客户端的处理开销,提升客户端的运行速度。
为了实现上述实施例,本申请还提出了另一种音频混音方法。
图7为本申请实施例所提供的另一种音频混音方法的流程示意图,该方法由客户端执行,该客户端可以是智能手机、平板电脑、笔记本电脑等支持语音通话功能的电子设备。
如图7所示,该音频混音方法可以包括以下步骤:
步骤601,向服务器发送第一音频信号。
多人语音通话时,各个参与的客户端可以采集参与者(客户端的用户)发出的语音信息,得到第一音频信号,进而将第一音频信号通过网络发送至服务器。
步骤602,接收服务器发送的全混音音频信号;其中,全混音音频信号是由服务器对接收到的第一音频信号进行全混音处理得到的。
服务器接收到参与多人语音通话的各个客户端发送的第一音频信号后,可以对接收到的第一音频信号进行全混音处理,或者对接收到的第一音频信号利用选路原则进行筛选后得到目标第一音频信号,利用目标第一音频信号进行混音处理,得到全混音音频信号,并将全混音音频信号发送至对应的客户端。
步骤603,从全混音音频信号中,滤除客户端的经过全混音处理的第一音频信号,得到混音音频信号;其中,混音音频信号中携带其他客户端经过全混音处理后的第一音频信号。
由于各个客户端接收的全混音音频信号是服务器利用所接收的第一音频信号进行一次混音处理后得到的,针对每个客户端,全混音音频信号中可能包含了该客户端所采集的第一音频信号经过全混音处理后的信号,此时,客户端可以从接收的全混音音频信号中滤除该客户端自身采集的第一音频信号经过全混音处理后的音频信号,以得到携带其他客户端经过全混音处理后的第一音频信号的混音音频信号。比如,客户端可以采用滤波技术从全混音音频信号中滤除自身的音频信号。
步骤604,播放混音音频信号。
针对每个客户端,从全混音音频信号中滤除自身经过全混音处理后的第一音频信号而得到混音音频信号后,可以播放该混音音频信号,以接听其他参与者发出的语音信息,实现多人语音通话。
本实施例的音频混音方法,客户端向服务器发送第一音频信号,并接收服务器发送的全混音音频信号,进而从全混音音频信号中滤除当前客户端的经过全混音处理的第一音频信号,得到携带其他客户端的经过全混音处理后的第一音频信号的混音音频信号并播放。由于客户端只需要发送自身的第一音频信号和接收全混音音频信号,而无需接收其他各个客户端的第一音频信号,大大节省了带宽资源,降低了带宽资源的占有率,从而能够解决现有技术中带宽资源占有率高的技术问题。
图8为本申请实施例所提供的另一种音频混音方法的流程示意图。
如图8所示,该音频混音方法可以包括以下步骤:
步骤701,向服务器发送第一音频信号,并缓存第一音频信号和第一音频信号的标识信息。
其中,标识信息中包括客户端的标识码和第一音频信号的帧序列号。客户端的标识码可以在多人语音通话建立时由服务器生成,并反馈给客户端,由客户端存储在本地。帧序列号可以由客户端根据第一音频信号的采集顺序生成。
本实施例中,客户端将采集的第一音频信号发送至服务器时,存储该第一音频信号的标识信息。
步骤702,接收服务器发送的全混音音频信号;其中,全混音音频信号是由服务器对接收到的第一音频信号进行全混音处理得到的。
步骤703,获取服务器发送的客户端的增益系数。
服务器接收各个客户端发送的第一音频信号时,可以记录各个客户端发送的第一音频信号的帧序列号,并采用接收的所有第一音频信号进行混音处理得到全混音音频信号,或者选择第一音频信号中的语音信号进行混音处理得到全混音音频信号。在进行混音处理时,服务器记录混音处理过程中计算得到的各个通道对应的增益系数。进而,服务器可以将混音处理得到的全混音音频信号发送给各个客户端,并将各个客户端的增益系数发送给对应的客户端。
作为一种示例,服务器向各个客户端发送增益系数时,可以针对每个客户端,将该客户端对应的增益系数携带在全混音音频信号中,将该客户端对应的增益系数与全混音音频信号进行打包,一起发送给对应的客户端,该客户端可以从接收到的数据中解析出全混音音频信号和增益系数。
作为一种示例,服务器可以将全混音音频信号和增益系数依次发送至各个客户端。具体地,服务器可以先将全混音音频信号发送至各个客户端,再根据各个客户端的序列号,将各个客户端对应的增益系数发送至对应的客户端。
作为一种示例,服务器可以将全混音音频信号和各个客户端的增益系数打包在一起发送给各个客户端,即全混音音频信号中携带参与全混音处理的每个客户端的增益系数。此时,客户端可以根据自身的序列号,从所有的增益系数中识别出自身的增益系数。由于各个客户端的标识码是唯一的,从而每个客户端可以识别出唯一的一个增益系数。
步骤704,分别对全混音音频信号和客户端的第一音频信号进行短时傅里叶变换,得到全混音音频信号的第一功率谱和第一音频信号的第二功率谱。
步骤705,根据客户端的增益系数、第一功率谱和第二功率谱,计算客户端每个频点上当前帧的滤波系数。
步骤705的介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
步骤706,根据每个频点上当前帧的滤波系数,对第二功率谱进行平滑滤波,得到第三功率谱。
例如,第三功率谱可以根据公式(4)计算得到。
Psd_mix(j,k)=W(i,j,k)*P2(j,k) (4)
其中,Psd_mix(j,k)即为对第二功率谱进行平滑滤波后所得的第三功率谱。
步骤707,对第三功率谱进行反傅里叶变换,得到客户端最终的混音音频信号,其中,混音音频信号包括除客户端之外其他客户端的经过全混音处理的第一音频信号。
步骤708,播放混音音频信号。
客户端从接收的全混音音频信号中滤除自身的经过全混音处理后的第一音频信号并进行反傅里叶变换之后,得到携带其他客户端经过全混音处理后的第一音频信号的混音音频信号并播放,实现了接听其他参与者发现的语音信息。
本实施例的音频混音方法,客户端向服务器发送第一音频信号时缓存第一音频信号的标识信息,并在接收到客户端的增益系数和全混音音频信号后,利用该客户端的增益系数滤除全混音音频信号中包含的该客户端的经过全混音处理的第一音频信号后得到携带其他客户端经过全混音处理后的第一音频信号的混音音频信号并进行播放,使得各个客户端仅通过一次接收即可获得其他客户端的音频信号,节省了传输带宽,降低了带宽资源的占有率。
图9为本申请实施例所提供的另一种音频混音方法的流程示意图。
如图9所示,该音频混音方法可以包括以下步骤:
步骤801,对第一音频信号进行编码处理,得到编码后的第一音频信号发送给服务器。
客户端采集的第一音频信号为模拟信号,为了便于传输和存储,降低传输所需的带宽,客户端可以对采集的第一音频信号进行编码处理,得到编码后的第一音频信号,并将编码后的第一音频信号通过通道传输至服务器。
步骤802,接收服务器发送的编码后的全混音音频信号;其中,全混音音频信号是由服务器对接收到的第一音频信号进行全混音和编码处理后得到的。
步骤803,对全混音音频信号进行解码,得到解码后的全混音音频信号。
本实施例中,服务器接收到编码后的第一音频信号后,对第一音频信号进行解码处理,并对解码后的第一音频信号进行混音处理得到全混音音频信号。服务器对所得的全混音音频信号进行编码处理后发送给各个客户端。针对每个客户端,客户端接收到全混音音频信号后,对全混音音频信号进行解码,得到解码后的全混音音频信号。
步骤804,从解码后的全混音音频信号中,滤除客户端的经过全混音处理的第一音频信号,得到混音音频信号;其中,混音音频信号中携带其他客户端经过全混音处理后的第一音频信号。
需要说明的是,本实施例中对步骤704的描述可以参见前述实施例中有关从全混音音频信号中滤除客户端的经过全混音处理的第一音频信号的描述,其原理类似,此处不再赘述。
步骤805,播放混音音频信号。
客户端对滤除当前客户端的经过全混音处理的第一音频信号后所得的混音音频信号进行播放,以接听其他参与者的语音信息。
本实施例的音频混音方法,客户端通过对采集的第一音频信号进行编码处理,将编码后的第一音频信号发送给服务器,能够减少传输的数据量,降低对传输带宽的占用。
图10为多个客户端与服务器进行交互的架构示意图。如图10所示,四个客户端A、B、C和D之间进行语音通话,服务器和四个客户端之间通过网络进行连接并实现数据传输。服务器分别从客户端A、B、C和D接收各个客户端采集的第一音频信号a、b、c和d,并对a、b、c和d进行全混音处理,得到全混音音频信号abcd。服务器将全混音音频信号abcd分别发送至客户端A、B、C和D,由各个客户端对全混音音频信号abcd进行处理后播放。客户端A对全混音音频信号abcd进行滤波处理后得到混音信号bcd并播放;客户端B对全混音音频信号abcd进行滤波处理后得到混音信号acd并播放;客户端C对全混音音频信号abcd进行滤波处理后得到混音信号abd并播放;客户端D对全混音音频信号abcd进行滤波处理后得到混音信号abc并播放。
图10中的客户端和服务器的实体结构示意图分别如图11和12所示,图11为客户端的实体结构示意图,图12为服务器的实体结构示意图。
如图11所示,客户端可以包括麦克风、扬声器、信号收发器、编/解码器和滤波器。其中,麦克风用于采集用户的音频信号;信号收发器将麦克风采集的音频信号通过网络发送至服务器,并接收服务器发送的全混音音频信号;编/解码器用于对麦克风采集的音频信号进行编码,以及对信号收发器接收的全混音音频信号进行解码;滤波器用于对解码后的全混音音频信号进行滤波处理,以从全混音音频信号中滤除客户端自身的音频信号,得到仅包括其他客户端的音频信号的混音信号;扬声器用于对滤波器进行滤波处理后得到的混音信号进行播放。
如图12所示,服务器可以包括接收模块、发送模块、编/解码器和混音器。其中,接收模块与多个客户端之间建立网络连接,用于接收多个客户端发送的音频信号;混音器用于对接收的多路音频信号进行全混音处理,得到全混音音频信号;编/解码器用于对接收的音频信号进行解码处理,以及对混音器得到的全混音音频信号进行编码处理;发送模块与多个客户端之间建立网络连接,用于将编码后的全混音音频信号分别发送给各个客户端。
需要说明的是,当需要在服务器进行全混音处理以及滤波处理时,在图12的基础上,如图13所示,服务器还需要包括:滤波器。相应地,在图11的基础上,由于客户端无需对全混音音频信号进行滤波,如图14所示,该客户端包括:麦克风、扬声器、信号收发器和编/解码器。
每个客户端与服务器进行交互实现本申请实施例的音频混音方法的过程如图15所示。
图15为客户端与服务器交互实现音频混音方法的流程示意图。如图15所示,该音频混音方法可以包括以下步骤:
步骤901,客户端对第一音频信号进行编码处理后发送至服务器。
步骤902,服务器对接收的第一音频信号进行解码,并获取第一音频信号的标识信息。
步骤903,服务器对解码后的第一音频信号进行全混音处理,得到全混音音频信号,并存储全混音处理过程中产生的各个客户端的增益系数。
此处需要说明的是,服务器接收到四个客户端发送的第一音频信号,并完成解码后,才对接收的第一音频信号进行全混音处理。
服务器在进行全混音处理之前,可以先对接收的四个第一音频信号进行筛选,若接收的四个第一音频信号均为语音信号且四个客户端都有混音需求,则可以对解码后的四个第一音频信号进行防破音处理和线性叠加处理,得到全混音音频信号。
假设四个客户端对应的标识码分别为0~3,服务器当前接收的第一音频信号的帧序列号为9,即当前接收到的是第9帧音频信号,对接收的4个第一音频信号进行解码后得到解码后的第一音频信号分别为Pcm_dec(0,9)、Pcm_dec(1,9)、Pcm_dec(2,9)和Pcm_dec(3,9),则服务器对4个解码后的第一音频信号进行全混音处理获得全混音音频信号Pcm_all的过程可以简化为公式(5)所示。
其中,Gain(m,9)(m=0,1,2,3)表示四个客户端的增益系数,可以根据公式(1)计算得到。
步骤904,服务器对全混音音频信号进行编码,得到全混音音频编码信号。
步骤905,服务器将客户端的第一音频信号的标识信息、客户端的增益系数以及全混音音频编码信号发送给客户端。
步骤906,客户端对接收的全混音音频编码信号进行解码,并利用增益系数从解码后得到的全混音音频信号中滤除该客户端的经过全混音处理的第一音频信号,得到混音音频信号。
步骤907,客户端播放混音音频信号。
本实施例中,客户端接收到服务器发送的全混音音频信号后,从全混音音频信号中滤除自身的经过全混音处理的第一音频信号,得到仅包含其他三个客户端的经过全混音处理的第一音频信号的混音音频信号,进而播放混音音频信号。
通过本实施例的混音音频方法,服务器仅需要进行一次混音处理和一次编码处理,有效地降低了处理开销;客户端仅接收一次全混音音频信号,而无需接收其他客户端发送的音频信号,有效降低了对带宽资源的占用。
为了实现上述实施例,本申请还提出一种服务器。
图16为本申请实施例所提供的一种服务器的结构示意图。
如图16所示,该服务器60包括:接收模块610、混音处理模块620,以及发送模块630。其中,
接收模块610,用于接收各客户端发送的第一音频信号。
混音处理模块620,用于对接收到的第一音频信号进行全混音处理,得到全混音音频信号。
具体地,混音处理模块620用于对所有客户端的第一音频信号进行防破音和线性叠加处理,得到全混音音频信号;或者,获取每个客户端上第一音频信号的信号特征,根据信号特征,从所有的第一音频信号中选取出参与全混音处理的目标第一音频信号,进而对选取出的所有的目标第一音频信号进行防破音和线性叠加处理,得到全混音音频信号。其中,信号特征可以包括但不限于信号能量、信噪比等。
其中,混音处理模块620进行防破音和线性叠加处理时,可以获取参与全混音处理的每个客户端的增益系数,将增益系数与对应客户端上的第一音频信号相乘,并将相乘后的结果进行线性叠加。具体地,混音处理模块620可以获取参与全混音处理的客户端的个数,根据客户端的个数确定每个参与全混音处理的客户端的增益系数。
通过获取每个客户端上第一音频信号的信号特征,根据信号特征从所有的第一音频信号中选取出目标第一音频信号进行防破音和线性叠加处理,得到全混音音频信号,能够从第一音频信号中筛选出语音信号和非语音信号,并仅使用语音信号进行混音处理,能够有效降低处理开销。
发送模块630,用于将全混音音频信号发送给每个客户端进行播放,以使客户端从全混音音频信号中过滤自身经过全混音处理的第一音频信号,得到混音音频信号进行播放;其中,混音音频中携带其他客户端经过全混音处理的第一音频信号。
进一步地,在本申请实施例一种可能的实现方式中,如图17所示,在如图16所示实施例的基础上,该服务器60还包括:
获取模块640,用于获取第一音频信号的标识信息,标识信息中包括客户端的标识码和第一音频信号所对应的帧序列号。
打包模块650,用于将标识信息以及第一音频信号所对应客户端的增益系数携带在全混音音频信号中。
进一步地,在本申请实施例一种可能的实现方式中,如图18所示,在如图16所示实施例的基础上,该服务器60还包括:
解码模块600,用于对第一音频信号进行解码处理,得到解码后的第一音频信号。
此时,发送模块630具体用于将全混音音频信号进行编码,得到全混音音频编码信号发送给每个客户端。
通过将全混音音频信号进行编号得到全混音音频编码信号后发送给各个客户端,实现了模拟信号与数字信号之间的转换,有利于信号存储和传输,减少对传输带宽的占用。
需要说明的是,前述对服务器侧执行的音频混音方法实施例的解释说明也适用于该实施例的服务器,其实现原理类似,此处不再赘述。
本实施例的服务器,由于全混音音频信号是通过对接收到的第一音频信号进行全混音处理得到的,全混音音频信号中包括了各个需要混音的客户端的第一音频信号,因此只需进行一次混音处理即实现了对各通道上的客户端的第一音频信号的混音,在保证语音质量的同时大大降低了混音处理开销,降低了处理难度和运营成本,解决了现有技术中混音处理开销大的技术问题。
图19为本申请实施例所提供的另一种服务器的结构示意图。如图19所示,该服务器70可以包括:接收模块710、混音处理模块720、滤波模块730和发送模块740。
接收模块710,用于接收各客户端发送的第一音频信号。
混音处理模块720,用于对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号。
滤波模块730,用于针对每个客户端,从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号,得到所述客户端对应的所述混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号;
发送模块740,用于向所述客户端发送所述混音音频信号,以使所述客户端进行播放。
进一步地,所述第一音频信号携带标识信息;所述标识信息包括所述客户端的标识码和所述第一音频信号所对应的帧序列号。
在图19的基础之上,如图20所示,该服务器70还可以包括:缓存模块750,用于在接收各客户端发送的第一音频信号之后,缓存各客户端的所述第一音频信号。
进一步地,所述过滤模块730,还用于:
在从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号之前,根据所述标识信息,从缓存区内获取所述客户端对应的所述第一音频信号。
进一步地,混音处理模块720,具体用于:
对所有客户端的所述第一音频信号进行防破音和线性叠加处理,得到所述全混音音频信号;或者,获取每个客户端上所述第一音频信号的信号特征,根据所述信号特征,从所有的所述第一音频信号中选取出参与全混音处理的目标第一音频信号,以及对选取出的所有的所述目标第一音频信号进行防破音和线性叠加处理,得到所述全混音音频信号。
进一步地,混音处理模块720,具体用于:
获取参与全混音处理的每个客户端的增益系数;
将所述增益系数与对应客户端上的所述第一音频信号相乘,并将相乘后的结果进行线性叠加。
进一步地,混音处理模块720,具体用于:
获取参与全混音处理的客户端的个数,根据所述客户端的个数确定每个参与全混音处理的客户端的所述增益系数。
进一步地,滤波模块730,具体用于:
分别对所述全混音音频信号和所述客户端的第一音频信号进行短时傅里叶变换,得到所述全混音音频信号的第一功率谱和所述第一音频信号的第二功率谱;
根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数;
根据每个频点上当前帧的滤波系数,对所述第二功率谱进行平滑滤波,得到第三功率谱;
对所述第三功率谱进行反傅里叶变换,得到所述客户端的所述混音音频信号。
进一步地,滤波模块730,具体用于:
针对所述客户端的每个频点,获取所述频点的前一帧的滤波系数;
计算所述第二功率谱在所述频点上的功率值与所述第一功率谱在所述频点上功率值的第一比值;
根据所述第一比值和所述增益系数,计算得到所述频点的当前帧过滤滤波系数;
根据预设的平滑系数和所述过滤滤波系数,对所述前一帧滤波系数进行平滑处理,得到所述当前帧最终的所述滤波系数。
进一步地,根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数的具体公式为:
W(i,j,k)=a*W(i,j-1,k)+(1-a)*(1-G(i,j))*P2(j,k)/P1(j,k);
其中,i表示第i个客户端,j表示所述第一音频信号的帧序列号,k表示第k个频点;所述W(i,j,k)表示第i个客户端对应的第j帧在频点k上的滤波系数;所述W(i,j-1,k)表示第i个客户端对应的第j-1帧在频点k上的滤波系数;G(i,j)表示第i个客户端对应的第j帧的所述增益系数;P1(j,k)表示所述第i个客户端对应的第j帧的第一音频信号的所述第一功率谱;P2(j,k)表示所述全混音音频信号的所述第二功率谱;a示预设的平滑系数。
进一步地,如图20所示,所述服务器70,还可以包括:
编/解码模块760,用于对所述第一音频信号进行解码处理,得到解码后的所述第一音频信号,以及将所述混音音频信号进行编码,得到混音音频编码信号,然后通过发送模块740发送给所述客户端。
通过在服务器侧针对每个客户端对全混音音频信号进行滤波处理,得到与每个客户端对应的混音音频信号,进而将混音音频信号发送给对应的客户端进行播放,由此,能够降低客户端的处理开销,提升客户端的运行速度。
为了实现上述实施例,本申请还提出一种客户端。
图21为本申请实施例所提供的一种客户端的结构示意图。
如图21所示,该客户端80包括:发送模块810、接收模块820、滤波模块830,以及播放模块840。其中,
发送模块810,用于向服务器发送第一音频信号。
接收模块820,用于接收服务器发送的全混音音频信号;其中,全混音音频信号是由服务器对接收到的第一音频信号进行全混音处理得到的。
滤波模块830,用于从全混音音频信号中,滤除当前客户端的经过全混音处理的第一音频信号,得到混音混音信号;其中,混音音频信号中携带其他客户端经过全混音处理后的第一音频信号。
播放模块840,用于播放混音音频信号。
进一步地,在本申请实施例一种可能的实现方式中,如图22所示,在如图21所示实施例的基础上,该客户端80还包括:
缓存模块800,用于在向服务器发送第一音频信号时,缓存第一音频信号和第一音频信号的标识信息,其中,标识信息中包括客户端的标识码和第一音频信号的帧序列号。
获取模块850,用于获取服务器发送的客户端的增益系数。
在本发明实施例一种可能的实现方式中,当接收模块820接收的全混音音频信号中携带参与全混音处理的每个客户端的增益系数时,获取模块850可以根据客户端的标识信息,从所有的增益系数中识别出客户端的增益系数。
滤波模块830包括:
傅里叶变换单元831,用于分别对全混音音频信号和客户端的第一音频信号进行短时傅里叶变换,得到全混音音频信号的第一功率谱和第一音频信号的第二功率谱。
滤波系数计算单元832,用于根据客户端的增益系数、第一功率谱和第二功率谱,计算客户端每个频点上当前帧的滤波系数。
滤波系数计算单元832计算当前通道每个频点上当前帧的滤波系数时,先针对客户端的每个频点,获取频点的前一帧的滤波系数,再计算第二功率谱在频点上的功率值与第一功率谱在频点上功率值的第一比值,接着,根据第一比值和增益系数,计算得到频点的当前帧过滤滤波系数,最后,根据预设的平滑系数和过滤滤波系数,对前一帧滤波系数进行平滑处理,得到当前帧最终的滤波系数。具体的计算公式如前述实施例中公式(3)所示,此处不再赘述。
滤波单元833,用于根据每个频点上当前帧的滤波系数,对第二功率谱进行平滑滤波,得到第三功率谱。
反傅里叶变换单元834,用于对第三功率谱进行反傅里叶变换,得到客户端最终的混音音频信号,其中,混音音频信号包括除当前客户端之外其他客户端的经过全混音处理的第一音频信号。
通过在发送第一音频信号时缓存第一音频信号的标识信息,并在接收到客户端的增益系数和全混音音频信号后,利用客户端的增益系数滤除全混音音频信号中包含的客户端经过全混音处理的第一音频信号后得到携带其他客户端经过全混音处理后的第一音频信号的混音音频信号并进行播放,使得各个客户端仅通过一次接收即可获得其他客户端的音频信号,节省了传输带宽,降低了带宽资源的占有率。
在本申请实施例一种可能的实现方式中,如图23所示,在如图21所示实施例的基础上,该客户端80还包括:
编码模块850,用于对采集的第一音频信号进行编码处理,得到编码后的第一音频信号。
此时,发送模块810具体用于向服务器发送编码后的第一音频信号。
滤波模块830包括:
解码单元834,用于对全混音音频信号进行解码,得到解码后的全混音音频信号。
滤波单元835,用于从解码后的全混音音频信号中,滤除客户端经过全混音处理的第一音频信号。
通过对采集的第一音频信号进行编码处理,将编码后的第一音频信号发送给服务器,能够减少传输的数据量,降低对传输带宽的占用。
需要说明的是,前述对客户端侧执行的音频混音方法实施例的解释说明也适用于该实施例的客户端,其实现原理类似,此处不再赘述。
本实施例的客户端,向服务器发送第一音频信号,并接收服务器发送的全混音音频信号,进而从全混音音频信号中滤除客户端的经过全混音处理的第一音频信号,得到携带其他客户端的经过全混音处理后的第一音频信号的混音音频信号并播放。由于客户端只需要发送自身的第一音频信号和接收全混音音频信号,而无需接收其他各个客户端的第一音频信号,大大节省了带宽资源,降低了带宽资源的占有率,从而能够解决现有技术中带宽资源占有率高的技术问题。
为了实现上述实施例,本申请还提出一种计算机设备。
图24为本申请实施例所提供的一种计算机设备的结构示意图。如图24所示,该计算机设备90包括:处理器910和存储器920。其中,处理器910通过读取存储器920中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于实现前述实施例所述的音频混音方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述实施例所述的音频混音方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当该计算机程序产品中的指令由处理器执行时,执行前述实施例所述的音频混音方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (28)

1.一种音频混音方法,其特征在于,包括:
接收各客户端发送的第一音频信号;
对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
将所述全混音音频信号发送给每个客户端,以使所述客户端从所述全混音音频信号中过滤自身经过全混音处理的所述第一音频信号,得到混音音频信号进行播放;其中,所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取所述第一音频信号的标识信息,所述标识信息中包括所述客户端的标识码和所述第一音频信号所对应的帧序列号;
将所述标识信息以及所述第一音频信号所对应客户端的增益系数携带在所述全混音音频信号中。
3.根据权利要求1所述的方法,其特征在于,所述对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号,包括:
对所有客户端的所述第一音频信号进行防破音和线性叠加处理,得到所述全混音音频信号;或者,
获取每个客户端上所述第一音频信号的信号特征;
根据所述信号特征,从所有的所述第一音频信号中选取出参与全混音处理的目标第一音频信号;
对选取出的所有的所述目标第一音频信号进行防破音和线性叠加处理,得到所述全混音音频信号。
4.根据权利要求3所述的方法,其特征在于,所述进行防破音和线性叠加处理,包括:
获取参与全混音处理的每个客户端的增益系数;
将所述增益系数与对应客户端上的所述第一音频信号相乘,并将相乘后的结果进行线性叠加。
5.根据权利要求4所述的方法,其特征在于,所述获取参与全混音处理的每个客户端的增益系数,包括:
获取参与全混音处理的客户端的个数,根据所述客户端的个数确定每个参与全混音处理的客户端的所述增益系数。
6.根据权利要求1所述的方法,其特征在于,所述对接收到的所述第一音频信号进行全混音处理之前,还包括:
对所述第一音频信号进行解码处理,得到解码后的所述第一音频信号;
所述将所述全混音音频信号发送给每个客户端,包括:
将所述全混音音频信号进行编码,得到全混音音频编码信号发送给每个客户端。
7.一种音频混音方法,其特征在于,包括:
接收各客户端发送的第一音频信号;
对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
针对每个客户端,从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号,得到所述客户端对应的所述混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号;
向所述客户端发送所述混音音频信号,以使所述客户端进行播放。
8.根据权利要求7所述的方法,其特征在于,所述第一音频信号携带标识信息;所述标识信息包括所述客户端的标识码和所述第一音频信号所对应的帧序列号;
则所述接收各客户端发送的第一音频信号之后,还包括:
缓存各客户端的所述第一音频信号;
所述从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号之前,还包括:
根据所述标识信息,从缓存区内获取所述客户端对应的所述第一音频信号。
9.根据权利要求7所述的方法,其特征在于,所述对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号,包括:
对所有客户端的所述第一音频信号进行防破音和线性叠加处理,得到所述全混音音频信号;或者,
获取每个客户端上所述第一音频信号的信号特征;
根据所述信号特征,从所有的所述第一音频信号中选取出参与全混音处理的目标第一音频信号;
对选取出的所有的所述目标第一音频信号进行防破音和线性叠加处理,得到所述全混音音频信号。
10.根据权利要求9所述的方法,其特征在于,所述进行防破音和线性叠加处理,包括:
获取参与全混音处理的每个客户端的增益系数;
将所述增益系数与对应客户端上的所述第一音频信号相乘,并将相乘后的结果进行线性叠加。
11.根据权利要求10所述的方法,其特征在于,所述获取参与全混音处理的每个客户端的增益系数,包括:
获取参与全混音处理的客户端的个数,根据所述客户端的个数确定每个参与全混音处理的客户端的所述增益系数。
12.根据权利要求7所述的方法,其特征在于,所述从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号,得到所述客户端对应的所述混音音频信号,包括:
分别对所述全混音音频信号和所述客户端的第一音频信号进行短时傅里叶变换,得到所述全混音音频信号的第一功率谱和所述第一音频信号的第二功率谱;
根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数;
根据每个频点上当前帧的滤波系数,对所述第二功率谱进行平滑滤波,得到第三功率谱;
对所述第三功率谱进行反傅里叶变换,得到所述客户端的所述混音音频信号。
13.根据权利要求12所述的方法,其特征在于,所述根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数,包括:
针对所述客户端的每个频点,获取所述频点的前一帧的滤波系数;
计算所述第二功率谱在所述频点上的功率值与所述第一功率谱在所述频点上功率值的第一比值;
根据所述第一比值和所述增益系数,计算得到所述频点的当前帧过滤滤波系数;
根据预设的平滑系数和所述过滤滤波系数,对所述前一帧滤波系数进行平滑处理,得到所述当前帧最终的所述滤波系数。
14.根据权利要求12所述的方法,其特征在于,所述根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数的具体公式为:
W(i,j,k)=a*W(i,j-1,k)+(1-a)*(1-G(i,j))*P2(j,k)/P1(j,k);
其中,i表示第i个客户端,j表示所述第一音频信号的帧序列号,k表示第k个频点;所述W(i,j,k)表示第i个客户端对应的第j帧在频点k上的滤波系数;所述W(i,j-1,k)表示第i个客户端对应的第j-1帧在频点k上的滤波系数;G(i,j)表示第i个客户端对应的第j帧的所述增益系数;P1(j,k)表示所述第i个客户端对应的第j帧的第一音频信号的所述第一功率谱;P2(j,k)表示所述全混音音频信号的所述第二功率谱;a表示预设的平滑系数。
15.根据权利要求7-13任一项所述的方法,其特征在于,所述对接收到的所述第一音频信号进行全混音处理之前,还包括:
对所述第一音频信号进行解码处理,得到解码后的所述第一音频信号;
所述向所述客户端发送所述混音音频信号,包括:
将所述混音音频信号进行编码,得到混音音频编码信号发送给所述客户端。
16.一种音频混音方法,其特征在于,包括:
向服务器发送第一音频信号;
接收服务器发送的全混音音频信号;其中,所述全混音音频信号是由所述服务器对接收到的所述第一音频信号进行全混音处理得到的;
从所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号,得到混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理后的所述第一音频信号;
播放所述混音音频信号。
17.根据权利要求16所述的方法,其特征在于,还包括:
在向所述服务器发送所述第一音频信号时,缓存所述第一音频信号和所述第一音频信号的标识信息,其中,所述标识信息中包括所述客户端的标识码和所述第一音频信号的帧序列号。
18.根据权利要求17所述的方法,其特征在于,还包括:
获取所述服务器发送的所述客户端的增益系数。
19.根据权利要求18所述的方法,其特征在于,当所述全混音音频信号中携带参与全混音处理的每个客户端的增益系数时,则所述获取所述服务器发送的所述客户端的增益系数,包括:
根据所述客户端的标识信息,从所有的增益系数中识别出所述客户端的增益系数。
20.根据权利要求18所述的方法,其特征在于,所述从所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号,包括:
分别对所述全混音音频信号和所述客户端的第一音频信号进行短时傅里叶变换,得到所述全混音音频信号的第一功率谱和所述第一音频信号的第二功率谱;
根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数;
根据每个频点上当前帧的滤波系数,对所述第二功率谱进行平滑滤波,得到第三功率谱;
对所述第三功率谱进行反傅里叶变换,得到所述客户端最终的所述混音音频信号,其中,所述混音音频信号包括除所述客户端之外其他客户端的经过全混音处理的所述第一音频信号。
21.根据权利要求20所述的方法,其特征在于,所述根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数,包括:
针对所述客户端的每个频点,获取所述频点的前一帧的滤波系数;
计算所述第二功率谱在所述频点上的功率值与所述第一功率谱在所述频点上功率值的第一比值;
根据所述第一比值和所述增益系数,计算得到所述频点的当前帧过滤滤波系数;
根据预设的平滑系数和所述过滤滤波系数,对所述前一帧滤波系数进行平滑处理,得到所述当前帧最终的所述滤波系数。
22.根据权利要求20所述的方法,其特征在于,所述根据所述客户端的增益系数、所述第一功率谱和所述第二功率谱,计算所述客户端每个频点上当前帧的滤波系数的具体公式为:
W(i,j,k)=a*W(i,j-1,k)+(1-a)*(1-G(i,j))*P2(j,k)/P1(j,k);
其中,i表示第i个客户端,j表示所述第一音频信号的帧序列号,k表示第k个频点;所述W(i,j,k)表示第i个客户端对应的第j帧在频点k上的滤波系数;所述W(i,j-1,k)表示第i个客户端对应的第j-1帧在频点k上的滤波系数;G(i,j)表示第i个客户端对应的第j帧的所述增益系数;P1(j,k)表示所述第i个客户端对应的第j帧的第一音频信号的所述第一功率谱;P2(j,k)表示所述全混音音频信号的所述第二功率谱;a表示预设的平滑系数。
23.根据权利要求16所述的方法,其特征在于,所述通过客户端向服务器发送第一音频信号,包括:
对所述第一音频信号进行编码处理,得到编码后的所述第一音频信号发送给所述服务器;
所述从所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号,包括:
对所述全混音音频信号进行解码,得到解码后的所述全混音音频信号;
从解码后的所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号。
24.一种服务器,其特征在于,包括:
接收模块,用于接收各客户端发送的第一音频信号;
混音处理模块,用于对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
发送模块,用于将所述全混音音频信号发送给每个客户端,以使所述客户端从所述全混音音频信号中过滤自身经过全混音处理的所述第一音频信号,得到混音音频信号进行播放;其中,所述混音音频中携带其他客户端经过全混音处理的所述第一音频信号。
25.一种服务器,其特征在于,包括:
接收模块,用于接收各客户端发送的第一音频信号;
混音处理模块,用于对接收到的所述第一音频信号进行全混音处理,得到全混音音频信号;
过滤模块,用于针对每个客户端,从所述全混音音频信号中,过滤来自所述客户端的经过全混音处理后的所述第一音频信号,得到所述客户端对应的所述混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理的所述第一音频信号;
发送模块,用于向所述客户端发送所述混音音频信号,以使所述客户端进行播放。
26.一种客户端,其特征在于,包括:
发送模块,用于向服务器发送第一音频信号;
接收模块,用于接收服务器发送的全混音音频信号;其中,所述全混音音频信号是由所述服务器对接收到的所述第一音频信号进行全混音处理得到的;
滤波模块,用于从所述全混音音频信号中,滤除所述客户端的经过全混音处理的所述第一音频信号,得到混音音频信号;其中,所述混音音频信号中携带其他客户端经过全混音处理后的所述第一音频信号;
播放模块,用于播放所述混音音频信号。
27.一种计算机设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-6中任一项所述的音频混音方法,或者如权利要求7-15中任一项所述的音频混音方法,或者如权利要求16-23中任一项所述的音频混音方法。
28.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的音频混音方法,或者如权利要求7-15中任一项所述的音频混音方法,或者如权利要求16-23中任一项所述的音频混音方法。
CN201810234914.2A 2018-03-21 2018-03-21 音频混音方法、服务器及客户端 Active CN110299144B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810234914.2A CN110299144B (zh) 2018-03-21 2018-03-21 音频混音方法、服务器及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810234914.2A CN110299144B (zh) 2018-03-21 2018-03-21 音频混音方法、服务器及客户端

Publications (2)

Publication Number Publication Date
CN110299144A true CN110299144A (zh) 2019-10-01
CN110299144B CN110299144B (zh) 2021-05-28

Family

ID=68025488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810234914.2A Active CN110299144B (zh) 2018-03-21 2018-03-21 音频混音方法、服务器及客户端

Country Status (1)

Country Link
CN (1) CN110299144B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112135155A (zh) * 2020-09-11 2020-12-25 上海七牛信息技术有限公司 音视频的连麦合流方法、装置、电子设备及存储介质
CN112188144A (zh) * 2020-09-14 2021-01-05 浙江华创视讯科技有限公司 音频的发送方法及装置、存储介质和电子装置
CN113257256A (zh) * 2021-07-14 2021-08-13 广州朗国电子科技股份有限公司 一种语音处理方法、会议一体机、系统及存储介质
CN114285830A (zh) * 2021-12-21 2022-04-05 北京百度网讯科技有限公司 语音信号处理方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080112479A1 (en) * 2002-07-18 2008-05-15 Garmany Jan D Frequency Domain Equalization of Communication Signals
CN102543087A (zh) * 2011-12-28 2012-07-04 中兴长天信息技术(南昌)有限公司 一种应用于多点移动音频通信系统的混音方法
CN102883133A (zh) * 2012-10-17 2013-01-16 西安融科通信技术有限公司 基于单服务器实现大容量会议服务的系统及方法
CN104935763A (zh) * 2014-03-20 2015-09-23 华为技术有限公司 一种电话会议的处理方法、主持方电话终端、及电话会议系统
CN105869648A (zh) * 2016-05-19 2016-08-17 广州日滨科技发展有限公司 混音方法及装置
EP3182407A1 (en) * 2015-12-17 2017-06-21 Harman Becker Automotive Systems GmbH Active noise control by adaptive noise filtering

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080112479A1 (en) * 2002-07-18 2008-05-15 Garmany Jan D Frequency Domain Equalization of Communication Signals
CN102543087A (zh) * 2011-12-28 2012-07-04 中兴长天信息技术(南昌)有限公司 一种应用于多点移动音频通信系统的混音方法
CN102883133A (zh) * 2012-10-17 2013-01-16 西安融科通信技术有限公司 基于单服务器实现大容量会议服务的系统及方法
CN104935763A (zh) * 2014-03-20 2015-09-23 华为技术有限公司 一种电话会议的处理方法、主持方电话终端、及电话会议系统
EP3182407A1 (en) * 2015-12-17 2017-06-21 Harman Becker Automotive Systems GmbH Active noise control by adaptive noise filtering
CN105869648A (zh) * 2016-05-19 2016-08-17 广州日滨科技发展有限公司 混音方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112135155A (zh) * 2020-09-11 2020-12-25 上海七牛信息技术有限公司 音视频的连麦合流方法、装置、电子设备及存储介质
CN112188144A (zh) * 2020-09-14 2021-01-05 浙江华创视讯科技有限公司 音频的发送方法及装置、存储介质和电子装置
CN113257256A (zh) * 2021-07-14 2021-08-13 广州朗国电子科技股份有限公司 一种语音处理方法、会议一体机、系统及存储介质
CN114285830A (zh) * 2021-12-21 2022-04-05 北京百度网讯科技有限公司 语音信号处理方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN110299144B (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN110299144A (zh) 音频混音方法、服务器及客户端
US20150304502A1 (en) System and method for audio conferencing
CN102984496B (zh) 视频会议中的视音频信息的处理方法、装置及系统
CN106063238B (zh) 电话会议中的在感知上连续的混合
CN113203988B (zh) 声源定位方法及装置
US8208645B2 (en) System and method for harmonizing calibration of audio between networked conference rooms
CN110060696B (zh) 混音方法及装置、终端及可读存储介质
CN103905928A (zh) 一种网络语音对讲方法、装置及系统
CN110503981A (zh) 无参考音频客观质量评价方法、装置及存储介质
CN106792013A (zh) 一种用于电视节目声音互动的方法、电视
CN111863011B (zh) 音频处理方法及电子设备
CN114338623B (zh) 音频的处理方法、装置、设备及介质
CN112688965B (zh) 一种会议音频共享方法、装置、电子设备及存储介质
Sacchetto et al. Web-based networked music performances via WebRTC: a low-latency PCM audio solution
CN107452398A (zh) 回声获取方法、电子设备及计算机可读存储介质
CN113973103A (zh) 音频处理方法、装置、电子设备及存储介质
CN113299299B (zh) 音频处理设备、方法及计算机可读存储介质
CN112634879B (zh) 语音会议管理方法、装置、设备及介质
CN112565668B (zh) 一种网络会议共享声音的方法
CN111951821B (zh) 通话方法和装置
US10630836B2 (en) Systems and methods for adaption of a telephonic audio signal
Liu et al. Perceptually similar orthogonal sounds and applications to multichannel acoustic echo canceling
CN116866321B (zh) 一种无中心多路声音一致性选择方法及系统
CN105491447A (zh) 一种基于流媒体技术的视频技术方法
CN117118956B (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