Skip to content

Releases: LCAV/pyroomacoustics

v0.7.7

10 Sep 00:34
Compare
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)

v0.7.6

10 Sep 00:36
Compare
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)

v0.7.5

10 Sep 00:38
Compare
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

v0.7.4

26 Apr 01:07
Compare
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

v0.7.3

26 Apr 00:49
Compare
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

v0.7.2

15 Nov 13:32
Compare
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

v0.6.0

01 Dec 00:53
Compare
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