Skip to main content

No project description provided

Project description

ASPCORE : Audio Signal Processing Core

Introduction

The package contains classes and functions implementing different versions of linear convolutions. What makes them useful above what's already available in scipy and numpy is that they are intended to be used in a streaming manner, where only parts of the input signal is available at a time. All filters support multiple inputs and multiple outputs. There is also support for convolution with a time-varying impulse response.

The package uses just-in-time compilation from numba to achieve lower computational cost.

More info and complete API documentation

Installation

The package can be installed via pip by running

pip install aspcore

Alternatively, the package can be installed by cloning the repository and running

pip install path/to/aspcore

License

The software is distributed under the MIT license. See the LICENSE file for more information.

Acknowledgements

The software has been developed during a PhD project as part of the SOUNDS ETN at KU Leuven. The SOUNDS project has recieved funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No. 956369.

Usage

The main function of this package is create_filter(). Using the keyword arguments, it will select and return the appropriate filter class. The filter can then be used to convolve using its process() method, which returns the filtered signal.

Signals are formatted with the time index as the last axis, with most filters accepting signals of the form (num_channels, num_samples). Some filters accepts signals with higher dimensional channels, such as (a, b, c, ..., num_samples).

import numpy as np
import aspcore
rng = np.random.default_rng()

channels_in, channels_out, num_samples, ir_len = 5, 3, 128, 16

signal = rng.normal(0,1,size=(channels_in, num_samples))
ir = rng.normal(0,1,size=(channels_out, ir_len))

filt = aspcore.create_filter(ir=ir, sum_over_inputs=True)

filtered_signal = filt.process(signal)

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

aspcore-0.0.3.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

aspcore-0.0.3-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

File details

Details for the file aspcore-0.0.3.tar.gz.

File metadata

  • Download URL: aspcore-0.0.3.tar.gz
  • Upload date:
  • Size: 47.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for aspcore-0.0.3.tar.gz
Algorithm Hash digest
SHA256 4f9d549d79237090ef03ca7a0e1ca97edc551d94b76771b86828313e2b92f122
MD5 5a53611ddc52d6482e45fced00582cf0
BLAKE2b-256 b245b2e66d4f5f8f4c9d48fc7c18c0976a26d67ed2eb1204c59a7b83529faf42

See more details on using hashes here.

File details

Details for the file aspcore-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: aspcore-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 45.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for aspcore-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c2c621ef9598b329748dc1cbe55c0ba46feffcfa44865c8ea2f8e56454f76ffe
MD5 cf11ce1f4004b198d8f0505ead2645db
BLAKE2b-256 ebc73f983ebd98dec9ad8476e5e7d745f988dd9c352685dfce6e97148c27c9f7

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