Kaldi and MFA are now built on Conda Forge 🎉, so installation of third party binaries is wholly through conda from 2.0.0b4 onwards. Installing MFA via conda will pick up Kaldi as well.

All platforms#

  1. Install Miniconda/Conda installation

  2. Create new environment and install MFA: conda create -n aligner -c conda-forge montreal-forced-aligner

    1. You can enable the conda-forge channel by default by running conda config --add channels conda-forge in order to omit the -c conda-forge from these commands

  3. Ensure you’re in the new environment created (conda activate aligner)

Upgrading from non-conda version#

In general, it’s recommend to create a new environment. If you want to update,

  1. Activate your conda environment (i.e., conda activate aligner)

  2. Upgrade all packages via conda update --all

  3. Run pip uninstall montreal-forced-aligner (to clean up previous pip installation)

  4. Run conda install -c conda-forge montreal-forced-aligner

Installing from source#

If the Conda installation above does not work or the binaries don’t work on your system, you can try building Kaldi and OpenFst from source, along with MFA.

  1. Download/clone the Kaldi GitHub and follow the installation instructions

  2. If you’re on Mac or Linux and want G2P functionality, install OpenFst, OpenGrm-NGram, Baum-Welch, and Pynini

  3. Make sure all Kaldi and other third party executables are on the system path

  4. Download/clone the MFA GitHub Repo and install MFA via python setup install or pip install -e .

  5. Double check everything’s working on the console with mfa -h


You can also clone the conda-forge feedstocks for OpenFst, SoX, Kaldi, and MFA and run them with conda build to build for your specific system.

Installing via pip#

To install with pip and install minimal dependencies from conda:

  1. Create a conda environment:

    • Linux/ MacOSX: conda create -n aligner kaldi pynini

    • Windows: conda create -n aligner kaldi

  2. Activate environment via conda activate aligner

  3. Install MFA

    • From PyPi: pip install montreal-forced-aligner

    • From GitHub: pip install git+

    • From inside the MFA repository root directory, you can install a local version via:

      • pip install -e .

      • python install

      • python develop

MFA temporary files#

MFA uses a temporary directory for commands that can be specified in running commands with --temp_directory (or see Configuration), and it also uses a directory to store global configuration settings and saved models. By default this root directory is ~/Documents/MFA, but if you would like to put this somewhere else, you can set the environment variable MFA_ROOT_DIR to use that. MFA will raise an error on load if it’s unable to write the specified root directory.

Supported functionality#

As of version 2.0.6, all features are available on all platforms. Prior to this version, G2P and language model training was unavailable on native Windows, but could be used with Windows Subsystem for Linux (WSL).


Linux support

Windows support

MacOS support


Yes Yes Yes

G2P training

Yes Yes Yes

G2P generation

Yes Yes Yes


Yes Yes Yes

Training language model

Yes Yes Yes