Browse Source

docs: Document the lexical set transcriptions used by the en language files.

master
Reece H. Dunn 8 years ago
parent
commit
5c213b7133
2 changed files with 76 additions and 65 deletions
  1. 50
    39
      docs/languages/gmw/en.md
  2. 26
    26
      phsource/ph_english

+ 50
- 39
docs/languages/gmw/en.md View File

by comparing the Received Pronunciation British (RP) and General American by comparing the Received Pronunciation British (RP) and General American
(GenAm) accents in use at that time. (GenAm) accents in use at that time.


The `en` transcriptions listed below are the phonemes used by eSpeak NG to
transcribe the different lexical sets.

## Short Vowels ## Short Vowels


| Lexical Set | RP | GenAm |
|-------------|-------|-------|
| KIT | ɪ | ɪ |
| DRESS | e | ɛ |
| TRAP | æ | æ |
| LOT | ɒ | ɑ |
| STRUT | ʌ | ʌ |
| FOOT | ʊ | ʊ |
| Lexical Set | en | RP | GenAm |
|-------------|-------|-------|-------|
| KIT | `I` | ɪ | ɪ |
| DRESS | `E` | e | ɛ |
| TRAP | `a` | æ | æ |
| LOT | `0` | ɒ | ɑ |
| STRUT | `V` | ʌ | ʌ |
| FOOT | `U` | ʊ | ʊ |


## Long Vowels ## Long Vowels


| Lexical Set | RP | GenAm |
|-------------|-------|-------|
| FLEECE | iː | i |
| PALM | ɑː | ɑ |
| THOUGHT | ɔː | ɔ |
| GOOSE | uː | u |
| Lexical Set | en | RP | GenAm |
|-------------|-------|-------|-------|
| FLEECE | `i:` | iː | i |
| PALM | `A:` | ɑː | ɑ |
| THOUGHT | `O:` | ɔː | ɔ |
| GOOSE | `u:` | uː | u |


## Rhotic Vowels ## Rhotic Vowels


These are vowels that are followed by an `r` that is not part of the next syllable These are vowels that are followed by an `r` that is not part of the next syllable
when considering the root form of the word containing that vowel. when considering the root form of the word containing that vowel.


| Lexical Set | RP | GenAm |
|-------------|-------|-------|
| NURSE | ɜː | ɝ |
| START | ɑː | ɑɹ |
| NORTH | ɔː | ɔɹ |
| FORCE | ɔː | oɹ |
| CURE | ʊə̯ | ʊɹ |
| NEAR | ɪə̯ | ɪɹ |
| SQUARE | eə̯ | ɛɹ |
| Lexical Set | en | RP | GenAm |
|-------------|-------|-------|-------|
| NURSE | `3:` | ɜː | ɝ |
| START | `A@` | ɑː | ɑɹ |
| NORTH | `O@` | ɔː | ɔɹ |
| FORCE | `o@` | ɔː | oɹ |
| CURE | `U@` | ʊə̯ | ʊɹ |
| NEAR | `i@3` | ɪə̯ | ɪɹ |
| SQUARE | `e@` | eə̯ | ɛɹ |

__NOTE:__ `/i@3/` is used for the NEAR lexical set to differentiate it from
`/i@/` used in words like `million`.


## Reduced Vowels ## Reduced Vowels


These are unstressed vowels that differ from the vowels in the main lexical sets. These are unstressed vowels that differ from the vowels in the main lexical sets.


| Lexical Set | RP | GenAm |
|-------------|-------|-------|
| HAPPY | ɪ | i |
| COMMA | ə | ə |
| LETTER | ə | ɚ |
| Lexical Set | en | RP | GenAm |
|-------------|-------|-------|-------|
| HAPPY | `i` | ɪ | i |
| COMMA | `@` | ə | ə |
| LETTER | `3` | ə | ɚ |


## Diphthongs ## Diphthongs


| Lexical Set | RP | GenAm |
|-------------|-------|-------|
| FACE | eɪ̯ | eɪ̯ |
| PRICE | aɪ̯ | aɪ̯ |
| CHOICE | ɔɪ̯ | ɔɪ̯ |
| GOAT | əʊ̯ | oʊ̯ |
| MOUTH | aʊ̯ | aʊ̯ |
| Lexical Set | en | RP | GenAm |
|-------------|-------|-------|-------|
| FACE | `eI` | eɪ̯ | eɪ̯ |
| PRICE | `aI` | aɪ̯ | aɪ̯ |
| CHOICE | `OI` | ɔɪ̯ | ɔɪ̯ |
| GOAT | `oU` | əʊ̯ | oʊ̯ |
| MOUTH | `aU` | aʊ̯ | aʊ̯ |


## Split Vowels ## Split Vowels


sets in both RP and GenAm, so have split from one of those lexical sets and sets in both RP and GenAm, so have split from one of those lexical sets and
merged with the other. merged with the other.


| Lexical Set | RP | GenAm |
|-------------|-------|-------|
| BATH | ɑː | æ |
| CLOTH | ɒ | ɔ |
| Lexical Set | en | RP | GenAm |
|-------------|-------|-------|-------|
| BATH | `aa` | ɑː | æ |
| CLOTH | `0` | ɒ | ɔ |

__NOTE:__ eSpeak NG does not have a distinct transcription for the CLOTH lexical
set. As such, it can only represent American English accents with the COT-CAUGHT
merger where COT is the American PALM-LOT merger and CAUGHT is the American
THOUGHT-CLOTH merger.


## References ## References



+ 26
- 26
phsource/ph_english View File

// VOWELS // VOWELS
//******************************************************************* //*******************************************************************


phoneme @ // Schwa
phoneme @
vwl starttype #@ endtype #@ vwl starttype #@ endtype #@
unstressed unstressed
length 140 length 140
endphoneme endphoneme




phoneme 3 // Schwa, used for rhotic schwa in American, e.g. bett**er**
phoneme 3
CALL @ CALL @
ipa ə ipa ə
endphoneme endphoneme
endphoneme endphoneme




phoneme aa // 'b**a**th' etc. This is \[a\] in some accents, \[A:\] in others.
phoneme aa
vwl starttype #a endtype #a vwl starttype #a endtype #a
ipa a ipa a
length 200 length 200
endphoneme endphoneme




phoneme E // dr**e**ss
phoneme E
vwl starttype #e endtype #e vwl starttype #e endtype #e
length 140 length 140
IF nextPhW(n) THEN IF nextPhW(n) THEN






phoneme I // k**i**t
phoneme I
vwl starttype #i endtype #i vwl starttype #i endtype #i
length 130 length 130
IfNextVowelAppend(;) IfNextVowelAppend(;)
endphoneme endphoneme




phoneme i // happ**y**. optional variant of [I] for end of words
phoneme i
vwl starttype #i endtype #i vwl starttype #i endtype #i
unstressed unstressed
ipa i ipa i
endphoneme endphoneme




phoneme 0 // l**o**t
phoneme 0
vwl starttype #o endtype #o vwl starttype #o endtype #o
length 140 length 140
ChangeIfDiminished(@) ChangeIfDiminished(@)
endphoneme endphoneme




phoneme V // str**u**t
phoneme V
vwl starttype #a endtype #@ vwl starttype #a endtype #@
length 140 length 140


endphoneme endphoneme




phoneme U // f**oo**t
phoneme U
vwl starttype #o endtype #o vwl starttype #o endtype #o
length 150 length 150






phoneme A: // p**al**m
phoneme A:
vwl starttype #a endtype #a vwl starttype #a endtype #a
length 230 length 230
IfNextVowelAppend(r-) IfNextVowelAppend(r-)
endphoneme endphoneme




phoneme A@ // st**ar**t. Used for [A:] when followed by 'r'.
phoneme A@
vwl starttype #a endtype #a vwl starttype #a endtype #a
ipa ɑː ipa ɑː
length 230 length 230






phoneme 3: // n**ur**se
phoneme 3:
vwl starttype #@ endtype #@ vwl starttype #@ endtype #@
length 210 length 210
IfNextVowelAppend(r-) IfNextVowelAppend(r-)
endphoneme endphoneme




phoneme i: // fl**ee**ce
phoneme i:
vwl starttype #i endtype #i vwl starttype #i endtype #i
length 175 length 175
IfNextVowelAppend(;) IfNextVowelAppend(;)
endphoneme endphoneme




phoneme O: // th**ou**ght
phoneme O:
vwl starttype #o endtype #o vwl starttype #o endtype #o
length 230 length 230
ChangeIfDiminished(@) ChangeIfDiminished(@)
endphoneme endphoneme




phoneme O@ // n**or**th
phoneme O@
vwl starttype #o endtype #o vwl starttype #o endtype #o
ipa ɔː ipa ɔː
length 240 length 240
endphoneme endphoneme




phoneme o@ // f**or**ce
phoneme o@
vwl starttype #o endtype #o vwl starttype #o endtype #o
ipa ɔː ipa ɔː
length 250 length 250
endphoneme endphoneme




phoneme u: // g**oo**se
phoneme u:
vwl starttype #u endtype #u vwl starttype #u endtype #u
length 210 length 210
IF nextPh(l/2) THEN IF nextPh(l/2) THEN
endphoneme endphoneme




phoneme aU // m**ou**th
phoneme aU
vwl starttype #a endtype #u vwl starttype #a endtype #u
length 230 length 230
FMT(vdiph/au) FMT(vdiph/au)
endphoneme endphoneme




phoneme oU // g**oa**t
phoneme oU
vwl starttype #@ endtype #u vwl starttype #@ endtype #u
ipa əʊ ipa əʊ
length 220 length 220
endphoneme endphoneme




phoneme aI // pr**i**ce
phoneme aI
vwl starttype #a endtype #i vwl starttype #a endtype #i
length 240 length 240
IF nextPh(#a) THEN IF nextPh(#a) THEN
endphoneme endphoneme




phoneme eI // f**a**ce
phoneme eI
vwl starttype #e endtype #i vwl starttype #e endtype #i
length 210 length 210
FMT(vdiph/eei) FMT(vdiph/eei)
endphoneme endphoneme




phoneme OI // ch**oi**ce
phoneme OI
vwl starttype #o endtype #i vwl starttype #o endtype #i
length 230 length 230
FMT(vdiph/ooi) FMT(vdiph/ooi)
endphoneme endphoneme




phoneme e@ // squ**are**
phoneme e@
vwl starttype #e endtype #@ vwl starttype #e endtype #@
length 230 length 230
IfNextVowelAppend(r-) IfNextVowelAppend(r-)
endphoneme endphoneme




phoneme i@ // mill**io**n
phoneme i@
vwl starttype #i endtype #@ vwl starttype #i endtype #@
length 250 length 250
IfNextVowelAppend(r-) IfNextVowelAppend(r-)
endphoneme endphoneme




phoneme i@3 // n**ear**
phoneme i@3
vwl starttype #i endtype #@ vwl starttype #i endtype #@
length 250 length 250
endphoneme endphoneme




phoneme U@ // c**ure**
phoneme U@
vwl starttype #u endtype #@ vwl starttype #u endtype #@
length 200 length 200
IfNextVowelAppend(r-) IfNextVowelAppend(r-)

Loading…
Cancel
Save