跨平台音效增强系统设计和实现

来源 :科学与生活 | 被引量 : 0次 | 上传用户:sunyiyuki
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  一,概述
  消费类的音频电子产品的一个发展趋势是小型化,而扬声器设计的尺寸也越来越受限,如何在受限的空间提供优质的音频体验,是目前带音频功能的电子产品面临的难题之一。音效增强技术可以在一定程度上弥补物理的局限性,同时也能为用户提供丰富的音频体验。传统的音效增强技术经常和音效DSP芯片绑定,一方面是技术商业化的考虑,另一方面是电子产品主芯片处理能力不足导致的。但近年来芯片技术突飞猛进,主芯片的处理能力往往是富余的,完全可以满足音效处理,通过软件的方式实现音效增强变得更加可行。同时我们也看到电子产品的软硬件平台是多样的,设计一个跨平台通用的音效增强系统可以从成本和技术上提升产品的竞争力。本文主要探讨音效增强系统设计和跨平台的实现。
  二、音效增强系统的设计
  常见的音效增强技术由均衡器,动态范围控制,声场扩展,低音增强等技术,结合音频产品实际需求和行业调音经验,设计了音效增强系统的框架。如下图所示:
  2.1音量控制
  音量控制模塊主要时实现音量曲线的控制,让用户调整音量时响度的变化是均匀的,避免出现响度步进太大或太小的情况,影响用户的体验。音量控制模块是在音效增强系统的前端,为后续模块的处理提供更加准确的信号强度和响度的估算。
  2.2混音器
  混音器主要针对单喇叭单元的产品,常见的音源都是立体声的,如果在音效处理前将立体声转换为单声道输出,在后续的模块处理过程中可以节省一半的运算量,从而降低CPU使用率和系统的功耗。
  2.3重采样
  重采样模块的主要作用是规整输入数据的采样频率和格式,为后续模块的处理提供统一的采样频率和数据格式,降低模块设计的难度。本系统中采用的是sinc-src的重采样算法[1]。
  2.4声场扩展
  一个立体声信号可用通过Mid/Side编码来改变声场的宽度[2]。M/S编码是指一个立体声信号可以由Mid信号和Side信号组成,它和左右声道的关系如下:
  如果在处理的过程中,引入一个缩放因子ω,可以实现声场的扩展或者变窄。当ω>1时,声场变宽,当ω<1时,声场变窄,当ω=1时,声场不变。
  计算到M/S信号后,对其解码就可以得到新的左右声道信号。
  2.5均衡器
  常用的均衡器有两种形式,一种是图示均衡器(G-EQ),有固定中心频点和Q值,即将频段划分为数十段,如31段均衡器。另外一种的参量均衡器(P-EQ),可以精细地调整Q值,中心频率,增益。由于PEQ能够提供更加精细的控制,本文采用的是二阶的参量均衡器,滤波器或频段的个数由用户设置。均衡器原理可以参考文献[3],它由一个二阶全通滤波器A(z)和特殊的滤波器结构组成,如下图所示:
  其中Ω是归一化的-3dB带宽,ω0表示归一化的中心频率,K表示均衡器的增益。通过上述公式,可以精确控制均衡器的中心频率,增益和Q值(带宽)。
  2.6等响曲线补偿
  等响曲线是指通过对人耳声响实感的测定所得出的声音响度主观感量(响度级)相等的一簇曲线。同一声压级,不同的频率人耳主观感受到响度是不一样的。对这个响度的衡量采用响度级来表示,单位是方(phon)。以1kHz的响度作为基准,将其他频率响度相同的纯音声压级连成一条曲线就形成等响曲线,多个响度级就形成多条曲线,最终得到等响曲线图。本文根据等响曲线的特性,对各频率的响度相对进行补偿。首先对输入信号的音量和幅度做测量,并结合扬声器的输出得到对应的声压级,根据预置的滤波器进行补偿部分频段的输出,最后使声音听起来响亮和均衡,优化听音感受。
  2.7动态低音增强
  在小型扬声器系统中,低音的表现受限于产品结构空间和功放功率,常常不能达到很好的效果。本系统设计了动态低音增强模块,在小信号输入时,适当地增强低频输出,而在大信号输入时,则对信号做一定的压制,防止喇叭打底失真,或者造成喇叭的损坏。
  2.8动态范围压缩
  动态范围压缩(Dynamic Range Compression)主要用来降低大信号的音量和提升小信号幅度,从而降低或者压缩音频信号的动态范围。一般动态范围压缩器分为4种,分别是压缩器,限幅器,噪声门限器和扩展器。在本系统中主要用到压缩器。压缩器是由线性转分贝运算,增益计算,增益平滑等模块组成。如下图所示
  DRC运算的过程是基于分贝来实现的,所以在DRC处理前后需要做线性数值和分贝数值的转换。增益计算块主要是用来粗略的计算当前的信号是否需要压缩,以及压缩的比例,需要Threashold和Ratio参数来实现控制;增益平滑模块采用了一个一阶的滤波器平滑快速变化的增益值,避免出现对原始信号的调制现象,需要攻击时间和释放时间参数来实现控制,详细算法和实现可以参考文献[4]。全频段的DRC控制效果很难满足需求,本文的系统设计了3段的DRC进行独立控制,包括低音,中音和高音的DRC,在进行动态压缩前先进行分频,处理完成后再合成最终的信号输出,其中分频点可在调音时设置。
  三、跨平台音效增强系统的设计和实现
  由于音频产品依赖的系统是多样的,有Windows,Linux和Android,一些低端的产品甚至用到了RTOS系统,为了让软件更具移植性和通用性,算法和系统的实现均采用C语言编写,调音用户界面软件采用QT技术。音频产品和调音软件的通信采用网络或串口进行通信,实现实时调音。整个系统的架构如下图所示:
  音效核心模块除了本文第二节介绍的各个子模块,还有几个模块。调音配置模块,负责将调音参数转换为各个模块的参数;音效实时切换模块,实现多种音效即时切换,本文在两种音效切换期间加入混音处理,避免音频信号突变,出现噪声;音效链路管理模块负责管理各个音效处理子模块,搭建整体音效处理链路。   跨平台适配层主要是将各个平台的音效处理接口抽象出来,对音效增强处理模块和特定平台的音频系统进行解耦。
  每个特定的系统都有自己的音频子系统,并且差异非常大,需要针对每个平台开发相应的插件进行适配。本文在Windows平台采用Audio Processing Object(APO)插件实现,在Linux平台采用LADSPA插件实现,在Android平台采用Audio Effect插件实现。它们大致的原理的是相同的。本节将介绍这三种音效插件的实现,以及图形化调音软件的实现。
  3.1 Windows平台音效增强系统的实现
  从Vista版本开始,Windows就开始支持音频处理对象APO,与文献[5]虚拟声卡方法相比,该方案需要的系统权限要少,稳定性更佳,是微软目前提供的可定制化的软件数字信号处理方案。APO作为系统音频插件,是由Windows的Audiosrv服务加载的,根据配置支持在三个位置加载,分别是SFX (Stream Effects, 流音效), MFX (Mode effects, 模式音效)和EFX (Endpoint effects, 端点音效)。考虑到我们需要实现系统级别的音效,本文实现的音效增强系统将以EFX的方式插入到系统的音频链路。这样任意的音频应用程序输出的音频都将经过音效增强系统处理。
  实现APO插件最直接的方法是从CBaseAudioProcessingObject基类派生出来,这个类已经实现了APO许多基础功能特性, 只需实现少量的接口就可以完成APO的基本功能, 其中最重要的是APO处理函数,IAudioProcessingObjectRT::APOProcess,需要在该函数实现自己定义的音效处理功能。总的来说,完成以下三步就可以实现自定义的APO:
  1. 创建自定义APO的COM对象来实现所期望的音频处理。
  2. 创建UI界面来配置自定义的APO,这样在系统音频的配置页面实现参数配置。
  3. 创建INF文件安装和注册APO,以及开发自定义的音效应用程序。
  由于本系统设计了自己调音软件,只需实现步骤1和步骤3即可。
  3.2 Linux平台音效增强系统的实现
  Linux音频系统并没有统一的架构,但对Linux嵌入式系统来说,大部分都是支持ALSA音频驱动的,所以优先考虑在ALSA框架下实现音效处理。对于ALSA来说最简单的音效植入方式是开发一个LADSPA (Linux Audio Developer's Simple Plugin API)音频插件,然后将默认的音频设备配置成LADSPA插件虚拟出来的音频设备。这样只要所有使用ALSA默认设备的音频应用程序的音频输出都经经过LADSPA插件的处理,从而实现系统基本音效。LADSPA的接口非常简单,全部都包含在ladspa.h头文件中,插件只需要实现对应的接口,ALSA在初始化时就会加载该插件。所有的接口都定义在一个LADSPA_Descriptor结构体中,包括插件输入输出Pins,控制参数,初始函数和音频数据处理函数等。详细可在LADSPA网站查阅[6]。
  3.3 Android平台音效增强系统的实现
  Android的音频驱动是基于TinyALSA,是简化版本的ALSA,并不直接支持LADSPA插件,所以不能用Linux的方式实现。幸运的是,Android开发了自己一套音效处理的架构,Audio Effect,专门提供给第三方做音效处理开发使用。类似Windows和Linux,开发Audio Effect插件同样需要实现一系列的接口,包括插件的初始化,参数配置,音效处理函数等。
  需要注意的是Android系统并不会默认加载AudioEffect插件,所以需要在应用开启一个音频服务App,保证系统启动的时候,能自动加载自定义的音效插件。
  3.4图形化调音软件的设计和实现
  音效调试往往需要边听音边调试,实时调音功能在音效增强系统尤为重要。考虑到产品平台运算量和接口受限的问题,将调音控制功能从产品中分离出来是必要的,简化设备端软件的开发,同时也能给调音师统一的调音操作界面。本音效增强系统调音功能在PC端用QT开发,不但支持各个音效模块的调试参数,还支持绘制即时的冲激响应曲线,调音操作所见即所得。此外,还实现系统扫频,扬声器声学曲线对照,音效对比,音频播放器等辅助功能,极大提升调音效率和准确度。最终设计的音效增强系统调音用户界面如下图所示:
  四、测试和应用
  音效增强要求能实时处理当前播放的音频数据,因此系统的实时性是必须保证。在不同平台下对系统进行性能测试,测试数据如下表所示。
  测试表明音效增强系统能够满足音频实时处理的要求,对内存和CPU资源的消耗在合理范围内。
  音效增强的效果方面并没有客观的标准来评价,更多的是主观的评价,目前该系统已经用于实际的产品项目中,受到客户和消费者的认可。
  五、总结
  本文从消费类音频产品音效方面的实际需求出发,设计并实现了一个完整的音效增强系统。该系统支持均衡器,动态范围控制,声场扩展,低音增强,等响曲线补偿等核心功能模块,并且为了将该音效增强系统应用到更广泛的产品,本文还实现了不同操作系统平台上音效增强软件移植的方案。本文的音效增强系统具有一定的通用性和扩展性,能够满足產品音效方面多变的需求,为消费者提供优质的音频产品体验。
  参考文献
  [1] Digital Audio Resampling Home Page [EB.OL]. [2021-05-05]. https://ccrma.stanford.edu/~jos/resample
  [2] Tarr E . Hack Audio: An Introduction to Computer Programming and Digital Signal Processing in MATLAB[M]. 2018.
  [3] Regalia, P., & Mitra, S. (1987). Tunable digital frequency response equalization filters. IEEE Transactions on Acoustics, Speech, and Signal Processing, 35(1), 118-120. doi:10.1109/tassp.1987.1165037
  [4] Giannoulis, Dimitrios, Michael Massberg, and Joshua D. Reiss. "Digital Dynamic Range Compressor Design –– A Tutorial and Analysis." Journal of Audio Engineering Society. Vol. 60, Issue 6, 2012, pp. 399–408.
  [5]闰震海,杨飞然,杨军.基于Windows平台的音效增强系统设计与实现[J].电声技术,2016,40(3):37—44.
  [6] Linux Audio Developer's Simple Plugin API (LADSPA)[EB.OL]. [2021-05-05]. https://www.ladspa.org/
  作者简介:
  姓名:黄万章 出生年:1986-02-25 性别:男 籍贯 : 广东省广州市 民族:汉 职称:无 学历:华南理工大学硕士 研究方向:信号与信息处理
  国光电器股份有限公司
其他文献
摘要:从同课异构实例中,选取黄厚江、余映潮和王君三位名师执教《我的叔叔于勒》课堂实录,解读并赏析教学内容和教学方法,得出教学启示,提高其实践意义,以期为中学语文教师的小说教学提供些许参考。  关键词:名师;小说教学;于勒  《我的叔叔于勒》不仅是莫泊桑短篇小說的经典,还是小说阅读教学的重要篇目,具有重要影响力。小说教学教什么、怎么教,是值得深思的问题。因此,精选黄厚江、余映潮和王君三位语文名师《我
期刊
摘要:本文主要分析了地铁备件库存控制和管理的思路,通过阐述当前地铁备件库存管理的方法,探究现行的集中仓储模式存在的主要问题和不足。并提出分级库管理模式,、备件机旁储备方式以及优化备件采购管理等思路,从而保障地铁备件库存控制的有效性,充分确保地铁维护维修工作的及时性。因此通过本文的研究,旨在为地铁备件库存控制和管理工作提供借鉴。  关键词:地铁备件;库存控制;库存管理  一、地铁备件库存管理方法  
期刊
摘要:在药品质量风险管理中,HACCP方法管理方法能够更加简单、合理、有效的促进行业风险管理的发展。本文从概述CCP方法入手,分析了HACCP方法在药品质量风险管理中的应用思路,希望在藥品质量风险管理当中具有借鉴意义。  关键词:HACCP方法;药品质量;风险管理  一、HACCP方法  HACCP方法也被称为危害分析和关键控制点方法,是用于食品行业、汽车领域、化学领域、制药行业等常见的风险管理工
期刊
摘要:医院工作十分复杂,人事档案管理也在其中占据着至关重要的位置,大多数人事管理工作都需要依据着人事档案来进行和实施。再加上医院人事档案管理的周期、内容、更新都比较麻烦,若是不能建立较为完善的人事档案管理制度体系,定会对医院后期的发展造成较大的影响。基于此,本文从数字信息化在医院人事档案管理中的积极作用和数字信息化在医院人事档案管理中的运用两个方面进行分析,望对相关人员有所帮助。  关键词:数字信
期刊
摘要:西方国家公共服务供给改革大致经历三个阶段:传统官僚制阶段、新公共管理阶段以及合作治理阶段,延伸出公共服务供给的三种模式:权威型、竞争型和合作型,并结合西方国家公共服务供给改革的实践,为我国的改革提供启示:一是要立足于中国的基本国情;二是完善公共服务供给的法律法规,健全公共服务供给的监督机制;三是建立健全以公共服务为导向的公共财政支出体系;四是建立公共服务供给的协调机制,实现多元主体有效协作。
期刊
【摘要】在现如今的社会之中,随着新媒体进入高职院校,如何在新媒体的环境之下对高职院校的学生进行信息化的管理工作就是一项值得深究的课题。本文主要简述了新媒体给高职生的管理带来的好处和弊端,以及新媒体的环境下如何对高职生的管理工作的信息化进行创新。  【关键词】新媒体;管理工作;高职生  引言  随着社会的发展,科学技术的进步,推动了整个社会进入到网络信息化的时代,其中的新媒体的技术就是在现如今的网络
期刊
摘要:随着网络技术的普及,电子数据在生活中扮演着越来越重要的角色,不仅可以用来存储和处理信息、监控管理各种文件还可用于对计算机进行维护与升级。但是由于其固有性及安全性等问题导致了电子证据收集效率低下。本文主要研究基于区块链技术构建刑事侦查信息系统,为实现数据共享提供可能和基础保障。  关键词:区块链技术;提取和审查;电子数据  前言:在互联网高速发展的今天,人们对网络安全和通信技术有了更高层次上的
期刊
摘要:我国城市化进程的不断加快,市政工程规模也在不断的扩大,对于其中建设要求来说也在不断提高,为了保证市政工程的施工质量,需要做好科学而完善的工程管理,明确工程管理主要内容贯彻落实责任制度,从而使得工程管理能够发挥其应有的价值和效果。本文论述的市政项目工程管理的重要性以及主要的优化措施,提高实际的管理效果。  关键词:市政项目;项目工程;工程管理  一、市政项目工程管理的必要性  为了保证市政项目
期刊
摘要:本文主要分析了SDN控制器核心技术。现如今,网络领域中,SDN为热门话题之一,行业中许多专家广泛认为 SDN为网络演进未来的方向。SDN的控制器占据着重要地位,发挥着不可替代和不可或缺的关键作用。本文将从SDN控制器概述、控制器北向业务支撑技术、控制器东西向扩展技术三大方面来进行深入剖析,以此为相关学者以及从业人员提供有价值的参考依据。  关键词:SDN;控制器;核心技术  一、SDN控制器
期刊
[导读] 建筑工程安全管理对建筑工程施工质量及建筑工程施工成本的控制都十分重要。  【摘 要】建筑工程安全管理对建筑工程施工质量及建筑工程施工成本的控制都十分重要,在加之近年来建筑工程施工单位的安全施工意识越来越强烈,建筑施工管理单位对施工安全管理的要求也越来越高,因此,积极探究建筑工程安全管理措施,以提升建筑工程施工安全及质量水平十分重要。  【关键词】建筑工程;安全管理;对策  随着我国经济的
期刊