用61板如何实现语音播放.ppt

上传人:牧羊曲112 文档编号:5795914 上传时间:2023-08-21 格式:PPT 页数:50 大小:1.42MB
返回 下载 相关 举报
用61板如何实现语音播放.ppt_第1页
第1页 / 共50页
用61板如何实现语音播放.ppt_第2页
第2页 / 共50页
用61板如何实现语音播放.ppt_第3页
第3页 / 共50页
用61板如何实现语音播放.ppt_第4页
第4页 / 共50页
用61板如何实现语音播放.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《用61板如何实现语音播放.ppt》由会员分享,可在线阅读,更多相关《用61板如何实现语音播放.ppt(50页珍藏版)》请在三一办公上搜索。

1、凌阳音频,用61板如何实现语音播放,语音压缩工具的使用,结合流程举例介绍,如何实现语音的播放?,语音压缩编码基础,压缩编码的目的:通过对资料的压缩,达到高效率存储和转换资料的结果,即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息。压缩编码的必要性:实际应用中,未经压缩编码的音频资料量很大,进行传输或存储是不现实的。所以要通过对信号趋势的预测和冗余信息处理,进行资料的压缩,这样就可以使我们用较少的资源建立更多的信息。,1、SACM_A2000此格式的音频文件压缩后的编码率有16Kbit/s20Kbit/s、24Kbit/s三种由此可以计算出,如果采用16Kbit/s编码率播放一分

2、钟的语音所占用的存储器空间为:16Kbit/s*60s 960Kbit=120Kbyte=60Kword,凌阳音频压缩编码,SACM_A2000语音压缩比为8:1,8:1.25,8:1.5 由此可以计算出,如果采用8Kbyte的wave文件,经过SACM_A2000压缩后,语音文件只有1Kbyte的大小。由于SACM_A2000压缩比较小,对音质的影响也较小,因此较适合音乐播放。,凌阳音频压缩编码,2、SACM_S480此格式的音频文件压缩后的编码率有4.8Kbit/s、7.2 Kbit/s两种。由此可以计算出,如果采用4.8Kbit/s编码率播放一分钟的语音所占用的存储器空间为:4.8Kbi

3、t/s*60s 288Kbit=36Kbyte=18Kword,凌阳音频压缩编码,SACM_S480语音压缩比为80:3,80:4.5,由此可以计算出,如果采用80Kbyte的wave文件,经过SACM_S480压缩后,语音文件只有3Kbyte的大小。由于SACM_ S480压缩比较大,对语音的音质影响也较大,因此较适合语音播放。,凌阳音频压缩编码,3、SACM_S240此格式的音频文件压缩后的编码率为2.4Kbit/s、由此可以计算出,如果采用2.4Kbit/s编码率播放一分钟的语音所占用的存储器空间为:2.4Kbit/s*60s 144Kbit=18Kbyte=9Kword,凌阳音频压缩编

4、码,SACM_S240语音压缩比为80:1.5 由此可以计算出,如果采用80Kbyte的wave文件,经过SACM_S240压缩后,语音文件只有1.5Kbyte的大小。由于SACM_ S240压缩比较大,因此较适合语音音质要求不高时使用。如电子辞典等。,凌阳音频压缩编码,凌阳音频播放过程,第一步:Wave格式语音文件因为语音压缩工具(后面有介绍)只支持对Wave文件的压缩,因此语音播放源文件,需要为Wave文件。如果用户播放的语音需要自己录制时,注意录制属性设置,最好选择为8Khz,16位,单声道。,凌阳音频播放过程,第一步:Wave格式语音文件 如果用户播放的语音采用已有的语音文件,也要注意

5、语音文件的属性,最好选择为8Khz,16位,单声道的语音文件。提示:凌阳大学计划网站下载专区中,提供“语音素材大全”。,凌阳音频播放过程,第二步:语音压缩 此过程主要是将Wave文件转成凌阳音频格式文件。凌阳大学计划网站下载专区提供“语音压缩工具”。开发板或者实验箱配送的光盘中也包含“语音压缩工具”。,凌阳音频播放过程,语音压缩工具的使用,压缩工具主界面,用户可以选择压缩多个文件和单个文件,默认是单个文件,压缩工具使用,通过浏览按钮选择压缩的Wave文件,点击下一步,压缩工具使用,压缩后生成文件存储路径,选择压缩算法,选择该算法编码率,选择结束后,点击“压缩”。压缩结束后,点击“下一步”,压缩

6、工具使用,压缩前文件名称、大小和属性,压缩后文 件名称、大小和压缩算法,双击压缩前后的文件名称会有该文件的声音播放,用户对比压缩前后语音音质的变化。,第三步:语音播放第三步是SPCE061A通过编程来实现的。下面结合举例介绍,凌阳音频播放过程,结合流程举例介绍,了解凌阳音频库函数:【API格式】C:void SACM_A2000_Initial(int Init_Index)ASM:R1=Init_Index Call F_ SACM_A2000_Initial【功能说明】SACM_A2000语音播放之前的初始化。【参 数】Init_Index=0 表示手动方式;Init_Index=1 则表

7、示自动方式。【返 回 值】无【备 注】该函数用于对定时器、中断和DAC等的初始化。,采用SACM_A2000播放语音,了解凌阳音频库函数:【API格式】C:void SACM_A2000_ServiceLoop(void)ASM:Call F_ SACM_A2000 _ServiceLoop【功能说明】从资源中获取SACM_A2000语音资料,并将其填入译码队列中。【参 数】无。【返 回 值】无。,采用SACM_A2000播放语音,了解凌阳音频库函数:3)【API格式】C:void SACM_A2000_Play(int Speech_Index,int Channel,int Ramp_Se

8、t);ASM:R1=Speech _Index R2=Channel R3=Ramp_Set Call SACM_A2000_Play【功能说明】播放资源中SACM_A2000语音或乐曲。,采用SACM_A2000播放语音,【参数】Speech _Index:表示语音索引号。Channel:1.通过DAC1通道播放;2.通过DAC2通道播放;3.通过DAC1和DAC2双通道播放。Ramp_Set:0.禁止音量增/减调节;1.仅允许音量增调节;2.仅允许音量减调节;3.允许音量增/减调节。【返 回 值】无。,了解凌阳音频库函数:【API格式】ASM:F_FIQ_Service_ SACM_A20

9、00 Call F_FIQ_Service_ SACM_A2000【功能说明】SACM_A2000语音播放。【参 数】无【返 回 值】无【备 注】中断服务子程序F_FIQ_Service_ SACM_A2000 必须安置在TMA_FIQ中断向量上,采用SACM_A2000播放语音,程序流程图:,采用SACM_A2000播放语音,编写代码:第一步:新建项目文件,项目文件名称为SACM2000,如果不知新建项目方法的用户,请参考“如何进行产品开发”部分介绍,采用SACM_A2000播放语音,编写代码:第二步:新建C文件,文件名称为main,采用SACM_A2000播放语音,编写代码:第三步:编写主

10、函数代码#include“A2000.h”/包含用A2000函数的头文件main()SACM_A2000_Initial(1);/采用A2000语音播放初始化 SACM_A2000_Play(0,3,3);/播放音乐while(SACM_A2000_Status()/清看门狗,防止看门狗复位,采用SACM_A2000播放语音,编写代码:第三步:编写主函数代码,编辑器界面,采用SACM_A2000播放语音,编写代码:第四步:新建汇编文件,汇编文件名称为isr,采用SACM_A2000播放语音,编写代码:第四步:开始编写汇编代码.text.include hardware.inc/包含SPCE06

11、1A硬件声明头文件.include A2000.inc/包含用A2000函数的头文件.public _FIQ;/声明中断入口函数_FIQ:PUSH R1,R4 to sp;/寄存器入栈 R1=0 x2000;test R1,P_INT_Ctrl;/判断是否是定时器A中断jnz L_FIQ_TimerA;R1=0 x0800;test R1,P_INT_Ctrl;/判断是否是定时器B中断jnz L_FIQ_TimerB;L_FIQ_PWM:R1=C_FIQ_PWM;/进入PWM中断P_INT_Clear=R1;/清除PWM中断标志POP R1,R4 fromsp;/出栈恢复RETI,采用SACM

12、_A2000播放语音,编写代码:第四步:开始编写汇编代码,L_FIQ_TimerA:/进入定时器A中断P_INT_Clear=R1;/清除定时器A中断标志call F_FIQ_Service_SACM_A2000;/将语音送到DAC通道pop R1,R4 from sp;/出栈恢复RETI;/中断返回L_FIQ_TimerB:/进入定时器B中断P_INT_Clear=R1;/清除定时器B中断标志pop R1,R4 from sp;/出栈恢复RETI;/中断返回,采用SACM_A2000播放语音,编写代码:第四步:编写汇编代码,编辑器界面,采用SACM_A2000播放语音,添加语音资源文件(即通

13、过压缩工具压缩后的文件):,第一步:点击Watch窗口(图1)的页签ResourceView,进入 ResourceView窗口(图2),图1,图2,采用SACM_A2000播放语音,添加语音资源文件(即通过压缩工具压缩后的文件):,第二步:点击“SACM2000 resource”,右击鼠标,会弹出下拉菜单,选择“Add Files to Folder”,采用SACM_A2000播放语音,添加语音资源文件(即通过压缩工具压缩后的文件):,第三步:弹出窗口,选择压缩后的语音文件。,选择语音文件后,点击“打开”,则语音文件添加到资源文件中,采用SACM_A2000播放语音,添加hardware.

14、asm文件:方法:在FileView窗口中,点击Source Files右击,选择添加文件,会弹出添加文件窗口。Hardware.asm在IDE182/inlcude文件夹中。打开。,采用SACM_A2000播放语音,拷贝库文件和头文件到a2000项目文件中:代码中用到库文件为sacmV25.lib。库文件所在地路径为:IDE182/library 代码中用到的头文件:a2000.h;a2000.inc,hardware.inc 头文件所在路径为:IDE182/include,采用SACM_A2000播放语音,连接库文件:方法:点击 Project/setting/link,采用SACM_A2

15、000播放语音,连接库文件:方法:点击library modules 的浏览按钮,到SACM2000项目文件路径下,找到SACMV25.lib.打开。,点击OK,连接库结束,采用SACM_A2000播放语音,编译:,输出窗口会有错误提示,缺少A2000SPEECH表,采用SACM_A2000播放语音,添加SPEECH表方法:双击resource.asm文件,会弹出该文件窗口,采用SACM_A2000播放语音,添加SPEECH表方法:双击resource.asm文件,会弹出该文件窗口,在“end table”后添加:.public T_SACM_A2000_SpeechTable T_SACM_

16、A2000_SpeechTable:.dw _RES_CC_24K_SA/0注释:1、_RES_CC_24K_SA,是用户添加的资源文件,在resource.asm文件中已经有声明。2、/0;0表示的是Speech_Index.如果表中添加其他资源文件地址声明,顺序向上累加,1、2、。,采用SACM_A2000播放语音,编译:,编译通过。,采用SACM_A2000播放语音,下载:选择probe。方法:点击工具栏中的 会弹出对话框,根据实际情况,如果使用的是 EZ probe则选择 EZ probe,采用SACM_A2000播放语音,下载:61板硬件连接,参考61板自检部分介绍,点击工具栏中的 程序被下载到SPCE061A中。,点击工具栏中的 喇叭会有声音,就是你压缩的语音文件或者你自己录制的声音。,采用SACM_A2000播放语音,利用SPCE061A播放语音介绍完了,同学,您学会了吗?,如果有什么问题,欢迎到网站技术论坛提出,我们会为您详细解答。,http:/,参考内容,更多、更详细资料SPCE061A书、IDE环境光盘和技术手册更多、更丰富的实验内容实验指导书更方便、快捷的阅览方式大学计划网站之下载专区联系我们:E-mail:网址:,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号