pytorch / pytorch/audio

Add a torch implementation of "convolution reverb"

Open
#3,049 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

triaged
Dominant language
Python
Stars
2.9k
Forks
799
Avg merge
58m
Merged PRs (30d)
3

Description

🚀 The feature

A pure Pytorch implementation of the "convolution reverb" like described in https://pytorch.org/audio/stable/tutorials/audio_data_augmentation_tutorial.html#simulating-room-reverberation

This should be implemented like "pitch shift" both in "functional" and as a module.

Motivation, pitch

torchaudio has been recently ramping up the utilities for data augmentation but so far the convolution reverb hasn't been implemented. Having a pure pytorch implementation would allow to run it efficiently on GPU.

Alternatives

note that sox_effects can be used to provide a "reverb" but it's a CPU only implementation.
Note that sox is not doing a convolution reverb but another algorithm

Additional context

I'm a Meta employee and @roa-beep and @gziz will be working on it throught the MLH fellowship.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing "pitch shift" functional transform and module, then review the linked torchaudio room-reverberation tutorial. Implement convolution reverb in both forms using pure PyTorch, with GPU execution supported; completion should include the corresponding behavior in the functional API and module.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.