资源描述:
《《语音信号处理》实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《语音信号处理》实验报告信息科学与工程学院中南大学信息科学与工程学院语音信号处理实验报告指导老师:覃爱娜学生班级:信息0704学生名称:阮光武学生学好:0903070430提交日期:2010年6月18日10《语音信号处理》实验报告信息科学与工程学院实验一语音波形文件的分析和读取一、实验的任务、性质与目的本实验是选修《语音信号处理》课的电子信息类专业学生的基础实验。通过实验:(1)掌握语音信号的基本特性理论:随机性,时变特性,短时平稳性,相关性等;(2)掌握语音信号的录入方式和*.WAV音波文件的存储结构;(3)使学生初步掌握语音信号处理的一般实验方法。二、实
2、验原理和步骤:WAV文件格式简介WAV文件是多媒体中使用了声波文件的格式之一,它是以RIFF格式为标准。每个WAV文件的头四个字节就是“RIFF”。WAV文件由文件头和数据体两大部分组成,其中文件头又分为RIFF/WAV文件标识段和声音数据格式说明段两部分。常见的WAV声音文件有两种,分别对应于单声道(11.025KHz采样率、8Bit的采样值)和双声道(44.1KHz采样率、16Bit的采样值)。采样率是指声音信号在“模拟→数字”转换过程中,单位时间内采样的次数;采样值是指每一次采样周期内声音模拟信号的积分值。对于单声道声音文件,采样数据为8位的短整数(s
3、hortint00H-FFH);而对于双声道立体声声音文件,每次采样数据为一个16位的整数(int),高八位和低八位分别代表左右两个声道。WAV文件数据块包含以脉冲编码调制(PCM)格式表示的样本。在单声道WAV文件中,道0代表左声道,声道1代表右声道;在多声道WAV文件中,样本是交替出现的。WAV文件的格式见表1。10《语音信号处理》实验报告信息科学与工程学院偏移地址字节数数据类型内容文件头00H4char"RIFF"标志04H4longint文件长度08H4char"WAVE"标志0CH4char"fmt"标志10H4过渡字节(不定)14H2int格式类
4、别(10H为PCM形式的声音数据)16H2int通道数,单声道为1,双声道为218H2int采样率(每秒样本数),表示每个通道的播放速度1CH4longint波形音频数据传送速率,其值为通道数×每秒数据位数×每样本的数据位数/8。播放软件利用此值可以估计缓冲区的大小。20H2int数据块的调整数(按字节算的),其值为通道数×每样本的数据位值/8。播放软件需要一次处理多个该值大小的字节数据,以便将其值用于缓冲区的调整。22H2每样本的数据位数,表示每个声道中各个样本的数据位数。如果有多个声道,对每个声道而言,样本大小都一样。24H4char数据标记符"data
5、"28H4longint语音数据的长度表1wav文件格式说明表(1)选取WINDOWS下MEDIA中的任一WAV文件,采用播放器进行播放,观察其播放波形,定性描述其特征;(2)根据WAV文件的存储格式,利用MATLAB或C语言,分析并读取文件头和数据信息;(3)将文件的通道数、采样频率、样本位数和第一个数据读取并显示出来。三、实验设备PC机。10《语音信号处理》实验报告信息科学与工程学院四,实验结果(1)实验对象:选择windows系统自带的ringout.wav为实验对象。图1-1整体波形图1-2部分波形10《语音信号处理》实验报告信息科学与工程学院(2)
6、文件信息:文件头为:RIFF通道数=1为双声道采样平率=11025样本位数=1第一个数据为:0五、实验代码[y,fs,n]=wavread('ringout.wav');%观察波形figure(1)plot(y)[y,fs,n]=wavread('ringout.wav',[1500]);%显示波形中的前面一段,便于观察figure(2)plot(y)f=fopen('ringout.wav','r');disp('文件头为:')a0=fscanf(f,'%4s',[1,1]);%显示RIFF标志disp(a0)f=fopen('ringout.wav','
7、r');[a1,count1]=fread(f,[2,11]);%跳过读RIFF标志,文件长度,wavefmt标志,过渡字节及读格式类别共4*5+2=22个字节[a2,count2]=fread(f,[1,1]);%读取通道数的两个字节disp('通道数=')disp(a2)ifa4==1disp('为单声道')elsedisp('为双声道')enda=fread(f,[1,1]);[a31,count31]=fread(f,[1,1]);%读取采样率[a32,count32]=fread(f,[1,1]);disp('采样平率=')disp(a32*2^8
8、+a31)[a4,count4]=fread(f,[