This is a python package that adds some extra functionality to the pyroomacoustics package, specifically in favour of the upcoming ROS acoustics package.
-
Clone this repo into any directory.
-
cd
to the project root directory and install usingpip3 install .
Note: For development, it is recommended to install in edit mode:
pip3 install -e .
-
Test the install by importing the pra_utils package:
python3 -c 'import pra_utils'
-
Buy me a beer, thanks.
All features are encapsulated in ComplexRoom
in core.py
, a child class of pyroomacoustics.Room. The notable features are as follows:
- Improved room plotting:
- Figure equal aspect ratio
- Shows walls normals.
from_stl()
,save_stl
: Creates/saves a room from/to an STL mesh file.make_polygon()
: Makes a polygonal room. Can specify centre and rotation euler angles.- Obstacles can be added inside rooms. These are basically just reflecting surfaces inside the parent room. To use, first declare a ComplexRoom with
reversed_normals=True
, then add it to a normal ComplexRoom usingadd_obstacle()
. See the tests for details.