Skip to main content

An Open-Source Library for RIR Synthesis and Analysis in PyTorch based on FLAMO

Project description

FLARE

LBDP | poster

An Open-Source Library for Room Impulse Response Synthesis and Analysis in PyTorch based on FLAMO.

This library will be presented at the AES Conference on Artificial Intelligence and Machine Learning for Audio (AIMLA), Queen Mary University, London (UK), 8-10 September 2025

More information soon!

Installation

pip install flareverb

Project Structure

src/flareverb/
├── reverb.py            # Core FDN implementations
├── generate.py          # RIR generation utilities
├── sampling.py          # Delays, gains, and filters sampling
├── analysis.py          # Acoustic analysis functions
├── utils.py             # Utility functions
├── config/              # Configuration modules
└── data/                # Data folder (contains absorption coefficients)

Configuration

FLARE uses Pydantic models for configuration management. The suggested usage is via YAML files: you can write your configuration (for FDN, attenuation, mixing, etc.) in a YAML file, then load it in Python and passing it to the Pydantic config classes. The config classes (FDNConfig, GFDNConfig) are designed to accept dictionaries, so you can parse your YAML into a dict and instantiate the config objects:

import yaml
from flareverb.config.config import BaseConfig

with open("my_config.yaml", "r") as f:
    config_dict = yaml.safe_load(f)

config = BaseConfig(**config_dict)

The main configuration classes are:

FDNConfig

Core FDN configuration parameters:

  • N: Number of delay lines (default: 6)
  • fs: Sampling frequency in Hz (default: 48000)
  • in_ch / out_ch: Input/output channels (default: 1)
  • delay_range_ms: Delay lengths range in milliseconds (default: [20.0, 50.0])
  • delay_log_spacing: Use logarithmic spacing for delays (default: False)
  • early_reflections_type: Type of early reflections - 'gain', 'FIR', or None (default: None)
  • drr: Direct-to-reverberant ratio (default: 0.25, auto-set to 0 if early_reflections_type is None)
  • gain_init: Gain initialization - 'randn' or 'uniform' (default: 'randn')

FDNAttenuation

Attenuation filter configuration:

  • attenuation_type: Filter type - 'homogeneous', 'geq', or 'first_order_lp' (default: 'homogeneous')
  • attenuation_range: RT range in seconds when attenuation_param not given (default: [0.5, 3.5])
  • t60_center_freq: Center frequencies for T60 (default: [63, 125, 250, 500, 1000, 2000, 4000, 8000])
  • rt_nyquist: RT at Nyquist frequency for first-order filters (default: 0.2)

FDNMixing

Mixing matrix configuration:

  • mixing_type: Matrix type - 'orthogonal', 'householder', 'hadamard', or 'rotation' (default: 'orthogonal')
  • is_scattering: Use scattering matrix (default: False)
  • is_velvet_noise: Use velvet noise (default: False)
  • n_stages: Number of scattering stages (default: 3)

GFDNConfig

Grouped FDN configuration (inherits from FDNConfig):

  • n_groups: Number of groups (default: 2)
  • coupling_angles: Inter-group coupling angles (default: [0.0])
  • mixing_angles: Intra-group mixing angles (default: [0.0, 0.0])

The main orchestration function is fdn_dataset.

Requirements

  • Python >= 3.10
  • PyTorch
  • FLAMO >= 0.1.13
  • pydantic
  • pyyaml
  • pandas

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

Links

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

flareverb-0.0.8.tar.gz (26.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flareverb-0.0.8-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file flareverb-0.0.8.tar.gz.

File metadata

  • Download URL: flareverb-0.0.8.tar.gz
  • Upload date:
  • Size: 26.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for flareverb-0.0.8.tar.gz
Algorithm Hash digest
SHA256 4e1ff9e1e9f282953c45672431d803d65a2ad42af59ae134f7c8dfd0d2be8494
MD5 a97968e976a6d2185a1db4d874ac46b6
BLAKE2b-256 fb040f893fb808cbd6d100ebed6d40b280b1095b816a257f2dd267fe19ffc4b1

See more details on using hashes here.

File details

Details for the file flareverb-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: flareverb-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for flareverb-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 5f7db4fffec5883791eb3c9f83449d4bb202c2e6b14d2d9a1b9420f3e6a0c284
MD5 e5a4cd9288701fe09a43db3cdc39b0e1
BLAKE2b-256 2d752efb3f13072be72a1b6fc0440561f32168956bb601200dc2143caf64dd96

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page