1、第15章数字存储式录音系统引子 你知道留声机吗?单声道录放音是什么?我们是否可以自己做个录音机?15.1 项目目标本次项目中,尝试做一台的单声道录音机。使用声音采集与回放模块,采集、保存、回放声音信号。存储和回放的声音文件的格式为wav格式。要求实现:声音文件的播放、声音文件录制及回放、播放中可以随时暂停及播放的声音可以改变。通过本项目的设计、实施,要求学生:(1)了解并掌握压电集成电路(IEPE),如麦克风、加速计等的使用;(2)进一步深入了解并掌握前面板设计技巧(自定义控件、装饰选板、属性节点);(3)掌握声音文件的存储、读取;(4)掌握使用NI-DAQmx实现对连续声音信号的采集、声音文
2、件的输出;(5)掌握带事件结构的状态机架构的使用。15.2 项目分析 本项目要求实现数字式存储录放音系统的模拟,从项目目标知该系统要具备录音、放音、存储、随时暂停及音亮的调节。整个系统可分为以下几个任务:(1)完成录音、放音硬件电路设计;(2)完成声音信号采集及存储程序设计;(3)完成回放录制的声音文件程序设计。15.3 任务一 录音播放系统硬件电路设计15.3.1 15.3.1 相关知相关知识识1驻极体麦克风2扬声器15.3.2 15.3.2 硬件电路设计硬件电路设计15.3 任务一 录音播放系统硬件电路设计 压电集成电路(IEPE)是一种附带内置放大器的传感器。由于一些传感器产生的电量很小
3、,因此传感器产生的电信号容易受到噪声干扰,需要用灵敏的电子器件对其进行放大和信号调理。IEPE传感器集成了灵敏的电子器件,使其尽量靠近传感器以保证更好的抗噪声性并更容易封装。常见的压电式传感器有:加速计、力传感器、麦克风、常见的压电式传感器有:加速计、力传感器、麦克风、速度传感器等。速度传感器等。15.3.1 相关知识 驻极体话筒,其外观如图片15-1所示由声电转换和阻抗变换两部分组成。声电转换的关键元件是驻极体振动膜。它是一片极薄的塑料膜片,在其中一面蒸发上一层纯金薄膜。然后再经过高压电场驻极后,两面分别驻有异性电荷。膜片的蒸金面向外,与金属外壳相连通。膜片的另一面与金属极板之间用薄的绝缘衬
4、圈隔离开。这样,蒸金膜与金属极板之间就形成一个电容。当驻极体膜片遇到声波振动时,引起电容两端的电场发生变化,从而产生了随声波变化而变化的交变电压。驻极体膜片与金属极板之间的电容量比较小,一般为几十pF。因而它的输出阻抗值很高(Xc12fC),约几十兆欧以上。这样高的阻抗是不能直接与音频放大器相匹配的。所以在话筒内接入一只结型场效应晶体三极管来进行阻抗变换。1驻极体麦克风 场效应管的特点是输入阻抗极高、噪声系数低。普通场效应管有源极(S)、栅极(G)和漏极(D)三个极。这里使用的是在内部源极和栅极间再复合一只二极管的专用场效应管。接二极管的目的是在场效应管受强信号冲击时起保护作用。场效应管的栅极
5、接金属极板。驻极体话筒的输出线便有三根。即源极S,一般用蓝色塑线;漏极D,一般用红色塑料线和连接金属外壳的编织屏蔽线。2扬声器 扬声器又称“喇叭”。是一种十分常用的电声换能器件,在发声的电子电气设备中都能见到它,其外观如图15-2所示。当不同的电子能量传至线圈时,线圈产生一种能量与磁铁的磁场互动,这种互动造成纸盘振动,因为电子能量随时变化,喇叭的线圈会往前或往后运动,因此喇叭的纸盘就会跟着运动,这此动作使空气的疏密程度产生变化而产生声音。15.3.2 硬件电路设计音频功率放大器选用TDA2822D,TDA2822D为双声道音频功率放大器,此处仅用了一个声道,因此将另一未用的5、6号引脚接地。铂
6、电阻RTD是常用的热电阻之一。其物理、化学稳定性好。电阻与温度之间有很好的线性关系。铂电阻在0-850范围内,电阻Rt和温度T的关系可表示为:Rt=R0*(1+A*T+B*T2)式中 Rt温度为T时的铂电阻阻值 R0温度为0是铂电阻的阻值 A常数,A=3.9083*10-3-1 B常数,B=-5.775*10-7-115.4 任务二 声音文件存储和读取 文件IO的程序编写思路和数据采集程序是类似:打开资源读写操作关闭资源简单错误处理。文件保存最常用的数据格式有二进制、ASCII码、NI自带的TDMS数据保存格式。图15-4是文件IO函数选板,其选择路径为:函数选板 编程文件I/O。使用者可以根
7、据需要保存的数据类型选择不同的VI。声音文件存储和读取是另一种保存类型,其相关函数选板如图15-5所示,选择路径为:函数选板编程图形与声音声音文件。声音文件保存的线程为:文件对话框VI打开声音文件写入声音文件关闭声音文件简单错误处理。声音文件读取的线程为:声音文件信息打开声音文件读取声音文件关闭声音文件简单错误处理,其程序框图如图所示。其中读取声音文件VI中数据端(输出信号)可以连接至AO线程的波形输出的VI(DAQmx write),即可实现声音文件的播放。15.5 任务三 声音信号采集程序设计 本次项目设计中涉及的声音信号,属于模拟信号,故无论采集还是回放都是使用模拟通道来完成软硬件交互。
8、声音信号采集与存储程序框图如图所示。注意使用通道的选择,注意是差分或是单端的连接方式;注意采样率的设置,人的发声频率在100Hz(男低音)到10000Hz(女高音)范围内,由人类发出的声音信号中,频率超过5 kHz的成分通常非常小。此处用的采样率22050Hz,满足采集定理,同时要注意是否在采集卡的允许的采样率内;注意每通道的读取点数(通常是采样率的1/10左右)。15.6 15.6 任务四任务四 声音文件播放程序设计声音文件播放程序设计声音文件播放包含了两部分:(1)读取声音文件;(2)将声音文件通过PCI6221的AO1输出给扬声器。程序上半部分为声音文件的读取,下半部分为声音信号的输出。
9、15.7 15.7 项目实现项目实现15.7.1 15.7.1 前面板设前面板设计计1磁带动态效果设计2前面板窗口外观15.7.2 15.7.2 程序框图设计程序框图设计 15.7.1 15.7.1 前面板设计前面板设计 前面板的设计中运用了Tab控件、装饰、自定义控件和属性节点。自定义控件是每个项目设计中都推荐大家使用的功能。对于美化界面,加强程序的示意性都很有帮助。图15-11中录音磁带的图像是从一个动图上截取的。在如图15-10所示的前面板为实现录音或放音时磁带的一动态效果,采用在动图上覆盖和动图一样的自定义控件。当需要显示动图转动效果的时候,将自定义控件隐藏;当要动图停止转动时,显示自
10、定义控件遮挡动图。1磁带动态效果设计图15-11 控件修饰(自定义控件)制作好的磁带外观的自定义控件是用来遮挡动图的,那么如何实现自定义控件的隐藏与否,需要使用控件的属性节点。控件的属性节点的创建选板中,有一个选项为可见性(visible),选择该选项。属性节点的创建:右击控件创建属性节点可见。2前面板窗口外观在菜单栏中,文件VI属性,在弹出的对话框中选择:窗口外观,如图15-13左下方的配置选项中,可选择顶层应用程序窗口、对话框、默认、自定义。若选择自定义,则按下 自定义,弹出自定义窗口外观对话框,使用者可根据需要对其进行设置。15.7.2 15.7.2 程序框图设计程序框图设计 根据本次项
11、目设计要求,理清楚需要做哪些步骤。系统分为两个功能,一部分是录音,一部分是回放音频。无论是录音还是播放,都需要文件操作,故在硬件动作之前,需要选定合适的文件路径,然后配置硬件资源,录制音频或播放音频,使用模拟信号采集通道或模拟信号生成通道,完成系统设计在第一种方式中,每次循环的运行需要经过一个事件结构才能够实现case中各个分支的运行,通常会将case结构放于超时事件帧中,它从本质上而言仍然是一种事件结构。在第二种方式中,程序的主体是一个状态机结构,不同的是在某一个状态分支中有一个事件结构。在状态机模式中很多时间会设置一“空闲Idle”状态,这是长时间占用CPU资源的源头,如果在Idle中加入
12、一个事件结构后就有效地规避了这个问题。图15-15 带事件结构的状态机架构 本项目中采用第一种方式,在While循环中使用事件结构,用来响应界面按钮。在事件结构的超时帧中使用状态机,在界面无响应时,程序进入超时帧中执行状态机中的某个状态,通过移位寄存器+枚举类型来传递跳转状态。思考题15-1 声音文件存储、读取包含哪些步骤?并参照图15-6及图15-7编程实现。15-2 根据图15-14完成录放音系统程序框图设计,并完成调试。15-3 如何实现音量的实时修改,请修改图14-9的程序?15-4 如想实现随时暂停的功能,若不使用状态机,实现容易吗?15-5 简述数据采集系统中模拟量输出通道的核心线程包含那些DAQmx VI?15-6 带事件结构的状态机有哪两种组合方式?请分别用这两种方式来编写程序实现本项目的功能。