ph_portugal
2.49 KB
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
//====================================================
// Portuguese/Portugal - based on Portuguese/Brazil
//====================================================
phoneme &
vowel starttype #@ endtype #@
length 180
ipa ɐ
FMT(vowel/a#_3)
unstressed
endphoneme
phoneme &/ // Used for final "a" when next word starts with "a"
vowel starttype #@ endtype #@
length 180
ipa ɐ
IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF
FMT(vowel/a#_3)
endphoneme
phoneme a
vowel starttype #a endtype #a
length 180
ChangeIfNotStressed(&)
FMT(vowel/a_2)
endphoneme
phoneme &~
vowel starttype #e endtype #@
ipa ɐU+0303
length 240
FMT(vnasal/ee_n2)
endphoneme
phoneme &U~
vowel starttype #@ endtype #u
ipa ɐU+0303ʊU+0303
length 240
FMT(vnasal/a#u_n)
endphoneme
phoneme E
vowel starttype #e endtype #e
length 180
ChangeIfUnstressed(y)
FMT(vowel/e_mid)
endphoneme
phoneme e
vowel starttype #e endtype #e
length 180
ChangeIfUnstressed(y)
FMT(vowel/e)
endphoneme
phoneme y
vowel starttype #@ endtype #@
length 130
ipa ɨ
FMT(vowel/i#_5)
endphoneme
phoneme i
vowel starttype #i endtype #i
length 170
IfNextVowelAppend(;)
FMT(vowel/i)
endphoneme
phoneme i/ // changes to NULL before a vowel
vowel starttype #i endtype #i
length 130
ipa ɨ
IF nextPh(isVowel) THEN
ChangePhoneme(NULL)
ENDIF
IfNextVowelAppend(;)
FMT(vowel/i#_5)
endphoneme
phoneme O
vowel starttype #o endtype #o
length 180
// ChangeIfNotStressed(o)
FMT(vowel/0_2)
endphoneme
phoneme o
vowel starttype #o endtype #o
length 180
ChangeIfNotStressed(u)
FMT(vowel/o)
endphoneme
phoneme u
vowel starttype #u endtype #u
length 180
FMT(vowel/u_6)
endphoneme
phoneme U
vowel starttype #u endtype #u
length 130
IF thisPh(isWordEnd) AND thisPh(isAfterStress) AND nextPh(isVowel) THEN
ChangePhoneme(w)
ENDIF
FMT(vowel/u_6)
endphoneme
phoneme EU
vowel starttype #e endtype #u
length 230
FMT(vdiph/eeu_2)
endphoneme
phoneme w
import_phoneme base2/w2
endphoneme
phoneme x // [r] for Portugal
liquid
trill
ipa ʁ
lengthmod 7
Vowelin f1=0 f2=1500 -400 400 f3=-400 80
IF nextPh(isNotVowel) THEN
ChangePhoneme(r/)
ENDIF
FMT(vwl_fr/@R) addWav(r3/rx, 120)
endphoneme
phoneme R // for Portugal this is same the as [r]
import_phoneme pt/r
endphoneme
phoneme s# // This is [s] for Brazil, [S] for Portugal
IF nextPh(isVoiced) THEN
ChangePhoneme(Z)
ENDIF
CALL base/S
ipa ʃ
endphoneme