View on GitHub

IsoSignVid2Aud

IsoSignVid2Aud presents a novel end-to-end approach for converting American Sign Language (ASL) videos into Audio without text intermediaries.

IsoSignVid2Aud

Sign Language Video to Audio Conversion without Text Intermediaries

Paper Project Page
Harsh Kavediya†,1, Vighnesh Nayak†,1, Bheeshm Sharma2 Balamurugan Palaniappan2
1Department of Mechanical Engineering    2Department of IEOR
Indian Institute of Technology Bombay
Accepted at 5th International Conference on AI-ML Systems [2025]

๐Ÿ“ Abstract

Sign language to spoken language audio translation is important to connect the hearing- and speech-challenged humans with others. We consider sign language videos with isolated sign sequences rather than continuous grammatical signing. Such videos are useful in educational applications and sign prompt interfaces. Towards this, we propose IsoSignVid2Aud, a novel end-to-end framework that translates sign language videos with a sequence of possibly non-grammatic continuous signs to speech without requiring intermediate text representation, providing immediate communication benefits while avoiding the latency and cascading errors inherent in multi-stage translation systems. Our approach combines an I3D-based feature extraction module with a specialized feature transformation network and an audio generation pipeline, utilizing a novel Non-Maximal Suppression (NMS) algorithm for the temporal detection of signs in non-grammatic continuous sequences. Experimental results demonstrate competitive performance on ASL-Citizen-1500 and WLASL-100 datasets with Top-1 accuracies of 72.01% and 78.67%, respectively, and audio quality metrics (PESQ: 2.67, STOI: 0.73) indicating intelligible speech output.

๐Ÿ“‹Table of Contents

โœจ Features

๐Ÿ“‚ Project Structure

Hereโ€™s a high-level overview of the key directories and files:

๐Ÿ› ๏ธ Installation

  1. Clone the repository:
    git clone https://github.com/Kugelblitz25/sign2speech
    cd sign2speech
    
  2. Create and activate a virtual environment: Using venv (standard Python):
    python3 -m venv .venv
    source .venv/bin/activate
    

    Or using Conda:

    conda create -n sign2speech_env python=3.10
    conda activate sign2speech_env
    
  3. Install dependencies: The preferred method is using uv with pyproject.toml for development or general use:
    # Install project dependencies using uv:
    uv pip install -r pyproject.toml --extra test
    

    The .[test] will install main dependencies plus those needed for testing, as defined in pyproject.toml. If you prefer not to use uv, you can use pip with requirements.txt:

    pip install -r requirements.txt
    

Note: If you get ModuleNotFoundError: No module named 'models', run

export PYTHONPATH=$(pwd)

๐Ÿš€ Usage

Running the Gradio Interface

To start the Gradio web interface for a live demonstration:

python ui.py

This will launch a local web server, and you can access the interface through your browser (usually at http://127.0.0.1:7860). You can upload a sign language video to get the synthesized audio.

Running Tests

The project includes a script to evaluate the performance of the Sign2Speech pipeline:

There are also a test scripts specific to the feature extractor and feature transformer models located at models/extractor/test.py and models/transformer/test.py respectfully.

โš™๏ธ Configuration

The main configuration for the project is done through the config.yaml file. This file is structured using YAML and includes sections for:

The utils/config.py script provides dataclasses that define the structure of this configuration and helper functions to load it.

๐Ÿ‹๏ธ Training

The project provides scripts and a framework for training the models from scratch or fine-tuning them.

Dataset

Preprocessing

Combined Training

Run the combined training using following command

  python models/train.py --config_file config.yaml

Modify the optimizer and scheduler parameters for the feature extractor and feature transformer in their corresponding sections in config.yaml file. Epochs and batch sizes are defined in separate combined section.

Individual Model Training

You can also train individual components of the pipeline:

Training parameters such as epochs, batch size, learning rate, etc., can be adjusted in the config.yaml file under the respective modelโ€™s training section.

Training Pipeline

The trainer.sh script provides an automated way to run the individual training process:

chmod +x trainer.sh
./trainer.sh

This script performs the following steps:

  1. Generates spectrograms.
  2. Verifies and splits video data.
  3. Augments video data.
  4. Trains the feature extractor (models/extractor/train.py).
  5. Generates features for the feature transformer model (models/transformer/preprocessing/features_gen.py).
  6. Trains the feature transformer (models/transformer/train.py).

Ensure your config.yaml is correctly set up before running trainer.sh.

๐Ÿ› ๏ธ Utilities

The utils/ directory contains several helpful scripts:

๐Ÿ”— Citation

If you find this work useful in your research, please cite:

@misc{kavediya2025isosignvid2audsignlanguagevideo,
      title={IsoSignVid2Aud: Sign Language Video to Audio Conversion without Text Intermediaries},
      author={Harsh Kavediya and Vighnesh Nayak and Bheeshm Sharma and Balamurugan Palaniappan},
      year={2025},
      eprint={2510.07837},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2510.07837}, 
}

๐Ÿ“„ License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.