{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> INTRODUCTION</p>\n\nThis notebook aims to show some audio treatments that were used in the BIRDCLEF-2022 Competition.\n\nWe use this code to treat the sounds of birds, minimizing noise and interference. At the end of the treated audio, we added some noises such as pink noise, white noise, etc.\n\nWe followed the steps mentioned in the figure.\n![imagem.png](attachment:e54c8dac-bf1b-4ae2-8f3c-6658d46f72b9.png)\n\nWe leave the code below.\n\nEnjoy :)","metadata":{},"attachments":{"e54c8dac-bf1b-4ae2-8f3c-6658d46f72b9.png":{"image/png":"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"}}},{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> LIBRARIES</p>","metadata":{}},{"cell_type":"code","source":"!pip install noisereduce -q\n!pip install colorednoise -q","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:00:35.213491Z","iopub.execute_input":"2022-05-25T23:00:35.214621Z","iopub.status.idle":"2022-05-25T23:01:00.937632Z","shell.execute_reply.started":"2022-05-25T23:00:35.2145Z","shell.execute_reply":"2022-05-25T23:01:00.936557Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                                    LIBRARIES\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\n# Matrix and Arrays\nimport numpy as np\nimport pandas as pd\n\n# Random\nimport random\n\n# Graphics\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport plotly.express as px\n\n# Signal\nimport scipy\nfrom scipy.fftpack import rfft, irfft, fftfreq, fft\nfrom scipy.signal import butter, sosfilt, sosfreqz, filtfilt\nfrom scipy.signal import hilbert\nfrom scipy.io.wavfile import write\n\n# Audio\nimport librosa\nimport librosa.display\nimport IPython.display as ipd\nimport noisereduce as nr\nimport soundfile as sf\n\n# Sklearn\nfrom sklearn.cluster import MiniBatchKMeans\nfrom sklearn.cluster import KMeans\nfrom sklearn.model_selection import StratifiedKFold, train_test_split\n\n# Pytorch\nimport torch\nimport torchaudio\n\n# Math\nfrom math import ceil\n\n# Files\nimport os\nimport json\n\nfrom tqdm.auto import tqdm\n# from tqdm import tqdm\nfrom functools import partial\nfrom joblib import Parallel, delayed\n\n# Warnings\nimport warnings\nwarnings.simplefilter('ignore')","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:00.939949Z","iopub.execute_input":"2022-05-25T23:01:00.94035Z","iopub.status.idle":"2022-05-25T23:01:06.903779Z","shell.execute_reply.started":"2022-05-25T23:01:00.940309Z","shell.execute_reply":"2022-05-25T23:01:06.902782Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                                    ENVIRONMENT\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\nmanualSeed = 42\n\nprint('[INFO] Random Seed:', manualSeed)\nrandom.seed(manualSeed)\ntorch.manual_seed(manualSeed)\n\n\nprint('[INFO] Training Mode:')\ntrain_on_gpu = torch.cuda.is_available()\nif not train_on_gpu:\n    print('\\t->  Training on CPU')\n    device = torch.device('cpu')\nelse:\n    print('\\t-> Training on GPU')\n    device = torch.device('cuda')\n    torch.cuda.empty_cache()","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:06.905076Z","iopub.execute_input":"2022-05-25T23:01:06.906521Z","iopub.status.idle":"2022-05-25T23:01:06.917467Z","shell.execute_reply.started":"2022-05-25T23:01:06.906476Z","shell.execute_reply":"2022-05-25T23:01:06.916197Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> CONFIGURATION CLASS</p>","metadata":{}},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                                    CONFIG\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\nclass CONFIG:\n  # Paths\n  path_main = '../input/birdclef-2022'\n  path_output = './'\n  path_audio = '../input/birdclef-2022/train_audio'\n\n  # Filter parameters (take the whole base or not)\n  prop = 1\n\n  # Audio Treatment Parameters\n  sr = 22050\n  n_fft = 2048\n  win_length = 512\n  lowcut = 955\n  highcut = 7005\n  order = 5\n\n  # Noise Parameters\n  white = True\n  pink = True\n  blue = True\n  violet = True\n  brownian = False\n  alpha = 35\n  beta = 5\n\n  # Test\n  test = True\n  n = 5\n  \n  # Audio times\n  time_max = 300 # 10 minutes\n  time_min = 1 # 1 seconds\n\n  # Save Parameters\n  audio_extension = '.wav'","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:06.920169Z","iopub.execute_input":"2022-05-25T23:01:06.920661Z","iopub.status.idle":"2022-05-25T23:01:06.929258Z","shell.execute_reply.started":"2022-05-25T23:01:06.920616Z","shell.execute_reply":"2022-05-25T23:01:06.928324Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> DATA</p>","metadata":{}},{"cell_type":"code","source":"print(f'[INFO] Files list:')\nos.listdir(CONFIG.path_main)","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:06.93086Z","iopub.execute_input":"2022-05-25T23:01:06.931587Z","iopub.status.idle":"2022-05-25T23:01:06.956402Z","shell.execute_reply.started":"2022-05-25T23:01:06.931538Z","shell.execute_reply":"2022-05-25T23:01:06.955327Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_meta = pd.read_csv(os.path.join(CONFIG.path_main, 'train_metadata.csv'))\ntest_data = pd.read_csv(os.path.join(CONFIG.path_main,'test.csv'))\nebird_data = pd.read_csv(os.path.join(CONFIG.path_main, 'eBird_Taxonomy_v2021.csv'))\nsamp_subm = pd.read_csv(os.path.join(CONFIG.path_main, 'sample_submission.csv'))\n\n\nwith open(os.path.join(CONFIG.path_main, 'scored_birds.json')) as f:\n    scored_birds = json.load(f)\n\n\ntrain_meta_filtered = train_meta[train_meta.primary_label.isin(scored_birds)]\\\n                                 .reset_index()\\\n                                 .drop('index', axis=1)\n\ntrain_meta_rest = train_meta[~train_meta.primary_label.isin(scored_birds)]\\\n                                 .reset_index()\\\n                                 .drop('index', axis=1)      \n\nif CONFIG.prop > 0.0 and CONFIG.prop != 1:\n   _, base, _, _ = train_test_split(train_meta_rest, \n                                    train_meta_rest.primary_label,\n                                    test_size = CONFIG.prop, \n                                    random_state = manualSeed, \n                                    stratify = train_meta_rest.primary_label)\n   train_meta_filtered = pd.concat([train_meta_filtered, base], \n                                   ignore_index = True)\nif CONFIG.prop == 0:\n   train_meta_filtered = pd.concat([train_meta_filtered, train_meta_rest], \n                                   ignore_index = True)\n\n     \nprint('[INFO] Main information:')\nprint('\\t-> Number of birds to be scored:', len(scored_birds))\nprint('\\t-> Training Base:', train_meta.shape)\nprint('\\t\\t-> Total Classes:', len(train_meta.primary_label.unique()))\nprint('\\t-> Filtered Training Base:', train_meta_filtered.shape)\nprint('\\t\\t-> Filtered Total Classes:', len(train_meta_filtered.primary_label.unique()))\nprint('\\t-> Test Base:',test_data.shape)\n","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:06.958Z","iopub.execute_input":"2022-05-25T23:01:06.958543Z","iopub.status.idle":"2022-05-25T23:01:07.237772Z","shell.execute_reply.started":"2022-05-25T23:01:06.958498Z","shell.execute_reply":"2022-05-25T23:01:07.236521Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_meta_filtered[train_meta_filtered.primary_label == 'skylar'].head()","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:07.239347Z","iopub.execute_input":"2022-05-25T23:01:07.239734Z","iopub.status.idle":"2022-05-25T23:01:07.265557Z","shell.execute_reply.started":"2022-05-25T23:01:07.239699Z","shell.execute_reply":"2022-05-25T23:01:07.264756Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> AUDIO TREATMENTS</p>","metadata":{}},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                        FUNCTIONS NECESSARY FOR SIGNAL TREATMENT\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\ndef Main_Parameters(y_t, sr):\n  \"\"\"Function to get the main characteristics of the signal\"\"\"\n  N = len(y_t)                                      # number of samples\n  T = 1.0 / sr                                      # data period\n  x_t = np.linspace(0.0, N*T, N)                    # time\n  x_f = np.linspace(0.0, 1.0/(2.0*T), int(N/2))     # frequency \n  return N, T, x_t, x_f\n\n#********************************************************************************************\n\ndef Removing_Component_Continue(y_t):\n  \"\"\"Function to remove continuous component from the signal\"\"\"\n  mean_y = np.mean(y_t)\n  y_ = y_t - mean_y\n  return y_\n\n#********************************************************************************************\n\ndef Normalization_Signal(y_t):\n  \"\"\"Function to put the sign between -1 and 1\"\"\"\n  max_y = np.max(y_t)\n  y_ = y_t/max_y\n  return y_\n\n#********************************************************************************************\n\ndef Reduction_Noise(y_t, sr, n_fft, win_length, use_tqdm = False, norm = False):\n  \"\"\"Function to reduce signal noise amplitudes\"\"\"\n  y_ = nr.reduce_noise(y = y_t,\n                      sr = sr,\n                      n_fft = n_fft,\n                      win_length = win_length,\n                      use_tqdm = use_tqdm,\n                      n_jobs = 2)\n  y_ = np.array(y_)\n  if norm:\n    y_ = Normalization_Signal(y_)\n  return y_\n\n#********************************************************************************************\n\ndef Band_Pass_Filter(y_t, sr, lowcut, highcut, order):\n  \"\"\"Band pass filter\"\"\"\n  nyq = 0.5 * sr\n  low = lowcut / nyq\n  high = highcut / nyq\n  b, a = butter(order, [low, high], btype='bandpass', analog=False, output='ba')\n  y_ = filtfilt(b, a, y_t)\n#     sos = butter(order, normal_cutoff , analog=False, btype='lowpass', output='sos')\n#     y = sosfilt(sos, data)\n  return y_\n\n#********************************************************************************************\n\ndef Envelope(y_t, plot):\n  \"\"\"Hilbert transform\"\"\"\n  analytical_signal = hilbert(y_t)\n  y_ = np.abs(analytical_signal)\n  if plot == True:\n    hilbert_fft = fft(y_)\n  else:\n    hilbert_fft = 0\n  return y_, hilbert_fft\n","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:07.266949Z","iopub.execute_input":"2022-05-25T23:01:07.267297Z","iopub.status.idle":"2022-05-25T23:01:07.281871Z","shell.execute_reply.started":"2022-05-25T23:01:07.26723Z","shell.execute_reply":"2022-05-25T23:01:07.280762Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                             FULL SIGNAL FUNCTION\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\ndef Complete_Treatment(y_t, sr, \n                        n_fft = CONFIG.n_fft, \n                        win_length = CONFIG.win_length, \n                        use_tqdm = True,\n                        low = CONFIG.lowcut,\n                        high = CONFIG.highcut,\n                        ord = CONFIG.order,\n                        plot = True, \n                        nome = None):\n  \"\"\" Complete signal processing\"\"\"\n  N, T, x_t, x_f = Main_Parameters(y_t, sr)\n  if plot:\n    y_f_0 = fft(y_t)\n  \n  y_1 = Removing_Component_Continue(y_t)\n  if plot:\n    y_f_1 = fft(y_1)\n    \n  y_2 = Normalization_Signal(y_1)\n  if plot:\n    y_f_2 = fft(y_2)   \n\n  y_3 = Reduction_Noise(y_2, \n                       sr, \n                       n_fft = n_fft, \n                       win_length = win_length, \n                       use_tqdm = use_tqdm,\n                       norm = True)\n  if plot:\n    y_f_3 = fft(y_3)  \n    \n  y_4 = Band_Pass_Filter(y_3, sr, \n                           lowcut = low, \n                           highcut = high, \n                           order = ord)\n  if plot:\n    y_f_4 = fft(y_4)\n        \n  y_5, y_f_5 = Envelope(y_4, plot = plot)\n    \n  if plot:\n    fig, ax = plt.subplots(figsize =(15,12), nrows = 6, ncols = 2)\n    if nome == None:\n      fig.suptitle('Signal treatments')\n    else:\n      fig.suptitle(f'Signal treatments - bird: {nome}')    \n\n    ax[0, 0].plot(x_t, y_t)\n    ax[0, 0].set_title('Raw Data')\n    ax[0, 0].set_xlabel('t (s)')   \n    ax[0, 1].plot(x_f, 2.0/N * np.abs(y_f_0[:N//2]))\n    ax[0, 1].set_title('Frequency')\n    ax[0, 1].set_xlabel('Hz')\n        \n    ax[1, 0].plot(x_t, y_1)\n    ax[1, 0].set_title('Data without Continuous Component')\n    ax[1, 0].set_xlabel('t (s)')   \n    ax[1, 1].plot(x_f, 2.0/N * np.abs(y_f_1[:N//2]))\n    ax[1, 1].set_title('Frequency')\n    ax[1, 1].set_xlabel('Hz')  \n        \n    ax[2, 0].plot(x_t, y_2)\n    ax[2, 0].set_title('Normalized Data')\n    ax[2, 0].set_xlabel('t (s)')   \n    ax[2, 1].plot(x_f, 2.0/N * np.abs(y_f_2[:N//2]))\n    ax[2, 1].set_title('Frequency')\n    ax[2, 1].set_xlabel('Hz')  \n        \n    ax[3, 0].plot(x_t, y_3)\n    ax[3, 0].set_title('Data with Noise Reduction')\n    ax[3, 0].set_xlabel('t (s)')   \n    ax[3, 1].plot(x_f, 2.0/N * np.abs(y_f_3[:N//2]))\n    ax[3, 1].set_title('Frequências')\n    ax[3, 1].set_xlabel('Hz')  \n        \n    ax[4, 0].plot(x_t, y_4)\n    ax[4, 0].set_title('Filtered Data')\n    ax[4, 0].set_xlabel('t (s)')   \n    ax[4, 1].plot(x_f, 2.0/N * np.abs(y_f_4[:N//2]))\n    ax[4, 1].set_title('Frequency')\n    ax[4, 1].set_xlabel('Hz')\n        \n    ax[5, 0].plot(x_t, y_5)\n    ax[5, 0].set_title('Envelope')\n    ax[5, 0].set_xlabel('t (s)')   \n    ax[5, 1].plot(x_f, 2.0/N * np.abs(y_f_5[:N//2]))\n    ax[5, 1].set_title('Frequency')\n    ax[5, 1].set_xlabel('Hz')\n        \n    plt.subplots_adjust(wspace = 0.2, hspace = 0.8)\n    plt.show()\n        \n  return y_5, y_4, x_t","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:07.283688Z","iopub.execute_input":"2022-05-25T23:01:07.28419Z","iopub.status.idle":"2022-05-25T23:01:07.313586Z","shell.execute_reply.started":"2022-05-25T23:01:07.284147Z","shell.execute_reply":"2022-05-25T23:01:07.312355Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                             NOISE FUNCTIONS\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#https://stackoverflow.com/questions/67085963/generate-colors-of-noise-in-python\n\ndef noise_psd(N, psd = lambda f: 1):\n  X_white = np.fft.rfft(np.random.randn(N));\n  S = psd(np.fft.rfftfreq(N))\n  S = S / np.sqrt(np.mean(S**2))\n  X_shaped = X_white * S;\n  return np.fft.irfft(X_shaped);\n\n#********************************************************************************************\n\ndef PSDGenerator(f):\n    return lambda N: noise_psd(N, f)\n\n#********************************************************************************************\n\n@PSDGenerator\ndef white_noise(f):\n    return 1;\n\n@PSDGenerator\ndef blue_noise(f):\n    return np.sqrt(f);\n\n@PSDGenerator\ndef violet_noise(f):\n    return f;\n\n@PSDGenerator\ndef brownian_noise(f):\n    return 1/np.where(f == 0, float('inf'), f)\n\n@PSDGenerator\ndef pink_noise(f):\n    return 1/np.where(f == 0, float('inf'), np.sqrt(f))","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:07.316803Z","iopub.execute_input":"2022-05-25T23:01:07.317667Z","iopub.status.idle":"2022-05-25T23:01:07.336161Z","shell.execute_reply.started":"2022-05-25T23:01:07.317614Z","shell.execute_reply":"2022-05-25T23:01:07.335058Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                             NOISE ADD FUNCTIONS\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\ndef Add_Noise(y_t, N, \n              white = CONFIG.white, \n              pink = CONFIG.pink, \n              blue = CONFIG.blue,\n              violet = CONFIG.violet, \n              brownian = CONFIG.brownian, \n              alpha = CONFIG.alpha,  beta = CONFIG.beta):\n  \"\"\" NOISE ADD FUNCTIONS\"\"\"\n  new_signals = []\n  d = {}\n  index = 0\n\n  if white:\n    # noise = np.random.normal(loc=0, scale=1, size=N)\n    noise = white_noise(N+5)\n    y = y_t + noise[:len(y_t)]/alpha\n    new_signals.append(y)\n    index += 1\n    d[index] = 'white_noise'\n\n  if pink:\n    noise = pink_noise(N+5)\n    y = y_t + noise[:len(y_t)]/alpha\n    new_signals.append(y)\n    index += 1\n    d[index] = 'pink_noise'\n\n  if blue:\n    noise = blue_noise(N+5)\n    y = y_t + noise[:len(y_t)]/alpha\n    new_signals.append(y)\n    index += 1\n    d[index] = 'blue_noise'\n\n  if violet:\n    noise = violet_noise(N+5)\n    y = y_t + noise[:len(y_t)]/alpha\n    new_signals.append(y)\n    index += 1\n    d[index] = 'violet_noise'\n\n#   if brownian:\n#     noise = brownian_noise(N+5)\n#     y = y_t + noise[:len(y_t)]*beta\n#     new_signals.append(y)\n#     index += 1\n#     d[index] = 'brownian_noise'\n\n  return new_signals, d\n","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:07.337345Z","iopub.execute_input":"2022-05-25T23:01:07.338057Z","iopub.status.idle":"2022-05-25T23:01:07.355669Z","shell.execute_reply.started":"2022-05-25T23:01:07.338017Z","shell.execute_reply":"2022-05-25T23:01:07.354696Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> TEST</p>","metadata":{}},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                               TEST\n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n\nif CONFIG.test:\n  for i in range(CONFIG.n):\n    path_audio = CONFIG.path_audio\n    n = np.random.randint(0, len(train_meta_filtered))\n    audio = train_meta_filtered.filename.values[n]\n    bird = train_meta_filtered.primary_label.values[n]\n    \n    print(f'\\n\\n\\n                         ############## EXEMPLE {n} ##############')\n\n    y_t, sr = librosa.load(os.path.join(path_audio, audio)) \n        \n    _, y_trat, x_t = Complete_Treatment(y_t, \n                                        sr, \n                                        plot = True, \n                                        nome = bird)  \n\n    N, T, x_t, x_f = Main_Parameters(y_t, sr)\n    y_noise, d = Add_Noise(y_trat, N )\n    \n    print(f'\\nAudio: Original')\n    display(ipd.Audio(y_t, rate=sr))\n\n    Y_T = [y_trat] + y_noise\n    d[0] = 'treated_signal'\n\n    for i, audio in enumerate(Y_T):\n      print(f'\\nAudio:', d[i])\n      display(ipd.Audio(audio, rate=sr))\n","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:07.358646Z","iopub.execute_input":"2022-05-25T23:01:07.359809Z","iopub.status.idle":"2022-05-25T23:01:33.238736Z","shell.execute_reply.started":"2022-05-25T23:01:07.359739Z","shell.execute_reply":"2022-05-25T23:01:33.237468Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"<a id=\"0\"></a>\n# <p style=\"background-color:#0FA1F0;height: 60px;text-align: center;vertical-align: middle;line-height: 60px;;font-family:helvetica;color:#FFFFFF;font-size:120%;text-align:center;border-radius:12px 12px;\"> SAVE AUDIO</p>","metadata":{}},{"cell_type":"code","source":"#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n#                                SAVE FUNCTIONS \n#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\ndef Save_Audio(fn,\n                number,\n                path_in = CONFIG.path_audio,\n                path_out = os.path.join(CONFIG.path_output, 'audio_dataset_todo'),\n                audio_extension = CONFIG.audio_extension):\n\n  path_audio = os.path.join(path_in, fn)\n\n  # Sinal\n  y_t, sr = librosa.load(path_audio) \n\n  N, T, x_t, x_f = Main_Parameters(y_t, sr)\n  if x_t[-1] > CONFIG.time_max:\n    print(f'\\nAudio longer than {CONFIG.time_max} seconds: {path_audio}')\n    size = int(CONFIG.time_max * sr)     # t * data/t = data\n    y_t = y_t[:size]\n  \n  # Treatments\n  _, y_trat, x_t = Complete_Treatment(y_t, \n                                      sr, \n                                      plot = False)\n  \n  # Noises\n  N, _, _, _ = Main_Parameters(y_t, sr)\n  y_noise, d = Add_Noise(y_trat, N )\n  \n  Y_T = [y_trat] + y_noise\n  d[0] = 'treated_signal'\n\n  fn_ = fn.split('.')[0]\n    \n  for index, audio in enumerate(Y_T):\n    path_audio_new = os.path.join(path_out, \n                                  d[index], \n                                  fn_ + f'_IDX_{number}' + audio_extension)\n    os.makedirs(os.path.dirname(path_audio_new), exist_ok = True)\n    try:\n      # if index != 0:\n      #   audio = Normalizacao_Sinal(audio)\n      # sf.write(path_audio_new, audio, sr, format='ogg', subtype='vorbis')\n      if audio_extension == '.wav':\n        sf.write(path_audio_new, audio, sr, subtype='PCM_24')\n      if audio_extension == '.ogg':\n        sf.write(path_audio_new, audio, sr, format='ogg')\n      if audio_extension == '.npy':\n        np.save(path_audio_new, audio)\n    except:\n      print(f\"Failed exporting for image: {path_audio_new}\")\n      continue","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:33.240415Z","iopub.execute_input":"2022-05-25T23:01:33.240773Z","iopub.status.idle":"2022-05-25T23:01:33.254504Z","shell.execute_reply.started":"2022-05-25T23:01:33.240739Z","shell.execute_reply":"2022-05-25T23:01:33.253587Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df = train_meta_filtered[:5]\n\nfor number, fn in enumerate(tqdm(df[\"filename\"])):\n  Save_Audio(fn = fn, number = number)","metadata":{"execution":{"iopub.status.busy":"2022-05-25T23:01:33.255726Z","iopub.execute_input":"2022-05-25T23:01:33.256089Z","iopub.status.idle":"2022-05-25T23:02:34.148104Z","shell.execute_reply.started":"2022-05-25T23:01:33.256058Z","shell.execute_reply":"2022-05-25T23:02:34.146618Z"},"trusted":true},"execution_count":null,"outputs":[]}]}