Text-to-IPA converter and phonetic translator for Python, powered by the Goruut phonemization engine
Project description
pygoruut
Getting started
from pygoruut.pygoruut import Pygoruut
pygoruut = Pygoruut()
print(str(pygoruut.phonemize(language="EnglishAmerican", sentence="fast racing car")))
# Prints: fˈæst ɹˈeɪsɪŋ kˈɑɹ
# Now, convert it back
print(str(pygoruut.phonemize(language="EnglishAmerican", sentence="fˈæst ɹˈeɪsɪŋ kˈɑɹ", is_reverse=True)))
# Prints: fast racing car
ℹ️ For English, we recommend using
EnglishBritishorEnglishAmericaninstead ofEnglish. These dialect-specific models use high-quality Kokoro Misaki dictionaries and produce better results, especially for reversing IPA back to text.
Uyghur language, our highest quality language
print(str(pygoruut.phonemize(language="Uyghur", sentence="قىزىل گۈل ئاتا")))
# Prints: qizil gyl ʔɑtɑ
# Now, convert it back
print(str(pygoruut.phonemize(language="Uyghur", sentence="qizil gyl ʔɑtɑ", is_reverse=True)))
# Prints: قىزىل گۈل ئاتا
The quality of translation varies across the 136 supported languages.
Advanced Use
Multi-lingual sentence handling
Use comma (,) separated languages in language. The first language is the preferred language:
print(pygoruut.phonemize(language="EnglishBritish,Slovak", sentence="hello world ahojte notindictionary!!!!"))
# Prints: həlˈoʊ wˈɜɹld aɦɔjcɛ ŋətandəktɪnˈɑːɪ!!!!
Numerics handling (English, Arabic)
print(str(pygoruut.phonemize(language="EnglishBritish", sentence="100 bottles")))
# Prints: wˈʌn hˈʌndɹəd bˈɒtəlz
Homograph handling (Hebrew3)
print(str(pygoruut.phonemize(language="Hebrew3", sentence="השרים ביקשו מהשרים לפתוח את הדלתות של בית השרים.")))
# Prints: hasaʁˈim bikʃˈu mehasaʁˈim liftˈoaχ ʔˈet hadlatˈot ʃˈel bajˈit hasaʁˈim.
No punctuation
print(str(pygoruut.phonemize(language="EnglishBritish", sentence="hello world!!!!", is_punct=False)))
# Prints: həlˈoʊ əɹld
Force a specific version
You can pin a specific version. It will translate all words in the same way forever:
from pygoruut.pygoruut import Pygoruut
pygoruut = Pygoruut(version='v0.6.2')
Use an online inference api
You can use an inference api. The model will not be downloaded:
from pygoruut.pygoruut import Pygoruut
pygoruut = Pygoruut(api='https://hashtron.cloud')
Use an extra model
Extra model can be loaded from a ZIP file manually. It extends a specific language.
from pygoruut.pygoruut import Pygoruut
pygoruut = Pygoruut(models={"Hebrew3": "/home/john/Downloads/hebrew3.zip"})
Configure a model download directory for faster startup
To cache models in a user-specified directory:
from pygoruut.pygoruut import Pygoruut
pygoruut = Pygoruut(writeable_bin_dir='/home/john/')
To cache in the user's home subdirectory .goruut:
from pygoruut.pygoruut import Pygoruut
pygoruut = Pygoruut(writeable_bin_dir='')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pygoruut-0.7.0.tar.gz.
File metadata
- Download URL: pygoruut-0.7.0.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7ffbe59d12fa310abe8b3e347d1ef65164da9aa8643f3aebe9511dd4f26afc7
|
|
| MD5 |
9fb81efaee1fb3fbd90384aaa6a93809
|
|
| BLAKE2b-256 |
96b0f212f4b4b0751df2c733331d7fe73e00e91ff02febbdf3021a698ef395b4
|
File details
Details for the file pygoruut-0.7.0-py3-none-any.whl.
File metadata
- Download URL: pygoruut-0.7.0-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e81f00481603eeaeab08fdeb7247b2201241a660709c0b48c34679c645f2811d
|
|
| MD5 |
d69155e649f912de3560df905a07c613
|
|
| BLAKE2b-256 |
a6d98ac218ccbd954fe1aabf60d3a5232a2056ed21ac421373d175164d7667b6
|