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}
}
Metadata
Release files for lhvqt 0.5.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lhvqt-0.5.3.tar.gz | 17.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lhvqt-0.5.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.6 kB
Release files / lhvqt-0.5.3.tar.gz
| Download URL | lhvqt-0.5.3.tar.gz |
|---|---|
| Size | 17.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
180cf0b83dc67a85aca1f797c6e9b4b4d1d8f132017b7facddee0e81668081d6
|
|
BLAKE2b-256 checksum How to use checksums |
28bb687ffc421af515ba809fc02a890e09c7790f77e7f59351460c4445a94b13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.13
|
Release files / lhvqt-0.5.3-py3-none-any.whl
| Download URL | lhvqt-0.5.3-py3-none-any.whl |
|---|---|
| Size | 22.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1a414b85d7a72ac0dcf29b915cc6ec457e320d87fbf4fbfb9f83665e2a9aef23
|
|
BLAKE2b-256 checksum How to use checksums |
bbda61a5d0b2f8eb0bca159f4505e111384cb35d686bc2f61e855e21b70a125d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.13
|