Skip to main content

Time Frequency Spectrogram Inversion

Project description

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.

  1. Install fftw3, lapack and cmake
    • 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
    
  2. Install cython (required for installing ltfatpy):
    pip install cython
    
  3. 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.ipynb illustrates how to construct a spectrogram and invert it.
  • demo-mel.ipynb illustrates 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

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

tifresi-0.1.4.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

tifresi-0.1.4-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file tifresi-0.1.4.tar.gz.

File metadata

  • Download URL: tifresi-0.1.4.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for tifresi-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0c17d245dfdbe468369ada5ff3bcefcd8188dd14f4737b1918ce05f07eaf4919
MD5 43b3104cee33cea3696d8549435120cb
BLAKE2b-256 4c1d6cbca135f31b9e3efb51b709afe35659a6c4e258c6e366773d33a1eac283

See more details on using hashes here.

File details

Details for the file tifresi-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: tifresi-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for tifresi-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 222c0ac16c2ff5212ed1cd5c7db8909a5a3d35954037cfb33de581b17e3de49d
MD5 a99ccd8afe7730061a7539e2dcaf8533
BLAKE2b-256 4253261bcbcb17139f8251a3cb99aa21f5e1811dc053cbeda13278afbc865033

See more details on using hashes here.

Supported by

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