一种麦克风音频数据处理系统及方法与流程
本发明属于计算机音频处理,具体涉及一种麦克风音频数据处理系统及方法。
背景技术:
1、随着网络直播、在线会议、语音社交及游戏语音等场景的普及,用户对麦克风的需求已不限于基础的声音采集,而是在采集过程中实现变音、降噪、混响等实时音频特效处理。
2、在现有音频处理技术中,为了实现上述实时效果的处理与分发,常见的一种方案是借助虚拟音频驱动(virtual audio driver)技术。具体而言,当外接麦克风物理接入电脑后,系统运行配套的效果处理软件,该软件通过安装并加载一个或多个虚拟音频设备,拦截、转交音频数据,从而实现效果的注入。然而,这种基于虚拟驱动的方案在实际应用中存在以下技术缺陷:
3、(1)设备识别冗余与操作不便:
4、虚拟驱动的引入会导致系统设备管理器中增加额外的虚拟音频设备,使得音频输入设备列表臃肿。用户在“普通通话模式”与“特效处理模式”之间切换时,通常需要在操作系统声音设置或目标应用软件(如微信、游戏客户端)中手动选择默认音频输入设备,操作繁琐,难以实现无缝的即插即用体验。
5、(2)音频延迟偏高与系统资源竞争:
6、在典型的虚拟驱动流转架构中,音频数据需在物理驱动缓冲区、虚拟驱动应用层、音效算法处理层以及目标应用软件之间进行多次内存复制与跨进程通信。这种数据搬运过程容易引入额外的音频处理延迟,在实时语音交互场景中可能导致音频断续、噪声或音画不同步。
7、(3)多应用并发时算力消耗成倍增加:
8、当用户同时开启多个需要接收音频数据的应用软件(例如同时进行游戏语音、直播推流及本地录音)且均开启音效功能时,多数传统实现方式会对每个音频会话分别独立执行一遍效果处理算法。这导致cpu占用率随应用软件数量增加而显著上升,可能引发系统过热、性能下降。
9、因此,如何克服虚拟音频驱动架构所带来的设备切换冗余、数据延迟偏高以及多路并发下算力重复消耗等问题,是当前音频处理领域亟待解决的技术难点。
技术实现思路
1、针对上述问题,本申请提供了一种麦克风音频数据处理系统及方法,实现了外接麦克风与电脑默认驱动共用、通过flag标记与apo协同控制音频效果的无缝切换,并在多应用场景下仅需单次效果处理即可按序分发,从而达成即插即用免选驱动、音频效果实时无中断切换、多应用并发时算力消耗大幅降低且数据流保持连续的技术效果。
2、第一方面,本申请实施例提供了一种麦克风音频数据处理系统,包括:
3、驱动共用单元,用于在外接麦克风接入电脑时,使所述外接麦克风与电脑默认音频驱动共用,且电脑的操作系统不将所述外接麦克风识别为独立的音频输入设备;所述默认音频驱动获取所述外接麦克风采集的原始音频数据;
4、共享内存单元,用于接收由所述默认音频驱动复制并写入的所述原始音频数据;
5、音频处理交互单元,包含注入的自研音频处理对象,所述自研音频处理对象通过操作系统开放的音频处理端口与配套应用程序进行交互;
6、效果控制单元,响应于所述配套应用程序发送的flag标记,决定是否对所述共享内存单元中的原始音频数据进行音频效果处理;当flag标记有效时,所述自研音频处理对象将所述原始音频数据传送至所述配套应用程序的后台进行处理,生成处理后的音频数据,并传回所述默认音频驱动;
7、会话分发单元,用于接收所述默认音频驱动上传的音频数据,并通过操作系统的音频会话层分发至一个或多个音频应用软件。
8、优选地,所述flag标记由所述配套应用程序根据用户在界面上的功能按键操作生成,所述flag标记存储于所述共享内存单元中,以供所述自研音频处理对象读取;flag标记为第一状态时触发音频效果处理,为第二状态时跳过处理。
9、优选地,所述音频效果处理包括变音、降噪、混响中的至少一种。
10、优选地,当多个音频应用软件同时开启音频效果功能时,所述会话分发单元控制所述效果控制单元仅对所述原始音频数据执行一次效果处理,处理后的音频数据由所述音频会话层按照所述多个音频应用软件功能开启的先后顺序依次分发给各音频应用软件。
11、优选地,所述音频会话层建立一应用软件队列,所述应用软件队列将所述多个音频应用软件按照各自音频效果功能开启的先后顺序进行排列,所述音频会话层依据所述应用软件队列的顺序依次分发所述处理后的音频数据。
12、优选地,所述flag标记与所述原始音频数据位于同一共享内存区域的不同地址段;
13、所述自研音频处理对象通过单次批量读取指令,在同一读取周期内同时获取所述flag标记与所述原始音频数据。
14、优选地,所述自研音频处理对象通过轮询方式持续监听所述共享内存中flag标记的状态变化;
15、当监测到flag标记从第二状态切换为第一状态时,所述自研音频处理对象实时响应该变化并立即启动对共享内存中音频数据的拉取与传送。
16、第二方面,本申请实施例还提供了一种麦克风音频数据处理方法,包括:
17、当外接麦克风接入电脑后,与电脑的默认音频驱动共用,且不被识别为独立音频输入设备;
18、所述默认音频驱动将通过所述外接麦克风采集的原始音频数据复制到共享内存;
19、当配套应用程序接收到用户的效果开启指令时,发送flag标记;
20、自研音频处理对象根据所述flag标记,从共享内存中获取原始音频数据并经音频处理端口送入配套应用程序后台进行效果处理,将处理后的数据返回默认音频驱动;
21、所述默认音频驱动将处理后的数据上传至音频会话层,由音频会话层分发给目标音频应用软件。
22、优选地,所述通过所述会话层将数据分发给目标音频应用软件的步骤还包括:
23、当检测到有多个目标音频应用软件同时运行且均处于功能开启状态时,所述原始音频数据在跑一遍音频效果处理流程后,由所述会话层将生成的处理后的音频数据直接按照顺序分发给所述多个目标音频应用软件。
24、本申请的有益效果在于:
25、本申请方案通过外接麦克风接入电脑后与默认音频驱动共用且不被识别为独立设备,默认驱动将采集的原始音频数据复制至共享内存,通过flag标记控制自研音频处理对象与配套app交互以进行效果处理,处理后的数据回传驱动并经音频会话层分发至各应用软件。实现了即插即用与效果无缝切换,用户无需手动选择音频设备;多应用并发时仅执行一次效果处理并按序分发,大幅降低cpu算力消耗;音频数据流在效果切换过程中保持连续且无需重建处理管线,有效避免延迟与卡顿;同时无需安装独立虚拟驱动,兼容主流windows系统,显著降低了研发与使用成本。
1.一种麦克风音频数据处理系统,其特征在于,所述系统包括:
2.根据权利要求1所述的系统,其特征在于,所述flag标记由所述配套应用程序根据用户在界面上的功能按键操作生成,所述flag标记存储于所述共享内存单元中,以供所述自研音频处理对象读取;flag标记为第一状态时触发音频效果处理,为第二状态时跳过处理。
3.根据权利要求1所述的系统,其特征在于,所述音频效果处理包括变音、降噪、混响中的至少一种。
4.根据权利要求1所述的系统,其特征在于,当多个音频应用软件同时开启音频效果功能时,所述会话分发单元控制所述效果控制单元仅对所述原始音频数据执行一次效果处理,处理后的音频数据由所述音频会话层按照所述多个音频应用软件功能开启的先后顺序依次分发给各音频应用软件。
5.根据权利要求4所述的系统,其特征在于,所述音频会话层建立一应用软件队列,所述应用软件队列将所述多个音频应用软件按照各自音频效果功能开启的先后顺序进行排列,所述音频会话层依据所述应用软件队列的顺序依次分发所述处理后的音频数据。
6.根据权利要求2所述的系统,其特征在于,所述flag标记与所述原始音频数据位于同一共享内存区域的不同地址段;
7.根据权利要求2所述的系统,其特征在于,所述自研音频处理对象通过轮询方式持续监听所述共享内存中flag标记的状态变化;
8.根据权利要求1所述的系统,其特征在于,所述配套应用程序的音频效果处理完成后,将处理后的音频数据写入指定内存地址,所述自研音频处理对象以主动拉取方式从所述指定内存地址获取所述处理后的音频数据。
9.一种麦克风音频数据处理方法,应用于权利要求1-8一所述的系统,其特征在于,所述方法包括:
10.根据权利要求9述的方法,其特征在于,所述通过所述会话层将数据分发给目标音频应用软件的步骤还包括:
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com