Skip to main content

This package is written for subband operations.

Project description

PyPI version

torchsubband

This's a package for subband decomposition.

It can transform waveform into three kinds of revertable subband feature representations, which are potentially useful features for music source separation or similar tasks.

488zR0.png

Usage

Installation

pip install torchsubband

A simple example:

from torchsubband import SubbandDSP
import torch

# nn.Module
model = SubbandDSP(subband=2) # You can choose 1,2,4, or 8 
batchsize=3 # any int number
channel=1 # any int number
length = 44100*2 # any int number
input = torch.randn((batchsize,channel,length))

# Get subband waveform
subwav = model.wav_to_sub(input)
reconstruct_1 = model.sub_to_wav(subwav,length=length)

# Get subband magnitude spectrogram
sub_spec,cos,sin = model.wav_to_mag_phase_sub_spec(input)
reconstruct_2 = model.mag_phase_sub_spec_to_wav(sub_spec,cos,sin,length=length)

# Get subband complex spectrogram
sub_complex_spec = model.wav_to_complex_sub_spec(input)
reconstruct_3 = model.complex_sub_spec_to_wav(sub_complex_spec,length=length)

Reconstruction loss

The following table shows the reconstruction quality. We tried a set of audio to conduct subband decomposition and reconstruction.

Subbands L1loss PESQ SiSDR
2 1e-6 4.64 61.8
4 1e-6 4.64 58.9
8 5e-5 4.64 58.2

You can also test this program by running the following test script. It will give you some evaluation output.

from torchsubband import test
test()

Citation

If you find our code useful for your research, please consider citing:

    @misc{liu2021cwspresunet,
        title={CWS-PResUNet: Music Source Separation with Channel-wise Subband Phase-aware ResUNet},
        author={Haohe Liu and Qiuqiang Kong and Jiafeng Liu},
        year={2021},
        eprint={2112.04685},
        archivePrefix={arXiv},
        primaryClass={cs.SD}
    }
    @inproceedings{Liu2020,   
      author={Haohe Liu and Lei Xie and Jian Wu and Geng Yang},   
      title={{Channel-Wise Subband Input for Better Voice and Accompaniment Separation on High Resolution Music}},   
      year=2020,   
      booktitle={Proc. Interspeech 2020},   
      pages={1241--1245},   
      doi={10.21437/Interspeech.2020-2555},   
      url={http://dx.doi.org/10.21437/Interspeech.2020-2555}   
    }

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torchsubband-0.0.9-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file torchsubband-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: torchsubband-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.12

File hashes

Hashes for torchsubband-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 b63f68250b7190b95c48188d4432e24a112c1633cb8cd775bc4ab07d5d8650d8
MD5 53b8b18940d5730651f77b15578d804a
BLAKE2b-256 63bfc2157c7f379c69a62cc0b28eb5718015598b72f1ae037bdcc6117473fe51

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page