voice

voice — An emulation of a human voice.

Description

An emulation of a human voice.

Syntax

ares voice kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn

Initialization

ifn, ivfn -- two table numbers containing the carrier waveform and the vibrato waveform. The files impuls20.aiff, ahh.aiff, eee.aiff, or ooo.aiff are suitable for the first of these, and a sine wave for the second. These files are available from ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/

Performance

kamp -- Amplitude of note.

kfreq -- Frequency of note played. It can be varied in performance.

kphoneme -- an integer in the range 0 to 16, which select the formants for the sounds:

  • eee, ihh, ehh, aaa,

  • ahh, aww, ohh, uhh,

  • uuu, ooo, rrr, lll,

  • mmm, nnn, nng, ngg.

At present the phonemes

  • fff, sss, thh, shh,

  • xxx, hee, hoo, hah,

  • bbb, ddd, jjj, ggg,

  • vvv, zzz, thz, zhh

are not available (!)

kform -- Gain on the phoneme. values 0.0 to 1.2 recommended.

kvibf -- frequency of vibrato in Hertz. Suggested range is 0 to 12

kvamp -- amplitude of the vibrato

Examples

Here is an example of the voice opcode. Play voice.csd, and impuls20.aiff

Example 1194. Example of the voice 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
-odac  ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o voice.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

kamp  = p4
kphon = p5
asig  voice kamp, 200, kphon, 0.488, 0, 1, 1, 2
      outs asig, asig

endin
</CsInstruments>
<CsScore>
f 1 0 256 1 "impuls20.aiff" 0 0 0	;audio file for the carrier waveform
f 2 0 256 10 1				;sine wave for the vibrato waveform

;       ampl phoneme
i 1 0 2 0.8    1
i 1 + . 0.6    2
i 1 + . 1.8    3
i 1 + . 15.0   4
i 1 + . 0.05   5
i 1 + . 0.06   6
i 1 + . 0.03   7
i 1 + . 0.0002 8
i 1 + . 0.1    9
i 1 + . 0.5   10
i 1 + . 100   11
i 1 + . 0.03  12
i 1 + . 0.04  13
i 1 + . 0.04  14
i 1 + . 0.04  15
i 1 + . 0.05  16

e
</CsScore>
</CsoundSynthesizer>


Credits

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

New in Csound version 3.47