为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

高质量音频快进快退播放器的设计

2017-09-26 12页 doc 27KB 41阅读

用户头像

is_672950

暂无简介

举报
高质量音频快进快退播放器的设计高质量音频快进快退播放器的设计 系统设计与设备有线电视技术 王晖王雨田李传珍张蕾中国传媒大学信息工程学院 摘要:本文介绍了一种时域上的音频压缩方法.并基于此方法设计了快进快退播放 器.利用此播放器可实现在高于 正常播放速度的情况下仅损失较少音质.这项技术在音频后期制作,计算机文语转 换,快速音频内容检索等方面可提供 . 高效的解决方案 关键词:音频SOLAwave播放器 1引言 声音媒体是除视觉媒体外最重要的媒体,占有总 信息量的20%左右,人们对音频数据的使用越来越广 泛,对音频播放器的要求也越来越高.从最早的磁...
高质量音频快进快退播放器的设计
高质量音频快进快退播放器的设计 系统设计与设备有线电视技术 王晖王雨田李传珍张蕾中国传媒大学信息工程学院 摘要:本文介绍了一种时域上的音频压缩.并基于此方法设计了快进快退播放 器.利用此播放器可实现在高于 正常播放速度的情况下仅损失较少音质.这项技术在音频后期制作,计算机文语转 换,快速音频内容检索等方面可提供 . 高效的解决 关键词:音频SOLAwave播放器 1引言 声音媒体是除视觉媒体外最重要的媒体,占有总 信息量的20%左右,人们对音频数据的使用越来越广 泛,对音频播放器的要求也越来越高.从最早的磁带 放音机到现在的诸如MP3,MP4等数字化产品,放音 录音设备经历了一代代的更新与变化.随着计算机的 普及与互联网发展,网络媒体播放器也是种类繁多, 新功能层出不穷,版本不断更新.但常见播放器的快 进快退只是注重时间上的压缩,如提高磁带的转速, 提高声音数据的抽样频率等,这样造成了声音的严重 失真,对于听者来说此功能达不到理想的效果. 本文介绍了一种时域上的声音压缩方法即S0LA 算法,利用此算法实现的音频快进快退不仅在时间上 实现压缩,而且压缩后的声音不失真.SOLA算法的这 图1WavePlayer播放器的系统框图 种特性可以在诸多领域中得以应用.研究明,听者 以两倍速听教育材料两次比以正常速度听材料一次 更有效,因此利用S0LA算法实现音频的快进快退在 教育与学习中将得到广泛应用.除此之外,声音编辑 的后期制作可以用此功能得到理想的音效.声音快进 还可在voicemail系统加速信息的表达,以使听者在 较短时间内获得更多信息.高质量的快进技术还可应 用到音频信号检索中,便于检索者快速准确地查找出 有用信息. 2WavePlayer播放器的制作过程 本播放器的开发软件为MicrosoftVisualStudio. NET,我们在WindowsXP系统下完成了播放器的设 计. 由于直接调用Microsoft的MCI接口进行音频播 放将无法在导入后对声音信号进行操作,因此我们采 用最底层的wave播放函数进行播放.将文件打开以 后读入内存,通过SOLA算法的操作对其进行压缩, 然后将压缩后的数据导入播放函数进行播放.本播放 器的系统框图见图1. 2.1WAVE文件的打开与播放 波形文件是以数字化形式存储声音的文件,可以 使用专用的工具软件编辑序列化的波形文件,也可以 使用过滤器修改.波形音频文件比较复杂,所占磁盘 2006年第7期(总第199期) 有线电视技术系统设计与设备 空间也比较大,但其几乎可以表达任何声音. WAVE文件的打开与播放模块是WavePlayer的 基本模块,该模块用来实现波形音频文件(.wav)的读 取和播放. 在Windows环境下,大部分的多媒体文件都依循 着一种结构来存放信息,这种结构称为"资源互换文 件格式"(ResourcesInterchangeFileFormat,RIFF). 例如声音的WAV文件,视频的AVI文件等等均是由 此结构衍生出来的.RIFF可以看做是一种树状结构, 其基本构成单位为chunk,犹如树状结构中的节点, 每个chunk由"辨别码","数据大小"及"数据"所组 成. WAV为WAVEFORM(波形)的缩写.声音文件 的结构如图2所示,"RIFF的格式辨别码为WAVE. 整个文件由两个chunk所组成:辨别码fmt(注意, 最后一个是空白字符)及"data'. 标志符(RIFF)4 数据大小4 格式类型("WAVE")4 "fmt"4 Sizeof(PCMWAVEFORMAT)4 PCMWAVEF0RMATl6 "datan4 声音数据大小4 声音数据 图2WAV晋频文件的结构 播放声音涉及到的重要消息及触发条件如下: MM_ WOM—CLOSE:在一个波形声音输出设备关 闭时发出,之后该设备句柄不再有效. MM_ WOM_DONE:当给定的输出缓存播放完毕 返回给应用程序,或者直接调用waveOutReset()函数 停止播放并重置管理器. MM— WOM—OPEN:当给定的波形声音输出设备 被打开时. WAV文件的读取过程为: (1)打开文件; (2)进入fmt块; (3)读取WAVE文件格式信息; (4)跳出fmt块; (5)进入data块: (6)读取WAVE数据信息; (7)关闭文件. 输出WAV文件的过程为: (1)用WaveOutOpen()打开一个输出设备并开 启MM—OM—OPEN消息响应函数; (2)将WAV数据填充到WAVEHDR结构体中; (3)WaveOutPrepareHeader()准备WAVE数据 头(在MM_WOM—OPEN中运行); (4)WaveOutWrite()将数据写入设备并开始播 放(在MM_WOM—OPEN中运行); (5)WaveOutReset()停止播放并重置管理器(由 暂停键控制); (6)WaveOutClose()关闭播放设备(由close键 控制); (7)WaveOutUnpareHeader()清理用WaveOut— PrepareHeader准备的Waveo 2.2SOLA算法的实现 SOLA(SynchronizedOverlap—and—Add)算法,是 一 种被广泛运用的算法.这种算法利用将同一语音的 不同的输入段之间进行首尾叠加耦合的方法,实现对 语音段时间长度的调整.它采用互相关作为选择叠加 点的标准.在叠加时采用加权函数来实现过渡段的平 滑连接.针对这一原理在不同的应用领域中的实际运 用,一系列的基于SOLA的算法被人们发明出来. 最早的相关结果是由Malah提出的[21将SOLA算 法与APC(AdaptivePredictiveCoding)相结合,来达 到降低声音信息率的目的. Wayman则采用将SOLA算法与波形编码技术相 结合来增加声音的压缩率[31,他认为采用SOLA算法 进行语音压缩会导致混响的出现.为了解决这一难 题,他提出在传送已编码语音时,还要传输叠加段的 相关信息.以后,又有很多人提出对于SOLA算法的 改进.比如Bialick提出用平均幅度差函数来代替自 相关函数作为计算叠加位置的标准,因为这种函数计 算起来更快.而Hamon则提出PsOLA的概念,他认 为对于叠加段应该用一个窗函数去调制,这样做可以 达到更高的压缩率.总而言之,SOLA算法之所以受到 人们的青睐,主要是因为:它实现起来比较简单,同 时,这种算法的质量较好而计算量又适中,所以有了 很大的发展. 我们采用了一种称为SOLA—FS的算法(Syn— chronizedOverlap—Add,FixedSynthesis),这种算法对 于SOLA的一大改进在于它在综合出新的信号时采 用了固定的叠加长度,而SOLA的这个叠加长度是可 变的.这种方法的一大贡献在于,在选择叠加位置时, 2006年第7期(总第199期) 系统设计与设备有线电视技术 Sa\ ,l|,t ,l|,| ,l|,| ,lI,| ,lt,| ,ll,| ,lt| inputsi 图3利用SOLA—FS算法进行第一轮语音操作 可以采用预测的方法,不需要每次都去进行位置的计 算.图3为利用SOLA—FS算法进行第一轮语音操作 的示意图. 由图3可看出输入信号与输出信号相比长度有 了变化,如果我们用xtTl【n]表示第in段语音信号,用x [n]表示原始信号的序列.那么两者的关系可以用下面 的等式表示: x 叶km 扣' ? k是第in个分析窗口的移动量.k值的变化范 围是0至Kmax.对于每一个分析窗口,k的值取遍这 些值,同时比较每次语音段的前Wov个点与输出序 列中的最后Wov个点的一致性.取出其中一致性最 好的那个语音段将其前Wov个点叠加到输出序列中 去.设叠加时所用的窗用b(n)表示,输出序列用y[n], 那么: y[mSs+n]:fb[TI]y[mss+I1]+(一b【n])x-m【I1],n=0…w.V一(2)_{x『n]w0v._.W(2) 每执行一次叠加,输入信号的起始点增加Sa,输 出信号长度增长Ss,可见一个足够长的语音信号的压 缩比可近似为Ss/Sa.调整两者的长度即可得到不同 的播放速度. b(n)的选择:应使得输入与输出序列之间实现平 滑的连接,这里我们采用简单的斜坡函数,只要采样 率足够大,就可达到较好的语音效果. 下面介绍km值的确定方法:我们采用互相关系 数来表示一致性程度. . uxy[k]mry[k] x[mSa+k+n]y[mSs+n】 =—— /~ov-1—————Wov1——一(3)一 ,, \/?x[mSa+k+n]?y[mSs+n] 对于k的求取是降低时间复杂度的重要一步. 实际上,我们不需要每轮处理数据时都去计算一遍 k,计算一遍k会花去不少时间.我们假定在任何一 点,最多有两个窗会在这点上重叠.现在考虑第in个 窗,从输出端的最后Wov个点可以看出,它其实就是 输入序列中的某些点: y[mSs+n]=y[(m一1)Ss+(Ss+n)]=x[(m一1)Sa+k一1+ (Ss+n)]=x[mSa+tm+n](4) 其中:tm=k1+(Ss-Sa) 从上面几个等式可以看出:如果O?tm?Kmax.那 么,不需要计算k的值,只需要将k的值直接取为t 就可以了.而如果t的值超出了上面的这个范围,就 必须按照前面的计算方法进行计算.对于采用互相关 法求k,作如下改动:因式中只是比较关系,只需要比 2 较m[k])就可以了,这样就避免了开方这一麻烦的 运算.同时,由于对于所有的k值r.二[k]都是一样的, 所以比较时不需要去考虑它.因此最终我们对于每一 2 个k值只要最后比较(rI二[k])/r二[k]. 整个算法首先将语音段中的前W个数值取出 来,直接存人到输出序列中.然后根据Sa的值取出下 一 段语音,也就是从第Sa个点开始取,一直取W个 点.然后将这W个点中的前Wov个点与输出序列的 最后Wov个点进行比较,比较它们之间的一致性.记 录下比较的情况,然后整个分析窗口(也就是截取W 个点的窗口)向后移动一个样值,再将新的序列中的 前Wov个点与输出序列中的后Wov个点进行比较, 同时记录下比较结果.这样依次做Kmax次,然后取 出比较结果中最一致的那种情况.将这种情况下,所 截取的语音序列的前Wov个点与输出序列的最后 Wov个点按某种方式进行叠加,然后再将W个点的 窗口中剩余的Ss个点存人到输出序列中去.至此完 成了一轮语音操作.下一轮语音段处理,与上面基本 相同,只不过从输入序列中截取的语音段不是从原先 的起点开始而是在原先的起点的基础上向后延时Sa 个点.我们将此算法作为一个函数,在音频数据进入 WaveOutWrite()函数之前进行处理.SOLA—FS算法的 2006年第7期(总第199期) 有线电视技术系统设计与设备 实现流程如图4. 图4SOLA—FS算法的实现流程图 3效果测试 3.1测试音源 为了测试SOLA算法对于不同音源的效果,我们 准备了以下音源: 语音: (1)汉语 A.真人录音朗读余秋雨的散文《遥远的绝响》 (11.025kHz,8bit,单声道); B.真人录音朗读余秋雨的散文《遥远的绝响》 (48kHz,16bit,双声道). (2)英语 TOEFL考试听力(48kHz,16bit,双声道). 音乐 (3)heartbreak(48kHz,16bit,单声道). (4)神秘园(48kHz,16bit,单声道). (5)黄梅戏(44.1kHz,16bit,双声道). 3.2测试结果 由于压缩前后声音文件差别很大,不能采用传统 的文件比较的方法来测试音质损失,加上变换前后声 音速度不一样,只能采用主观评价来对音质评测.我 们采用对声音质量打分的方法,以非常好,清晰,一 般,含混,识别困难为五个等级来打分,从高到低分别 为5,4,3,2,1分. (1)首先测试了算法对汉语的效用.第一段语音 采用11.025kHz,8bit,单声道录音,是一段散文朗诵,由 于采音效果不好.背景有杂音.我们依次提高播放速 度,音质记录如图5所示. |, \ _.一 , \ \ 倍速 图5用1lkHz汉语作为素材进行音频评测 (2)第二段素材是一段48kHz,16bit,双声道的录 音,是同一段散文的朗读.图6为随着素材二播放速 度和音质变化的对应图. \ \ 倍运 图648kHz汉语作为素材进行音频评测 (3)第三段素材是一段托福听力的节选, 48kHz,16bit,双声道录音,但是先是由磁带转录成 mp3,再由mp3转到wav的,mp3的编码率为 128kHz,因此对音质的影响较大.图7为随着素材三 2006年第7期(总第199期) 系统设计与设备有线电视技术 播放速度和音质变化的对应图. 6 5 4 晨3 2 ' , . \ 图7用托福听力作为素材进行音频评测 (4)素材四是一首名叫heartbreak的英文歌曲, 48kHz,16bit,单声道录音.黑人的灵魂乐风格.图8为 随着素材四播放速度和音质变化的对应图. IIlII lllll ……'……I…….J……Jl……1.…… IIIII IIIII _?-'I I,IlII I,IlII l,IIII ……r…一r—r.…——1……T……r…… I,IIII ?,IIII ?-^lI ?II,II ?II\II 一一一一一一 +一一一一一一卜一一一一一一一一一一+一一一一一一一一一一一一 III,II III,I? … !;;l\ :::jj\_?III\ IIIIt lIlIl IIIII 一一一一一一T一一一一一一I一一一一一一1一一一一一一1一一一一一一广 一一一一一一 IlIII ItIII O2矗4 图8用"heartbreak"作为素材进行音频评测 (5)素材五为一首神秘园的歌曲,由女高音主唱. 48kHz,16bit,单声道录音.图9为随着素材五播放速度 和音质变化的对应图. (6)素材六是一首黄梅戏,44.1kHz,16bit,双声道. 由唱片转录,音质损失很大.图l0为随着素材六播放 速度和音质变化的对应图. 3.3结论 由于不同声音有各自的特点,用SOLA算法处理 后的声音音质有所不同.实验表明,对于噪音较小语 音信号,加速两倍声音依然很清晰,加速三倍声音有 些含糊但依旧能听清.对于音乐,可以听清乐音与人 , \t .一 \一 \ \ 2456 图9用神秘园的歌曲作为素材进行音频评测 I { \ \ \ \ 55453525?j4. 音质 5432.o 音喷
/
本文档为【高质量音频快进快退播放器的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索