phonemizer-fork
Simple text to phones converter for multiple languages
What it is and what it does
Phonemizer-fork is a Python library that converts written text into phonetic transcriptions—sequences of individual speech sounds (phones)—in multiple languages. It wraps four different phonemization backends (espeak, espeak-mbrola, festival, and segments), each with different capabilities: espeak supports IPA output for many languages at fast speed, espeak-mbrola uses SAMPA for a smaller set of languages but slower, festival handles American English with syllable-level tokenization, and segments uses user-defined grapheme-to-phoneme mappings. The library provides both a command-line tool and a Python API for straightforward text-to-phone conversion.
You would use this package when you need to convert text into phonetic form for speech synthesis, linguistic analysis, or training speech-related machine learning models. The choice of backend depends on your language, required phonetic alphabet (IPA vs. SAMPA vs. custom), and whether you need syllable-level or word-level tokenization. It handles punctuation preservation and stressed phones where supported, and integrates with joblib for parallel processing.
Use it for:
- Prepare training data for speech systems by converting text to phonetic representations using espeak or festival
- Analyze pronunciation patterns across languages for linguistic research or language learning applications
- Build custom phonemization workflows for languages using the segments backend with user-provided mappings
- Extract syllable-level phonetic tokens for prosody analysis or rhythm-based speech processing in English
- Convert multilingual text to IPA for comparative phonetic studies
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts text to phonetic representations (phones) in multiple languages using pluggable backends like espeak, espeak-mbrola, festival, or segments.
Yes, if you need multilingual text-to-phoneme conversion. The package is actively maintained, has low install friction, and offers flexible backend selection for different use cases. The GPLv3+ license is a hard constraint only if you're building proprietary software; for research, open-source, or internal projects it poses no barrier. No known vulnerabilities.
Install
phonemizer-fork on PyPI
pip
pip install phonemizer-forkuv
uv add phonemizer-forkpoetry
poetry add phonemizer-forkInstalling phonemizer-fork
Before you install
Low install friction with a pure-Python wheel and only 5 runtime dependencies. Repository is active with recent commits and 1567 stars.
License in practice
Licensed under GPLv3+, a copyleft license requiring that any derivative works or distributions remain under the same terms. Suitable for open-source projects but incompatible with proprietary software that cannot be released under GPL.
Quickstart
pip install phonemizer-fork
from phonemizer.phonemize import phonemize
phones = phonemize('hello', language='en-us', backend='espeak')
Backend engines (espeak, festival, espeak-mbrola) may require separate system installation depending on which backend you select.
Verify before relying
- Whether backend engines are bundled or must be installed separately on the system
- Whether this fork is actively maintained or has diverged from the original phonemizer package
- Exact language and feature support for each backend beyond the comparison table
Package facts
| License | GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license… (full text in the JSON record) (copyleft) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — attrs, dlinfo, joblib, segments, typing-extensions |
| Maintenance | actively maintained — 561 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 966,328/month — #4,619 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: phonemizer_fork-3.3.2-py3-none-any.whl
Keywords: G2P, TTS, espeak, festival, linguistics, phone
Tags
More Linguistic packages
Detects and normalizes text encoding from…
permissive · top 100 on PyPI
tiktokentiktoken is a fast BPE tokenizer that converts…
permissive · top 1,000 on PyPI
chardetDetects character encoding and language in byte…
permissive · top 1,000 on PyPI
text-unidecodeConverts Unicode text to ASCII by…
copyleft · top 1,000 on PyPI
larkLark is a parsing library that builds abstract…
permissive · top 1,000 on PyPI
tree-sitterPython bindings to the tree-sitter parsing…
permissive · top 1,000 on PyPI
espeakng-loaderLoads the espeak-ng shared library and makes it…
unclear · top 5,000 on PyPI
phonemizerPhonemizer converts written text into phonetic…
copyleft · top 15,000 on PyPI
gruut-ipaGruut IPA parses, analyzes, and converts…
permissive · top 15,000 on PyPI
misakiConverts written text to phonetic…
permissive · top 15,000 on PyPI
panphonPanPhon maps International Phonetic Alphabet…
permissive · top 15,000 on PyPI
orthography2ipaConverts spelling to IPA phonetic transcription…
permissive · top 15,000 on PyPI
g2p-enConverts English text to phoneme sequences…
permissive · top 5,000 on PyPI
gruutGruut tokenizes, cleans, and converts text to…
permissive · top 15,000 on PyPI
gruut-lang-enProvides English language data files for…
permissive · top 15,000 on PyPI
epitranEpitran converts written text in various…
permissive · top 15,000 on PyPI