def room_gen()

in scripts/make_dataset.py [0:0]


    def room_gen(self, room_dims, RT60):
        mic_x = room_dims[0] // 2 + np.random.uniform(low=-0.15, high=0.15)
        mic_y = room_dims[1] // 2 + np.random.uniform(low=-0.15, high=0.15)
        mic_pos = [round(mic_x, 2), round(mic_y, 2), 1.5]  # x,y,z in meters

        speakers_pos = np.zeros(
            (self.num_of_speakers, 3))  # (num_speakers,x,y)
        speakers_angles = np.zeros((self.num_of_speakers, ))
        angel_deg = np.linspace(0, 180, 36)  # [0,30,60,90,120,150,180]
        for i in range(self.num_of_speakers):
            invalid = 0
            while not invalid:
                angle_index = np.random.randint(low=0, high=len(
                    angel_deg)) 
                speakers_angles[i] = angel_deg[angle_index]

                angle = np.deg2rad(angel_deg[angle_index])
                speaker_distance = 1.5 + \
                    round(np.random.uniform(low=-0.2, high=0.2), 2)
                x = mic_x + speaker_distance * np.cos(angle)
                y = mic_y + speaker_distance * np.sin(angle)
                speakers_pos[i, 0] = round(x, 2)
                speakers_pos[i, 1] = round(y, 2)
                speakers_pos[i, 2] = 1.5
                if self.position_valid(room_dims, speakers_pos[i]):
                    invalid = 1
                else:
                    logging.error('mic not in the room')
                    invalid = 0

        self.speakers_pos = speakers_pos
        self.speakers_angles = speakers_angles

        c = 340         # Sound velocity (m/s)
        r = [mic_pos]   # Receiver position [x y z] (m)

        # Room dimensions [x y z] (m)
        L = [room_dims[0], room_dims[1], room_dims[2]]
        rt = RT60                        # Reverberation time (s)
        n = 2048                         # Number of samples
        mtype = 'omnidirectional'        # Type of microphone
        order = -1                       # Reflection order
        dim = 3                          # Room dimension
        orientation = 0                  # Microphone orientation (rad)
        hp_filter = True                 # Enable high-pass filter
        Systems = np.zeros((self.num_of_speakers, n))
        Systems_anechoic = np.zeros((self.num_of_speakers, n))
        for i in range(self.num_of_speakers):
            s = speakers_pos[i]
            h_temp, _, _ = nprirgen.np_generateRir(
                L, s, r, soundVelocity=c, fs=self.sr, reverbTime=rt, nSamples=n, micType=mtype, nOrder=order, nDim=dim, isHighPassFilter=hp_filter)
            h_temp_anechoic, _, _ = nprirgen.np_generateRir(
                L, s, r, soundVelocity=c, fs=self.sr, reverbTime=0, nSamples=n, micType=mtype, nOrder=order, nDim=dim, isHighPassFilter=hp_filter)
            Systems[i] = h_temp
            Systems_anechoic[i] = h_temp_anechoic

        return Systems, Systems_anechoic