# MUMT 307: Lab Exercises

 Lab #10 28 March 2017

• Try modifying the stfttest.m Matlab script to perform a different type of frequency-domain processing (ex., cross-synthesis).
• Download and test the Matlab phase vocoder example provided by Dan Ellis.
 Lab #9 21 March 2017

• Experiment with the modal.m Matlab script for model synthesis.
• Experiment with the karplus.m Matlab script for plucked-string synthesis.
• Experiment with the various physical models provided in the STK demo program.
 Lab #8 14 March 2017

• Write a ring modulation patch in ChucK.
• Read MSP Tutorials #9 - 11.
 Lab #7 7 March 2017

• Compile and run the STK tutorial programs.
• Try running some example patches in the miniAudicle.
 Lab #6 14 February 2017

• Load a soundfile into Matlab and try implementing the STFT (computing the fft on blocks of an audio signal), perhaps displaying the result as a waterfall plot.
 Lab #5 7 February 2017

• Implement a bandlimited impulse train in Matlab.
 Lab #4 31 January 2017

• Implement the equivalent of the MSP cycle~ object in Matlab. Create a sinewave "table" of length 512 samples (a single period of a sinusoidal function). Then define a variable rate that controls the phase increment used for the determination of each output sample. The value of rate should be calculated from a desired sounding frequency and a specified sample rate, as well as the table size. Experiment with rounding and truncation of the lookup index and view the resulting spectra. Implement linear interpolation and compare.
• Create a unit impulse signal and use it as input to a Schroeder allpass filter with g = 0.7 and a delay of 357 samples. Then use the output of that filter as input to a feedback comb filter specified by the difference equation y[n] = x[n] - 0.95 y[n-1037]. Plot the resulting impulse response and the corresponding magnitude frequency response.
 Lab #3 24 January 2017

• Improve the MSP chorus patch demonstrated in class by adding 1 or 2 extra delayed paths.
• Create numerator and denominator coefficient vectors for feedforward and feedback comb filters in Matlab and view their frequency response using the freqz function.
• y[n] = x[n] + 0.95 x[n-7] (feedforward comb)
• y[n] = x[n] - 0.95 y[n-7] (feedback comb)
 Lab #2 17 January 2017

• Use Matlab to define and plot the frequency response (using freqz) of the following digital filters.
• y[n] = x[n] + x[n-1]
• y[n] = x[n] - x[n-1]
• y[n] = x[n] + 0.9 y[n-1]
• y[n] = x[n] - 0.9 y[n-1]
• y[n] = x[n] + x[n-10]
• y[n] = x[n] + y[n-10]
 Lab #1 10 January 2017

• Start Matlab and practice using the help command with some of the functions demonstrated during the class lecture.
• Load a soundfile into Matlab (see the audioread, wavread or auread functions). Play the sound using the sound function. View the sound power spectrum using the spectrogram function (for example, spectrogram( y, 1024, 'yaxis' ) assuming the signal is found in variable y).

• Using Matlab, create a sinusoidal signal and practice calculating its signal metrics.