Warning: this may be more time consuming than the previous assignment.
Assignment 6 is to make a singing voice that 'sings' a vowel such as 'aah', in a major scale. This will require changing the fundamental frequency but leaving the formant frequencies fixed.
Starting from the '3.packet-fixed.pd' patch (or the paf patch in the Pd examples, F13.paf.control.pd, which will be somewhat easier to adapt), make an abstraction that takes an incoming phase signal (shared among all of them to keep them in phase.) It should also take messages (either using inlets or 'receives') to set amplitude in dB, formant frequency in Hz., and bandwidth in any units you like. If you use '3.packet-fixed.pd', you'll have to divide the formant frequency by the fundamental frequency (also in Hz) to get the equivalent "partial" control.
Make an instrument that combines several copies of the formant and adds their output. The formants should I made 6 copies of the abstraction with parameters as follows:
amp frequency bandwidth (dB) (Hz) (index/10 as in 3.packet-fixed.pd) 112 319 5 88 718 4 100 1056 7 87 1668 4 92 2182 9 82 2830 4To get these I started with the values I found on http://www.csounds.com/manualOLPC/MiscFormants.html and adjusted them by ear.
Make a qlist to play the scale. I added vibrato and portamento to the pitch to make it sound more convincing.
Start the qlist, enjoy the result, and/or adjust the parameters until something better comes out. Once you find parameters you like, be sure to fix it so that they're all correct when your fearless TA opens your patch and tries it.
Here is my sample output.