Skip to main content

HS TasNet

Project description

HS-TasNet (wip)

Implementation of HS-TasNet, "Real-time Low-latency Music Source Separation using Hybrid Spectrogram-TasNet", proposed by the research team at L-Acoustics

Install

$ pip install HS-TasNet

Usage

# model

from hs_tasnet import HSTasNet

model = HSTasNet()

# the musdb dataset

import musdb
mus = musdb.DB(download = True)

# trainer

from hs_tasnet import Trainer

trainer = Trainer(
    model,
    dataset = mus,
    batch_size = 2,
    max_steps = 2,
    cpu = True,
)

trainer()

# after much training
# inferencing

model.sounddevice_stream(
    duration_seconds = 2,
    return_reduced_sources = [0, 2]
)

# or from the exponentially smoothed model (in the trainer)

trainer.ema_model.sounddevice_stream(...)

# or you can load from a specific checkpoint

model.load('./checkpoints/path.to.desired.ckpt.pt')
model.sounddevice_stream(...)

Training script

First make sure dependencies are there by running

$ sh install.sh

Then make sure uv is installed

$ pip install uv

Finally, and make sure the loss goes down

$ uv run train.py

For distributed training, you just need to run accelerate config first, courtesy of accelerate from 🤗 but single machine is fine too

Experiment tracking

To enable online experiment monitoring / tracking, you need to have wandb installed and logged in

$ pip install wandb && wandb login

Then

$ uv run train.py --use-wandb

Sponsors

This open sourced work is sponsored by Sweet Spot

Citations

@misc{venkatesh2024realtimelowlatencymusicsource,
    title    = {Real-time Low-latency Music Source Separation using Hybrid Spectrogram-TasNet}, 
    author   = {Satvik Venkatesh and Arthur Benilov and Philip Coleman and Frederic Roskam},
    year     = {2024},
    eprint   = {2402.17701},
    archivePrefix = {arXiv},
    primaryClass = {eess.AS},
    url      = {https://arxiv.org/abs/2402.17701}, 
}

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

hs_tasnet-0.1.29.tar.gz (318.9 kB view details)

Uploaded Source

Built Distribution

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

hs_tasnet-0.1.29-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file hs_tasnet-0.1.29.tar.gz.

File metadata

  • Download URL: hs_tasnet-0.1.29.tar.gz
  • Upload date:
  • Size: 318.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for hs_tasnet-0.1.29.tar.gz
Algorithm Hash digest
SHA256 225f1f39dee2d3165d73930ba1fd0542955712b9872f05ed0d54da2f0be49a5a
MD5 e1b6e5b7e108412c563c3f6fc834603c
BLAKE2b-256 49d63a99f9440020197065375fd69e00e72e9c515faacd87551f3e74d69c631d

See more details on using hashes here.

File details

Details for the file hs_tasnet-0.1.29-py3-none-any.whl.

File metadata

  • Download URL: hs_tasnet-0.1.29-py3-none-any.whl
  • Upload date:
  • Size: 15.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for hs_tasnet-0.1.29-py3-none-any.whl
Algorithm Hash digest
SHA256 a23fe6a197dc43e5177b33e244a518631d29489f45ed5aea56e398b87f12198b
MD5 8194e0c904afe42f8b8bec764b381ca8
BLAKE2b-256 03da5836cff719b3cc742dcfcfb5c26d9177ceca146b1aea9e4845254521bf88

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