In this project, I implemented a way to use and simulate frequency dependent absorption coefficients for wall reflections in the Pyroomacoustics package. For that purpose, I modified the existing implementation to generate different room impulse responses (RIRs), based on frequency and then designed bandpass filters to apply to the RIRs to filter the input signal. The resulting simulation corresponds to what we could expect from a sound in a room with given absorption.
The project is based on the Pyroomacoustics library. The linked repo is a fork of the original repository, containing my modifications. You can find the report (Mini-project report.pdf), demo notebook (frequency_dependent_absorption_demo.ipynb) and audio file used in the notebook (test.wav) at the root of the repository. To run the code, simply run the demo notebook. When running the notebook, please make sure to use the local Pyroomacoustics code instead of the one from the package installer. Please also note that this is a pure python implementation. To ensure that, I had to manually disable the use of Cython.
NBViewer version of the demo notebook: http://nbviewer.jupyter.org/github/mchatton/pyroomacoustics/blob/master/frequency_dependent_absorption_demo.ipynb
Log in or sign up for Devpost to join the conversation.