voice ― 음성 만들기
Syntax
ares voice kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn
Initialization
ifn, ivfn — 2개의 table number로 carrier waveform 과 vibrato waveform이 요구된다. 아래의 files인 impuls20.aiff, ahh.aiff, eee.aiff, ooo.aiff 가 carrier로 적합하고 sine wave가 vibrato wave로 사용될 수 있다. 이 파일들은 요기에서 다운로드 가능
ftp://ftp.cs.bath.ac.uk/pub/dream/documentation/sounds/modelling/.
Performance
kamp — Amplitude
kfreq — 소리날 음의 Frequency (변화가능)
kphoneme — 0~16의 정수로서 formant를 결정
“eee”, “ihh”, “ehh”, “aaa”,
“ahh”, “aww”, “ohh”, “uhh”,
“uuu”, “ooo”, “rrr”, “lll”,
“mmm”, “nnn”, “nng”, “ngg”.
아래의 것들은 아직 불가능함.
“fff”, “sss”, “thh”, “shh”,
“xxx”, “hee”, “hoo”, “hah”,
“bbb”, “ddd”, “jjj”, “ggg”,
“vvv”, “zzz”, “thz”, “zhh”
kform — Gain(0.0~1.2)
kvibf — vibrato의 frequency (0~12Hertz가 적당)
kvamp — vibrato의amplitude
Examples
Here is an example of the voice opcode. It uses the files voice.orc, voice.sco, and impuls20.aiff.
Example 417. Example of the voice opcode.
/* voice.orc */
; Initialize the global variables.
sr = 22050
kr = 2205
ksmps = 10
nchnls = 1
; Instrument #1.
instr 1
kamp = 3
kfreq = 0.8
kphoneme = 6
kform = 0.488
kvibf = 0.04
kvamp = 1
ifn = 1
ivfn = 2
av voice kamp, kfreq, kphoneme, kform, kvibf, kvamp, ifn, ivfn
; It tends to get loud, so clip voice’s amplitude at 30,000.
a1 clip av, 2, 30000
out a1
endin
/* voice.orc */
/* voice.sco */
; Table #1, an audio file for the carrier waveform.
f 1 0 256 1 “impuls20.aiff” 0 0 0
; Table #2, a sine wave for the vibrato waveform.
f 2 0 256 10 1
; Play Instrument #1 for a half-second.
i 1 0 0.5
e
/* voice.sco */
Credits
Author: John ffitch (after Perry Cook)
University of Bath, Codemist Ltd.
Bath, UK
Example written by Kevin Conder.
New in Csound version 3.47