声音采集与回放Word下载.docx
《声音采集与回放Word下载.docx》由会员分享,可在线阅读,更多相关《声音采集与回放Word下载.docx(47页珍藏版)》请在冰豆网上搜索。
1.2设计方案
方案一:
SPCE061A有8路可复用10位ADC通道,其中一路通道(MIC_In)用于语音输入,模拟信号经过自动增益控制器和放大器放大后进行A/D转换。
SPCE061A的A/D转换范围是整个单片机系统的输入范围,即最大的模拟信号输入电压范围:
0V~AVdd。
非法的A/D模拟信号(超过VDD+0.3V/低于VSS–0.3V)将影响转换电路的工作范围,从而降低ADC的性能。
方案一使用SPCE061A单片机自带的MicIN输入,利用单片机芯片内部的AGC自动增益控制器和放大器,从而节省了外围的音频输入电路及相应的音频滤波电路,使系统的硬件电路大大简化。
软件实现方面就是利用凌阳SACM库提供的DVR函数进行录放,DVR函数具有良好的API用户接口,只要了解各个函数的功能和参数即可,录音放音过程实现简单。
录音资料存放到外挂的存储器HM628128LLPSRAM中。
播放时,从HM628128SRAM中读取语音数据,通过SPCE061A自带的DAC进行播放。
原理框图如图1.1:
图1.1MIcIN输入原理框图
方案二:
使用SPCE061A单片机自带的MicIN输入,不使用凌阳SACM库提供的DVR函数,直接将ADC的结果进行数字滤波,然后存放到外挂的存储器HM628128中,播放时从外围存储器HM628128中读取数据,直接送到SPCE061A自带的DAC进行播放。
这个方案的硬件和方案一相似,只要求外围存储器容量要大,因为语音数据没有经过压缩,而是直接存储到存储器中。
两者的区别在软件方面。
本方案的原理框图也如方案一所示。
方案三:
SPCE061A有8路可复用10位ADC通道,其余7路通道(Line_In)和IOA[0~6]管脚复用,可以直接通过引线(IOA[0~6])输入,用于将输入的模拟信号(如电压信号)转换为数字信号。
由于Line_In通道和IOA[0~6]共用管脚,建议用户选择其他的IO管脚(非IOA[0~6]),以避免由于非法IO信号造成电压不稳(超过VDDIO+0.7V/低于VSSIO-0.7V)而降低ADC的性能。
方案三使用SPCE061A单片机自带的LineIN输入,要求外置音频输入通道放大器,将ADC的结果进行数字滤波,然后存放到凌阳存储器SPR4096中,播放时从SPR4096中读取数据,经过外置的输出音频放大器直接送到SPCE061A自带的DAC进行播放。
本方案的原理框图如图1.2:
图1.2LineIN输入原理框图
1.3方案选择
方案比较:
因为SPCE061A的MicIN通道内置了带AGC的放大电路,而LineIN通道需要在芯片外围搭建这部分电路,使得方案三的硬件比方案一和方案二多,而且带AGC的放大电路也不是很好调的,所以,方案一和方案二比方案三更容易实现,效果也更好。
方案一和方案二比较,方案一利用凌阳SACM库提供的DVR函数进行录放,只要了解了DVR函数的功能,参数,和调用方法,这就很容易实现,效果也好。
而方案二在软件方面要编写数字滤波程序,加大了设计任务的复杂性和繁重性。
综上所述,方案一最优,方案二次之,方案三最差。
从节省系统的成本,选择合适的实现难度以及构建系统的时间紧迫性方面综合考虑,本录音系统最终选择方案一。
2录音系统的音频信号处理
2.1音频信号处理基础
2.1.1音频的概述(特点,分类)
我们所说的音频是指频率在20Hz~20kHz的声音信号,分为:
波形声音、语音和音乐三种,其中波形声音就是自然界中所有的声音,是声音数字化的基础。
语音也可以表示为波形声音,但波形声音表示不出语言、语音学的内涵。
语音是对讲话声音的一次抽象。
是语言的载体,是人类社会特有的一种信息系统,是社会交际工具的符号。
音乐与语音相比更规范一些,是符号化了的声音。
但音乐不能对所有的声音进行符号化。
乐谱是符号化声音的符号组,表示比单个符号更复杂的声音信息内容。
2.1.2数字音频的采样和量化
将模拟的(连续的)声音波形数字元化(离散化),以便利数字计算机进行处理的过程,主要包括采样和量化两个方面。
数字音频的质量取决于:
采样频率和量化位数这两个重要参数。
此外,声道的数目、相应的音频设备也是影响音频质量的原因。
2.1.3音频格式的介绍
音频文件通常分为两类:
声音文件和MIDI文件
*声音文件:
指的是通过声音录入设备录制的原始声音,直接记录了真实声音的二进制采样数据,通常文件较大;
*MIDI文件:
它是一种音乐演奏指令序列,相当于乐谱,可以利用声音输出设备或与计算机相连的电子乐器进行演奏,由于不包含声音数据,其文件尺寸较小。
(1)声音文件的格式
①WAVE文件——*.WAV
WAVE文件使用三个参数来表示声音,它们是:
采样位数、采样频率和声道数。
在计算机中采样位数一般有8位和16位两种,而采样频率一般有11025Hz(11KHz),22050Hz(22KHz)、44100Hz(44KHz)三种。
我们以单声道为例,则一般WAVE文件的比特率可达到88K~704Kbps。
具体介绍如下:
*WAVE格式是Microsoft公司开发的一种声音文件格式,它符合RIFF(ResourceInterchangeFileFormat)文件规范;
*用于保存Windows平台的音频信息资源,被Windows平台及其应用程序所广泛支持。
*WAVE格式支持MSADPCM、CCITTALaw、CCITTμLaw和其它压缩算法,支持多种音频位数、采样频率和声道,是PC机上最为流行的声音文件格式。
*但其文件尺寸较大,多用于存储简短的声音片段。
②AIFF文件——AIF/AIFF
*AIFF是音频交换文件格式(AudioInterchangeFileFormat)的英文缩写,是苹果计算机公司开发的一种声音文件格式;
*被Macintosh平台及其应用程序所支持,NetscapeNavigator浏览器中的LiveAudio也支持AIFF格式,SGI及其它专业音频软件包同样支持这种格式。
*AIFF支持ACE2、ACE8、MAC3和MAC6压缩,支持16位44.1Kz立体声。
③Audio文件——*.Audio
*Audio文件是SunMicrosystems公司推出的一种经过压缩的数字声音格式,是Internet中常用的声音文件格式;
*NetscapeNavigator浏览器中的LiveAudio也支持Audio格式的声音文件。
④MPEG文件——*.MP1/*.MP2/*.MP3
*MPEG是运动图像专家组(MovingPictureExpertsGroup)的英文缩写,代表MPEG标准中的音频部分,即MPEG音频层(MPEGAudioLayer);
*MPEG音频文件的压缩是一种有损压缩,根据压缩质量和编码复杂程度的不同可分为三层(MPEGAudioLayer1/2/3),分别对应MP1、MP2和MP3这三种声音文件;
*MPEG音频编码具有很高的压缩率,MP1和MP2的压缩率分别为4:
1和6:
1~8:
1,而MP3的压缩率则高达10:
1~12:
1,也就是说一分钟CD音质的音乐,未经压缩需要10MB存储空间,而经过MP3压缩编码后只有1MB左右,同时其音质基本保持不失真,因此,目前使用最多的是MP3文件格式。
⑤RealAudio文件——*.RA/*.RM/*.RAM
*RealAudio文件是RealNerworks公司开发的一种新型流式音频(StreamingAudio)文件格式;
*它包含在RealMedia中,主要用于在低速的广域网上实时传输音频信息;
*网络连接速率不同,客户端所获得的声音质量也不尽相同:
对于28.8Kbps的连接,可以达到广播级的声音质量;
如果拥有ISDN或更快的线路连接,则可获得CD音质的声音。
(2)MIDI文件——*.MID/*.RMI
①MIDI是乐器数字接口(MusicalInstrumentDigitalInterface)的英文缩写,是数字音乐/电子合成乐器的统一国际标准;
②它定义了计算机音乐程序、合成器及其它电子设备交换音乐信号的方式,还规定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传输的协议,可用于为不同乐器创建数字声音,可以模拟大提琴、小提琴、钢琴等常见乐器;
③在MIDI文件中,只包含产生某种声音的指令,这些指令包括使用什么MIDI设备的音色、声音的强弱、声音持续多长时间等,计算机将这些指令发送给声卡,声卡按照指令将声音合成出来,MIDI在重放时可以有不同的效果,这取决于音乐合成器的质量;
④相对于保存真实采样资料的声音文件,MIDI文件显得更加紧凑,其文件尺寸通常比声音文件小得多。
2.1.4语音压缩编码基础
语音压缩编码中的数据量是指:
数据量=(采样频率×
量化位数)/8(字节数)×
声道数目。
压缩编码的目的:
通过对资料的压缩,达到高效率存储和转换资料的结果,即在保证一定声音质量的条件下,以最小的资料率来表达和传送声音信息。
压缩编码的必要性:
实际应用中,未经压缩编码的音频资料量很大,进行传输或存储是不现实的。
所以要通过对信号趋势的预测和冗余信息处理,进行资料的压缩,这样就可以使我们用较少的资源建立更多的信息。
举个例子,没有压缩过的CD品质的资料,一分钟的内容需要11MB的内存容量来存储。
如果将原始资料进行压缩处理,在确保声音品质不失真的前提下,将数据压缩一半,5.5MB就可以完全还原效果。
而在实际操作中,可以依需要来选择合适的算法。
常见的几种音频压缩编码:
(1)波形编码:
将时间域信号直接变换为数字代码,力图使重建语音波形保持原语音信号的波形形状。
波形编码的基本原理是在时间轴上对模拟语音按一定的速率抽样,然后将幅度样本分层量化,并用代码表示。
译码是其反过程,将收到的数字序列经过译码和滤波恢复成模拟信号。
如:
脉冲编码调制(PulseCodeModulation,PCM)、差分脉冲编码调制(DPCM)、增量调制(DM)以及它们的各种改进型,如自适应差分脉冲编码调制(ADPCM)、自适应增量调制(ADM)、自适应传输编码(AdaptiveTransferCoding,ATC)和子带编码(SBC)等都属于波形编码技术。
波形编码特点:
高话音质量、高码率,适于高保真音乐及语音。
(2)参数编码:
参数编码又称为声源编码,是将信源信号在频率域或其它正交变换域提取特征参数,并将其变换成数字代码进行传输。
译码为其反过程,将收到的数字序列经变换恢复特征参量,再根据特征参量重建语音信号。
具体说,参数编码是通过对语音信号特征参数的提取和编码,力图使重建语音信号具有尽可能高的准确性,但重建信号的波形同原语音信号的波形可能会有相当大的差别。
如:
线性预测编码(LPC)及其它各种改进型都属于参数编码。
该编码比特率可压缩到2Kbit/s-4.8Kbit/s,甚至更低,但语音质量只能达到中等,特别是自然度较低。
参数编码特点:
压缩比大,计算量大,音质不高,廉价!
(3)混合编码:
混合编码使用参数编码技术和波形编码技术,计算机的发展为语音编码技术的研究提供了强有力的工具,大规模、超大规模集成电路的出现,则为语音编码的实现提供了基础。
80年代以来,语音编码技术有了实质性的进展,产生了新一代的编码算法,这就是混合编码。
它将波形编码和参数编码组合起来,克服了原有波形编码和参数编码的弱点,结合各自的长处,力图保持波形编码的高质量和参数编码的低速率。
多脉冲激励线性预测编码(MPLPC),规划脉冲激励线性预测编码(KPELPC),码本激励线性预测编码(CELP)等都是属于混合编码技术。
其数据率和音质介于参数和波形编码之间。
总之,音频压缩技术之趋势有两个:
(1)降低资料率,提高压缩比,用于廉价、低保真场合(如:
电话)。
(2)追求高保真度,复杂的压缩技术(如:
CD)。
按照实现的功能来分,语音合成可分两个档次:
(1)有限词汇的计算机语音输出
(2)基于语音合成技术的文字语音转换(TTS:
Text-to-Speech)
按照人类语言功能的不同层次,语音合成可分为三个层次:
(1)从文字到语音的合成(Text-to-Speech)
(2)从概念到语音的合成(Concept-to-Speech)
(3)从意向到语音的合成(Intention-to-Speech)
2.2凌阳音频简介
2.2.1凌阳音频压缩算法的编码标准
表2.1是不同音频质量等级的编码技术标准(频响):
表2.1音频质量压缩标准
信号类型
频率范围(Hz)
采样率(KHz)
量化精度(位)
电话话音
200-3400
8
宽带音频(AM)
50-7000
16
16
调频广播(FM)
20–15K
37.8
高质量音频(CD)
20–20K
44.1
凌阳音频压缩算法处理的语音信号的范围是200Hz-3.4KHz的电话话音。
2.2.2压缩分类
压缩分无损压缩和有损压缩。
无损压缩一般指:
磁盘文件,压缩比低:
2:
1~4:
1。
而有损压缩则是指:
音/视频文件,压缩比可高达100:
凌阳音频压缩算法根据不同的压缩比分为以下几种(具体可参见语音压缩工具一节内容):
SACM-A2000:
压缩比为8:
1,8:
1.25,8:
1.5
SACM-S480:
压缩比为80:
3,80:
4.5
SACM-S240:
按音质排序:
A2000>
S480>
S240
2.2.3凌阳常用的音频形式和压缩算法
sub-band即SACM-A2000
特点:
高质量、高码率,适于高保真语音/音乐。
声码器(vocoder)模型表达,抽取参数与激励信号进行编码。
SACM-S240。
CELP即SACM-S480
综合参数和波形编码之优点。
除此之外,还具有FM音乐合成方式即SACM-MS01。
2.2.4凌阳语音的播放、录制、合成和辨识
凌阳的SPCE061A是16位单片机,具有DSP功能,有很强的信息处理能力,最高时钟频率可达到49MHz,具备运算速度高的优势等等,这些都无疑为语音的播放、录放、合成及辨识提供了条件。
凌阳压缩算法中SACM_A2000、SACM_S480、SACM_S240主要是用来放音,可用于语音提示,而DVR则用来录放音。
对于音乐合成MS01,该算法较繁琐,而且需要具备音乐理论、配器法及和声学知识,所以对于特别爱好者可以到我们的网站去了解相关内容,这里只给出它的API函数介绍及程序代码的范例,仅供参考。
对于语音辨识主要有以下两种:
(1)特定发音人识别SD(SpeakerDependent):
是指语音样板由单个人训练,也只能识别训练人的语音命令,而他人的命令识别率较低或几乎不能识别。
(2)非特定发音人识别SI(SpeakerIndependent):
是指语音样板由不同年龄、不同性别、不同口音的人进行训练,可以识别一群人的命令。
3硬件电路设计
3.1凌阳61板电路原理
3.1.1凌阳61板硬件框图及主要说明
下图是61板系统的系统框图:
图3.1凌阳61板结构图
下表对系统各部分作简要的介绍:
表3.1凌阳61板的框图说明
POWER
5V或者3V供电电路
PLL
锁相环外部电路
Power-电源指示灯
Sleep-睡眠指示灯
RESET
复位电路
K4
复位按键
PROBE
在线调试器串行5PIN接口
S5
EZ-PROBE和PROBE切换开关
J12,J3
耳机插孔和两PIN喇叭插针
J11
下载线的5PIN接口
DAC
一路音频输出电路,采用SPY0030集成音频放大器
MIC
麦克风输入电路
OSC
32768晶振电路
VRT
A/D转换外部参考电压输入接口
R/C
芯片其他外围电阻,电容电路
K1-K3
扩展的按键:
接IOA0-IOA2
PORTA/B
32个I/O口
3.1.2凌阳61板功能特点
*具有DSP功能、语音特色的凌阳十六位单片机开发系统。
*集开发板仿真器和编程器于一体。
只需PC机即可进行产品开发,同时免费提供原版集成开发环境。
*不需任何外围器件就可以完成语音录、放、识别等功能。
*所有I/O全部引出,可以和用户外部电路直接搭配。
*多种电源供电方式,使用户使用更加方便。
3.2凌阳61板硬件电路组成
3.2.1电源
61板采用3节5号电池进行供电,由J10接入,如原理图所示。
其中的前后两组电容用来去耦滤波,使其供给芯片的电源更加干净平滑。
为了获得标准的3.3V电压,在板子上加入SPY0029三端稳压器。
两个二极管,是为防止误将电源接反造成不必要损失而设置的,在操作过程中千万不要将电源接反,因为反向电压超过一定的值,二极管将会被损坏,达不到保护的目的。
后面的零电阻及其电源、地分成不同的几路是为减少电磁干扰设置的。
图3.2电源部分原理图
3.2.2程序下载区
ICE基本运作方式是通过控制clock及通过ICE喂入指令方式,来控制CPU的运行及缓存器资料和内存资料的存取,因此必须透过控制缓存器值的设定来控制目前CPU的动作.
每个相连接的不同ICE模块都拥有自己独特的3-bitID,当PC在传送control信号时都会先传送该3-bitID,只有ICE本身的ID和control信号的ID相同时才会执行该命令或回传资料。
61板上的74HC244主要在我们选用下载线的时候起作用,主要起缓存的作用和完成SDA是作为数据回送还是数据下传的选择。
图3.3下载区原理图
3.2.3音频输入部分
如下图所示电路,MICP和MICN将随着MIC产生的波形变化,并在两个端口处形成两路反相的波形,再经过两级运放放大,把放大的语音信号交给ADC转换为数字量,这个时候我们就可以通过单片机编程对这些数据进行处理,比如说语音数据压缩、语音识别样本处理。
图3.4音频输入外围电路
3.2.4音频输出部分
如下图,SPY0030是凌阳公司开发的专门用于语音信号放大的芯片,它的增益如下所示:
图3.5SPY0030工作原理图
3.2.5按键部分
按键是通过通断控制来实现它的功能,61板上的按键在没按下时,它的1、3脚是断开的,当按下时这两个脚是连通的。
若此时我们在1脚接一个高电平,把第三脚连到一个I/O口上,这就形成了一个人机操作界面,通过编程对I/O扫描,单片机就能识别到我们的按键命令。
图3.6按键原理图
3.3凌阳61板接口说明
3.3.1输入/输出(I/O)接口
61板将SPCE061A的32个I/O口全部引出:
IOA0~IOA15,IOB0~IOB15,对应的SPCE061A引脚为:
A口,41~48、53、54~60;
B口,5~1、81~76、68~64。
而且该I/O口是可编程的,即可以设置为输入或输出:
设置为输入时,分为悬浮输入或非悬浮输入,非悬浮输入又可以设置为上拉输入或是下拉输入;
在5V
情况下,上拉电阻为150K,下拉电阻为110K;
设置为输出时,可以选择同向输出或者反相输出。
图3.761板接口说明图
3.3.2音频输入/输出接口
正如我们在前面介绍的“61板”具有强大的语音处理功能,X1是语音的MIC输入端,带自动增益(AGC)控制,J3是语音输出接口,一个2pin的插针外接喇叭,由DAC输出引脚21或22经语音集成放大器SPY0030A放大,然后输出,SPY0030A是凌阳的一款芯片,相当于LM386,但是比LM386音质好,它可以工作在2.4~6.0V范围内,最大输出功率可达700mW(LM386必须工作