<< 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 |
In 1983 Kevin Karplus and Alex Strong published an algorithm to emulate the sound of a plucked string (see "References" section). The Karplus-Strong algorithm produces remarkably realistic tones with modest computational effort.
As an example, consider the sound of a violin's four strings plucked in succession: violin_plucked.wav (compare to the same four strings bowed instead of plucked: violin_bowed.wav ). Now compare to the Karplus-Strong version of the same four pitches: ks_plucked.wav .
In this module, learn about the Karplus-Strong plucked string algorithm and how to create a LabVIEW virtual musical instrument (VMI) that you can "play" using a MIDI music file.
The screencast video develops the theory of the Karplus-Strong plucked string algorithm, which is based on a closed loop composed of a delay line and a low pass filter.As will be shown, the delay line is initialized with a noise burst, and the continuously circulating noise burst is filtered slightly on each pass through the loop. The output signal is therefore quasi-periodicwith a wideband noise-like transient converging to a narrowband signal composed of only a few sinusoidal harmonic components.
The Karplus-Strong algorithm block diagram may be viewed as a single digital filter that is excited by a noise pulse. For real-time implementation, the digital filter runs continuously withan input that is normally zero. The filter is "plucked" by applying a burst of white noise that is long enough to completely fill the delay line.
As an exercise, review the block diagram shown in and derive the difference equation that relates the overall output y(n) to the input x(n). Invest some effort inthis so that you can develop a better understanding of the algorithm. Watch the video solution in only after you have completed your own derivation.
The screencast video shows how to implement the difference equation as a digital filter and how to create the noise pulse. The video includes an audiodemonstration of the finished result.
In order to better appreciate the musical qualities of the Karplus-Strong plucked string algorithm, convert the algorithm to a virtual musical instrument ( VMI for short) that can be played by "MIDI Jam Session." If necessary, visit MIDI Jam Session , download the application VI .zip file, and view the screencast video in that module to learn more about the application and how to create yourown virtual musical instrument. Your VMI will accept parameters that specify frequency, amplitude, and duration of a single note, and will produce a corresponding array ofaudio samples using the Karplus-Strong algorithm described in the previous section.
For best results, select a MIDI music file that contains a solo instrument or perhaps a duet. For example, try "Sonata in A Minor for Cello and Bass Continuo" by Antonio Vivaldi.A MIDI version of the sonata is available at the Classical Guitar MIDI Archives , specifically Vivaldi_Sonata_Cello_Bass.mid .
Try experimenting with the critical parameters of your instrument, including sampling frequency and the low-pass filter constant . Regarding sampling frequency: lower sampling frequencies influence the sound in two distinct ways -- can you describe each of these two ways?
Notification Switch
Would you like to follow the 'Musical signal processing with labview (all modules)' conversation and receive update notifications?