Skip to main content

Parse and convert between different Teochew phonetic spelling schemes.

Project description

Parsing tools for Teochew phonetic spelling

PyPI version shields.io GitHub License

Parse and convert between different Teochew phonetic spelling schemes.

Input formats

  • Geng'dang Pêng'im 廣東拼音 (gdpi)
  • Gaginang Peng'im 家己儂拼音 (ggn)
  • Gaginang Peng'im with coda -n allowed (nasalization written with ñ instead) (ggnn)
  • Dieghv 潮語 (dieghv); (source)

Output formats

gdpi, ggnn, plus:

  • Tie-tsiann-hue 潮正會, also known as Tie-lo 潮羅 (tlo); (source)
  • Duffus system (duffus); (source)
  • Teochew Sinwenz (sinwz); (source)
  • Traditional initial-final categories (15) from 《彙集雅俗通十五音》 also known as 《擊木知音》, based on the analysis by 徐宇航 「《擊木知音》音系之再研究」 (2014)

Orthographic conventions for input text

  • Text must be in lower case
  • Syllables may be written with or without tone numbers
  • Syllables may be combined into words for legibility, i.e. word-segmented writing
  • If syllables are combined into words, they must either have tone numbers (e.g. diê5ziu1), or use a syllable separator character (e.g. diê-ziu or pêng'im, or diê5-ziu1). The separator character is either a hyphen or single apostrophe. This is because of ambiguous parsings, e.g. pê-ngi-m instead of pêng-im, which in general can only be dealt with by usage frequency, which is not available.
  • If syllable separator characters are used, they must be used consistently. Mixing conventions may cause unexpected parsing errors.

Running the script

Python 3 is required.

parsetc requires lark v1.1.

Install with pip from source code (this repository):

pip install .

Install latest release with pip from PyPI:

pip install parsetc

See help message:

parsetc --help

Input text is read from STDIN, no line breaks.

# output in Tie-lo
echo 'ua2 ain3 oh8 diê5ghe2, ain3 dan3 diê5ziu1 uê7.' | parsetc -i gdpi -o tlo
# all available output romanizations
echo 'ua2 ain3 oh8 diê5ghe2, ain3 dan3 diê5ziu1 uê7.' | parsetc -i gdpi --all

Testing with provided example text:

# Example with tone numbers but no syllable separators
cat examples/dieghv.tones.txt | parsetc -i dieghv --all
# Example with hyphens as syllable separators
cat examples/dieghv.sep.txt | parsetc -i dieghv --all

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parsetc-0.3.0.tar.gz (13.3 kB view hashes)

Uploaded Source

Built Distribution

parsetc-0.3.0-py3-none-any.whl (12.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page