mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
Indicate language changes in IPA phoneme output. Phoneme definitions FMT(), second parameter is amplitude percentage. Phoneme definitions CALL(), If phoneme type is not defined, copy the static attributes from the called phoneme. Unpronouncable word check: stop when an apostrophe is reached. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@250 d46cf337-b52f-0410-862d-fd96e6ae7743
167 lines
3.0 KiB
Plaintext
167 lines
3.0 KiB
Plaintext
|
|
// This file inherits phonemes from ph_croatian
|
|
// Only phonemes which differ from the inherited phonemes need
|
|
// to be included here.
|
|
|
|
phoneme I
|
|
vowel starttype #i endtype #i
|
|
length 120
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii_6)
|
|
endphoneme
|
|
|
|
|
|
phoneme &
|
|
vowel starttype #a endtype #a
|
|
ipa ɐ
|
|
length 140
|
|
FMT(vowel/a#)
|
|
endphoneme
|
|
|
|
|
|
phoneme r* // this is [R] from Slovak/Czech
|
|
liquid
|
|
trill
|
|
ipa r
|
|
lengthmod 6
|
|
Vowelin f1=0 f2=1700 -300 300 f3=-300 80
|
|
Vowelout f1=2 f2=1700 -300 300 f3=-300 80 brk
|
|
FMT(r3/r_trill) addWav(r3/r_trill.wav, 50)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme t // dental variant of /t/
|
|
vls dnt stop
|
|
lengthmod 2
|
|
voicingswitch d
|
|
Vowelin f1=0 f2=1600 -300 300 f3=-100 80
|
|
Vowelout f1=0 f2=1600 -300 250 f3=-100 80 rms=20
|
|
IF nextPh(isPause2) THEN
|
|
WAV(ustop/t_sr, 35)
|
|
ENDIF
|
|
WAV(ustop/t_sr, 50)
|
|
endphoneme
|
|
|
|
|
|
phoneme d
|
|
vcd alv stop
|
|
lengthmod 5
|
|
voicingswitch t
|
|
Vowelin f1=2 f2=1700 -300 300 f3=-100 80 amp=16
|
|
Vowelout f1=2 f2=1700 -300 300 f3=-100 80
|
|
|
|
IF PreVoicing THEN
|
|
FMT(d/xd)
|
|
ENDIF
|
|
|
|
IF nextPh(isPause2) THEN
|
|
FMT(d/d_dnt) addWav(ustop/t_sr)
|
|
ENDIF
|
|
FMT(d/d_dnt) addWav(ustop/t_sr, 50)
|
|
endphoneme
|
|
|
|
|
|
// This is for letter "h" at the beginning of a word
|
|
phoneme x
|
|
vls vel frc
|
|
lengthmod 3
|
|
IF nextPh(#i) OR nextPh(#e) THEN
|
|
WAV(ufric/ch_sr)
|
|
ELIF nextPh(isVowel) THEN
|
|
WAV(ufric/x_sr)
|
|
ENDIF
|
|
WAV(ufric/x_sr, 70) // no vowel following
|
|
endphoneme
|
|
|
|
|
|
// This is for letter "h" not at the beginning of word
|
|
phoneme h
|
|
vls vel frc
|
|
lengthmod 3
|
|
IF nextPh(#@) THEN
|
|
WAV(h/h@)
|
|
ELIF nextPh(#i) OR nextPh(#e) THEN
|
|
WAV(ufric/ch_sr)
|
|
ELIF nextPh(isVowel) THEN
|
|
WAV(ufric/x_sr)
|
|
ENDIF
|
|
WAV(ufric/x_sr, 70) // no vowel following
|
|
endphoneme
|
|
|
|
|
|
phoneme dZ
|
|
vcd pla afr sibilant
|
|
lengthmod 5
|
|
voicingswitch tS
|
|
Vowelin f1=2 f2=2300 200 400 f3=100 80
|
|
Vowelout f1=2 f2=2300 250 300 f3=100 80 brk
|
|
|
|
IF PreVoicing THEN
|
|
FMT(dzh/xdzh)
|
|
ENDIF
|
|
|
|
FMT(dzh/dzh) addWav(ufric/sh_pzd2)
|
|
endphoneme
|
|
|
|
|
|
phoneme dZ;
|
|
vcd pla afr sibilant palatal
|
|
lengthmod 5
|
|
ipa dʑ
|
|
voicingswitch tS;
|
|
Vowelin f1=2 f2=2700 400 600 f3=300 80 rate len=70
|
|
|
|
IF PreVoicing THEN
|
|
FMT(dzh/xdzh)
|
|
ENDIF
|
|
|
|
FMT(dzh/dzh) addWav(ustop/ts_sr)
|
|
endphoneme
|
|
|
|
|
|
phoneme tS
|
|
vls pla afr sibilant
|
|
lengthmod 2
|
|
voicingswitch dZ
|
|
Vowelin f1=0 f2=2300 200 400 f3=-100 80
|
|
WAV(ustop/tsh_sr, 50)
|
|
endphoneme
|
|
|
|
|
|
phoneme tS;
|
|
vls pal afr sibilant palatal
|
|
lengthmod 2
|
|
ipa tɕ
|
|
voicingswitch dZ;
|
|
Vowelin f1=0 f2=2700 400 600 f3=300 80 rate len=70
|
|
WAV(ustop/ts_sr)
|
|
endphoneme
|
|
|
|
|
|
phoneme Z
|
|
vcd pla frc sibilant
|
|
lengthmod 6
|
|
voicingswitch S
|
|
Vowelin f1=0 f2=2000 0 300 f3=-200 80
|
|
Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
|
|
IF nextPh(isPause2) THEN
|
|
FMT(voc/zh) addWav(ufric/sh_pzd2, 50)
|
|
ENDIF
|
|
FMT(voc/zh) addWav(ufric/sh_pzd2, 60)
|
|
endphoneme
|
|
|
|
|
|
phoneme S
|
|
vls pla frc sibilant
|
|
lengthmod 3
|
|
voicingswitch Z
|
|
Vowelin f1=0 f2=2100 100 300 f3=-100 80
|
|
Vowelout f1=0 f2=2100 100 300 f3=-100 80
|
|
IF nextPh(isPause2) THEN
|
|
WAV(ufric/sh_pzd2, 60)
|
|
ENDIF
|
|
WAV(ufric/sh_pzd2, 70)
|
|
endphoneme
|
|
|