<< 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 the project activity of the prerequisite module Karplus-Strong Plucked String Algorithm , you undoubtedly noticed thatthe pitch accuracy of the basic Karplus-Strong algorithm needs improvement. For example, listen to the short MIDI test sequence ksdemo.mid rendered to audio with the basic algorithm using a sampling frequency of 20 kHz: ksdemo_20kHz.wav . The individual notes sound reasonable, but when the notes are played simultaneously as a chord, the pitch inaccuracy becomes noticeable.The accuracy gets worse at lower sampling frequencies such as 10 kHz: ksdemo_10kHz.wav ; increasing the sampling frequency improves the accuracy, as at 44.1 kHz: ksdemo_44kHz.wav , however, a discerning ear can still detect some problems.
The pitch of the plucked string tone is determined by the loop time, which must be made continuously variable in order to precisely control the pitch. In the basic algorithm, the length of the delay linedetermines the loop time, and the delay line can only be varied in integer amounts. The all-pass filter will be introduced and studied in this module as a means to introduce an adjustable fractional delay into the loop.
As a preview of the results that you can achieve, consider the same MIDI test sequence rendered to audio using the techniques introduced in this section: ks2demo_10kHz.wav and ks2demo_20kHz.wav .
In the prerequisite module , the loop time was determined to be the product of the delay line length and the sampling interval. The reciprocal of the loop time is the pitch (frequency) of the output signal :
where is the sampling frequency in Hz and is the length of the delay line in samples. Because the delay line length must be an integer number of samples, the pitch cannot be set arbitrarily.
Try the following exercises to explore this concept in more detail.
The sampling frequency is 40.00 kHz, and the length of the delay line is 40 samples. What is the pitch of the output signal? If the delay line length is decreased by one sample,what is the new pitch?
1000 Hz (40 kHz divided by 40 samples); 1026 Hz
Notification Switch
Would you like to follow the 'Musical signal processing with labview -- subtractive synthesis' conversation and receive update notifications?