CN115938339A - 音频数据的处理方法及*** - Google Patents
音频数据的处理方法及*** Download PDFInfo
- Publication number
- CN115938339A CN115938339A CN202210288316.XA CN202210288316A CN115938339A CN 115938339 A CN115938339 A CN 115938339A CN 202210288316 A CN202210288316 A CN 202210288316A CN 115938339 A CN115938339 A CN 115938339A
- Authority
- CN
- China
- Prior art keywords
- audio data
- processing
- audio
- real
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请提供了一种音频数据的处理方法及***,在本申请提供的方法中,检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例;选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链;将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据;将所述目标音频数据通过所述音频引擎输出。本申请提供的音频数据的处理方法主要引用由双录场景当中,可以灵活的配置合成理想的音频效果、时延性,从而更好的提升用户体验。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种音频数据的处理方法及***。
背景技术
在进行双录过程中,由于对于双录视频质量的要求,因此,对于双录的音频数据的处理则非常重要。目前,常用的音频处理方案是基于AVAudioPlayer框架做简单的音频识别、采集、播放等处理。然而这种处理方式无法满足变声、耳机音频合成、混响、语音合成等问题,从而导致最后生成的音频数据无法满足需求,影响业务进程。
发明内容
本申请的目的在于克服上述问题或者至少部分地解决或缓减解决上述问题。
根据本申请的一个方面,提供了一种音频数据的处理方法,包括:
检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例;
选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链;
将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据;
将所述目标音频数据通过所述音频引擎输出。
可选地,所述选取至少一个音频数据处理节点之后,创建所述实时音频数据流对应的音频处理实例之前,所述方法还包括:
将各所述音频处理节点与所述音频引擎建立连接关系,以使所述音频引擎关联管理并调用各所述音频处理节点。
可选地,所述选取至少一个目标音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链,包括:
获取所述实时音频数据流对应的特征参数;
根据所述实时音频数据流对应的特征参数结合音频处理需求选取至少一个音频数据处理节点,并设置各所述音频数据处理节点的处理参数;所述处理参数包括但不限于默认描述文件、通道数、采样数;
连接所述音频引擎中的输入节点、输出节点以及各所述音频数据处理节点,生成用于处理所述实时音频数据流的音频数据处理链。
可选地,所述音频处理节点包括播放器节点、音效节点以及合成节点。
根据本申请的另一个方面,提供了一种音频数据的处理***,包括:
数据获取模块,检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例;
处理链生成模块,用于选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链;
音频处理模块,用于将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据;
输出模块,用于将所述目标音频数据通过所述音频引擎输出。
可选地,所述处理链生成模块还用于:
将各所述音频处理节点与所述音频引擎建立连接关系,以使所述音频引擎关联管理并调用各所述音频处理节点。
可选地,所述处理链生成模块还用于:
获取所述实时音频数据流对应的特征参数;
根据所述实时音频数据流对应的特征参数结合音频处理需求选取至少一个音频数据处理节点,并设置各所述音频数据处理节点的处理参数;所述处理参数包括但不限于默认描述文件、通道数、采样数;
连接所述音频引擎中的输入节点、输出节点以及各所述音频数据处理节点,生成用于处理所述实时音频数据流的音频数据处理链。
根据本申请的另一方面,还提供了一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如上述任一项所述的音频数据的处理方法。
根据本申请的另一方面,还提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现如上述任一项所述的音频数据的处理方法。
本申请提供了一种音频数据的处理方法及***,主要是在双录业务中,通过利用音频引擎选取节点并创建音频数据处理链,以实现对音频的处理。本申请提供的音频数据的处理方法可以灵活的配置合成理想的音频效果、时延性,从而更好的提升用户体验,通过音频引擎可以做到低时延的、实时音频处理。还可以做到音频的多输入,添加特殊的效果。
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是根据本申请实施例的音频数据的处理方法流程示意图;
图2是根据本申请实施例的音频数据的处理架构示意图;
图3是根据本申请实施例的音频数据的处理***结构示意图;
图4是根据本申请可选实施例的计算设备结构示意图;
图5是根据本申请实施例的计算机可读存储介质示意图。
具体实施方式
根据下文结合附图对本申请的具体实施例的详细描述,本领域技术人员将会更加明了本申请的上述以及其他目的、优点和特征。
本申请实施例提供了一种音频数据的处理方法,如图1所示,本申请实施例的音频数据的处理方法至少可以包括以下步骤S101~S104。
S101,检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例。
本实施例中的音频引擎可以是专门用于进行音频数据处理的框架***,具体可以为AVAudioEngine,AVAudioEngine具备强大的数据处理功能。AVAudioEngine对于CoreAudio作了一些使用上的封装简化,简便的做了一些音频信号的处理使用AVAudioEngine,是音频数据流级别的处理。AVAudioEngine是音频数据流级别的处理。
本实施例提供的方案主要应用于双录业务中,在检测到终端启动双录进程之后,即可试试获取音频流数据作为实时音频数据流,并同时在AVAudioEngine音频引擎中创建实时音频数据流对应的音频处理实例。
S102,选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链。
创建音频处理实例之后,需要生成与音频处理实例对应的音频数据处理链,以实现实时音频数据流的处理。而生成音频数据处理链需要选取音频数据处理节点。AVAudioEngine API的基本概念是建立一个音频的节点图,从源节点(播放器和麦克风)以及过处理(overprocessing)节点(混音器和效果器)到目标节点(硬件输出)。每一个节点都具有一定数量的输入和输出总线,同时这些总线也有良好定义的数据格式。
AVAudioEngine实例化后默认有三个node(节点),分别为inputNode、outputNode,这两个node不可以被detach,还有一个可选的mainMixerNode。在使用AVAudioEngine时,inputNode、outputNode分别对应硬件的麦克风和扬声器,需要检查其采样率和声道数,若采样率为0,则不可用。
结合图2,本实施例中固定使用AVAudioEngine中的inputNode、outputNode和mainMixerNode三个节点,除此之外,还需添加播放器节点PlayerNode、音效节点EffectNode,其中,播放器节点PlayerNode还可以包括进行背景音播放(backing track)的播放器节点和声音特效(Sound EffEcts)的播放器节点。
可选地,上述步骤S102选取至少一个目标音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链,可以包括:
S102-1,获取所述实时音频数据流对应的特征参数。其中,实时音频数据流对应的特征参数可以包括音量大小、速度、是否混响等。
S102-2,根据所述实时音频数据流对应的特征参数结合音频处理需求选取至少一个音频数据处理节点,并设置各所述音频数据处理节点的处理参数;所述处理参数包括但不限于默认描述文件、通道数、采样数。音频处理需求可以由不同的业务场景进行自定义设置,本申请实施例对此不做限定。
前文介绍,对于实时音频流数据可以获取其对应的特征参数,结合用户设定的音频处理需求可以适应设置进行试试音频流数据处理时的具体参数,进而利用所设定的参数对实时音频流进行处理。
S102-3,连接所述音频引擎中的输入节点、输出节点以及各所述音频数据处理节点,生成用于处理所述实时音频数据流的音频数据处理链。
上述实施例提及,AVAudioEngine中已有的输入节点inputNode、输出节点outputNode和mainMixerNode三个节点,除此之外,对于所选取的播放器节点PlayerNode、音效节点EffectNode可以接入输入节点inputNode和混合节点MixerNode之间。进一步地,结合图2,输入节点可以为单向输入多向输出,MixerNode为多向输入单向输出。可选地,在输入节点inputNode和各播放器节点PlayerNode、音效节点EffectNode之间,还可以通过设置节点分接块NodeTapBlock为输入节点inputNode和各播放器节点PlayerNode、音效节点EffectNode进行数据的传输。
可选地,上述步骤S102选取至少一个音频数据处理节点之后,创建所述实时音频数据流对应的音频处理实例之前,还可以将各所述音频处理节点与所述音频引擎建立连接关系,以使所述音频引擎关联管理并调用各所述音频处理节点,具体也就是需要做AVAudioEngine与各个节点的关联,实现音频数据处理链的完整创建,保证各节点输入输出的串接。
S103,将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据。下面通过具体实例进行说明。
一、调节混响,AVAudioUnitReverb
wetDryMix的取值范围是0~100,0是全干,干声即无音乐的纯人声,100是全湿润,空间感很强。干声是原版,湿声是经过后期处理的。
代码如下:
func toSetReverb(value:Float){reverbEffect.wetDryMix=value}
二、调节音频播放速度,AVAudioUnitVarispeed
代码如下:
func toSetRate(value:Float){rateEffect.rate=value}
三、调节音量大小,AVAudioUnitEQ
globalGain的取值范围是-96~24,单位是分贝
代码如下:
func toSetVolumn(value:Float){volumeEffect.globalGain=value}
四、合成器AVSpeechSynthesizerDelegate
代码如下:
let synthesizer=AVSpeechSynthesizer()//...//设置合成器的代理,监听事件synthesizer.delegate=self
本实施例的方法,在进行音频数据处理时,可以实现变声,混响,语音合成等等音频数据的技术处理。
S104,将所述目标音频数据通过所述音频引擎输出。
生成音频数据处理链之后,即可将进行双录视频的实时音频数据流接入音频数据处理链,完成一系列的音频处理之后,由音频引擎的输出节点outputNode输出。基于本申请实施例提供的方法,在双录场景当中,可以灵活的去配置合成理想的音频效果、时延性,从而更好的提升用户体验。
基于同一发明构思,本申请实施例还提供了一种音频数据的处理***,如图3所示,本实施例的音频数据的处理***可以包括:
数据获取模块310,检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例;
处理链生成模块320,用于选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链;
音频处理模块330,用于将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据;
输出模块340,用于将所述目标音频数据通过所述音频引擎输出。
在本申请一可选实施例中,所述处理链生成模块320还用于将各所述音频处理节点与所述音频引擎建立连接关系,以使所述音频引擎关联管理并调用各所述音频处理节点。
在本申请一可选实施例中,所述处理链生成模块320还用于:
获取所述实时音频数据流对应的特征参数;
根据所述实时音频数据流对应的特征参数结合音频处理需求选取至少一个音频数据处理节点,并设置各所述音频数据处理节点的处理参数;所述处理参数包括但不限于默认描述文件、通道数、采样数;
连接所述音频引擎中的输入节点、输出节点以及各所述音频数据处理节点,生成用于处理所述实时音频数据流的音频数据处理链。
本申请实施例还提供了一种计算设备,包括存储器、处理器和存储在存储器内并能由处理器运行的计算机程序,其中,处理器执行计算机程序时实现如上述任一项所述的音频数据的处理方法。
本申请实施例还提供了一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,计算机程序在由处理器执行时实现如上述任一项所述的音频数据的处理方法。
本申请实施例还提供了一种计算设备,参照图4,该计算设备包括存储器420、处理器410和存储在所述存储器420内并能由所述处理器410运行的计算机程序,该计算机程序存储于存储器420中的用于程序代码的空间430,该计算机程序在由处理器410执行时实现用于执行任一项根据本申请实施例的方法步骤431。
本申请实施例还提供了一种计算机可读存储介质。参照图5,该计算机可读存储介质包括用于程序代码的存储单元,该存储单元设置有用于执行根据本申请实施例的方法步骤的程序431′,该程序被处理器执行。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、获取其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(英文:non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(英文:magnetic tape),软盘(英文:floppy disk),光盘(英文:optical disc)及其任意组合。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种音频数据的处理方法,包括:
检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例;
选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链;
将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据;
将所述目标音频数据通过所述音频引擎输出。
2.根据权利要求1所述的方法,其特征在于,所述选取至少一个音频数据处理节点之后,创建所述实时音频数据流对应的音频处理实例之前,所述方法还包括:
将各所述音频处理节点与所述音频引擎建立连接关系,以使所述音频引擎关联管理并调用各所述音频处理节点。
3.根据权利要求2所述的方法,其特征在于,所述选取至少一个目标音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链,包括:
获取所述实时音频数据流对应的特征参数;
根据所述实时音频数据流对应的特征参数结合音频处理需求选取至少一个音频数据处理节点,并设置各所述音频数据处理节点的处理参数;所述处理参数包括但不限于默认描述文件、通道数、采样数;
连接所述音频引擎中的输入节点、输出节点以及各所述音频数据处理节点,生成用于处理所述实时音频数据流的音频数据处理链。
4.根据权利要求1所述的方法,其特征在于,所述音频处理节点包括播放器节点、音效节点以及合成节点。
5.一种音频数据的处理***,包括:
数据获取模块,检测到双录进程开启时,通过音频引擎获取实时音频数据流,创建所述实时音频数据流对应的音频处理实例;
处理链生成模块,用于选取至少一个音频数据处理节点,生成用于处理所述音频处理实例对应的实时音频数据流的音频数据处理链;
音频处理模块,用于将所述实时音频数据流输入所述音频数据处理链进行音频数据处理,得到所述实时音频数据流对应的目标音频数据;
输出模块,用于将所述目标音频数据通过所述音频引擎输出。
6.根据权利要求5所述的***,其特征在于,所述处理链生成模块还用于:
将各所述音频处理节点与所述音频引擎建立连接关系,以使所述音频引擎关联管理并调用各所述音频处理节点。
7.根据权利要求5所述的***,其特征在于,所述处理链生成模块还用于:
获取所述实时音频数据流对应的特征参数;
根据所述实时音频数据流对应的特征参数结合音频处理需求选取至少一个音频数据处理节点,并设置各所述音频数据处理节点的处理参数;所述处理参数包括但不限于默认描述文件、通道数、采样数;
连接所述音频引擎中的输入节点、输出节点以及各所述音频数据处理节点,生成用于处理所述实时音频数据流的音频数据处理链。
8.一种计算设备,包括存储器、处理器和存储在所述存储器内并能由所述处理器运行的计算机程序,其中,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的音频数据的处理方法。
9.一种计算机可读存储介质,优选为非易失性可读存储介质,其内存储有计算机程序,所述计算机程序在由处理器执行时实现如权利要求1-4中任一项所述的音频数据的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210288316.XA CN115938339A (zh) | 2022-03-22 | 2022-03-22 | 音频数据的处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210288316.XA CN115938339A (zh) | 2022-03-22 | 2022-03-22 | 音频数据的处理方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115938339A true CN115938339A (zh) | 2023-04-07 |
Family
ID=86651375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210288316.XA Pending CN115938339A (zh) | 2022-03-22 | 2022-03-22 | 音频数据的处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115938339A (zh) |
-
2022
- 2022-03-22 CN CN202210288316.XA patent/CN115938339A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5174027B2 (ja) | ミックス信号処理装置及びミックス信号処理方法 | |
KR101528367B1 (ko) | 사운드 제어 시스템 및 사운드 제어 방법 | |
CN109165005B (zh) | 音效增强方法、装置、电子设备及存储介质 | |
AU2014295217B2 (en) | Audio processor for orientation-dependent processing | |
CN103915086A (zh) | 信息处理的方法、装置和*** | |
CN111863011B (zh) | 音频处理方法及电子设备 | |
CN110096250B (zh) | 一种音频数据处理方法、装置、电子设备及存储介质 | |
US11741984B2 (en) | Method and apparatus and telephonic system for acoustic scene conversion | |
CN114299976A (zh) | 音频数据处理方法及电子设备 | |
KR100626653B1 (ko) | 사용자의 선호도에 따른 오디오 신호 적응 변환 장치 및그 방법 | |
US10727858B2 (en) | Error resiliency for entropy coded audio data | |
CN104392744A (zh) | 一种录制音频的方法及装置 | |
CN115938339A (zh) | 音频数据的处理方法及*** | |
CN115278456A (zh) | 一种音响设备及音频信号处理方法 | |
CN112307161B (zh) | 用于播放音频的方法和装置 | |
JP2010136117A (ja) | 情報処理装置および情報処理方法 | |
CN114173275A (zh) | 声音通信装置 | |
CN113571032B (zh) | 音频数据传输方法、装置、计算机设备和存储介质 | |
CN108605196B (zh) | 用于输出音频信号的***和关联方法以及调整设备 | |
US20220406317A1 (en) | Conference terminal and embedding method of audio watermarks | |
CN113096674B (zh) | 一种音频处理方法、装置及电子设备 | |
CN111048107B (zh) | 音频处理方法和装置 | |
US20060069565A1 (en) | Compressed data processing apparatus and method and compressed data processing program | |
JP6819236B2 (ja) | 音処理装置、音処理方法、及びプログラム | |
KR20240012519A (ko) | 3차원 오디오 신호를 처리하기 위한 방법 및 장치 |
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 |