labview虚拟钢琴之令狐文艳创作
- 格式:doc
- 大小:17.51 KB
- 文档页数:5
LabVIEW在音乐合成和音乐制作中的应用音乐合成和音乐制作一直以来都是音乐领域中的重要研究方向和创作手段。
而现代科技的发展不仅使得音乐合成和音乐制作的方式更加多样化和先进,同时也为音乐人提供了更多便捷和高效的工具和平台。
在这方面,LabVIEW(Laboratory Virtual Instrument Engineering Workbench)作为一款功能强大的可视化编程环境,为音乐合成和音乐制作的工作者提供了广阔的应用空间,极大地推动了音乐技术的发展。
一、音乐合成方面的应用1. 数字信号处理(DSP)技术LabVIEW作为一款图形化编程语言,提供了丰富的数学和信号处理函数库,可以快速实现数字信号的合成和处理。
通过LabVIEW编程,音乐人能够以更直观的方式进行音频编辑和特效添加,创造出丰富多彩的音色和音效。
2. 虚拟乐器设计基于LabVIEW的虚拟仪器技术,音乐人可以使用软件合成器设计出各种强大的虚拟乐器。
LabVIEW提供的图形化界面和强大的信号处理算法,使得虚拟乐器的设计和开发更加高效和便捷。
3. MIDI控制与音频合成LabVIEW支持MIDI标准协议,可以通过MIDI控制器与其他音乐设备进行通信。
同时,LabVIEW的信号处理功能也使得音频合成变得更加简单。
音乐人可以通过编写LabVIEW程序,实现MIDI信号的解析与处理,从而控制各种硬件设备和软件插件,创造出丰富多样的音乐作品。
二、音乐制作方面的应用1. 音频录制和编辑LabVIEW支持实时音频输入和输出,可以与各种音频设备进行交互。
音乐人可以通过编写LabVIEW程序,实现音频的录制和编辑,以及各种后期处理和效果的添加。
借助LabVIEW强大的功能,音乐制作的过程更加灵活和高效。
2. 乐谱编辑和自动化基于LabVIEW的图形化编程环境,音乐人可以通过拖拽和连接各种音符和乐器模块,快速编辑和生成乐谱。
此外,借助LabVIEW的自动化功能,音乐人可以实现音乐演奏和曲目切换的自动化控制,提升音乐制作的效率和精确度。
基于LabVIEW的虚拟仪器设计实验摘要:随着电子技术、计算机技术的高速发展及其在电子测量技术与仪器领域中的应用,新的测试理论、方法以及新的仪器结构不断出现,虚拟仪器也随之出现并得到了很大的发展。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言开发环境,LabVIEW也是一种通用编程系统,具有各种各样、功能强大的函数库,包括数据采集、GPIB、串行仪器控制、数据分析、数据显示及数据存储,甚至还有目前十分热门的网络功能,是一个功能强大且灵活的软件。
LabVIEW也有完善的仿真、调试工具,如设置断点、单步等,其动态连续跟踪方式,可以连续、动态地观察程序中的数据及其变化情况,并且LabVIEW与其它计算机语言相比,有一个特别重要的不同点:其它计算机语言都是采用基于文本的语言产生代码行,而LabVIEW采用图形化编程语言--G语言。
关键词 LabVIEW软件虚拟仪器实验设计Abstract: With the electronic technology, computer technology's rapid development in electronic measurement and instrument field of application of testing new theories,Virtual instrument has emerged and obtained very big development.Now in this field,Using a wide range of computer language is the NI company bVIEW is a kind of graphical programming language,of the development bVIEWalso is a kind of common programming system,With various and powerful function,Including data acquisition, GPIB,Serial instrumen t control,Data analysis,Data display and data storage,Even now very popular network function,Is a powerful and flexible software.LabVIEW also have simulation and Debugging tools.If set breakpoint and Single-step etc.The dynamic continuosly,Can continuously and dynamic observations of the data and programs.And with other computer language LabVIEW have a particularly important difference: Other computer language is based on the text of the language code, but LabVIEW using graphical programming language - G language. Keywords: LabVIEW Software Virtual instrument Experiment目录引言 (4) (4).虚拟仪器概念 (4).虚拟仪器的特点 (4).虚拟仪器的分类 (5).虚拟仪器的软件开发环境 (5) (5).LabVIEW概述 (5).LabVIEW的使用 (6)3.LabVIEW虚拟仪器实验 (7).一个虚拟温度报警器 (7).此实验的前面板设置 (7).此实验的程序框设置 (7).结果演示 (13).一个虚拟示波器 (14).前面板设置 (14).函数程序框图 (19).演示结果 (21).一个虚拟滤波器 (23).前面板设置 (23) (23).运行结果: (25)结束语 (26)参考文献 (27)引言虚拟仪器是基于计算机的软硬件测试平台,它可代替传统的测量仪器,如示波器,逻辑分析仪,信号发生器,频谱分析仪等;可集成于自动控制,工业控制系统;可自由构建成专有仪器系统。
虚拟仪器L a b V I E W实验报告(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--现代仪器设计LabVIEW实验报告实验内容:1.熟悉LabView软件操作方法2.了解LabView的一般编程方法3.虚拟信号发生器制作1.熟悉LabView软件操作方法虚拟仪器(virtual instrumention)是基于计算机的仪器。
虚拟仪器主要是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器的研究中涉及的基理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW。
LabVIEW(Laboratory Virtual instrument Engineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程基本上不写程序代码,取而代之的是流程图。
前面板的设计需用控制模板。
控制模板(Control Palette)用来给前面板设置各种所需的输出显示对象和输入控制对象。
每个图标代表一类子模板。
可以在前面板的空白处,点击鼠标右键,以弹出控制模板。
程序框图的设计需用功能模板。
功能模板(Functions Palette)是创建流程图程序的工具,只有打开了流程图程序窗口,才能出现功能模板。
功能模板该模板上的每一个顶层图标都表示一个子模板。
可以点击“窗口”—“显示程序框图”打开,也可以在流程图程序窗口的空白处点击鼠标右键以弹出功能模板。
流程图上的每一个对象都带有自己的连线端子,连线将构成对象之间的数据通道。
不是几何意义上的连线,因此并非任意两个端子间都可连线,连线类似于普通程序中的赋值。
数据单向流动,从源端口向一个或多个目的端口流动。
不同的线型代表不同的数据类型。
实验项目一 C++程序设计初步题目令狐文艳在Visual Studio 2008平台上,用C++语言创建一个控制台应用程序,当其运行时在屏幕上显示“Hello,World!”(参考P15)实验项目二类与对象(1)有以下程序:#include <iostream>using namespace std;class Time //定义Time类{public://数据成员为公用的int hour;int minute;int sec;};int main( ){ Time t1;//定义t1为Time类对象cin>>t1.hour;//输入设定的时间cin>>t1.minute;cin>>t1.sec;cout<<t1.hour<<“:”<<t1.minute<<“:”<<t1.sec<<endl;//输出时间return 0;}改写程序,要求:①将数据成员改为私有的;②将输入和输出的功能改为由成员函数实现;③在类体内定义成员函数。
然后编译和运行程序。
请分析什么成员应指定为公用的?什么成员应指定为私有的?什么函数最好放在类中定义?什么函数最好放在类外定义?代码:/ 实验_1.cpp : 定义控制台应用程序的入口点。
#include"stdafx.h"#include<iostream>usingnamespace std;class Time //定义Time类{private://数据成员为私有的int hour;int minute;int sec;public:void Input(){cout<<"请输入时、分、秒:"<<endl;cin>>hour>>minute>>sec;}void print(){cout<<"时间为:"<<endl;cout<<hour<<":"<<minute<< ":"<<sec<<endl;}};int _tmain(int argc, _TCHAR* argv[]){Time t1;t1.Input ();t1.print ();return 0;}结果:(2)修改实验1中的学生成绩管理系统,建立类OurClass,实现班级学生信息的输入,排序和输出。
基于 LabVIEW 的乐器数字调音系统胡奕明;黄志刚;肖雷蕾;徐瑞阳【摘要】By the idea of virtual instrument,a musical instrument digital tuning system is developed based on the graphical programming software LabVIEW. The main contents of the system include simulation piano,pitch detection of piano and guitar audio frequency,audio collection and storage,audio parameter measurement,audio spectrum analysis and graphical display. By NI module in LabVIEW,the intonation tuning of piano and guitar is realized with cordwood programming method. The piano simulation tuning process was achieved. The system meets the actual needs of guitar tuning.% 该系统采用虚拟仪器思想,利用基于图形化的编程软件 LabVIEW 开发了乐器数字调音系统。
主要内容包括模拟钢琴,钢琴及吉它音频的基频检测,音频的采集和存储、音频的参数测量、音频的谱分析及图形化显示等内容。
该系统利用 LabVIEW 中 NI 模块通过搭积木式编程方法实现了对钢琴和吉它2种乐器的音准调音。
实现钢琴模拟调律过程,满足实际吉它调音的需要。
【期刊名称】《现代电子技术》【年(卷),期】2013(000)006【总页数】4页(P141-144)【关键词】LabVIEW;虚拟仪器;模拟钢琴;乐器调音;基频检测【作者】胡奕明;黄志刚;肖雷蕾;徐瑞阳【作者单位】空军工程大学信息与导航学院,陕西西安 710077;空军工程大学信息与导航学院,陕西西安 710077;空军工程大学信息与导航学院,陕西西安710077;空军工程大学信息与导航学院,陕西西安 710077【正文语种】中文【中图分类】TN919-34;TM935钢琴和吉它是人们喜闻乐见的乐器,其共同的特点是它们的琴弦都具有金属的延展性,使用过一段时间后其音准会发生变化,从而要周期性地对钢琴和吉它进行调律(调音)。
基于LabVIEW可弹奏电子琴的设计【摘要】本文主要阐述利用LabVIEW软件实现可弹奏电子琴的设计,通过对声音的频率设置,以及LabVIEW中的常用编程控件,来实现电子琴发声,本设计能实现电子琴基本演奏功能,调试效果较好。
【关键词】LabVIEW;可弹奏电子琴;生成安装软件LabVIEW是由美国国家仪器公司(NI)创立的一种功能强大而又灵活的仪器和分析软件应用开发工具,它是一种基于图形化的、用图标代替文本行创建应用程序的计算机编程语言,通常称为G语言。
LabVIEW采用的是数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。
[1]目前市场上的电子琴都比较昂贵,利用LabVIEW编程能够简单又方便地实现其弹奏功能,当然本设计对于实现高真电子琴模拟还有一段距离。
1.可弹奏电子琴的原理音乐是由音符和节拍组成,而不同的音符是由相应的频率振动产生。
本次设计的电子琴是由36个琴键所构成,包含有高音、中音、低音的音阶以及半音阶共同组成,也就是所谓的黑键跟白键。
基于LabVIEW的可弹奏电子琴主要以软件实现弹奏功能:每按下一个琴键,扬声器播放对应频率声音。
bVIEW介绍在一个虚拟仪器VI的开发过程中,主要利用模板创建和运行程序。
操纵模板共有三类:工具模板、控件模板和函数模板。
创建一个完整的VI程序主要分为以下三步:(1)创建前面板。
前面板模仿了实际仪器的操作面板,它主要由控件构成,是程序与用户交流的窗口,用于设置输入数值和观察输出量。
(2)创建程序框图。
程序框图由函数节点、端口和数据连线组成。
从前面板切换到程序框图窗口,会看到与前面板对象对应的端口,根据需要在函数模板中找到所需的节点,并将节点图标放置到框图程序窗口。
用数据连线将这些端口和节点的图标连接起来,形成一个完整的框图程序。
(3)创建图标。
一个虚拟仪器的图标/连接端口就像一个图形(表示某一虚拟仪器)的参数列表。
这样,其它的虚拟仪器才能将数据传输给子仪器。
设计制作数码世界 P.150基于LabVIEW的多功能电子琴设计黄俊华 刘富成 西北农林科技大学摘要:本文研究设计了一种基于LabVIEW的多功能电子琴,该虚拟电子琴有四个主要的功能:鼠标点击虚拟琴键演奏、键盘控制演奏、显示电子琴谱和播放钢琴曲,文中阐述了这四个功能的设计思路与编程实现。
关键词:LabVIEW 电子琴 多功能引言LabVIEW软件是由美国国家仪器公司(NI)开发的一种功能强大的虚拟仪器和数据处理分析软件,它采用图形化的编程语言——G 语言。
LabVIEW采用数据流的编程方式,程序的执行顺序由数据流向决定,它自带的函数库可用于数据采集、串行设备的控制、数据分析和显示等。
目前市场上的电子琴种类繁多、功能强大,但价格比较高昂,另外,电子琴的体积较大,占用空间较多,而利用LabVIEW编程设计的虚拟电子琴操作简单、使用方便,不占用室内空间,可在一定程度上满足人们对音乐弹奏的需求,供人们娱乐。
一、电子琴概述电子琴,又称电子合成器,属于电子乐器类,其发音音量可以自由调节,音域较宽,和声多样,表现力极其丰富。
电子琴还可以模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声等)。
另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。
目前,电子琴主要分为玩具型电子琴、家庭型电子琴和演奏型电子琴。
二、系统设计本文研究设计的基于LabVIEW的电子琴是由36个琴键所构成,包含高音、中音、低音的音阶以及半音阶,也就是人们常称的白键和黑键。
该设计满足了人们对电子琴音阶的基本需求,能演奏绝大多数的歌曲。
参考实际的电子琴的功能,拟设计的基于LabVIEW的电子琴由四个主要的功能模块组成,它们分别是:虚拟电子琴键(鼠标点击)、虚拟电子琴键(键盘控制)、电子琴谱、播放钢琴曲。
根据设计的功能规划,得到系统结构如图1所示。
图1 系统结构图根据设计的基于LabVIEW的电子琴的功能规划,设计好后的电子琴的前面板如图2所示。
基于LabVIEW的电子琴的设计摘要随着电子计算机的不断发展,以及软件开发技术的日新月异,电子计算机在数据的实时分析和处理,现实存贮等方面的优势与传统仪器相比越来越明显,随着计算机性价比的不断提升,传统仪器价格又高居不下,加上传统仪器的功能单一,发展虚拟仪器已经成为一个不可阻挡的历史潮流。
在20世纪80年代,美国国家仪器公司(NI)最早提出了虚拟仪器的概念,引发了传统仪器领域的一场重大变革,使得计算机网络技术得以长驱直入仪器领域,和仪器技术结合起来,从而开创了“软件即是仪器”的先河。
而虚拟仪器的设计,需要图形化的开发环境LabVIEW。
本文讲解了基于LabVIEW的电子琴的设计,通过对声音的频率设置,以及LabVIEW中的常用编程控件,来实现电子琴发声,本程序能实现电子琴基本演奏功能,还有音乐播放功能。
关键词:虚拟仪器,LabVIEW,电子琴Electric Piano Design Based on LabVIEWAbstractWith the rapid development of computer technology and software development technology, the advantagement of the computer in analyzing, processing, displaying, storing the data becomes more and more obvious. At the same time, developing virtual instrument has become an irresistible trend of history along with high cost performance of computer, high price of traditional instruments and the single function of the traditional instruments. In this environment, the American NI company firstly began to the study of the virtual oscilloscope; and then launched a plat for the LabVIEW.This thesis designs a set of virtual oscilloscope based on the basic structure of the virtual instrument and related knowledge of signal processing in author's procession. It analyzes the definition, structures and trend of development of the virtual instrument. It introduces the basic knowledge related with virtual oscilloscope, which is Fourier transform. Virtual instrument is composed of hardware and software in two parts. This thesis introduces the hardware simply, but studies the software at full length. Based on the study of the two parts of the virtual instrument, the author designs the spectrum analysis module, memory module, display module and measurement module.Key Words: Virtual Instrument, LabVIEW, Electronic piano目录第1章绪论 (1)1.1 电子琴的特色 (1)1.2 电子琴的构成 (1)1.3 电子琴的发展 (1)1.4 产品优势 (2)1.5 电子琴的意义 (2)第2章系统软件的开发平台LabVIEW简介 (2)2.1 LabVIEW的基本概述 (3)2.2 LabVIEW的模板分析 (5)2.2.1工具模板 (5)2.2.2 控件选板 (7)2.2.3 函数选板 (7)第3章电子琴的软件设计 (9)3.1 设计任务 (9)3.2 单按键发声 (9)3.3 电子琴设计 (11)3.4 播放声音文件 (13)第4章打包生安装文件 (16)总结 (25)参考文献 (26)致谢 (27)第1章绪论1.1 电子琴的特色电子琴又称作电子键盘,属于电子乐器,发音音量可以自由调节。
LabVIEW中的虚拟仪器设计与制作虚拟仪器是利用计算机软、硬件来模拟实际物理仪器从而进行测试、测量和控制的技术。
LabVIEW作为一种强大的虚拟仪器设计与制作工具,为工程师提供了各种各样的功能模块和编程环境,可以简化仪器设计过程,提高工作效率。
本文将介绍LabVIEW中的虚拟仪器设计与制作的基本原理和应用示例。
一、LabVIEW虚拟仪器设计原理LabVIEW是一种图形化编程语言,通过将模块进行连接和编程,实现虚拟仪器功能。
主要包括以下几个方面:1. 数据采集与处理:LabVIEW可以通过各种传感器或数据采集卡获取实际物理量,并对其进行实时采集和处理。
用户可以选择不同的数据处理方法,比如滤波、FFT等,以获得所需的测量结果。
2. 仪器控制与操作:LabVIEW提供了丰富的控制和操作功能,可以模拟实际仪器的各种功能和操作。
用户可以设计按钮、滑块等用户界面来控制虚拟仪器的各个参数和状态,实现对实际系统的控制。
3. 数据可视化:LabVIEW具有强大的数据可视化功能,可以通过图形、图像或者曲线等方式展示采集到的数据。
用户可以根据需要选择合适的数据表示方式,以便更直观地分析和理解数据。
二、LabVIEW虚拟仪器设计与制作示例下面以一个温度测量和控制系统为例,介绍LabVIEW虚拟仪器的设计与制作过程。
1. 硬件配置:首先,需要选择合适的温度传感器和数据采集卡,并通过LabVIEW提供的接口将其连接到计算机。
确保硬件正常连接后,开始进行软件配置。
2. 创建虚拟仪器VI:打开LabVIEW软件,在工具栏中选择新建VI,开始创建虚拟仪器的VI。
在VI中,可以添加各种测量、控制和显示模块,实现对温度的实时测量与控制。
3. 设置数据采集和处理模块:通过LabVIEW的模块库,选择合适的数据采集和处理模块,配置数据采样率和采集通道等参数。
根据实际需要,可以添加滤波、数据处理和数据转换等模块,以获得准确的温度测量结果。
LabVIEW技术与应用课程设计报告题目:基于LabVIEW的电子琴程序设计学院:专业班级:学生姓名:学号:指导教师:日期:一、设计题目及要求题目:基于LabVIEW的电子琴程序设计要求:使用LabVIEW设计一个运行于计算机的电子琴软件,电子琴是由36个琴键所构成,包含有高音、中音、低音的音阶以及半音阶共同组成也就是所谓的黑键跟白键。
软件实现弹奏功能。
其中弹奏功能:每按下一个琴键,扬声器播放对应频率声音。
二、前面板设计电子琴是由36个琴键所构成,包含有21个白键和15个黑键,在前面板中利用“确定按钮”作为琴键,白键和黑键的属性设置分别如下图所示:图1 白键属性设置图2 黑键属性设置把设置好的36个琴键按次序排布为电子琴的样子,从左到右白健依次是低音、中音、高音的1 2 3 4 5 6 7,黑键也是依次是低音、中音、高音的半音阶,如下图所示:图3 设置后的电子琴按键三、程序框图设计按以下步骤设计程序框图:1.在本设计中,电子琴需要能连续弹奏,因此要把整个发声程序放在一个while循环中。
2.每个按键发声都是一个事件,所在在程序框图中需要把他们放在事件结构中,在事件结构中对每个按键发声进行设置。
具体做法如下:在程序中选择事件结构,添加新的事件分支,事件源为某琴键按钮,然后将本分支所处理的琴键按钮放入该分支页面中,由于电子琴的琴键通常需要按下去才会发出声音,所以本分支出发的条件就设置为当鼠标按下时触发。
事件结构设置如下图所示:图4 事件结构的设置3.要电子琴能发出声音,得用播放声音之类的控件,本设计选用了播放波形的控件,原因是因为波形的频率容易设置,能让声音听起来更接近。
具体做法如下:通过路径“信号处理-波形生成-仿真信号”选择仿真信号控件,并选择仿真的信号为正弦波,同时创建一个输入控件,输入相应的频率值,该输入控件与仿真信号控件的频率相连。
然后通过路径“图形与声音-声音-输出-播放波形”选择播放波形控件,将仿真信号控件的输出与播放波形控件的输入相连,如下图所示:图5 发声程序如此类推,每个琴键设计一个对应的发声程序,并把该发声程序放入对应的事件结构中,如下图所示:图6 电子琴的程序框图另外,每个按键对应的频率如下图所示:图7 各个音阶对应的频率4.最后,要为循环结构配置一个停止按钮。
2013-2014学年度第二学期
令狐文艳
虚拟仪器技术及应用
--基于LabVIEW的便携式按键钢琴
专业:电子信息工程
班级:
姓名:
学号:
成绩:
一.设计课题
设计一个基于labview的便携式按键钢琴。
思路:利用myDAQ的8个数字I/O通道作为琴键输入,通过labview编程合成所需频率的声音,经过D/A变换后通过Audio Out端口放大输出。
程序中通过设置不同的谐波组合可以最终混合出不同乐器的音色。
说明:除了数字I/O的信号采集和模拟信号输出之外,这个题目主要工作在软件方面的数字信号处理与合成(比如,如果同时按下两个按键,出来的效果应该是两个音的叠加;同时还要考虑针对不同乐器不同音色所对应增加的谐波比例)。
软件上还可以增加其他功能。
例如可以选择将PC音频输出的音乐通过myDAQ的Audio In端采集后增加混音或重低音效果等
然后再通过Audio Out端播放出来。
在硬件方面,可以扩展的一些工作包括琴键输入开关的毛刺滤除电路设计、音频输出后再做一级放大电路等。
由于myDAQ只有8个数字I/O端口,因此只能做一个八音阶。
二.设计过程
A.响应琴键事件
在while结构中放入8个条件结构,每个条件结构对应一个按键发音事件:
在每个对应的条件结构中,嵌入子vi,用来执行相应的选择事件,子vi负责了音量调节,音名选择,音色选择,音调选择等功能。
为了不使程序连线过于复杂,使用了局部变量。
上图可见。
B.集成功能的子vi设计
子vi的设计是基于音色控制的,这里提供了三种音色实现方式,通过条件分支架构来选择,一一介绍如下:
I.直接读入播放wav文件
由于自己合成的音色总是不能达到钢琴发音的效果,所以通过录制的wav音频直接拿来播放音色就比较好。
而没有找到现成的钢琴按键音频文件,所以通过利用adobe audition专业音频处理软件来录制、截取,升降调制作了钢琴的单键声音。
对应的程序框图如下:
找到相应wav文件
写入读出:
II.正弦波基波与高次谐波的叠加:
由于音色是由于正弦波基波与其高次谐波成分比例多少不同而不同的,所以通过加入不同的谐波成分,可以来改变音色,效果要比只加入基波成分好很多,此次设计中可以调节二,三,四次谐波的比例成分。
而且,又考虑到真实按键音会随着时间变化音量减小,所以在设计过程中也对此作了相应处理。
程序框图如下:
通过公式节点来计算出对应的声音频率,参考了十二平均律公式波形与合成的正弦波形相乘,实现了音量随着时间而减小,而且,通过时间计时器,实现了音长的控制。
III.三角波形的低通滤波
三角波经过低通滤波后只会出现基波和偶次谐波成分,音色听起来会比较和谐。
而低通滤波的设计不止一种,低通滤波函数提供给我们几种滤波方法,所以可以有几种音色的选择,实际效果虽然不如第二种设计方法好,但还凑合。
程序框图如下:
其他的音量调节等见上图一目了然。
C.子vi的调用
子vi定义了八个输入接口,用来实现相应的功能。
在主vi的调用中,使用了静态的方式,而且,为了子vi能够同时多次调用,并实现子vi的并行,所以对子vi添加了可重用的
属性。
D.控件的显示
在选择音色的过程中,在前面板上,对应于某一种音色选择的其他一些输入控件并没有作用,所以,我们可以通过属性节点来让这些控件在要用的时候才被显示出来,而不用的时候就将其设为不可见,这些控件是可调滤波控件,二次谐波控件,三次谐波控件,四次谐波控件。
程序框图如下:
E.声音录制
声音的录制vi如下:
三.前面板效果
四.实验总结
本次实验对labview的使用可以说大大提升。
从一点都不懂简单的编程到现在能实现一个简单的作品。
学会了应用各种程序结构,对声音的输入,输出,文件的写入与读取都有了自己的认识。
在程序设计的过程中,也碰到了不少的问题,通过查找labview帮助,查看工具书,上网查找资料和cnki上的论文对问题的解决有了自己的方法。
当然,有些问题确实也没有得到实质上的解决,比如主从vi的并行,比如对某些事件的响应顺序,再比如数字滤波器的具体应用与选择方法等等没有找到好的解决办法,这个都是在以后的学习过程中要改进的地方。
当然,在短时间内想要做出一个非常复杂的vi还是很不现实的,知识的积累需要一个过程。
对于一个问题,总会有各种各样的方法,前提是知识要丰富,有足够的认识才行,所以
学习一门知识系统点也是很有必要的。
总的来说,这次的设计课题使我有了提高。