APP下载

基于C++音频处理器控制软件的设计

2016-08-04袁明山

大科技 2016年15期
关键词:均衡器按键增益

袁明山

(广州广晟数码技术有限公司)

基于C++音频处理器控制软件的设计

袁明山

(广州广晟数码技术有限公司)

随着科学技术的日臻成熟与完善,电子信息技术与各学科和产业的结合越来越多,音频系统与电子信息技术的结合也不例外。这种“交叉”为电子信息技术的发展不断提出了新的课题与挑战。针对音频处理器的数字化与可控化也成为研究音频系统新技术的重要领域。本文就基于C++音频处理器控制软件的设计展开讨论,具体分析这种控制软件的设计程序与实际可操作性,为音频处理器控制软件的研发提供参考。

C++;音频处理器;控制软件设计

音频处理器控制软件的作用在于协调控制、统一调度,减少客户终端的操作。因此,在VisualC++6.0的系统下设计控制软件时,整体思路上要充分考虑到这一点。音频处理器的结构一般由输入和输出两部分构成,在一系列芯片与功能模块的组合下,完成了对数字信号的处理。

1 基于C++程序设计的音频控制系统的结构与能效

一般的音频控制系统基本上都包括增益、音频矩阵、压线器、均衡器四个主要板块,每个板块肩负着调节不同的任务效果:增益板块负责设定控制软件电平值的调节范围,与音频系统的失真度等数值有重要的联系,增益的正确设定有助于音频系统输出高质量的效果。音频矩阵的作用在于连接输入与输出电路,但为避免出现音效的杂糅,一般情况下不会将多处输入电路切换到输出电路上。压限器,顾名思义,其作用在于压缩和限制数据的范围,以控制音频效果的变化。均衡器分为均衡器和参量均衡器两种,基于二者的主要功能而言,参量均衡器的易于变化性更适合本应用程序的设计。根据音频系统各版块的职能进行详细的分析与介绍来确定控制软件的组成部分,基于C++程序设计语言的音频处理器控制应用程序的目的就在于将这四个主要板块的职能直观地、数字化地呈现在客户终端,便于实施操作。

2 系统控制界面的设计

音频处理器控制系统可设置成五个界面,一个主控界面,四个分控界面。这样的总分结构有助于实现功能的最优化和操作的便捷化。

2.1 系统原理

C++音频处理器控制软件的设计原理如图1所示。

图1

音频信号从声音传感系统经由一系列转化后变为数据讯号,并交由DSP的多层渠道进行处理。芯片还掌管着对各子系统的协调任务。扩展程序区Flash区域的作用在于保护数据的整体性与安全性,便于程序的编程和灵活运用。而扩展数据区的SRAM芯片能够为系统的运行提供空间使用,保障程序的高速运行。应用程序的全部控制流程都是由控制逻辑系统(EPM7128STC100)操作的,全面保障程序的正常运行。

2.2 主控界面的设置

为方便统筹全局和个性化选择,主控界面的设置必须位于应用程序启动时的开始页面,并且全部的核心程序都要分布于主控界面上。

(1)界面美工要做到清晰了然、井然有序;功能相近的程序可被安排在同一部分,差别较大的按钮在图标设计上要凸显出来,以便于用户的识别与操作;每个相似功能所在的区域可链接配备一定的文字解说,要包括各自的功能和各程序之间的切换说明。

(2)为了便于切换在不同背景下对音频处理器音效的不同要求,还需设置模式储存的功能,设定变化场景下的存储音效模式,以便在使用时直接调用,避免重复操作。另外,为了有效处理程序错误和被占用的问题,还应该为用户或操作人员设计程序出现问题的提示页面,并创建双线程实现对系统的读写操作。主控界面承载的控件数量较多,处理步骤也较多,为保证整个应用程序的稳定和对代码的有效管理,对控制系统做进一步的研究处理也是必不可少的。在VisualC++6.0的环境下,将全部的ID排序,并将源文件中的控件同自定义函数相联系,保证程序代码有序不错乱的同时又能便于管理。

3 以增益模块和音频矩阵模块为例具体分析控制界面的设计

一般情况下,音频处理器的控制系统应用程序包括了软件登录、增益和音频矩阵等板块。本文以增益模块和音频矩阵为例,来具体分析音频处理系统控制软件的设计。

3.1 增益模块的界面设计

增益模块的设置在于调节音量的高低,是由8个输入和8个输出电路控制的。在进行界面设置时,可使这十六个板块均匀对称地分布。并用组合框的形式根据具体功能特征进行组合。为扩大增益模块的功能,建议采用CBitmap Slider类别的函数来设定诸如背景画面、颜色等其他辅助功能。CBitmap Slider的成员函数参数如表1所示。

表1

在增益模块界面中,滑块需要实现两个步骤的跳转。第一步是将dB值转化成物理电压值,第二步将一系列浮点型数字转化成可识别的数据。针对输入和输出的十六路小系统,考虑到true和false两个相反的编写语句,需要分别对应设置十六个反向按键和十六个静音按键,以完成逻辑控制以及恢复到前一步界面状态,32个按键的美化可直接使用CButton基类的SetBitmap函数来实现,无需再插入其他类别函数。控件的工具框位于界面下方,当界面滑块工作时,工具框会实时跟踪其位置信息。当滑动某一版块时,基本上就是把当前参数经过转化之后传送到相应的对接点。设置后的工作界面如图2所示。

图2

3.2 音频矩阵的界面设计

音频矩阵内部通路之间可进行连接,以8×8路矩阵为例,则在音频矩阵可编辑64个功能选择按键,按照输入和输出两种通路并列分布,64个按键的ID号所对应的数值必须要按照顺序排列。为避免出现混音状况,每组按键之间应该是不能同时选择的,因此需要将按键的属性按照Group、Tabstop、Auto分别设置。介于音频矩阵界面按键较多,可以选用成员函数来设计按键选择后的不同背景,包括颜色与图片,以便于用户识别。具体界面如图3所示。

64个按键功能选择所执行的语句如下:

Protected:

//{{AFX_MSG(CDsp Editor View)

//}}AFX_MSG

void On Radio Button(UINT ID);//

DECLARE_MESSAGE_MAP()

BEGIN_MESSAGE_MAP(CRouter Dlg,CDialog)

ON_CONTROL_RANGE(BN_CLICKED,1068,1131,On Radio Button)

图3

END_MESSAGE_MAP()

void CRouter Dlg::On Radio Button(UINT ID)

{

switch(ID)

{

case 1068:

break;

case 1069:

break;

case 1070:

break

case 1131:

break;

}

}

经过三次以上测试,均校验控制界面各版块无误后可投入正常使用。

4 结语

目前来看,音频处理器正普遍运用于音乐厅、舞台、学校等场地,不断扩大的市场容量要求音频控制系统更加成熟。本文提出了音频处理器控制软件设计的总体方案,通过具体案例来分析实际操作的可行性,并力求实现音频处理器控制系统的稳定与便捷。对基于C++音频处理器控制软件设计的研究,有助于此项技术在理论与实践上的完善,推动音频处理控制软件的系统化。

[1]曹晓敏.数字音频处理器控制软件的设计[D].哈尔滨理工大学,2014.

[2]王龙.基于FPGA+DSP的音频监测系统设计[D].复旦大学,2012.

[3]井瑞霞.如何合理有效地使用音频处理器[J].西部广播电视,2016(01):185.

TN912.3

A

1004-7344(2016)15-0286-02

2016-4-15

袁明山(1986-),男,硕士,主要从事技术管理工作。

猜你喜欢

均衡器按键增益
基于增益调度与光滑切换的倾转旋翼机最优控制
基于有限状态机的按键检测程序设计
基于单片机的程控增益放大器设计
基于Multisim10和AD603的程控增益放大器仿真研究
一种多方向导光按键结构设计
无线传感网OFDM系统中信道均衡器的电路实现
一种基于LC振荡电路的串联蓄电池均衡器
自增益电路在激光测距中的应用
基于LMS 算法的自适应均衡器仿真研究
基于有限状态机的STM32系统按键识别方法