EchoLense is an open-source acoustic camera made by IntRoLab. It aims to provide a flexible platform for the scientific community to further research in the field. It can be built with common off-the-shelf components and a 3D printer. This repo contains the STL files to build one as well as assembly instructions. We also provided 1000 room impulse responses (RIRs) that we measured with the device and you'll find python scripts to measure your own too.
We are not affiliated with any of the links provided below. Those are just examples of components similar to the ones we used.
Part | Number | URL |
---|---|---|
3D printed housing | 1 | See housing folder of this repo |
Arducam USB camera | 1 | Link |
ReSpeaker Mic Array v2.0 | 1 | Link |
M2x6mm screws | 5 | - |
M3x4mm screws | 2 | - |
Micro USB to DIP adapter | 1 | Link |
4-Wires ribbon cable | 1 | - |
-
Remove the camera's native USB connector.
-
Cut the ribbon cable so it has a length of around 90 mm and solder one of its ends to the camera's USB pads. Solder the other end of the cable to the micro USB adapter.
Illustration
-
Using the two M3x4mm screws, secure the micro USB adapter in the bottom half of the housing.
Illustration
-
Insert the camera in its socket.
-
Align the mic array with the holes in the bottom half of the housing, place the camera on top of the mic array and secure everything using three M2x6mm screws.
Illustration
-
Close the housing and secure it using the remaining M2x6mm screws and the holes on the sides.
The RIRs are measured using the technique propose in the following paper:
Farina, Angelo. (2000). Simultaneous Measurement of Impulse Response and Distortion With a Swept-Sine Technique
In "rirs", you'll find three subfolders...
- The "recordings" folder contains the exponential sine sweeps (ESS) recordings.
- The "processings" folder contains the uncut RIRs obtained from the recordings.
- The "toolkit" folder contains mainly two python scripts. The first one is
record.py
. It is used to produce and record ESSs and save them in the "recordings" folder. The second one isprocess_recordings.py
and simply extracts the RIRs from the "recordings" folder and saves them in the "processings" folder.
- Check the parameters at the top of the
record.py
file to make sure that they fit your needs. - Launch the recording script:
cd rirs
python -m toolkit.record -o <output_dir> # output_dir will be created in the recordings directory
- Start a recording by pressing the space bar on your keyboard. By default, the sound will come out by the active speaker on your computer and be recorded by the mic array.
- Delete the last recording by pressing the "x" key on your keyboard if you need to.
cd rirs
python -m toolkit.process_recordings