# jaxpole
<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
This is an implementation of a differentiable time-varying all-pole
filter in JAX based on
[torchlpc](https://github.com/yoyololicon/torchlpc).
## Install
``` sh
pip install jaxpole
```
or locally from source
``` sh
pip install -e '.[dev]'
```
## How to use
``` python
import jax.numpy as jnp
import jax
pole = 0.99 * jnp.exp(1j * jnp.pi / 4)
coeffs = jnp.array([-2 * pole.real, pole.real**2 + pole.imag**2])
x = jax.random.normal(jax.random.PRNGKey(0), (1, 1000)) # (B, T)
A = jnp.tile(coeffs, (1, x.shape[-1], 1)) # (B, T, P)
zi = jnp.zeros((1, 2)) # (B, P)
# filter the signal
y = allpole(x, A, zi)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/rodrigodzf/jaxpole",
"name": "jaxpole",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "nbdev jupyter notebook python",
"author": "Rodrigo Diaz",
"author_email": "rodrigodzf@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/84/c9/da59cfc7b09e6904a4ba405c8380e3ae1ccd438099a109341f68ed75aece/jaxpole-0.0.3.tar.gz",
"platform": null,
"description": "# jaxpole\n\n\n<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->\n\nThis is an implementation of a differentiable time-varying all-pole\nfilter in JAX based on\n[torchlpc](https://github.com/yoyololicon/torchlpc).\n\n## Install\n\n``` sh\npip install jaxpole\n```\n\nor locally from source\n\n``` sh\npip install -e '.[dev]'\n```\n\n## How to use\n\n``` python\nimport jax.numpy as jnp\nimport jax\n\npole = 0.99 * jnp.exp(1j * jnp.pi / 4)\ncoeffs = jnp.array([-2 * pole.real, pole.real**2 + pole.imag**2])\n\nx = jax.random.normal(jax.random.PRNGKey(0), (1, 1000)) # (B, T)\nA = jnp.tile(coeffs, (1, x.shape[-1], 1)) # (B, T, P)\nzi = jnp.zeros((1, 2)) # (B, P)\n\n# filter the signal\ny = allpole(x, A, zi)\n```\n",
"bugtrack_url": null,
"license": "Apache Software License 2.0",
"summary": "A differentiable implementation of an all-pole filter in JAX",
"version": "0.0.3",
"project_urls": {
"Homepage": "https://github.com/rodrigodzf/jaxpole"
},
"split_keywords": [
"nbdev",
"jupyter",
"notebook",
"python"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cf099dc60b82c7ea913a836168b178056d47c4d7317c615bc850b9bb1cb0765a",
"md5": "927f068ba042ca01a61c3ad120074ae1",
"sha256": "8a25717242b759a8f4c76e87f282ca5f7613165f13fddf949a17c1156416c055"
},
"downloads": -1,
"filename": "jaxpole-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "927f068ba042ca01a61c3ad120074ae1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 9430,
"upload_time": "2024-06-26T14:40:24",
"upload_time_iso_8601": "2024-06-26T14:40:24.739391Z",
"url": "https://files.pythonhosted.org/packages/cf/09/9dc60b82c7ea913a836168b178056d47c4d7317c615bc850b9bb1cb0765a/jaxpole-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84c9da59cfc7b09e6904a4ba405c8380e3ae1ccd438099a109341f68ed75aece",
"md5": "608dc884feb6287c470ad5711c1663ea",
"sha256": "31f4537c0985d51a30c5321afc15e64a03a14a3bca39429f1c42de6ca33c471f"
},
"downloads": -1,
"filename": "jaxpole-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "608dc884feb6287c470ad5711c1663ea",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 9686,
"upload_time": "2024-06-26T14:40:26",
"upload_time_iso_8601": "2024-06-26T14:40:26.337373Z",
"url": "https://files.pythonhosted.org/packages/84/c9/da59cfc7b09e6904a4ba405c8380e3ae1ccd438099a109341f68ed75aece/jaxpole-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-26 14:40:26",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rodrigodzf",
"github_project": "jaxpole",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "jaxpole"
}