1. 13 May, 2022 1 commit
    • moto's avatar
      Move Streamer API out of prototype (#2378) · 72b712a1
      moto authored
      Summary:
      This commit moves the Streaming API out of prototype module.
      
      * The related classes are renamed as following
      
        - `Streamer` -> `StreamReader`.
        - `SourceStream` -> `StreamReaderSourceStream`
        - `SourceAudioStream` -> `StreamReaderSourceAudioStream`
        - `SourceVideoStream` -> `StreamReaderSourceVideoStream`
        - `OutputStream` -> `StreamReaderOutputStream`
      
      This change is preemptive measurement for the possibility to add
      `StreamWriter` API.
      
      * Replace BUILD_FFMPEG build arg with USE_FFMPEG
      
      We are not building FFmpeg, so USE_FFMPEG is more appropriate
      
       ---
      
      After https://github.com/pytorch/audio/issues/2377
      
      Remaining TODOs: (different PRs)
      - [ ] Introduce `is_ffmpeg_binding_available` function.
      - [ ] Refactor C++ code:
         - Rename `Streamer` to `StreamReader`.
         - Rename `streamer.[h|cpp]` to `stream_reader.[h|cpp]`.
         - Rename `prototype.cpp` to `stream_reader_binding.cpp`.
         - Introduce `stream_reader` directory.
      - [x] Enable FFmpeg in smoke test (https://github.com/pytorch/audio/issues/2381)
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2378
      
      Reviewed By: carolineechen
      
      Differential Revision: D36359299
      
      Pulled By: mthrok
      
      fbshipit-source-id: 6a57b702996af871e577fb7addbf3522081c1328
      72b712a1
  2. 11 May, 2022 1 commit
    • moto's avatar
      Move FFmpeg integrity test from conda smoke test to custom smoke test (#2381) · 9877f544
      moto authored
      Summary:
      Conda package build performs simple smoke test, which is different
      from smoke_test jobs we define on our CI jobs.
      
      Currently Conda packaging smoke test verifies the imporatability of
      `torchaudio.prototype.io`, which requires FFmpeg 4.
      
      1. We list FFmpeg 4 as runtime requirements, but this means that
      conda's dependency resolver takes FFmpeg 4 into consideration.
      FFmpeg 5 was release this year, and we can expect that user base
      will move to FFmpeg gradually. If user environment has some constraint
      on FFmpeg, torchaudio will have conflict and it will prevent users
      from install torchaudio.
      
      2. In #2377 the way optional dependency is checked/initialized is changed,
      so this Conda smoke test will no longer check the integrity with FFmpeg libraries.
      
      To solve the issues above, this commit moves the part that tests integrity with
      FFmpeg libraries to the smoke test we define on CircleCI.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2381
      
      Reviewed By: carolineechen
      
      Differential Revision: D36323706
      
      Pulled By: mthrok
      
      fbshipit-source-id: 57ca816e0f3ad8e16d21e56062f6ed8a09ab93a3
      9877f544
  3. 10 May, 2022 1 commit
  4. 06 May, 2022 2 commits
    • moto's avatar
      Use custom FFmpeg libraries for torchaudio binary distributions (#2355) · b7624c60
      moto authored
      Summary:
      This commit changes the way torchaudio binary distributions are built.
      
      * For all the binary distributions (conda/pip on Linux/macOS/Windnows), build custom FFmpeg libraries.
      * The custom FFmpeg libraries do not use `--use-gpl` nor `--use-nonfree`, so that they stay LGPL.
      * The custom FFmpeg libraries employ rpath so that the torchaudio binary distributions look for the corresponding FFmpeg libraries installed in the runtime environment.
      * The torchaudio binary build process will use them to bootstrap its build process.
      * The custom FFmpeg libraries are NOT shipped.
      
      This commit also add disclaimer about FFmpeg in README.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2355
      
      Reviewed By: nateanl
      
      Differential Revision: D36202087
      
      Pulled By: mthrok
      
      fbshipit-source-id: c30e5222ba190106c897e42f567cac9152dbd8ef
      b7624c60
    • moto's avatar
      Refactor smoke test executions (#2365) · 6a8a28bb
      moto authored
      Summary:
      The smoke test jobs simply perform `import torchaudio` to check
      if the package artifacts are sane.
      
      Originally, the CI was executing it in the root directory.
      This was fine unless the source code is checked out.
      When source code is checked out, performing `import torchaudio` in
      root directory would import source torchaudio directory, instead of the
      installed package.
      
      This error is difficult to notice, so this commit introduces common script to
      perform the smoke test, while moving out of root directory.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2365
      
      Reviewed By: carolineechen
      
      Differential Revision: D36202069
      
      Pulled By: mthrok
      
      fbshipit-source-id: 4396f85fec5c54869ada4c08f51304539f1b05cf
      6a8a28bb
  5. 05 May, 2022 2 commits
  6. 28 Apr, 2022 2 commits
  7. 26 Apr, 2022 1 commit
  8. 25 Apr, 2022 1 commit
  9. 22 Apr, 2022 2 commits
  10. 21 Apr, 2022 1 commit
  11. 27 Feb, 2022 1 commit
  12. 25 Feb, 2022 1 commit
    • Eli Uriegas's avatar
      ci: Limit scope of unittest to one python version (#2256) · 8c1db721
      Eli Uriegas authored
      Summary:
      Pull Request resolved: https://github.com/pytorch/audio/pull/2256
      
      
      
      Limits scope of unittesting to one python version for both macOS and
      Windows. These types of workflows are particularly expensive and take a
      long time so running them on every PR / every push is a bit wasteful
      considering the value in signal between different python versions is
      probably negligible.
      Signed-off-by: default avatarEli Uriegas <eliuriegas@fb.com>
      
      Test Plan: Imported from OSS
      
      Reviewed By: mthrok
      
      Differential Revision: D34459626
      
      Pulled By: seemethere
      
      fbshipit-source-id: 47f5c317027f1b395edf9c1720b1b33ba689cad5
      8c1db721
  13. 24 Feb, 2022 2 commits
  14. 11 Feb, 2022 1 commit
  15. 02 Feb, 2022 3 commits
    • moto's avatar
      Add Streaming API (#2164) · 7a3e262d
      moto authored
      Summary:
      This PR adds the prototype streaming API.
      The implementation is based on ffmpeg libraries.
      
      For the detailed usage, please refer to [the resulting tutorial](https://534376-90321822-gh.circle-artifacts.com/0/docs/tutorials/streaming_api_tutorial.html).
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2164
      
      Reviewed By: hwangjeff
      
      Differential Revision: D33934457
      
      Pulled By: mthrok
      
      fbshipit-source-id: 92ade4aff2d25baf02c0054682d4fbdc9ba8f3fe
      7a3e262d
    • Nikita Shulga's avatar
      [CI] Add "cu102" back (#2190) · db12d1a0
      Nikita Shulga authored
      Summary: Pull Request resolved: https://github.com/pytorch/audio/pull/2190
      
      Reviewed By: mthrok
      
      Differential Revision: D33930129
      
      Pulled By: malfet
      
      fbshipit-source-id: ddcbe79f6bdd3dc9b18c1dc337014142877b844b
      db12d1a0
    • Nikita Shulga's avatar
      [CI] Pin flake8 version (#2191) · 3a5103c2
      Nikita Shulga authored
      Summary:
      This fixes:
      ```
      Installed flake8: + flake8 --version
      Traceback (most recent call last):
        File "/root/project/env/bin/flake8", line 6, in <module>
          from flake8.main.cli import main
        File "/root/project/env/lib/python3.7/site-packages/flake8/main/cli.py", line 6, in <module>
          from flake8.main import application
        File "/root/project/env/lib/python3.7/site-packages/flake8/main/application.py", line 24, in <module>
          from flake8.plugins import manager as plugin_manager
        File "/root/project/env/lib/python3.7/site-packages/flake8/plugins/manager.py", line 11, in <module>
          from flake8._compat import importlib_metadata
        File "/root/project/env/lib/python3.7/site-packages/flake8/_compat.py", line 7, in <module>
          import importlib_metadata
      ModuleNotFoundError: No module named 'importlib_metata'
      ```
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2191
      
      Reviewed By: atalman
      
      Differential Revision: D33930583
      
      Pulled By: malfet
      
      fbshipit-source-id: 68026743c29434113893cca38041596135d3bd53
      3a5103c2
  16. 01 Feb, 2022 1 commit
  17. 21 Jan, 2022 1 commit
  18. 14 Jan, 2022 1 commit
  19. 07 Jan, 2022 1 commit
    • moto's avatar
      Enable build ffmpeg-features in all related jobs (#2140) · 565f8d41
      moto authored
      Summary:
      This commit enables ffmpeg-feature build in tests and
      binary builds of all platforms.
      (Linux/macOS/Windows x conda/wheel)
      
      It also moves the definition of BUILD_FFMPEG env vars to the
      top level `config.yml`.
      
       ---
      Manual checking if all the build log contains `libtorchaudio_ffmpeg`.
      ### binary build
      - [x] `binary_linux_conda_py3.7_cpu`
      - [x] `binary_linux_conda_py3.7_cu102`
      - [x] `binary_linux_wheel_py3.7_cpu`
      - [x] `binary_linux_wheel_py3.7_cu102`
      - [x] `binary_macos_conda_py3.7_cpu`
      - [x] `binary_macos_wheel_py3.7_cpu`
      - [x] `binary_windows_conda_py3.7_cpu`
      - [x] `binary_windows_conda_py3.7_cu113`
      - [x] `binary_windows_wheel_py3.7_cpu`
      - [x] `binary_windows_wheel_py3.7_cu113`
      
      ### test
      - [x] `unittest_linux_cpu_py3.7`
      - [x] `unittest_linux_gpu_py3.7`
      - [x] `unittest_macos_cpu_py3.7`
      - [x] `unittest_windows_cpu_py3.7`
      - [x] `unittest_windows_gpu_py3.7`
      - [x] `integration test`
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2140
      
      Reviewed By: hwangjeff
      
      Differential Revision: D33464430
      
      Pulled By: mthrok
      
      fbshipit-source-id: 2c5b72be75d49019bf1599036180d4e56074e46b
      565f8d41
  20. 05 Jan, 2022 2 commits
  21. 04 Jan, 2022 2 commits
  22. 31 Dec, 2021 1 commit
  23. 30 Dec, 2021 2 commits
  24. 28 Dec, 2021 1 commit
  25. 23 Dec, 2021 2 commits
  26. 22 Dec, 2021 1 commit
    • Joao Gomes's avatar
      Revert linting exemptions introduced in #2071 (#2087) · 575d221e
      Joao Gomes authored
      Summary:
      After discussing with Moto Hira, we decided to revert linting exemptions
      introduced previously in order to keep the entire audio project as formatted
      as possible, to reduce the time we spend on formatting discussion.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2087
      
      Reviewed By: mthrok
      
      Differential Revision: D33236949
      
      Pulled By: jdsgomes
      
      fbshipit-source-id: e13079f532c4534d8a168059b0ded6fa375fdecf
      575d221e
  27. 20 Dec, 2021 1 commit
    • moto's avatar
      Standardize the location of third-party source code (#2086) · 2476dd2d
      moto authored
      Summary:
      Previously sox-related third-party source code was archived at
      `third_party/sox/archives`.
      Recently KenLM-related third-party source code was added and
      they are archived at `third_party/archives`.
      
      This PR changes the sox archive location to `third_party/archives`,
      so that all the archvies are cached at the same location.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2086
      
      Reviewed By: carolineechen
      
      Differential Revision: D33236927
      
      Pulled By: mthrok
      
      fbshipit-source-id: 2f2aa5f4b386fefb46d7c98f7179c04995219f3c
      2476dd2d
  28. 11 Dec, 2021 1 commit
  29. 10 Dec, 2021 1 commit