1、毕业论文(设计)论文题目: 基于 MATLAB 的声音文件播放器设计学生姓名:学 号:所在院系: 电气信息工程学院专业名称: 电子信息科学与技术届 次:指导教师:淮南师范学院本科毕业论文(设计)诚信承诺书1.本人郑重承诺:所呈交的毕业论文(设计),题目 是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容;2.毕业论文(设计)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已注释说明来源;3. 毕业论文(设计)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;4.本人已被告知并清楚:学院对毕业论文(设计)中的抄
2、袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业论文(设计)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果; 5.若在省教育厅、学院组织的毕业论文(设计)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学院按有关规定给予的处理,并承担相应责任。 学生(签名): 日期: 年 月 日目 录前言 .21 设计背景与概述 .21.1 设计背景 .21.2 设计平台 MATLAB 概述 .32 声音文件 .42.1 MP3 文件 .42.2 lame 编码器 .73 播放器的设计及方法 .73.1 重叠叠加算法
3、.73.2 Matlab 的实现算法 .83.2 Gui 设计 .93.3 Matlab 语言 .113.4 系统流程图 .114 运行结果 .125 总结 .13参考文献: .14淮南师范学院 2013 届本科毕业论文1基于 MATLAB 的声音文件播放器设计学生:赵波(指导教师:陈帅)(淮南师范学院电气信息工程学院)摘 要 :本文结合 “数字信号处理 ”课程和“Matlab 程序设计”课程的相关知识,给出了基于 Matlab 的声音播放器的总体设计方案,介绍了播放器主要模块的功能,设计与实现方法“我们将该设计作为电子信息类专业数字信号处理课程设计项目,有助于激发学生的学习兴趣,提高其综合设
4、计和应用创新能力“。本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用 MATLAB7.0 综合运用各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。关键词:Matlab ;声音播放器; 傅里叶变换;变频Audio file player design based on MATLABStudent: Zhao Bo(Faculty Adviser:Chen Shuai)(College of electrical and Information Engineering, Huainan Normal University)A
5、bstract: According to “the relevant knowledge of digital signal processing course“ and “Matlab program design“ course, gives the general design of Matlab audio player based on, describes the main module functions and implementation methods of the player, “we will design as the design of electronic i
6、nformation specialty of digital signal processing course design projects, help stimulate students interest in learning, improve the comprehensive design and innovation ability“. The design for the problem now, most speech processing software content is various, inconvenient operation, using MATLAB7.
7、0 comprehensive use of various function calls to voice signals such as frequency, amplitude, Fu Liye transform and filtering, the program interface concise, simple operation, and has certain practical significance.Keywords: Matlab; Sound player; Fu Liye transform; Frequency基于 MATLAB 的声音文件播放器设计2前言语音是
8、语言的声学表现,是人类交流信息最自然、最有效、最方便的手段。随着社会文化的进步和科学技术的发展,人类开始进入了信息化时代,用现代手段研究语音处理技术,使人们能更加有效地产生、传输、存储、和获取语音信息,这对于促进社会的发展具有十分重要的意义,因此,语音信号处理正越来越受到人们的关注和广泛的研究。20 世纪 60 年代中期形成的一系列数字信号处理的理论和算法,如数字滤波器、快速傅立叶变换(FFT)等是语音信号数字处理的理论和技术基础。随着信息科学技术的飞速发展,语音信号处理取得了重大的进展:进入 70 年代之后,提出了用于语音信号的信息压缩和特征提取的线性预测技术(LPC) ,并已成为语音信号处
9、理最强有力的工具,广泛应用于语音信号的分析、合成及各个应用领域,以及用于输入语音与参考样本之间时间匹配的动态规划方法;80 年代初一种新的基于聚类分析的高效数据压缩技术矢量量化(VQ)应用于语音信号处理中;而用隐马尔可夫模型(HMM)描述语音信号过程的产生是 80 年代语音信号处理技术的重大发展,目前 HMM 已构成了现代语音识别研究的重要基石。近年来人工神经网络(ANN)的研究取得了迅速发展,语音信号处理的各项课题是促进其发展的重要动力之一,同时,它的许多成果也体现在有关语音信号处理的各项技术之中。语音信号处理是一门比较实用的电子工程的专业课程,语音是人类获取信息的重要来源和利用信息的重要手
10、段。通过语言相互传递信息是人类最重要的基本功能之一。语言是人类特有的功能,它是创造和记载几千年人类文明史的根本手段,没有语言就没有今天的人类文明。语音是语言的声学表现,是相互传递信息的最重要的手段,是人类最重要、最有效、最常用和最方便的交换信息的形式。语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,它是一门新兴的学科,同时又是综合性的多学科领域和涉及面很广的交叉学科。1 设计 背景与概述1.1 设计背景随着软硬件技术的发展,仪器的智能化与虚拟化已成为未来实验室及研究机构的发展方向。虚拟仪器技术的优势在于可由用户定义自己的专用仪器系统,且功能灵活,很容易构建,所以应用面极为广泛
11、。基于计算机软硬件平台的虚拟仪器可代替传统的淮南师范学院 2013 届本科毕业论文3测量仪器,如示波器、逻辑分析仪、信号发生器、频谱分析仪等。从发展史看,电子测量仪器经历了由模拟仪器、智能仪器到虚拟仪器,由于计算机性能的飞速发展,已把传统仪器远远抛到后面,并给虚拟仪器生产厂家不断带来连锅端的技术更新速率。目前已经有许多较成熟的频谱分析软件,如 SpectraLAB、RSAVu、dBFA 等。声卡是多媒体计算机最基本的配置硬件之一,价格便宜,使用软件,他的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令。本文将给出基于声卡与 MATLAB 的声音信号频谱分析仪的设计原理与实现方法,
12、功能包括:(1) 音频信号信号输入,从声卡输入、从 WAV 文件输入、从标准信号发生器输入;(2) 信号波形分析,包括幅值、频率、周期、相位的估计,以及统计量峰值、均值、均方值和方差的计算;(3) 信号频谱分析,频率、周期的估计,图形显示幅值谱、相位谱、实频谱、虚频谱和功率谱的曲线。1.2 设计平台 MATLAB 概述MATLAB 是国际上公认的最优秀的科技应用软件,它在数据分析和处理功能都是很强大,利用它可以灵活方便地处理音频信号。MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATL
13、AB和 Simulink 两大部分。 MATLAB 已成为国际公认的最优秀的科技应用软件之一,具有编程简单、数据可视化功能强、可操作性强等特点,而且配有功能强大、专业函数丰富的图像处理工具箱,是进行图像处理方面工作必备的软件工具。MATLAB 是矩阵实验室(Matrix Laboratory)的简称,和 Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。目
14、前数字滤波器的设计有许多现成的高级语言设计程序,但他们都存在设计效率较低,不具有可视图形,不便于修改参数等缺点,而 Matlab 为数字滤波的研究和应用提供了一个直观、高效、便捷的工具。它以矩阵运算为基础,把计算、可视化、程序设计融合到了一个交互式的工作环境中。尤其是 Matlab 工具箱使各个领域的研究人员可以直观而方便地进行科学研究与工程应用。其中的信号处理基于 MATLAB 的声音文件播放器设计4工具箱、图像处理工具箱、小波工具箱等更是为数字滤波研究的蓬勃发展提供了可能。本文将使用 matlab 对 MP3 进行解码,做一个简易的 MP3 播放器。2 声音文件首先,我们来明确一下数字音频
15、的概念,它是指一个用来表示声音强弱的数据序列,由模拟声音经抽样、量化和编码后得到的。简单地说,数字音频的编码方式就是数字音频格式,我们所使用的不同的数字音频设备一般都对应着不同的音频文件格式。常见的数字音频格式有:WAV 格式、MIDI 格式、CDA 格式、MP3 格式、WMA格式等。1. WAV 格式,是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被 Windows 平台及其应用程序广泛支持。WAV 格式支持许多压缩算法,支持多种音频位数、采样频率和声道,采用 44.1kHz 的采样频率,16 位量化位数,跟 CD 一样,对存储空间需求太大不便于交流和传播。2.
16、MIDI,是 Musical Instrument Digital Interface 的缩写,又称作乐器数字接口,是数字音乐/电子合成乐器的统一国际标准。它定义了计算机音乐程序、数字合成器及其它电子设备交换音乐信号的方式,规定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传输的协议,可以模拟多种乐器的声音。MIDI 文件就是 MIDI 格式的文件,在 MIDI 文件中存储的是一些指令。把这些指令发送给声卡,由声卡按照指令将声音合成出来。3. 大家都很熟悉 CD 这种音乐格式了,扩展名 CDA,其取样频率为 44.1kHz,16位量化位数,跟 WAV 一样,但 CD 存储采用了音轨的
17、形式,又叫“红皮书” 格式,记录的是波形流,是一种近似无损的格式。4. MP3 全称是 MPEG-1 Audio Layer 3,它在 1992 年合并至 MPEG 规范中。MP3能够以高音质、低采样率对数字音频文件进行压缩。换句话说,音频文件(主要是大型文件,比如 WAV 文件)能够在音质丢失很小的情况下(人耳根本无法察觉这种音质损失)把文件压缩到更小的程度。5.WMA (Windows Media Audio),是微软在互联网音频、视频领域的力作。WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到 1:18。此外,WMA 还可以通过 DRM(Digita
18、l Rights Management)方案加入防淮南师范学院 2013 届本科毕业论文5止拷贝,或者加入限制播放时间和播放次数,甚至是播放机器的限制,可有力地防止盗版。2.1 MP3 文件MP3 文件大体分为三部分:TAG_V2(ID3V2),frame,TAG_V1(ID3V1) ;它们的详细特征如下表:表 2.1 MP3 各类文件特点ID3V2 包含了作者,作曲,专辑等信息,长度不固定,扩展了 ID3V1 的信息量Frame 一系列的帧,个数由文件大小和帧长决定 每个 FRAME 的长度可能不固定,由位率 bitrate 决定 每个 FRAME 又分为帧头和数据实体两部分 帧头记录了 m
19、p3 的位率,采样率版本等信息,每个帧之间相互独立ID3V1 包含了作者,作曲,专辑等信息,长度为 128BYTE 一个 MPEG 音频文件是许多的称为帧的较小部分组成的,通常,帧是独立的组成部分,每个帧都拥有之间的头和音频信息,没有文件头。所以我们可以剪切 MPEG 文件的任何部分并且能够正常播放。但在 LayerIII 中就并不总是正确的。2.1.1 帧头格式下表 2.2 是一个头内容图示,使用字符 A 到 M 表示不同的区域 AAAAAAAAAAA BB CC D EEEE FF G H II JJ K L MMA 表示帧同步,都为 1,长度为 11; B 表示 MPEG 音频版本 ID
20、 (00 MPEG 2.5; 01 保留; 10 MPEG 2; 11 MPEG 1); C 表示 Layer 描述,(00 保留 ; 01- LayerIII; 10 LayerII; 11 - LayerI);D 表示校验位 (0 有跟 16 位 CRC 校验位; 1 无校验位); E 位率索引,长度为 4,对不同的版本,不同层索引值表示不同的位率 ;单位 KbitF 采样频率,单位: HzG 填充位 (0 无填充; 1 额外的填充) H 私有 bit,用做特殊应用 I 声道 (00 立体声; 01 联合立体声; 10 双声道; 11 单声道);基于 MATLAB 的声音文件播放器设计6J
21、 扩展模式,仅在联合立体声有效 K 版权 (0 无版权; 1 有版权); L 原创 (0 拷贝; 1 原创); M 强调 (00 无; 01 50/15ms; 10 保留; 11 CCIT J.17);表 2.2 帧头内容图表MPEG 1 Layer IMPEG 1 Layer II MPEG 1Layer IIIMPEG,2.5Layer ILayer II & Layer III0000 FREE0001 32 32 32 32 80010 64 48 40 48 160011 96 56 48 56 240100 128 64 56 64 320101 160 80 64 80 40 0
22、110 192 96 80 96 480111 224 112 96 112 56 1000 256 128 112 128 64 1001 288 160 128 144 80 1010 320 192 160 160 96 1011 352 224 192 176 112 1100 384 256 224 192 1281101 416 320 256 224 144 1110 448 384 320 256 160 1111Bits MPEG 1 MPEG 2 MPEG 2.500 44100 22050 1102501 48000 24000 1200010 32000 16000 8000