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.

Source Distribution

LPCTorch-0.1.4.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

LPCTorch-0.1.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: LPCTorch-0.1.4.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for LPCTorch-0.1.4.tar.gz
Algorithm Hash digest
SHA256 41d66a154d95431b670bf166e48eda50aa7b332ee643e02ca50bd12887a9049f
MD5 bf1210741d70018f0cc42747d36976c7
BLAKE2b-256 8514b4b6c8ed3eae47a9c26fb3b6380d74f8d163eecb89edde20890bf41818d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: LPCTorch-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for LPCTorch-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ed9f858e5fb2f9a1ac170adf3cf410c25f1a7634c63e2bf927ba40e28f87782f
MD5 aee4015a20407379e4a32dd7d2c31e49
BLAKE2b-256 4fa896eebd6f7a54d53315eccafafa26f06c44cb67df7be32d73fa26a8b3bb82

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