Commit Graph
1005 Commits
Author SHA1 Message Date
Sergei B 9dd964ffed Belarusian: fix IPA chars
- fix IPA chars for "s;" and "z;" phonemes
- add bug note about "...i a..." case
2022-12-03 19:45:46 +03:00
Yury Popov 9e74f721ae code cleanup: move vowelcharts out of phsource 2022-11-18 10:32:19 +03:00
Andrij Mizyk 4b48328d29 Support of Ukrainian language 2022-10-31 21:11:50 +02:00
Sergei B 3199d7889b Belarusian: improvements
- fixed/removed not working rules in be_list
- added stress to the words in be_list
- fixed multi thousand transcription
- removed not working rules in be_rules
- added rules of palatalization, phonemes lengthen
- fixed dropping of [a] at the end of words
- fixed message "Full dictionary is not installed for"
- added configuration in tr_languages.c
- fixed/added phonemes for `Q`, `ts`, `ts;`, `dz`, `dz.`, `;` etc
2022-10-14 00:32:08 +03:00
Alaksiej Stankievič 68b9ca5d83 Rework rules for Belarusian and update phonemes
This patch strip out dependency on Russian, as its complicated relationship
between spelling and pronunciation overburden rules for Belarusian. The rules
themselves are also added. They don't have devoicing at the end of the words
for now. Also, gemination of consonants doesn't work as expected, as it seems
on the top of this rule some other rules apply. This after-processing is
responsible also for the strange behaviour of ending [a].
2022-10-14 00:32:08 +03:00
Valdis Vitolins b6ffccff6a Improve syllabic m and n 2022-09-12 22:10:52 +03:00
Juho Hiltunen 1443c970cd cmn: search for dictionary matches instead of translating characters.
cmn (Mandarin chinese) has been broken since 4825905.

This fix makes mandarin behave more like Cantonese. Instead of
translating characters, we search for dictionary matches.

The functionality of normal vs Chao tones should be investigated more.
Looks like latin characters as pinyin still uses Chao tones whereas
the characters in cmn_list and cmn_listx do not.

See #1044 for discussion. See also #1028 and #1163.
2022-08-31 21:15:29 +03:00
Juho Hiltunen 69c79ab931 code cleanup: remove unused phonemetable ph_yoruba 2022-08-29 21:26:00 +03:00
Juho Hiltunen 89522c6431 code cleanup: remove unused phonemetable ph_burmese
Myanmar/Burmese (my) uses phonemetable ph_myanmar instead.
2022-08-29 21:24:20 +03:00
Juho Hiltunen 0dbe71827e remove unused phonemetable for kinyarwanda.
Fixup for commit 89768755.
2022-08-28 21:53:11 +03:00
Juho Hiltunen 4e7740fa96 code cleanup: remove unused phonemetable ak (akan) 2022-08-28 21:40:00 +03:00
Juho Hiltunen 2ef9d75067 code cleanup: remove dead code related to language 'wo'
This is the only reference to the language.
2022-08-28 21:34:03 +03:00
Juho Hiltunen 8976875590 code cleanup: remove dead code related to Kiryarwanda
This is the only reference to the language.
2022-08-28 21:34:03 +03:00
Juho Hiltunen 3eb43c1ef5 code cleanup: remove dead code related to Tibetan
Language 'bo' has no data files. Tibetan might have been supported
before but clearly isn't any longer.
2022-08-28 20:40:58 +03:00
Valdis Vitolins 0954b24c8c Merge pull request #1248 2022-08-15 19:18:03 +03:00
Alexander Epaneshnikov dc15359228 Merge pull request #1225 from seanbudd/map-ms-to-id
Map phoneme table ms rules to id rules
2022-06-28 17:00:08 +03:00
Sean Budd 24e837efaa Map phonemone table ms rules to id rules
As this is the behaviour when building eSpeak
2022-06-27 21:49:07 +10:00
Valdis Vitolins f07810b89e Merge pull request #1187 2022-06-27 14:00:16 +03:00
Bill DenglerandElizabeth Resendiz 254b64939d Add support for Totontepec Mixe
This commit implements support for [Totontepec Mixe](https://en.wikipedia.org/wiki/Totontepec_Mixe). The Espeak rules are based on the phonological inventory, orthographic mappings, and phonetic processes described in the "Esbozo fonológico" (phonological outline/sketch) chapter of Verónica Guzmán Guzmán's 2012 master's thesis in Indo American Linguistics awarded by the [Centro de Investigaciones y Estudios Superiores en Antropología Social](https://ciesas.edu.mx/) and *Vocabulario Mixe de Totontepec* (Totontepec Mixe vocabulary), compiled by Alvin Schoenhals and Louise C. Schoenhals and published by the Summer Institute of Linguistics in 1965.

This commit was developed as part of a project for [Computational Linguistics](https://jnw.domains.swarthmore.edu/ling073/syllabus.php) at [Swarthmore College](https://swarthmore.edu). We feel that this language is suitable for merge with "testing" status, but further verification/improvements by native speakers would be very helpful.

co-authored-by: Elizabeth Resendiz <e.r.resendiz7@gmail.com>
2022-05-11 17:13:06 -04:00
Andiv06 6d05b492df Update Romanian 2022-05-06 20:49:01 +03:00
Valdis Vitolins 094dc47493 Issue #1063: replace pronunciation of غ to Q 2022-03-31 23:06:06 +03:00
Valdis Vitolins 6dce2117d5 Issue #1063: change length of s[ to 140ms 2022-03-31 22:56:35 +03:00
Valdis Vitolins d4f0a97e9f Merge pull request #1142
Fix #1083 and improve some things in German
2022-03-31 21:28:56 +03:00
Richard Calvi b5f81a40b4 Removed trailing whitespace 2022-03-13 19:32:19 +09:00
Richard Calvi d8c60d97ba Added new language variant: en-us-nyc, a vintage New York City accent 2022-03-12 22:06:58 +09:00
Andrii Logan Zvorygin e2f6c75258 Update Pyash with workaround for tones 2022-03-11 18:28:23 +02:00
Valdis Vitolins 86bc55c5c4 Revert fixes for Russian from ineiev@gnu.org
This reverts commit 433d219eca.
2022-01-18 21:33:48 +02:00
Ineiev aa663ad7f7 ru: improve definitions for l and l; 2022-01-18 20:09:12 +02:00
Ineiev 55fa5ea5d3 ru: use s. and z. instead of S and Z 2022-01-18 20:09:12 +02:00
Ineiev b5115298b4 ru: improve source for y 2022-01-18 20:09:12 +02:00
Ineiev e105e98747 ru: add palatalized velars 2022-01-18 20:09:12 +02:00
Ineiev d8f56d14a3 sr, ru: use t from Serbian in Russian 2022-01-18 20:09:11 +02:00
Ineiev 433d219eca ru: fix name of vcd pal nas pzd 2022-01-18 20:09:11 +02:00
bespsm 7aacdef65d Add initial suport for Belarusian 2021-11-15 15:35:28 +02:00
Marco BARNIG be962b067b Add support for Luxembourgish 2021-11-11 22:05:09 +02:00
Valdis Vitolins 7211bb77ec Revert "ar: issue #1009: improve sound of Ain"
This reverts commit 02783150cd.
2021-09-16 13:26:46 +03:00
Valdis Vitolins 02783150cd ar: issue #1009: improve sound of Ain 2021-09-13 23:07:32 +03:00
Valdis Vitolins b8fd44837a Issue #1007: replace O2 with O for MBROLA 2021-08-22 14:40:23 +03:00
Valdis Vitolins 3b637450e9 Issue #825: add initial support for Hebrew MBROLA voices 2021-07-29 22:57:39 +03:00
Lucas Werkmeister 3ad8114e4a Fix Elvish ⟨o⟩, ⟨ó⟩, ⟨ê⟩ vowels
⟨o⟩ almost certainly represents [ɔ] – Appendix E of The Lord of the
Rings describes it as the sound in English “for”. This means we should
use a phoneme [[O]], not [[o]]; we should also create our own phoneme
for this, since the one we inherit from Latin sounds much more like [o]
to me.

In Quenya, long ⟨ó⟩ (and, presumably, ⟨ô⟩) is, according to Appendix E,
“tenser and ‘closer’”, which presumably means [o]. (Online sources seem
to agree.) The Latin [[o:]] phoneme works well enough for this.

In Sindarin, ⟨ó⟩ has “the same quality” as ⟨o⟩ according to Appendix E,
so emit it as [[O:]] for [ɔː]. This sounds sensible enough te me.

I’m undecided whether “Lothlórien” should be in sjn_list, to pronounce
it with [oː] instead of [ɔː]. It’s composed of Sindarin “loth” and
Quenya “Lórien”, so that could potentially justify a pronunciation with
a Quenya ⟨ó⟩. But then again, maybe it should be a standard Sindarin
⟨ó⟩. For now, I’ve opted to not add it; in the film The Fellowship of
the Ring, Aragorn (Viggo Mortensen) says “Lothlórien” after the
Fellowship leave Moria, and to me his ⟨ó⟩ sounds more like [ɔː] than
[oː], so if this is wrong, at least it’s no more wrong than the famous
movie adaptation :)
2021-07-18 13:28:03 +02:00
Lucas Werkmeister 4ed36b07ec Fix Elvish ⟨e⟩, ⟨é⟩, ⟨ê⟩ vowels
⟨e⟩ almost certainly always represents [ɛ], not [e]. Appendix E of The
Lord of the Rings describes it as the sound in English “were”, and I’m
not aware of any English dialect that pronounces “were” with an [e].

In Quenya, long ⟨é⟩ (and, presumably, ⟨ê⟩) is, according to Appendix E,
“tenser and ‘closer’”, which I assume means [e]. Several online sources
agree with this as well.

In Sindarin, Appendix E is quite clear that ⟨é⟩ has “the same quality”
as ⟨e⟩, only differring from it in length: I assume this must mean that
⟨é⟩ is [ɛː] in Sindarin. The online information on this is confusing and
sometimes contradictory even within the same page; several sources claim
that Sindarin has an [eː], but I have not seen this claim substantiated
with a source from Tolkien, and I suspect it’s simply a confusion with
Quenya. It scarcely matters, anyway: Sindarin words with ⟨é⟩ or ⟨ê⟩ seem
to be pretty rare. (I’m aware of a single word with an ⟨é⟩ – the name
Eluréd, son of Dior – and the Omikhleia Sindarin dictionary [1] features
some words with ⟨ê⟩, giving their pronunciation with [ɛː].)

The [[EI]] phoneme for Sindarin ⟨ei⟩ is copied from the base2 phonemes.

[1]: https://www.jrrvf.com/hisweloke/sindar/index.html
2021-07-18 13:28:03 +02:00
Lucas Werkmeister cc4b50f3f4 Replace Elvish [[ui]]/[[uI]] diphthong
Previously, we used vdiph/ui_4 for [[ui]]; I think the main reason for
that was that I didn’t like how the most common ⟨ui⟩, vdiph/ui, seemed
to almost vanish in “Cuiviénen”. However, vdiph/ui_4 has the curious
property that in some positions, e.g. ⟨uia⟩ in “tuia” or ⟨uil⟩
“tuilindo”, it sounds (to me) more like /ul/ than /ui/. (This also
affects Finnish, which seems to be the only other language that uses
vdiph/ui_4 [a few other languages also use it for [[ui]] but don’t seem
to emit that phoneme in their rules files] – listen to eSpeak NG
pronounce Finnish ”luiun”, for instance.) I eventually found out that
this can be worked around by substantially lengthening the phoneme
(length 500 seems to work in all positions), but this extreme length
(the absolute maximum is just 511) becomes rather noticeable whenever
the ui is used, including in positions where it had sounded just fine
before. Meanwhile, the more standard vdiph/ui can be made to sound
reasonably well in “Cuiviénen” with a much smaller increment to its
length: 290 (as also in ph_lithuanian) instead of 240 (as in ph_base2)
is enough. In this version, [[uI]] sounds acceptable enough for Elvish
⟨ui⟩ in all positions, as far as I can tell.
2021-07-18 13:28:03 +02:00
Lucas Werkmeister 2f77829172 Add Elvish ⟨hw⟩
This is “a voiceless w, as in English white (in northern pronunciation)”
according to Appendix E of The Lord of the Rings, and so we copy the
[[w#]] phoneme from the English phonemes. I can’t actually hear much of
a difference from the previous [[hw]] (I know what the difference
between [[w]] and [[w#]] should be, but [[hw]] already sounds like
[[w#]] to me), but at least this improves the --ipa output, changing it
from [hw] to [ʍ].
2021-07-18 13:28:03 +02:00
Lucas Werkmeister 8d717b157a Fix Quenya [[aI]] phoneme
We used to inherit it from the Latin phonemes, which, as I noted in the
commit adding the Sindarin diphthongs, sounds more like /ae/ than /ai/.
Copy the phoneme from Sindarin so that it sounds like /ai/, not /ae/.
(There is no ⟨ae⟩ diphthong in Quenya, so we don’t need a copy of that.)
2021-07-18 13:28:03 +02:00
Lucas Werkmeister 4e6ebdbfb6 Velarize [n] to [ŋ] before velar stops in Elvish
I’m not aware of any statement by Tolkien to this effect, but it just
seems natural to me, and the [ŋ] is at least found in the Omikhleia
Sindarin dictionary [1] (e.g. entry tinc, [tˈiŋk]).

Based on a similar phoneme rule in ph_english.

[1]: https://www.jrrvf.com/hisweloke/sindar/index.html
2021-07-18 13:28:03 +02:00
Lucas Werkmeister ca2ca4c5cb Add Sindarin ⟨ae⟩, ⟨ai⟩, ⟨oe⟩, ⟨ui⟩ diphthongs
For ⟨ae⟩, we used to use the Latin [[aI]] phoneme, which sounds like
/ae/. Call that phoneme [[aE]] for us and introduce a separate [[aI]]
one, which sounds more like /ai/ (since Sindarin has both, and they’re
supposed to sound different, though Appendix E of The Lord of the Rings
notes that there is nothing closely corresponding to ⟨ae⟩ in English and
that it may be pronounced like ⟨ai⟩). Furthermore, for ⟨oe⟩, just remove
the TODO – the Latin phoneme is called [[OI]] but sounds more like /oe/
than /oi/, so it’s actually just fine for our purposes. Finally, the
⟨ui⟩ diphthong is copied from Finnish, just like in Quenya.
2021-07-18 13:28:02 +02:00
Lucas Werkmeister e8fb04bb44 Add Quenya ⟨iu⟩, ⟨ui⟩ diphthongs
Both are copied from the Finnish phonemes, since Finnish was a major
inspiration for Quenya. This means that the ⟨iu⟩ diphthong is a
“falling” one – according to Appendix E of The Lord of the Rings, this
is the original pronunciation, but by the Third Age (the time in which
The Lord of the Rings is set) it had become a “rising” one, so I may
change the phoneme later, not sure.
2021-07-18 13:27:37 +02:00
Lucas Werkmeister a1c79f4c72 Add basic Sindarin rules
Also, inherit the Elvish phonemes from Latin, because Esperanto doesn’t
have /y/. (Quenya doesn’t need that – ⟨y⟩ is a consonant there – so
maybe I’ll separate their phonemes at some point. For now, Latin works
well enough for both as far as I can tell.)
2021-07-18 13:27:26 +02:00
Lucas Werkmeister beeac74300 Initial setup for Elvish languages
This prepares the languages of Quenya and Sindarin, setting up their
infrastructure without declaring a lot of rules yet – just enough for
“Eä” (a Quenya word, but I can’t think of a similarly simple one for
Sindarin). Phonemes are inherited from Esperanto for now.
2021-07-18 13:27:26 +02:00
Juho Hiltunen d91b7cf288 Rename zh (Mandarin) to cmn across the codebase.
See discussion in #933.
2021-05-11 20:14:54 +03:00