<< 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 |
Ring modulation (AM) is an audio special effect that produces two frequency-shifted replicas of the spectrum of a source signal, with one replica shifted to higher frequency and the other replica to a lower frequency. Single-sideband AM (SSB-AM) provides a way to shift the source signal's spectrum higher or lower but without the additional replica. SSB-AM provides one way toimplement a pitch shifter , an audio special effect that shifts the frequency of speech, singing, or a musical instrument to a higher or lower frequency.
In this project, use LabVIEW to implement several types of ring modulators and a pitch shifter.
If you have not done so already, please study the prerequisite modules AM Mathematics and Pitch Shifting . 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.
Consider an original signal , which is a sinusoid of frequency . The original signal is modulated by a cosine function of frequency to produce , which is in turn modulated by a cosine function of frequency to produce , which is in turn modulated by a cosine function of frequency to produce . Sketch the frequency-domain version of the four signals, i.e., sketch , , , and .
Create a LabVIEW implementation of the above arrangement and plot the spectrum of each of the four signals. Compare your LabVIEW results to your prediction.
Create a LabVIEW implementation of the multiple modulation scheme of Part 1 that can process a .wav audio file as the input signal. Use controls for the three modulators that will allow you to easilychange their modulation frequencies. Experiment with various choices of modulation frequencies to make an interesting effect. Create two .wav files using different parameter choices.
Implement the pitch shifting algorithm based on the single-sideband AM technique discussed in Pitch Shifter with Single-Sideband AM . Use a design similar to that of "am_demo3.vi" provided at the bottom of the page of AM Mathematics which accepts a .wav file as input and plays the sound. The sound clip should be relatively short (on the order of several seconds). For this part of the project, do not implement the pre-filter; you will do this in Part 4.
Evaluate the quality of your pitch shifter by presenting some written discussion and suitable spectrogram plots. Especially indicate whether you can find audible and visual evidence of aliasing.
The fast Hilbert transform built-in subVI is available in the "Signal Processing | Transforms" pallet.
Modify your pitch shifter to include a bandpass filter. State how you will compute the bandpass filter's upper and lower corner frequencies, given that you want to preserve as much of the original signal's bandwidth as possible.
Evaluate the quality of your modified pitch shifter by presenting some written discussion and suitable spectral plots. Compare your results with those you obtained in Part 3.
A variety of digital filters are available in the "Signal Processing | Filters" pallet.
Choose one of the previous LabVIEW implementations and make it work in real time with a signal input (microphone) and interactive front-panel controls.
Evaluate the interrupt-driven approach using an event structure (see "am_demo1.vi" described in AM Mathematics , as well as the polled approach used by mic_in_speaker_out.vi ). Use whichever technique you prefer.
Submit your finished LabVIEW implementation as a distinct .zip file.
Notification Switch
Would you like to follow the 'Musical signal processing with labview -- modulation synthesis' conversation and receive update notifications?