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.
I'm trying to decide what library should we use to simulate a room acoustics based on ISM method.
My main focus is on the generated RIR
While doing a few experiments I noticed that pra RIR has a really different scale than other libraries I checked like gpuRIR and rir_generator.
Here's an exmaple of such a different based on David's (=gpuRIR creator) response in another thread I opened at gpuRIR repo (last comment in Differences with pyroomacoustics):
import numpy as np
import matplotlib.pyplot as plt
import gpuRIR
import pyroomacoustics as pra
sr = 16000
t60=0.2
room_dim = np.array([3, 4, 2])
pos_src= np.array([[1.5, 1, 1]])
pos_rcv= np.array([[1.5, 3, 1]])
e_absorption, max_order = pra.inverse_sabine(t60, room_dim)
room = pra.ShoeBox(room_dim, fs=sr, materials=pra.Material(e_absorption), max_order=max_order)
room.add_source(pos_src.T)
mic = pra.MicrophoneArray(pos_rcv.T, sr)
room.add_microphone_array(mic)
room.compute_rir()
rir_length = t60 # length of the RIR in seconds
nb_img = gpuRIR.t2n(T=rir_length, rooms_sz=room_dim)
beta = gpuRIR.beta_SabineEstimation(room_dim, t60)
rir = gpuRIR.simulateRIR(room_dim, beta, pos_src, pos_rcv, nb_img, Tmax=rir_length, fs=sr)
After David fixed the lag and scale, they become much more similar:
I'm trying to decide what library should we use to simulate a room acoustics based on ISM method.
My main focus is on the generated RIR While doing a few experiments I noticed that
pra
RIR has a really different scale than other libraries I checked likegpuRIR
andrir_generator
.Here's an exmaple of such a different based on David's (=
gpuRIR
creator) response in another thread I opened atgpuRIR
repo (last comment in Differences with pyroomacoustics):After David fixed the lag and scale, they become much more similar:
He also explained the math behind that, and as a result, we ended up with the question: Where these differences came from?
I'd really appreciate any response
Thanks