mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
Phoneme definitions. New keyword "prevoice", always add murmer before a voiced stop, not only after a vowel. Fixed bug in nextVowel() condition. Fixed bug is condition "isRhotic". Command line options. On Windows, -- means don't treat following arguments as options. --help output now should the espeak-data path. Tools->Lexicon. Redesign Lexicon processing for Russian and Bulgarian. Numbers. Fixes for Hungarian ordinal numbers. Fixed bug where double .. was ignored. Fixed bug in reporting word event lengths in callbacks. Fixed bug in reporting marker event positions in callbacks, when non-ascii text. SSML. Allow single as well as double quotes around strings. Fix bugs in SSML "prosody rate". Speed. Only use Sonic speedups greater than x2. Use custom eSpeak speed settings when Sonic speedup is used. Mbrola. Look for Mbrola voice also at /usr/share/mbrola/xx/xx espeakedit. Try "aplay" and then "play" to play sound. Languages: Kannada (kn) now in official release. Esperanto (eo) change prosody. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@257 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
|