--- id: nemo-text-processing version: "1.2.0" license: Apache2 license_treatment: permissive maintenance: active --- # nemo-text-processing — NeMo text processing for ASR and TTS License: permissive · Maintenance: active · Downloads: 126.3K/mo ## What it is and what it does nemo-text-processing is a Python library for bidirectional text normalization—converting written text to spoken form and back. It uses weighted finite-state transducers (WFST) and language models to handle complex linguistic rules. The package is designed for speech pipelines: text-to-speech systems need normalized input, and automatic speech recognition systems produce text that often needs denormalization for readability. The library depends on pynini (OpenFst bindings), transformers, pandas, and several NLP utilities. It's maintained by NVIDIA as part of the NeMo ecosystem. Installation via pip works on Linux x86_64; macOS and Windows users should use conda-forge to avoid compilation issues with pynini. The package is actively maintained and production-stable. Use it for: - Prepare text for TTS systems by normalizing written forms into spoken equivalents - Clean ASR output by converting spoken-form text back to written conventions - Build custom text normalization rules using WFST grammar files for domain-specific language - Preprocess multilingual text for NLP pipelines that require consistent text representation - Integrate text normalization into speech processing workflows alongside transformers models ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts text to normalized form and back (inverse normalization) for speech recognition and synthesis pipelines, using weighted finite-state transducers and language models. Yes, if you work with speech systems (ASR or TTS) and need robust text normalization. The package is actively maintained, permissively licensed, and has low install friction on Linux. On macOS or Windows, install pynini via conda-forge first. No known vulnerabilities. Not necessary if you only need basic string replacements. ## Install pip install nemo-text-processing uv add nemo-text-processing poetry add nemo-text-processing ## Installing nemo-text-processing Before you install: Low friction: pure Python wheel with no compiled dependencies beyond pynini. Active maintenance (last commit 2026-07-30, release 70 days ago). Note: pynini requires OpenFst; pip install on macOS and Windows may fail unless OpenFst is pre-installed; conda-forge recommended for those platforms. License in practice: Apache 2.0 permissive license allows commercial use, modification, and distribution with minimal restrictions—suitable for most projects. Quickstart: pip install nemo_text_processing from nemo_text_processing.text_normalization.normalize import Normalizer normalizer = Normalizer(lang='en') result = normalizer.normalize("I paid fifty dollars") On macOS and Windows, pynini requires pre-installed OpenFst libraries; use conda-forge instead: conda install -c conda-forge pynini=2.1.6.post1 Verify before relying: - Whether hybrid text normalization features (mentioned in docs) require PyTorch or are optional - Actual Python version floor (classifiers list 3.8 and 3.9, but requires_python is unspecified) - Specific text normalization capabilities beyond numbers and currencies ## Package facts - License: Apache2 (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 126.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags text normalization for ASR TTS, inverse text normalization, speech text preprocessing, WFST text processing, normalize text for speech, denormalize written text, grammar-based text rules, speech-processing, text-normalization, nlp [View on SkillFed](https://skillfed.io/packages/nemo-text-processing) · [View on PyPI](https://pypi.org/project/nemo-text-processing/)