# Montreal Forced Aligner

[](https://codecov.io/gh/MontrealCorpusTools/Montreal-Forced-Aligner)
[](http://montreal-forced-aligner.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/MontrealCorpusTools/montreal-forced-aligner/)
[](https://zenodo.org/badge/latestdoi/44983969)
The Montreal Forced Aligner is a command line utility for performing forced alignment of speech datasets using Kaldi (http://kaldi-asr.org/).
Please see the documentation http://montreal-forced-aligner.readthedocs.io for installation and usage.
If you run into any issues, please check the [mailing list](https://groups.google.com/forum/#!forum/mfa-users) for fixes/workarounds or to post a [new issue](https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner/issues).
## Installation
You can install MFA either entirely through [conda](https://docs.conda.io/en/latest/) or a mix of conda for Kaldi and Pynini dependencies and Python packaging for MFA itself
### Conda installation
MFA is hosted on [conda-forge](https://conda-forge.org/) and can be installed via:
```
conda install -c conda-forge montreal-forced-aligner
```
in your environment of choice.
### Source installation
If you'd like to install a local version of MFA or want to use the development set up, the easiest way is first create the dev environment from the yaml in the repo root directory:
```
conda env create -n mfa-dev -f environment.yml
```
Alternatively, the dependencies can be installed via:
```
conda install -c conda-forge python=3.11 kaldi librosa praatio tqdm requests colorama pyyaml pynini openfst baumwelch ngram
```
MFA can be installed in develop mode via:
```
pip install -e .[dev]
```
You should be able to see appropriate output from `mfa version`
#### Development
The test suite is run via `tox -e py38-win` or `tox -e py38-unix` depending on the OS, and the docs are generated via `tox -e docs`
## Quick links
* [Getting started docs](https://montreal-forced-aligner.readthedocs.io/en/latest/getting_started.html)
* [User Guide](https://montreal-forced-aligner.readthedocs.io/en/latest/user_guide/index.html)
* [API Reference](https://montreal-forced-aligner.readthedocs.io/en/latest/reference/index.html)
* [Release notes](https://montreal-forced-aligner.readthedocs.io/en/latest/changelog/index.html)
* [MFA Models](https://github.com/MontrealCorpusTools/mfa-models)
* [Eleanor Chodroff's MFA tutorial](https://lingmethodshub.github.io/content/tools/mfa/mfa-tutorial/)
* [@mmcauliffe's forced alignment blog posts](https://memcauliffe.com/tag/forced-alignment.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner",
"name": "Montreal-Forced-Aligner",
"maintainer": "Michael McAuliffe",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "michael.e.mcauliffe@gmail.com",
"keywords": "phonology, corpus, phonetics, alignment, segmentation, transcription, g2p, language modeling",
"author": "Montreal Corpus Tools",
"author_email": "michael.e.mcauliffe@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/5d/63/1c686c47d8d23e845afc06fd42bcc8357ec7f1adccd39bae540e15ac39b1/montreal_forced_aligner-3.3.4.tar.gz",
"platform": null,
"description": "# Montreal Forced Aligner\n\n\n[](https://codecov.io/gh/MontrealCorpusTools/Montreal-Forced-Aligner)\n[](http://montreal-forced-aligner.readthedocs.io/en/latest/?badge=latest)\n[](https://github.com/MontrealCorpusTools/montreal-forced-aligner/)\n[](https://zenodo.org/badge/latestdoi/44983969)\n\nThe Montreal Forced Aligner is a command line utility for performing forced alignment of speech datasets using Kaldi (http://kaldi-asr.org/).\n\nPlease see the documentation http://montreal-forced-aligner.readthedocs.io for installation and usage.\n\nIf you run into any issues, please check the [mailing list](https://groups.google.com/forum/#!forum/mfa-users) for fixes/workarounds or to post a [new issue](https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner/issues).\n\n## Installation\n\nYou can install MFA either entirely through [conda](https://docs.conda.io/en/latest/) or a mix of conda for Kaldi and Pynini dependencies and Python packaging for MFA itself\n\n### Conda installation\n\nMFA is hosted on [conda-forge](https://conda-forge.org/) and can be installed via:\n\n```\nconda install -c conda-forge montreal-forced-aligner\n```\n\nin your environment of choice.\n\n### Source installation\n\nIf you'd like to install a local version of MFA or want to use the development set up, the easiest way is first create the dev environment from the yaml in the repo root directory:\n\n```\nconda env create -n mfa-dev -f environment.yml\n```\n\nAlternatively, the dependencies can be installed via:\n\n```\nconda install -c conda-forge python=3.11 kaldi librosa praatio tqdm requests colorama pyyaml pynini openfst baumwelch ngram\n```\n\nMFA can be installed in develop mode via:\n\n```\npip install -e .[dev]\n```\n\nYou should be able to see appropriate output from `mfa version`\n\n#### Development\n\nThe test suite is run via `tox -e py38-win` or `tox -e py38-unix` depending on the OS, and the docs are generated via `tox -e docs`\n\n\n## Quick links\n\n* [Getting started docs](https://montreal-forced-aligner.readthedocs.io/en/latest/getting_started.html)\n* [User Guide](https://montreal-forced-aligner.readthedocs.io/en/latest/user_guide/index.html)\n* [API Reference](https://montreal-forced-aligner.readthedocs.io/en/latest/reference/index.html)\n* [Release notes](https://montreal-forced-aligner.readthedocs.io/en/latest/changelog/index.html)\n* [MFA Models](https://github.com/MontrealCorpusTools/mfa-models)\n* [Eleanor Chodroff's MFA tutorial](https://lingmethodshub.github.io/content/tools/mfa/mfa-tutorial/)\n* [@mmcauliffe's forced alignment blog posts](https://memcauliffe.com/tag/forced-alignment.html)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Montreal Forced Aligner is a package for aligning speech corpora using Kaldi functionality.",
"version": "3.3.4",
"project_urls": {
"Homepage": "https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner"
},
"split_keywords": [
"phonology",
" corpus",
" phonetics",
" alignment",
" segmentation",
" transcription",
" g2p",
" language modeling"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0ab446ce74e2619bcf76002dedf607ca9d0c54602dbcfd92b474a2040f464d5e",
"md5": "2e8e345f5c851cd384dc6aca01e88c4a",
"sha256": "ea3ef8b1d6c9caab880e313ff8e2fa59171ed8094e61612213d29d10a8024a8b"
},
"downloads": -1,
"filename": "montreal_forced_aligner-3.3.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2e8e345f5c851cd384dc6aca01e88c4a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 418401,
"upload_time": "2025-08-01T00:03:03",
"upload_time_iso_8601": "2025-08-01T00:03:03.956634Z",
"url": "https://files.pythonhosted.org/packages/0a/b4/46ce74e2619bcf76002dedf607ca9d0c54602dbcfd92b474a2040f464d5e/montreal_forced_aligner-3.3.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5d631c686c47d8d23e845afc06fd42bcc8357ec7f1adccd39bae540e15ac39b1",
"md5": "28f2d9b1baee9836a56cacc4f8f3f1b9",
"sha256": "29d428a812fd51f592885b603e3a610613394dbfb54f3dcd309f6df03ec46117"
},
"downloads": -1,
"filename": "montreal_forced_aligner-3.3.4.tar.gz",
"has_sig": false,
"md5_digest": "28f2d9b1baee9836a56cacc4f8f3f1b9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 26981152,
"upload_time": "2025-08-01T00:03:06",
"upload_time_iso_8601": "2025-08-01T00:03:06.199259Z",
"url": "https://files.pythonhosted.org/packages/5d/63/1c686c47d8d23e845afc06fd42bcc8357ec7f1adccd39bae540e15ac39b1/montreal_forced_aligner-3.3.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-01 00:03:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "MontrealCorpusTools",
"github_project": "Montreal-Forced-Aligner",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "praatio",
"specs": [
[
">=",
"6.0.0"
]
]
},
{
"name": "tqdm",
"specs": []
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "librosa",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "dataclassy",
"specs": []
},
{
"name": "sqlalchemy",
"specs": [
[
">=",
"2.0"
]
]
},
{
"name": "click",
"specs": []
},
{
"name": "rich",
"specs": []
},
{
"name": "rich-click",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pynini",
"specs": []
}
],
"tox": true,
"lcname": "montreal-forced-aligner"
}