基于qt的音频管理系统的设计与实现学士学位论文.docx

您所在的位置:网站首页 基于qt的设计论文 基于qt的音频管理系统的设计与实现学士学位论文.docx

基于qt的音频管理系统的设计与实现学士学位论文.docx

2023-04-23 05:47| 来源: 网络整理| 查看: 265

基于qt的音频管理系统的设计与实现学士学位论文.docx

《基于qt的音频管理系统的设计与实现学士学位论文.docx》由会员分享,可在线阅读,更多相关《基于qt的音频管理系统的设计与实现学士学位论文.docx(83页珍藏版)》请在冰豆网上搜索。

基于qt的音频管理系统的设计与实现学士学位论文.docx

基于qt的音频管理系统的设计与实现学士学位论文

基于Qt的音频管理系统的设计与实现

摘要

随着互联网的的发展,PC机已经不能满足终端用户对音频的需要。

虽然目前有各种各样的计算机操作系统,如WINDOWS,LINUX,UNIX,MACOS等以及各种移动开发平台,如Android,BlackBerryOS,IOS,WindowsMobile,WindowsPhone,Palm等,不同的操作系统需要不同的系统软件来开发对应的应用程序。

同样的功能,却要开发多次,这给程序员带来了冗余的工作量。

本文以Qt为基础,对音频管理系统的实际设计情况进行了需求分析,利用软件工程的开发流程及面向对象的思想,构建了音频管理系统的总体框架,为最终音频管理系统的实现提供了理论依据。

测试结果表明,基于Qt的音频管理系统可以在Win7的Qt5.2中运行,也可以在ubuntu的Qt5.2中运行,代码只需做微小的调整,减轻程序员的代码量,节省开发成本,为未来的开发提供一个重要的参考。

关键词Qt;音频管理系统;设计;实现

DesignandimplementationofaudiomanagementsystembasedonQt

Abstract

WiththedevelopmentoftheInternet,thePChasbeenunabletomeettheneedsoftheaudioterminaluser.Despitevariousofcomputeroperatingsystem,suchasWINDOWS,LINUX,UNIX,MACOSetc,andvariousofmobiledevelopmentplatform,suchasAndroid,BlackBerry,OS,IOS,WindowsMobile,WindowsPhone,Palmetc,differentoperatingsystemsrequiredifferentsoftwaresystemstodevelopthecorrespondingapplication.Thesamefunctionneedstodevelopseveraltimes,whichbringsredundantworkfortheprogrammer.

Thispaper,basedontheQt,carryingonthedemandanalysisoftheactualdesignoftheaudiomanagementsystem,usingthedevelopmentprocessofsoftwareengineeringandobject-orientedidea,constructingthegeneralframeworkofaudiomanagementsystem,andprovidesatheoreticalbasisfortheimplementationofthefinalaudiomanagementsystemfinally.

ThetestresultsshowthatQtaudiomanagementsystemcanruninWin7basedontheQt5.2anditcanalsorunonubuntuQt5.2,thecodeonlyminoradjustments,reducingtheamountofcodeprogrammers,savingdevelopmentcosts,providinganimportantreferenceforfuturedevelopment.

KeywordsQt;audiomanagementsystem;design;implementation

1绪论

1.1开发背景

Qt是1991年奇趣科技(Trolltech)开发的一个跨平台的C++图形用户界面应用程序框架[3,9]。

它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。

Qt很容易扩展,并且允许真正地组件编程。

2012年,Qt被Digia收购,之后发布Qt5.1、5.2版本,提供QtforAndroid(Alpha)、QtforIOS。

Qt的优势在于,良好的可移植性,可支持大多数操作系统,如MicrosoftWindows7,Linux,Solaris,SunOS,HP-UX,DigitalUNIX(OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等;面向对象,Qt良好的封装机制使得Qt模块化程度非常高,代码可重用性较好,很方便用户开发丰富的API,Qt包含250个以上的C++类,并且有相应的帮助文档;支持2D3D图形渲染,支持XML。

Qt针对嵌入式环境推出了QtEmbeeded产品,QtEmbedded具有跨平台的特点,省掉了不少移植软件的功夫,用模块化设计,有弹性,QtEmbedded最小可以缩到800KB左右,最多可以长到3MB(forIntelx86),使得QtEmbedded更适合在嵌入式环境下生存[1,5-8,10-11]。

基于Qt跨平台的图形用户界面应用程序框架,用的是C++开发语言。

C++语言简洁灵活,运算符的数据结构丰富、具有结构化控制语句、程序执行效率高,而且同时具有高级语言与汇编语言的优点,与其它语言相比,C语言具有可以直接访问物理地址的优点,与汇编语言相比又具有良好的可读性的可移植性。

总得来说,C++语言的主要特点表现在两个方面,一是尽量兼容C,二是支持面向对象的方法。

它操持了C的简洁、高效的接近汇编语言等特点,对C的类型系统进行了改革的扩充,因此C++比C更安全,C++的编译系统能检查出更多的类型错误。

另外,由于C语言的广泛使用,因而极大的促进了C++的普及和推广。

C++语言最有意义的方面是支持面向对象的特征。

虽然与C的兼容使得C++具有双重特点,但他在概念上完全与C不同,更具面向对象的特征。

智能家居等将是一个发展的趋势,嵌入式产品也必将走入千家万户。

而目前PC机的音频管理软件占用的磁盘空间以及内存较大所以基于Qt的音频管理系统的设计与实现有很重要的意义。

基于这种形式的把握,也基于对这种技术的学习与理解,我选择了这个课题。

对音频解码技术进行研究,有助于理解其内在的原理,能够帮助我们更好的实现代码功能。

1.2系统目标

系统开发的总任务是设计并实现一个音频管理系统。

通过本系统可以添加音频文件,以演唱者管理音频文件,以专辑管理音频文件[2,4]。

你可以有一个播放列表,方便用户知道系统中有哪些音乐文件。

当然了有播放列表,就要有播放功能。

选中歌曲,用户可以点击播放按钮,播放音乐文件。

当然有相应的控制功能,上一曲,下一曲。

基本的音量控制,音量的高低调节,静音功能。

1.3基于Qt程序的音频管理系统的设计的必要性

随着计算机技术、电子技术和通信技术的迅猛发展,嵌入式系统已经成为最热门、最有前途的IT应用领域之一,成为通讯和消费产品的共同发展方向。

它广泛应用于人们在工作生活的各个方面,几乎包括了所有的电器设备。

在嵌入式技术快速发展的同时,嵌入式音频设备已然成为当今人类生活中的热点。

对于这些音乐文件的管理也将成为程序员考虑的重点。

各种设备中的操作系统的种类不同,程序员在开发的时候总是要做重复的工作,不能把工作的重点放在设计上。

基于Qt的平台正好给大家提供了一个这样的平台。

代码不需要太多的改动,就可以运行在各种操作系统上。

而且Qt是基于模块的设计思想,只需要加载你所需要的模块,符合嵌入式定制性强,模块简单的特点。

所以基于Qt的音频管理系统非常的设计与实现非常必要。

本系统主要基于Qt跨平台的图形用户界面应用程序框架,用的是C++开发语言,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。

软件方面:

由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。

2关键技术介绍

2.1音频编码的简单概念

2.1.1采样率和采样大小

声音其实是一种能量波,因此也有频率和振幅的特征,频率对应于时间轴线,振幅对应于电平轴线。

波是无限光滑的,弦线可以看成由无数点组成,由于存储空间是相对有限的,数字编码过程中,必须对弦线的点进行采样。

采样的过程就是抽取某点的频率值,很显然,在一秒中内抽取的点越多,获取得频率信息更丰富,为了复原波形,一次振动中,必须有2个点的采样,人耳能够感觉到的最高频率为20kHz,因此要满足人耳的听觉要求,则需要至少每秒进行40k次采样,用40kHz表达,这个40kHz就是采样率。

采样率和采样大小的值越大,记录的波形更接近原始信号。

2.1.2有损和无损

根据采样率和采样大小可以得知,相对自然界的信号,音频编码最多只能做到无限接近,至少目前的技术只能这样了,相对自然界的信号,任何数字音频编码方案都是有损的,因为无法完全还原。

在计算机应用中,能够达到最高保真水平的就是PCM编码,被广泛用于素材保存及音乐欣赏,CD、DVD以及我们常见的WAV文件中均有应用。

因此,PCM约定俗成了无损编码,因为PCM代表了数字音频中最佳的保真水准,并不意味着PCM就能够确保信号绝对保真,PCM也只能做到最大程度的无限接近。

我们而习惯性的把MP3列入有损音频编码范畴,是相对PCM编码的。

2.1.3音频压缩技术

PCM音频流的码率,采样率值×采样大小值×声道数bps。

一个采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的WAV文件,它的数据速率则为44.1K×16×2=1411.2Kbps。

我们常说128K的MP3,对应的WAV的参数,就是这个1411.2Kbps,这个参数也被称为数据带宽,它和ADSL中的带宽是一个概念。

将码率除以8,就可以得到这个WAV的数据速率,即176.4KB/s。

这表示存储一秒钟采样率为44.1KHz,采样大小为16bit,双声道的PCM编码的音频信号,需要176.4KB的空间,1分钟则约为10.34M,这对大部分用户是不可接受的,尤其是喜欢在电脑上听音乐的朋友,要降低磁盘占用,只有2种方法,降低采样指标或者压缩。

降低指标是不可取的,各种音频压缩编码所达到的音质和压缩比都不一样。

2.1.4频率和采样率

采样率表示了每秒对原始信号采样的次数,我们常见到的音频文件采样率多为44.1KHz,假设我们有2段正弦波信号,分别为20Hz和20KHz,长度均为一秒钟,以对应我们能听到的最低频和最高频,分别对这两段信号进行40KHz的采样,结果是:

20Hz的信号每次振动被采样了40K/20=2000次,而20K的信号每次振动只有2次采样。

显然,在相同的采样率下,记录低频的信息远比高频的详细。

这也是CD数码声不够真实的原因,CD的44.1KHz采样也无法保证高频信号被较好记录。

要较好的记录高频信号,看来需要更高的采样率,在捕捉CD音轨的时候使用48KHz的采样率,这是不可取的!

这其实对音质没有任何好处,对抓轨软件来说,保持和CD提供的44.1KHz一样的采样率才是最佳音质的保证之一,而不是去提高它。

较高的采样率只有相对模拟信号的时候才有用,如果被采样的信号是数字的,不要去尝试提高采样率。

2.1.5流特征

随着网络的发展,人们对在线收听音乐提出了要求,因此也要求音频文件能够一边读一边播放,而不需要把这个文件全部读出后然后回放,这样就可以做到不用下载就可以实现收听了。

也可以做到一边编码一边播放,正是这种特征,可以实现在线的直播,架设自己的数字广播电台成为了现实。

2.2音频编码

2.2.1PCM编码

PCM脉冲编码调制是PulseCodeModulation的缩写。

我们不需要关心PCM最终编码采用的是什么计算方式,我们只需要知道PCM编码的音频流的优点和缺点就可以了。

PCM编码的最大的优点就是音质好,最大的缺点就是体积大。

我们常见的AudioCD就采用了PCM编码,一张光盘的容量只能容纳72分钟的音乐信息。

2.2.2WAV

这是一种古老的音频文件格式,由微软开发。

WAV是一种文件格式,符合RIFF(ResourceInterchangeFileFormat)规范。

所有的WAV都有一个文件头,这个文件头包含了音频流的编码参数。

WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。

WAV可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,只要安装好了相应的Decode,就可以欣赏这些WAV了。

在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。

因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。

2.2.3MP3

MP3作为目前最为普及的音频压缩格式,为大家所大量接受,各种与MP3相关的软件产品层出不穷,而且更多的硬件产品也开始支持MP3,我们能够买到的VCD/DVD播放机都很多都能够支持MP3,还有更多的便携的MP3播放器等等,虽然几大音乐商极其反感这种开放的格式,但也无法阻止这种音频压缩的格式的生存与流传。

MP3发展已经有10个年头了,他是MPEG(MPEG:

MovingPictureExpertsGroup)AudioLayer-3的简称,是MPEG1的衍生编码方案,1993年由德国FraunhoferIIS研究院和汤姆生公司合作发展成功。

MP3可以做到12:

1的惊人压缩比并保持基本可听的音质,在当年硬盘天价的日子里,MP3迅速被用户接受,随着网络的普及,MP3被数以亿计的用户接受。

MP3编码技术的发布之初其实是非常不完善的,由于缺乏对声音和人耳听觉的研究,早期的mp3编码器几乎全是以粗暴方式来编码,音质破坏严重。

随着新技术的不断导入,mp3编码技术一次一次的被改良,其中有2次重大技术上的改进。

 

2.2.4OGG编码

OggVorbis的音频编码,OGG是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。

整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案。

OGG的信念就是:

OPEN,FREE,Vorbis。

这几个个词汇成为了OGG项目中音频编码的正式命名。

目前Vorbis已经开发成功,并且开发出了编码器。

OggVorbis是高质量的音频编码方案,官方数据显示:

OggVorbis可以在相对较低的数据速率下实现比MP3更好的音质。

OggVorbis这种编码也远比90年代开发成功的MP3先进,她可以支持多个声道,这意味着OggVorbis在SACD、DTSCD、DVDAUDIO抓轨软件的支持下,可以对所有的声道进行编码,而不是MP3只能编码2个声道。

多声道音乐的兴起,给音乐欣赏带来了革命性的变化,尤其在欣赏交响时,会带来更多临场感。

这场革命性的变化是MP3无法适应的。

和MP3一样,OggVorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。

因此,它的声音质量将会越来越好,和MP3相似,OggVorbis更像一个音频编码框架,可以不断导入新技术逐步完善。

和MP3一样,OGG也支持VBR。

2.2.5MP3PRO编码

MP3PRO并不是一种全新的格式,完全是基于传统MP3编码技术的一种改良,本身最大的技术亮点就在于SBR(SpectralBandReplication频段复制),这是一种新的音频编码增强算法。

它提供了改善低位率情况下音频和语音编码的性能的可能。

这种方法可在指定的位率下增加音频的带宽或改善编码效率。

SBR最大的优势就是在低数据速率下实现非常高效的编码,与传统的编码技术不同的是,SBR更像是一种后处理技术,因此解码器的算法的优劣直接影响到音质的好坏。

高频实际上是由解码器(播放器)产生的,SBR编码的数据更像是一种产生高频的命令集,或者称为指导性的信号源。

MP3PRO其实是一种MP3信号流和SBR信号流的混合数据流编码。

SBR技术可以改善低数据流量下的高频音质,改善程度约为30%,这种改善可以让64kbps的MP3达到128kbps的MP3的音质水平。

2.2.6ACC格式

AAC(高级音频编码技术,AdavancedAudioCoding)是杜比实验室为音乐社区提供的技术。

AAC号称最大能容纳48通道的音轨,采样率达96KHZ,并且在320Kbps的数据速率下能为5.1声道音乐提供相当于ITU-R广播的品质。

和MP3比起来,它的音质比较好,它能够节省大余额30%的存储空间与带宽。

它是遵循MPEG-2的规格所开发的技术。

2.3音频解析

2.3.1MP3文件解析

MP3的文件格式称为ID3,一般是位于一个MP3文件的开头或末尾的若干字节内,附加了关于该MP3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版。

其中:

v1版的ID3在MP3文件的末尾128字节,以TAG三个字符开头,后面跟上歌曲信息。

其中流派一共定义了79种。

v2版一般位于mp3的开头,可以存储歌词,该专辑的图片等大容量的信息。

ID3V2一共有4个版本,但流行的播放软件一般只支持第3版,即ID3v2.3。

由于ID3V1记录在MP3文件的末尾,ID3V2就只好记录在MP3文件的首部了。

也正是由于这个原因,对ID3V2的操作比ID3V1要慢。

而且ID3V2结构比ID3V1的结构要复杂得多,但比前者全面且可以伸缩和扩展。

ID3V1比较简单,它是存放在MP3文件的末尾,用16进制的编辑器打开一个MP3文件,查看其末尾的128个顺序存放字节,数据结构定义如下:

charHeader[3];/*标签头必须是"TAG"否则认为没有标签*/

charTitle[30];/*标题*/

charArtist[30];/*作者*/

charAlbum[30];/*专集*/

charYear[4];/*出品年代*/

charComment[30];/*备注*/

charGenre;/*类型*/

ID3V1的各项信息都是顺序存放,没有任何标识将其分开,比如标题信息不足30个字节,则使用'\0'补足,否则将造成信息错误。

Genre使用原码表示,对照表如下:

/*Standardgenres*/

0="Blues";1="ClassicRock";2="Country";3="Dance";4="Disco";5="Funk";6="Grunge";7="Hip-Hop";8="Jazz";9="Metal";10="NewAge";11="Oldies";12="Other";13="Pop";14="R&B";15="Rap";16="Reggae";17="Rock";18="Techno";19="Industrial";

20="Alternative";21="Ska";22="DeathMetal";23="Pranks";24="Soundtrack";25="Euro-Techno";26="Ambient";27="Trip-Hop";28="Vocal";29="Jazz+Funk";30="Fusion";31="Trance";32="Classical";33="Instrumental";34="Acid";35="House";36="Game";37="SoundClip";38="Gospel";39="Noise";40="AlternRock";41="Bass";42="Soul";43="Punk";44="Space";45="Meditative";46="InstrumentalPop";47="InstrumentalRock";48="Ethnic";49="Gothic";50="Darkwave";51="Techno-Industrial";52="Electronic";53="Pop-Folk";54="Eurodance";55="Dream";56="SouthernRock";57="Comedy";58="Cult";59="Gangsta";60="Top40";61="ChristianRap";62="Pop/Funk";63="Jungle";64="NativeAmerican";65="Cabaret";66="NewWave";67="Psychadelic";68="Rave";69="Showtunes";70="Trailer";71="Lo-Fi";72="Tribal";73="AcidPunk";74="AcidJazz";75="Polka";76="Retro";77="Musical";78="Rock&Roll";79="HardRock";

/*Extendedgenres*/

80="Folk";81="Folk-Rock";82="NationalFolk";83="Swing";84="FastFusion";85="Bebob";86="Latin";87="Revival";88="Celtic";89="Bluegrass";90="Avantgarde";91="GothicRock";92="ProgessiveRock";93="PsychedelicRock";94="SymphonicRock";95="SlowRock";96="BigBand";97="Chorus";98="EasyListening";99="Acoustic";100="Humour";101="Speech";102="Chanson";103="Opera";104="ChamberMusic";105="Sonata";106="Symphony";107="BootyBass";108="Primus";109="PornGroove";110="Satire";111="SlowJam";112="Club";113="Tango";114="Samba";115="Folklore";116="Ballad";117="PowerBallad";118="RhythmicSoul";119="Freestyle";120="Duet";121="PunkRock";122="DrumSolo";123="Acapella";124="Euro-House";125="DanceHall";126="Goa";127="Drum&Bass";128="Club-House";129="Hardcore";130="Terror";131="Indie";132="BritPop";133="Negerpunk";134="PolskPunk";135="Beat";136="ChristianGangstaRap";137="HeavyMetal";138="BlackMetal";139="Crossover";140="ContemporaryChr



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3