ko-speech-tools
Korean speech/NLP tools
What it is and what it does
Korean Speech Tools is a collection of utilities for processing Korean language text and speech. It bundles three main capabilities: converting Hangul (Korean script) to romanized Latin characters, decomposing and recomposing Hangul into Jamo (individual character components), and converting written Korean text to phonetic pronunciation for speech synthesis. The package consolidates previously unmaintained libraries and removes unnecessary external dependencies from the core functionality.
The core romanization and Jamo tools have no external dependencies and work with modern Python versions (3.10+). Grapheme-to-phoneme conversion is available as an optional extra that requires the mecab-ko morphological analyzer. This is useful for developers building Korean speech synthesis systems, linguistic analysis tools, or text processing pipelines that need to work with Korean script in different representations.
Use it for:
- Convert Korean text to romanized Latin script for display or input systems that don't support Hangul.
- Decompose Korean characters into individual Jamo components for linguistic analysis or custom text processing.
- Generate phonetic pronunciations from written Korean text for text-to-speech synthesis systems.
- Build Korean language NLP pipelines that need to normalize or transform Korean script representations.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Korean language processing tools including Hangul romanization, Jamo character conversion, and grapheme-to-phoneme conversion for speech synthesis.
Yes, if you need Korean language processing tools and can accept alpha-stage software. The package has low install friction, no core dependencies, and permissive licensing. However, verify that the G2P accuracy meets your speech synthesis requirements and understand that maintenance is uncertain given the recent release and small repository activity. Not recommended for production systems requiring long-term support guarantees.
Install
ko-speech-tools on PyPI
pip
pip install ko-speech-toolsuv
uv add ko-speech-toolspoetry
poetry add ko-speech-toolsInstalling ko-speech-tools
Before you install
Low install friction with no core dependencies; optional G2P functionality requires mecab-ko. Package is in alpha status and was first released recently, so treat as early-stage.
License in practice
Apache-2.0 permissive license allows commercial and private use. Package combines code from multiple sources (g2pkk, hangul_romanize, jamo, tacotron) each under their original licenses (Apache-2.0, BSD-2-Clause, MIT); individual files document their respective licenses.
Quickstart
pip install ko-speech-tools
from ko_speech_tools import hangul_romanize
print(hangul_romanize("물엿")) # Output: 'mul-yeos'
from ko_speech_tools.jamo import h2j, j2hcj
print(h2j('한굴')) # Hangul to Jamo conversion
Requires Python 3.10 or later. G2P functionality requires optional mecab-ko dependency (install with: pip install ko-speech-tools[g2p]).
Verify before relying
- Whether G2P accuracy and performance are suitable for production speech synthesis pipelines.
- Maintenance roadmap and whether the package will receive updates beyond its current alpha state.
- Compatibility with non-Latin romanization standards or alternative Jamo representations.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 315 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 103,209/month — #12,822 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ko_speech_tools-0.1.0-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
g2pkkg2pkk converts Korean text to phonetic…
permissive · top 15,000 on PyPI
hangul-romanizeConverts Korean Hangul text to romanized (Latin…
unclear · top 15,000 on PyPI
jamoJamo decomposes and synthesizes Hangul…
permissive · top 15,000 on PyPI
misakiConverts written text to phonetic…
permissive · top 15,000 on PyPI
g2p-enConverts English text to phoneme sequences…
permissive · top 5,000 on PyPI
pyopenjtalkWraps OpenJTalk to provide Japanese…
permissive · top 15,000 on PyPI
mecab-koPython wrapper for MeCab-ko, a morphological…
permissive · top 15,000 on PyPI
cmudictProvides Python access to the CMU Pronouncing…
copyleft · top 15,000 on PyPI
python-mecab-koProvides Python bindings for MeCab-ko, a…
permissive · top 15,000 on PyPI
python-mecab-ko-dicProvides a pre-built Korean morphological…
permissive · top 15,000 on PyPI