1. 01 Jun, 2023 1 commit
  2. 16 May, 2023 1 commit
  3. 28 Apr, 2023 1 commit
    • Yuekai Zhang's avatar
      Add cuctc decoder (#3096) · 0a1801ed
      Yuekai Zhang authored
      Summary:
      This PR implements a CUDA based ctc prefix beam search decoder.
      
      Attach serveral benchmark results using V100 below:
      |decoder type| model |datasets       | decoding time (secs)| beam size | batch size | model unit | subsampling times | vocab size |
      |--------------|---------|------|-----------------|------------|-------------|------------|-----------------------|------------|
      | cuctc |  conformer nemo    |dev clean        |7.68s | 8           |  32       | bpe         |    4  | 1000|
      | cuctc |  conformer nemo   |dev clean  (sort by length)      |1.6s | 8           |  32       | bpe         |    4  | 1000|
      | cuctc |  wav2vec2.0 torchaudio |dev clean                                |22s | 10           |  1       | char         |    2  | 29|
      | cuctc |   conformer espnet   |aishell1 test                             | 5s | 10           |  24       | char         |    4  | 4233|
      
      Note:
      1.  The design is to parallel computation through batch and vocab axis, for loop the frames axis. So it's more friendly with smaller sequence lengths, larger vocab size comparing with CPU implementations.
      2. WER is the same as CPU implementations. However, it can't decode with LM now.
      
      Resolves: https://github.com/pytorch/audio/issues/2957.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/3096
      
      Reviewed By: nateanl
      
      Differential Revision: D44709397
      
      Pulled By: mthrok
      
      fbshipit-source-id: 3078c54a2b44dc00eb4a81b4c657487eeff8c155
      0a1801ed
  4. 05 Apr, 2023 1 commit
  5. 29 Dec, 2022 1 commit
  6. 29 Jul, 2022 1 commit
  7. 28 Jul, 2022 1 commit
    • moto's avatar
      Migrate CTC decoder code (#2580) · 39b6343d
      moto authored
      Summary:
      This commit gets rid of our copy of CTC decoder code and
      replace it with upstream Flashlight-Text repo.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2580
      
      Reviewed By: carolineechen
      
      Differential Revision: D38244906
      
      Pulled By: mthrok
      
      fbshipit-source-id: d274240fc67675552d19ff35e9a363b9b9048721
      39b6343d
  8. 19 Jul, 2022 1 commit
    • moto's avatar
      Remove boost (#2552) · ee631d6b
      moto authored
      Summary:
      After reviewing the code for KenLM it turned out that we can build it without boost.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2552
      
      Reviewed By: xiaohui-zhang
      
      Differential Revision: D37949699
      
      Pulled By: mthrok
      
      fbshipit-source-id: 4a4ffae4220d0b764b53f52b93040670d91a84a3
      ee631d6b
  9. 15 Jun, 2022 1 commit
  10. 02 Jun, 2022 1 commit
    • moto's avatar
      Remove mad (#2428) · d2ecba98
      moto authored
      Summary:
      Remove the code related to libmad, which had been disabled in https://github.com/pytorch/audio/issues/2354
      
      In https://github.com/pytorch/audio/issues/2419, we mp3 decoding to ffmpeg. But CI tests were still using libmad.
      This commit completely removes libmad from torchaudio.
      
      This is BC-breaking change as `apply_sox_effects_file` function cannot handle MP3, and it cannot fallback to ffmpeg.
      The workaround for this is to use `torchaudio.load` then `apply_sox_effects_tensor`.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2428
      
      Reviewed By: carolineechen
      
      Differential Revision: D36851805
      
      Pulled By: mthrok
      
      fbshipit-source-id: f98795c59a1ac61cef511f2bbeac37f7c3c69d55
      d2ecba98
  11. 28 Apr, 2022 1 commit
  12. 01 Apr, 2022 1 commit
    • moto's avatar
      Update GNU config files to support `arm64-apple` system (#2307) · 3ed39e15
      moto authored
      Summary:
      This commit
      1. Updates the config.guess and config.sub files and
      2. applies them to all the third party libraries that use them.
      
      This resolves the following build failure on M1 mac with newer SDK.
      
      On MacBookPro with M1 chip, with the recent OS update, something
      about the development environment has been changed (probably newer
      version of XCode) and the build stopeed working with the following
      errors from third party dependencies.
      
      ```
      checking build system type... Invalid configuration ‘arm64-apple-darwin20.0.0': machine ‘arm64-apple' not recognized
      ```
      
      note: config files are taken from https://www.gnu.org/software/gettext/manual/html_node/config_002eguess.html
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2307
      
      Reviewed By: nateanl
      
      Differential Revision: D35318273
      
      Pulled By: mthrok
      
      fbshipit-source-id: 746ac51dd1816767aa78b88445f76a29acfd29e8
      3ed39e15
  13. 30 Mar, 2022 2 commits
  14. 22 Mar, 2022 1 commit
    • moto's avatar
      Revise the parameterization of third party libraries (#2282) · 7444f568
      moto authored
      Summary:
      Originally, the global property TORCHAUDIO_THIRD_PARTIES was introduced
      to handle the optional third party dependencies that can change based on
      the build config.
      
      After revising the CMake, it turned out this is not really necessary,
      as our torchaudio/csrc/CMakeLists.txt properly branches out for
      conditional dependencies. Rather we should leave the global scope untouched.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2282
      
      Reviewed By: hwangjeff
      
      Differential Revision: D35059838
      
      Pulled By: mthrok
      
      fbshipit-source-id: ed3557eaa9a669e4466d64893beab5089eca78b8
      7444f568
  15. 06 Mar, 2022 1 commit
  16. 15 Feb, 2022 1 commit
    • moto's avatar
      Improve ffmpeg library discovery (#2204) · 963905e4
      moto authored
      Summary:
      This commit fixes the issue with ffmpeg discovery at build time.
      The original implementation had issues like.
      
      1. Wrong usage of FindFFMPEG, which caused mixture of ffmpeg libraries from system directory and user directory.
      2. The optional `FFMPEG_ROOT` variable was not set within cmake.
      
      The issue 1 is problematic when a user does not have a permission to
      modify the environment. For example, an old version of ffmpeg, which is
      installed in a directory managed by the system (such as `/usr/local/lib`),
      then there is no way to specify a path in which user installs a supported version
      of ffmpeg.
      
      This commit changes the behavior by first searching the library
      in `FFMPEG_ROOT` environment variables, then
      resorting to the original behavior of searching the custom paths with
      system default path.
      
      Also this commirt removes support for `libavresample`, which is deprecated in
      ffmpeg 4 and removed in ffmpeg 5.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2204
      
      Reviewed By: carolineechen
      
      Differential Revision: D34225769
      
      Pulled By: mthrok
      
      fbshipit-source-id: 95b0bfaaef31e2e69e6df29f789010f48a48210b
      963905e4
  17. 05 Jan, 2022 1 commit
    • moto's avatar
      Update ffmpeg discovery logic (#2124) · d8a65450
      moto authored
      Summary:
      Update ffmpeg discovery logic
      
      Previously the build process used pkg-config to locate
      an installation of ffmpeg, which does not work well Windows/CentOS.
      
      This commit update the discovery process to use the custom
      FindFFMPEG.cmake adopted from Kitware/VTK repository with addition of
      conda environment.
      
       The custom discovery logic can support Windows and CentOS.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2124
      
      Reviewed By: carolineechen
      
      Differential Revision: D33429564
      
      Pulled By: mthrok
      
      fbshipit-source-id: 6cb50c1d8c58f51e0f3f3af5c5b541aa3a699bba
      d8a65450
  18. 04 Jan, 2022 1 commit
    • moto's avatar
      [CI] Install tools from conda instead of brew (#1873) · df0175e8
      moto authored
      Summary:
      Currently, macOS CI jobs install `pkg-config` and `wget` with `brew`.
      This is problematic as brew takes a long time with auto-update, and disabling the auto-update is not an ideal solution.
      Conda also distributes these packages, so switching to conda.
      
      Example issues with brew installation.
      https://app.circleci.com/pipelines/github/pytorch/audio/7825/workflows/53965bcf-6ddf-4e42-ad52-83fd1bbab717
      
      This commit removes the use of `brew` by
      1. Replacing the use of `wget` with `curl` (pre-installed in most distro)
      2. Install `pkg-condig` from conda.
          Note: All the macOS jobs, including binary build jobs, uses conda. Using `pkg-config` from Conda makes it easy to discover the packages installed from conda. (like `ffmpeg` in https://github.com/pytorch/audio/issues/2122)
      3. Add `pkg-config` to conda build-time dependency
      4. Make sure that the availability of `pkg-config` is explicitly checked when `sox` is being configured. (otherwise, it will fail at somewhere in the middle of build process with somewhat unintuitve error message)
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/1873
      
      Reviewed By: carolineechen, nateanl
      
      Differential Revision: D33404975
      
      Pulled By: mthrok
      
      fbshipit-source-id: ae512d3a3a422ebfe3b46c492bed44deecc36e72
      df0175e8
  19. 30 Dec, 2021 3 commits
    • moto's avatar
      Build ffmpeg-features in Linux/macOS unittests (#2114) · 9f14fa63
      moto authored
      Summary:
      Preparation to land Python front-end of ffmpeg-related features.
      
      - Set BUILD_FFMPEG=1 in Linux/macOS unit test jobs
      - Install ffmpeg and pkg-config from conda-forge
      - Add note about Windows build process
      - Temporarily avoid `av_err2str`
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2114
      
      Reviewed By: hwangjeff
      
      Differential Revision: D33371346
      
      Pulled By: mthrok
      
      fbshipit-source-id: b0e16a35959a49a2166109068f3e0cbbb836e888
      9f14fa63
    • Joao Gomes's avatar
      Enforce lint checks and fix/mute lint errors (#2116) · 8ed14782
      Joao Gomes authored
      Summary:
      cc mthrok
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2116
      
      Reviewed By: mthrok
      
      Differential Revision: D33368453
      
      Pulled By: jdsgomes
      
      fbshipit-source-id: 09cf3fe5ed6f771c2f16505633c0e59b0c27453c
      8ed14782
    • moto's avatar
      Add a switch to build ffmpeg binding (#2048) · ece03edc
      moto authored
      Summary:
      This PR adds `BUILD_FFMPEG` switch to torchaudio build process so that features related to ffmpeg are built.
      The flag is false by default, so no CI jobs or development flow are affected.
      
      This is because handling the dependencies around ffmpeg is a bit tricky.
      Currently, the CMake file uses `pkg-config` to find an ffmpeg installation in the system.
      This works fine for both conda-based installation and system-managed installation (like `apt`).
      
      In subsequent PRs, I will find a solution that works for local development and binary distributions.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2048
      
      Reviewed By: hwangjeff, nateanl
      
      Differential Revision: D33367260
      
      Pulled By: mthrok
      
      fbshipit-source-id: 94517acecb62bd6d4e96d4b7cbc3ab3c2a25706c
      ece03edc
  20. 20 Dec, 2021 2 commits
  21. 18 Dec, 2021 1 commit
  22. 17 Dec, 2021 1 commit
    • moto's avatar
      Add static build of KenLM (#2076) · adc559a8
      moto authored
      Summary:
      Add KenLM and its dependencies required for static build (`zlib`, `bzip2`, `lzma` and `boost-thread`).
      
      The KenLM and its dependencies are build but since no corresponding code on torchaudio side is changed, the resulting torchaudio extension module is not changed. (therefore, as long as build process passes on CI this PR should be good to go.)
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2076
      
      Reviewed By: carolineechen
      
      Differential Revision: D33189980
      
      Pulled By: mthrok
      
      fbshipit-source-id: 6096113128b939f3cf70990c99aacc4aaa954584
      adc559a8
  23. 31 Aug, 2021 1 commit
    • Nikita Shulga's avatar
      Fix CUDA build logic for _torchaudio.so (#1737) · e3c082b7
      Nikita Shulga authored
      It's wrong to depend on `${TORCH_LIBRARIES}` as it pulls in explicit
      `libcuda.so.1` dependency, which violates the assumption that GPU
      accelerated libraries should be loadable with no NVIDIA drivers installed
      
      Instead, make it depend on `torch` target, which includes all necessary
      Torch C++ API dependences
      e3c082b7
  24. 18 Aug, 2021 1 commit
    • moto's avatar
      Guard Kaldi's version generation (#1715) · df9d0b47
      moto authored
      When building torchaudio from source, `get_version.sh` from kaldi is executed everytime,
      which results in kaldi-bindings to be always rebuilt.
      
      This commit add "if" guard to the part so that they are not always executed.
      df9d0b47
  25. 28 Jun, 2021 1 commit
  26. 25 May, 2021 1 commit
  27. 30 Apr, 2021 1 commit
  28. 19 Apr, 2021 1 commit
  29. 02 Mar, 2021 1 commit
  30. 23 Feb, 2021 1 commit
  31. 09 Feb, 2021 1 commit
  32. 04 Feb, 2021 1 commit
  33. 21 Jan, 2021 1 commit
  34. 09 Jan, 2021 2 commits
  35. 05 Jan, 2021 1 commit