The Alternative Csound Reference Manual
Previous |  | Next

# fmvoice

fmvoice -- FM Singing Voice Synthesis

## Description

FM Singing Voice Synthesis

## Syntax

ar fmvoice kamp, kfreq, kvowel, ktilt, kvibamt, kvibrate, ifn1, ifn2, ifn3, ifn4, ivibfn

## Initialization

ifn1, ifn2, ifn3,ifn3 -- Tables, usually of sinewaves.

## Performance

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

## Examples

Here is an example of the fmvoice opcode. It uses the files fmvoice.orc and fmvoice.sco.

Example 1. Example of the fmvoice opcode.

    /* fmvoice.orc */
    ; 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
    /* fmvoice.orc */

    /* fmvoice.sco */
    ; 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
    /* fmvoice.sco */

## Credits

Author: John ffitch (after Perry Cook)
University of Bath, Codemist Ltd.
Bath, UK

New in Csound version 3.47

Previous | Home | Next
fmrhode | Up | fmwurlie