基于单片机的数码录音与播放系统设计-精品内容摘要:
(3) 页写流程图 (4)写结束判断流程图 ( 1)去掉写保护流程图 ( 2)片擦除流程图 系统结构图 图 36数码录音播放系统结构图 本系统包括按键部分、音频录入部分、音频输出部分和 W29C040 存储扩展等四部分。 按键部分:按键 1 开始语音录入 按键 2 停止录音,播放语音。 音频录入部分:主要是由 MIC、自动增益电路、 AD 转换电路构成,通过 MIC采样语音数据,并经内置自动增益电路处理、 AD 转换后,编码并存储到 W29C040 FLASH 中。 音频输出部分:主要是将 SPCE061A 两路音频输出端通过 LM386 放大,经喇叭播放。 W29C040 存储扩展部分:通过 SPCE061AIO 口的控制,将录音编码后的数据存储到 W29C040 中。 系统实现的功能:通过按键 1,开始录音,按键 2,结束录音并播放所录的语音。 播放结束后,可以继续录入下一段语音。 SPCE061A 与 W29C040 的硬件连接图 本系统硬件电路包括按键部分、音频录入部分、音频输出部分和 W29C040存储扩展等四部分电路。 音频录入部分详细电路图如图 37 图 37音频录入部分电路原理图 音频输出部分详细电路图如图 38 图 38音频输出部分原理图 第 4 章 软件系统的设计与实现 凌阳音频介绍 我们所说的音频是指频率在 20 Hz~ 20 kHz的声音信号,分为:波形声音、语音和音乐三种,其中波形声音就是自然界中所有的声音,是声音数字化的基础。 语音也可以表示为波形声音,但波形声音表示不出语言、语音学的内涵。 语 音是对讲话声音的一次抽象。 是语言的载体,是人类社会特有的一种信息系统,是社会交际工具的符号。 音乐与语音相比更规范一些,是符号化了的声音。 但音乐不能对所有的声音进行符号化。 乐谱是符号化声音的符号组,表示比单个符号更复杂的声音信息内容。 数字音频的采样和量化 将模拟的(连续的)声音波形数字元化(离散化),以便利数字计算机进行处理的过程,主要包括采样和量化两个方面。 数字音频的质量取决于:采样频率和量化位数这两个重要参数。 此外,声道的数目、相应的音频设备也是影响音频质量的原因。 音 频格式的介绍 音频文件通常分为两类:声音文件和 MIDI 文件 ( 1)声音文件:指的是通过声音录入设备录制的原始声音,直接记录了真实声音的二进制采样数据,通常文件较大; ( 2) MIDI 文件:它是一种音乐演奏指令序列,相当于乐谱,可以利用声音输出设备或与计算机相连的电子乐器进行演奏,由于不包含声音数据,其文件尺寸较小。 语音压缩编码基础 语音压缩编码中的数据量是指:数据量 =(采样频率 x 量化位数 )/8(字节数 ) x声道数目。 压缩编码的目的:通过对资料的压缩,达到高效率存储和转换资料的结果即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息。 压缩编码的必要性:实际应用中,压缩编码的音频资料量很大,进行传输或存储资料量是不现实的。 所以要通过对信号趋势的预测和冗余信息处理,进行资 料的压缩,这样就可以使我们用较少的资源建立更多的信息。 举个例子,没有压缩过的 CD 品质的资料,一分钟的内容需要 11MB 的内存容量来存储。 如果将原始资料进行压缩处理,在确保声音品质不失真的前提下,将数据压缩一半, 就可以完全还原效果。 而在实际操作中,可以依需要来选择合适的算法。 常见的几种音频压 缩编码: 1) 波形编码:将时间域信号直接变换为数字代码,力图使重建语音波形保持原语音信号的波形形状。 波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。 译码是其反过程,将收到的数字序列经过译码和滤波恢复成模拟信号。 如:脉冲编码调制 (pulse code modulation, PCM)、差值脉冲编码调制( DPCM)、增量调制 (DM)以及它们的各种改进型自适应差分编码( ADPCM)、自适应增量调制( ADM)、自适应差值脉冲编码调制 (ADPCM) 、自适应传输编 码( Adaptive Transfer Coding, ATC)和子带编码( SBC)等都属于波形编码技术。 波形编码特点:高话音质量、高码率,适于高保真音乐及语音。 2) 参数编码:参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。 译码为其反过程,将收到的数字序列经变换恢复特征参量,再根据特征参量重建语音信号。 具体说,参数编码是通过对语音信号特征参数的提取和编码,力图使重建语音信号具有尽可能高的准确性,但重建信号的波形同原语音信号的波形可能会有相当大的 差别。 参数编码特点:压缩比大,计算量大,音质不高,廉价。 3) 混合编码:混合编码使用参数编码技术和波形编码技术,计算机的发展为语音编码技术的研究提供了强有力的工具,大规模、超大规模集成电路的出现,则为语音编码的实现提供了基础。 80 年代以来,语音编码技术有了实质性的进展,产生了新一代的编码算法,这就是混合编码。 它将波形编码和参数编码组合 起来,克服了原有波形编码和参数编码的弱点,结合各自的长处,力图保持波形编码的高质量和参数编码的低速率。 如:多脉冲激励线性预测编码( MPLPC),规划脉冲激励线性预测 编码( KPELPC),码本激励线性预测编码( CELP)等都是属于混合编码技术。 其数据率和音质介于参数和波形编码之间。 总之,音频压缩技术之趋势有两个: 1)降低资料率,提高压缩比,用于廉价、低保真场合(如:电话)。 2)追求高保真度,复杂的压缩技术(如: CD)。 凌阳音频编码算法 表 41 音频质量等级的编码技术标准(频响): 表 41 频率范围( Hz)采样率( kHz)量化精度(位) 电话话音 200~3400 8 8 宽带音频( AM 质量) 50~7000 16 16 调频广播( FM 质量) 20~15k 16 高质量音频( CD 质量) 20~20k 16 凌阳音频压缩算法处理的语音信号的范围是 200HZ- 的电话话音。 4. 压缩分类 压缩分无损压缩和有损压缩 ,无损压缩一般指:磁盘文件,压缩比低: 2:1~ 4:1。 而有损压缩则是指:音/视频文件,压缩比可高达: 100:1。 凌阳音频压缩算法根据不同的压缩比分为以下几种 (具体可参见语音压缩工具一节内容 ): SACMA2020:压缩比为 8:1, 8:, 8: SACMS480: 压缩 比为 80:3, 80: SACMS240: 压缩比为 80: 4. 2. 2 凌阳常用的音频形式和压缩算法 1) 波形编码: subband 即 SACMA2020 特点:高质量、高码率,适于高保真语音/音乐。 2) 参数编码:声码器( vocoder)模型表达,抽取参数与激励信号进行编码。 如: SACMS240 特点:压缩比大,计算量大,音质不高,廉价。 3) 混合编码: CELP即 SACMS480 特点:综合参数和波形编码之优点。 除此之外 ,还具有 FM 音乐合成方式即 SACMMS01。 4. 2. 3 凌阳语音的播放、录制、合成和辨识 凌阳的 SPCE061A 是 16 位单片机,具有 DSP 功能,有很强的信息处理能力,最高时钟可达到 49M,具备运算速度高的优势等等,这些都无疑为语音的播放、录放、合成及辨识提供了条件。 凌阳压缩算法中 SACM_A20 SACM_S480、 SACM_S240 主要是用来放音,可用于语音提示,而 DVR 则用来录放音。 对于音乐合成 MS01,该算法较繁琐,而且需要具备音乐理论、配器法及和声学知识,所以对于特别爱好者可以到我们的网站去了解相关内容,这里只给出它的 API 函数 介绍及程序代码的范例,仅供参考。 对于语音辨识主要有以下两种: 1) 特定发音人识别 SD( Speaker Dependent):是指语音样板由单个人训练,也只能识别训练人的语音命令,而他人的命令识别率较低或几乎不能识别。 2) 非特定发音人识别 SI( Speaker Independent):是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。 语音识别电路基本结构如图 41 所示 : 滤除噪音预加重滤波器组 PARCOR 系数线性预测系数过零次数能量相关函数等模式匹配词典语音分析语 音识别结果输出 图 41 识别电路结构 语音录入使用介绍 SACMDVR 具有录音和放音功能,并采用 SACM_A2020 的算法,录音时采用 16K资料率及 8K 采样率获取语音资源,经过 SACM_A2020 压缩后存储在扩展的 SRAM 628128A 里,录满音后自动开始放音。 其相关 API 函数如下所示: int SACM_DVR_Initial(int Init_Index) //初始化 void SACM_DVR_ServiceLoop(void) //获取资料,填入译码队列 void SACM_DVR_Encode(void) //录音 SACM_DVR_StopEncoder()。 //停止编码 SACM_DVR_InitEncoder(RceMonitorOn) //初始化解码器 void SACM_DVR_Stop(void) //停止录音 void SACM_DVR_Play(void) //开始播放 unsigned int SACM_DVR _Status(void) //获取 SACM_DVR模块的状态 void SACM_DVR _InitDecode(void) //开始译码 void SACM_DVR _Decode(void) //获取语音资料并译码,中断播放 SACM_DVR_StopDecoder()。 //停止解码 unsigned int SACM_DVR _ TestQueue(void) //获取语音队列状态 int SACM_DVR _Fetchqueue(void) //获取录音编码数据 void SACM_DVR_FillQueue(unsigned int encodeddata) //填充 资料到语音队列,等待播放 int GetResource(long Address) —— (Manual) // 从资源文件里获取一个字型语音资料 中断服务函数: Call F_FIQ_Service_ SACM_DVR //playing Call F_IRQ1_Service_ SACM_DVR //recode 具体函数如下: 1) 【 API 格式】 C: void SACM_ DVR _Initial(int Init_Index) ASM: R1=[ Init_Index] Call F_ SACM_ DVR _Initial 【功能说明】 SACM_ DVR 语音播放之前的初始化:设置中断源、定时器以及播放方式(自动、手动) 【参数】 Init_Index=0 表示手动方式; Init_Index=1 则表示自动方式。 【返回值】无 【备注】 ① 对于 SACM_DVR 模块,需要一些 I/O 口来连接外部的 SRAM,用以存放录音资料。 ② 录放音的格式采用 SACM_A2020。 2) 【 API 格式】 C: void SACM_DVR_ServiceLoop(void) ASM: Call F_ SACM_DVR _ServiceLoop 【功能说明】在录音期间从 ADC 通道获取录音资料,且将其以 SACM_A2020格式进行编码后存入外接 SRAM 中;而在播放期间从 SRAM 中获取语音资料,对其进行解码,然后等候中断服务子程序将其送出 DAC 通道。 【参数】无。 【返回值】无。 3)【 API 格式】 C: void SACM_DVR_Encode(void); ASM: Call F_ SACM_DVR_ Encode 【功能说明】开始以自动方式录制声音资料到外接 SRAM 中。 【参数】无。 【返回 值】无。 【备注】该函数仅适用于 SACM_DVR 模块,且只有自动方式。 4)【 API 格式】 C: void SACM_DVR _Stop(void); ASM: Call F_ SACM_DVR _Stop 【功能说明】以自动方式停止录音。 【参数】无。 【返回值】无。 5)【 API 格式】 C: int SACM_DVR _Play(int Speech_Index, int Channel, int Ramp_Set); ASM: Call SACM_DVR _Play。基于单片机的数码录音与播放系统设计-精品
相关推荐
写模块,该模块可以应用于 W29C040 同系列的相关的芯片中。 W29C040 的介绍 W29C040DIP 封装芯片有 32 脚,电压为 5V,内部 512KI*8 位的快速闪存,它的结构为 256kb 为一页,单页擦写时间为 5ms,整片擦除时间 为 50ms。 如表 所示: 表 W29C040管脚表 管脚名称 功能描述 A0A18 地址的输入口 DQ0DQ7 数据的输入输出口 CE
92 小体积封装形式,温度测量范围为- 55℃~+ 125℃,可编程为 9 位~ 12 位 A/D 转换精度,测温分辨率可达 ℃,被测温度用符号扩展的 16 位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个 DS18B20 可以并联到 3 根或 2 根线上, CPU 只需一根端口线就能与多个 DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
根据机床精度的要求来确定。 对经济型数控机床来说,常采用的脉冲当量为 ,在CA6140 的技术参数中,要求纵向脉冲当量 fp 为。 横向脉冲当量为fp=。 纵向滚珠丝杠螺母副的副的型号选择与校核步骤 ( 1)最大工作荷载计算 滚珠 丝杠的工作载荷 Fm( N)是指滚珠丝杠副的在驱动工作台时滚珠丝 杠所承受的轴向力(进给牵引力)。
个 模 块 工作,并 进 行 简单 的 数毕业设计(论文) 6 字信 号处 理。 在整 个数 控直流恒流源系 统 中,主控器是系 统 的控制中心,其工作效率的高低 关 系到系 统 效率的高低以及系 统运 行的 稳 定性。 而 51 系列 单 片机具有成本低, 稳定性好,且 运 行速度基本能 满 足 该 系 统 的要求。 在本系 统 中, 将 采用 Atmel 公司的AT89S52。 此 单
器 F0H F7 F6 F5 F4 F3 F2 F1 F0 B E0H E7 E6 E5 E4 E3 E2 E1 E0 A D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW B8H BC PS BB PT1 BA PX1 B9 PT0 B8 PX0 IP B0H B7 B6 B5 B4 B3 B2 B1 B0 P3 A8H AF EA AC ES AB ET1 AA EX1 A9
526P 2627P 2728P S E N29A L E / P30T X D11R X D10I C 1A T 8 9C 5 1R21 0KR31 0KR41 0KV C CP 1. 0Y1C13 3P FC23 3P FV C CF U Z A 1B E L LabfcgdeDPY109 7 5 4 2 1a b c d e f g6dpdpcom3com8D P