Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: LCAV/pyroomacoustics

v0.10.1

01 May 14:14
@fakufaku fakufaku

Choose a tag to compare

v0.10.1 - 2026-05 -01

Added

  • Added a boolean flag plot_walls to toggle wall rendering in Room.plot.
  • Set the plot_walls to False for AnechoicRoom by default.

Changed

  • Removed the deprecated absorption parameter from ShoeBox,
    Room.from_corners, and Room.extrude.
  • Modernized the build system to use pyproject.toml and CMake.
  • External dependencies (Eigen, nanoflann, pybind11) are now
    automatically managed via CMake's FetchContent.
  • Switched to dynamic versioning using setuptools_scm.
  • Relocated the test suite from the source package to a top-level tests/ directory.
  • Update the continuous integration to use cibuildwheel to handle all platforms
    including manylinux.
  • The location of the SOFA files can be specified by the
    PYROOMACOUSTICS_DATA_PATH environment variable.

Bugfix

  • Fixes NaNs that may appear in RT histogram in some cases (issue #433). Thanks @jguice.

v0.10.0 - 2026年04月01日

Ray Tracing Directivity

This new release introduces source and receiver directivities for the ray
tracing simulation engine.

  • Support for source directivities in non-shoebox rooms using the images source
    model.

  • New pyroomacoustics.random module that provides some primitives for
    sampling at random from arbitrary distributions on the sphere. This is used
    for source directivities in the ray tracing simulator.

  • New octave filter bank with energy conservation and perfect reconstruction
    described in Antoni, "Orthogonal-like fractional-octave-band filters," 2009.
    The filter bank is implemented in
    pyroomacoustics.acoustics.AntoniOctaveFilterBank.

  • A method sample_rays is added to the Directivity objects to provide a
    unified interface to sample rays of sources used for ray tracing.

  • The class directivities.SphericalHistogram allows to collect and display
    histograms on the sphere which can be useful to visualize and test
    directivities.

Added

  • A new random sub-module that contains a Numpy random number generator to use
    package wide and some methods to set the seeds for this generator and that of
    the libroom module.

  • New methods to sample from spherical distributions either analytically, or by
    rejection sampling are provided in random.

Changed

  • Bumped the numpy requirement to v1.17.0 to use the numpy.random.Generator objects.

  • Adds random "bending" of the rays to account for scattering in the ray tracing.

  • Refactor the way the RIR is weighted with the histogram in simulation/rt.py.

  • Improves pra.experimental.measure_rt60: Compute the T60 using a fit. Default is
    log-domain. Adds option to fit in linear domain.

  • Add Directivity pattern for real spherical harmonics.

  • Flip the settings to use octave_bands_keep_dc=True by default. There should be
    minimal change due to the introduction of the high-pass filter in v0.9.0.

Bugfix

  • Fixes the lowest octave band filter that was malformed when using
    octave_bands_keep_dc=True.

  • Fixes the computation of the octave band widths that were not correct for the lowest
    and high bands.

  • In doa.py, the ax.xaxis.grid and ax.yaxis.grid parameters were changed from b to visible.

  • Fixes MicrophoneArray.append(MicrophoneArray) AttributeError: 'MicrophoneArray' object has no attribute 'shape'.

  • Fixes issue #421: When generating a highpass filtered room impulse response make
    sure that the output is a memory contiguous NumPy array.

Contributors

jguice
Assets 2
Loading

v0.7.7

10 Sep 00:34
@fakufaku fakufaku

Choose a tag to compare

Bugfix

  • Fixes a bug when plotting an anechoic room
  • Fixes a buggy assert from rir_build.cpp
  • Makes the build system consistent for all source files in pyroomacoustics/libroom_src
  • Fixes a call to a deprecated function of scipy.integrate in pyroomacoustics/denoise/iterative_wiener (issue #362)
Loading

v0.7.6

10 Sep 00:36
@fakufaku fakufaku

Choose a tag to compare

Bugfix

  • Fixes the default value of energy_thres in experimental.rt60 to match the
    previous behavior of the function (issue #358)
  • Further fixes issue with cast reflections delays to float32 in room.py (#353)
    which was not fully fixed by the previous update
  • Fixes calls to deprecated API of scipy.linalg.eigh
  • Fixes use of deprecated feature of numpy (conversion of singleton array to scalar)
Loading
felipeacsi reacted with thumbs up emoji
1 person reacted

v0.7.5

10 Sep 00:38
@fakufaku fakufaku

Choose a tag to compare

Changed

  • Extra parameter energy_thresh added to pyroomacoustics.experimental.measure_rt60.
    The energy tail beyond this threshold is discarded which is useful for noisy RIR
    measurements. The default value is 0.95.

Bugfix

  • Fixes a bug in beamforming.circular_microphone_array_xyplane (#348)
  • Fixes a bug in room.Room.plot_rir where the x-axis would have the wrong
    ticks when called with kind="tf"
  • Fixes an issue where the visibility attribute of the room is not
    set if there are no visible source or image source in the room. (#313)
  • Fixes issue with cast reflections delays to float32 in room.py (#353)
  • Fixes calls to numpy.linalg.solve with Numpy 2.0 API
Loading
felipeacsi reacted with thumbs up emoji
1 person reacted

v0.7.4

26 Apr 01:07
@fakufaku fakufaku

Choose a tag to compare

Added

  • New implementation of fast RIR builder function in the libroom C++ extension to replace the current cython code. Advantages are: 1) only one compiled extension, 2) multithreading support
  • New global parameter sinc_lut_granularity that controls the number of points used in the look-up table for the sinc interpolation. Accessible via parameters.constants.get.
  • New global parameter num_threads that controls the number of threads used in multi-threaded code (rir builder only at the moment). The number of threads can also be controlled via the environement variable PRA_NUM_THREADS
  • Adds package build support for Python 3.11 and 3.12. - Adds package build for new Apple M1 architecture

Changed

  • Removed the broken get_rir method of the class SoundSource
  • Removes package build support for Python 3.7 (EOL)

Bugfix

  • Fixes a bug when using randomized image source model with a 2D room (#315) by @hrosseel
  • Fixes a bug when setting the air absorption coefficients to custom values (#191), adds a test, and more details in the doc
  • Fixes a bug in the utilities.angle_function in the calculation of the colatitude (#329) by @fabiodimarco
  • Replaces the crossing-based point-in-polygon algorithm in the C++ code with the more robust winding number algorithm (#345)
  • Fixes usage of deprecated hann window with new version of scipy in metrics.py (#344) by @mattpitkin

New Contributors

Full Changelog: v0.7.3...v0.7.4

Contributors

mattpitkin, hrosseel, and fabiodimarco
Loading

v0.7.3

26 Apr 00:49
@fakufaku fakufaku

Choose a tag to compare

Bugfix

  • Fixes issue #293 due to the C++ method Room::next_wall_hit not handling 2D shoebox rooms, which cause a seg fault

Full Changelog: v0.7.2...v0.7.3

Loading

v0.7.2

15 Nov 13:32
@fakufaku fakufaku

Choose a tag to compare

Added

  • Added the AnechoicRoom class. @duembgen
  • Added FastMNMF2 (Fast Multichannel Nonnegative Matrix Factorization 2) to bss subpackage. @sekiguchi92
  • Randomized image source method for removing sweeping echoes in shoebox rooms. @orchidas
  • Adds the cart2spher method in pyroomacoustics.doa.utils to convert from cartesian
    to spherical coordinates.
  • Example room_complex_wall_materials.py
  • CI for python 3.10
  • Appveyor builds for compiled wheels for win32/win64 x86

Changed

  • Cleans up the plot_rir function in Room so that the labels are neater. It
    also adds an extra option kind that can take values "ir", "tf", or "spec"
    to plot the impulse responses, transfer functions, or spectrograms of the RIR.
  • Refactored the implementation of FastMNMF. @sekiguchi92
  • Modified the document of init.py in doa subpackage.
  • End of Python 3.6 support.
  • Removed the deprecated realtime sub-module.
  • Removed the deprecated functions pyroomacoustics.transform.analysis, pyroomacoustics.transform.synthesis, pyroomacoustics.transform.compute_synthesis_window. They are replaced by the equivalent functions in pyroomacoustics.transform.stft sub-module.
  • The minimum required version of numpy was changed to 1.13.0 (use of np.linalg.multi_dot in doa sub-package see #271) @maldil

Bugfix

  • Fixes missing import statement in room.plot for 3D rooms (PR #286) @usernamenoahfoster
  • On win64, bss.fastmnmf would fail due to some singular matrix. 1) protect solve
    with try/except and switch to pseudo-inverse if necessary, 2) change eps 1e-7 -> 1e-6
  • Fixed pypi upload for windows wheels
  • Fixed most warnings in the tests
  • Fixed bug in examples/adaptive_filter_stft_domain.py

Thanks to

Loading
pfeatherstone, ebezzam, and YoshikiMas reacted with thumbs up emoji enceladus2000 reacted with heart emoji
4 people reacted

v0.6.0

01 Dec 00:53
@fakufaku fakufaku

Choose a tag to compare

Added

  • New DOA method: MUSIC with pseudo-spectra normalization. Thanks @4bian! Normalizes MUSIC pseudo spectra before averaging across frequency axis.

Bugfix

  • Issue #235 : fails when set_ray_tracing is called, but no mic_array is set
  • Issue #236 : general ISM produces the wrong transmission coefficients
  • Removes an unncessery warning for some rooms when ray tracing is not needed

Misc

  • Unify code format by using Black
  • Add code linting in continuous integration
  • Drop CI support for python 3.5

Contributors

4bian
Loading

AltStyle によって変換されたページ (->オリジナル) /