skillfed

nemo-text-processing

NeMo text processing for ASR and TTS

nemo-text-processing v1.2.0 126.3K downloads/30d#11,780 on PyPI491
Permissive license Apache2 Active released

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 on this page — 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

nemo-text-processing on PyPI

pip

pip install nemo-text-processing

uv

uv add nemo-text-processing

poetry

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 not specified
Install friction low — pure-Python wheel
Runtime dependencies 13 — cdifflib, editdistance, inflect, joblib, pandas, pynini, regex, sacremoses, setuptools, tqdm, transformers, wget, wrapt
Maintenance actively maintained — 70 days since the last release
Last repo commit
First released
Downloads 126,296/month — #11,780 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: nemo_text_processing-1.2.0-py3-none-any.whl

Keywords: NeMo, nvidia, tts, asr, text processing, text normalization, inverse text normalization, language

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Artificial IntelligenceTopic :: Scientific/Engineering :: Image RecognitionTopic :: Scientific/Engineering :: MathematicsTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

text normalization for ASR TTSinverse text normalizationspeech text preprocessingWFST text processingnormalize text for speechdenormalize written textgrammar-based text rules
speech-processingtext-normalizationnlp

More Libraries packages