Skip to content

Merging plan to torch/audio - Phase 1 and 2 #61

@keunwoochoi

Description

@keunwoochoi

Hi all,
This is an important announcement that I'm glad to make. As we hoped from the very beginning of this repo aka -contrib, there will be a big, breaking change of torch/audio, and many things that we're working on here would be probably a big part of it. It was our very first motivation when we started this whole thing with me and @faroit :) Just to give a context, torch/audio is going to be improved in many ways and some of them are directly related to -contrib.

Phase 1

Phase 1 is the last update before freezing the current torch/audio. In this phase, we're going to add STFT, ComplexNorm, Spectrogram and StretchSpecTime from -contrib to torch/audio. The freezing would better to happen asap, I expect we'll top-prioritize to finalize these. The finalization would include i) to make them robust and stable, probably by adding more tests (which will happen here), and if necessary, followed by ii) to adapt the implementations such as docstrings and tests to the current torch/audio (which will happen in torch/audio).

Phase 2

Phase 2 is about more permanent and breaking changes. In this phase, we will

  • i) discuss our implementation and its philosophy/ names, docstrings, tests, and everything else with torch/audio maintainers and
  • ii) make PRs to torch/audio
    • this could be separately done by different people -- which is what everyone is doing on open source :) partly for fair credit and responsibility assignments.
  • The scope of Phase 2 would be pretty large, such as..
    • all the preprocessing layers and functionals,
    • augmentation,
    • audio loading,
    • chunking,
    • and anything else that would make sense to have.

After Phase 2

This has to be discussed, but one thing for sure, after Phase 2, we will remove those that were merged into torch/audio from -contrib. After then we can use them by importing a correct and updated version of torch/audio.

Action items

Let me dictate for a bit :^P I'll either leave comments about what should be done. Probably also who'd be the best person I'd like to ask to do -- who would be basically the same person who implemented it in the first place. Apparently, nothing is obligatory and anyone can join for anything. I mean.. it's open source software 😄

Some general notes for us

Ok guys, don't be too sad about some of these.

  • As long as pytorch is based on unittest, so is us.
  • (Discussion to be done about modules/buffers/parameters. Related: Parameter vs. buffer #19)
  • Pytorch is compatible with Python 2.7/3.5/3.6/3.7. I assume we should be the same.

Disclaimer: This is my summary after discussion with @cpuhrsch @jamarshon from torch/audio as well as our contributors on slack/github.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions