<< Chapter < Page | Chapter >> Page > |
The subVI requires the single indicator (output) envelope , an array with values in the range 0 to 1.
Show that your ADSR VI functions properly by plotting the envelope for at least two distinct cases. Plot both the dB form of the envelope as well as its non-dB form.
The following screencast video provides coding tips and other suggestions to help you develop your subVI.
Make a subVI called SoundGen.vi that combines a signal source with the ADSR envelope generator. Use a case structure with an enumerated data type control that allows you to choose one of several different "voices" or "instruments." The case structure then defines the ADSR input parameters to choose the type of signal source (or noise source for a percussive instrument).
The subVI requires the following controls as input parameters (units specified in brackets):
If the discussion in Item 4 for the note control seems mysterious, review the module [INSERT NAME AND MODULE LINK] to learn how to calculate the frequency of a semitone interval using equal temperament .
Show that your sound generator VI functions properly by developing a top-level VI that plays a chromatic scale. Vary the duration of the notes. Plot the waveform to ensure that the envelope shape makes sense. Save your generated sound to a .wav file to be included with your deliverables.
The screencast video of offers coding tips and other suggestions to help you develop your subVI.
Compose a simple piece of music using analog synthesis techniques of your choice. Better compositions will include variety, e.g., different envelope parameters at different times, multiple channels (chords), stereo, percussive sounds, and so on. Write a paragraph or two that describes your compositional technique. Better compositions are click-free, i.e., joining the notes together does not produce any pops or clicks.
The overall objectives of this alternative Part 3 are the same as described above, but the technical approach is different.
Go to MIDI JamSession to learn all about a LabVIEW application VI of the same name that reads a standard MIDI file (.mid format) and renders it to an audio file (.wav format) using "instrument" subVIs of your own design. You have already done all of the work necessary to create your own instruments, and it is a simple matter to place them inside a standard subVI wrapper (or "Virtual Musical Instrument," VMI) that MIDI JamSession can use.
Notification Switch
Would you like to follow the 'Musical signal processing with labview (all modules)' conversation and receive update notifications?