Skip to content

fofcyclevoc

Abstract

Port of faust's "Sf Formant FOF Cycle" vocal model

Description

Simple formant/vocal synthesizer based on a source/filter model. The source is just a periodic impulse and the "filter" is a bank of FOF filters. Formant parameters are linearly interpolated allowing to go smoothly from one vowel to another. Voice type can be selected but must correspond to the frequency range of the synthesized voice to be realistic. This model does not work with noise in the source signal so exType has been removed and model does not depend on SFFormantModel function. Source: https://faustlibraries.grame.fr/libs/physmodels/#pmsfformantmodelfofcycle

Keyword Parameters

Parameter Description Default Range (not enforced)
vibfreq Vibrato frequency 6 4 - 8
vibgain Vibrato gain (amplitude of vib LFO) 0.5 0-1
vowel Vowel (0=a, 1=e, 2=i, 3=o, 4=u) 0 0-4
voicetype Voice type (0: alto, 1: bass, 2: countertenor, 3: soprano, 4: tenor) 0 0-4
envattack Attack time (in milliseconds) 10 0-500
bend Bend in semitones applied to the base frequency. 0 -2 - 2
sustain Amplitude when gate is off 0 0-1
outgain Gain factor applied at the output 0.5 0-1

Syntax

aout fofcyclevoc kgate, kfreq, kgain [, Sparam_n, kvalue_n, ...]

Multiple pairs of Skey: kvalue can be given (see the table above for possible keys)

Arguments

  • kgate: Gate. A new "note" starts when the gate is open and stops when the gate is close
  • kfreq: Fundamental frequency
  • kgain: Excitation gain
  • Sparam_n: Parameter name to modify (constant string).
  • kvalue_n: Parameter value corresponding to the previous name

Output

  • aout: Output signal

Execution Time

  • Performance

Examples

<CsoundSynthesizer>

<CsInstruments>
sr     = 44100
ksmps  = 64
nchnls = 2
0dbfs  = 1

instr 1
  kgate = trighold:k(metro(4), 0.5)
  kpitch = 60
  asig fofcycle kgate, mtof:k(kpitch), 0.9, "vowel", 0
  outch 1, asig
endin  

</CsInstruments>

<CsScore>
i 1 0 10


</CsScore>
</CsoundSynthesizer>

See also

Credits

Eduardo Moguillansky, 2024