Skip to main content

Room Impulse Response Generator

Documentation Status CI Tests PyPI version Python versions DOI

Python- and C-based room impulse response generator, for use in convolutional reverb.

Official Python port of https://github.com/ehabets/RIR-Generator.

Installation

pip install rir-generator

Usage

import numpy as np
import scipy.signal as ss
import soundfile as sf
import rir_generator as rir

signal, fs = sf.read("bark.wav", always_2d=True)

h = rir.generate(
    c=340,                  # Sound velocity (m/s)
    fs=fs,                  # Sample frequency (samples/s)
    r=[                     # Receiver position(s) [x y z] (m)
        [2, 1.5, 1],
        [2, 1.5, 2],
        [2, 1.5, 3]
    ],
    s=[2, 3.5, 2],          # Source position [x y z] (m)
    L=[5, 4, 6],            # Room dimensions [x y z] (m)
    reverberation_time=0.4, # Reverberation time (s)
    nsample=4096,           # Number of output samples
)

print(h.shape)              # (4096, 3)
print(signal.shape)         # (11462, 2)

# Convolve 2-channel signal with 3 impulse responses
signal = ss.convolve(h[:, None, :], signal[:, :, None])

print(signal.shape)         # (15557, 2, 3)

Development

Installation for Development

git clone https://github.com/audiolabs/rir-generator.git
cd rir-generator
pip install -e .[dev]

Running Tests

pytest

Building from Source

python -m build

Project Structure

The project follows the src/ layout with automatic versioning from git tags:

src/
  rir_generator/
    __init__.py           # Main Python module
    _cffi/                # CFFI C++ extension bindings
      build.py            # CFFI build configuration
      rir_generator_core.cpp  # C++ implementation
      rir_generator_core.h    # C++ header

Metadata

Release files for rir-generator 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rir-generator 0.3.0
File Size Uploaded
rir_generator-0.3.0.tar.gz 28.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for rir-generator 0.3.0
File
rir_generator-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
rir_generator-0.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
rir_generator-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
rir_generator-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
rir_generator-0.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
rir_generator-0.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
rir_generator-0.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
rir_generator-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
rir_generator-0.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
rir_generator-0.3.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
rir_generator-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
rir_generator-0.3.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
rir_generator-0.3.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
rir_generator-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64, Linux glibc 2.5+ x86-64 Details
rir_generator-0.3.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details

Total release size: 400.0 kB

Release files / rir_generator-0.3.0.tar.gz

Download URL rir_generator-0.3.0.tar.gz
Size 28.6 kB
Tags Source
SHA-256 checksum
How to use checksums
aee1c90bdf702422c00a21379e021bb64af6ef2246aeccc571274468958876d4
BLAKE2b-256 checksum
How to use checksums
4beb3d6033ac7626fe6165dd6bbfafeb2661dac8c7da97c837c40253bd325a2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp312-cp312-win_amd64.whl

Download URL rir_generator-0.3.0-cp312-cp312-win_amd64.whl
Size 20.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
61f8384567944c27f19a4a4ddb5ae19689a32d27e25a505b10f677073fc07424
BLAKE2b-256 checksum
How to use checksums
ba79b6a0c68947a40fadefd2ac9d95b0ca8d2e0344402a40e42ad91a43243f02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rir_generator-0.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 36.8 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
8b595fa8de553b9b151f361851418d3fcd446aa22f1c1af9564fe78c0c115e9c
BLAKE2b-256 checksum
How to use checksums
d99908d6175e603019ab568635ec6e90f85924cc17954bfa5a9772917ff2e721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL rir_generator-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 17.3 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
058027a960e5378dad59c9e430380673fc283053e1d8c7a4b9a17a7cc1deedbf
BLAKE2b-256 checksum
How to use checksums
11aa0b9dd28675b00e8d22222784e8b3a1ca863c1a31082d6399c47a7c66f5f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp311-cp311-win_amd64.whl

Download URL rir_generator-0.3.0-cp311-cp311-win_amd64.whl
Size 20.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
ceb1664566fcdf8561f152cb5edd510189c1bef4464a98caaee9bbfb338aecdc
BLAKE2b-256 checksum
How to use checksums
2f453c86e0c8a34fe9838bf19ac948845b4ee63c6fc998f83f0875ab39033c5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rir_generator-0.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 36.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
9b935827011ac424ddcd7cafd10a0db0ddd1798be8830f21949c1ba381098d67
BLAKE2b-256 checksum
How to use checksums
83d8965f8c9af7a0de21e909129d10c11b54d39fdf234a5bc1620a4646c6a5fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL rir_generator-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 17.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f1f519d6f074c8ea0960bde7de159694d14e05c6bcd13ccabe2cbdab8a65ebc4
BLAKE2b-256 checksum
How to use checksums
428fec6f8cf4dc4738d523f1a2167cabc73e9fbff1d0b8131c9676a7c5368b7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp310-cp310-win_amd64.whl

Download URL rir_generator-0.3.0-cp310-cp310-win_amd64.whl
Size 20.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
05597e250b761cfa810e50731b7e0736d09365ff5aa296e01ddebff63502d384
BLAKE2b-256 checksum
How to use checksums
a71b1f8dd4d31887323114b4a38b66b799368b39558e0e4ea9152fce791413b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rir_generator-0.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 36.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
c4578b0487e9634df5cf4c678b61692386e7673ac813abf6ee03e1fbc2851216
BLAKE2b-256 checksum
How to use checksums
4a7047a3843fb3d3cb5a887378073a5b30406f4c3962e3d043d856ae1728b1c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL rir_generator-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Size 17.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5adb0c98f72508e4e234afbaf8b17d0711ca691f0b3145b69a6de5a8b10042ea
BLAKE2b-256 checksum
How to use checksums
bf3d47ec60fd67ce927be39d1a15e4b1f3273845f41e97c9d408f20a3dfbb9fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp39-cp39-win_amd64.whl

Download URL rir_generator-0.3.0-cp39-cp39-win_amd64.whl
Size 20.6 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
9af9bdf746fa5c8f152b1d958ceebd14a791176e0b50a08c5524aa8d360b551c
BLAKE2b-256 checksum
How to use checksums
5bd870bd75cdc563b006b4efe424a04441c54617ee80f2af06f38174c9fb02cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rir_generator-0.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 36.4 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
b35dae151deeedea4eb0bcdaae2329efdb39f345cccab23eb99434afda63cbd3
BLAKE2b-256 checksum
How to use checksums
4b5f27f47d1648f3f0d757a8e40fcb8e7610f60fa3d3dfbc8ed6695be9786dbc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL rir_generator-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
Size 17.3 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bce8a80541d959d6ef7c8de228a3fb910d75fd6a3007067d28e0bcb24620cb41
BLAKE2b-256 checksum
How to use checksums
e44d531dc62388c4ae4ea0b2480c22347a5ec7a157e9a40c9e9b9cfea4b824d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp38-cp38-win_amd64.whl

Download URL rir_generator-0.3.0-cp38-cp38-win_amd64.whl
Size 20.5 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
2b46787c5cc7a29952bccc5ffbf0961679343e4d4ff963ab71cace68cd5f6ec9
BLAKE2b-256 checksum
How to use checksums
07282c9151fcb028cc297a1e4677d496754a45c4fb568924f6e231fcb1ea0d24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL rir_generator-0.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 36.3 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
2cb17cc807b445615460007f8180740232338769d9dd4d29466b9347268144c3
BLAKE2b-256 checksum
How to use checksums
21d94d339098112eb4dd0972031776cf741fa17aa13c65293ad2c6cb9b542fd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release files / rir_generator-0.3.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL rir_generator-0.3.0-cp38-cp38-macosx_11_0_arm64.whl
Size 17.1 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bb97606aba35ba3d17abed97ed00bc4fbac53345658a97615e32c983c0f40889
BLAKE2b-256 checksum
How to use checksums
55ad1a2c25c1ac9268e0b34bee29a628a651cbbc8229cb7cd04a111f3440de93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 26, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

16 release files

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page