Pyroomacoustics

Latest version: v0.7.4

Safety actively analyzes 630406 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 4

0.5.0

---------------------

Added
~~~~~

- Adds tracking of reflection order with respect to x/y/z axis in the shoebox image
source model engine. The orders are available in `source.orders_xyz` after running
the image source model
- Support for microphone and source directivites for image source model. Source
directivities just for shoebox room. Available directivities are frequency-independent
(cardioid patterns), although the infrastructure is there for frequency-dependent
directivities: frequency-dependent usage in `Room.compute_rir` and abstract
`Directivity` class.
- Examples scripts and notebook for directivities.

Bugfix
~~~~~~

- Fix wrong bracketing for negative values in is_inside (ShoeBox)

0.4.3

---------------------

Added
~~~~~

- Support for Python 3.8 and 3.9

Bugfix
~~~~~~

- Fixes typo in a docstring
- Update docs to better reflect actual function parameters
- Fixes the computation of the cost function of SRP-PHAT doa algorithm (bug reported in PR197)

Changed
~~~~~~~

- Improve the computation of the auxiliary variables in AuxIVA and ILRMA.
Unnecessary division operations are reduced.

0.4.2

---------------------

Bugfix
~~~~~~

- Fixes the Dockerfile so that we don't have to install the build dependencies manually
- Change the eps for geometry computations from 1e-4 to 1e-5 in ``libroom``

Added
~~~~~

- A specialized ``is_inside`` routine for ``ShoeBox`` rooms

0.4.1

---------------------

Bugfix
~~~~~~

- Issue 162 (crash with max_order>31 on windows), seems fixed by the new C++ simulator
- Test for issue 162 added
- Fix Binder link
- Adds the pyproject.toml file in MANIFEST.in so that it gets picked up for packaging

Added
~~~~~

- Minimal `Dockerfile` example.

0.4.0

---------------------

Improved Simulator with Ray Tracing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Ray Tracing in the libroom module. The function compute_rir() of the Room object in python
can now be executed using a pure ray tracing approach or a hybrid (ISM + RT) approach.
That's why this function has now several default arguments to run ray tracing (number
of rays, scattering coefficient, energy and time thresholds, microphone's radius).
- Bandpass filterbank construction in ``pyroomacoustics.acoustics.bandpass_filterbank``
- Acoustic properties of different materials in ``pyroomacoustics.materials``
- Scattering from the wall is handled via ray tracing method, scattering coefficients are provided
in ``pyroomacoustics.materials.Material`` objects
- Function ``inverse_sabine`` allows to compute the ``absorption`` and ``max_order`` to use with
the image source model to achieve a given reverberation time
- The method ``rt60_theory`` in ``pyroomacoustics.room.Room`` allows to compute the theoretical
RT60 of the room according to Eyring or Sabine formula
- The method ``measure_rt60`` in ``pyroomacoustics.room.Room`` allows to measure the RT60 of
the simulated RIRs

Changes in the Room Class
~~~~~~~~~~~~~~~~~~~~~~~~~

- Deep refactor of Room class. The constructor arguments have changed
- No more ``sigma2_awgn``, noise is now handled in ``pyroomacoustics.Room.simulate`` method
- The way absorption is handled has changed. The scalar variables
``absorption`` are deprecated in favor of ``pyroomacoustics.materials.Material``
- Complete refactor of libroom, the compiled extension module responsible for the
room simulation, into C++. The bindings to python are now done using pybind11.
- Removes the pure Python room simulator as it was really slow
- ``pyroomacoustics.transform.analysis``, ``pyroomacoustics.transform.synthesis``,
``pyroomacoustics.transform.compute_synthesis_window``, have been deprecated in favor of
``pyroomacoustics.transform.stft.analysis``, ``pyroomacoustics.transform.stft.synthesis``,
``pyroomacoustics.transform.stft.compute_synthesis_window``.
- ``pyroomacoustics.Room`` has a new method ``add`` that can be used to add
either a ``SoundSource``, or a ``MicrophoneArray`` object. Subsequent calls
to the method will always add source/microphones. There exists also methods
``add_source`` and ``add_microphone`` that can be used to add
source/microphone via coordinates. The method ``add_microphone_array`` can be
used to add a ``MicrophoneArray`` object, or a 2D array containing the
locations of several microphones in its columns. While the
``add_microphone_array`` method used to replace the existing array by the
argument, the new behavior is to add in addition to other microphones already
present.

Bugfix
~~~~~~

- From Issue 150, increase max iterations to check if point is inside room
- Issues 117 163, adds project file `pyproject.toml` so that pip can know which dependencies are necessary for setup
- Fixed some bugs in the documentation
- Fixed normalization part in FastMNMF

Added
~~~~~~~

- Added `room_isinside_max_iter` in `parameters.py`
- Default set to 20 rather than 5 as it was in `pyroomacoustics.room.Room.isinside`
- Added Binder link in the README for online interactive demo

Changed
~~~~~~~

- Changed while loop to iterate up to `room_isinside_max_iter` in `pyroomacoustics.room.Room.isinside`
- Changed initialization of FastMNMF to accelerate convergence
- Fixed bug in doa/tops (float -> integer division)
- Added vectorised functions in MUSIC
- Use the vectorised functions in _process of MUSIC

0.3.1

---------------------

Bugfix
~~~~~~

- Fixed a non-unicode character in ``pyroomacoustics.experimental.rt60`` breaking
the tests

Page 2 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.