.
See the patches in this directory
to find the tools you need to do it:
- 1.fiddle-and-table.pd: record a pitch track, measured using the
fiddle~ object (the pitch tracker), and stored into an array for later use;
- 2.comb-filter.pd - how to make a comb filter using FFTs. The "comb" shape
is really a pulse train, which has to be phase-locked to the FFTs. The
'time period' between pulses becomes the center frequency of the comb filter;
the 'pulse width' becomes the bandwidth of each tooth of the comb.
- 3.sampler-window.pd - in case you find this useful: a way to freeze an
FFT analysis on a particular grain of the incoming sound so you can tune things
by ear. This patch also shows how to manage variable block sizes, which is useful
for tuning your patch.
To do the homework:
- Download the soundfile and make a sample reader (tabplay~ will do fine).
- Make an FFT subwindow, in the mold of I03.resynthesis.pd.
- Use a pulse-width-modulation oscillator, like the one in 2.comb-filter.pd,
to make a comb filter frequency response to multiply by the FFT analysis. You
should make controls in the main window to control pitch (either in MIDI
units or HZ.) and bandwidth (preferably in HZ., although I did it as a multiple
of the fundamental analysis frequency SR/N).
- Make a pitch track of the soundfile. You'll have to edit this by hand to
get even reasonable results. The pitches vary, roughly, between 60 and 70 in
MIDI units.
- Make a sequencer that feeds the pitch track into the frequency
input of the comb filter. The sequencer should start the soundfile playback
automatically so that the two are in sync.
- Listening to the output, go back and tune the pitch track to agree as well
as possible with the soundfile. There's no one best way to do this; careful
listening and careful thought will help.
more detailed instructions are forthcoming.