mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-11-02 22:07:12 +00:00
Fix: Speak punctuation option also caused text after [[ to be spoken as phoneme codes even if espeakPHONEMES flag is not set. Speak sequences of letters and dots as individual letters, and don't speak 'dot', eg. "u.s.a." Don't announce punctuation in the alternative text inside <audio ... </audio> Vowelcharts, show the positions of multiple FMT() in vowel phonemes definitions. Phoneme definitions: New attributes: flag1, flag2, flag3 New attribute: nopause. Prevents the insertion of a short pause when this phoneme starts a word which follows a vowel. New conditions: isFlag1, isFlag2, isFlag3, isSibilant. New statement: InsertPhoneme() Phonemes: improve syllablic [m-] [n-] [N-] *_rules: add attributes $p_alt .. $p_alt3, $w_alt .. $w_alt3 *_list: add attributes: $sentence, $atstart klatt synthesizer: implement echo. espeakedit, Prosody display: Indicate stressed and secondary-stress syllables. espeakedit: remember window size and position. Intonation: New file, 'phsource/intonation' to define 'tunes' which can be used from voice files. espeakedit: add Compile -> Intonationm data Speed: Increase range to 80 to 450, with default=175. Improve speaking at high speeds. lang=en: Reduce consecutive unstressed syllables to 'diminished' stress, only in unstressed words. lang=de: Change 'r' phoneme. git-svn-id: https://espeak.svn.sourceforge.net/svnroot/espeak/trunk@244 d46cf337-b52f-0410-862d-fd96e6ae7743
343 lines
5.0 KiB
Plaintext
343 lines
5.0 KiB
Plaintext
|
|
|
|
//=========================================================
|
|
// Icelandic
|
|
//=========================================================
|
|
|
|
phoneme : // Lengthen previous vowel by "length"
|
|
virtual
|
|
length 110
|
|
endphoneme
|
|
|
|
|
|
// Vowels
|
|
//=======
|
|
|
|
phoneme i
|
|
vowel starttype #i endtype #i
|
|
length 130
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii_6)
|
|
endphoneme
|
|
|
|
phoneme i:
|
|
vowel starttype #i endtype #i
|
|
length 230
|
|
IfNextVowelAppend(;)
|
|
ChangeIfNotStressed(i)
|
|
FMT(vowel/i_4)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme I
|
|
vowel starttype #i endtype #i
|
|
length 130
|
|
IfNextVowelAppend(;)
|
|
FMT(vowel/ii)
|
|
endphoneme
|
|
|
|
phoneme I:
|
|
vowel starttype #i endtype #i
|
|
length 230
|
|
IfNextVowelAppend(;)
|
|
ChangeIfNotStressed(I)
|
|
FMT(vowel/ii)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme E
|
|
vowel starttype #e endtype #e
|
|
length 130
|
|
FMT(vowel/e_mid)
|
|
endphoneme
|
|
|
|
phoneme E:
|
|
vowel starttype #e endtype #e
|
|
length 130
|
|
FMT(vowel/e_e)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme a
|
|
vowel starttype #@ endtype #@
|
|
length 130
|
|
FMT(vowel/a#_2)
|
|
endphoneme
|
|
|
|
phoneme a:
|
|
vowel starttype #a endtype #a
|
|
length 230
|
|
ChangeIfNotStressed(a)
|
|
FMT(vowel/aa_8)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme O
|
|
vowel starttype #o endtype #o
|
|
length 130
|
|
FMT(vowel/oo_5)
|
|
endphoneme
|
|
|
|
phoneme O:
|
|
vowel starttype #o endtype #o
|
|
length 230
|
|
ChangeIfNotStressed(O)
|
|
FMT(vdiph2/o_oo)
|
|
endphoneme
|
|
|
|
|
|
phoneme u
|
|
vowel starttype #u endtype #u
|
|
length 130
|
|
FMT(vowel/u_2)
|
|
endphoneme
|
|
|
|
phoneme u:
|
|
vowel starttype #u endtype #u
|
|
length 230
|
|
ChangeIfNotStressed(u)
|
|
FMT(vowel/u_bck)
|
|
endphoneme
|
|
|
|
|
|
phoneme y
|
|
vowel starttype #@ endtype #@
|
|
length 130
|
|
FMT(vowel/y##)
|
|
endphoneme
|
|
|
|
|
|
phoneme y:
|
|
vowel starttype #i endtype #i
|
|
length 230
|
|
ChangeIfNotStressed(y)
|
|
FMT(vowel/yy_4)
|
|
endphoneme
|
|
|
|
|
|
phoneme W
|
|
vowel starttype #@ endtype #@
|
|
length 130
|
|
FMT(vowel/y#_3)
|
|
endphoneme
|
|
|
|
phoneme W:
|
|
vowel starttype #@ endtype #@
|
|
length 130
|
|
ChangeIfNotStressed(W)
|
|
FMT(vowel/y#_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme aI
|
|
vowel starttype #a endtype #i
|
|
length 170
|
|
FMT(vdiph/ai_7)
|
|
endphoneme
|
|
|
|
phoneme aI:
|
|
vowel starttype #a endtype #i
|
|
length 230
|
|
ChangeIfNotStressed(aI)
|
|
FMT(vdiph/ai_7)
|
|
endphoneme
|
|
|
|
|
|
phoneme eI
|
|
vowel starttype #e endtype #i
|
|
length 170
|
|
FMT(vdiph/ei)
|
|
endphoneme
|
|
|
|
phoneme eI:
|
|
vowel starttype #e endtype #i
|
|
length 230
|
|
ChangeIfNotStressed(eI)
|
|
FMT(vdiph/ei)
|
|
endphoneme
|
|
|
|
|
|
phoneme aU
|
|
vowel starttype #a endtype #u
|
|
length 170
|
|
FMT(vdiph/aau)
|
|
endphoneme
|
|
|
|
phoneme aU:
|
|
vowel starttype #a endtype #u
|
|
length 230
|
|
ChangeIfNotStressed(aU)
|
|
FMT(vdiph/aau)
|
|
endphoneme
|
|
|
|
|
|
phoneme oU
|
|
vowel starttype #o endtype #u
|
|
length 170
|
|
FMT(vdiph/ou_3)
|
|
endphoneme
|
|
|
|
phoneme oU: // long version for óf
|
|
vowel starttype #o endtype #u
|
|
length 230
|
|
ChangeIfNotStressed(oU)
|
|
FMT(vdiph/ou_3)
|
|
endphoneme
|
|
|
|
|
|
phoneme Yy
|
|
vowel starttype #@ endtype #i
|
|
length 150
|
|
FMT(vdiph/y#i_2)
|
|
endphoneme
|
|
|
|
phoneme Yy:
|
|
vowel starttype #@ endtype #i
|
|
length 220
|
|
ChangeIfNotStressed(Yy)
|
|
FMT(vdiph/y#i_2)
|
|
endphoneme
|
|
|
|
|
|
phoneme OI
|
|
vowel starttype #o endtype #i
|
|
length 210
|
|
FMT(vdiph/oi)
|
|
endphoneme
|
|
|
|
phoneme yI
|
|
vowel starttype #i endtype #i
|
|
length 180
|
|
FMT(vowel/yy_4)
|
|
endphoneme
|
|
|
|
|
|
|
|
// Consonants
|
|
//===========
|
|
|
|
phoneme m#
|
|
vcd blb nasal
|
|
lengthmod 6
|
|
Vowelout f1=2 f2=1000 -500 -350 f3=-200 80 brk
|
|
FMT(m/m#_)
|
|
endphoneme
|
|
|
|
|
|
phoneme n#
|
|
vcd alv nasal
|
|
lengthmod 6
|
|
Vowelout f1=2 f2=1700 -300 250 f3=-100 80 rms=20 brk
|
|
|
|
NextVowelStarts
|
|
VowelStart(n/n@)
|
|
VowelStart(n/na)
|
|
VowelStart(n/ne)
|
|
VowelStart(n/ni)
|
|
VowelStart(n/no)
|
|
VowelStart(n/nu)
|
|
EndSwitch
|
|
|
|
FMT(n/n#_)
|
|
endphoneme
|
|
|
|
|
|
phoneme n^#
|
|
vcd pal nasal palatal
|
|
lengthmod 6
|
|
Vowelout f1=3 f2=2300 300 400 f3=100 80 brk rate
|
|
FMT(n^/n^#_)
|
|
endphoneme
|
|
|
|
|
|
|
|
phoneme N#
|
|
vcd vel nasal
|
|
lengthmod 6
|
|
Vowelout f1=3 f2=2300 300 400 f3=-200 80 len=40 rms=20 brk
|
|
|
|
NextVowelStarts
|
|
VowelStart(nn/nn@)
|
|
VowelStart(nn/nna)
|
|
VowelStart(nn/nne)
|
|
VowelStart(nn/nni)
|
|
VowelStart(nn/nno)
|
|
VowelStart(nn/nnu)
|
|
EndSwitch
|
|
|
|
FMT(nn/nn#_)
|
|
endphoneme
|
|
|
|
|
|
phoneme l#
|
|
vls alv frc
|
|
lengthmod 3
|
|
WAV(ufric/l#, 25)
|
|
endphoneme
|
|
|
|
|
|
phoneme tl#
|
|
vls alv stop
|
|
lengthmod 2
|
|
Vowelin f1=0 f2=1700 -300 300 f3=-100 80
|
|
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
|
|
WAV(ufric/tl#, 50)
|
|
endphoneme
|
|
|
|
|
|
phoneme r# // used for [r] when not preceding a vowel
|
|
liquid
|
|
lengthmod 2 //
|
|
FMT(r3/r#_) addWav(r3/rx)
|
|
// before n r3/r_n+r3/rx
|
|
endphoneme
|
|
|
|
|
|
phoneme b
|
|
vls blb stop
|
|
lengthmod 5
|
|
Vowelin f1=1 f2=1000 -300 -200 f3=-200 80 amp=11
|
|
Vowelout f1=2 f2=1000 -300 -300 f3=-300 80 brk
|
|
WAV(x/b)
|
|
endphoneme
|
|
|
|
|
|
phoneme d
|
|
vls alv stop
|
|
lengthmod 5
|
|
Vowelin f1=2 f2=1700 -300 300 f3=-100 80
|
|
Vowelout f1=2 f2=1700 -300 300 f3=-100 80
|
|
IF nextPh(isPause2) THEN
|
|
WAV(x/d_)
|
|
ENDIF
|
|
WAV(x/d, 80)
|
|
endphoneme
|
|
|
|
|
|
phoneme g
|
|
vls vel stop
|
|
lengthmod 5
|
|
Vowelin f1=2 f2=2300 200 300 f3=-300 80
|
|
Vowelout f1=2 f2=2300 250 300 f3=-300 80 brk
|
|
IF nextPh(isPause2) THEN
|
|
WAV(x/g_)
|
|
ENDIF
|
|
WAV(x/g2, 150)
|
|
endphoneme
|
|
|
|
|
|
phoneme v // no fricative noise
|
|
import_phoneme base/v#
|
|
voicingswitch f
|
|
endphoneme
|
|
|
|
|
|
phoneme s2 // 2nd part of geminated s
|
|
import_phoneme consonants/s2
|
|
endphoneme
|
|
|