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 153. 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>