fmvoice — FM Singing Voice Synthesis
kamp -- Amplitude of note.
kfreq -- Frequency of note played.
kvowel -- the vowel being sung, in the range 0-64
ktilt -- the spectral tilt of the sound in the range 0 to 99
kvibamt -- Depth of vibrato
kvibrate -- Rate of vibrato
Here is an example of the fmvoice opcode. It uses the file fmvoice.csd.
Example 149. Example of the fmvoice opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o fmvoice.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 kamp = 30000 kfreq = 110 ; Use the fourth p-field for the vowel. kvowel = p4 ktilt = 0 kvibamt = 0.005 kvibrate = 6 ifn1 = 1 ifn2 = 1 ifn3 = 1 ifn4 = 1 ivibfn = 1 a1 fmvoice kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, ifn2, ifn3, ifn4, ivibfn out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; p4 = vowel (a value from 0 to 64) ; Play Instrument #1 for one second, vowel=1. i 1 0 1 1 ; Play Instrument #1 for one second, vowel=2. i 1 1 1 2 ; Play Instrument #1 for one second, vowel=3. i 1 2 1 3 ; Play Instrument #1 for one second, vowel=4. i 1 3 1 4 ; Play Instrument #1 for one second, vowel=5. i 1 4 1 5 e </CsScore> </CsoundSynthesizer>