Monday, October 24, 2005

DFT review

I put a scan of lecture notes on complex numbers and Discrete Fourier
Transform at http://music.ucsd.edu/~sdubnov/Mu176/ClassTalks/172oldnotes.pdf

Monday, October 17, 2005

Notes on Instantaneous Frequency and the Phase Vocoder

Read a short (6 pages) summary of the Instantaneous Frequency and the Phase Vocoder at http://music.ucsd.edu/~sdubnov/Mu176/ClassTalks/ClassTalk2.pdf

We will discuss these notes in the next class.

Thursday, October 13, 2005

Assignment II - makeup and addendum

As a quick reminder, the frequency has to be integrated to get the phase.
The command for that in Matlab is cumsum.
For our next class correct / complete the chirp assignment. Design your
initial and final frequency so that it starts below Nyquist and goes over
it (if you want, it can continue rising beyond sampling frequency as well).
Describe what you hear. See this in specgram. Explain.
Note: in order to keep the aliasing effect in audible range, use Nyquist
around 2KHz.

Wednesday, October 12, 2005

Project Ideas

1/f noise generator for Wav & MIDI (Voss-Gardner method)

Audio Texture synthesis (Lie et al. paper)

Multipitch detection (Tolonen paper)

Wav to midi (monophonic): create midi file from pitch detection.

Query by humming: use pitch contours and autocorrelatoin to find a tune by humming.

Specgram from midi: creat a spectrogram directly from midi file (without synthesis).

Midi expressive timing: do time warping of a midi file from wav of a real performance.

Midi expressive dynamics: change dynamics of a midi file according to wav.

Wav alignment: same as midi, but for two wav performances of same music.

Do a wavetable synthesis program using time domain resampling.

Do a wavetable synthesis using spectral domain pvoc.

Add instruments to fm synth (Chowning paper)

Native matlab midiread and midiwrite (including control parameters).

Midi filters: add / remove legato or staccatto in a midi file.

Chord finding: extend the key finding method to detect chords.

Polyphonic midi reduction: extract theme or theme and chords from polyphonic midi.

Friday, October 07, 2005

assignment II

Here is a short follow up on what we started in class.

1. Create a matlab function that returns a sinusoid (a sound vector, i.e. a vector containing samples of the sinusoid). The inputs to the function should be sinusoid frequency, amplitude, duration and sampling frequency.
Analize it with specgram and look at the figure. Explain what you see. Write the results of the specgram command into a matrix. Look at the absolute values of the matrix. Which bins correspond to the sinusoidal frequency? Explain the results. (We did briefly that in class).

2. Modify the function in 1 so that it receives a vector of frequencies and amplitudes (you do not need duration now). The length of there vectors should be equal to the length of the output sound vector. The values of these vectors should be the instantaneous frequency and amplitude at that sample (moment in time). Test your function for a slowly sloping frequency (a slow chirp or glissando, i.e. frequency slowily increasing (or decreasing) in time). Play your result. Does it sound right? Plot it with specgram. What do you see. (Hint: make sure you calculate the phase correctly. We will talk about this in class).

Shlomo

Wednesday, October 05, 2005

mfiles

The mfiles directory should have read permissions now. It contains the miditoolbox and mp3_toolbox.