Skip to content

Esukhia/bophono

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d635a6f · Oct 27, 2024
Jun 18, 2023
Oct 27, 2024
Jan 15, 2023
Oct 8, 2024
Feb 10, 2018
Sep 29, 2024
Jul 27, 2018
May 6, 2018
Jan 14, 2023
Jan 14, 2023
Sep 18, 2022
Jan 14, 2023
Jun 18, 2023

Repository files navigation

Tibetan Phonetics Engine

Description

The goal of this code is to provide a library to:

  • implement the conversion of a Tibetan Unicode word into IPA, according to different schemes / dialects
  • implement some conversions between IPA and phonetics readable by people with various language backgrounds (Chinese, English, etc.)

The primary focus of this library is litterary pronounciation, ideally representing how an umze would pronounce a traditional text, but contributions for other uses are welcome. We also do not handle Sanskrit transliteration (this can be done through custom exceptions lists).

Note that this library integrates no segmenter and needs to be applied on each word separately. You can use it in combination with pybo to get the phonetics of full sentences.

Phonetics methods

We currently provide two phonetics schemes:

Manual of Standard Tibetan (by Tournadre)

Colloquial Amdo Tibetan (by Kuo-ming Sung and Lha Byams Rgyal)

Outputs

Apart from raw IPA, we provide the following output possibilities:

Chinese phonetics

The Chinese is produced by a streamlined phonetic scheme in order to match the Mandarin phonology (vowels have been simplified and most of the Tibetan suffixes removed).

To produce the final output, we first transform the generated IPA into Zhuyin, and then the Zhuyin into Traditional Chinese characters, with a manually built correspondance list.

Installation

pip install bophono

API

To get the IPA for a word according to the MST scheme:

import bophono

# see PhonStateMST.py for other options
options = {
  'aspirateLowTones': True
}

mstconverter = bophono.UnicodeToApi(schema="MST", options = options)
mstipa = mstconverter.get_api("སྐུ")
print(mstipa) # kú

Note that you must first segment your text in words and then convert each word.

Changes

See CHANGELOG.md.

License

The Python code is Copyright (C) 2018-2023 Esukhia, provided under MIT License. See CONTRIBUTORS.md for a list of authors and contributors.