北京理工大学虚拟仪器报告.docx

上传人:b****7 文档编号:11329771 上传时间:2023-02-27 格式:DOCX 页数:15 大小:883.65KB
下载 相关 举报
北京理工大学虚拟仪器报告.docx_第1页
第1页 / 共15页
北京理工大学虚拟仪器报告.docx_第2页
第2页 / 共15页
北京理工大学虚拟仪器报告.docx_第3页
第3页 / 共15页
北京理工大学虚拟仪器报告.docx_第4页
第4页 / 共15页
北京理工大学虚拟仪器报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

北京理工大学虚拟仪器报告.docx

《北京理工大学虚拟仪器报告.docx》由会员分享,可在线阅读,更多相关《北京理工大学虚拟仪器报告.docx(15页珍藏版)》请在冰豆网上搜索。

北京理工大学虚拟仪器报告.docx

北京理工大学虚拟仪器报告

实验报告

 

姓名:

学号:

班号:

专业:

电子信息类(实验班)

院系:

基础教育学院

时间:

2015年12月

 

基于LabVIEW的

双声道语音录制系统

目录:

一、设计任务

二、使用设备

三、任务分析

四、设计步骤

五、结论与展望

 

实验摘要:

此次实验要求设计一套语音信号录制系统:

PC机上的声卡作为音频信号采集硬件,使用者使用话筒录音,将声音信号由声卡输进计算机,然后由该系统采集音频信号,在最后程序结束以后将该音频文件保存为WAV文件存储到计算机中。

录音系统设计流程为:

设置声卡的工作模式和参数,为声卡的正常工作做准备;启动声卡采集输入的信号,并将其数字化,转换成计算机能处理的数据;将声卡采集获得的新数据显示出来,并将它添加到原有信号的存在数组中;停止声卡采集任务,释放占用的系统资源、并将采集的数据按指定格式进行保存。

声音质量为双声道;在开始采集前,操作者可根据实际需要,更改采样位数(8位和16位);

关键字:

多声道、采样位数可调、录音系统。

一、设计任务

1.内容

设计一套语音信号录制系统,即将PC机上的声卡作为音频信号采集硬件,使用者使用话筒录音,将声音信号由声卡输进计算机,然后由该系统采集音频信号,在最后程序结束以后将该音频文件保存为Wav文件存储到计算机。

2.要求:

a)声音质量为双声道;

b)在开始采集前,操作者可根据实际需要,更改采样位数(8位和16位);

c)按下”开始”按钮时,才开始采集声音;

d)在采集过程中,按下”暂定”按钮,暂定声音的采集,再次按下“暂定”按钮,继续采集声音。

e)按下“停止”按钮,停止采集声音,并弹出保存文件的对话框,保存成*.wav文件

f)在前面板上实时显示波形,并显示录音时间

二、使用设备

硬件组成:

计算机、声卡、话筒(MIC)

软件组成:

数据采集程序、数据处理程序及数据存储程序

三、任务分析

1、录音系统设计流程:

a)配置声卡(设置声卡工作模式和参数,为声卡正常工作做准备。

选择“声音输入设置”函数,在“声音格式”处创建“录音格式”输入控件,该控件为3元素簇,可以控制“声道”、“采样频率”、“采样位数”的输入。

)→b)采集信号(启动声卡采集声音信号,实现录音、暂停、停止功能,并将声音信号转换成计算机能够识别和处理的数字信号,作为后续程序的数据来源。

)—→c)数据处理(将声卡采集获得的新数据显示出来,并将它添加到原有信号的存在数组中)→d)关闭声卡(停止声卡采集任务,释放占用的系统资源。

并将采集的数据按指定格式进行保存)

信号处理

2、数据采集程序:

数据采集程序要实现的任务就是用软件控制声卡采集输入的信号,并将其转换为数字信号(即我们常说的数据)提供给后续程序处理。

它为后续程序提供了一个数据来源。

b)数据采集程序的流程:

数据采集程序实例:

3、数据处理程序:

任务:

实时波形显示,并将它添加到已有信号的存在数组中。

a)因为是实时显示采集信号的波形,因此我们需要用WaveformChart来实现;

b)将新信号添加到已有信号的数组中,可通过移位寄存器实现。

4、数据保存程序:

任务:

在最后程序结束以后,将该音频文件保存为Wav文件存到计算机。

(注:

有已经建好的“录音保存.VI”,可在D:

\ProgramFiles\NationalInstrument\Labview7.1\example\Sound\Sound.llb中调用,具体具体路径由安装LABVIEW软件的盘确定。

录音保存.VI:

 

5、局部变量

局部变量主要是解决数据和对象在同一VI程序中的复用问题

a)创建局部变量

b)设定局部变量状态(读操作和写操作)

c)逻辑型控制量使用局部变量时,要求其机械动作必须设为Switch状态。

暂停按钮:

采用case循环如下图:

四、设计步骤

1、创建前面板

上半部分选择“垂直平滑盒”,下半部分选择“上凸盒”(操作:

新式→修饰→垂直平滑盒/上凸盒)。

颜色设置为上天蓝色、下浅白色,具体请(按住shift右击鼠标调出工具模板→颜色工具→在需要改变颜色处右击鼠标选择所需颜色)。

2、设置声卡参数

建立SICONFIG(AllFunctions→graphics&sound→sound→soundinput→SIConfig),设置声卡参数,建立如下框图

3、控制录音开始

选择while循环(AllFunctions→structures),采样间隔设置为200ms(AllFunctions→Time&Dialog→waituntilnextmsmultiple),在停止条件接线端创建“录音”输入控件,将其按钮动作设置为“释放时转换”,同时在前面板创建“工作状态”指示灯,显示“未录音”与“录音中”,在程序框图中将这个布尔按钮放在while循环外,与“录音”控件相连。

建立SIStart,启动声卡,并将SIConfig的taskIDout与SIStart的taskIDin通过while循环连接。

如图:

4、建立while循环作为整体部分

因为要实时显示并记录信号,因此采用while循环,并通过移位寄存器来实现将新信号添加的已有信号的数组中(移位寄存器使用:

在while图框右击鼠标,选择AddShiftRegister)。

在前面板显示录音时间(AllFunctions→Time&Dialog→formatdate/timestring)。

5、暂停设置

创建casestructure,设置逻辑型控制量。

a、当逻辑值为真时,在case内部建立SIStop和SIStart,两个函数之间建立while循环,延迟时间设为100ms,建立“暂定”的局部变量(创建局部变量:

在逻辑控制量上右击→creat→localvariable)与while的“停止”相连,并将其设为continueifture(右击鼠标进行选择)。

将SIStop和SIStart的输出与输入经过whilel连接。

将SIStop的输入经过case图框与SIConfig的输出相连。

b、当逻辑值为假时false:

不对信号做处理。

6、停止设置

创建case循环和逻辑控制量,ture时创建SIStop,false时直接通过

7、信号的输出

声音数据的读取要用到“声音输入读取”函数来实现,其输出是双声道8位还是16位则由输入控件“声音格式”决定。

由于输入控件“声音格式”是一个3元素的簇,因此要用到“按名称解除捆绑”函数,并将解除捆绑后的“采样位数”作为case条件结构的输入值。

创建字符串常量,用文本显示控件显示声道的不同,默认是双声道8位。

选择“波形图表”来实现声音波形的实时显示,将“声音输入读取”函数的“立体声8位/16位”输出端接到“波形图表”上,并将“波形图表”属性中的“外观”改成“2曲线显示”,便可实现数据的实时显示。

将新信号添加到已有信号的数组中,可通过“移位寄存器”来实现,将“读取声音输入”函数的输出数组和录制过程while循环的移位寄存器数组连接成一个数组,再连回移位寄存器,便可将新信号不断地添加到已有信号数组中,具体操作如下:

建立casestructure,使用簇分解函数将录音模式的三个量分解,选择其中的采样位数作为判断的输入,

a、若输入为"8bit",则使用SiRead,输出端口为stereo8-bit,建立WaveformChart,与输出端口相连。

同时显示使前面板字符串“双声道8位”(AllFunctions→String→StringConstant→输入“双声道8位”→建立显示量)。

b、若判断为"16bit",则输出端口为stereo16-bit,字符串显示“双声道16位”。

8、while的终止判断

将SiRead的错误输出用簇分解函数分解,选择其中的staus与停止逻辑控制量进行“与”判断,然后与while的停止连接。

9、关闭声卡:

整个声音采集、数据处理过程使用while循环来控制,循环条件为“停止”按钮和“错误输出状态”的或运算值,即当按动“停止”按钮或出现错误时,声卡采集任务立即停止。

在这个while循环外面用“声音输入清零”函数实现声音输入清零,释放所占用的系统资源。

在while外部建立SiClear,关闭声卡。

10、录音保存

在外部建立casestructure,判断条件为采样位数,当位数为“8bit”时,使用录音保存子VI,在while内部使用簇合并将SiRead与移位寄存器的一端合成后输入到录音保存VI的stereo8位输入端,创建录音格式的局部变量,并与录音保存VI的输出端相连接。

当位数为“16bit”,合成簇与录音保存VI的stereo16位输入端相连接,输出端仍与录音格式的局部变量相连。

 

11、波形显示

选择属性(properties),曲线显示设置为2(appearance→plotsshown),X轴设置为时间(formatandprecision),plot0设置为白色线状,plot1设为红色线状。

填充至0。

12、面板填写信息及颜色调整

While循环整体框图程序如下:

12.前面板:

13.录音保存:

五、结论与展望

结论:

本设计满足所需要求。

录音系统将PC机上的声卡作为音频信号采集硬件,使用者使用话筒录音,将声音信号由声卡输进计算机,然后由该系统采集音频信号。

当程序运行后,按下“开始录音”键后程序开始录音;按下“暂停”后声音的录制暂停,再次按“暂停”声音的录制继续;按下“停止”后声音录制结束,同时将弹出保存文件的对话框,文件*.wav格式保存。

声音质量为双声道;在开始采集前,操作者可根据实际需要,更改采样位数(8位和16位);前面板上显示录音时间,同时显示录音状态和采样位数;前面板同时以不同颜色分开显示两个声道的波形。

不足及改进方法:

1.程序框图中并没有关于mono声道的部分,因而当用户忽视这一点时有可能会出现不可预知的BUG或其他错误。

使用者可通过对声道框右键—属性—编辑项中禁用mono即可避免。

2.对于1条中的问题可加入单声道模块解决

3.由于程序原因,有时采样的音质还不够完美,可以提高采样位数,采样频率或加入优化模块来实现。

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

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1