PyRoomStudio

An open-source application for rendering and analyzing acoustical properties of 3D spaces via meshes

PyRoomStudio is a GUI application for rendering and analyzing acoustical properties of 3D spaces via STL meshes. It is built on top of the PyRoomAcoustics, a library for simulating acoustics algorithms.

Mission Statement

PyRoomStudio has two missions:

  1. Make room acoustics design accessible and intuitive for designers via open-source software.
  2. Connect people passionate about designing for the auditory sense, from both the technical and the creative sides.

By accomplishing these missions, we hope to increase the usage of acoustic tools in the design community and make light of sound as a necessary consideration for future spaces.

PyRoomStudio Mission

Setup

PyRoomStudio is currently running on Python 3.9+. Make sure to have one of these versions installed before downloading and running the application.

1. Clone the repository

$ git clone https://github.com/pyroomstudio/PyRoomStudio.git

2. Setup your virtual environment (venv) and install necessary packages

Linux/macOS:

$ python3 -m venv venv $ source venv/bin/activate (venv) $ pip install -r requirements.txt

Windows:

$ python3 -m venv venv $ source venv/Scripts/Activate (venv) $ pip install -r requirements.txt

3. Open the software

$ python3 main_gui.py
PyRoomStudio Screenshot

Get Involved & Contributing

Contributing to PyRoomStudio

We are always accepting external contributions! We're looking for users who are interested in contributing code (GUI and app functionality) and/or material coefficients (for a public database).

Issues

The Issues tab on GitHub contains a running list of features to implement, as well as any bugs or problems that arise from development. For further details and discussions, please join our Discord server.

Development Environment

Environment libraries are provided in requirements.txt and consist of minimal tools needed to build the running simulation: PyGame, PyOpenGL, PyRoomAcoustics, and their required libraries.

Materials Database

We're also looking to expand our project into an open-source database of material coefficients. In the future, we want users to be able to drag-and-drop materials on different surfaces to improve the simulation process.