Python implementation of real-time convolution for auralization
Project description
FIRconv
Python implementations of Finite Impulse Response (FIR) filters for real-time convolutions.
The algorithms are mainly (but not strictly) the ones described in WEFERS, Frank. Partitioned convolution algorithms for real-time auralization. Logos Verlag Berlin GmbH, 2015. found here.
Current algorithms
- Overlap-add (OLA);
- Overlap-save (OLS);
- Uniformily Partitioned Overlap-Save (UPOLS) (generalized version)
Installation
Use pip to install FIRconv:
$ pip install FIRconv
Getting started
Bellow there's a pseudo-code showing how to setup a basic use of FIRconv for real time convolutions.
from FIRconv import FIRfilter
import numpy as np
# Initialize FIR filter
bufferSize = 2**10
method = 'upols'
FIRfilter(method, bufferSize, h=IR)
while True:
output = FIRfilter.process(audio)
play(output)
- For more in-depth examples have a look at testFIR.py or Algorithms_validationpy
Collaborations are more than welcome!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
FIRconv-0.0.3.tar.gz
(8.2 kB
view details)
Built Distribution
File details
Details for the file FIRconv-0.0.3.tar.gz
.
File metadata
- Download URL: FIRconv-0.0.3.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ca29a274aca37b907d917e895ee04182778b39aa83830c6b90c2c77e9f5e92e |
|
MD5 | 39c1aad4c0937eb92fce0d56445d4c6e |
|
BLAKE2b-256 | 83e4f2e2d5d8728d16761b1bed6cd670a3926e98ff51f9caf3f38b3a62d35e08 |
File details
Details for the file FIRconv-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: FIRconv-0.0.3-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b567f83561e0d46ef340cf20468b29e2185e18d9311d13079e788946672298ec |
|
MD5 | 396f19ee4f7ee9d50497f4bfc3ead14b |
|
BLAKE2b-256 | b53ea526931dd2bdeb3e572b0c6df23d1fab2fa43fc9b105a8adec0d8b45e144 |