1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
Installing pre-built binaries
=============================
``torchaudio`` has binary distributions for PyPI (``pip``) and Anaconda (``conda``).
Please refer to https://pytorch.org/get-started/locally/ for the details.
.. note::
Each ``torchaudio`` package is compiled against specific version of ``torch``.
Please refer to the following table and install the correct pair of ``torch`` and ``torchaudio``.
.. note::
Starting ``0.10``, torchaudio has CPU-only and CUDA-enabled binary distributions,
each of which requires a corresponding PyTorch distribution.
.. note::
This software was compiled against an unmodified copies of FFmpeg, with the specific rpath removed so as to enable the use of system libraries. The LGPL source can be downloaded from the following locations: `n4.1.8 <https://github.com/FFmpeg/FFmpeg/releases/tag/n4.4.4>`__ (`license <https://github.com/FFmpeg/FFmpeg/blob/n4.4.4/COPYING.LGPLv2.1>`__), `n5.0.3 <https://github.com/FFmpeg/FFmpeg/releases/tag/n5.0.3>`__ (`license <https://github.com/FFmpeg/FFmpeg/blob/n5.0.3/COPYING.LGPLv2.1>`__) and `n6.0 <https://github.com/FFmpeg/FFmpeg/releases/tag/n6.0>`__ (`license <https://github.com/FFmpeg/FFmpeg/blob/n6.0/COPYING.LGPLv2.1>`__).
Dependencies
------------
* `PyTorch <https://pytorch.org>`_
Please refer to the compatibility matrix bellow for supported PyTorch versions.
.. _optional_dependencies:
Optional Dependencies
~~~~~~~~~~~~~~~~~~~~~
.. _ffmpeg_dependency:
* `FFmpeg <https://ffmpeg.org>`__
Required to use :py:mod:`torchaudio.io` module. and ``backend="ffmpeg"`` in
`I/O functions <./torchaudio.html#i-o>`__.
Starting version 2.1, TorchAudio official binary distributions are compatible with
FFmpeg version 6, 5 and 4. (>=4.4, <7). At runtime, TorchAudio first looks for FFmpeg 6,
if not found, then it continues to looks for 5 and move on to 4.
There are multiple ways to install FFmpeg libraries.
Please refer to the official documentation for how to install FFmpeg.
If you are using Anaconda Python distribution,
``conda install -c conda-forge 'ffmpeg<7'`` will install
compatible FFmpeg libraries.
If you need to specify the version of FFmpeg TorchAudio searches and links, you can
specify it via the environment variable ``TORIO_USE_FFMPEG_VERSION``. For example,
by setting ``TORIO_USE_FFMPEG_VERSION=5``, TorchAudio will only look for FFmpeg
5.
If for some reason, this search mechanism is causing an issue, you can disable
the FFmpeg integration entirely by setting the environment variable
``TORIO_USE_FFMPEG=0``.
There are multiple ways to install FFmpeg libraries.
If you are using Anaconda Python distribution,
``conda install -c conda-forge 'ffmpeg<7'`` will install
compatible FFmpeg libraries.
.. note::
When searching for FFmpeg installation, TorchAudio looks for library files
which have names with version numbers.
That is, ``libavutil.so.<VERSION>`` for Linux, ``libavutil.<VERSION>.dylib``
for macOS, and ``avutil-<VERSION>.dll`` for Windows.
Many public pre-built binaries follow this naming scheme, but some distributions
have un-versioned file names.
If you are having difficulties detecting FFmpeg, double check that the library
files you installed follow this naming scheme, (and then make sure
that they are in one of the directories listed in library search path.)
* `SoX <https://sox.sourceforge.net/>`__
Required to use ``backend="sox"`` in `I/O functions <./torchaudio.html#i-o>`__.
Starting version 2.1, TorchAudio requires separately installed libsox.
If dynamic linking is causing an issue, you can set the environment variable
``TORCHAUDIO_USE_SOX=0``, and TorchAudio won't use SoX.
.. note::
TorchAudio looks for a library file with unversioned name, that is ``libsox.so``
for Linux, and ``libsox.dylib`` for macOS. Some package managers install the library
file with different name. For example, aptitude on Ubuntu installs ``libsox.so.3``.
To have TorchAudio link against it, you can create a symbolic link to it with name
``libsox.so`` (and put the symlink in a library search path).
.. note::
TorchAudio is tested on libsox 14.4.2. (And it is unlikely that other
versions would work.)
* `SoundFile <https://pysoundfile.readthedocs.io/>`__
Required to use ``backend="soundfile"`` in `I/O functions <./torchaudio.html#i-o>`__.
* `sentencepiece <https://pypi.org/project/sentencepiece/>`__
Required for performing automatic speech recognition with :ref:`Emformer RNN-T<RNNT>`.
You can install it by running ``pip install sentencepiece``.
* `deep-phonemizer <https://pypi.org/project/deep-phonemizer/>`__
Required for performing text-to-speech with :ref:`Tacotron2`.
* `kaldi_io <https://pypi.org/project/kaldi-io/>`__
Required to use :py:mod:`torchaudio.kaldi_io` module.
Compatibility Matrix
--------------------
The official binary distributions of TorchAudio contain extension modules
which are written in C++ and linked against specific versions of PyTorch.
TorchAudio and PyTorch from different releases cannot be used together.
Please refer to the following table for the matching versions.
.. list-table::
:header-rows: 1
* - ``PyTorch``
- ``TorchAudio``
- ``Python``
* - ``2.1.0``
- ``2.1.0``
- ``>=3.8``, ``<=3.11``
* - ``2.0.1``
- ``2.0.2``
- ``>=3.8``, ``<=3.11``
* - ``2.0.0``
- ``2.0.1``
- ``>=3.8``, ``<=3.11``
* - ``1.13.1``
- ``0.13.1``
- ``>=3.7``, ``<=3.10``
* - ``1.13.0``
- ``0.13.0``
- ``>=3.7``, ``<=3.10``
* - ``1.12.1``
- ``0.12.1``
- ``>=3.7``, ``<=3.10``
* - ``1.12.0``
- ``0.12.0``
- ``>=3.7``, ``<=3.10``
* - ``1.11.0``
- ``0.11.0``
- ``>=3.7``, ``<=3.9``
* - ``1.10.0``
- ``0.10.0``
- ``>=3.6``, ``<=3.9``
* - ``1.9.1``
- ``0.9.1``
- ``>=3.6``, ``<=3.9``
* - ``1.8.1``
- ``0.8.1``
- ``>=3.6``, ``<=3.9``
* - ``1.7.1``
- ``0.7.2``
- ``>=3.6``, ``<=3.9``
* - ``1.7.0``
- ``0.7.0``
- ``>=3.6``, ``<=3.8``
* - ``1.6.0``
- ``0.6.0``
- ``>=3.6``, ``<=3.8``
* - ``1.5.0``
- ``0.5.0``
- ``>=3.5``, ``<=3.8``
* - ``1.4.0``
- ``0.4.0``
- ``==2.7``, ``>=3.5``, ``<=3.8``
|