import random
import os
import glob
import numpy as np
import scipy.io.wavfile as wav
import soundfile as sf
import librosa
from scipy import signal
import scipy.io as scio
dataFile = 'rir.mat'
rir = scio.loadmat(dataFile)
def merge_files(path_read_folder, path_write_wav_file):
#
files = os.listdir(path_read_folder)
merged_signal = []
cnt = 0
# for filename in glob.glob(os.path.join(path_read_folder, '*.wav')):
for filename in glob.glob(os.path.join(path_read_folder, '*.wav')):
clean,sr = librosa.load(filename, sr=32000)
ran = random.randint(0,2999)
reverb_speech = signal.fftconvolve(clean, rir['h'][ran,:], mode="full")
clean = clean/ max(abs(clean)) *32000 #* random.randint(4500,32000)
merged_signal.append(clean)
merged_signal=np.hstack(merged_signal)
merged_signal = np.asarray(merged_signal, dtype=np.int16)
wav.write(path_write_wav_file, 32000, merged_signal)
# for i in range (1):
# path_read_folder = "/Users/anker/Documents/1_AI/99_RIR/noise"
# path_write_wav_file = "/Users/anker/Documents/1_AI/99_RIR/noise" + str(i) + ".wav"
# merge_files(path_read_folder, path_write_wav_file)
path_read_folder = "/Volumes/Speech/语料/chinese1/"
path_write_wav_file = "/Volumes/Speech/语料/chinese1.wav"
merge_files(path_read_folder, path_write_wav_file)