Pyroomacoustics is a package for audio signal processing for indoor applications. It was developed as a fast prototyping platform for beamforming algorithms in indoor scenarios.
The idea is to have a simple interface to define background noise. We follow the API of SoundSource and MicrophoneArray where objects are added to the room via the add method.
We add an abastrct object type Noise with a unified interface for all types of noise onto the microphone signals after the propagation has been simulated.
Here is an example of the type of code we want to have
The current implementation (for white noise only) is an snr parameter to the simulate method.
The implementation is also not very good and has unrequested scaling of the source signals.
Better to have some modular implementation that is extensible by sub-classing the Noise class.
For that, we will need to change slightly the interface
TODO
[X] Noise abstract class interface
[X] White noise
[X] Diffuse noise spherical
[ ] Diffuse noise cylindrical
[ ] Warning/error when diffuse noise is used with directional microphones
The idea is to have a simple interface to define background noise. We follow the API of
SoundSource
andMicrophoneArray
where objects are added to the room via theadd
method.We add an abastrct object type
Noise
with a unified interface for all types of noise onto the microphone signals after the propagation has been simulated.Here is an example of the type of code we want to have
The current implementation (for white noise only) is an
snr
parameter to thesimulate
method. The implementation is also not very good and has unrequested scaling of the source signals. Better to have some modular implementation that is extensible by sub-classing theNoise
class. For that, we will need to change slightly the interfaceTODO
Checks
I am still working on this and will update the status
nosetests
orpy.test
at the root of the repo ?Happy PR :smiley: