Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pghipy

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pghipy

STFT/ISTFT transforms and phase recovery using Phase Gradient Heap Integration

  • 0.1.1
  • PyPI
  • Socket score

Maintainers
1

pghipy: Phase Gradient Heap Integration in Python

A Python implementation of STFT/ISTFT transforms and phase recovery using Phase Gradient Heap Integration. Based on code from phase-reconstruction and tifgan/phase_recovery. The package does not require installation of ltfatpy and works in Windows/MacOS/Linux.

Installation

pip install pghipy

Usage

import librosa
import numpy as np
from pghipy import get_default_window, calculate_synthesis_window
from pghipy import stft, pghi, istft

NFFT = 1024
HOP = NFFT//8   # Increasing overlap improves phase recovery

# Create Gaussian windows
winpghi, gamma = get_default_window(NFFT)
winsynth = calculate_synthesis_window(NFFT, HOP, winpghi)

# Magnitude spectrogram
y, sr = librosa.load(librosa.example('trumpet'))
S = np.abs(stft(y,win_length=NFFT,hop_length=HOP,window=winpghi))

# Estimate phase
phase = pghi(S,win_length=NFFT,hop_length=HOP,gamma=gamma)

# Invert
S = S*np.exp(1.0j*phase)
y_inv = istft(S,win_length=NFFT,hop_length=HOP,synthesis_window=winsynth)

Note: Uses numba JIT compiler to obtain a significant speed-up in phase recovery. Compilation is deferred until the first execution of the function pghi (i.e., lazy compilation).

Dependencies

  • numpy
  • scipy
  • numba

Thanks

Richard Lyman rrlyman

Andrés Marafioti andimarafioti

License

The MIT License (MIT)

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc