Practical overview
When it fits
Use it when you need a Python framework and components to develop or experiment with sign-language-to-text or text-to-sign systems, rather than a turnkey interpreter.
Who it is for
- Python developers building custom sign-language translation systems.
- Machine-learning practitioners exploring sign video, pose features and translation models.
- Researchers or developers adapting text-to-sign rules for a regional language.
Documented uses
- Build a custom system that maps sign-language video into text.
- Generate sign output from text using the rule-based ConcatenativeSynthesis component.
- Create synthetic text-to-sign examples to support deep-learning training.
- Experiment with MediaPipe 3D landmark features in sign translation workflows.
Requirements & limits
The public repository declares an Apache-2.0 license. The README links to documentation for Python, CLI and Gradio GUI usage, and to individual model demos on Hugging Face Spaces.
- The project is a developer library and framework, not simply a ready-made translation app.
- The README describes separate sign-to-text and text-to-sign components; the ConcatenativeSynthesis component is rule-based and can generate synthetic training data.
- MediaPipe 3D landmarks are identified as a feature representation used for deep learning in the sign-to-text workflow.
- Regional text-to-sign adaptation involves inheriting TextLanguage and SignLanguage classes and using them with ConcatenativeSynthesis.
- The README's examples cover Urdu, English and Hindi text inputs, but do not establish comprehensive language coverage or translation quality.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Translate text into sign output with the Python API
Use the documented ConcatenativeSynthesis model to translate Urdu text into sign video output.
Before you start
- Python environment with the sign-language-translator package available.
- A supported text language, sign language, and sign format; the example uses Urdu, pk-sl, and video.
Steps
Import sign_language_translator as slt.
Create slt.models.ConcatenativeSynthesis(text_language="urdu", sign_language="pk-sl", sign_format="video").
Call model.translate() with Urdu text.
Call show() on the returned sign output.
Expected outcome
The example produces a sign output for the supplied Urdu sentence and displays it.
Guide limitations
- The documented example depends on the model's tokenize, map, download, and concatenate process.
- This recipe covers only the documented Urdu-to-video example; it does not establish support for every language or sign format.
Save English text translation as landmark data
Translate an English sentence using the documented Python example and save the result as a CSV file.
Before you start
- Python environment with the sign-language-translator package available.
- The example uses the ConcatenativeSynthesis model initialized for Urdu text, pk-sl sign language, and video format.
Steps
Create a ConcatenativeSynthesis model as shown in the repository example.
Set model.sign_format to slt.SignFormatCodes.LANDMARKS and model.sign_embedding_model to "mediapipe-world".
Set model.text_language to slt.languages.text.English().
Translate "This is an apple." and save the returned sign with save("this-is-an-apple.csv", overwrite=True).
Expected outcome
The example saves the translated sign data to this-is-an-apple.csv, overwriting an existing file if present.
Guide limitations
- The README demonstrates this example but does not document prerequisites for model assets, installation commands, or a verification procedure.
- The example starts from a model configured for Urdu text and pk-sl signs; it does not establish other language/sign-language combinations.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- sign-language-translator/sign-language-translator · Official homepage title · retained in its source language

