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. It uses the file voice.csd, and impuls20.aiff.

Example 1014. 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