Metadata-Version: 2.1
Name: dict-from-g2pE
Version: 0.0.2
Summary: CLI to create a pronunciation dictionary by predicting English ARPAbet phonemes using seq2seq model from g2pE and the possibility of ignoring punctuation and splitting on hyphens before prediction.
Author: Stefan Taubert
Author-email: pypi@stefantaubert.com
Maintainer: Stefan Taubert
Maintainer-email: pypi@stefantaubert.com
License: MIT
Project-URL: Homepage, https://github.com/stefantaubert/dict-from-g2p
Project-URL: Issues, https://github.com/stefantaubert/dict-from-g2p/issues
Keywords: ARPAbet,Pronunciation,Dictionary,g2pE,Language,Linguistics
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Operating System :: OS Independent
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: BSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Unix
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Requires-Python: <3.13,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pronunciation-dictionary>=0.0.6
Requires-Dist: ordered-set>=4.1.0
Requires-Dist: word-to-pronunciation>=0.0.1
Requires-Dist: g2p-en>=2.1.0

# dict-from-g2pE

[![PyPI](https://img.shields.io/pypi/v/dict-from-g2pE.svg)](https://pypi.python.org/pypi/dict-from-g2pE)
[![PyPI](https://img.shields.io/pypi/pyversions/dict-from-g2pE.svg)](https://pypi.python.org/pypi/dict-from-g2pE)
[![MIT](https://img.shields.io/github/license/stefantaubert/dict-from-g2p.svg)](LICENSE)
[![PyPI](https://img.shields.io/pypi/wheel/dict-from-g2pE.svg)](https://pypi.python.org/pypi/dict-from-g2pE/#files)
![PyPI](https://img.shields.io/pypi/implementation/dict-from-g2pE.svg)
[![PyPI](https://img.shields.io/github/commits-since/stefantaubert/dict-from-g2p/latest/master.svg)](https://github.com/stefantaubert/dict-from-g2p/compare/v0.0.2...master)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10561178.svg)](https://doi.org/10.5281/zenodo.10561178)

CLI to create a pronunciation dictionary by predicting English ARPAbet phonemes using seq2seq model from [g2pE](https://www.github.com/kyubyong/g2p) and the possibility of ignoring punctuation and splitting on hyphens before prediction.

## Installation

```sh
pip install dict-from-g2pE --user
```

## Usage

```sh
dict-from-g2pE-cli
```

### Example

```sh
# Create example vocabulary
cat > /tmp/vocabulary.txt << EOF
Test?
abc,
"def
Test-def.
"xyz?
"uv-w?
EOF

# Create dictionary from vocabulary and example dictionary
dict-from-g2pE-cli \
  /tmp/vocabulary.txt \
  /tmp/result.dict \
  --split-on-hyphen \
  --n-jobs 4

cat /tmp/result.dict
```

Output:

```dict
Test?  T EH1 S T ?
abc,  AE1 B K ,
"def  " D EH1 F
Test-def.  T EH1 S T - D EH1 F .
"xyz?  " Z IH1 JH IH0 Z ?
"uv-w?  " AH1 V - V IY1 ?
```

## Development setup

```sh
# update
sudo apt update
# install Python 3.8-3.12 for ensuring that tests can be run
sudo apt install python3-pip \
  python3.8 python3.8-dev python3.8-distutils python3.8-venv \
  python3.9 python3.9-dev python3.9-distutils python3.9-venv \
  python3.10 python3.10-dev python3.10-distutils python3.10-venv \
  python3.11 python3.11-dev python3.11-distutils python3.11-venv \
  python3.12 python3.12-dev python3.12-distutils python3.12-venv
# install pipenv for creation of virtual environments
python3.8 -m pip install pipenv --user

# check out repo
git clone https://github.com/stefantaubert/dict-from-g2p.git
cd dict-from-g2p
# create virtual environment
python3.8 -m pipenv install --dev
```

## Running the tests

```sh
# first install the tool like in "Development setup"
# then, navigate into the directory of the repo (if not already done)
cd dict-from-g2p
# activate environment
python3.8 -m pipenv shell
# run tests
tox
```

Final lines of test result output:

```log
  py38: commands succeeded
  py39: commands succeeded
  py310: commands succeeded
  py311: commands succeeded
  py312: commands succeeded
  congratulations :)
```

## License

MIT License

## Acknowledgments

[g2pE: A Simple Python Module for English Grapheme To Phoneme Conversion](https://www.github.com/kyubyong/g2p)

Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project-ID 416228727 – CRC 1410

## Citation

If you want to cite this repo, you can use this BibTeX-entry generated by GitHub (see *About => Cite this repository*).

```txt
Taubert, S. (2024). dict-from-g2pE (Version 0.0.2) [Computer software]. https://doi.org/10.5281/zenodo.10561178
```
