Skip to main content

LPC Utility for Pytorch Library.

Project description

LPC Utility for Pytorch Library.

LPC Torch

LPCTorch is a small pytorch utility for Linear Predictive Coding. It provides a simple way to compute windowed Linear Predictive Coding Coefficients on a input audio signal. The repo uses the Burg's methods [1] and is heavily inspired from the librosa audio library implementation [2].

Install

Install the module using the pip utility ( may require to run as sudo )

pip3 install lpctorch

Usage

LPC Coefficients

from lpctorch import LPCCoefficients

# Parameters
#     * sr            : sample rate of the signal ( 16 kHz )
#     * frame_duration: duration of the window in seconds ( 16 ms )
#     * frame_overlap : frame overlapping factor
#     * K             : number of linear predictive coding coefficients
sr             = 16000
frame_duration = .016
frame_overlap  = .5
K              = 32

# Initialize the module given all the parameters
lpc_prep       = LPCCoefficients(
    sr,
    frame_duration,
    frame_overlap,
    order = ( K - 1 )
)

# Get the coefficients given a signal
# torch.Tensor of size ( Batch, Samples )
alphas         = lpc_prep( X )

Example

The repository provides an example application with a 'sample.wav' file. The output is the same as the one provided by librosa (bottom).

 Ex

Benchmarks

Here are some benchmarks comparing cpu vs gpu inference times in seconds of the utility from 1 to 32 batch size.

 Bench

References

  • [1] Larry Marple A New Autoregressive Spectrum Analysis Algorithm IEEE Transactions on Accoustics, Speech, and Signal Processing vol 28, no. 4, 1980
  • [2] Librosa LPC Burg's Method Implementation

Project details


Download files

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

Files for LPCTorch, version 0.1.4
Filename, size File type Python version Upload date Hashes
Filename, size LPCTorch-0.1.4-py3-none-any.whl (4.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size LPCTorch-0.1.4.tar.gz (4.3 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page