montreal-forced-align-polygot/MFA-RUST
Montreal Forced Aligner – Rust API Implementation
This project provides a Rust-based API implementation of the Montreal Forced Aligner (MFA). The system uses the Axum web framework in Rust to build a high-performance API layer, while Python is used internally to run the Montreal Forced Aligner, since the aligner and its supporting tools are implemented in Python.
The goal of this repository is to provide a structured API-based system for performing speech-to-text forced alignment using Montreal Forced Aligner.
Instead of running MFA through command-line scripts, this implementation exposes the alignment functionality through HTTP API endpoints built with Axum. This allows the aligner to be easily integrated into applications, automation pipelines, research workflows, or backend services, while still leveraging the original Python-based MFA system.
The API endpoints and behavior are designed to match the same structure used in the other implementations, making it possible to switch between different aligner backends with minimal changes to client-side code.
Key Features
- Rust backend using the Axum framework for high-performance API handling
- Python integration for running the Montreal Forced Aligner
- API-driven workflow for easy integration with other applications or services
- Consistent API structure with other aligner implementations
- Designed to run easily in Hugging Face Spaces using Docker
Open Usage
The code in this repository is completely free to use. There are no restrictions on using this code and forking it.
You are free to:
- Fork the repository
- Copy the code directly
- Modify or extend it
- Create your own Hugging Face Space
- Build your own backend service using this implementation
This project aims to make it easier for developers and researchers to deploy and experiment with Montreal Forced Aligner through modern API-based systems, while also exploring Rust for building fast and reliable backend infrastructure.
