基于qt的音频管理系统的设计与实现本科论文内容摘要:

只能使用 PCM 编码, MP3 编码同样也可以运用在 WAV中,只要安装好了相应的 Decode,就可以欣赏这些 WAV 了。 在 Windows 平台下,基于 PCM 编码的 WAV 是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此, WAV 也是音乐编辑创作的首选格式,适合保存音乐素材。 因此,基于 PCM 编码的 WAV 被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如 MP3 转换成 WMA。 MP3 MP3 作为目前最为普及的音频压缩格式 ,为大家所大量接受,各种与 MP3 相关的软件产品层出不穷,而且更多的硬件产品也开始支持 MP3,我们能够买 到的 VCD/DVD播放机都很多都能够支持 MP3,还有更多的便携的 MP3 播放器等等,虽然几大音乐商极其反感这种开放的格式,但也无法阻止这种音频压缩的格式的生存与流传。 MP3 发展已经有 10 个年头了,他是 MPEG(MPEG: Moving Picture Experts Group) Audio Layer3的简称,是 MPEG1 的衍生编码方案, 1993 年由德国 Fraunhofer IIS 研究院和汤姆生公司合作发展成功。 MP3 可以做到 12:1 的惊人压缩比并保持基本可听的音质,在当年硬盘天价的日子里, MP3 迅速被用户 接受,随着网络的普及, MP3 被数以亿计的用户接受。 MP3 编码技术的发布之初其实是非常不完善的,由于缺乏对声音和人耳听觉的研究,早期的 mp3 编码器几乎全是以粗暴方式来编码,音质破坏严重。 随着新技术的不断导入, mp3 编码技术一次一次的被改良,其中有 2 次重大技术上的改进。 北京邮电大学毕业设计 5 OGG 编码 Ogg Vorbis 的音频编码, OGG 是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。 整个 OGG 项目计划的目的就是向任何人提供完全免费多媒体编码方案。 OGG 的信念就是: OPEN, FREE, Vorbis。 这几个个词汇成为了 OGG项目中音频编码的正式命名。 目前 Vorbis 已经开发成功,并且开发出了编码器。 Ogg Vorbis 是高质量的音频编码方案,官方数据显示: Ogg Vorbis 可以在相对较低的数据速率下实现比 MP3 更好的音质。 Ogg Vorbis 这种编码也远比 90 年代开发成功的 MP3 先进,她可以支持多个声道,这意味着 Ogg Vorbis 在 SACD、 DTSCD、 DVD AUDIO 抓轨软件的支持下,可以对所有的声道进行编码,而不是 MP3 只能编码 2 个声道。 多声道音乐的兴起,给音乐欣赏带来了革命性的变化 ,尤其在欣赏交响时,会带来更多临场感。 这场革命性的变化是 MP3 无法适应的。 和 MP3 一样, Ogg Vorbis 是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。 因此,它的声音质量将会越来越好,和 MP3 相似, Ogg Vorbis 更像一个音频编码框架,可以不断导入新技术逐步完善。 和 MP3 一样, OGG 也支持 VBR。 MP3PRO 编码 MP3PRO 并不是一种全新的格式,完全是基于传统 MP3 编码技术的一种改良,本身最大的技术亮点就在于 SBR( Spectral Band Replication 频段复制),这是一种新的音频编码增强算法。 它提供了改善低位率情况下音频和语音编码的性能的可能。 这种方法可在指定的位率下增加音频的带宽或改善编码效率。 SBR 最大的优势就是在低数据速率下实现非常高效的编码,与传统的编码技术不同的是, SBR 更像是一种后处理技术,因此解码器的算法的优劣直接影响到音质的好坏。 高频实际上是由解码器(播放器)产生的, SBR 编码的数据更像是一种产生高频的命令集,或者称为指导性的信号源。 MP3PRO 其实是一种 MP3 信号流和 SBR 信号流的混合数据流编码。 SBR 技 术可以改善低数据流量下的高频音质,改善程度约为 30%,这种改善可以让 64kbps 的 MP3 达到128kbps 的 MP3 的音质水平。 ACC 格式 AAC(高级音频编码技术, Adavanced Audio Coding)是杜比实验室为音乐社区提供的技术。 AAC 号称最大能容纳 48 通道的音轨,采样率达 96KHZ,并且在 320Kbps的数据速率下能为 声道音乐提供相当于 ITUR 广播的品质。 和 MP3 比起来,它的音质比较好,它能够节省大余额 30%的存储空间与带宽。 它是遵循 MPEG2 的规格所开发的技术。 音频解析 MP3 文件解析 MP3 的文件格式称为 ID3,一般是位于一个 MP3 文件的开头或末尾的若干字节内,附加了关于该 MP3 的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为 ID3信息, ID3 信息分为两个版本, v1 和 v2 版。 其中: v1 版的 ID3 在 MP3 文件的末尾 128字节,以 TAG 三个字符开头,后面跟上歌曲信息。 其中流派一共定义了 79 种。 v2 版一般位于 mp3 的开头,可以存储歌词,该专辑的图片等大容量的信息。 ID3V2 一共有 4个版本,但流行的播放软件一般只支持第 3 版,即。 由于 ID3V1 记录在 MP3文件的末尾, ID3V2 就只好记录在 MP3 文件的首部了。 也正是由于这个原因,对 ID3V2北京邮电大学毕业设计 6 的操作比 ID3V1 要慢。 而且 ID3V2 结构比 ID3V1 的结构要复杂得多,但比前者全面且可以伸缩和扩展。 ID3V1 比较简单,它是存放在 MP3 文件的末尾,用 16 进制的编辑器打开一个 MP3文件,查看其末尾的 128 个顺序存放字节,数据结构定义如下: char Header[3]。 /*标签头必须是 TAG否则认为没有标签 */ char Title[30]。 /*标题 */ char Artist[30]。 /*作者 */ char Album[30]。 /*专集 */ char Year[4]。 /*出品年代 */ char Comment[30]。 /*备注 */ char Genre。 /*类型 */ ID3V1 的各项信息都是顺序存放,没有任何标识将其分开,比如标题信息不足 30个字节,则使用 39。 \039。 补足,否则将造成信息错误。 Genre 使用原码表示,对照表如下: /* Standard genres */ 0=Blues。 1=ClassicRock。 2=Country。 3=Dance。 4=Disco。 5=Funk。 6=Grunge。 7=HipHop。 8=Jazz。 9=Metal。 10=NewAge。 11=Oldies。 12=Other。 13=Pop。 14=Ramp。 B。 15=Rap。 16=Reggae。 17=Rock。 18=Techno。 19=Industrial。 20=Alternative。 21=Ska。 22=DeathMetal。 23=Pranks。 24=Soundtrack。 25=EuroTechno。 26=Ambient。 27=TripHop。 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=TechnoIndustrial。 52=Electronic。 53=PopFolk。 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=LoFi。 72=Tribal。 73=AcidPunk。 74=AcidJazz。 75=Polka。 76=Retro。 77=Musical。 78=Rockamp。 Roll。 79=HardRock。 /* Extended genres */ 80=Folk。 81=FolkRock。 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。 北京邮电大学毕业设计 7 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=EuroHouse。 125=DanceHall。 126=Goa。 127=Drumamp。 Bass。 128=ClubHouse。 129=Hardcore。 130=Terror。 131=Indie。 132=BritPop。 133=Negerpunk。 134=PolskPunk。 135=Beat。 136=ChristianGangstaRap。 137=HeavyMetal。 138=BlackMetal。 139=Crossover。 140=ContemporaryChristian。 141=ChristianRock。 142=Merengue。 143=Salsa。 144=TrashMetal。 145=Anime。 146=JPop。 147=Synthpop。 每个 的标签都由一个标签头和若干个标签帧或一个扩展标签头组成。 关于曲目的信息如标题、作者等都存放在不同的标签帧中,扩展标签头和标签帧并不是必要的,但每个标签至少要有一个标签帧。 标签头和标签帧一起顺序存放在 MP3 文件的首部。 标签头在文件的首部顺序记录 10 个字节的 的头部。 在文件的首部顺序记录 10 个字节的 的头部。 数据结构如下: char Header[3]。 /*必须为 ID3否则认为标签不存在 */ char Ver。 /*版本号。 就记录 03, 就记录 04*/ char Revision。 /*副版本号。 此版本记录为 00*/ char Flag。 /*存放标志的字节,这个版本只定义了三位,稍后详细解说 */ char Size[4]。 /*标签大小,包括标签帧和扩展标签头。 (不包括标签头的 10 个字节)*/ WMA 文件解析 每一个 WMA文件,它的头 16个字节是固定的,为十六进制的 “30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C”,用来标识这个是否为 WMA 文件。 接下来的 8 个字节为一个整数,表示 整个 WMA 文件头部的大小,这个头部里面包含了 Tag 信息等所有非音频信息,头部后面的是音频信息。 也就是说从文件开始偏移量为 31 开始,里面存放了很多帧,有我们需要的标准 Tag 信息,扩展 Tag 信息, WMA 文件控制信息等等。 每个帧不是等长的,但是帧头是固定的 24 个字节,其中前 16 字节是用来标识这个帧的名字,后 8 个字节是用来表示这个帧(包括帧头)的大小。 这一点和 MP3 文件的 ID3V2信息比 较像。 Tag 信息分别保存在两个帧里,分别为标准 Tag 帧和扩展 Tag 帧。 标准 Tag 帧只包含歌曲标题,艺术家,版权,备注四个内容。 它的帧名是十六进制的 “3326 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C”,在 24 个字节的帧头后紧跟着 5个分别为 2 个字节的整数,分别表示歌曲标题,艺术家,版权,备注,未知信息的大小。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。