Installation#
Important
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.
General installation#
Install Miniconda/Conda installation
Create new environment and install MFA:
conda create -n aligner -c conda-forge montreal-forced-aligner
You can enable the
conda-forge
channel by default by runningconda config --add channels conda-forge
in order to omit the-c conda-forge
from these commands
Ensure you’re in the new environment created (
conda activate aligner
)
Installing SpeechBrain#
Ensure you are in the conda environment created above
Install PyTorch
CPU:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
GPU:
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
Install Speechbrain via pip:
pip install speechbrain
Installing older versions of MFA#
If you need to use an older version of MFA, you can install it via:
`
conda install montreal-forced-aligner=X.X.X
`
More stable key versions:
Stable 2.2 release:
conda install montreal-forced-aligner=2.2.17
Stable 2.1 release:
conda install montreal-forced-aligner=2.1.7
Stable 2.0 release:
conda install montreal-forced-aligner=2.0.6
Stable 1.0 release: MontrealCorpusTools/Montreal-Forced-Aligner
Docker installation#
New in version 2.2.6: Docker images for MFA automatically built and available via mmcauliffe/montreal-forced-aligner.
To use the Docker image of MFA:
Run
docker image pull mmcauliffe/montreal-forced-aligner:latest
Enter the interactive docker shell via
docker run -it -v /path/to/data/directory:/data mmcauliffe/montreal-forced-aligner:latest
Once you are in the shell, you can run MFA commands as normal (i.e.,
mfa align ...
). You may need to download any pretrained models you want to use each session (i.e.,mfa model download acoustic english_mfa
)
Important
For accessing system files, note the use of -v /path/to/data/directory:/data
, where the path before the colon is the local system path and the path after the colon is the mapped path inside docker. For Windows, the path style is //c/Users/path
, note the slashes and how the drive is specified.
Installing MFA in your own containers#
New in version 2.2.6: Dockerfile for automatic releases
A simple Dockerfile for installing MFA would be:
FROM condaforge/mambaforge:22.11.1-4 as build
RUN mkdir -p /mfa
RUN mamba create -p /env -c conda-forge montreal-forced-aligner
RUN useradd -ms /bin/bash mfauser
RUN chown -R mfauser /mfa
RUN chown -R mfauser /env
USER mfauser
ENV MFA_ROOT_DIR=/mfa
RUN conda run -p /env mfa server init
RUN echo "source activate /env && mfa server start" > ~/.bashrc
ENV PATH /env/bin:$PATH
Crucially, note the useradd and subsequent user commands:
RUN useradd -ms /bin/bash mfauser
RUN chown -R mfauser /mfa
RUN chown -R mfauser /env
USER mfauser
ENV MFA_ROOT_DIR=/mfa
RUN conda run -p /env mfa server init
These lines ensure that the database is initialized without using Docker’s default root user, avoiding a permissions error thrown by PostGreSQL.
Upgrading from non-conda version#
In general, it’s recommend to create a new environment. If you want to update,
Activate your conda environment (i.e.,
conda activate aligner
)Upgrade all packages via
conda update --all
Run
pip uninstall montreal-forced-aligner
(to clean up previous pip installation)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.
Download/clone the Kaldi GitHub and follow the installation instructions
If you’re on Mac or Linux and want G2P functionality, install OpenFst, OpenGrm-NGram, Baum-Welch, and Pynini
Make sure all Kaldi and other third party executables are on the system path
Download/clone the MFA GitHub Repo and install MFA via
python setup install
orpip install -e .
Double check everything’s working on the console with
mfa -h
Note
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:
Create a conda environment:
Linux/ MacOSX:
conda create -n aligner kaldi pynini
Windows:
conda create -n aligner kaldi
Activate environment via
conda activate aligner
Install MFA
From PyPi:
pip install montreal-forced-aligner
From GitHub:
pip install git+https://github.com/MontrealCorpusTools/Montreal-Forced-Aligner.git
From inside the MFA repository root directory, you can install a local version via one of the following:
pip install -e .
python setup.py install
python setup.py 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).