--- id: gruut version: "2.4.0" license: unclear license_treatment: permissive maintenance: abandoned --- # gruut — A tokenizer, text cleaner, and phonemizer for many human languages. License: permissive · Maintenance: abandoned · Downloads: 101.9K/mo ## What it is and what it does Gruut is a multilingual text processing pipeline that breaks text into sentences and words, assigns part-of-speech tags, and generates IPA phoneme sequences for each word. It handles context-dependent pronunciation (e.g., 'read' as past vs. present tense) and supports SSML markup for mixed-language input. The package also automatically expands abbreviations, numbers, dates, currency, and times into spoken forms, respecting locale conventions—so "1/1/2020" is parsed as month-first or day-first depending on the text's declared language. Gruut is primarily designed for speech synthesis pipelines and voice applications that need clean, phonetically annotated text. It bundles language-specific models for part-of-speech tagging and grapheme-to-phoneme conversion, and relies on external libraries like Babel, num2words, and python-crfsuite for linguistic analysis. The project is archived and no longer actively maintained, though it remains functional for its supported languages. Use it for: - Preprocessing text for text-to-speech systems that require phoneme-level control and multilingual support. - Extracting structured phonetic data from raw text for linguistic research or speech recognition training. - Normalizing and cleaning user input in voice assistant pipelines before synthesis. - Converting mixed-language SSML documents into phonetically annotated word sequences. - Expanding numeric and temporal expressions into natural language for audio output. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Gruut tokenizes, cleans, and converts text to IPA phonemes for multiple languages, with support for SSML markup and automatic expansion of numbers, dates, and currency. Yes, if you need multilingual IPA phonemization and text normalization for a speech pipeline and can tolerate an archived codebase. The high install friction (12 dependencies) and abandoned maintenance status mean it is best suited for stable, non-evolving use cases. Not recommended for new projects requiring active support or ongoing language additions. ## Install pip install gruut uv add gruut poetry add gruut ## Installing gruut Before you install: High install friction due to 12 runtime dependencies including numpy, python-crfsuite, and language-specific packages. The project is archived and abandoned as of the latest commit; no active maintenance. License in practice: MIT license permits commercial and private use with minimal restrictions, typical for permissive open-source projects. Quickstart: pip install gruut from gruut import sentences text = 'He wound it around the wound.' for sent in sentences(text, lang="en-us"): for word in sent: if word.phonemes: print(word.text, *word.phonemes) Requires Python 3.6 or higher; language support beyond English requires additional language packages or manual language file installation in $XDG_CONFIG_HOME/gruut/. Verify before relying: - Whether the archived repository will receive security updates or bug fixes if issues arise. - Performance characteristics with large text volumes or real-time processing demands. - Compatibility with Python versions beyond 3.9 (classifiers list stops at 3.9). - How many languages are currently supported and whether that list is maintained. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: high - Maintenance: abandoned - Downloads: 101.9K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags text tokenization and phonemization, IPA phoneme conversion, multilingual text processing, SSML text parsing, number and date verbalization, text-to-speech preprocessing, grapheme to phoneme conversion, phonemization, multilingual-nlp, speech-synthesis [View on SkillFed](https://skillfed.io/packages/gruut) · [View on PyPI](https://pypi.org/project/gruut/)