前提・実現したいこと
データセットの水増しのプログラムを作成しているのですが、40個の音声データをノイズを載せたりして水増しさせようと思っているのですが、エラーは出ないのですが、水増し後の音声データが保存されません。色々と見にくいプログラムですがご教授お願い致します。
該当のソースコード
import librosa import librosa.display from sklearn import preprocessing import matplotlib.pyplot as plt import seaborn as sn import IPython.display as ipd import os import numpy as np os.chdir("C:\Users\yuta\Desktop\") name1 = "rad" name2 = "0\" drive_root_dir1 = "C:\Users\yuta\Desktop\" # load a wave data def load_wave_data(file_name, audio_dir=".\"): file_path = os.path.join(audio_dir, file_name) x, fs = librosa.load(file_path, sr=44100) return x,fs for j in range(0,40): #audio_path = drive_root_dir1 +name2+name1+str(j + 1)+".wav" x, fs = load_wave_data(drive_root_dir1 + "data\" +name2+"(" + str(j + 1) + ")" + ".wav") # data augmentation: add white noise def add_white_noise(x, rate=0.005): return x + rate*np.random.randn(len(x)) x_wn = add_white_noise(x) ipd.Audio(x_wn, rate=fs) # data augmentation: shift sound in timeframe #def shift_sound(x, rate=2): # return np.roll(x, int(len(x)//rate)) def stretch_sound(x, rate=1.5): input_length = len(x) x = librosa.effects.time_stretch(x, rate) if len(x)>input_length: return x[:input_length] else: return np.pad(x, (0, max(0, input_length - len(x))), "constant") x_ss = stretch_sound(x) ipd.Audio(x_ss, rate=fs)
あなたの回答
tips
プレビュー