File: ph_basque

package info (click to toggle)
espeakedit 1.48.15-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 15,436 kB
  • sloc: cpp: 41,217; ansic: 191; makefile: 40
file content (167 lines) | stat: -rwxr-xr-x 2,487 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167

//====================================================
//  Basque  - based on Base2
//====================================================

phoneme a
  vowel starttype #a endtype #a
  length 200
  FMT(vowel/a_4)
endphoneme


phoneme a2  // delete if the next vowel is 'a'. Used for numbers.
  vowel starttype #a endtype #a

  length 200

  IF nextPh(#a) THEN
    ChangePhoneme(NULL)   // merge consecutive 'a'
  ENDIF

  FMT(vowel/a_4)
endphoneme


phoneme e
  vowel starttype #e endtype #e
  length 200
  FMT(vowel/e_mid2)
endphoneme


phoneme i
  vowel starttype #i endtype #i
  length 190
  IfNextVowelAppend(;)
  FMT(vowel/i)
endphoneme


phoneme o
  vowel starttype #o endtype #o
  length 200
  FMT(vowel/oo)
endphoneme


phoneme u
  vowel starttype #u endtype #u
  length 200
  FMT(vowel/u_bck2)
endphoneme


phoneme Y
  vowel  starttype #@  endtype #@
  length 200
  FMT(vowel/y#)
endphoneme


phoneme s
  CALL es/s
  ipa s̺
endphoneme


phoneme z
  vls alv frc sibilant
  ipa s̻
  lengthmod 3
  Vowelin  f1=0  f2=1700 -300 300  f3=-100 80
  Vowelout f1=0  f2=1700 -300 250  f3=-100 80  rms=20  
  IF nextPh(isPause) THEN
    WAV(ufric/z_eu, 60)
  ENDIF
  WAV(ufric/z_eu, 90)
endphoneme


phoneme ts
  vls alv afr sibilant
  ipa ts̺
  lengthmod 2
  Vowelin f1=0  f2=1700 -300 300  f3=-100 80
  Vowelout f1=0 f2=1700 -300 250  f3=-100 80  rms=20
  IF nextPh(isPause2) THEN
    WAV(ufric/ts_eu, 60)
  ENDIF
  WAV(ufric/ts_eu, 90)
endphoneme


phoneme tz
  vls alv afr sibilant
  ipa ts̻
  lengthmod 2
  Vowelin f1=0  f2=1700 -300 300  f3=-100 80
  Vowelout f1=0 f2=1700 -300 250  f3=-100 80  rms=20
  IF nextPh(isPause2) THEN
    WAV(ufric/tz_eu, 90)
  ENDIF
  WAV(ufric/tz_eu, 60)
endphoneme


phoneme t
  vls dnt stop
  lengthmod 2  
  CALL base2/t
endphoneme


phoneme r
  vcd alv flp rhotic
  brkafter
  ipa ɾ
  lengthmod 3

  IF nextPhW(isVowel) THEN
    ChangePhoneme(**)
  ENDIF

  CALL base/*
endphoneme


phoneme b
  import_phoneme es/b
endphoneme

phoneme d
  import_phoneme es/d
endphoneme

phoneme g
  import_phoneme es/g
endphoneme

phoneme n
  vcd alv nasal
  lengthmod 4

  IF prevPhW(#i) AND nextPhW(isVowel) THEN
    ChangePhoneme(n^)
  ENDIF
  
  CALL base/n
endphoneme

phoneme n2  // doesn't palatalise, used for exceptions
  vcd alv nasal
  lengthmod 4
  CALL base/n
endphoneme

phoneme l
  liquid
  IF prevPhW(#i) AND nextPhW(isVowel) THEN
    ChangePhoneme(l^)
  ENDIF
  CALL base/l
endphoneme
phoneme l2 // same as n2
  liquid
  CALL base/l
endphoneme