智能识别PC用户音频文件音量控制设计

2021-01-13 00:52张跃军胡玉清胡守国雷静
计算机与网络 2021年21期
关键词:音量音频智能

张跃军 胡玉清 胡守国 雷静

摘要:随着计算机科学的发展,声音基于数字形式传递,使得用计算机处理声音成为可能,而PC用户在连续播放不同MP3音频的时候,经常会出现不同音频文件播放时声音忽大忽小,影响了人耳的感受。用户在播放不同文件时,可以提取MP3音频文件中存在的增益信息,用当前文件的增益信息再结合上次文件的增益信息和播放音量,可智能调整当前文件播放的音量,无需人工再调节,这样提高了用户在使用MP3音频文件时的方便性和舒适性。

关键词:智能;PC;MP3;音频;音量

中图分类号:TP393文献标志码:A文章编号:1008-1739(2021)21-69-4

0引言

声音是传播信息的重要途径,尤其是现代计算机科学的发展,目前大量的声音都是基于数字形式传递的。但是声音数字传播的过程中,承载声音的音频文件中的音量没有统一的标准,这样就导致人们在通过音频文件接收信息的时候,音量忽大忽小,对声音接收者会造成不适,音量过大可能会影响听力,音量过小就影响接收效果,目前正常处理方式都是通过播放音频工具的音量调节按钮来人工调节,使用起来比较繁琐,在调节过程中也会影响接收效果,耽误时间。

通过智能识别PC用户音频音量播放,能够自动设定音量大小,在使用不同音频文件过程中,无需再手动调节音量,保证用户使用效果。尤其在特定环境下,能实现无接触正常听音频,不会由于某些音频文件音量过大或者过小影响听音频的效果。

1国内外研究情况

杨鑫芳提出从网络上下载的各种风格的歌曲时,经常会遇到歌曲的音量高低差别问题。同时提出了可以借助美国Adobe公司的音频处理软件Audition来将歌曲音量进行最高标准的规范,用户可以非常方便地对包括歌曲在内的各种音频进行响度的标准化处理[1]。此方法可以统一歌曲的音量,但是需要提前对音乐文件进行处理,操作起来比较麻烦。国家知识产权局专利局专利审查协作四川中心的冯晨露提出了在移动终端通过环境噪声来自动调节音量大小或者根据用户的作息习惯来调节音量[2]。华南理工大学广州学院电气工程学院的陈崇辉设计了系统识别向左或右、向上或向下一挥的手势动作控制无线话筒的音量大小[3],可以实时缓解话筒叫啸引起的干扰。上海工程技术大学城市轨道交通学院的雷星蒙提出了在地铁车厢中适合人耳收听的音量区间内进行广播音量的自动控制[4]。

这些研究表明,人们对声音大小自动化调节的要求越来越强烈。同时曹强分析了MP3文件Side Information Granule结构,其中Glaobal Gain表示全局量化增益,用于MP3解码器的重新量化[5],使得可以提取MP3文件中的增益成為可能。密歇根州立大学学者哈姆泽赫·加塞姆扎德使用了全局增益和MP3比特流的其他字段之间的联合分布。通过测量这些联合分布的信息来检测变化。比传统的单层方法有更好的性能,准确率提高了20.4%[6],说明国外对MP3增益使用也一样在进行。

2基本原理

MP3其实就是MPEG-1音频的Layer 3[7]。MPEG音频压缩是一种基于感知的策略,在确保输出的信号对于人类的听力系统感觉不到差别,而不是要保持编码和解码后的信号完全一样。陕西学者董宁采用对MP3编码器算法进行心理声学模型改进,提高了编码质量,降低了运算复杂度[8]。

MP3编码器将原始声道通过快速傅里叶变换到频域,然后通过算法加入更多的信息。根据资料显示,人类的听力系统频率在20 Hz~20 kHz,但其实高于15 kHz频率的声音一般通过听力系统听不到,只能通过身体其他部位感受到它的存在,所以MP3在编码的时候会省掉16 kHz以上的声音。同时使用了混合立体声的编码,进一步压缩了音频文件,还用了哈夫曼编码。

MP3文件是由帧(frame)构成,帧是MP3文件的最小组成单位。每一帧都包含帧头,并可以计算帧的长度。根据帧的性质不同,文件主要分为3个部分:Tag_v2(ID3v2)标签帧、数据帧和Tag_v1(ID3v1)标签帧。并非每个MP3文件都有ID3v2,但是数据帧和ID3v1帧是必须的。ID3v2在文件头以字符串“ID3”为标志,包含了演唱者、作曲及专辑等信息,长度不固定,扩展了ID3V1的信息量。ID3v1在文件结尾以字符串“TAG”为标记,其长度是固定的128 byte,包含了演唱者、歌名、专辑及年份等信息。数据帧由文件大小和帧大小来决定,每个帧头长度是4 byte(32 bit),帧头后面可能有2byte的CRC校验。音频数据的组成结构为:SideInformation+MAIN_DATA+AncillaryData(Option),即音频数据由边信息、主数据和附加数据组成。以双声道边信息格式为例,音频数据如表1所示。而Side Information Granule结构包含Part2_3 Length,Big Value,Global Gain,Scale Factor Compress,Window Switch Flag,Pre Flag,Scale Factor和Count1 Table Select。从这个结构中,可以看到增益信息。

提取MP3音频文件中的增益,可以先设定一个函数读取二进制文件的内容,函数为GetBits (LPBYTE pByData, DWORD& dwBitStart, int nLen);pByData为音频文件,dwBitStart为二进制读取的开始位置,nLen为读取内容的长度。通过MP3文件格式读取对应的增益信息,把获得的增益值统一放到一个列表中。对所有增益信息求和,并求出其平均值,所求的值保存到这个MP3文件相关信息中。当智能识别第一次启动时,如果读取配置文件,读取之前的增益和音量值成功,智能识别系统会自动识别之前MP3音频文件的音量和增益,再根据当前文件的增益,算出当前文件需要播放的音量。根据测试当前音量计算公式如下:当前音量=之前音量×(之前增益/当前增益)。其中,系数=9比较适合。否则默认一个音量,用户根据自己的喜好可以调整音量。程序退出的时候,就会自动把当时播放的音量和增益值保存起来。

3设计流程

智能识别PC用户的音频音量的研究对象为MP3格式的音频文件,MP3文件的格式中包含增益数据,用户在播放MP3时,通过音频播放器调用文件中的增益数据,结合播放器的音量参数进行播放。自动设定一个缺省的音量播放,把当前MP3文件的增益提取出来,然后把当前的音量和增益保存到本地文件“savevol.info”中。当用户调节音量后,调节后的音量会更新到本地文件“savevol.info”中。当用户播放第2个音频文件时,系统首先会把之前的音量和增益文件“savevol.info”读取出来,与当前的音频文件的增益结合换算出目前播放音频的音量,然后把当前播放的音量和文件的增益重新保存到本地文件“savevol.info”中。依次这样循环,可以实现智能识别音频音量,用户无需根据每个音频文件音量的大小来调节。

用二进制形式打开需要播放的文件,然后找到当前音频文件的增益因子,获取“savevol.info”文件中的增益和音量与之对比,核算出当前音频播放的音量。然后播放当前的音频文件,把当前音频文件的增益因子和音量數据保存到“savevol. info”文件中,依次循环,直到结束程序。智能识别音量算法流程如图1所示。

4系统测试

根据设计的方法,先开发一个正常的MP3音频播放系统,然后在读取MP3音频文件之前加入本文研究的智能识别方法,即可达到自动识别用户音频音量。本文使用VS2008开发环境,用VC语言开发完成。完成界面如图2所示。在刚刚开始的时候,第一首曲子《绿军装的梦》的音量为10个小格,在用户不干预音量的情况下,播放器在自动播放第2首曲子《爱情的秋天》的时候,如图3所示,音量自动跳到了7个小格,在播放器自动播放第3首曲子《大碗茶》的时候,如图4所示,音量自动跳到了4个小格。这是因为每个曲子的增益不一样,要达到最后用户听到的音量保持一致,系统自动调节播放器播放当前MP3文件音量的大小来控制最后用户听到的音量与之前的MP3文件音量一致,用这样的系统播放MP3自然提高了用户听觉的舒适性。

5结束语

通过研究MP3音频文件的格式,用二进制形式打开文件,提取MP3文件中的增益信息,结合上次播放的音量和增益信息,与当前文件的增益信息得出当前文件播放时需要的音量,达到了用户在用此系统播放MP3文件时,音量自动与用户设定的大小一致,提高了用户在使用MP3音频文件时的舒适性。当然直接用人耳来判断声音大小,不同的人是有一定的差异,如何解决这个问题,需要参照其他技术手段进行测试,进一步改进算法,这是以后改进的方向。

参考文献

[1]杨鑫芳.将多首歌曲音量一步标准化[N].电子报, 2018-12-30.

[2]冯晨露,任建宇.移动终端音量调节专利技术分析[J].中国科技信息,2019(17):23-24.

[3]陈崇辉,邓筠.基于惯性传感器的体感手环教学系统的设计[J].计算机测量与控制,2020,28(8):182-186.

[4]雷星蒙,孙婧楠,肖曼琳.地铁车厢中广播自适应音量控制系统的设计[J].科技传播,2018,10(7):66-67.

[5]曹强.数字音频规范与程序设计:基于Visual C++开发[M].北京:中国水利水电出版社, 2012 .

[6] GHASEMZADEH H. Multi-Layer Architecture for Efficient Steganalysis of UnderMp3Cover in Multi-Encoder Scenario[J].IEEE Transactions on Information Forensics and Security, 2019,14(1):186-195.

[7]阮烨.基于压缩音频主码本可替代位的信息隐藏算法研究[D].北京:北京林业大学,2019.

[8]董宁.MP3编码算法的改进与优化[J].电子设计工程, 2015,23(14):48-50.

猜你喜欢
音量音频智能
实用小技巧Windows 10音量调整更智能
解放手机的音量键
全面管理应用程序音量
车载电子系统中多路音频控制的研究与实现
智能烹饪机
超智能插秧机
自由光2.4L专业版+智能包
“摇一摇”你摇对了吗?
细火慢炖增加音量调节级数
使用EDIUS 5 iZotope VST插件去除录音噪音