mic1 = [2, 1.5] # position M = 8 # number of microphones d = 0.08 # distance between microphones phi = 0. # angle from horizontal max_order_design = 1 # maximum image generation used in design shape = 'Linear' # array shape Lg_t = 0.050 # Filter size in seconds Lg = np.ceil(Lg_t * Fs) # Filter size in samples delay = 0.03 # define the FFT length N = 1024 # create a microphone array if shape is 'Circular': R = pra.circular2DArray(mic1, M, phi, d * M / (2 * np.pi)) elif shape is 'Poisson': R = pra.poisson2DArray(mic1, M, d) else: R = pra.linear2DArray(mic1, M, phi, d) mics = pra.Beamformer(R, Fs, N=N, Lg=Lg) # The first signal (of interest) is singing rate1, signal1 = wavfile.read('samples/singing_' + str(Fs) + '.wav') signal1 = np.array(signal1, dtype=float) signal1 = pra.normalize(signal1) signal1 = pra.highpass(signal1, Fs) delay1 = 0. # the second signal (interferer) is some german speech rate2, signal2 = wavfile.read('samples/german_speech_' + str(Fs) + '.wav')
mic1 = [2, 1.5] # position M = 8 # number of microphones d = 0.04 # distance between microphones phi = 0. # angle from horizontal max_order_design = 1 # maximum image generation used in design shape = 'Linear' # array shape Lg_t = 0.05 # Filter size in seconds Lg = np.ceil(Lg_t*Fs) # Filter size in samples delay = 0.02 # define the FFT length N = 1024 # create a microphone array if shape is 'Circular': R = pra.circular2DArray(mic1, M, phi, d*M/(2*np.pi)) else: R = pra.linear2DArray(mic1, M, phi, d) mics = pra.Beamformer(R, Fs, N=N, Lg=Lg) # The first signal (of interest) is singing rate1, signal1 = wavfile.read('samples/singing_'+str(Fs)+'.wav') signal1 = np.array(signal1, dtype=float) signal1 = pra.normalize(signal1) signal1 = pra.highpass(signal1, Fs) delay1 = 0. # the second signal (interferer) is some german speech rate2, signal2 = wavfile.read('samples/german_speech_'+str(Fs)+'.wav') signal2 = np.array(signal2, dtype=float) signal2 = pra.normalize(signal2)