Skip to main content

Malayalam phonetic analyser

Project description

PyPI Version

This is python interface for the Malayalam phonetic analyser - mlphon.

Installation

Python 3 is required. Using with venv is recommended

$ pip install mlphon

Usage

Grapheme to Phoneme analysis example

from mlphon import G2P
analyser = G2P()
analyser.analyse('കേരളം')

Gives

[(('<BoS>k<plosive><voiceless><unaspirated><velar>eː<v_sign><EoS><BoS>ɾ<flapped><alveolar>a<schwa><EoS><BoS>ɭ<lateral><retroflex>a<schwa>m<anuswara><EoS>', 0.0),))]

The second item in this result is the weight. It is not relevant in the current implementation.

Grapheme to Phoneme generation example

from mlphon import G2P
generator = G2P()
generator.generate('<BoS>k<plosive><voiceless><unaspirated><velar>eː<v_sign><EoS><BoS>ɾ<flapped><alveolar>a<schwa><EoS><BoS>ɭ<lateral><retroflex>a<schwa>m<anuswara><EoS>')

Gives

(('കേരളം', 0.0),)

The second item in this result is the weight. It is not relevant in the current implementation.

Grapheme to IPA analysis

from mlphon import IPA
analyser = IPA()
analyser.analyse("കേരളം")

Gives

(('keːɾaɭam<anuswara>', 0.0),)

<anauswara>, <visarga>, <chillu> tags are explicitly shown in the IPA analysis.

Grapheme generation from IPA

from mlphon import IPA
generator = IPA()
generator.generate('keːɾaɭam<anuswara>')

Gives

(('കേരളം', 0.0),)

There can be multiple results in this generation. Please ignore the irrelevant ones, if any.

Syllablizer

from mlphon import Syllablizer
syl = Syllablizer()
syl.syllablize('കേരളം')

Gives

['കേ', 'ര', 'ളം']

Command line interface

G2P

$ mlg2p --help
  usage: mlg2p [-h] [-i INFILE] [-o OUTFILE] [-a] [-g] [-v]
  optional arguments:
  -h, --help            show this help message and exit
  -i INFILE, --input INFILE
                    source of analysis data
  -o OUTFILE, --output OUTFILE
                    target of generated strings
  -a, --analyse         Analyse the input file strings
  -g, --generate        Generate the input file strings
  -v, --verbose         print verbosely while processing

IPA

$ mlipa --help
  usage: mlipa [-h] [-i INFILE] [-o OUTFILE] [-a] [-g] [-v]
  optional arguments:
  -h, --help            show this help message and exit
  -i INFILE, --input INFILE
                    source of analysis data
  -o OUTFILE, --output OUTFILE
                    target of generated strings
  -a, --analyse         Analyse the input file strings
  -g, --generate        Generate the input file strings
  -v, --verbose         print verbosely while processing

Syllablizer

$ mlsyllablize --help
  usage: mlsyllablize [-h] [-i INFILE] [-o OUTFILE]
  optional arguments:
  -h, --help            show this help message and exit
  -i INFILE, --input INFILE
                    source of analysis data
  -o OUTFILE, --output OUTFILE
                    target of generated strings

Tag Parse Functions

The analysis function of G2P returns the output with tags in angle brackets.The following functions parses and separates tags, syllables and phoneme sequences.

getPhonemelist()

from mlphon import G2P, getPhonemelist
g2p = G2P()
analysis = g2p.analyse('കേരളം')
for item in analysis:
  getPhonemelist(item[0])

Gives

'k eː ɾ a ɭ a m'

getPhonemetaglist()

from mlphon import G2P, getPhonemetaglist
g2p = G2P()
analysis = g2p.analyse('കേരളം')
for item in analysis:
  getPhonemetaglist(item[0])

Gives

[{'phonemes': [{'ipa': 'k', 'tags': ['plosive', 'voiceless', 'unaspirated', 'velar']}, {'ipa': 'eː', 'tags': ['v_sign']}]}, {'phonemes': [{'ipa': 'ɾ', 'tags': ['flapped', 'alveolar']}, {'ipa': 'a', 'tags': ['schwa']}]}, {'phonemes': [{'ipa': 'ɭ', 'tags': ['lateral', 'retroflex']}, {'ipa': 'a', 'tags': ['schwa']}, {'ipa': 'm', 'tags': ['anuswara']}]}]

getSyllablelist()

from mlphon import G2P, getSyllablelist
g2p = G2P()
analysis = g2p.analyse('കേരളം')
for item in analysis:
  getSyllablelist(item[0])

It gives the syllable separated output as:

['k<plosive><voiceless><unaspirated><velar>eː<v_sign>', 'ɾ<flapped><alveolar>a<schwa>', 'ɭ<lateral><retroflex>a<schwa>m<anuswara>']

Project details


Download files

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

Files for mlphon, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size mlphon-2.0.0.tar.gz (11.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page