mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-02 06:01:53 +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
331 lines
5.3 KiB
Plaintext
331 lines
5.3 KiB
Plaintext
|
|
//====================================================
|
|
// Romanian
|
|
//====================================================
|
|
|
|
// Vowels
|
|
|
|
|
|
phoneme I^ // "silent i", palatilizes the preceding consonant
|
|
vowel starttype #i endtype #i
|
|
unstressed
|
|
ipa ʲ
|
|
length 70
|
|
IF nextPh(isVowel) THEN
|
|
ChangePhoneme(;)
|
|
ENDIF
|
|
IF prevPh(l;) THEN
|
|
Length 60
|
|
FMT(vwl_ro/li)
|
|
ENDIF
|
|
IF prevPh(m;) THEN
|
|
FMT(vwl_ro/mi)
|
|
ENDIF
|
|
IF prevPh(n;) THEN
|
|
FMT(vwl_ro/ni)
|
|
ENDIF
|
|
FMT(vwl_ro/ii-)
|
|
endphoneme
|
|
|
|
phoneme i/ // used for "i" at end of word
|
|
vowel starttype #i endtype #i
|
|
length 150
|
|
ChangeIfNotStressed(I^)
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/i)
|
|
endphoneme
|
|
|
|
phoneme e
|
|
vowel starttype #e endtype #e
|
|
length 180
|
|
FMT(vowel/e_mid2)
|
|
endphoneme
|
|
|
|
phoneme y
|
|
vowel starttype #@ endtype #@
|
|
ipa ɨ
|
|
length 180
|
|
FMT(vowel/i#_5)
|
|
endphoneme
|
|
|
|
phoneme a
|
|
vowel starttype #a endtype #a
|
|
length 180
|
|
FMT(vowel/a_2)
|
|
endphoneme
|
|
|
|
phoneme @
|
|
vowel starttype #@ endtype #@
|
|
length 170
|
|
FMT(vowel/@_low)
|
|
endphoneme
|
|
|
|
phoneme o
|
|
vowel starttype #o endtype #o
|
|
length 170
|
|
FMT(vowel/o-_4)
|
|
endphoneme
|
|
|
|
phoneme u
|
|
vowel starttype #u endtype #u
|
|
length 160
|
|
FMT(vowel/u_2)
|
|
endphoneme
|
|
|
|
phoneme Y
|
|
vowel starttype #@ endtype #@
|
|
length 180
|
|
FMT(vowel/y#)
|
|
endphoneme
|
|
|
|
|
|
|
|
// Diphthongs
|
|
|
|
|
|
phoneme @I
|
|
vowel starttype #@ endtype #i
|
|
length 250
|
|
FMT(vdiph/@i_3)
|
|
endphoneme
|
|
|
|
phoneme @U
|
|
vowel starttype #@ endtype #u
|
|
length 260
|
|
FMT(vdiph/@u_3)
|
|
endphoneme
|
|
|
|
phoneme oU
|
|
vowel starttype #o endtype #u
|
|
length 260
|
|
FMT(vdiph/ou_2)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme iI
|
|
vowel starttype #i endtype #i
|
|
length 250
|
|
FMT(vdiph/ii)
|
|
endphoneme
|
|
|
|
phoneme yI
|
|
vowel starttype #@ endtype #i
|
|
length 210
|
|
FMT(vdiph/i#i)
|
|
endphoneme
|
|
|
|
phoneme yU
|
|
vowel starttype #@ endtype #u
|
|
length 230
|
|
FMT(vdiph2/uw_3)
|
|
endphoneme
|
|
|
|
phoneme ea
|
|
vowel starttype #e endtype #a
|
|
length 250
|
|
FMT(vdiph2/ea)
|
|
endphoneme
|
|
|
|
phoneme eo
|
|
vowel starttype #e endtype #o
|
|
length 270
|
|
FMT(vdiph2/eo)
|
|
endphoneme
|
|
|
|
phoneme e[u
|
|
vowel starttype #e endtype #u
|
|
length 250
|
|
FMT(vdiph2/e[u)
|
|
endphoneme
|
|
|
|
phoneme Oa
|
|
vowel starttype #o endtype #a
|
|
length 250
|
|
FMT(vdiph2/oa)
|
|
endphoneme
|
|
|
|
|
|
// Consonants
|
|
|
|
phoneme r
|
|
liquid
|
|
trill
|
|
lengthmod 7
|
|
IF nextPh(isNotVowel) THEN
|
|
ChangePhoneme(r/)
|
|
ENDIF
|
|
|
|
NextVowelStarts
|
|
VowelStart(r/r@, -15)
|
|
VowelStart(r/ra, -15)
|
|
VowelStart(r/re, -15)
|
|
VowelStart(r/ri, -15)
|
|
VowelStart(r/ro, -15)
|
|
VowelStart(r/ru, -15)
|
|
EndSwitch
|
|
|
|
IF prevPh(isVowel) THEN
|
|
VowelEnding(r/xr, -50)
|
|
ENDIF
|
|
|
|
IF prevPh(t) OR prevPh(p) OR prevPh(k) THEN
|
|
FMT(r/trr)
|
|
ENDIF
|
|
FMT(r/rr)
|
|
endphoneme
|
|
|
|
|
|
phoneme l;
|
|
liquid
|
|
lengthmod 7
|
|
|
|
CALL base/l
|
|
Vowelout colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme m;
|
|
vcd blb nasal
|
|
lengthmod 4
|
|
|
|
CALL base/m
|
|
Vowelout f1=2 f2=1000 -500 -350 f3=200 80 brk colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme n;
|
|
vcd alv nasal
|
|
lengthmod 4
|
|
|
|
CALL base/n
|
|
Vowelout f1=2 f2=1700 -300 250 f3=200 80 rms=20 brk colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme p;
|
|
vls blb stop
|
|
lengthmod 2
|
|
voicingswitch b
|
|
CALL base2/p
|
|
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=30 colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme t; // dental variant of /t/
|
|
vls dnt stop
|
|
lengthmod 2
|
|
voicingswitch d
|
|
CALL base2/t
|
|
Vowelout f1=0 f2=1700 100 250 f3=0 80 rms=20 colr=1
|
|
endphoneme
|
|
|
|
phoneme ts;
|
|
vls alv afr sibilant
|
|
lengthmod 2
|
|
CALL base2/ts
|
|
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme f;
|
|
vls lbd frc
|
|
lengthmod 3
|
|
voicingswitch v
|
|
CALL base/f
|
|
Vowelout f1=0 f2=1000 -500 -350 f3=-200 80 colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme s;
|
|
vls alv frc sibilant
|
|
voicingswitch z;
|
|
lengthmod 3
|
|
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
|
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20 colr=1
|
|
WAV(ufric/s_pzd, 50)
|
|
endphoneme
|
|
|
|
|
|
phoneme S;
|
|
vls pla frc sibilant
|
|
voicingswitch Z;
|
|
lengthmod 3
|
|
Vowelin f1=0 f2=2100 100 300 f3=-100 80
|
|
Vowelout f1=0 f2=2100 100 300 f3=-100 80 colr=1
|
|
WAV(ufric/sh_pzd)
|
|
endphoneme
|
|
|
|
|
|
phoneme b;
|
|
vcd blb stop
|
|
voicingswitch p;
|
|
lengthmod 5
|
|
Vowelout f1=2 f2=1000 -500 -300 f3=-300 80 brk colr=1
|
|
|
|
IF nextPh(#i) THEN
|
|
FMT(b/bi) addWav(x/b)
|
|
ENDIF
|
|
FMT(b/b) addWav(x/b)
|
|
endphoneme
|
|
|
|
|
|
phoneme d; // dental variant of /d/
|
|
vcd dnt stop
|
|
voicingswitch t;
|
|
lengthmod 5
|
|
CALL base2/d
|
|
Vowelin f1=2 f2=1700 100 300 f3=0 80
|
|
Vowelout f1=2 f2=1700 100 300 f3=0 80 colr=1
|
|
endphoneme
|
|
|
|
|
|
phoneme *; // flap
|
|
vcd alv flp
|
|
lengthmod 2
|
|
Vowelout f1=3 f2=1700 -300 300 f3=-300 80 rms=35 len=15 colr=1
|
|
IF nextPh(#i) THEN
|
|
Vowelin f1=0 f2=1700 -300 300 f3=-400 80
|
|
FMT(d/tap_i) addWav(r3/rx)
|
|
ENDIF
|
|
FMT(d/tap) addWav(r3/rx)
|
|
endphoneme
|
|
|
|
|
|
phoneme v;
|
|
vcd lbd frc
|
|
lengthmod 6
|
|
voicingswitch f;
|
|
Vowelin f1=0 f2=1000 -300 -200 f3=-300 100
|
|
Vowelout f1=0 f2=1000 -500 -300 f3=-300 60 len=50 colr=1
|
|
IF nextPh(isPause2) THEN
|
|
FMT(voc/v_) addWav(vocw/v)
|
|
ENDIF
|
|
FMT(voc/v) addWav(vocw/v)
|
|
endphoneme
|
|
|
|
|
|
phoneme z;
|
|
vcd alv frc sibilant
|
|
lengthmod 6
|
|
voicingswitch s;
|
|
Vowelout f1=0 f2=1700 -300 300 f3=-100 60 len=50 colr=1
|
|
IF nextPh(isPause2) THEN
|
|
FMT(voc/z_) addWav(ufric/s_)
|
|
ENDIF
|
|
FMT(voc/z) addWav(ufric/s_)
|
|
endphoneme
|
|
|
|
|
|
phoneme Z;
|
|
vcd pla frc sibilant
|
|
lengthmod 6
|
|
voicingswitch S;
|
|
Vowelin f1=0 f2=2000 0 300 f3=-200 80 colr=1
|
|
Vowelout f1=2 f2=2000 0 300 f3=-200 80 brk
|
|
IF nextPh(isPause2) THEN
|
|
FMT(voc/zh_) addWav(vocw/zh)
|
|
ENDIF
|
|
FMT(voc/zh) addWav(vocw/zh)
|
|
endphoneme
|