tifresi: Time Frequency Spectrogram Inversion
'tifresi' to be pronounced 'tifreeezy' provide a simple implementation of TF and spectrogam suitable for inversion, i.e. with a high quality phase recovery. The phase recovery algorithm used is PGHI (phase gradient heap integration).
Installation
This repository use the ltfatpy packages that requires a few libraries to be installed. The package relies on some library that have to be installed beforehands.
- Install
fftw3,lapackandcmake- On debian based unix system:
sudo apt-get install libfftw3-dev liblapack-dev cmake- On MacOS X using homebrew:
brew install fftw lapack cmake- On MacOS X using port:
sudo port install fftw-3 fftw-3-single lapack cmake - Install cython (required for installing ltfatpy):
pip install cython - Install the package from pypi
pip install tifresi
or from source
git clone https://github.com/andimarafioti/tifresi cd tifresi pip install .
Starting
After installation of the requirements, you can check the following notebooks:
demo.ipynbillustrates how to construct a spectrogram and invert it.demo-mel.ipynbillustrates how to compute a mel spectrogram with the setting used in this repository.
License & citation
The content of this repository is released under the terms of the MIT license. Please consider citing our papers if you use it.
@inproceedings{marafioti2019adversarial,
title={Adversarial Generation of Time-Frequency Features with application in audio synthesis},
author={Marafioti, Andr{\'e}s and Perraudin, Nathana{\"e}l and Holighaus, Nicki and Majdak, Piotr},
booktitle={International Conference on Machine Learning},
pages={4352--4362},
year={2019}
}
@article{pruuvsa2017noniterative,
title={A noniterative method for reconstruction of phase from STFT magnitude},
author={Pr{\uu}{\v{s}}a, Zden{\v{e}}k and Balazs, Peter and S{\o}ndergaard, Peter Lempel},
journal={IEEE/ACM Transactions on Audio, Speech, and Language Processing},
volume={25},
number={5},
pages={1154--1164},
year={2017},
publisher={IEEE}
}
Developing
As a developer, you can test the package using pytest:
pip install pytest
Then run tests using
pytest tifresi
You can also use the source code checker flake8:
pip install flake8
Then run tests using
flake8 .
TODO
- Improve doc
- Put the documentation on readthedoc or somthing similar
Metadata
Release files for tifresi 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tifresi-0.1.4.tar.gz | 15.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tifresi-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.1 kB
Release files / tifresi-0.1.4.tar.gz
| Download URL | tifresi-0.1.4.tar.gz |
|---|---|
| Size | 15.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c17d245dfdbe468369ada5ff3bcefcd8188dd14f4737b1918ce05f07eaf4919
|
|
BLAKE2b-256 checksum How to use checksums |
4c1d6cbca135f31b9e3efb51b709afe35659a6c4e258c6e366773d33a1eac283
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4
|
Release files / tifresi-0.1.4-py3-none-any.whl
| Download URL | tifresi-0.1.4-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
222c0ac16c2ff5212ed1cd5c7db8909a5a3d35954037cfb33de581b17e3de49d
|
|
BLAKE2b-256 checksum How to use checksums |
4253261bcbcb17139f8251a3cb99aa21f5e1811dc053cbeda13278afbc865033
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.4
|