def generate_utilities_read_file_audio(filename): duration_in_ms = 20 # generate noise noise = WhiteNoise(sample_rate=RATE, bit_depth=NUM_BYTES * BITS_PER_BYTE).to_audio_segment(duration=duration_in_ms) # save noise.export(filename, format="wav") return noise._data
def add_audio(fn, d): print("ADDING SOUND...") sound = WhiteNoise().to_audio_segment(duration=d) namesound = define_name("whiteNoise", ".mp3") sound.export(namesound, format="mp3") video = movie(fn) sonido = music(namesound) result = video + sonido namevid = define_name("noiseVid", ".mp4") result.save(namevid) os.remove(fn) os.remove(namesound)
def padding(wav, white_noise_duration): # print("WAV FILE: " + wav) for x in white_noise_duration: if x == 0: wav_files = [] padded_fname = wav.rsplit(".", 1)[0] # print("PADDED NAME: " + padded_fname) silence_duration = max(white_noise_duration) # print(padded_fname+"_whitenoise.wav") # convert sampling rate, bits per sample, audio channel subprocess.call([ "ffmpeg", "-i", wav, "-ar", "44100", "-ac", "2", padded_fname + "_converted.wav", "-y", ]) # white noise duration should be a list e.g [0,1] # generate white noise wav file wn = WhiteNoise().to_audio_segment(duration=silence_duration * 1000) wn.export( padded_fname + "_whitenoise.wav", format="wav", parameters=["-ar", "16000"], ) # stitch white noise wav file to specific audio wav file # before new_wav_before = AudioSegment.from_wav( padded_fname + "_whitenoise.wav") + AudioSegment.from_wav(padded_fname + "_converted.wav") new_wav_before.export( padded_fname + "_padded" + "_" + str(white_noise_duration[1]) + "_" + str(white_noise_duration[0]) + ".wav", format="wav", parameters=["-ar", "16000"], ) # after new_wav_after = AudioSegment.from_wav( padded_fname + "_converted.wav") + AudioSegment.from_wav(padded_fname + "_whitenoise.wav") new_wav_after.export( padded_fname + "_padded" + "_" + str(white_noise_duration[0]) + "_" + str(white_noise_duration[1]) + ".wav", format="wav", parameters=["-ar", "16000"], ) # remove white noise wav file os.remove(padded_fname + "_whitenoise.wav") os.remove(padded_fname + "_converted.wav") wav_files.append(padded_fname + "_padded" + "_" + str(white_noise_duration[1]) + "_" + str(white_noise_duration[0]) + ".wav") wav_files.append(padded_fname + "_padded" + "_" + str(white_noise_duration[0]) + "_" + str(white_noise_duration[1]) + ".wav") break else: wav_files = [] padded_fname = (wav.rsplit(".", 1)[0]).split("/")[-1] # print("PADDED FILENAME: " + padded_fname) path = (wav.rsplit(".", 1)[0]).rsplit("/", 1)[0] # print("PATH: "+ path) fn = (wav.rsplit(".", 1)[0]).rsplit("/", 1)[1] # print("FILENAME: " + fn) # white noise duration should be a list e.g [0,1] # generate white noise wav file # wn_0 = AudioSegment.silent(duration=white_noise_duration[0] * 1000) wn_0 = WhiteNoise().to_audio_segment( duration=white_noise_duration[0] * 1000) wn_0.export(wav + "_whitenoise_0.wav", format="wav", parameters=["-ar", "16000"]) # wn_1 = AudioSegment.silent(duration=white_noise_duration[1] * 1000) wn_1 = WhiteNoise().to_audio_segment( duration=white_noise_duration[1] * 1000) wn_1.export(wav + "_whitenoise_1.wav", format="wav", parameters=["-ar", "16000"]) # stitch white noise wav file to specific audio wav file new_wav = (AudioSegment.from_wav(wav + "_whitenoise_0.wav") + AudioSegment.from_wav(wav) + AudioSegment.from_wav(wav + "_whitenoise_1.wav")) new_wav.export( path + "/" + padded_fname + "_padded" + "_" + str(white_noise_duration[0]) + "_" + str(white_noise_duration[1]) + ".wav", format="wav", parameters=["-ar", "16000"], ) # after new_wav_reverse = ( AudioSegment.from_wav(wav + "_whitenoise_1.wav") + AudioSegment.from_wav(wav) + AudioSegment.from_wav(wav + "_whitenoise_0.wav")) new_wav_reverse.export( path + "/" + padded_fname + "_padded" + "_" + str(white_noise_duration[1]) + "_" + str(white_noise_duration[0]) + ".wav", format="wav", parameters=["-ar", "16000"], ) # remove white noise wav file os.remove(wav + "_whitenoise_0.wav") os.remove(wav + "_whitenoise_1.wav") wav_files.append(path + "/" + padded_fname + "_padded" + "_" + str(white_noise_duration[0]) + "_" + str(white_noise_duration[1]) + ".wav") wav_files.append(path + "/" + padded_fname + "_padded" + "_" + str(white_noise_duration[1]) + "_" + str(white_noise_duration[0]) + ".wav") # If adding to one folder, specify the path of folder! # new_wav.export("output_/"+fn+"_padded"+"_"+str(white_noise_duration[0])+"_"+str(white_noise_duration[1])+".wav", format="wav", parameters=["-ar", "16000"]) # new_wav_reverse.export("output_/"+fn+"_padded"+"_"+str(white_noise_duration[1])+"_"+str(white_noise_duration[0])+".wav", format="wav", parameters=["-ar", "16000"]) break return wav_files