<< Chapter < Page | Chapter >> Page > |
This module refers to LabVIEW, a software development environment that features a graphical programming language. Please see the LabVIEW QuickStart Guide module for tutorials and documentation that will help you: | |
•Apply LabVIEW to Audio Signal Processing | |
•Get started with LabVIEW | |
•Obtain a fully-functional evaluation edition of LabVIEW |
This project will give you the opportunity to begin designing sounds in LabVIEW. You will create two subVIs: one to implement an ADSR-style envelope generator and the other to create a multi-voice sound source. You will then create a top-level application VI to render a simple musical composition as an audio file.
If you have not done so already, please study the prerequisite module Analog Synthesis Modules . If you are relatively new to LabVIEW, consider taking the course LabVIEW Techniques for Audio Signal Processing , which provides the foundation you need to complete this mini-project activity, including working with arrays, creating subVIs, playing an array to the soundcard, and saving an array as a .wav sound file.
Create the subVI ADSR.vi to generate the ADSR-style envelope specified in ; recall that ADSR stands for "Attack Decay Sustain Release."
The envelope shape is defined over a normalized time interval of 0 to 1; the envelope stretches or compresses to match the actual duration requested. The three time intervals are likewise expressed in normalized units, so an attack duration (tA) of 0.2 indicates that the attack time is 20% of the entire envelope duration. The envelope values range from 0 dB (full sound intensity) to -40 dB (close to silence). Once you have defined the envelope shape in terms of straight-line segments, you can create the envelope amplitude waveform by undoing the decibels operation; recall that an amplitude "A" expressed in dB is 20 log10(A).
The subVI requires the following controls as input parameters (units specified in brackets):
Notification Switch
Would you like to follow the 'Musical signal processing with labview -- analog synthesis and modular synthesizers' conversation and receive update notifications?