Name | gruut-ipa JSON |
Version |
0.13.0
JSON |
| download |
home_page | https://github.com/rhasspy/gruut-ipa |
Summary | Library for manipulating pronunciations using the International Phonetic Alphabet (IPA) |
upload_time | 2022-03-11 16:12:48 |
maintainer | |
docs_url | None |
author | Michael Hansen |
requires_python | >=3.6 |
license | |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Gruut IPA
Library for manipulating [International Phonetic Alphabet](https://en.wikipedia.org/wiki/International_Phonetic_Alphabet) (IPA) pronunciations.
Features include:
* Getting the category and details of a phone, e.g. "open front unrounded vowel" for ɶ
* Splitting IPA pronunciations into groups of:
* Phones (`/ˈt͡ʃuːz/` to `ˈt͡ʃ uː z` )
* Phonemes (`/kˈaʊ/` to `k ˈaʊ` for U.S. English)
* Converting pronunciations between:
* IPA
* [espeak](https://github.com/espeak-ng/)
* [sampa](https://www.phon.ucl.ac.uk/home/sampa/)
Supported Languages:
* Arabic (`ar`)
* Czech (`cs-cz`)
* German (`de-de`)
* U.S. English (`en-us`)
* U.K. English (`en-gb`)
* Spanish (`es-es`)
* Persian/Farsi (`fa`)
* Spanish (`es-es`)
* Italian (`it-it`)
* Luxembourgish (`lb-lb`)
* Dutch (`nl`)
* Portuguese (`pt`)
* Russian (`ru-ru`)
* Swahili (`sw`)
## Installing
```sh
$ pip install gruut-ipa
```
## Dependencies
* Python 3.6 or higher
For command-line usage, you may also want:
* [espeak](https://github.com/espeak-ng/)
* [jq](https://stedolan.github.io/jq/)
Install these with:
```sh
$ sudo apt-get install espeak jq
```
## Phones and Phonemes
![IPA phones](img/ipa.png)
Phones in IPA are composed of different components:
* Letters
* [Non-combining](https://en.wikipedia.org/wiki/Character_(computing)#Terminology) Unicode characters that represent a distinct human sound (phone)
* Suprasegmentals
* [Non-combining](https://en.wikipedia.org/wiki/Character_(computing)#Terminology) Unicode characters that represent language features above individual vowels or consonants
* Stress (ˈˌ), elongation (ː), linking/ties (t͡s), and short/long breaks (| ‖) are suprasegmentals
* Diacritics
* [Combining characters](https://en.wikipedia.org/wiki/Combining_character) that provide additional information about a phone's pronunciation, such as [nasalation](https://en.wikipedia.org/wiki/Nasalization)
See [IPA Chart](https://www.ipachart.com/) for more details.
### Phonemes
While phones represent individual sounds, phonemes are the phonetic units of a language that meaningfully distinguish words. A phoneme may be realized by many different phones. For example, the `/r/` in [Standard German](https://en.wikipedia.org/wiki/Standard_German_phonology) can be realized as a uvular fricative (χ/ʁ), a uvular approximant (ɹ), or a uvular tap or trill (ʀ/r).
A phoneme may also be composed of multiple phones, such as the [dipthong](https://en.wikipedia.org/wiki/Diphthong) `aʊ` in U.S. English (the "ow" in "cow").
Supported languages in `gruut-ipa` contain a `phonemes.txt` file in the `gruut_ipa/data` directory. This file has the following format:
```text
<phoneme> <example> [<replace> ...]
```
where `<phoneme>` is a set of IPA letters, like `ɶ` or `aʊ`. The `<example>` is a word whose pronunciation contains the `<phoneme>`. After that, there are one or more optional `<replace>` strings that will be replaced with `<phoneme>`. The German `/r/` example from above might be represented as:
```text
r brot χ ʁ ɹ ʀ
```
Phonemes for a given language come from [phonological analyses](https://en.wikipedia.org/wiki/Template:Language_phonologies) and from [public databases](https://phoible.org/). Ultimately, they are geared towards capturing pronunciations from [Wiktionary](https://www.wiktionary.org/).
## Usage
Print JSON information about phones:
```sh
$ python3 -m gruut_ipa describe "ˈãː" | jq .
{
"text": "ˈãː",
"letters": "a",
"stress": "primary",
"height": "open",
"placement": "front",
"rounded": false,
"type": "Vowel",
"nasalated": true,
"elongated": true
}
```
Split an IPA pronunciation into phones:
```sh
$ python3 -m gruut_ipa phones "ˈjɛs|ˈt͡ʃuːz aɪpiːeɪ‖"
ˈj ɛ s | ˈt͡ʃ uː z a ɪ p iː e ɪ ‖
```
Group phones into phonemes for a specific language:
```sh
$ python3 -m gruut_ipa phonemes en-us "/dʒʌst ə kaʊ/"
d͡ʒ ʌ s t ə k aʊ
```
Convert between IPA, [espeak](https://github.com/espeak-ng/), and [sampa](https://www.phon.ucl.ac.uk/home/sampa/):
```sh
$ python3 -m gruut_ipa convert ipa espeak "mʊmˈbaɪ"
[[mUm'baI]]
$ python3 -m gruut_ipa convert espeak ipa "[[D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt]]"
ðˌɪs ɪz sʌm fɘnˈɛtɪk tˈɛkst ˈɪnpʊt
```
Chain commands together:
```sh
$ python3 -m gruut_ipa convert espeak ipa "[[k'aU]]" | \
python3 -m gruut_ipa phonemes en-us --keep-stress
k ˈaʊ
```
### Alternative Phoneme Sets
Some languages have multiple phoneme sets available:
* U.S. English (`en-us`)
* CMUDict (`en-us/cmudict`)
* [Zamia](https://github.com/gooofy/zamia-speech) (`en-us/zamia`)
* Swahili (`sw`)
* [ALFFA](http://alffa.imag.fr/) (`sw/alffa`)
Convert from IPA to alternative phoneme set:
```sh
$ python3 -m gruut_ipa convert ipa en-us/cmudict "h ɛ l ˈoʊ w ˈɚ l d"
HH EH0 L OW1 W ER1 L D
```
Convert from alternative phoneme set to IPA:
```sh
$ python3 -m gruut_ipa convert en-us/cmudict ipa "HH EH0 L OW1 W ER1 L D"
h ɛ l ˈoʊ w ˈɚ l d
```
## Scripts
Use the `speak-ipa` script to have [espeak](https://github.com/espeak-ng/) pronounce IPA. You may need to `apt-get install espeak` first.
```sh
$ echo '/hɛloʊ wɝld/' | bin/speak-ipa en-us -s 60 -w 'hello world.wav'
$ aplay 'hello world.wav'
```
## Phones
Supported IPA phones can be printed with:
```sh
$ python3 -m gruut_ipa print
{"text": "i", "letters": "i", "stress": "none", "height": "close", "placement": "front", "rounded": false, "type": "Vowel", "nasalated": false, "elongated": false, "description": "close front unrounded vowel", "espeak": "i", "sampa": "i"}
{"text": "y", "letters": "y", "stress": "none", "height": "close", "placement": "front", "rounded": true, "type": "Vowel", "nasalated": false, "elongated": false, "description": "close front rounded vowel", "espeak": "y", "sampa": "y"}
...
```
A nice table can be generated with [jq](https://stedolan.github.io/jq/):
```sh
$ python3 -m gruut_ipa print | \
jq -r '. | "\(.text)\t\(.espeak)\t\(.sampa)\t\(.description)"'
```
Converted to Markdown:
| IPA | eSpeak | Sampa | Description |
| ---- | ----- | ------- | ----------------------------------- |
| i | i | i | close front unrounded vowel |
| y | y | y | close front rounded vowel |
| ɨ | i" | 1 | close central unrounded vowel |
| ʉ | u" | } | close central rounded vowel |
| ɯ | u- | M | close back unrounded vowel |
| u | u | u | close back rounded vowel |
| ɪ | I | I | near-close near-front unrounded vowel |
| ʏ | I. | Y | near-close near-front rounded vowel |
| ʊ | U | U | near-close near-back rounded vowel |
| e | e | e | close-mid front unrounded vowel |
| ø | Y | 2 | close-mid front rounded vowel |
| ɘ | @ | @\\ | close-mid central unrounded vowel |
| ɵ | @. | 8 | close-mid central rounded vowel |
| ɤ | o- | 7 | close-mid back unrounded vowel |
| o | o | o | close-mid back rounded vowel |
| ɛ | E | E | open-mid front unrounded vowel |
| œ | W | 9 | open-mid front rounded vowel |
| ɜ | V" | 3 | open-mid central unrounded vowel |
| ɞ | O" | 3\\ | open-mid central rounded vowel |
| ʌ | V | V | open-mid back unrounded vowel |
| ɔ | O | O | open-mid back rounded vowel |
| æ | a | { | near-open front unrounded vowel |
| ɐ | V | 6 | near-open central unrounded vowel |
| a | a | a | open front unrounded vowel |
| ɶ | W | & | open front rounded vowel |
| ɑ | A | A | open back unrounded vowel |
| ɒ | A. | Q | open back rounded vowel |
| m | m | m | voiced bilabial nasal |
| ɱ | M | F | voiced labio-dental nasal |
| n | n | n | voiced alveolar nasal |
| ɳ | n. | n\` | voiced retroflex nasal |
| ŋ | N | N | voiced velar nasal |
| ɴ | n" | N\\ | voiced uvular nasal |
| p | p | p | voiceless bilabial plosive |
| b | b | b | voiced bilabial plosive |
| t | t | t | voiceless alveolar plosive |
| d | d | d | voiced alveolar plosive |
| ʈ | t. | t\` | voiceless retroflex plosive |
| ɖ | d. | d\` | voiced retroflex plosive |
| c | c | c | voiceless palatal plosive |
| ɟ | J | J\\ | voiced palatal plosive |
| k | k | k | voiceless velar plosive |
| ɡ | g | g | voiced velar plosive |
| g | g | g | voiced velar plosive |
| q | q | q | voiceless uvular plosive |
| ɢ | G | G\\ | voiced uvular plosive |
| ʡ | | >\\ | voiceless pharyngeal plosive |
| ʔ | ? | ? | voiceless glottal plosive |
| p͡f | pf | pf | voiceless labio-dental affricate |
| b͡v | bv | bv | voiced dental affricate |
| t̪͡s | ts | t_ds | voiceless dental affricate |
| t͡s | ts | ts | voiceless alveolar affricate |
| d͡z | dz | dz | voiced alveolar affricate |
| t͡ʃ | tS | tS | voiceless post-alveolar affricate |
| d͡ʒ | dZ | dZ | voiced post-alveolar affricate |
| ʈ͡ʂ | tS | ts\` | voiceless retroflex affricate |
| ɖ͡ʐ | dz | dz\` | voiced retroflex affricate |
| t͡ɕ | tS; | ts\\ | voiceless palatal affricate |
| d͡ʑ | dZ; | dz\\ | voiced palatal affricate |
| k͡x | k | k_x | voiceless velar affricate |
| ɸ | F | p\\ | voiceless bilabial fricative |
| β | B | B | voiced bilabial fricative |
| f | f | f | voiceless labio-dental fricative |
| v | v | v | voiced labio-dental fricative |
| θ | T | T | voiceless dental fricative |
| ð | D | D | voiced dental fricative |
| s | s | s | voiceless alveolar fricative |
| z | z | z | voiced alveolar fricative |
| ʃ | S | S | voiceless post-alveolar fricative |
| ʒ | Z | Z | voiced post-alveolar fricative |
| ʂ | s. | s\` | voiceless retroflex fricative |
| ʐ | z. | z\` | voiced palatal fricative |
| ç | C | C | voiceless palatal fricative |
| x | x | x | voiceless velar fricative |
| ɣ | Q | G | voiced velar fricative |
| χ | X | X | voiceless uvular fricative |
| ʁ | g" | R | voiced uvular fricative |
| ħ | H | X\\ | voiceless pharyngeal fricative |
| h | h | h | voiceless glottal fricative |
| ɦ | h<?> | h\\ | voiced glottal fricative |
| w | w | w | voiced bilabial approximant |
| ʋ | v# | v\\ | voiced labio-dental approximant |
| ɹ | r | r\\ | voiced alveolar approximant |
| ɻ | r. | r\\\` | voiced retroflex approximant |
| j | j | j | voiced palatal approximant |
| ɰ | Q | M\\ | voiced velar approximant |
| ⱱ | ⱱ | ⱱ | voiced labio-dental flap |
| ɾ | * | 4 | voiced alveolar flap |
| ɽ | *. | r\` | voiced retroflex flap |
| ʙ | b<trl> | B\\ | voiced bilabial trill |
| r | r<trl> | r | voiced alveolar trill |
| ʀ | r" | R\\ | voiced uvular trill |
| l | l | l | voiced alveolar lateral-approximant |
| ɫ | l | 5 | voiced alveolar lateral-approximant |
| ɭ | l. | l\` | voiced retroflex lateral-approximant |
| ʎ | l^ | L | voiced palatal lateral-approximant |
| ʟ | L | L\\ | voiced velar lateral-approximant |
| ə | @ | @ | schwa |
| ɚ | 3 | @\` | r-coloured schwa |
| ɝ | 3 | @\` | r-coloured schwa |
| ɹ̩ | r- | r\\̩ | voiced alveolar approximant |
If you see anything wrong or missing, please let me know.
Raw data
{
"_id": null,
"home_page": "https://github.com/rhasspy/gruut-ipa",
"name": "gruut-ipa",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Michael Hansen",
"author_email": "mike@rhasspy.org",
"download_url": "https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz",
"platform": null,
"description": "# Gruut IPA\n\nLibrary for manipulating [International Phonetic Alphabet](https://en.wikipedia.org/wiki/International_Phonetic_Alphabet) (IPA) pronunciations.\n\nFeatures include:\n\n* Getting the category and details of a phone, e.g. \"open front unrounded vowel\" for \u0276\n* Splitting IPA pronunciations into groups of:\n * Phones (`/\u02c8t\u0361\u0283u\u02d0z/` to `\u02c8t\u0361\u0283 u\u02d0 z` )\n * Phonemes (`/k\u02c8a\u028a/` to `k \u02c8a\u028a` for U.S. English)\n* Converting pronunciations between:\n * IPA\n * [espeak](https://github.com/espeak-ng/)\n * [sampa](https://www.phon.ucl.ac.uk/home/sampa/)\n \nSupported Languages:\n\n* Arabic (`ar`)\n* Czech (`cs-cz`)\n* German (`de-de`)\n* U.S. English (`en-us`)\n* U.K. English (`en-gb`)\n* Spanish (`es-es`)\n* Persian/Farsi (`fa`)\n* Spanish (`es-es`)\n* Italian (`it-it`)\n* Luxembourgish (`lb-lb`)\n* Dutch (`nl`)\n* Portuguese (`pt`)\n* Russian (`ru-ru`)\n* Swahili (`sw`)\n \n## Installing\n\n```sh\n$ pip install gruut-ipa\n```\n\n## Dependencies\n\n* Python 3.6 or higher\n\nFor command-line usage, you may also want:\n\n* [espeak](https://github.com/espeak-ng/)\n* [jq](https://stedolan.github.io/jq/)\n\nInstall these with:\n\n```sh\n$ sudo apt-get install espeak jq\n```\n\n## Phones and Phonemes\n\n![IPA phones](img/ipa.png)\n\nPhones in IPA are composed of different components:\n\n* Letters\n * [Non-combining](https://en.wikipedia.org/wiki/Character_(computing)#Terminology) Unicode characters that represent a distinct human sound (phone)\n* Suprasegmentals\n * [Non-combining](https://en.wikipedia.org/wiki/Character_(computing)#Terminology) Unicode characters that represent language features above individual vowels or consonants\n * Stress (\u02c8\u02cc), elongation (\u02d0), linking/ties (t\u0361s), and short/long breaks (| \u2016) are suprasegmentals\n* Diacritics\n * [Combining characters](https://en.wikipedia.org/wiki/Combining_character) that provide additional information about a phone's pronunciation, such as [nasalation](https://en.wikipedia.org/wiki/Nasalization)\n \nSee [IPA Chart](https://www.ipachart.com/) for more details.\n\n### Phonemes\n\nWhile phones represent individual sounds, phonemes are the phonetic units of a language that meaningfully distinguish words. A phoneme may be realized by many different phones. For example, the `/r/` in [Standard German](https://en.wikipedia.org/wiki/Standard_German_phonology) can be realized as a uvular fricative (\u03c7/\u0281), a uvular approximant (\u0279), or a uvular tap or trill (\u0280/r).\n\nA phoneme may also be composed of multiple phones, such as the [dipthong](https://en.wikipedia.org/wiki/Diphthong) `a\u028a` in U.S. English (the \"ow\" in \"cow\").\n\nSupported languages in `gruut-ipa` contain a `phonemes.txt` file in the `gruut_ipa/data` directory. This file has the following format:\n\n```text\n<phoneme> <example> [<replace> ...]\n```\n\nwhere `<phoneme>` is a set of IPA letters, like `\u0276` or `a\u028a`. The `<example>` is a word whose pronunciation contains the `<phoneme>`. After that, there are one or more optional `<replace>` strings that will be replaced with `<phoneme>`. The German `/r/` example from above might be represented as:\n\n```text\nr brot \u03c7 \u0281 \u0279 \u0280\n```\n\nPhonemes for a given language come from [phonological analyses](https://en.wikipedia.org/wiki/Template:Language_phonologies) and from [public databases](https://phoible.org/). Ultimately, they are geared towards capturing pronunciations from [Wiktionary](https://www.wiktionary.org/).\n \n## Usage\n\nPrint JSON information about phones:\n\n```sh\n$ python3 -m gruut_ipa describe \"\u02c8\u00e3\u02d0\" | jq .\n{\n \"text\": \"\u02c8\u00e3\u02d0\",\n \"letters\": \"a\",\n \"stress\": \"primary\",\n \"height\": \"open\",\n \"placement\": \"front\",\n \"rounded\": false,\n \"type\": \"Vowel\",\n \"nasalated\": true,\n \"elongated\": true\n}\n```\n\nSplit an IPA pronunciation into phones:\n\n```sh\n$ python3 -m gruut_ipa phones \"\u02c8j\u025bs|\u02c8t\u0361\u0283u\u02d0z a\u026api\u02d0e\u026a\u2016\"\n\u02c8j \u025b s | \u02c8t\u0361\u0283 u\u02d0 z a \u026a p i\u02d0 e \u026a \u2016\n```\n\nGroup phones into phonemes for a specific language:\n\n```sh\n$ python3 -m gruut_ipa phonemes en-us \"/d\u0292\u028cst \u0259 ka\u028a/\"\nd\u0361\u0292 \u028c s t \u0259 k a\u028a\n```\n\nConvert between IPA, [espeak](https://github.com/espeak-ng/), and [sampa](https://www.phon.ucl.ac.uk/home/sampa/):\n\n```sh\n$ python3 -m gruut_ipa convert ipa espeak \"m\u028am\u02c8ba\u026a\"\n[[mUm'baI]]\n\n$ python3 -m gruut_ipa convert espeak ipa \"[[D,Is Iz sVm f@n'EtIk t'Ekst 'InpUt]]\"\n\u00f0\u02cc\u026as \u026az s\u028cm f\u0258n\u02c8\u025bt\u026ak t\u02c8\u025bkst \u02c8\u026anp\u028at\n```\n\nChain commands together:\n\n```sh\n$ python3 -m gruut_ipa convert espeak ipa \"[[k'aU]]\" | \\\n python3 -m gruut_ipa phonemes en-us --keep-stress\nk \u02c8a\u028a\n```\n\n### Alternative Phoneme Sets\n\nSome languages have multiple phoneme sets available:\n\n* U.S. English (`en-us`)\n * CMUDict (`en-us/cmudict`)\n * [Zamia](https://github.com/gooofy/zamia-speech) (`en-us/zamia`)\n* Swahili (`sw`)\n * [ALFFA](http://alffa.imag.fr/) (`sw/alffa`)\n \nConvert from IPA to alternative phoneme set:\n\n```sh\n$ python3 -m gruut_ipa convert ipa en-us/cmudict \"h \u025b l \u02c8o\u028a w \u02c8\u025a l d\"\nHH EH0 L OW1 W ER1 L D\n```\n\nConvert from alternative phoneme set to IPA:\n\n```sh\n$ python3 -m gruut_ipa convert en-us/cmudict ipa \"HH EH0 L OW1 W ER1 L D\"\nh \u025b l \u02c8o\u028a w \u02c8\u025a l d\n```\n\n## Scripts\n\nUse the `speak-ipa` script to have [espeak](https://github.com/espeak-ng/) pronounce IPA. You may need to `apt-get install espeak` first.\n\n```sh\n$ echo '/h\u025blo\u028a w\u025dld/' | bin/speak-ipa en-us -s 60 -w 'hello world.wav'\n$ aplay 'hello world.wav'\n```\n\n## Phones\n\nSupported IPA phones can be printed with:\n\n```sh\n$ python3 -m gruut_ipa print\n{\"text\": \"i\", \"letters\": \"i\", \"stress\": \"none\", \"height\": \"close\", \"placement\": \"front\", \"rounded\": false, \"type\": \"Vowel\", \"nasalated\": false, \"elongated\": false, \"description\": \"close front unrounded vowel\", \"espeak\": \"i\", \"sampa\": \"i\"}\n{\"text\": \"y\", \"letters\": \"y\", \"stress\": \"none\", \"height\": \"close\", \"placement\": \"front\", \"rounded\": true, \"type\": \"Vowel\", \"nasalated\": false, \"elongated\": false, \"description\": \"close front rounded vowel\", \"espeak\": \"y\", \"sampa\": \"y\"}\n...\n```\n\nA nice table can be generated with [jq](https://stedolan.github.io/jq/):\n\n```sh\n$ python3 -m gruut_ipa print | \\\n jq -r '. | \"\\(.text)\\t\\(.espeak)\\t\\(.sampa)\\t\\(.description)\"'\n```\n\nConverted to Markdown:\n\n| IPA | eSpeak | Sampa | Description |\n| ---- | ----- | ------- | ----------------------------------- |\n| i | i | i | close front unrounded vowel |\n| y | y | y | close front rounded vowel |\n| \u0268 | i\" | 1 | close central unrounded vowel |\n| \u0289 | u\" | } | close central rounded vowel |\n| \u026f | u- | M | close back unrounded vowel |\n| u | u | u | close back rounded vowel |\n| \u026a | I | I | near-close near-front unrounded vowel |\n| \u028f | I. | Y | near-close near-front rounded vowel |\n| \u028a | U | U | near-close near-back rounded vowel |\n| e | e | e | close-mid front unrounded vowel |\n| \u00f8 | Y | 2 | close-mid front rounded vowel |\n| \u0258 | @ | @\\\\ | close-mid central unrounded vowel |\n| \u0275 | @. | 8 | close-mid central rounded vowel |\n| \u0264 | o- | 7 | close-mid back unrounded vowel |\n| o | o | o | close-mid back rounded vowel |\n| \u025b | E | E | open-mid front unrounded vowel |\n| \u0153 | W | 9 | open-mid front rounded vowel |\n| \u025c | V\" | 3 | open-mid central unrounded vowel |\n| \u025e | O\" | 3\\\\ | open-mid central rounded vowel |\n| \u028c | V | V | open-mid back unrounded vowel |\n| \u0254 | O | O | open-mid back rounded vowel |\n| \u00e6 | a | { | near-open front unrounded vowel |\n| \u0250 | V | 6 | near-open central unrounded vowel |\n| a | a | a | open front unrounded vowel |\n| \u0276 | W | & | open front rounded vowel |\n| \u0251 | A | A | open back unrounded vowel |\n| \u0252 | A. | Q | open back rounded vowel |\n| m | m | m | voiced bilabial nasal |\n| \u0271 | M | F | voiced labio-dental nasal |\n| n | n | n | voiced alveolar nasal |\n| \u0273 | n. | n\\` | voiced retroflex nasal |\n| \u014b | N | N | voiced velar nasal |\n| \u0274 | n\" | N\\\\ | voiced uvular nasal |\n| p | p | p | voiceless bilabial plosive |\n| b | b | b | voiced bilabial plosive |\n| t | t | t | voiceless alveolar plosive |\n| d | d | d | voiced alveolar plosive |\n| \u0288 | t. | t\\` | voiceless retroflex plosive |\n| \u0256 | d. | d\\` | voiced retroflex plosive |\n| c | c | c | voiceless palatal plosive |\n| \u025f | J | J\\\\ | voiced palatal plosive |\n| k | k | k | voiceless velar plosive |\n| \u0261 | g | g | voiced velar plosive |\n| g | g | g | voiced velar plosive |\n| q | q | q | voiceless uvular plosive |\n| \u0262 | G | G\\\\ | voiced uvular plosive |\n| \u02a1 | | >\\\\ | voiceless pharyngeal plosive |\n| \u0294 | ? | ? | voiceless glottal plosive |\n| p\u0361f | pf | pf | voiceless labio-dental affricate |\n| b\u0361v | bv | bv | voiced dental affricate |\n| t\u032a\u0361s | ts | t_ds | voiceless dental affricate |\n| t\u0361s | ts | ts | voiceless alveolar affricate |\n| d\u0361z | dz | dz | voiced alveolar affricate |\n| t\u0361\u0283 | tS | tS | voiceless post-alveolar affricate |\n| d\u0361\u0292 | dZ | dZ | voiced post-alveolar affricate |\n| \u0288\u0361\u0282 | tS | ts\\` | voiceless retroflex affricate |\n| \u0256\u0361\u0290 | dz | dz\\` | voiced retroflex affricate |\n| t\u0361\u0255 | tS; | ts\\\\ | voiceless palatal affricate |\n| d\u0361\u0291 | dZ; | dz\\\\ | voiced palatal affricate |\n| k\u0361x | k | k_x | voiceless velar affricate |\n| \u0278 | F | p\\\\ | voiceless bilabial fricative |\n| \u03b2 | B | B | voiced bilabial fricative |\n| f | f | f | voiceless labio-dental fricative |\n| v | v | v | voiced labio-dental fricative |\n| \u03b8 | T | T | voiceless dental fricative |\n| \u00f0 | D | D | voiced dental fricative |\n| s | s | s | voiceless alveolar fricative |\n| z | z | z | voiced alveolar fricative |\n| \u0283 | S | S | voiceless post-alveolar fricative |\n| \u0292 | Z | Z | voiced post-alveolar fricative |\n| \u0282 | s. | s\\` | voiceless retroflex fricative |\n| \u0290 | z. | z\\` | voiced palatal fricative |\n| \u00e7 | C | C | voiceless palatal fricative |\n| x | x | x | voiceless velar fricative |\n| \u0263 | Q | G | voiced velar fricative |\n| \u03c7 | X | X | voiceless uvular fricative |\n| \u0281 | g\" | R | voiced uvular fricative |\n| \u0127 | H | X\\\\ | voiceless pharyngeal fricative |\n| h | h | h | voiceless glottal fricative |\n| \u0266 | h<?> | h\\\\ | voiced glottal fricative |\n| w | w | w | voiced bilabial approximant |\n| \u028b | v# | v\\\\ | voiced labio-dental approximant |\n| \u0279 | r | r\\\\ | voiced alveolar approximant |\n| \u027b | r. | r\\\\\\` | voiced retroflex approximant |\n| j | j | j | voiced palatal approximant |\n| \u0270 | Q | M\\\\ | voiced velar approximant |\n| \u2c71 | \u2c71 | \u2c71 | voiced labio-dental flap |\n| \u027e | * | 4 | voiced alveolar flap |\n| \u027d | *. | r\\` | voiced retroflex flap |\n| \u0299 | b<trl> | B\\\\ | voiced bilabial trill |\n| r | r<trl> | r | voiced alveolar trill |\n| \u0280 | r\" | R\\\\ | voiced uvular trill |\n| l | l | l | voiced alveolar lateral-approximant |\n| \u026b | l | 5 | voiced alveolar lateral-approximant |\n| \u026d | l. | l\\` | voiced retroflex lateral-approximant |\n| \u028e | l^ | L | voiced palatal lateral-approximant |\n| \u029f | L | L\\\\ | voiced velar lateral-approximant |\n| \u0259 | @ | @ | schwa |\n| \u025a | 3 | @\\` | r-coloured schwa |\n| \u025d | 3 | @\\` | r-coloured schwa |\n| \u0279\u0329 | r- | r\\\\\u0329 | voiced alveolar approximant |\n\nIf you see anything wrong or missing, please let me know.\n\n\n",
"bugtrack_url": null,
"license": "",
"summary": "Library for manipulating pronunciations using the International Phonetic Alphabet (IPA)",
"version": "0.13.0",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "519f7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7",
"md5": "e2b33af3c4c79dc9e39f9cf2384d0382",
"sha256": "71776eb99f46e119ab14d3d4e536f54317133607cc2f6bad9711ab51f1bec66e"
},
"downloads": -1,
"filename": "gruut-ipa-0.13.0.tar.gz",
"has_sig": false,
"md5_digest": "e2b33af3c4c79dc9e39f9cf2384d0382",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 101592,
"upload_time": "2022-03-11T16:12:48",
"upload_time_iso_8601": "2022-03-11T16:12:48.647158Z",
"url": "https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-03-11 16:12:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "rhasspy",
"github_project": "gruut-ipa",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "gruut-ipa"
}