Skip to main content

Frontend filterbank learning module with HVQT initialization capabilities

Project description

Learnable Harmonic Variable-Q Transform (LHVQT)

Implements a frontend filterbank learning module which can be initialized with complex weights for a Variable-Q Transform (lvqt_orig.py). Several techniques and variations of the module are also implemented, including:

  • Multi-channel (harmonic) structure (lhvqt.py)
  • Real-only weights (lvqt_real.py)
  • Hilbert Transform for analytic filters (lvqt_hilb.py)
  • Harmonic comb initialization (lhvqt_comb.py)
  • Variational dropout for 1D convolutional layer (variational.py)

The repository was created for my Master's Thesis, End-to-End Music Transcription Using Fine-Tuned Variable-Q Filterbanks. It has since been updated with various improvements, and to support my new work, Learning Sparse Analytic Filters for Piano Transcription.

Installation

Standard (PyPI)

Recommended for standard/quick usage

pip install lhvqt
Cloning Repository

Recommended for running examples or making experimental changes.

git clone https://github.com/cwitkowitz/lhvqt
pip install -e lhvqt

Usage

Several examples of instantiation, inference, and visualization are provided under the examples sub-directory. A full-blown training, visualization, and evaluation example for piano transcription can be found at https://github.com/cwitkowitz/sparse-analytic-filters.

Cite

Please cite whichever is more relevant to your usage.

SMC 2022 Paper
@inproceedings{cwitkowitz2022learning,
  title     = {Learning Sparse Analytic Filters for Piano Transcription},
  author    = {Frank Cwitkowitz and Mojtaba Heydari and Zhiyao Duan},
  year      = 2022,
  booktitle = {Proceedings of Sound and Music Computing Conference (SMC)}
}
Master's Thesis
@mastersthesis{cwitkowitz2019end,
  title   = {End-to-End Music Transcription Using Fine-Tuned Variable-{Q} Filterbanks},
  author  = {Cwitkowitz, Frank},
  year    = 2019,
  school  = {Rochester Institute of Technology}
}

Project details


Download files

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

Source Distribution

lhvqt-0.5.3.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

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

lhvqt-0.5.3-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file lhvqt-0.5.3.tar.gz.

File metadata

  • Download URL: lhvqt-0.5.3.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for lhvqt-0.5.3.tar.gz
Algorithm Hash digest
SHA256 180cf0b83dc67a85aca1f797c6e9b4b4d1d8f132017b7facddee0e81668081d6
MD5 03533b67aed75a0653857afcf19aa4bc
BLAKE2b-256 28bb687ffc421af515ba809fc02a890e09c7790f77e7f59351460c4445a94b13

See more details on using hashes here.

File details

Details for the file lhvqt-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: lhvqt-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 22.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for lhvqt-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1a414b85d7a72ac0dcf29b915cc6ec457e320d87fbf4fbfb9f83665e2a9aef23
MD5 11580ca5b036f4f309d2b80be57dc95a
BLAKE2b-256 bbda61a5d0b2f8eb0bca159f4505e111384cb35d686bc2f61e855e21b70a125d

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