Browse Source

qu: fix issue #561: add initial support for Quechua language

master
Valdis Vitolins 5 years ago
parent
commit
da359384fa
7 changed files with 253 additions and 0 deletions
  1. 1
    0
      CHANGELOG.md
  2. 4
    0
      Makefile.am
  3. 85
    0
      dictsource/qu_list
  4. 102
    0
      dictsource/qu_rules
  5. 5
    0
      espeak-ng-data/lang/qu
  6. 51
    0
      phsource/ph_quechua
  7. 5
    0
      phsource/phonemes

+ 1
- 0
CHANGELOG.md View File



new languages: new languages:
* uk (Ukrainian) -- Valdis Vitolins * uk (Ukrainian) -- Valdis Vitolins
* qu (Quechua) -- Valdis Vitolins


### 1.50 - 2019-11-29 ### 1.50 - 2019-11-29



+ 4
- 0
Makefile.am View File

espeak-ng-data/pl_dict \ espeak-ng-data/pl_dict \
espeak-ng-data/pt_dict \ espeak-ng-data/pt_dict \
espeak-ng-data/py_dict \ espeak-ng-data/py_dict \
espeak-ng-data/qu_dict \
espeak-ng-data/quc_dict \ espeak-ng-data/quc_dict \
espeak-ng-data/ro_dict \ espeak-ng-data/ro_dict \
espeak-ng-data/ru_dict \ espeak-ng-data/ru_dict \
py: espeak-ng-data/py_dict py: espeak-ng-data/py_dict
espeak-ng-data/py_dict: dictsource/py_list dictsource/py_rules dictsource/py_extra espeak-ng-data/py_dict: dictsource/py_list dictsource/py_rules dictsource/py_extra


qu: espeak-ng-data/qu_dict
espeak-ng-data/qu_dict: dictsource/qu_list dictsource/qu_rules dictsource/qu_extra

quc: espeak-ng-data/quc_dict quc: espeak-ng-data/quc_dict
espeak-ng-data/quc_dict: dictsource/quc_list dictsource/quc_rules dictsource/quc_extra dictsource/quc_emoji espeak-ng-data/quc_dict: dictsource/quc_list dictsource/quc_rules dictsource/quc_extra dictsource/quc_emoji



+ 85
- 0
dictsource/qu_list View File

// This file is UTF8 encoded
// Spelling-to-phoneme words for Quechuan

// names of letters
a a:
b ba:
chh tSha:
ch tSa:
ch' tS?a:
c tsa:
d da:
e e:
f fa:
g ga:
h ha:
i i:
y ja:
j xa:
kh kha:
k ka:
k' k`?a:
l la:
ll l^a:
m ma:
n na:
ñ n^a:
o o:
ph pha:
p pa:
p' p?a:
qh kha:
q ka:
q' k?a:
r RRa:
s sa:
th tha:
t ta:
t' t?a
u u:
v va:
w wa:
x ksa:
z za:

// numbers
_0 tS?usak
_1 huk
_2 iskaj
_3 kimsa
_4 tawa
_5 pitSka
_6 sukta
_7 kantSis
_8 pusak
_9 iskun
_10 tSunka
_0C patSak
_0M1 waranka
_0M2 hunu
_0M3 l^una

// unstressed words and/or with pause
// pronouns
hayk'a $u
ima $u
imahina $u
imapas $u
imayna $u
kay $u
kikin $u
llapan $u
machka $u
may $u
nuqa $u
pacha $u
pay $u
paykuna $u
pi $u
qam $u
qamkuna $u
sapay $u
tukuy $u
ñuqa $u
ñuqanchik $u
ñuqayku $u

+ 102
- 0
dictsource/qu_rules View File

// Translation rules for Quechuan
// This file is UTF-8 encoded


.replace
ʼ ' // replace modified apostrophe to simple apostrophe

.group a
a a

.group b
b b

.group c
ch tS
chh tSh
ch' tS`?

.group c
c ts

.group d
d d

.group e
e e

.group f
f f

.group g
g g

.group h
h h

.group i
i i

.group y
y j

.group j
j h

.group k
k k
kh kh
k' k`?

.group l
l l
ll l^

.group m
m m

.group n
n n

.group ñ
ñ n^

.group o
o o

.group p
p p
ph ph
p' p`?

.group q
q q
qh qh
q' q`?

.group r
r R

.group s
s s

.group t
t t
th th
t' t`?

.group u
u u

.group v
v v

.group w
w w

.group x
x ks

.group z
z z


+ 5
- 0
espeak-ng-data/lang/qu View File

name Quechua
language qu
stressRule 2 // stress on penultimate syllable
status testing


+ 51
- 0
phsource/ph_quechua View File

phoneme k`
vls vel stp
lengthmod 2
Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
WAV(ustop/k_ejc, 60)
endphoneme

phoneme p`
vls blb stp
voicingswitch b
lengthmod 2
Vowelin f1=0 f2=1000 -50 -100 f3=-200 80 amp=11
Vowelout f1=0 f2=1000 -500 -350 f3=-300 80 rms=22
WAV(ustop/p_asp)
endphoneme

phoneme q`
vls vel stp
lengthmod 2
Vowelin f1=0 f2=1700 -250 250 f3= -200 80 gpaus f4
Vowelout f1=0 f2=2300 300 400 f3=-200 80 rms=20
WAV(vocw/Q2, 100)
endphoneme


phoneme t`
vls alv stp
lengthmod 2
voicingswitch d
Vowelin f1=0 f2=1700 -300 300 f3=-100 80 gpaus
Vowelout f1=0 f2=1700 -300 250 f3=-100 80 rms=20
IF nextPh(isPause2) THEN
WAV(ustop/t_)
ENDIF
WAV(ustop/t_hi, 70)
endphoneme

phoneme tS`
vls pla afr sib
voicingswitch dZ
lengthmod 2
Vowelin f1=0 f2=1800 -200 200 f3=-100 80 gpaus

IF nextPh(isPause2) THEN
WAV(ustop/tsh_asp, 80)
ENDIF
WAV(ustop/tsh_asp, 80)
endphoneme



+ 5
- 0
phsource/phonemes View File

phonemetable prs base1 phonemetable prs base1
include ph_dari include ph_dari


phonemetable qu base1
include ph_quechua

phonemetable quc base1 phonemetable quc base1


phonemetable ru base1 phonemetable ru base1
phonemetable pt base2 phonemetable pt base2
include ph_pt_brazil include ph_pt_brazil



phonemetable ro base2 phonemetable ro base2
include ph_romanian include ph_romanian


phonemetable sd ur phonemetable sd ur
include ph_sindhi include ph_sindhi




Loading…
Cancel
Save