{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# The Very Basics of Musical Instruments Classification using Machine Learning\n", "## Short-Time Fourier Transform (STFT) and Convolutional Neural Networks (CNN) \n", "\n", "
\n", "\n", "

\n", "\"Business\n", "

\n", "
\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "[name: \"/device:CPU:0\"\n", "device_type: \"CPU\"\n", "memory_limit: 268435456\n", "locality {\n", "}\n", "incarnation: 10604460152652463385\n", "]\n" ] } ], "source": [ "# Imports\n", "\n", "#General\n", "import numpy as np\n", "import itertools\n", "\n", "# System\n", "import os, fnmatch\n", "\n", "# Data\n", "import pandas as pd\n", "\n", "# Visualization\n", "import seaborn \n", "import matplotlib.pyplot as plt\n", "from IPython.core.display import HTML, display, Image\n", "\n", "# Machine Learning\n", "from sklearn.preprocessing import LabelEncoder, OneHotEncoder, StandardScaler\n", "from sklearn.model_selection import StratifiedShuffleSplit\n", "from sklearn.metrics import recall_score, precision_score, accuracy_score\n", "from sklearn.metrics import confusion_matrix, f1_score, classification_report\n", "\n", "\n", "# Deep Learning\n", "import tensorflow as tf\n", "from tensorflow.python.client import device_lib \n", "from keras.backend.tensorflow_backend import set_session\n", "from tensorflow.python.client import device_lib\n", "from keras import backend as K\n", "from keras.models import Sequential, Model\n", "from keras.layers import Input, Convolution2D, MaxPooling2D, Dense, Dropout, Activation, Flatten, merge\n", "from keras.layers.normalization import BatchNormalization\n", "from keras.callbacks import History, EarlyStopping, ModelCheckpoint\n", "from keras.models import load_model\n", "\n", "\n", "# Random Seed\n", "from tensorflow import set_random_seed\n", "from numpy.random import seed\n", "seed(0)\n", "set_random_seed(0)\n", "\n", "# Audio\n", "import librosa.display, librosa\n", "from librosa.util import normalize as normalize\n", "import IPython.display as ipd\n", "\n", "# Configurations\n", "path='./audio/london_phill_dataset_multi/'\n", "\n", "# Display CPUs and GPUs\n", "print(device_lib.list_local_devices())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Configurations for Google Colab" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Not inside Google Colab: No module named 'google.colab'. Using standard configurations.\n", "processor\t: 0\r\n", "vendor_id\t: GenuineIntel\r\n", "cpu family\t: 6\r\n", "model\t\t: 142\r\n", "model name\t: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz\r\n", "stepping\t: 9\r\n", "cpu MHz\t\t: 2904.002\r\n", "cache size\t: 4096 KB\r\n", "physical id\t: 0\r\n", "siblings\t: 2\r\n", "core id\t\t: 0\r\n", "cpu cores\t: 2\r\n", "apicid\t\t: 0\r\n", "initial apicid\t: 0\r\n", "fpu\t\t: yes\r\n", "fpu_exception\t: yes\r\n", "cpuid level\t: 22\r\n", "wp\t\t: yes\r\n", "flags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase avx2 invpcid rdseed clflushopt\r\n", "bugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf\r\n", "bogomips\t: 5808.00\r\n", "clflush size\t: 64\r\n", "cache_alignment\t: 64\r\n", "address sizes\t: 39 bits physical, 48 bits virtual\r\n", "power management:\r\n", "\r\n", "processor\t: 1\r\n", "vendor_id\t: GenuineIntel\r\n", "cpu family\t: 6\r\n", "model\t\t: 142\r\n", "model name\t: Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz\r\n", "stepping\t: 9\r\n", "cpu MHz\t\t: 2904.002\r\n", "cache size\t: 4096 KB\r\n", "physical id\t: 0\r\n", "siblings\t: 2\r\n", "core id\t\t: 1\r\n", "cpu cores\t: 2\r\n", "apicid\t\t: 1\r\n", "initial apicid\t: 1\r\n", "fpu\t\t: yes\r\n", "fpu_exception\t: yes\r\n", "cpuid level\t: 22\r\n", "wp\t\t: yes\r\n", "flags\t\t: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase avx2 invpcid rdseed clflushopt\r\n", "bugs\t\t: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf\r\n", "bogomips\t: 5808.00\r\n", "clflush size\t: 64\r\n", "cache_alignment\t: 64\r\n", "address sizes\t: 39 bits physical, 48 bits virtual\r\n", "power management:\r\n", "\r\n" ] } ], "source": [ "# Only for Google Colab\n", "try:\n", " import google.colab\n", " if \"GPU:0\" in tf.test.gpu_device_name():\n", " !nvidia-smi\n", " config = tf.ConfigProto(log_device_placement=True, allow_soft_placement=True, device_count = {'GPU': 0})\n", " config.gpu_options.allow_growth = True\n", " session = tf.Session(config=config)\n", " set_session(session)\n", " else:\n", " print(\"No GPU Detected. Configure the Runtime.\")\n", " !git clone https://github.com/GuitarsAI/BasicsMusicalInstrumClassifi\n", " !unzip ./BasicsMusicalInstrumClassifi/audio/*.zip -d ./BasicsMusicalInstrumClassifi/audio\n", " path=\"./BasicsMusicalInstrumClassifi/audio/london_phill_dataset_multi/\"\n", " os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'\n", " tf.logging.set_verbosity(tf.logging.ERROR)\n", " from tensorboardcolab import TensorBoardColab, TensorBoardColabCallback\n", " \n", "except Exception as e:\n", " print(\"Not inside Google Colab: %s. Using standard configurations.\" % (e))\n", " !cat /proc/cpuinfo\n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parameters" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Signal Processing Parameters\n", "fs = 44100 # Sampling Frequency\n", "n_fft = 2048 # length of the FFT window\n", "hop_length = 512 # Number of samples between successive frames\n", "\n", "\n", "# Machine Learning Parameters\n", "testset_size = 0.25 #Percentage of data for Testing\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Aux Functions" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Function to Display a Website\n", "display(HTML(\"\"))\n", "def show_web(url):\n", " html_code='
' \\\n", "\t\t% (url)\n", " display(HTML(html_code))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Find Audio Files, Generate Labels and Get Duration" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Get 1 = viola_Gs4_025_pianissimo_arco-normal.mp3\n", "Get 2 = viola_A4_1_fortissimo_snap-pizz.mp3\n", "Get 3 = viola_A3_1_piano_pizz-normal.mp3\n", "Get 4 = viola_Gs4_05_pianissimo_arco-normal.mp3\n", "Get 5 = viola_Gs3_025_fortissimo_arco-normal.mp3\n", "Get 6 = viola_A3_1_piano_arco-normal.mp3\n", "Get 7 = viola_A4_025_piano_arco-normal.mp3\n", "Get 8 = viola_A3_025_mezzo-piano_arco-normal.mp3\n", "Get 9 = viola_Gs4_15_mezzo-piano_arco-normal.mp3\n", "Get 10 = viola_A5_1_fortissimo_arco-normal.mp3\n", "Get 11 = viola_Gs4_1_mezzo-piano_arco-normal.mp3\n", "Get 12 = viola_Gs5_05_fortissimo_arco-normal.mp3\n", "Get 13 = viola_Gs5_1_fortissimo_snap-pizz.mp3\n", "Get 14 = viola_Gs5_025_mezzo-piano_arco-normal.mp3\n", "Get 15 = viola_A3_1_fortissimo_arco-normal.mp3\n", "Get 16 = viola_A4_15_fortissimo_arco-normal.mp3\n", "Get 17 = viola_A4_05_forte_arco-normal.mp3\n", "Get 18 = viola_A5_1_pianissimo_arco-normal.mp3\n", "Get 19 = viola_A4_1_piano_arco-normal.mp3\n", "Get 20 = viola_A3_025_fortissimo_arco-normal.mp3\n", "Get 21 = viola_Gs6_025_pianissimo_arco-normal.mp3\n", "Get 22 = viola_Gs6_05_fortissimo_arco-normal.mp3\n", "Get 23 = viola_Gs6_05_pianissimo_arco-normal.mp3\n", "Get 24 = viola_Gs4_025_mezzo-piano_arco-normal.mp3\n", "Get 25 = viola_Gs5_1_fortissimo_arco-normal.mp3\n", "Get 26 = viola_A3_1_forte_arco-normal.mp3\n", "Get 27 = viola_Gs3_15_fortissimo_arco-normal.mp3\n", "Get 28 = viola_Gs4_025_fortissimo_arco-normal.mp3\n", "Get 29 = viola_Gs6_05_piano_arco-normal.mp3\n", "Get 30 = viola_Gs4_15_pianissimo_arco-normal.mp3\n", "Get 31 = viola_A4_05_fortissimo_arco-normal.mp3\n", "Get 32 = viola_A5_1_mezzo-forte_artificial-harmonic.mp3\n", "Get 33 = viola_Gs5_05_piano_arco-normal.mp3\n", "Get 34 = viola_A4_1_mezzo-forte_arco-major-trill.mp3\n", "Get 35 = viola_Gs3_025_piano_arco-normal.mp3\n", "Get 36 = viola_Gs4_1_piano_arco-normal.mp3\n", "Get 37 = viola_Gs5_15_fortissimo_arco-normal.mp3\n", "Get 38 = viola_A4_05_pianissimo_arco-normal.mp3\n", "Get 39 = viola_A4_05_piano_arco-normal.mp3\n", "Get 40 = viola_Ds3_1_piano_pizz-normal.mp3\n", "Get 41 = viola_A3_1_pianissimo_arco-normal.mp3\n", "Get 42 = viola_A3_15_fortissimo_arco-normal.mp3\n", "Get 43 = viola_A5_1_forte_arco-normal.mp3\n", "Get 44 = viola_Gs3_025_mezzo-piano_arco-normal.mp3\n", "Get 45 = viola_Gs5_15_pianissimo_arco-normal.mp3\n", "Get 46 = viola_A3_05_fortissimo_arco-normal.mp3\n", "Get 47 = viola_Ds3_05_mezzo-piano_arco-normal.mp3\n", "Get 48 = viola_Gs6_1_pianissimo_arco-normal.mp3\n", "Get 49 = viola_Gs3_15_pianissimo_arco-normal.mp3\n", "Get 50 = viola_A3_1_mezzo-forte_molto-vibrato.mp3\n", "Get 51 = viola_Gs6_025_fortissimo_arco-normal.mp3\n", "Get 52 = viola_A3_1_fortissimo_pizz-normal.mp3\n", "Get 53 = viola_Gs6_1_fortissimo_arco-normal.mp3\n", "Get 54 = viola_A3_15_piano_arco-normal.mp3\n", "Get 55 = viola_A4_1_mezzo-forte_arco-minor-trill.mp3\n", "Get 56 = viola_A4_1_fortissimo_arco-normal.mp3\n", "Get 57 = viola_A3_025_piano_arco-normal.mp3\n", "Get 58 = viola_A3_05_pianissimo_arco-normal.mp3\n", "Get 59 = viola_A4_1_piano_pizz-normal.mp3\n", "Get 60 = viola_A3_1_piano_arco-glissando.mp3\n", "Get 61 = viola_A4_1_pianissimo_arco-normal.mp3\n", "Get 62 = viola_Gs6_1_forte_arco-normal.mp3\n", "Get 63 = viola_Gs5_05_forte_arco-normal.mp3\n", "Get 64 = viola_A4_1_forte_arco-normal.mp3\n", "Get 65 = viola_A3_05_piano_arco-normal.mp3\n", "Get 66 = viola_Gs5_05_pianissimo_arco-normal.mp3\n", "Get 67 = viola_Gs4_1_fortissimo_arco-normal.mp3\n", "Get 68 = viola_Gs5_025_fortissimo_arco-normal.mp3\n", "Get 69 = viola_Gs5_025_pianissimo_arco-normal.mp3\n", "Get 70 = viola_Gs5_1_piano_arco-normal.mp3\n", "Get 71 = viola_Gs3_025_pianissimo_arco-normal.mp3\n", "Get 72 = viola_Gs4_1_pianissimo_arco-normal.mp3\n", "Get 73 = viola_A4_1_mezzo-piano_non-vibrato.mp3\n", "Get 74 = viola_Gs4_05_mezzo-piano_arco-normal.mp3\n", "Get 75 = viola_A4_025_mezzo-piano_arco-normal.mp3\n", "Get 76 = viola_A4_025_pianissimo_arco-normal.mp3\n", "Get 77 = viola_A4_15_piano_arco-normal.mp3\n", "Get 78 = viola_Gs6_05_forte_arco-normal.mp3\n", "Get 79 = viola_Gs6_15_fortissimo_arco-normal.mp3\n", "Get 80 = viola_Gs6_025_forte_arco-normal.mp3\n", "Get 81 = viola_A4_15_pianissimo_arco-normal.mp3\n", "Get 82 = viola_Gs3_15_piano_arco-normal.mp3\n", "Get 83 = viola_A3_05_mezzo-piano_arco-normal.mp3\n", "Get 84 = viola_Gs6_025_mezzo-piano_arco-normal.mp3\n", "Get 85 = viola_Gs6_15_forte_arco-normal.mp3\n", "Get 86 = viola_Gs4_15_fortissimo_arco-normal.mp3\n", "Get 87 = viola_A4_025_fortissimo_arco-normal.mp3\n", "Get 88 = viola_Ds3_05_fortissimo_arco-normal.mp3\n", "Get 89 = viola_A4_05_mezzo-piano_arco-normal.mp3\n", "Get 90 = viola_Gs5_1_pianissimo_arco-normal.mp3\n", "Get 91 = viola_Gs4_05_fortissimo_arco-normal.mp3\n", "Get 92 = viola_Gs6_025_piano_arco-normal.mp3\n", "Get 93 = viola_A4_1_mezzo-forte_molto-vibrato.mp3\n", "Get 94 = viola_A3_15_forte_arco-normal.mp3\n", "Get 95 = viola_Gs5_025_forte_arco-normal.mp3\n", "Get 96 = viola_A3_025_pianissimo_arco-normal.mp3\n", "Get 97 = viola_Gs4_05_piano_arco-normal.mp3\n", "Get 98 = viola_A3_1_mezzo-piano_non-vibrato.mp3\n", "Get 99 = viola_A4_1_piano_arco-glissando.mp3\n", "Get 100 = viola_Gs5_1_forte_arco-normal.mp3\n", "Get 1 = saxophone_A4_1_piano_normal.mp3\n", "Get 2 = saxophone_A4_1_mezzo-forte_normal.mp3\n", "Get 3 = saxophone_A3_1_piano_normal.mp3\n", "Get 4 = saxophone_A3_1_fortissimo_normal.mp3\n", "Get 5 = saxophone_Gs4_025_fortissimo_normal.mp3\n", "Get 6 = saxophone_A5_05_fortissimo_normal.mp3\n", "Get 7 = saxophone_Gs3_05_fortissimo_normal.mp3\n", "Get 8 = saxophone_A3_05_pianissimo_normal.mp3\n", "Get 9 = saxophone_Gs4_15_forte_normal.mp3\n", "Get 10 = saxophone_Ds4_05_pianissimo_normal.mp3\n", "Get 11 = saxophone_A4_05_fortissimo_normal.mp3\n", "Get 12 = saxophone_Gs3_025_fortissimo_normal.mp3\n", "Get 13 = saxophone_Gs4_05_piano_normal.mp3\n", "Get 14 = saxophone_A5_1_forte_normal.mp3\n", "Get 15 = saxophone_A3_025_fortissimo_normal.mp3\n", "Get 16 = saxophone_A3_15_fortissimo_normal.mp3\n", "Get 17 = saxophone_Gs3_05_mezzo-piano_normal.mp3\n", "Get 18 = saxophone_Ds4_025_fortissimo_normal.mp3\n", "Get 19 = saxophone_Ds4_05_piano_normal.mp3\n", "Get 20 = saxophone_A3_025_mezzo-piano_normal.mp3\n", "Get 21 = saxophone_Gs3_05_piano_normal.mp3\n", "Get 22 = saxophone_Ds4_025_forte_normal.mp3\n", "Get 23 = saxophone_A4_15_forte_normal.mp3\n", "Get 24 = saxophone_Gs5_15_pianissimo_normal.mp3\n", "Get 25 = saxophone_Gs4_1_pianissimo_normal.mp3\n", "Get 26 = saxophone_Ds5_1_forte_major-trill.mp3\n", "Get 27 = saxophone_A3_025_pianissimo_normal.mp3\n", "Get 28 = saxophone_Gs4_025_forte_normal.mp3\n", "Get 29 = saxophone_Ds4_15_fortissimo_normal.mp3\n", "Get 30 = saxophone_Ds4_025_mezzo-forte_normal.mp3\n", "Get 31 = saxophone_A5_05_forte_normal.mp3\n", "Get 32 = saxophone_Gs5_15_fortissimo_normal.mp3\n", "Get 33 = saxophone_Gs3_025_forte_normal.mp3\n", "Get 34 = saxophone_Gs5_05_pianissimo_normal.mp3\n", "Get 35 = saxophone_A5_1_pianissimo_normal.mp3\n", "Get 36 = saxophone_Gs5_05_forte_normal.mp3\n", "Get 37 = saxophone_Gs4_025_pianissimo_normal.mp3\n", "Get 38 = saxophone_Gs5_025_forte_normal.mp3\n", "Get 39 = saxophone_Gs3_1_piano_normal.mp3\n", "Get 40 = saxophone_Gs4_05_mezzo-forte_normal.mp3\n", "Get 41 = saxophone_A5_15_pianissimo_normal.mp3\n", "Get 42 = saxophone_Gs5_1_forte_normal.mp3\n", "Get 43 = saxophone_Gs4_1_forte_normal.mp3\n", "Get 44 = saxophone_Gs5_1_fortissimo_normal.mp3\n", "Get 45 = saxophone_Gs4_025_piano_normal.mp3\n", "Get 46 = saxophone_Gs4_1_piano_normal.mp3\n", "Get 47 = saxophone_Gs5_025_fortissimo_normal.mp3\n", "Get 48 = saxophone_Gs3_1_pianissimo_normal.mp3\n", "Get 49 = saxophone_Gs4_05_fortissimo_normal.mp3\n", "Get 50 = saxophone_A4_05_forte_normal.mp3\n", "Get 51 = saxophone_Gs3_05_pianissimo_normal.mp3\n", "Get 52 = saxophone_Gs5_15_piano_normal.mp3\n", "Get 53 = saxophone_A4_025_fortissimo_normal.mp3\n", "Get 54 = saxophone_A5_1_piano_normal.mp3\n", "Get 55 = saxophone_Gs5_025_piano_normal.mp3\n", "Get 56 = saxophone_Gs5_05_fortissimo_normal.mp3\n", "Get 57 = saxophone_A5_15_forte_normal.mp3\n", "Get 58 = saxophone_Gs4_05_forte_normal.mp3\n", "Get 59 = saxophone_Gs5_05_piano_normal.mp3\n", "Get 60 = saxophone_Gs5_1_piano_normal.mp3\n", "Get 61 = saxophone_A5_05_piano_normal.mp3\n", "Get 62 = saxophone_A3_15_pianissimo_normal.mp3\n", "Get 63 = saxophone_A5_15_fortissimo_normal.mp3\n", "Get 64 = saxophone_Gs5_1_pianissimo_normal.mp3\n", "Get 65 = saxophone_Gs4_15_pianissimo_normal.mp3\n", "Get 66 = saxophone_Ds4_05_pianissimo_subtone.mp3\n", "Get 67 = saxophone_A5_05_pianissimo_normal.mp3\n", "Get 68 = saxophone_Ds4_025_pianissimo_normal.mp3\n", "Get 69 = saxophone_A3_05_fortissimo_normal.mp3\n", "Get 70 = saxophone_Gs4_15_fortissimo_normal.mp3\n", "Get 71 = saxophone_A4_05_piano_normal.mp3\n", "Get 72 = saxophone_A4_15_piano_normal.mp3\n", "Get 73 = saxophone_Ds4_05_mezzo-forte_normal.mp3\n", "Get 74 = saxophone_A3_025_forte_normal.mp3\n", "Get 75 = saxophone_Gs3_05_forte_normal.mp3\n", "Get 76 = saxophone_A3_1_pianissimo_normal.mp3\n", "Get 77 = saxophone_A4_025_piano_normal.mp3\n", "Get 78 = saxophone_A4_1_pianissimo_normal.mp3\n", "Get 79 = saxophone_A4_1_forte_normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 80 = saxophone_Gs3_15_fortissimo_normal.mp3\n", "Get 81 = saxophone_Ds4_05_mezzo-forte_slap-tongue.mp3\n", "Get 82 = saxophone_Gs4_1_fortissimo_normal.mp3\n", "Get 83 = saxophone_Gs5_15_forte_normal.mp3\n", "Get 84 = saxophone_A4_1_fortissimo_normal.mp3\n", "Get 85 = saxophone_A4_05_pianissimo_normal.mp3\n", "Get 86 = saxophone_Ds4_05_fortissimo_normal.mp3\n", "Get 87 = saxophone_Gs4_15_piano_normal.mp3\n", "Get 88 = saxophone_Gs3_15_pianissimo_normal.mp3\n", "Get 89 = saxophone_Ds5_1_forte_minor-trill.mp3\n", "Get 90 = saxophone_A3_1_forte_normal.mp3\n", "Get 91 = saxophone_A3_05_piano_normal.mp3\n", "Get 92 = saxophone_A3_05_forte_normal.mp3\n", "Get 93 = saxophone_A5_1_fortissimo_normal.mp3\n", "Get 94 = saxophone_A4_025_forte_normal.mp3\n", "Get 95 = saxophone_A3_05_mezzo-piano_normal.mp3\n", "Get 96 = saxophone_A4_15_fortissimo_normal.mp3\n", "Get 97 = saxophone_Gs3_025_mezzo-piano_normal.mp3\n", "Get 98 = saxophone_Gs4_025_mezzo-forte_normal.mp3\n", "Get 99 = saxophone_A3_15_forte_normal.mp3\n", "Get 100 = saxophone_Gs4_05_pianissimo_normal.mp3\n", "Get 1 = oboe_Gs6_025_forte_normal.mp3\n", "Get 2 = oboe_Gs5_05_fortissimo_normal.mp3\n", "Get 3 = oboe_Gs5_05_forte_normal.mp3\n", "Get 4 = oboe_A4_025_fortissimo_normal.mp3\n", "Get 5 = oboe_A5_025_fortissimo_normal.mp3\n", "Get 6 = oboe_A5_15_forte_normal.mp3\n", "Get 7 = oboe_Gs5_15_forte_normal.mp3\n", "Get 8 = oboe_A5_15_fortissimo_normal.mp3\n", "Get 9 = oboe_Gs6_025_piano_normal.mp3\n", "Get 10 = oboe_A5_1_forte_minor-trill.mp3\n", "Get 11 = oboe_Gs6_1_piano_normal.mp3\n", "Get 12 = oboe_Gs4_025_piano_normal.mp3\n", "Get 13 = oboe_A4_1_fortissimo_normal.mp3\n", "Get 14 = oboe_Gs5_1_piano_normal.mp3\n", "Get 15 = oboe_Gs4_05_fortissimo_normal.mp3\n", "Get 16 = oboe_A4_15_piano_normal.mp3\n", "Get 17 = oboe_Gs4_025_forte_normal.mp3\n", "Get 18 = oboe_Gs6_15_piano_normal.mp3\n", "Get 19 = oboe_A6_05_piano_normal.mp3\n", "Get 20 = oboe_Gs6_1_mezzo-forte_normal.mp3\n", "Get 21 = oboe_Gs6_05_piano_normal.mp3\n", "Get 22 = oboe_Gs5_15_mezzo-forte_normal.mp3\n", "Get 23 = oboe_A4_025_forte_normal.mp3\n", "Get 24 = oboe_A5_05_fortissimo_normal.mp3\n", "Get 25 = oboe_As3_1_piano_normal.mp3\n", "Get 26 = oboe_A6_15_piano_normal.mp3\n", "Get 27 = oboe_A6_025_piano_normal.mp3\n", "Get 28 = oboe_As3_05_fortissimo_normal.mp3\n", "Get 29 = oboe_G6_025_forte_normal.mp3\n", "Get 30 = oboe_A5_05_piano_normal.mp3\n", "Get 31 = oboe_A4_05_piano_normal.mp3\n", "Get 32 = oboe_Gs5_025_forte_normal.mp3\n", "Get 33 = oboe_Ds6_15_forte_normal.mp3\n", "Get 34 = oboe_A5_05_forte_normal.mp3\n", "Get 35 = oboe_A5_025_piano_normal.mp3\n", "Get 36 = oboe_Gs4_15_fortissimo_normal.mp3\n", "Get 37 = oboe_Gs5_15_fortissimo_normal.mp3\n", "Get 38 = oboe_A5_025_forte_normal.mp3\n", "Get 39 = oboe_Gs6_05_forte_normal.mp3\n", "Get 40 = oboe_G6_025_piano_normal.mp3\n", "Get 41 = oboe_Gs5_15_piano_normal.mp3\n", "Get 42 = oboe_A6_1_piano_normal.mp3\n", "Get 43 = oboe_A4_15_forte_normal.mp3\n", "Get 44 = oboe_Gs5_1_mezzo-forte_normal.mp3\n", "Get 45 = oboe_As3_1_mezzo-forte_normal.mp3\n", "Get 46 = oboe_Gs4_15_mezzo-forte_normal.mp3\n", "Get 47 = oboe_Gs4_025_fortissimo_normal.mp3\n", "Get 48 = oboe_A5_15_mezzo-forte_normal.mp3\n", "Get 49 = oboe_Gs6_025_mezzo-forte_normal.mp3\n", "Get 50 = oboe_Ds6_05_mezzo-forte_normal.mp3\n", "Get 51 = oboe_Gs4_1_fortissimo_normal.mp3\n", "Get 52 = oboe_As3_05_mezzo-forte_normal.mp3\n", "Get 53 = oboe_Gs5_025_mezzo-forte_normal.mp3\n", "Get 54 = oboe_Ds6_05_fortissimo_normal.mp3\n", "Get 55 = oboe_Gs6_15_forte_normal.mp3\n", "Get 56 = oboe_Gs4_1_forte_normal.mp3\n", "Get 57 = oboe_A4_1_forte_normal.mp3\n", "Get 58 = oboe_Gs6_05_mezzo-forte_normal.mp3\n", "Get 59 = oboe_As3_15_mezzo-forte_normal.mp3\n", "Get 60 = oboe_Gs4_05_forte_normal.mp3\n", "Get 61 = oboe_A5_1_forte_major-trill.mp3\n", "Get 62 = oboe_A4_05_fortissimo_normal.mp3\n", "Get 63 = oboe_Gs5_05_piano_normal.mp3\n", "Get 64 = oboe_A5_15_piano_normal.mp3\n", "Get 65 = oboe_A6_1_forte_minor-trill.mp3\n", "Get 66 = oboe_Gs4_05_mezzo-forte_normal.mp3\n", "Get 67 = oboe_Gs4_1_forte_minor-trill.mp3\n", "Get 68 = oboe_Gs5_1_forte_normal.mp3\n", "Get 69 = oboe_Gs5_025_fortissimo_normal.mp3\n", "Get 70 = oboe_Gs5_025_piano_normal.mp3\n", "Get 71 = oboe_A5_025_mezzo-forte_normal.mp3\n", "Get 72 = oboe_Gs5_1_fortissimo_normal.mp3\n", "Get 73 = oboe_A4_05_forte_normal.mp3\n", "Get 74 = oboe_Gs5_05_mezzo-forte_normal.mp3\n", "Get 75 = oboe_A5_1_fortissimo_normal.mp3\n", "Get 76 = oboe_Gs6_15_mezzo-forte_normal.mp3\n", "Get 77 = oboe_A6_1_forte_major-trill.mp3\n", "Get 78 = oboe_As3_05_forte_normal.mp3\n", "Get 79 = oboe_As3_1_forte_normal.mp3\n", "Get 80 = oboe_Gs6_1_forte_normal.mp3\n", "Get 81 = oboe_Gs4_1_piano_normal.mp3\n", "Get 82 = oboe_As3_15_forte_normal.mp3\n", "Get 83 = oboe_As3_05_piano_normal.mp3\n", "Get 84 = oboe_A5_1_mezzo-forte_normal.mp3\n", "Get 85 = oboe_A4_1_piano_normal.mp3\n", "Get 86 = oboe_Gs4_15_forte_normal.mp3\n", "Get 87 = oboe_Gs4_05_piano_normal.mp3\n", "Get 88 = oboe_Gs4_1_forte_major-trill.mp3\n", "Get 89 = oboe_A4_1_mezzo-forte_normal.mp3\n", "Get 90 = oboe_A4_025_piano_normal.mp3\n", "Get 91 = oboe_A5_05_mezzo-forte_normal.mp3\n", "Get 92 = oboe_A5_1_piano_normal.mp3\n", "Get 93 = oboe_Gs4_15_piano_normal.mp3\n", "Get 94 = oboe_As3_15_fortissimo_normal.mp3\n", "Get 95 = oboe_Gs4_1_mezzo-forte_normal.mp3\n", "Get 96 = oboe_As3_1_fortissimo_normal.mp3\n", "Get 97 = oboe_A5_1_forte_normal.mp3\n", "Get 98 = oboe_G6_025_mezzo-forte_normal.mp3\n", "Get 99 = oboe_Gs4_025_mezzo-forte_normal.mp3\n", "Get 100 = oboe_Ds6_05_piano_normal.mp3\n", "Get 1 = trumpet_B3_025_forte_normal.mp3\n", "Get 2 = trumpet_Cs4_05_pianissimo_normal.mp3\n", "Get 3 = trumpet_G3_025_pianissimo_normal.mp3\n", "Get 4 = trumpet_Gs5_05_mezzo-forte_normal.mp3\n", "Get 5 = trumpet_E6_1_forte_normal.mp3\n", "Get 6 = trumpet_Ds4_15_pianissimo_normal.mp3\n", "Get 7 = trumpet_A3_05_pianissimo_normal.mp3\n", "Get 8 = trumpet_Ds4_025_pianissimo_normal.mp3\n", "Get 9 = trumpet_B3_05_forte_normal.mp3\n", "Get 10 = trumpet_C4_15_pianissimo_normal.mp3\n", "Get 11 = trumpet_Ds4_05_pianissimo_normal.mp3\n", "Get 12 = trumpet_F3_05_pianissimo_normal.mp3\n", "Get 13 = trumpet_As3_1_pianissimo_normal.mp3\n", "Get 14 = trumpet_D6_05_forte_normal.mp3\n", "Get 15 = trumpet_Cs6_025_forte_normal.mp3\n", "Get 16 = trumpet_A3_05_forte_normal.mp3\n", "Get 17 = trumpet_E4_025_pianissimo_normal.mp3\n", "Get 18 = trumpet_As3_05_pianissimo_normal.mp3\n", "Get 19 = trumpet_E3_05_forte_normal.mp3\n", "Get 20 = trumpet_G5_1_mezzo-forte_normal.mp3\n", "Get 21 = trumpet_G5_025_mezzo-forte_normal.mp3\n", "Get 22 = trumpet_B5_025_mezzo-forte_normal.mp3\n", "Get 23 = trumpet_F3_025_forte_normal.mp3\n", "Get 24 = trumpet_D4_15_pianissimo_normal.mp3\n", "Get 25 = trumpet_E4_15_pianissimo_normal.mp3\n", "Get 26 = trumpet_Cs4_15_pianissimo_normal.mp3\n", "Get 27 = trumpet_D4_05_pianissimo_normal.mp3\n", "Get 28 = trumpet_E6_025_forte_normal.mp3\n", "Get 29 = trumpet_Ds6_025_forte_normal.mp3\n", "Get 30 = trumpet_E3_025_pianissimo_normal.mp3\n", "Get 31 = trumpet_B5_025_forte_normal.mp3\n", "Get 32 = trumpet_C6_025_forte_normal.mp3\n", "Get 33 = trumpet_D4_05_forte_normal.mp3\n", "Get 34 = trumpet_As4_025_forte_normal.mp3\n", "Get 35 = trumpet_F4_025_pianissimo_normal.mp3\n", "Get 36 = trumpet_A3_15_pianissimo_normal.mp3\n", "Get 37 = trumpet_Gs3_1_pianissimo_normal.mp3\n", "Get 38 = trumpet_Gs3_05_pianissimo_normal.mp3\n", "Get 39 = trumpet_F4_05_pianissimo_normal.mp3\n", "Get 40 = trumpet_D4_025_forte_normal.mp3\n", "Get 41 = trumpet_Cs4_1_pianissimo_normal.mp3\n", "Get 42 = trumpet_C4_025_forte_normal.mp3\n", "Get 43 = trumpet_C4_1_pianissimo_normal.mp3\n", "Get 44 = trumpet_A4_05_forte_normal.mp3\n", "Get 45 = trumpet_G3_15_pianissimo_normal.mp3\n", "Get 46 = trumpet_Cs4_05_forte_normal.mp3\n", "Get 47 = trumpet_Gs3_15_pianissimo_normal.mp3\n", "Get 48 = trumpet_B3_1_pianissimo_normal.mp3\n", "Get 49 = trumpet_As5_05_forte_normal.mp3\n", "Get 50 = trumpet_Ds4_1_pianissimo_normal.mp3\n", "Get 51 = trumpet_Gs3_025_pianissimo_normal.mp3\n", "Get 52 = trumpet_C4_05_pianissimo_normal.mp3\n", "Get 53 = trumpet_Ds4_05_forte_normal.mp3\n", "Get 54 = trumpet_E3_15_pianissimo_normal.mp3\n", "Get 55 = trumpet_Gs3_05_forte_normal.mp3\n", "Get 56 = trumpet_As3_15_pianissimo_normal.mp3\n", "Get 57 = trumpet_B4_025_forte_normal.mp3\n", "Get 58 = trumpet_As5_05_mezzo-forte_normal.mp3\n", "Get 59 = trumpet_E4_1_pianissimo_normal.mp3\n", "Get 60 = trumpet_F3_05_forte_normal.mp3\n", "Get 61 = trumpet_Gs3_1_forte_normal.mp3\n", "Get 62 = trumpet_Ds6_05_forte_normal.mp3\n", "Get 63 = trumpet_D6_025_forte_normal.mp3\n", "Get 64 = trumpet_Gs5_05_forte_normal.mp3\n", "Get 65 = trumpet_Gs5_025_forte_normal.mp3\n", "Get 66 = trumpet_B3_05_pianissimo_normal.mp3\n", "Get 67 = trumpet_A5_025_mezzo-forte_normal.mp3\n", "Get 68 = trumpet_Gs4_025_forte_normal.mp3\n", "Get 69 = trumpet_A4_025_forte_normal.mp3\n", "Get 70 = trumpet_D4_025_pianissimo_normal.mp3\n", "Get 71 = trumpet_E4_05_pianissimo_normal.mp3\n", "Get 72 = trumpet_F3_15_pianissimo_normal.mp3\n", "Get 73 = trumpet_D5_05_forte_normal.mp3\n", "Get 74 = trumpet_Ds5_05_forte_normal.mp3\n", "Get 75 = trumpet_As5_025_forte_normal.mp3\n", "Get 76 = trumpet_A3_1_pianissimo_normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 77 = trumpet_As3_025_forte_normal.mp3\n", "Get 78 = trumpet_G3_05_pianissimo_normal.mp3\n", "Get 79 = trumpet_C6_05_forte_normal.mp3\n", "Get 80 = trumpet_A3_025_pianissimo_normal.mp3\n", "Get 81 = trumpet_C4_025_pianissimo_normal.mp3\n", "Get 82 = trumpet_F3_1_forte_normal.mp3\n", "Get 83 = trumpet_B3_15_pianissimo_normal.mp3\n", "Get 84 = trumpet_G5_15_mezzo-forte_normal.mp3\n", "Get 85 = trumpet_A5_025_forte_normal.mp3\n", "Get 86 = trumpet_Cs4_025_pianissimo_normal.mp3\n", "Get 87 = trumpet_As3_025_pianissimo_normal.mp3\n", "Get 88 = trumpet_F3_1_pianissimo_normal.mp3\n", "Get 89 = trumpet_D4_1_pianissimo_normal.mp3\n", "Get 90 = trumpet_Gs5_025_mezzo-forte_normal.mp3\n", "Get 91 = trumpet_G3_1_pianissimo_normal.mp3\n", "Get 92 = trumpet_E3_05_pianissimo_normal.mp3\n", "Get 93 = trumpet_A5_05_mezzo-forte_normal.mp3\n", "Get 94 = trumpet_G5_05_mezzo-forte_normal.mp3\n", "Get 95 = trumpet_C4_05_forte_normal.mp3\n", "Get 96 = trumpet_E3_1_pianissimo_normal.mp3\n", "Get 97 = trumpet_B3_025_pianissimo_normal.mp3\n", "Get 98 = trumpet_F3_025_pianissimo_normal.mp3\n", "Get 99 = trumpet_Gs4_05_forte_normal.mp3\n", "Get 100 = trumpet_E3_1_forte_normal.mp3\n", "Get 1 = flute_Gs5_1_piano_normal.mp3\n", "Get 2 = flute_A5_1_piano_normal.mp3\n", "Get 3 = flute_Gs4_025_mezzo-piano_normal.mp3\n", "Get 4 = flute_A6_05_pianissimo_normal.mp3\n", "Get 5 = flute_A5_025_pianissimo_normal.mp3\n", "Get 6 = flute_A4_15_mezzo-piano_normal.mp3\n", "Get 7 = flute_A5_05_forte_normal.mp3\n", "Get 8 = flute_Gs5_15_mezzo-forte_normal.mp3\n", "Get 9 = flute_Gs5_1_mezzo-forte_normal.mp3\n", "Get 10 = flute_A5_05_mezzo-piano_normal.mp3\n", "Get 11 = flute_Gs5_025_mezzo-piano_normal.mp3\n", "Get 12 = flute_Gs4_05_pianissimo_normal.mp3\n", "Get 13 = flute_Gs5_15_piano_normal.mp3\n", "Get 14 = flute_Gs6_1_mezzo-forte_normal.mp3\n", "Get 15 = flute_Gs6_15_piano_normal.mp3\n", "Get 16 = flute_Gs5_025_piano_normal.mp3\n", "Get 17 = flute_A4_025_mezzo-piano_normal.mp3\n", "Get 18 = flute_A4_05_mezzo-forte_normal.mp3\n", "Get 19 = flute_Gs6_025_piano_normal.mp3\n", "Get 20 = flute_Gs4_15_mezzo-forte_normal.mp3\n", "Get 21 = flute_Gs6_1_forte_normal.mp3\n", "Get 22 = flute_A6_05_piano_normal.mp3\n", "Get 23 = flute_Gs4_15_mezzo-piano_normal.mp3\n", "Get 24 = flute_A5_15_forte_normal.mp3\n", "Get 25 = flute_A4_025_piano_normal.mp3\n", "Get 26 = flute_A4_1_mezzo-forte_normal.mp3\n", "Get 27 = flute_Gs6_15_mezzo-forte_normal.mp3\n", "Get 28 = flute_A6_15_forte_normal.mp3\n", "Get 29 = flute_Gs4_025_pianissimo_normal.mp3\n", "Get 30 = flute_A5_025_forte_normal.mp3\n", "Get 31 = flute_A5_05_pianissimo_normal.mp3\n", "Get 32 = flute_Gs5_05_piano_normal.mp3\n", "Get 33 = flute_A6_1_fortissimo_minor-trill.mp3\n", "Get 34 = flute_Gs4_05_forte_normal.mp3\n", "Get 35 = flute_Gs6_1_pianissimo_normal.mp3\n", "Get 36 = flute_Gs6_025_pianissimo_normal.mp3\n", "Get 37 = flute_A4_05_mezzo-piano_normal.mp3\n", "Get 38 = flute_A5_025_piano_normal.mp3\n", "Get 39 = flute_A6_1_forte_normal.mp3\n", "Get 40 = flute_Gs4_05_mezzo-forte_normal.mp3\n", "Get 41 = flute_Gs4_025_forte_normal.mp3\n", "Get 42 = flute_A5_1_pianissimo_normal.mp3\n", "Get 43 = flute_A6_1_mezzo-forte_normal.mp3\n", "Get 44 = flute_Gs4_15_piano_normal.mp3\n", "Get 45 = flute_Gs5_05_forte_normal.mp3\n", "Get 46 = flute_Gs5_05_mezzo-forte_normal.mp3\n", "Get 47 = flute_Gs6_15_forte_normal.mp3\n", "Get 48 = flute_A4_15_forte_normal.mp3\n", "Get 49 = flute_A5_15_pianissimo_normal.mp3\n", "Get 50 = flute_Gs5_15_mezzo-piano_normal.mp3\n", "Get 51 = flute_A4_15_pianissimo_normal.mp3\n", "Get 52 = flute_A6_05_forte_normal.mp3\n", "Get 53 = flute_A4_15_piano_normal.mp3\n", "Get 54 = flute_A5_15_mezzo-forte_normal.mp3\n", "Get 55 = flute_A4_1_mezzo-piano_normal.mp3\n", "Get 56 = flute_A5_15_mezzo-piano_normal.mp3\n", "Get 57 = flute_A5_1_forte_normal.mp3\n", "Get 58 = flute_Gs5_1_mezzo-piano_normal.mp3\n", "Get 59 = flute_Gs5_025_mezzo-forte_normal.mp3\n", "Get 60 = flute_Gs5_025_pianissimo_normal.mp3\n", "Get 61 = flute_Gs6_05_mezzo-forte_normal.mp3\n", "Get 62 = flute_A4_025_pianissimo_normal.mp3\n", "Get 63 = flute_Gs5_15_forte_normal.mp3\n", "Get 64 = flute_A5_1_mezzo-forte_normal.mp3\n", "Get 65 = flute_Gs6_05_piano_normal.mp3\n", "Get 66 = flute_A4_05_forte_normal.mp3\n", "Get 67 = flute_A5_15_piano_normal.mp3\n", "Get 68 = flute_A4_15_mezzo-forte_normal.mp3\n", "Get 69 = flute_Gs6_025_forte_normal.mp3\n", "Get 70 = flute_A4_05_pianissimo_normal.mp3\n", "Get 71 = flute_Gs6_15_pianissimo_normal.mp3\n", "Get 72 = flute_Gs4_025_piano_normal.mp3\n", "Get 73 = flute_Gs4_05_mezzo-piano_normal.mp3\n", "Get 74 = flute_Gs4_025_mezzo-forte_normal.mp3\n", "Get 75 = flute_Gs6_05_pianissimo_normal.mp3\n", "Get 76 = flute_A6_1_piano_normal.mp3\n", "Get 77 = flute_Gs4_15_forte_normal.mp3\n", "Get 78 = flute_A5_025_mezzo-piano_normal.mp3\n", "Get 79 = flute_A5_05_piano_normal.mp3\n", "Get 80 = flute_Gs6_025_mezzo-forte_normal.mp3\n", "Get 81 = flute_Gs4_05_piano_normal.mp3\n", "Get 82 = flute_Gs5_1_pianissimo_normal.mp3\n", "Get 83 = flute_Gs6_1_piano_normal.mp3\n", "Get 84 = flute_Gs5_05_pianissimo_normal.mp3\n", "Get 85 = flute_A4_025_forte_normal.mp3\n", "Get 86 = flute_A4_1_pianissimo_normal.mp3\n", "Get 87 = flute_A6_1_pianissimo_normal.mp3\n", "Get 88 = flute_A4_1_forte_normal.mp3\n", "Get 89 = flute_A5_1_mezzo-piano_normal.mp3\n", "Get 90 = flute_A4_025_mezzo-forte_normal.mp3\n", "Get 91 = flute_Gs6_05_forte_normal.mp3\n", "Get 92 = flute_A5_025_mezzo-forte_normal.mp3\n", "Get 93 = flute_A4_1_piano_normal.mp3\n", "Get 94 = flute_A5_05_mezzo-forte_normal.mp3\n", "Get 95 = flute_A6_05_mezzo-forte_normal.mp3\n", "Get 96 = flute_Gs5_05_mezzo-piano_normal.mp3\n", "Get 97 = flute_Gs5_1_forte_normal.mp3\n", "Get 98 = flute_A4_05_piano_normal.mp3\n", "Get 99 = flute_Gs5_025_forte_normal.mp3\n", "Get 100 = flute_Gs4_15_pianissimo_normal.mp3\n", "Get 1 = cello_Gs5_025_mezzo-piano_arco-normal.mp3\n", "Get 2 = cello_Gs5_15_forte_arco-normal.mp3\n", "Get 3 = cello_A2_05_pianissimo_arco-normal.mp3\n", "Get 4 = cello_Gs4_05_pianissimo_arco-normal.mp3\n", "Get 5 = cello_A2_1_fortissimo_arco-normal.mp3\n", "Get 6 = cello_A3_025_pianissimo_arco-normal.mp3\n", "Get 7 = cello_Gs5_05_forte_arco-normal.mp3\n", "Get 8 = cello_A3_1_mezzo-piano_non-vibrato.mp3\n", "Get 9 = cello_A2_1_forte_arco-normal.mp3\n", "Get 10 = cello_Gs4_15_pianissimo_arco-normal.mp3\n", "Get 11 = cello_Gs4_025_forte_arco-normal.mp3\n", "Get 12 = cello_A3_05_fortissimo_arco-normal.mp3\n", "Get 13 = cello_Gs5_05_fortissimo_arco-normal.mp3\n", "Get 14 = cello_A3_1_pianissimo_arco-normal.mp3\n", "Get 15 = cello_A3_05_forte_arco-normal.mp3\n", "Get 16 = cello_Gs3_1_forte_arco-normal.mp3\n", "Get 17 = cello_A4_05_mezzo-piano_arco-normal.mp3\n", "Get 18 = cello_Gs3_1_mezzo-piano_arco-normal.mp3\n", "Get 19 = cello_Gs3_025_mezzo-piano_arco-normal.mp3\n", "Get 20 = cello_Gs5_1_forte_arco-normal.mp3\n", "Get 21 = cello_Gs3_025_fortissimo_arco-normal.mp3\n", "Get 22 = cello_Gs4_05_forte_arco-normal.mp3\n", "Get 23 = cello_Gs4_025_fortissimo_arco-normal.mp3\n", "Get 24 = cello_A3_15_mezzo-piano_arco-normal.mp3\n", "Get 25 = cello_A3_1_mezzo-piano_arco-normal.mp3\n", "Get 26 = cello_Gs3_15_fortissimo_arco-normal.mp3\n", "Get 27 = cello_Gs5_05_pianissimo_arco-normal.mp3\n", "Get 28 = cello_A4_025_mezzo-piano_arco-normal.mp3\n", "Get 29 = cello_Gs4_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 30 = cello_A2_05_fortissimo_arco-normal.mp3\n", "Get 31 = cello_Gs3_025_forte_arco-normal.mp3\n", "Get 32 = cello_Gs4_1_fortissimo_arco-normal.mp3\n", "Get 33 = cello_Gs5_1_mezzo-piano_arco-normal.mp3\n", "Get 34 = cello_Gs3_05_forte_arco-normal.mp3\n", "Get 35 = cello_Gs5_15_pianissimo_arco-normal.mp3\n", "Get 36 = cello_Gs5_15_fortissimo_arco-normal.mp3\n", "Get 37 = cello_Gs3_15_piano_arco-normal.mp3\n", "Get 38 = cello_A3_1_fortissimo_arco-normal.mp3\n", "Get 39 = cello_Gs3_15_pianissimo_arco-normal.mp3\n", "Get 40 = cello_Gs5_025_forte_arco-normal.mp3\n", "Get 41 = cello_Gs3_05_mezzo-piano_arco-normal.mp3\n", "Get 42 = cello_A3_1_mezzo-piano_arco-minor-trill.mp3\n", "Get 43 = cello_A4_1_mezzo-forte_arco-harmonic.mp3\n", "Get 44 = cello_A4_025_pianissimo_arco-normal.mp3\n", "Get 45 = cello_A2_025_mezzo-piano_arco-normal.mp3\n", "Get 46 = cello_Gs4_1_forte_arco-normal.mp3\n", "Get 47 = cello_Gs3_025_pianissimo_arco-normal.mp3\n", "Get 48 = cello_Gs5_15_mezzo-piano_arco-normal.mp3\n", "Get 49 = cello_A3_05_mezzo-piano_arco-normal.mp3\n", "Get 50 = cello_A3_025_fortissimo_arco-normal.mp3\n", "Get 51 = cello_Gs5_1_mezzo-forte_arco-harmonic.mp3\n", "Get 52 = cello_Gs5_05_mezzo-piano_arco-normal.mp3\n", "Get 53 = cello_A4_025_fortissimo_arco-normal.mp3\n", "Get 54 = cello_Gs5_025_fortissimo_arco-normal.mp3\n", "Get 55 = cello_A4_1_mezzo-piano_arco-normal.mp3\n", "Get 56 = cello_A4_1_forte_arco-normal.mp3\n", "Get 57 = cello_Gs4_05_mezzo-piano_arco-normal.mp3\n", "Get 58 = cello_A4_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 59 = cello_A4_1_mezzo-piano_arco-minor-trill.mp3\n", "Get 60 = cello_Gs4_1_mezzo-piano_arco-normal.mp3\n", "Get 61 = cello_A4_025_forte_arco-normal.mp3\n", "Get 62 = cello_Gs5_025_pianissimo_arco-normal.mp3\n", "Get 63 = cello_A2_05_mezzo-piano_arco-normal.mp3\n", "Get 64 = cello_A4_15_mezzo-piano_arco-normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 65 = cello_Gs4_025_mezzo-piano_arco-normal.mp3\n", "Get 66 = cello_A4_05_forte_arco-normal.mp3\n", "Get 67 = cello_A2_15_forte_arco-normal.mp3\n", "Get 68 = cello_Gs3_15_forte_arco-normal.mp3\n", "Get 69 = cello_Gs4_1_pianissimo_arco-normal.mp3\n", "Get 70 = cello_Gs4_15_mezzo-piano_arco-normal.mp3\n", "Get 71 = cello_A3_025_mezzo-piano_arco-normal.mp3\n", "Get 72 = cello_A3_15_forte_arco-normal.mp3\n", "Get 73 = cello_A2_15_pianissimo_arco-normal.mp3\n", "Get 74 = cello_Gs5_1_fortissimo_arco-normal.mp3\n", "Get 75 = cello_A2_025_pianissimo_arco-normal.mp3\n", "Get 76 = cello_A2_1_pianissimo_arco-normal.mp3\n", "Get 77 = cello_Gs4_05_fortissimo_arco-normal.mp3\n", "Get 78 = cello_A4_1_fortissimo_arco-normal.mp3\n", "Get 79 = cello_Gs3_05_pianissimo_arco-normal.mp3\n", "Get 80 = cello_A3_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 81 = cello_Gs4_025_pianissimo_arco-normal.mp3\n", "Get 82 = cello_A2_1_mezzo-piano_non-vibrato.mp3\n", "Get 83 = cello_A4_1_mezzo-piano_molto-vibrato.mp3\n", "Get 84 = cello_Gs4_15_forte_arco-normal.mp3\n", "Get 85 = cello_Gs3_1_pianissimo_arco-normal.mp3\n", "Get 86 = cello_Gs5_1_pianissimo_arco-normal.mp3\n", "Get 87 = cello_A4_15_forte_arco-normal.mp3\n", "Get 88 = cello_A2_025_forte_arco-normal.mp3\n", "Get 89 = cello_A2_025_fortissimo_arco-normal.mp3\n", "Get 90 = cello_A2_15_piano_arco-normal.mp3\n", "Get 91 = cello_A2_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 92 = cello_A2_05_forte_arco-normal.mp3\n", "Get 93 = cello_A4_1_pianissimo_arco-normal.mp3\n", "Get 94 = cello_Gs4_15_fortissimo_arco-normal.mp3\n", "Get 95 = cello_A3_1_forte_arco-normal.mp3\n", "Get 96 = cello_Gs3_05_fortissimo_arco-normal.mp3\n", "Get 97 = cello_Gs2_025_pianissimo_arco-normal.mp3\n", "Get 98 = cello_A3_025_forte_arco-normal.mp3\n", "Get 99 = cello_A2_1_mezzo-piano_arco-normal.mp3\n", "Get 100 = cello_A4_05_pianissimo_arco-normal.mp3\n", "found 600 audio files in ./audio/london_phill_dataset_multi/\n" ] } ], "source": [ "#Find Audio Files\n", "files = []\n", "labels =[]\n", "duration = []\n", "classes=['flute','sax','oboe', 'cello','trumpet','viola']\n", "for root, dirnames, filenames in os.walk(path):\n", " for i, filename in enumerate(fnmatch.filter(filenames, '*.mp3')):\n", " files.append(os.path.join(root, filename))\n", " for name in classes:\n", " if fnmatch.fnmatchcase(filename, '*'+name+'*'):\n", " labels.append(name)\n", " break\n", " else:\n", " labels.append('other')\n", " print (\"Get %d = %s\"%(i+1, filename))\n", " try:\n", " y, sr = librosa.load(files[i], sr=fs)\n", " if len(y) < 2:\n", " print(\"Error loading %s\" % filename)\n", " continue\n", " #y/=y.max() #Normalize\n", " yt, index = librosa.effects.trim(y,top_db=60) #Trim\n", " duration.append(librosa.get_duration(yt, sr=fs))\n", " except Exception as e:\n", " print(\"Error loading %s. Error: %s\" % (filename,e))\n", "\n", "\n", "print(\"found %d audio files in %s\"%(len(files),path))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Max. Duration: 3.2536961451247164\n", "Min. Duration: 0.3657142857142857\n", "Average Duration: 1.082833560090703\n" ] } ], "source": [ "print(\"Max. Duration:\", max(duration))\n", "print(\"Min. Duration:\", min(duration))\n", "print(\"Average Duration:\", np.mean(duration))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Trim Silence and Recalculate Duration" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Get 1 ./audio/london_phill_dataset_multi/viola/viola_Gs4_025_pianissimo_arco-normal.mp3\n", "Get 2 ./audio/london_phill_dataset_multi/viola/viola_A4_1_fortissimo_snap-pizz.mp3\n", "Get 3 ./audio/london_phill_dataset_multi/viola/viola_A3_1_piano_pizz-normal.mp3\n", "Get 4 ./audio/london_phill_dataset_multi/viola/viola_Gs4_05_pianissimo_arco-normal.mp3\n", "Get 5 ./audio/london_phill_dataset_multi/viola/viola_Gs3_025_fortissimo_arco-normal.mp3\n", "Get 6 ./audio/london_phill_dataset_multi/viola/viola_A3_1_piano_arco-normal.mp3\n", "Get 7 ./audio/london_phill_dataset_multi/viola/viola_A4_025_piano_arco-normal.mp3\n", "Get 8 ./audio/london_phill_dataset_multi/viola/viola_A3_025_mezzo-piano_arco-normal.mp3\n", "Get 9 ./audio/london_phill_dataset_multi/viola/viola_Gs4_15_mezzo-piano_arco-normal.mp3\n", "Get 10 ./audio/london_phill_dataset_multi/viola/viola_A5_1_fortissimo_arco-normal.mp3\n", "Get 11 ./audio/london_phill_dataset_multi/viola/viola_Gs4_1_mezzo-piano_arco-normal.mp3\n", "Get 12 ./audio/london_phill_dataset_multi/viola/viola_Gs5_05_fortissimo_arco-normal.mp3\n", "Get 13 ./audio/london_phill_dataset_multi/viola/viola_Gs5_1_fortissimo_snap-pizz.mp3\n", "Get 14 ./audio/london_phill_dataset_multi/viola/viola_Gs5_025_mezzo-piano_arco-normal.mp3\n", "Get 15 ./audio/london_phill_dataset_multi/viola/viola_A3_1_fortissimo_arco-normal.mp3\n", "Get 16 ./audio/london_phill_dataset_multi/viola/viola_A4_15_fortissimo_arco-normal.mp3\n", "Get 17 ./audio/london_phill_dataset_multi/viola/viola_A4_05_forte_arco-normal.mp3\n", "Get 18 ./audio/london_phill_dataset_multi/viola/viola_A5_1_pianissimo_arco-normal.mp3\n", "Get 19 ./audio/london_phill_dataset_multi/viola/viola_A4_1_piano_arco-normal.mp3\n", "Get 20 ./audio/london_phill_dataset_multi/viola/viola_A3_025_fortissimo_arco-normal.mp3\n", "Get 21 ./audio/london_phill_dataset_multi/viola/viola_Gs6_025_pianissimo_arco-normal.mp3\n", "Get 22 ./audio/london_phill_dataset_multi/viola/viola_Gs6_05_fortissimo_arco-normal.mp3\n", "Get 23 ./audio/london_phill_dataset_multi/viola/viola_Gs6_05_pianissimo_arco-normal.mp3\n", "Get 24 ./audio/london_phill_dataset_multi/viola/viola_Gs4_025_mezzo-piano_arco-normal.mp3\n", "Get 25 ./audio/london_phill_dataset_multi/viola/viola_Gs5_1_fortissimo_arco-normal.mp3\n", "Get 26 ./audio/london_phill_dataset_multi/viola/viola_A3_1_forte_arco-normal.mp3\n", "Get 27 ./audio/london_phill_dataset_multi/viola/viola_Gs3_15_fortissimo_arco-normal.mp3\n", "Get 28 ./audio/london_phill_dataset_multi/viola/viola_Gs4_025_fortissimo_arco-normal.mp3\n", "Get 29 ./audio/london_phill_dataset_multi/viola/viola_Gs6_05_piano_arco-normal.mp3\n", "Get 30 ./audio/london_phill_dataset_multi/viola/viola_Gs4_15_pianissimo_arco-normal.mp3\n", "Get 31 ./audio/london_phill_dataset_multi/viola/viola_A4_05_fortissimo_arco-normal.mp3\n", "Get 32 ./audio/london_phill_dataset_multi/viola/viola_A5_1_mezzo-forte_artificial-harmonic.mp3\n", "Get 33 ./audio/london_phill_dataset_multi/viola/viola_Gs5_05_piano_arco-normal.mp3\n", "Get 34 ./audio/london_phill_dataset_multi/viola/viola_A4_1_mezzo-forte_arco-major-trill.mp3\n", "Get 35 ./audio/london_phill_dataset_multi/viola/viola_Gs3_025_piano_arco-normal.mp3\n", "Get 36 ./audio/london_phill_dataset_multi/viola/viola_Gs4_1_piano_arco-normal.mp3\n", "Get 37 ./audio/london_phill_dataset_multi/viola/viola_Gs5_15_fortissimo_arco-normal.mp3\n", "Get 38 ./audio/london_phill_dataset_multi/viola/viola_A4_05_pianissimo_arco-normal.mp3\n", "Get 39 ./audio/london_phill_dataset_multi/viola/viola_A4_05_piano_arco-normal.mp3\n", "Get 40 ./audio/london_phill_dataset_multi/viola/viola_Ds3_1_piano_pizz-normal.mp3\n", "Get 41 ./audio/london_phill_dataset_multi/viola/viola_A3_1_pianissimo_arco-normal.mp3\n", "Get 42 ./audio/london_phill_dataset_multi/viola/viola_A3_15_fortissimo_arco-normal.mp3\n", "Get 43 ./audio/london_phill_dataset_multi/viola/viola_A5_1_forte_arco-normal.mp3\n", "Get 44 ./audio/london_phill_dataset_multi/viola/viola_Gs3_025_mezzo-piano_arco-normal.mp3\n", "Get 45 ./audio/london_phill_dataset_multi/viola/viola_Gs5_15_pianissimo_arco-normal.mp3\n", "Get 46 ./audio/london_phill_dataset_multi/viola/viola_A3_05_fortissimo_arco-normal.mp3\n", "Get 47 ./audio/london_phill_dataset_multi/viola/viola_Ds3_05_mezzo-piano_arco-normal.mp3\n", "Get 48 ./audio/london_phill_dataset_multi/viola/viola_Gs6_1_pianissimo_arco-normal.mp3\n", "Get 49 ./audio/london_phill_dataset_multi/viola/viola_Gs3_15_pianissimo_arco-normal.mp3\n", "Get 50 ./audio/london_phill_dataset_multi/viola/viola_A3_1_mezzo-forte_molto-vibrato.mp3\n", "Get 51 ./audio/london_phill_dataset_multi/viola/viola_Gs6_025_fortissimo_arco-normal.mp3\n", "Get 52 ./audio/london_phill_dataset_multi/viola/viola_A3_1_fortissimo_pizz-normal.mp3\n", "Get 53 ./audio/london_phill_dataset_multi/viola/viola_Gs6_1_fortissimo_arco-normal.mp3\n", "Get 54 ./audio/london_phill_dataset_multi/viola/viola_A3_15_piano_arco-normal.mp3\n", "Get 55 ./audio/london_phill_dataset_multi/viola/viola_A4_1_mezzo-forte_arco-minor-trill.mp3\n", "Get 56 ./audio/london_phill_dataset_multi/viola/viola_A4_1_fortissimo_arco-normal.mp3\n", "Get 57 ./audio/london_phill_dataset_multi/viola/viola_A3_025_piano_arco-normal.mp3\n", "Get 58 ./audio/london_phill_dataset_multi/viola/viola_A3_05_pianissimo_arco-normal.mp3\n", "Get 59 ./audio/london_phill_dataset_multi/viola/viola_A4_1_piano_pizz-normal.mp3\n", "Get 60 ./audio/london_phill_dataset_multi/viola/viola_A3_1_piano_arco-glissando.mp3\n", "Get 61 ./audio/london_phill_dataset_multi/viola/viola_A4_1_pianissimo_arco-normal.mp3\n", "Get 62 ./audio/london_phill_dataset_multi/viola/viola_Gs6_1_forte_arco-normal.mp3\n", "Get 63 ./audio/london_phill_dataset_multi/viola/viola_Gs5_05_forte_arco-normal.mp3\n", "Get 64 ./audio/london_phill_dataset_multi/viola/viola_A4_1_forte_arco-normal.mp3\n", "Get 65 ./audio/london_phill_dataset_multi/viola/viola_A3_05_piano_arco-normal.mp3\n", "Get 66 ./audio/london_phill_dataset_multi/viola/viola_Gs5_05_pianissimo_arco-normal.mp3\n", "Get 67 ./audio/london_phill_dataset_multi/viola/viola_Gs4_1_fortissimo_arco-normal.mp3\n", "Get 68 ./audio/london_phill_dataset_multi/viola/viola_Gs5_025_fortissimo_arco-normal.mp3\n", "Get 69 ./audio/london_phill_dataset_multi/viola/viola_Gs5_025_pianissimo_arco-normal.mp3\n", "Get 70 ./audio/london_phill_dataset_multi/viola/viola_Gs5_1_piano_arco-normal.mp3\n", "Get 71 ./audio/london_phill_dataset_multi/viola/viola_Gs3_025_pianissimo_arco-normal.mp3\n", "Get 72 ./audio/london_phill_dataset_multi/viola/viola_Gs4_1_pianissimo_arco-normal.mp3\n", "Get 73 ./audio/london_phill_dataset_multi/viola/viola_A4_1_mezzo-piano_non-vibrato.mp3\n", "Get 74 ./audio/london_phill_dataset_multi/viola/viola_Gs4_05_mezzo-piano_arco-normal.mp3\n", "Get 75 ./audio/london_phill_dataset_multi/viola/viola_A4_025_mezzo-piano_arco-normal.mp3\n", "Get 76 ./audio/london_phill_dataset_multi/viola/viola_A4_025_pianissimo_arco-normal.mp3\n", "Get 77 ./audio/london_phill_dataset_multi/viola/viola_A4_15_piano_arco-normal.mp3\n", "Get 78 ./audio/london_phill_dataset_multi/viola/viola_Gs6_05_forte_arco-normal.mp3\n", "Get 79 ./audio/london_phill_dataset_multi/viola/viola_Gs6_15_fortissimo_arco-normal.mp3\n", "Get 80 ./audio/london_phill_dataset_multi/viola/viola_Gs6_025_forte_arco-normal.mp3\n", "Get 81 ./audio/london_phill_dataset_multi/viola/viola_A4_15_pianissimo_arco-normal.mp3\n", "Get 82 ./audio/london_phill_dataset_multi/viola/viola_Gs3_15_piano_arco-normal.mp3\n", "Get 83 ./audio/london_phill_dataset_multi/viola/viola_A3_05_mezzo-piano_arco-normal.mp3\n", "Get 84 ./audio/london_phill_dataset_multi/viola/viola_Gs6_025_mezzo-piano_arco-normal.mp3\n", "Get 85 ./audio/london_phill_dataset_multi/viola/viola_Gs6_15_forte_arco-normal.mp3\n", "Get 86 ./audio/london_phill_dataset_multi/viola/viola_Gs4_15_fortissimo_arco-normal.mp3\n", "Get 87 ./audio/london_phill_dataset_multi/viola/viola_A4_025_fortissimo_arco-normal.mp3\n", "Get 88 ./audio/london_phill_dataset_multi/viola/viola_Ds3_05_fortissimo_arco-normal.mp3\n", "Get 89 ./audio/london_phill_dataset_multi/viola/viola_A4_05_mezzo-piano_arco-normal.mp3\n", "Get 90 ./audio/london_phill_dataset_multi/viola/viola_Gs5_1_pianissimo_arco-normal.mp3\n", "Get 91 ./audio/london_phill_dataset_multi/viola/viola_Gs4_05_fortissimo_arco-normal.mp3\n", "Get 92 ./audio/london_phill_dataset_multi/viola/viola_Gs6_025_piano_arco-normal.mp3\n", "Get 93 ./audio/london_phill_dataset_multi/viola/viola_A4_1_mezzo-forte_molto-vibrato.mp3\n", "Get 94 ./audio/london_phill_dataset_multi/viola/viola_A3_15_forte_arco-normal.mp3\n", "Get 95 ./audio/london_phill_dataset_multi/viola/viola_Gs5_025_forte_arco-normal.mp3\n", "Get 96 ./audio/london_phill_dataset_multi/viola/viola_A3_025_pianissimo_arco-normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 97 ./audio/london_phill_dataset_multi/viola/viola_Gs4_05_piano_arco-normal.mp3\n", "Get 98 ./audio/london_phill_dataset_multi/viola/viola_A3_1_mezzo-piano_non-vibrato.mp3\n", "Get 99 ./audio/london_phill_dataset_multi/viola/viola_A4_1_piano_arco-glissando.mp3\n", "Get 100 ./audio/london_phill_dataset_multi/viola/viola_Gs5_1_forte_arco-normal.mp3\n", "Get 101 ./audio/london_phill_dataset_multi/sax/saxophone_A4_1_piano_normal.mp3\n", "Get 102 ./audio/london_phill_dataset_multi/sax/saxophone_A4_1_mezzo-forte_normal.mp3\n", "Get 103 ./audio/london_phill_dataset_multi/sax/saxophone_A3_1_piano_normal.mp3\n", "Get 104 ./audio/london_phill_dataset_multi/sax/saxophone_A3_1_fortissimo_normal.mp3\n", "Get 105 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_025_fortissimo_normal.mp3\n", "Get 106 ./audio/london_phill_dataset_multi/sax/saxophone_A5_05_fortissimo_normal.mp3\n", "Get 107 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_05_fortissimo_normal.mp3\n", "Get 108 ./audio/london_phill_dataset_multi/sax/saxophone_A3_05_pianissimo_normal.mp3\n", "Get 109 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_15_forte_normal.mp3\n", "Get 110 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_05_pianissimo_normal.mp3\n", "Get 111 ./audio/london_phill_dataset_multi/sax/saxophone_A4_05_fortissimo_normal.mp3\n", "Get 112 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_025_fortissimo_normal.mp3\n", "Get 113 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_05_piano_normal.mp3\n", "Get 114 ./audio/london_phill_dataset_multi/sax/saxophone_A5_1_forte_normal.mp3\n", "Get 115 ./audio/london_phill_dataset_multi/sax/saxophone_A3_025_fortissimo_normal.mp3\n", "Get 116 ./audio/london_phill_dataset_multi/sax/saxophone_A3_15_fortissimo_normal.mp3\n", "Get 117 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_05_mezzo-piano_normal.mp3\n", "Get 118 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_025_fortissimo_normal.mp3\n", "Get 119 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_05_piano_normal.mp3\n", "Get 120 ./audio/london_phill_dataset_multi/sax/saxophone_A3_025_mezzo-piano_normal.mp3\n", "Get 121 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_05_piano_normal.mp3\n", "Get 122 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_025_forte_normal.mp3\n", "Get 123 ./audio/london_phill_dataset_multi/sax/saxophone_A4_15_forte_normal.mp3\n", "Get 124 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_15_pianissimo_normal.mp3\n", "Get 125 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_1_pianissimo_normal.mp3\n", "Get 126 ./audio/london_phill_dataset_multi/sax/saxophone_Ds5_1_forte_major-trill.mp3\n", "Get 127 ./audio/london_phill_dataset_multi/sax/saxophone_A3_025_pianissimo_normal.mp3\n", "Get 128 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_025_forte_normal.mp3\n", "Get 129 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_15_fortissimo_normal.mp3\n", "Get 130 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_025_mezzo-forte_normal.mp3\n", "Get 131 ./audio/london_phill_dataset_multi/sax/saxophone_A5_05_forte_normal.mp3\n", "Get 132 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_15_fortissimo_normal.mp3\n", "Get 133 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_025_forte_normal.mp3\n", "Get 134 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_05_pianissimo_normal.mp3\n", "Get 135 ./audio/london_phill_dataset_multi/sax/saxophone_A5_1_pianissimo_normal.mp3\n", "Get 136 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_05_forte_normal.mp3\n", "Get 137 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_025_pianissimo_normal.mp3\n", "Get 138 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_025_forte_normal.mp3\n", "Get 139 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_1_piano_normal.mp3\n", "Get 140 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_05_mezzo-forte_normal.mp3\n", "Get 141 ./audio/london_phill_dataset_multi/sax/saxophone_A5_15_pianissimo_normal.mp3\n", "Get 142 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_1_forte_normal.mp3\n", "Get 143 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_1_forte_normal.mp3\n", "Get 144 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_1_fortissimo_normal.mp3\n", "Get 145 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_025_piano_normal.mp3\n", "Get 146 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_1_piano_normal.mp3\n", "Get 147 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_025_fortissimo_normal.mp3\n", "Get 148 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_1_pianissimo_normal.mp3\n", "Get 149 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_05_fortissimo_normal.mp3\n", "Get 150 ./audio/london_phill_dataset_multi/sax/saxophone_A4_05_forte_normal.mp3\n", "Get 151 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_05_pianissimo_normal.mp3\n", "Get 152 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_15_piano_normal.mp3\n", "Get 153 ./audio/london_phill_dataset_multi/sax/saxophone_A4_025_fortissimo_normal.mp3\n", "Get 154 ./audio/london_phill_dataset_multi/sax/saxophone_A5_1_piano_normal.mp3\n", "Get 155 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_025_piano_normal.mp3\n", "Get 156 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_05_fortissimo_normal.mp3\n", "Get 157 ./audio/london_phill_dataset_multi/sax/saxophone_A5_15_forte_normal.mp3\n", "Get 158 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_05_forte_normal.mp3\n", "Get 159 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_05_piano_normal.mp3\n", "Get 160 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_1_piano_normal.mp3\n", "Get 161 ./audio/london_phill_dataset_multi/sax/saxophone_A5_05_piano_normal.mp3\n", "Get 162 ./audio/london_phill_dataset_multi/sax/saxophone_A3_15_pianissimo_normal.mp3\n", "Get 163 ./audio/london_phill_dataset_multi/sax/saxophone_A5_15_fortissimo_normal.mp3\n", "Get 164 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_1_pianissimo_normal.mp3\n", "Get 165 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_15_pianissimo_normal.mp3\n", "Get 166 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_05_pianissimo_subtone.mp3\n", "Get 167 ./audio/london_phill_dataset_multi/sax/saxophone_A5_05_pianissimo_normal.mp3\n", "Get 168 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_025_pianissimo_normal.mp3\n", "Get 169 ./audio/london_phill_dataset_multi/sax/saxophone_A3_05_fortissimo_normal.mp3\n", "Get 170 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_15_fortissimo_normal.mp3\n", "Get 171 ./audio/london_phill_dataset_multi/sax/saxophone_A4_05_piano_normal.mp3\n", "Get 172 ./audio/london_phill_dataset_multi/sax/saxophone_A4_15_piano_normal.mp3\n", "Get 173 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_05_mezzo-forte_normal.mp3\n", "Get 174 ./audio/london_phill_dataset_multi/sax/saxophone_A3_025_forte_normal.mp3\n", "Get 175 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_05_forte_normal.mp3\n", "Get 176 ./audio/london_phill_dataset_multi/sax/saxophone_A3_1_pianissimo_normal.mp3\n", "Get 177 ./audio/london_phill_dataset_multi/sax/saxophone_A4_025_piano_normal.mp3\n", "Get 178 ./audio/london_phill_dataset_multi/sax/saxophone_A4_1_pianissimo_normal.mp3\n", "Get 179 ./audio/london_phill_dataset_multi/sax/saxophone_A4_1_forte_normal.mp3\n", "Get 180 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_15_fortissimo_normal.mp3\n", "Get 181 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_05_mezzo-forte_slap-tongue.mp3\n", "Get 182 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_1_fortissimo_normal.mp3\n", "Get 183 ./audio/london_phill_dataset_multi/sax/saxophone_Gs5_15_forte_normal.mp3\n", "Get 184 ./audio/london_phill_dataset_multi/sax/saxophone_A4_1_fortissimo_normal.mp3\n", "Get 185 ./audio/london_phill_dataset_multi/sax/saxophone_A4_05_pianissimo_normal.mp3\n", "Get 186 ./audio/london_phill_dataset_multi/sax/saxophone_Ds4_05_fortissimo_normal.mp3\n", "Get 187 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_15_piano_normal.mp3\n", "Get 188 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_15_pianissimo_normal.mp3\n", "Get 189 ./audio/london_phill_dataset_multi/sax/saxophone_Ds5_1_forte_minor-trill.mp3\n", "Get 190 ./audio/london_phill_dataset_multi/sax/saxophone_A3_1_forte_normal.mp3\n", "Get 191 ./audio/london_phill_dataset_multi/sax/saxophone_A3_05_piano_normal.mp3\n", "Get 192 ./audio/london_phill_dataset_multi/sax/saxophone_A3_05_forte_normal.mp3\n", "Get 193 ./audio/london_phill_dataset_multi/sax/saxophone_A5_1_fortissimo_normal.mp3\n", "Get 194 ./audio/london_phill_dataset_multi/sax/saxophone_A4_025_forte_normal.mp3\n", "Get 195 ./audio/london_phill_dataset_multi/sax/saxophone_A3_05_mezzo-piano_normal.mp3\n", "Get 196 ./audio/london_phill_dataset_multi/sax/saxophone_A4_15_fortissimo_normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 197 ./audio/london_phill_dataset_multi/sax/saxophone_Gs3_025_mezzo-piano_normal.mp3\n", "Get 198 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_025_mezzo-forte_normal.mp3\n", "Get 199 ./audio/london_phill_dataset_multi/sax/saxophone_A3_15_forte_normal.mp3\n", "Get 200 ./audio/london_phill_dataset_multi/sax/saxophone_Gs4_05_pianissimo_normal.mp3\n", "Get 201 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_025_forte_normal.mp3\n", "Get 202 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_05_fortissimo_normal.mp3\n", "Get 203 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_05_forte_normal.mp3\n", "Get 204 ./audio/london_phill_dataset_multi/oboe/oboe_A4_025_fortissimo_normal.mp3\n", "Get 205 ./audio/london_phill_dataset_multi/oboe/oboe_A5_025_fortissimo_normal.mp3\n", "Get 206 ./audio/london_phill_dataset_multi/oboe/oboe_A5_15_forte_normal.mp3\n", "Get 207 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_15_forte_normal.mp3\n", "Get 208 ./audio/london_phill_dataset_multi/oboe/oboe_A5_15_fortissimo_normal.mp3\n", "Get 209 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_025_piano_normal.mp3\n", "Get 210 ./audio/london_phill_dataset_multi/oboe/oboe_A5_1_forte_minor-trill.mp3\n", "Get 211 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_1_piano_normal.mp3\n", "Get 212 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_025_piano_normal.mp3\n", "Get 213 ./audio/london_phill_dataset_multi/oboe/oboe_A4_1_fortissimo_normal.mp3\n", "Get 214 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_1_piano_normal.mp3\n", "Get 215 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_05_fortissimo_normal.mp3\n", "Get 216 ./audio/london_phill_dataset_multi/oboe/oboe_A4_15_piano_normal.mp3\n", "Get 217 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_025_forte_normal.mp3\n", "Get 218 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_15_piano_normal.mp3\n", "Get 219 ./audio/london_phill_dataset_multi/oboe/oboe_A6_05_piano_normal.mp3\n", "Get 220 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_1_mezzo-forte_normal.mp3\n", "Get 221 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_05_piano_normal.mp3\n", "Get 222 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_15_mezzo-forte_normal.mp3\n", "Get 223 ./audio/london_phill_dataset_multi/oboe/oboe_A4_025_forte_normal.mp3\n", "Get 224 ./audio/london_phill_dataset_multi/oboe/oboe_A5_05_fortissimo_normal.mp3\n", "Get 225 ./audio/london_phill_dataset_multi/oboe/oboe_As3_1_piano_normal.mp3\n", "Get 226 ./audio/london_phill_dataset_multi/oboe/oboe_A6_15_piano_normal.mp3\n", "Get 227 ./audio/london_phill_dataset_multi/oboe/oboe_A6_025_piano_normal.mp3\n", "Get 228 ./audio/london_phill_dataset_multi/oboe/oboe_As3_05_fortissimo_normal.mp3\n", "Get 229 ./audio/london_phill_dataset_multi/oboe/oboe_G6_025_forte_normal.mp3\n", "Get 230 ./audio/london_phill_dataset_multi/oboe/oboe_A5_05_piano_normal.mp3\n", "Get 231 ./audio/london_phill_dataset_multi/oboe/oboe_A4_05_piano_normal.mp3\n", "Get 232 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_025_forte_normal.mp3\n", "Get 233 ./audio/london_phill_dataset_multi/oboe/oboe_Ds6_15_forte_normal.mp3\n", "Get 234 ./audio/london_phill_dataset_multi/oboe/oboe_A5_05_forte_normal.mp3\n", "Get 235 ./audio/london_phill_dataset_multi/oboe/oboe_A5_025_piano_normal.mp3\n", "Get 236 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_15_fortissimo_normal.mp3\n", "Get 237 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_15_fortissimo_normal.mp3\n", "Get 238 ./audio/london_phill_dataset_multi/oboe/oboe_A5_025_forte_normal.mp3\n", "Get 239 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_05_forte_normal.mp3\n", "Get 240 ./audio/london_phill_dataset_multi/oboe/oboe_G6_025_piano_normal.mp3\n", "Get 241 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_15_piano_normal.mp3\n", "Get 242 ./audio/london_phill_dataset_multi/oboe/oboe_A6_1_piano_normal.mp3\n", "Get 243 ./audio/london_phill_dataset_multi/oboe/oboe_A4_15_forte_normal.mp3\n", "Get 244 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_1_mezzo-forte_normal.mp3\n", "Get 245 ./audio/london_phill_dataset_multi/oboe/oboe_As3_1_mezzo-forte_normal.mp3\n", "Get 246 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_15_mezzo-forte_normal.mp3\n", "Get 247 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_025_fortissimo_normal.mp3\n", "Get 248 ./audio/london_phill_dataset_multi/oboe/oboe_A5_15_mezzo-forte_normal.mp3\n", "Get 249 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_025_mezzo-forte_normal.mp3\n", "Get 250 ./audio/london_phill_dataset_multi/oboe/oboe_Ds6_05_mezzo-forte_normal.mp3\n", "Get 251 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_1_fortissimo_normal.mp3\n", "Get 252 ./audio/london_phill_dataset_multi/oboe/oboe_As3_05_mezzo-forte_normal.mp3\n", "Get 253 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_025_mezzo-forte_normal.mp3\n", "Get 254 ./audio/london_phill_dataset_multi/oboe/oboe_Ds6_05_fortissimo_normal.mp3\n", "Get 255 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_15_forte_normal.mp3\n", "Get 256 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_1_forte_normal.mp3\n", "Get 257 ./audio/london_phill_dataset_multi/oboe/oboe_A4_1_forte_normal.mp3\n", "Get 258 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_05_mezzo-forte_normal.mp3\n", "Get 259 ./audio/london_phill_dataset_multi/oboe/oboe_As3_15_mezzo-forte_normal.mp3\n", "Get 260 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_05_forte_normal.mp3\n", "Get 261 ./audio/london_phill_dataset_multi/oboe/oboe_A5_1_forte_major-trill.mp3\n", "Get 262 ./audio/london_phill_dataset_multi/oboe/oboe_A4_05_fortissimo_normal.mp3\n", "Get 263 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_05_piano_normal.mp3\n", "Get 264 ./audio/london_phill_dataset_multi/oboe/oboe_A5_15_piano_normal.mp3\n", "Get 265 ./audio/london_phill_dataset_multi/oboe/oboe_A6_1_forte_minor-trill.mp3\n", "Get 266 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_05_mezzo-forte_normal.mp3\n", "Get 267 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_1_forte_minor-trill.mp3\n", "Get 268 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_1_forte_normal.mp3\n", "Get 269 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_025_fortissimo_normal.mp3\n", "Get 270 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_025_piano_normal.mp3\n", "Get 271 ./audio/london_phill_dataset_multi/oboe/oboe_A5_025_mezzo-forte_normal.mp3\n", "Get 272 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_1_fortissimo_normal.mp3\n", "Get 273 ./audio/london_phill_dataset_multi/oboe/oboe_A4_05_forte_normal.mp3\n", "Get 274 ./audio/london_phill_dataset_multi/oboe/oboe_Gs5_05_mezzo-forte_normal.mp3\n", "Get 275 ./audio/london_phill_dataset_multi/oboe/oboe_A5_1_fortissimo_normal.mp3\n", "Get 276 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_15_mezzo-forte_normal.mp3\n", "Get 277 ./audio/london_phill_dataset_multi/oboe/oboe_A6_1_forte_major-trill.mp3\n", "Get 278 ./audio/london_phill_dataset_multi/oboe/oboe_As3_05_forte_normal.mp3\n", "Get 279 ./audio/london_phill_dataset_multi/oboe/oboe_As3_1_forte_normal.mp3\n", "Get 280 ./audio/london_phill_dataset_multi/oboe/oboe_Gs6_1_forte_normal.mp3\n", "Get 281 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_1_piano_normal.mp3\n", "Get 282 ./audio/london_phill_dataset_multi/oboe/oboe_As3_15_forte_normal.mp3\n", "Get 283 ./audio/london_phill_dataset_multi/oboe/oboe_As3_05_piano_normal.mp3\n", "Get 284 ./audio/london_phill_dataset_multi/oboe/oboe_A5_1_mezzo-forte_normal.mp3\n", "Get 285 ./audio/london_phill_dataset_multi/oboe/oboe_A4_1_piano_normal.mp3\n", "Get 286 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_15_forte_normal.mp3\n", "Get 287 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_05_piano_normal.mp3\n", "Get 288 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_1_forte_major-trill.mp3\n", "Get 289 ./audio/london_phill_dataset_multi/oboe/oboe_A4_1_mezzo-forte_normal.mp3\n", "Get 290 ./audio/london_phill_dataset_multi/oboe/oboe_A4_025_piano_normal.mp3\n", "Get 291 ./audio/london_phill_dataset_multi/oboe/oboe_A5_05_mezzo-forte_normal.mp3\n", "Get 292 ./audio/london_phill_dataset_multi/oboe/oboe_A5_1_piano_normal.mp3\n", "Get 293 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_15_piano_normal.mp3\n", "Get 294 ./audio/london_phill_dataset_multi/oboe/oboe_As3_15_fortissimo_normal.mp3\n", "Get 295 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_1_mezzo-forte_normal.mp3\n", "Get 296 ./audio/london_phill_dataset_multi/oboe/oboe_As3_1_fortissimo_normal.mp3\n", "Get 297 ./audio/london_phill_dataset_multi/oboe/oboe_A5_1_forte_normal.mp3\n", "Get 298 ./audio/london_phill_dataset_multi/oboe/oboe_G6_025_mezzo-forte_normal.mp3\n", "Get 299 ./audio/london_phill_dataset_multi/oboe/oboe_Gs4_025_mezzo-forte_normal.mp3\n", "Get 300 ./audio/london_phill_dataset_multi/oboe/oboe_Ds6_05_piano_normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 301 ./audio/london_phill_dataset_multi/trumpet/trumpet_B3_025_forte_normal.mp3\n", "Get 302 ./audio/london_phill_dataset_multi/trumpet/trumpet_Cs4_05_pianissimo_normal.mp3\n", "Get 303 ./audio/london_phill_dataset_multi/trumpet/trumpet_G3_025_pianissimo_normal.mp3\n", "Get 304 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs5_05_mezzo-forte_normal.mp3\n", "Get 305 ./audio/london_phill_dataset_multi/trumpet/trumpet_E6_1_forte_normal.mp3\n", "Get 306 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds4_15_pianissimo_normal.mp3\n", "Get 307 ./audio/london_phill_dataset_multi/trumpet/trumpet_A3_05_pianissimo_normal.mp3\n", "Get 308 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds4_025_pianissimo_normal.mp3\n", "Get 309 ./audio/london_phill_dataset_multi/trumpet/trumpet_B3_05_forte_normal.mp3\n", "Get 310 ./audio/london_phill_dataset_multi/trumpet/trumpet_C4_15_pianissimo_normal.mp3\n", "Get 311 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds4_05_pianissimo_normal.mp3\n", "Get 312 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_05_pianissimo_normal.mp3\n", "Get 313 ./audio/london_phill_dataset_multi/trumpet/trumpet_As3_1_pianissimo_normal.mp3\n", "Get 314 ./audio/london_phill_dataset_multi/trumpet/trumpet_D6_05_forte_normal.mp3\n", "Get 315 ./audio/london_phill_dataset_multi/trumpet/trumpet_Cs6_025_forte_normal.mp3\n", "Get 316 ./audio/london_phill_dataset_multi/trumpet/trumpet_A3_05_forte_normal.mp3\n", "Get 317 ./audio/london_phill_dataset_multi/trumpet/trumpet_E4_025_pianissimo_normal.mp3\n", "Get 318 ./audio/london_phill_dataset_multi/trumpet/trumpet_As3_05_pianissimo_normal.mp3\n", "Get 319 ./audio/london_phill_dataset_multi/trumpet/trumpet_E3_05_forte_normal.mp3\n", "Get 320 ./audio/london_phill_dataset_multi/trumpet/trumpet_G5_1_mezzo-forte_normal.mp3\n", "Get 321 ./audio/london_phill_dataset_multi/trumpet/trumpet_G5_025_mezzo-forte_normal.mp3\n", "Get 322 ./audio/london_phill_dataset_multi/trumpet/trumpet_B5_025_mezzo-forte_normal.mp3\n", "Get 323 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_025_forte_normal.mp3\n", "Get 324 ./audio/london_phill_dataset_multi/trumpet/trumpet_D4_15_pianissimo_normal.mp3\n", "Get 325 ./audio/london_phill_dataset_multi/trumpet/trumpet_E4_15_pianissimo_normal.mp3\n", "Get 326 ./audio/london_phill_dataset_multi/trumpet/trumpet_Cs4_15_pianissimo_normal.mp3\n", "Get 327 ./audio/london_phill_dataset_multi/trumpet/trumpet_D4_05_pianissimo_normal.mp3\n", "Get 328 ./audio/london_phill_dataset_multi/trumpet/trumpet_E6_025_forte_normal.mp3\n", "Get 329 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds6_025_forte_normal.mp3\n", "Get 330 ./audio/london_phill_dataset_multi/trumpet/trumpet_E3_025_pianissimo_normal.mp3\n", "Get 331 ./audio/london_phill_dataset_multi/trumpet/trumpet_B5_025_forte_normal.mp3\n", "Get 332 ./audio/london_phill_dataset_multi/trumpet/trumpet_C6_025_forte_normal.mp3\n", "Get 333 ./audio/london_phill_dataset_multi/trumpet/trumpet_D4_05_forte_normal.mp3\n", "Get 334 ./audio/london_phill_dataset_multi/trumpet/trumpet_As4_025_forte_normal.mp3\n", "Get 335 ./audio/london_phill_dataset_multi/trumpet/trumpet_F4_025_pianissimo_normal.mp3\n", "Get 336 ./audio/london_phill_dataset_multi/trumpet/trumpet_A3_15_pianissimo_normal.mp3\n", "Get 337 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs3_1_pianissimo_normal.mp3\n", "Get 338 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs3_05_pianissimo_normal.mp3\n", "Get 339 ./audio/london_phill_dataset_multi/trumpet/trumpet_F4_05_pianissimo_normal.mp3\n", "Get 340 ./audio/london_phill_dataset_multi/trumpet/trumpet_D4_025_forte_normal.mp3\n", "Get 341 ./audio/london_phill_dataset_multi/trumpet/trumpet_Cs4_1_pianissimo_normal.mp3\n", "Get 342 ./audio/london_phill_dataset_multi/trumpet/trumpet_C4_025_forte_normal.mp3\n", "Get 343 ./audio/london_phill_dataset_multi/trumpet/trumpet_C4_1_pianissimo_normal.mp3\n", "Get 344 ./audio/london_phill_dataset_multi/trumpet/trumpet_A4_05_forte_normal.mp3\n", "Get 345 ./audio/london_phill_dataset_multi/trumpet/trumpet_G3_15_pianissimo_normal.mp3\n", "Get 346 ./audio/london_phill_dataset_multi/trumpet/trumpet_Cs4_05_forte_normal.mp3\n", "Get 347 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs3_15_pianissimo_normal.mp3\n", "Get 348 ./audio/london_phill_dataset_multi/trumpet/trumpet_B3_1_pianissimo_normal.mp3\n", "Get 349 ./audio/london_phill_dataset_multi/trumpet/trumpet_As5_05_forte_normal.mp3\n", "Get 350 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds4_1_pianissimo_normal.mp3\n", "Get 351 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs3_025_pianissimo_normal.mp3\n", "Get 352 ./audio/london_phill_dataset_multi/trumpet/trumpet_C4_05_pianissimo_normal.mp3\n", "Get 353 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds4_05_forte_normal.mp3\n", "Get 354 ./audio/london_phill_dataset_multi/trumpet/trumpet_E3_15_pianissimo_normal.mp3\n", "Get 355 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs3_05_forte_normal.mp3\n", "Get 356 ./audio/london_phill_dataset_multi/trumpet/trumpet_As3_15_pianissimo_normal.mp3\n", "Get 357 ./audio/london_phill_dataset_multi/trumpet/trumpet_B4_025_forte_normal.mp3\n", "Get 358 ./audio/london_phill_dataset_multi/trumpet/trumpet_As5_05_mezzo-forte_normal.mp3\n", "Get 359 ./audio/london_phill_dataset_multi/trumpet/trumpet_E4_1_pianissimo_normal.mp3\n", "Get 360 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_05_forte_normal.mp3\n", "Get 361 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs3_1_forte_normal.mp3\n", "Get 362 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds6_05_forte_normal.mp3\n", "Get 363 ./audio/london_phill_dataset_multi/trumpet/trumpet_D6_025_forte_normal.mp3\n", "Get 364 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs5_05_forte_normal.mp3\n", "Get 365 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs5_025_forte_normal.mp3\n", "Get 366 ./audio/london_phill_dataset_multi/trumpet/trumpet_B3_05_pianissimo_normal.mp3\n", "Get 367 ./audio/london_phill_dataset_multi/trumpet/trumpet_A5_025_mezzo-forte_normal.mp3\n", "Get 368 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs4_025_forte_normal.mp3\n", "Get 369 ./audio/london_phill_dataset_multi/trumpet/trumpet_A4_025_forte_normal.mp3\n", "Get 370 ./audio/london_phill_dataset_multi/trumpet/trumpet_D4_025_pianissimo_normal.mp3\n", "Get 371 ./audio/london_phill_dataset_multi/trumpet/trumpet_E4_05_pianissimo_normal.mp3\n", "Get 372 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_15_pianissimo_normal.mp3\n", "Get 373 ./audio/london_phill_dataset_multi/trumpet/trumpet_D5_05_forte_normal.mp3\n", "Get 374 ./audio/london_phill_dataset_multi/trumpet/trumpet_Ds5_05_forte_normal.mp3\n", "Get 375 ./audio/london_phill_dataset_multi/trumpet/trumpet_As5_025_forte_normal.mp3\n", "Get 376 ./audio/london_phill_dataset_multi/trumpet/trumpet_A3_1_pianissimo_normal.mp3\n", "Get 377 ./audio/london_phill_dataset_multi/trumpet/trumpet_As3_025_forte_normal.mp3\n", "Get 378 ./audio/london_phill_dataset_multi/trumpet/trumpet_G3_05_pianissimo_normal.mp3\n", "Get 379 ./audio/london_phill_dataset_multi/trumpet/trumpet_C6_05_forte_normal.mp3\n", "Get 380 ./audio/london_phill_dataset_multi/trumpet/trumpet_A3_025_pianissimo_normal.mp3\n", "Get 381 ./audio/london_phill_dataset_multi/trumpet/trumpet_C4_025_pianissimo_normal.mp3\n", "Get 382 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_1_forte_normal.mp3\n", "Get 383 ./audio/london_phill_dataset_multi/trumpet/trumpet_B3_15_pianissimo_normal.mp3\n", "Get 384 ./audio/london_phill_dataset_multi/trumpet/trumpet_G5_15_mezzo-forte_normal.mp3\n", "Get 385 ./audio/london_phill_dataset_multi/trumpet/trumpet_A5_025_forte_normal.mp3\n", "Get 386 ./audio/london_phill_dataset_multi/trumpet/trumpet_Cs4_025_pianissimo_normal.mp3\n", "Get 387 ./audio/london_phill_dataset_multi/trumpet/trumpet_As3_025_pianissimo_normal.mp3\n", "Get 388 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_1_pianissimo_normal.mp3\n", "Get 389 ./audio/london_phill_dataset_multi/trumpet/trumpet_D4_1_pianissimo_normal.mp3\n", "Get 390 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs5_025_mezzo-forte_normal.mp3\n", "Get 391 ./audio/london_phill_dataset_multi/trumpet/trumpet_G3_1_pianissimo_normal.mp3\n", "Get 392 ./audio/london_phill_dataset_multi/trumpet/trumpet_E3_05_pianissimo_normal.mp3\n", "Get 393 ./audio/london_phill_dataset_multi/trumpet/trumpet_A5_05_mezzo-forte_normal.mp3\n", "Get 394 ./audio/london_phill_dataset_multi/trumpet/trumpet_G5_05_mezzo-forte_normal.mp3\n", "Get 395 ./audio/london_phill_dataset_multi/trumpet/trumpet_C4_05_forte_normal.mp3\n", "Get 396 ./audio/london_phill_dataset_multi/trumpet/trumpet_E3_1_pianissimo_normal.mp3\n", "Get 397 ./audio/london_phill_dataset_multi/trumpet/trumpet_B3_025_pianissimo_normal.mp3\n", "Get 398 ./audio/london_phill_dataset_multi/trumpet/trumpet_F3_025_pianissimo_normal.mp3\n", "Get 399 ./audio/london_phill_dataset_multi/trumpet/trumpet_Gs4_05_forte_normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 400 ./audio/london_phill_dataset_multi/trumpet/trumpet_E3_1_forte_normal.mp3\n", "Get 401 ./audio/london_phill_dataset_multi/flute/flute_Gs5_1_piano_normal.mp3\n", "Get 402 ./audio/london_phill_dataset_multi/flute/flute_A5_1_piano_normal.mp3\n", "Get 403 ./audio/london_phill_dataset_multi/flute/flute_Gs4_025_mezzo-piano_normal.mp3\n", "Get 404 ./audio/london_phill_dataset_multi/flute/flute_A6_05_pianissimo_normal.mp3\n", "Get 405 ./audio/london_phill_dataset_multi/flute/flute_A5_025_pianissimo_normal.mp3\n", "Get 406 ./audio/london_phill_dataset_multi/flute/flute_A4_15_mezzo-piano_normal.mp3\n", "Get 407 ./audio/london_phill_dataset_multi/flute/flute_A5_05_forte_normal.mp3\n", "Get 408 ./audio/london_phill_dataset_multi/flute/flute_Gs5_15_mezzo-forte_normal.mp3\n", "Get 409 ./audio/london_phill_dataset_multi/flute/flute_Gs5_1_mezzo-forte_normal.mp3\n", "Get 410 ./audio/london_phill_dataset_multi/flute/flute_A5_05_mezzo-piano_normal.mp3\n", "Get 411 ./audio/london_phill_dataset_multi/flute/flute_Gs5_025_mezzo-piano_normal.mp3\n", "Get 412 ./audio/london_phill_dataset_multi/flute/flute_Gs4_05_pianissimo_normal.mp3\n", "Get 413 ./audio/london_phill_dataset_multi/flute/flute_Gs5_15_piano_normal.mp3\n", "Get 414 ./audio/london_phill_dataset_multi/flute/flute_Gs6_1_mezzo-forte_normal.mp3\n", "Get 415 ./audio/london_phill_dataset_multi/flute/flute_Gs6_15_piano_normal.mp3\n", "Get 416 ./audio/london_phill_dataset_multi/flute/flute_Gs5_025_piano_normal.mp3\n", "Get 417 ./audio/london_phill_dataset_multi/flute/flute_A4_025_mezzo-piano_normal.mp3\n", "Get 418 ./audio/london_phill_dataset_multi/flute/flute_A4_05_mezzo-forte_normal.mp3\n", "Get 419 ./audio/london_phill_dataset_multi/flute/flute_Gs6_025_piano_normal.mp3\n", "Get 420 ./audio/london_phill_dataset_multi/flute/flute_Gs4_15_mezzo-forte_normal.mp3\n", "Get 421 ./audio/london_phill_dataset_multi/flute/flute_Gs6_1_forte_normal.mp3\n", "Get 422 ./audio/london_phill_dataset_multi/flute/flute_A6_05_piano_normal.mp3\n", "Get 423 ./audio/london_phill_dataset_multi/flute/flute_Gs4_15_mezzo-piano_normal.mp3\n", "Get 424 ./audio/london_phill_dataset_multi/flute/flute_A5_15_forte_normal.mp3\n", "Get 425 ./audio/london_phill_dataset_multi/flute/flute_A4_025_piano_normal.mp3\n", "Get 426 ./audio/london_phill_dataset_multi/flute/flute_A4_1_mezzo-forte_normal.mp3\n", "Get 427 ./audio/london_phill_dataset_multi/flute/flute_Gs6_15_mezzo-forte_normal.mp3\n", "Get 428 ./audio/london_phill_dataset_multi/flute/flute_A6_15_forte_normal.mp3\n", "Get 429 ./audio/london_phill_dataset_multi/flute/flute_Gs4_025_pianissimo_normal.mp3\n", "Get 430 ./audio/london_phill_dataset_multi/flute/flute_A5_025_forte_normal.mp3\n", "Get 431 ./audio/london_phill_dataset_multi/flute/flute_A5_05_pianissimo_normal.mp3\n", "Get 432 ./audio/london_phill_dataset_multi/flute/flute_Gs5_05_piano_normal.mp3\n", "Get 433 ./audio/london_phill_dataset_multi/flute/flute_A6_1_fortissimo_minor-trill.mp3\n", "Get 434 ./audio/london_phill_dataset_multi/flute/flute_Gs4_05_forte_normal.mp3\n", "Get 435 ./audio/london_phill_dataset_multi/flute/flute_Gs6_1_pianissimo_normal.mp3\n", "Get 436 ./audio/london_phill_dataset_multi/flute/flute_Gs6_025_pianissimo_normal.mp3\n", "Get 437 ./audio/london_phill_dataset_multi/flute/flute_A4_05_mezzo-piano_normal.mp3\n", "Get 438 ./audio/london_phill_dataset_multi/flute/flute_A5_025_piano_normal.mp3\n", "Get 439 ./audio/london_phill_dataset_multi/flute/flute_A6_1_forte_normal.mp3\n", "Get 440 ./audio/london_phill_dataset_multi/flute/flute_Gs4_05_mezzo-forte_normal.mp3\n", "Get 441 ./audio/london_phill_dataset_multi/flute/flute_Gs4_025_forte_normal.mp3\n", "Get 442 ./audio/london_phill_dataset_multi/flute/flute_A5_1_pianissimo_normal.mp3\n", "Get 443 ./audio/london_phill_dataset_multi/flute/flute_A6_1_mezzo-forte_normal.mp3\n", "Get 444 ./audio/london_phill_dataset_multi/flute/flute_Gs4_15_piano_normal.mp3\n", "Get 445 ./audio/london_phill_dataset_multi/flute/flute_Gs5_05_forte_normal.mp3\n", "Get 446 ./audio/london_phill_dataset_multi/flute/flute_Gs5_05_mezzo-forte_normal.mp3\n", "Get 447 ./audio/london_phill_dataset_multi/flute/flute_Gs6_15_forte_normal.mp3\n", "Get 448 ./audio/london_phill_dataset_multi/flute/flute_A4_15_forte_normal.mp3\n", "Get 449 ./audio/london_phill_dataset_multi/flute/flute_A5_15_pianissimo_normal.mp3\n", "Get 450 ./audio/london_phill_dataset_multi/flute/flute_Gs5_15_mezzo-piano_normal.mp3\n", "Get 451 ./audio/london_phill_dataset_multi/flute/flute_A4_15_pianissimo_normal.mp3\n", "Get 452 ./audio/london_phill_dataset_multi/flute/flute_A6_05_forte_normal.mp3\n", "Get 453 ./audio/london_phill_dataset_multi/flute/flute_A4_15_piano_normal.mp3\n", "Get 454 ./audio/london_phill_dataset_multi/flute/flute_A5_15_mezzo-forte_normal.mp3\n", "Get 455 ./audio/london_phill_dataset_multi/flute/flute_A4_1_mezzo-piano_normal.mp3\n", "Get 456 ./audio/london_phill_dataset_multi/flute/flute_A5_15_mezzo-piano_normal.mp3\n", "Get 457 ./audio/london_phill_dataset_multi/flute/flute_A5_1_forte_normal.mp3\n", "Get 458 ./audio/london_phill_dataset_multi/flute/flute_Gs5_1_mezzo-piano_normal.mp3\n", "Get 459 ./audio/london_phill_dataset_multi/flute/flute_Gs5_025_mezzo-forte_normal.mp3\n", "Get 460 ./audio/london_phill_dataset_multi/flute/flute_Gs5_025_pianissimo_normal.mp3\n", "Get 461 ./audio/london_phill_dataset_multi/flute/flute_Gs6_05_mezzo-forte_normal.mp3\n", "Get 462 ./audio/london_phill_dataset_multi/flute/flute_A4_025_pianissimo_normal.mp3\n", "Get 463 ./audio/london_phill_dataset_multi/flute/flute_Gs5_15_forte_normal.mp3\n", "Get 464 ./audio/london_phill_dataset_multi/flute/flute_A5_1_mezzo-forte_normal.mp3\n", "Get 465 ./audio/london_phill_dataset_multi/flute/flute_Gs6_05_piano_normal.mp3\n", "Get 466 ./audio/london_phill_dataset_multi/flute/flute_A4_05_forte_normal.mp3\n", "Get 467 ./audio/london_phill_dataset_multi/flute/flute_A5_15_piano_normal.mp3\n", "Get 468 ./audio/london_phill_dataset_multi/flute/flute_A4_15_mezzo-forte_normal.mp3\n", "Get 469 ./audio/london_phill_dataset_multi/flute/flute_Gs6_025_forte_normal.mp3\n", "Get 470 ./audio/london_phill_dataset_multi/flute/flute_A4_05_pianissimo_normal.mp3\n", "Get 471 ./audio/london_phill_dataset_multi/flute/flute_Gs6_15_pianissimo_normal.mp3\n", "Get 472 ./audio/london_phill_dataset_multi/flute/flute_Gs4_025_piano_normal.mp3\n", "Get 473 ./audio/london_phill_dataset_multi/flute/flute_Gs4_05_mezzo-piano_normal.mp3\n", "Get 474 ./audio/london_phill_dataset_multi/flute/flute_Gs4_025_mezzo-forte_normal.mp3\n", "Get 475 ./audio/london_phill_dataset_multi/flute/flute_Gs6_05_pianissimo_normal.mp3\n", "Get 476 ./audio/london_phill_dataset_multi/flute/flute_A6_1_piano_normal.mp3\n", "Get 477 ./audio/london_phill_dataset_multi/flute/flute_Gs4_15_forte_normal.mp3\n", "Get 478 ./audio/london_phill_dataset_multi/flute/flute_A5_025_mezzo-piano_normal.mp3\n", "Get 479 ./audio/london_phill_dataset_multi/flute/flute_A5_05_piano_normal.mp3\n", "Get 480 ./audio/london_phill_dataset_multi/flute/flute_Gs6_025_mezzo-forte_normal.mp3\n", "Get 481 ./audio/london_phill_dataset_multi/flute/flute_Gs4_05_piano_normal.mp3\n", "Get 482 ./audio/london_phill_dataset_multi/flute/flute_Gs5_1_pianissimo_normal.mp3\n", "Get 483 ./audio/london_phill_dataset_multi/flute/flute_Gs6_1_piano_normal.mp3\n", "Get 484 ./audio/london_phill_dataset_multi/flute/flute_Gs5_05_pianissimo_normal.mp3\n", "Get 485 ./audio/london_phill_dataset_multi/flute/flute_A4_025_forte_normal.mp3\n", "Get 486 ./audio/london_phill_dataset_multi/flute/flute_A4_1_pianissimo_normal.mp3\n", "Get 487 ./audio/london_phill_dataset_multi/flute/flute_A6_1_pianissimo_normal.mp3\n", "Get 488 ./audio/london_phill_dataset_multi/flute/flute_A4_1_forte_normal.mp3\n", "Get 489 ./audio/london_phill_dataset_multi/flute/flute_A5_1_mezzo-piano_normal.mp3\n", "Get 490 ./audio/london_phill_dataset_multi/flute/flute_A4_025_mezzo-forte_normal.mp3\n", "Get 491 ./audio/london_phill_dataset_multi/flute/flute_Gs6_05_forte_normal.mp3\n", "Get 492 ./audio/london_phill_dataset_multi/flute/flute_A5_025_mezzo-forte_normal.mp3\n", "Get 493 ./audio/london_phill_dataset_multi/flute/flute_A4_1_piano_normal.mp3\n", "Get 494 ./audio/london_phill_dataset_multi/flute/flute_A5_05_mezzo-forte_normal.mp3\n", "Get 495 ./audio/london_phill_dataset_multi/flute/flute_A6_05_mezzo-forte_normal.mp3\n", "Get 496 ./audio/london_phill_dataset_multi/flute/flute_Gs5_05_mezzo-piano_normal.mp3\n", "Get 497 ./audio/london_phill_dataset_multi/flute/flute_Gs5_1_forte_normal.mp3\n", "Get 498 ./audio/london_phill_dataset_multi/flute/flute_A4_05_piano_normal.mp3\n", "Get 499 ./audio/london_phill_dataset_multi/flute/flute_Gs5_025_forte_normal.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 500 ./audio/london_phill_dataset_multi/flute/flute_Gs4_15_pianissimo_normal.mp3\n", "Get 501 ./audio/london_phill_dataset_multi/cello/cello_Gs5_025_mezzo-piano_arco-normal.mp3\n", "Get 502 ./audio/london_phill_dataset_multi/cello/cello_Gs5_15_forte_arco-normal.mp3\n", "Get 503 ./audio/london_phill_dataset_multi/cello/cello_A2_05_pianissimo_arco-normal.mp3\n", "Get 504 ./audio/london_phill_dataset_multi/cello/cello_Gs4_05_pianissimo_arco-normal.mp3\n", "Get 505 ./audio/london_phill_dataset_multi/cello/cello_A2_1_fortissimo_arco-normal.mp3\n", "Get 506 ./audio/london_phill_dataset_multi/cello/cello_A3_025_pianissimo_arco-normal.mp3\n", "Get 507 ./audio/london_phill_dataset_multi/cello/cello_Gs5_05_forte_arco-normal.mp3\n", "Get 508 ./audio/london_phill_dataset_multi/cello/cello_A3_1_mezzo-piano_non-vibrato.mp3\n", "Get 509 ./audio/london_phill_dataset_multi/cello/cello_A2_1_forte_arco-normal.mp3\n", "Get 510 ./audio/london_phill_dataset_multi/cello/cello_Gs4_15_pianissimo_arco-normal.mp3\n", "Get 511 ./audio/london_phill_dataset_multi/cello/cello_Gs4_025_forte_arco-normal.mp3\n", "Get 512 ./audio/london_phill_dataset_multi/cello/cello_A3_05_fortissimo_arco-normal.mp3\n", "Get 513 ./audio/london_phill_dataset_multi/cello/cello_Gs5_05_fortissimo_arco-normal.mp3\n", "Get 514 ./audio/london_phill_dataset_multi/cello/cello_A3_1_pianissimo_arco-normal.mp3\n", "Get 515 ./audio/london_phill_dataset_multi/cello/cello_A3_05_forte_arco-normal.mp3\n", "Get 516 ./audio/london_phill_dataset_multi/cello/cello_Gs3_1_forte_arco-normal.mp3\n", "Get 517 ./audio/london_phill_dataset_multi/cello/cello_A4_05_mezzo-piano_arco-normal.mp3\n", "Get 518 ./audio/london_phill_dataset_multi/cello/cello_Gs3_1_mezzo-piano_arco-normal.mp3\n", "Get 519 ./audio/london_phill_dataset_multi/cello/cello_Gs3_025_mezzo-piano_arco-normal.mp3\n", "Get 520 ./audio/london_phill_dataset_multi/cello/cello_Gs5_1_forte_arco-normal.mp3\n", "Get 521 ./audio/london_phill_dataset_multi/cello/cello_Gs3_025_fortissimo_arco-normal.mp3\n", "Get 522 ./audio/london_phill_dataset_multi/cello/cello_Gs4_05_forte_arco-normal.mp3\n", "Get 523 ./audio/london_phill_dataset_multi/cello/cello_Gs4_025_fortissimo_arco-normal.mp3\n", "Get 524 ./audio/london_phill_dataset_multi/cello/cello_A3_15_mezzo-piano_arco-normal.mp3\n", "Get 525 ./audio/london_phill_dataset_multi/cello/cello_A3_1_mezzo-piano_arco-normal.mp3\n", "Get 526 ./audio/london_phill_dataset_multi/cello/cello_Gs3_15_fortissimo_arco-normal.mp3\n", "Get 527 ./audio/london_phill_dataset_multi/cello/cello_Gs5_05_pianissimo_arco-normal.mp3\n", "Get 528 ./audio/london_phill_dataset_multi/cello/cello_A4_025_mezzo-piano_arco-normal.mp3\n", "Get 529 ./audio/london_phill_dataset_multi/cello/cello_Gs4_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 530 ./audio/london_phill_dataset_multi/cello/cello_A2_05_fortissimo_arco-normal.mp3\n", "Get 531 ./audio/london_phill_dataset_multi/cello/cello_Gs3_025_forte_arco-normal.mp3\n", "Get 532 ./audio/london_phill_dataset_multi/cello/cello_Gs4_1_fortissimo_arco-normal.mp3\n", "Get 533 ./audio/london_phill_dataset_multi/cello/cello_Gs5_1_mezzo-piano_arco-normal.mp3\n", "Get 534 ./audio/london_phill_dataset_multi/cello/cello_Gs3_05_forte_arco-normal.mp3\n", "Get 535 ./audio/london_phill_dataset_multi/cello/cello_Gs5_15_pianissimo_arco-normal.mp3\n", "Get 536 ./audio/london_phill_dataset_multi/cello/cello_Gs5_15_fortissimo_arco-normal.mp3\n", "Get 537 ./audio/london_phill_dataset_multi/cello/cello_Gs3_15_piano_arco-normal.mp3\n", "Get 538 ./audio/london_phill_dataset_multi/cello/cello_A3_1_fortissimo_arco-normal.mp3\n", "Get 539 ./audio/london_phill_dataset_multi/cello/cello_Gs3_15_pianissimo_arco-normal.mp3\n", "Get 540 ./audio/london_phill_dataset_multi/cello/cello_Gs5_025_forte_arco-normal.mp3\n", "Get 541 ./audio/london_phill_dataset_multi/cello/cello_Gs3_05_mezzo-piano_arco-normal.mp3\n", "Get 542 ./audio/london_phill_dataset_multi/cello/cello_A3_1_mezzo-piano_arco-minor-trill.mp3\n", "Get 543 ./audio/london_phill_dataset_multi/cello/cello_A4_1_mezzo-forte_arco-harmonic.mp3\n", "Get 544 ./audio/london_phill_dataset_multi/cello/cello_A4_025_pianissimo_arco-normal.mp3\n", "Get 545 ./audio/london_phill_dataset_multi/cello/cello_A2_025_mezzo-piano_arco-normal.mp3\n", "Get 546 ./audio/london_phill_dataset_multi/cello/cello_Gs4_1_forte_arco-normal.mp3\n", "Get 547 ./audio/london_phill_dataset_multi/cello/cello_Gs3_025_pianissimo_arco-normal.mp3\n", "Get 548 ./audio/london_phill_dataset_multi/cello/cello_Gs5_15_mezzo-piano_arco-normal.mp3\n", "Get 549 ./audio/london_phill_dataset_multi/cello/cello_A3_05_mezzo-piano_arco-normal.mp3\n", "Get 550 ./audio/london_phill_dataset_multi/cello/cello_A3_025_fortissimo_arco-normal.mp3\n", "Get 551 ./audio/london_phill_dataset_multi/cello/cello_Gs5_1_mezzo-forte_arco-harmonic.mp3\n", "Get 552 ./audio/london_phill_dataset_multi/cello/cello_Gs5_05_mezzo-piano_arco-normal.mp3\n", "Get 553 ./audio/london_phill_dataset_multi/cello/cello_A4_025_fortissimo_arco-normal.mp3\n", "Get 554 ./audio/london_phill_dataset_multi/cello/cello_Gs5_025_fortissimo_arco-normal.mp3\n", "Get 555 ./audio/london_phill_dataset_multi/cello/cello_A4_1_mezzo-piano_arco-normal.mp3\n", "Get 556 ./audio/london_phill_dataset_multi/cello/cello_A4_1_forte_arco-normal.mp3\n", "Get 557 ./audio/london_phill_dataset_multi/cello/cello_Gs4_05_mezzo-piano_arco-normal.mp3\n", "Get 558 ./audio/london_phill_dataset_multi/cello/cello_A4_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 559 ./audio/london_phill_dataset_multi/cello/cello_A4_1_mezzo-piano_arco-minor-trill.mp3\n", "Get 560 ./audio/london_phill_dataset_multi/cello/cello_Gs4_1_mezzo-piano_arco-normal.mp3\n", "Get 561 ./audio/london_phill_dataset_multi/cello/cello_A4_025_forte_arco-normal.mp3\n", "Get 562 ./audio/london_phill_dataset_multi/cello/cello_Gs5_025_pianissimo_arco-normal.mp3\n", "Get 563 ./audio/london_phill_dataset_multi/cello/cello_A2_05_mezzo-piano_arco-normal.mp3\n", "Get 564 ./audio/london_phill_dataset_multi/cello/cello_A4_15_mezzo-piano_arco-normal.mp3\n", "Get 565 ./audio/london_phill_dataset_multi/cello/cello_Gs4_025_mezzo-piano_arco-normal.mp3\n", "Get 566 ./audio/london_phill_dataset_multi/cello/cello_A4_05_forte_arco-normal.mp3\n", "Get 567 ./audio/london_phill_dataset_multi/cello/cello_A2_15_forte_arco-normal.mp3\n", "Get 568 ./audio/london_phill_dataset_multi/cello/cello_Gs3_15_forte_arco-normal.mp3\n", "Get 569 ./audio/london_phill_dataset_multi/cello/cello_Gs4_1_pianissimo_arco-normal.mp3\n", "Get 570 ./audio/london_phill_dataset_multi/cello/cello_Gs4_15_mezzo-piano_arco-normal.mp3\n", "Get 571 ./audio/london_phill_dataset_multi/cello/cello_A3_025_mezzo-piano_arco-normal.mp3\n", "Get 572 ./audio/london_phill_dataset_multi/cello/cello_A3_15_forte_arco-normal.mp3\n", "Get 573 ./audio/london_phill_dataset_multi/cello/cello_A2_15_pianissimo_arco-normal.mp3\n", "Get 574 ./audio/london_phill_dataset_multi/cello/cello_Gs5_1_fortissimo_arco-normal.mp3\n", "Get 575 ./audio/london_phill_dataset_multi/cello/cello_A2_025_pianissimo_arco-normal.mp3\n", "Get 576 ./audio/london_phill_dataset_multi/cello/cello_A2_1_pianissimo_arco-normal.mp3\n", "Get 577 ./audio/london_phill_dataset_multi/cello/cello_Gs4_05_fortissimo_arco-normal.mp3\n", "Get 578 ./audio/london_phill_dataset_multi/cello/cello_A4_1_fortissimo_arco-normal.mp3\n", "Get 579 ./audio/london_phill_dataset_multi/cello/cello_Gs3_05_pianissimo_arco-normal.mp3\n", "Get 580 ./audio/london_phill_dataset_multi/cello/cello_A3_025_mezzo-forte_arco-col-legno-battuto.mp3\n", "Get 581 ./audio/london_phill_dataset_multi/cello/cello_Gs4_025_pianissimo_arco-normal.mp3\n", "Get 582 ./audio/london_phill_dataset_multi/cello/cello_A2_1_mezzo-piano_non-vibrato.mp3\n", "Get 583 ./audio/london_phill_dataset_multi/cello/cello_A4_1_mezzo-piano_molto-vibrato.mp3\n", "Get 584 ./audio/london_phill_dataset_multi/cello/cello_Gs4_15_forte_arco-normal.mp3\n", "Get 585 ./audio/london_phill_dataset_multi/cello/cello_Gs3_1_pianissimo_arco-normal.mp3\n", "Get 586 ./audio/london_phill_dataset_multi/cello/cello_Gs5_1_pianissimo_arco-normal.mp3\n", "Get 587 ./audio/london_phill_dataset_multi/cello/cello_A4_15_forte_arco-normal.mp3\n", "Get 588 ./audio/london_phill_dataset_multi/cello/cello_A2_025_forte_arco-normal.mp3\n", "Get 589 ./audio/london_phill_dataset_multi/cello/cello_A2_025_fortissimo_arco-normal.mp3\n", "Get 590 ./audio/london_phill_dataset_multi/cello/cello_A2_15_piano_arco-normal.mp3\n", "Get 591 ./audio/london_phill_dataset_multi/cello/cello_A2_025_mezzo-forte_arco-col-legno-battuto.mp3\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Get 592 ./audio/london_phill_dataset_multi/cello/cello_A2_05_forte_arco-normal.mp3\n", "Get 593 ./audio/london_phill_dataset_multi/cello/cello_A4_1_pianissimo_arco-normal.mp3\n", "Get 594 ./audio/london_phill_dataset_multi/cello/cello_Gs4_15_fortissimo_arco-normal.mp3\n", "Get 595 ./audio/london_phill_dataset_multi/cello/cello_A3_1_forte_arco-normal.mp3\n", "Get 596 ./audio/london_phill_dataset_multi/cello/cello_Gs3_05_fortissimo_arco-normal.mp3\n", "Get 597 ./audio/london_phill_dataset_multi/cello/cello_Gs2_025_pianissimo_arco-normal.mp3\n", "Get 598 ./audio/london_phill_dataset_multi/cello/cello_A3_025_forte_arco-normal.mp3\n", "Get 599 ./audio/london_phill_dataset_multi/cello/cello_A2_1_mezzo-piano_arco-normal.mp3\n", "Get 600 ./audio/london_phill_dataset_multi/cello/cello_A4_05_pianissimo_arco-normal.mp3\n", "Calculated 600 Durations\n" ] } ], "source": [ "# Load audio files, trim silence and calculate duration\n", "duration = []\n", "for i,f in enumerate(files):\n", " print (\"Get %d %s\"%(i+1, f))\n", " try:\n", " y, sr = librosa.load(f, sr=fs)\n", " if len(y) < 2:\n", " print(\"Error loading %s\" % f)\n", " continue\n", " #y/=y.max() #Normalize\n", " yt, index = librosa.effects.trim(y,top_db=60) #Trim\n", " duration.append(librosa.get_duration(yt, sr=fs))\n", " except Exception as e:\n", " print(\"Error loading %s. Error: %s\" % (f,e))\n", " \n", "print(\"Calculated %d Durations\"%len(duration))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Duration Distribution" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Duration average: 1.0031891156462587\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "durationDist = pd.Series(np.array(duration))\n", "plt.figure()\n", "durationDist.plot.hist(grid=True, bins=40, rwidth=0.8,\n", " color='#607c8e')\n", "plt.title('Duration Distribution')\n", "plt.xlabel('Duration [s]')\n", "plt.ylabel('Counts')\n", "plt.grid(axis='y', alpha=0.75)\n", "print(\"Duration average:\",np.mean(duration))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Short-Time Fourier Transform" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_web(\"https://en.wikipedia.org/wiki/Short-time_Fourier_transform\")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Spectogram Array Shape: (1025, 87)\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxgAAAH/CAYAAADUo3t3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzsvXecX3WV//88n8/0Puk9gdASOtJUVBSxoOK6FhRWxbZ2V9e1oa4oq4v+1J+urruiImJBsSOiYFlApIQOIZCENNImZTK9fsr5/vG+A598mHM+k8lMZpJ5vx6PPDIz55b3vfd93/eU1zlHVJWIiIiIiIiIiIiIiIixQGqiBxARERERERERERERceggGhgREREREREREREREWOGaGBERERERERERERERIwZooERERERERERERERETFmiAZGRERERERERERERMSYIRoYERERERERERERERFjhmhgRERMEYjIxSJy20SPYwgikhaRbhFZNNFjGSscitcEICIpEfmxiLSLyK0TPZ6IiIiIiMmNaGBERBxCEJGzROR2EekQkT0i8ncROW2cznWpiPzIkX86Uba7RaRfRHIFvz+oqjlVrVPVJ8ZjfEVj+ZGIDBacv1tEXj3W5xnLayp1/8ZivPuAc4BnAnNV9bkH+NyISJWI/JeIbE2uf72IfHGcz/kuEfnzeJ4jIiIi4lBFNDAiIg4RiEgDcD3wDWAaMB/4LDAwDucqK7WNql6WKNt1wPuAvw39rqonjvWYRoAvFJy/TlV/OZYHH8k92Zf99/X+7e/5S2AxsF5V+/Z1xzEa12eAZcApQD3wQuChMTjuhCCJCMXvb0RExCGLuMBFRBw6OApAVa9JPOl9qnqTqu6liInIl0WkTUQ2iMhLC/4+T0SuSyIfj4vIOwpkl4rIL5JIQCfwLuAS4ILRetRFpExEVESWJL//SES+KSI3Jse8VURmi8g3EmrOoyJyYsH+C0Tk1yKyK7mW9+7rGJLjHCsityTneFhEXlYgu01ELi74/e0icnPR+N8jIo8Djw1zTVUi8lUR2SwiO0TkWyJSlcheKCIbReQSEWkBvrOP465KzvVuEVkHrEz+/j8iskVEOkVkhYicWbDP5QnV6RoR6RKRh0TkpAL5p0Vke7LvoyLyHBF5D/BN4OzkuVySbPteEVknIq0i8isR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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# STFT Example\n", "y, sr = librosa.load(files[10], sr=fs, duration=1)\n", "y/=y.max() #Normalize\n", "duration_in_samples=librosa.time_to_samples(1, sr=fs)\n", "y_pad = librosa.util.fix_length(y, duration_in_samples) #Pad to 1s if smaller\n", "y_stft=librosa.core.stft(y_pad, n_fft=n_fft, hop_length=hop_length)\n", "y_spec=librosa.amplitude_to_db(abs(y_stft), np.max)\n", "plt.figure(figsize=(14,8))\n", "plt.title(\"Short-Time Fourier Transform Spectogram \\n %s\"%files[0])\n", "librosa.display.specshow(y_spec,sr=fs,y_axis='log', x_axis='time')\n", "plt.colorbar(format='%+2.0f dB');\n", "print(\"Spectogram Array Shape:\",y_spec.shape)\n", "ipd.Audio(y, rate=fs)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Encode Labels" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6 classes: cello, flute, oboe, sax, trumpet, viola\n" ] } ], "source": [ "# Encode Labels\n", "labelencoder = LabelEncoder()\n", "labelencoder.fit(labels)\n", "print(len(labelencoder.classes_), \"classes:\", \", \".join(list(labelencoder.classes_)))\n", "classes_num = labelencoder.transform(labels)\n", "\n", "#OneHotEncoding\n", "encoder=OneHotEncoder(sparse=False, categories=\"auto\")\n", "onehot_labels=encoder.fit_transform(classes_num.reshape(len(classes_num),1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Train and Test Sets" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# Create Train and Test Sets\n", "splitter = StratifiedShuffleSplit(n_splits=1, test_size=testset_size, random_state=0)\n", "splits = splitter.split(files, onehot_labels)\n", "files_arr=np.array(files)\n", "\n", "for train_index, test_index in splits:\n", " train_set_files = files_arr[train_index]\n", " test_set_files = files_arr[test_index]\n", " train_classes = onehot_labels[train_index]\n", " test_classes = onehot_labels[test_index]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Convolutional Neural Networks" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_web(\"https://en.wikipedia.org/wiki/Convolutional_neural_network\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create Model" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# CNN Model\n", "model = Sequential()\n", "\n", "conv_filters = 16 # number of convolution filters\n", "\n", "# Layer 1\n", "model.add(Convolution2D(conv_filters, 3,input_shape=(1025, 87, 1)))\n", "model.add(MaxPooling2D(pool_size=(2, 2))) \n", "model.add(Dropout(0.40)) \n", "\n", "# Layer 2\n", "model.add(Convolution2D(conv_filters, 3))\n", "model.add(MaxPooling2D(pool_size=(2, 2)))\n", "model.add(Dropout(0.40))\n", "\n", "# Flatten\n", "model.add(Flatten()) \n", "\n", "# Full layer\n", "model.add(Dense(16, activation='sigmoid')) \n", "\n", "# Output layer\n", "model.add(Dense(6,activation='softmax'))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "conv2d_1 (Conv2D) (None, 1023, 85, 16) 160 \n", "_________________________________________________________________\n", "max_pooling2d_1 (MaxPooling2 (None, 511, 42, 16) 0 \n", "_________________________________________________________________\n", "dropout_1 (Dropout) (None, 511, 42, 16) 0 \n", "_________________________________________________________________\n", "conv2d_2 (Conv2D) (None, 509, 40, 16) 2320 \n", "_________________________________________________________________\n", "max_pooling2d_2 (MaxPooling2 (None, 254, 20, 16) 0 \n", "_________________________________________________________________\n", "dropout_2 (Dropout) (None, 254, 20, 16) 0 \n", "_________________________________________________________________\n", "flatten_1 (Flatten) (None, 81280) 0 \n", "_________________________________________________________________\n", "dense_1 (Dense) (None, 16) 1300496 \n", "_________________________________________________________________\n", "dense_2 (Dense) (None, 6) 102 \n", "=================================================================\n", "Total params: 1,303,078\n", "Trainable params: 1,303,078\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "model.summary()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Loss Function \n", "loss = 'categorical_crossentropy' \n", "\n", "# Optimizer = Gradient Descent\n", "optimizer = 'sgd' \n", "\n", "# Compile\n", "model.compile(loss=loss, optimizer=optimizer, metrics=['accuracy'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Train Model" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "def featureGenerator(files, labels):\n", " while True:\n", " for i,f in enumerate(files):\n", " try:\n", " feature_vectors = []\n", " label = []\n", " y, sr = librosa.load(f, sr=fs)\n", " if len(y) < 2:\n", " print(\"Error loading %s\" % f)\n", " continue\n", " y, index = librosa.effects.trim(y,top_db=60) #Trim\n", " y = normalize(y)\n", " duration_in_samples=librosa.time_to_samples(1, sr=fs)\n", " y_pad = librosa.util.fix_length(y, duration_in_samples) #Pad/Trim to same duration\n", " y_stft=librosa.core.stft(y_pad, n_fft=n_fft, hop_length=hop_length)\n", " y_spec=librosa.amplitude_to_db(abs(y_stft), np.min)\n", " scaler = StandardScaler()\n", " dtype = K.floatx()\n", " data = scaler.fit_transform(y_spec).astype(dtype)\n", " data = np.expand_dims(data, axis=0)\n", " data = np.expand_dims(data, axis=3)\n", " feature_vectors.append(data)\n", " label.append([labels[i]])\n", " yield feature_vectors, label\n", " except Exception as e:\n", " print(\"Error loading %s. Error: %s\" % (f,e))\n", " raise\n", " break" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Not inside Google Colab: No module named 'google.colab'. Using standard configurations.\n", "Epoch 1/30\n", "450/450 [==============================] - 82s 183ms/step - loss: 1.1988 - acc: 0.6200 - val_loss: 0.8557 - val_acc: 0.7867\n", "\n", "Epoch 00001: val_acc improved from -inf to 0.78667, saving model to best_model.h5\n", "Epoch 2/30\n", "450/450 [==============================] - 82s 183ms/step - loss: 0.6286 - acc: 0.8622 - val_loss: 0.5856 - val_acc: 0.8200\n", "\n", "Epoch 00002: val_acc improved from 0.78667 to 0.82000, saving model to best_model.h5\n", "Epoch 3/30\n", "450/450 [==============================] - 83s 184ms/step - loss: 0.3707 - acc: 0.9600 - val_loss: 0.4101 - val_acc: 0.9133\n", "\n", "Epoch 00003: val_acc improved from 0.82000 to 0.91333, saving model to best_model.h5\n", "Epoch 4/30\n", "450/450 [==============================] - 82s 183ms/step - loss: 0.1949 - acc: 0.9911 - val_loss: 0.2499 - val_acc: 0.9667\n", "\n", "Epoch 00004: val_acc improved from 0.91333 to 0.96667, saving model to best_model.h5\n", "Epoch 5/30\n", "450/450 [==============================] - 83s 184ms/step - loss: 0.1132 - acc: 1.0000 - val_loss: 0.1741 - val_acc: 0.9867\n", "\n", "Epoch 00005: val_acc improved from 0.96667 to 0.98667, saving model to best_model.h5\n", "Epoch 6/30\n", "450/450 [==============================] - 82s 183ms/step - loss: 0.0806 - acc: 1.0000 - val_loss: 0.1424 - val_acc: 0.9933\n", "\n", "Epoch 00006: val_acc improved from 0.98667 to 0.99333, saving model to best_model.h5\n", "Epoch 7/30\n", "450/450 [==============================] - 83s 184ms/step - loss: 0.0594 - acc: 1.0000 - val_loss: 0.1288 - val_acc: 0.9867\n", "\n", "Epoch 00007: val_acc did not improve from 0.99333\n", "Epoch 8/30\n", "450/450 [==============================] - 83s 185ms/step - loss: 0.0503 - acc: 1.0000 - val_loss: 0.1375 - val_acc: 0.9733\n", "\n", "Epoch 00008: val_acc did not improve from 0.99333\n", "Epoch 9/30\n", "450/450 [==============================] - 83s 184ms/step - loss: 0.0418 - acc: 1.0000 - val_loss: 0.1053 - val_acc: 0.9933\n", "\n", "Epoch 00009: val_acc did not improve from 0.99333\n", "Epoch 10/30\n", "450/450 [==============================] - 83s 184ms/step - loss: 0.0371 - acc: 1.0000 - val_loss: 0.0912 - val_acc: 0.9933\n", "\n", "Epoch 00010: val_acc did not improve from 0.99333\n", "Epoch 11/30\n", "450/450 [==============================] - 84s 186ms/step - loss: 0.0327 - acc: 1.0000 - val_loss: 0.0840 - val_acc: 0.9933\n", "\n", "Epoch 00011: val_acc did not improve from 0.99333\n", "Epoch 12/30\n", "450/450 [==============================] - 84s 186ms/step - loss: 0.0294 - acc: 1.0000 - val_loss: 0.0999 - val_acc: 0.9867\n", "\n", "Epoch 00012: val_acc did not improve from 0.99333\n", "Epoch 13/30\n", "450/450 [==============================] - 96s 213ms/step - loss: 0.0267 - acc: 1.0000 - val_loss: 0.0799 - val_acc: 0.9933\n", "\n", "Epoch 00013: val_acc did not improve from 0.99333\n", "Epoch 14/30\n", "450/450 [==============================] - 88s 197ms/step - loss: 0.0235 - acc: 1.0000 - val_loss: 0.0754 - val_acc: 0.9933\n", "\n", "Epoch 00014: val_acc did not improve from 0.99333\n", "Epoch 15/30\n", "450/450 [==============================] - 89s 199ms/step - loss: 0.0220 - acc: 1.0000 - val_loss: 0.0789 - val_acc: 0.9867\n", "Restoring model weights from the end of the best epoch\n", "\n", "Epoch 00015: val_acc did not improve from 0.99333\n", "Epoch 00015: early stopping\n", "CPU times: user 12min 52s, sys: 15min 58s, total: 28min 51s\n", "Wall time: 21min 8s\n" ] } ], "source": [ "%%time\n", "hist = History();\n", "es = EarlyStopping(monitor='val_acc', min_delta=0.01, restore_best_weights=True, patience= 10, verbose=1 )\n", "mc = ModelCheckpoint('best_model.h5', monitor='val_acc',save_best_only=True, verbose=1)\n", "\n", "\n", "try:\n", " import google.colab\n", " tbc=TensorBoardColab()\n", " callbacksKeras=[hist,es,mc,TensorBoardColabCallback(tbc)]\n", "\n", "except Exception as e:\n", " callbacksKeras=[hist,es,mc]\n", " print(\"Not inside Google Colab: %s. Using standard configurations.\" % (e))\n", "\n", "\n", "model.fit_generator(featureGenerator(train_set_files, train_classes), \n", " validation_data=(featureGenerator(test_set_files, test_classes)), \n", " validation_steps=150, \n", " steps_per_epoch=450,epochs=30,callbacks=callbacksKeras, verbose=1)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def plot_history(history):\n", " loss_list = [s for s in history.history.keys() if 'loss' in s and 'val' not in s]\n", " val_loss_list = [s for s in history.history.keys() if 'loss' in s and 'val' in s]\n", " acc_list = [s for s in history.history.keys() if 'acc' in s and 'val' not in s]\n", " val_acc_list = [s for s in history.history.keys() if 'acc' in s and 'val' in s]\n", " \n", " if len(loss_list) == 0:\n", " print('Loss is missing in history')\n", " return \n", " \n", " ## As loss always exists\n", " epochs = range(1,len(history.history[loss_list[0]]) + 1)\n", " \n", " ## Loss\n", " plt.figure(1)\n", " for l in loss_list:\n", " plt.plot(epochs, history.history[l], 'b', label='Training loss')\n", " for l in val_loss_list:\n", " plt.plot(epochs, history.history[l], 'g', label='Validation loss')\n", " \n", " plt.title('Loss')\n", " plt.xlabel('Epochs')\n", " plt.ylabel('Loss')\n", " plt.legend()\n", " \n", " ## Accuracy\n", " plt.figure(2)\n", " for l in acc_list:\n", " plt.plot(epochs, history.history[l], 'b', label='Training accuracy')\n", " for l in val_acc_list: \n", " plt.plot(epochs, history.history[l], 'g', label='Validation accuracy')\n", "\n", " plt.title('Accuracy')\n", " plt.xlabel('Epochs')\n", " plt.ylabel('Accuracy')\n", " plt.legend()\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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xIIFC5g7dy5//OMfWblyJcHBwcf1nierrpx9VCs6dYL4eDuuYEx9tH//fqKjo4mJiWHbtm189NFHNf4e/fr146233gJgxYoVPnsipfXu3Zv58+eza9cuCgoKmDVrFgMGDCAnJwdV5aqrruLxxx9n2bJlFBYWkp2dzTnnnMOzzz5LTk4Oh104h971s49qU1AQ9OljoWBMfZSWlkZycjIpKSl06NCBvn371vh7/Pa3v+X6668nNTWVtLQ0UlJSvLt+fElMTOSJJ55g4MCBqCqXXHIJF198McuWLePGG29EVRERxo8fT0FBAddeey0HDhygqKiI+++/n+jo6Br/Gaoix9sdclt6erqezE12nnoKHn7YObYQH1+DhRlTT61Zs4YzzzzT7TLqhIKCAgoKCoiIiGD9+vWcf/75rF+/npCQuvX92te/mYgsVdX0ql5bt36SWlB8XGHxYvAcazLGmGo5ePAg5557LgUFBagqf/vb3+pcIJys+vXTVEPPnhAcDF98YaFgjDk+cXFxLF261O0y/KpBHWgGiIqCrl3tuIIxxvjS4EIBnF1IS5ZABWeiGWNMg9UgQ6FvX2e01OXL3a7EGGPqlgYZCqUvYjPGGFOiQYZC27bQpo2FgjGBYODAgcdciDZx4kRuvfXWSl8XFRUFwNatW7nyyisr3HZVp7hPnDixzEVkF110UY2MS/TYY48xYcKEk95OTWuQoSDi9BYsFIyp+4YNG8asWbPKLJs1axbDhlU6ko5X69atefvtt0/4/cuHwvvvv09cXNwJb6+ua5ChAE4obNoEW7a4XYkxpjJXXnkl7733Hvn5+QBkZWWxdetW+vXr571uIC0tjS5dujB37txjXp+VlUVKSgoAubm5DB06lNTUVK655hpyc3O97W655RbvsNt/+MMfAJg0aRJbt25l0KBBDBo0CICkpCR27twJwHPPPUdKSgopKSneYbezsrI488wzuemmm+jcuTPnn39+mffx5dtvv6V3796kpqYyZMgQ9uzZ433/5ORkUlNTvQPxLViwwHuToe7du3PgwIET/t360uCuUyhWfFxh0SKooGdpjCnndx/+jm+31+zY2d1admPiBRWPtNe0aVN69erFhx9+yODBg5k1axbXXHMNIkJERARz5swhJiaGnTt30rt3by699NIK71P88ssv06hRI5YvX87y5cvLDH391FNP0aRJEwoLCzn33HNZvnw5d9xxB8899xzz58+nWbNmZba1dOlSpk2bxpIlS1BVzjrrLAYMGEB8fDzr169n5syZvPLKK1x99dXMnj270vsjXH/99bzwwgsMGDCARx99lMcff5yJEycybtw4Nm7cSHh4uHeX1YQJE3jppZfo27cvBw8eJCIi4nh+3VVqsD2Fbt0gIsK5iM0YU7eV3oVUeteRqvLggw+SmprKeeedx5YtW/j5558r3M7ChQu9H86pqamkpqZ617311lukpaXRvXt3Vq1aVeVgd59//jlDhgyhcePGREVFcfnll/PZZ58B0L59e7p16wZUPjw3OPd32Lt3LwM8t4QcOXIkCxcu9NY4fPhwpk+f7r1yum/fvtx9991MmjSJvXv31vgV1Q22pxAW5lzdbMcVjKm+yr7R+9Nll13G3XffzbJly8jNzfV+w58xYwY5OTksXbqU0NBQkpKSfA6XXZqvXsTGjRuZMGECX3/9NfHx8dxwww1VbqeyceOKh90GZ+jtqnYfVeTf//43CxcuZN68eTz55JOsWrWKsWPHcvHFF/P+++/Tu3dvPv74Y84444wT2r4vDbanAM4upGXL4AT/vYwxtSQqKoqBAwfy61//uswB5n379tG8eXNCQ0OZP38+mzZtqnQ7Z599NjNmzABg5cqVLPdcrLR//34aN25MbGwsP//8Mx988IH3NdHR0T7325999tm8++67HD58mEOHDjFnzhz69+9/3D9bbGws8fHx3l7GP/7xDwYMGEBRURGbN29m0KBBPPPMM+zdu5eDBw/yww8/0KVLF+6//37S09NZu3btcb9nZRpsTwGcUBg/HjIz4QT+LY0xtWjYsGFcfvnlZc5EGj58OJdccgnp6el069atym/Mt9xyC6NGjSI1NZVu3brRq1cvwLmLWvfu3encufMxw26PHj2aCy+8kFatWjF//nzv8rS0NG644QbvNn7zm9/QvXv3SncVVeT1119nzJgxHD58mA4dOjBt2jQKCwsZMWIE+/btQ1W56667iIuL45FHHmH+/PkEBweTnJzsvYtcTWlwQ2eXtnMnJCTAuHFw//01sklj6h0bOjvwnMzQ2Q1691GzZnD66XZcwRhjijXoUICSi9gCrMNkjDF+YaGQ4exG2rDB7UqMqbsCbTdzQ3ay/1YWCjY4njGVioiIYNeuXRYMAUBV2bVr10ld0Nagzz4COPNMiI11LmIbOdLtaoypexITE8nOziYnJ8ftUkw1REREkJiYeMKvb/ChEBQEffpYT8GYioSGhtK+fXu3yzC1xG+7j0RkqojsEJGVFawXEZkkIhtEZLmIpPlqVxsyMmDVKqiB0XCNMSag+fOYwmvABZWsvxA4zTONBl72Yy2VKj6usHixWxUYY0zd4LdQUNWFwO5KmgwG3lDHYiBORFr5q57KnHWWsxvJdiEZYxo6N88+agNsLvU827Os1kVFQdeuFgrGGONmKPga8NznOW8iMlpEMkUk019nQGRkwJIlUFDgl80bY0xAcDMUsoG2pZ4nAlt9NVTVKaqarqrpCQkJfikmIwMOHoSVPg+LG2NMw+BmKMwDrvechdQb2Keq29wqxi5iM8YY/56SOhNYBHQSkWwRuVFExojIGE+T94EfgQ3AK8Ct/qqlOtq1g1at7E5sxpiGzW8Xr6nqsCrWK3Cbv97/eImUDI5njDENVYMf+6i0jAzIyoKtPo9sGGNM/WehUErxcYVFi9ytwxhj3GKhUEr37hAebruQjDENl4VCKeHh0LOnhYIxpuGyUCgnIwOWLoW8PLcrMcaY2mehUE5GBhw96gSDMcY0NBYK5fTp48xtF5IxpiGyUCineXPo2NEuYjPGNEwWCj4UX8Rmt6Q1xjQ0Fgo+ZGRATg788IPblRhjTO2yUPDBBsczxjRUFgo+JCdDTIyFgjGm4bFQ8CE42DkLyULBGNPQWChUICPDueHOvn1uV2KMMbXHQqECGRnO2UdLlrhdiTHG1B4LhQr06gVBQbYLyRjTsFgoVCAmBrp0sYvYjDENS4MKhSOFR46rfUYGLF4MhYV+KsgYY+qYBhMKc9fOpe3zbdl6oPq3VcvIgIMHnQPOxhjTEDSYUOjSogu7Du/iz1/+udqvsYvYjDENTYMJhQ7xHRjWZRiTl05m1+Fd1XpN+/bQooWFgjGm4WgwoQDwQL8HOHz0MH9Z8pdqtReBvn0tFIwxDUeDCoXkhGSGnDGEF756gf35+6v1mowM+PFH2L7dz8UZY0wd0KBCAeCh/g+xN28vL3/9crXaFx9XWLTIj0UZY0wd0eBCoUfrHvzy1F/y3OLnyD2aW2X7tDQIC7NdSMaYhsGvoSAiF4jIOhHZICJjfayPFZF/ich3IrJKREb5s55iD/Z/kB2HdvDqN69W2TY8HNLT7SI2Y0zD4LdQEJFg4CXgQiAZGCYiyeWa3QasVtWuwEDgzyIS5q+aip3d7mz6ndKPZ754ploXtGVkwNKlkJfn78qMMcZd/uwp9AI2qOqPqnoEmAUMLtdGgWgRESAK2A0U+LEmrwf7Pcjm/ZuZvnx6lW0zMuDIEVi2rBYKM8YYF/kzFNoAm0s9z/YsK+1F4ExgK7ACuFNVi8pvSERGi0imiGTm5OTUSHEXdLyAtFZpjPt8HIVFlY9j0aePM7fjCsaY+s6foSA+lmm5578EvgVaA92AF0Uk5pgXqU5R1XRVTU9ISKiZ4kR4sN+DrN+9nrdXv11p25YtoUMHCwVjTP3nz1DIBtqWep6I0yMobRTwjjo2ABuBM/xYUxlDzhzCGc3O4OnPn0a1fF6VlZHhhEIVzYwxJqD5MxS+Bk4Tkfaeg8dDgXnl2vwEnAsgIi2ATsCPfqypjCAJ4oF+D7D85+X8e/2/K23bty/8/DNs3FhLxRljjAv8FgqqWgDcDnwErAHeUtVVIjJGRMZ4mj0JZIjICuAT4H5V3emvmnwZljKMpLgknvrsqUp7CzY4njGmIfDrdQqq+r6qnq6qp6rqU55lk1V1sufxVlU9X1W7qGqKqlZ9KlANCw0O5b6M+1icvZj5WfMrbNe5M0RHWygYY+q3BndFsy+juo+iZVRLnv7s6QrbBAdD794WCsaY+s1CAYgIieD3fX7PJxs/YUn2kgrbZWTAihWwv3pj6RljTMCxUPAYkz6GJpFNePrzinsLGRlQVARLKs4NY4wJaBYKHlFhUdx51p3MWzePFT+v8NnmrLOceyzYLiRjTH1loVDK7b1uJyosqsLeQmwspKRYKBhj6i8LhVKaRDbh1vRbeWvVW6zftd5nm4wMWLwYCisfGcMYYwKShUI5d/e5m7DgMMZ/Md7n+r59nQPNq1fXcmHGGFMLLBTKaRHVghu738gb373B5n2bj1lvF7EZY+ozCwUf7s24F0WZ8OWEY9Z16ADNm1soGGPqJwsFH9rFtWNE6gheWfYKOw7tKLNOpGRwPGOMqW8sFCowtu9Y8gryeH7R88esy8iADRucAfKMMaY+sVCoQKdmnbiq81W89PVL7M3bW2Zd8XGFRYtcKMwYY/zIQqESD/R7gANHDvDiVy+WWd6jB4SG2i4kY0z9Y6FQiW4tu3HxaRczcfFEDh456F0eEeEEg4WCMaa+sVCowkP9H2JX7i5eWfpKmeUZGZCZCfn5LhVmjDF+YKFQhT5t+zAwaSATFk0gv6AkAfr2dQLhm29cLM4YY2qYhUI1PNT/IbYe2Mrr373uXdanjzO3XUjGmPrEQqEazm1/Lj1b92T8F+MpKCoAoFUraN/eQsEYU79UKxRE5FQRCfc8Higid4hInH9LqztEhIf6P8SPe35k1spZ3uUZGfDFF1DJrZ2NMSagVLenMBsoFJGOwKtAe+CffquqDrqk0yWkNE/hT5//iSItApxQ2L4dsrLcrc0YY2pKdUOhSFULgCHARFW9C2jlv7LqniAJ4oF+D7A6ZzVz184FbHA8Y0z9U91QOCoiw4CRwHueZaH+Kanuurrz1ZwafypPffYUqkpKCkRFWSgYY+qP6obCKKAP8JSqbhSR9sB0/5VVN4UEhTC231iWblvKf3/8LyEhzi06P/vM7cqMMaZmVCsUVHW1qt6hqjNFJB6IVtVxfq6tTrou9TraRLfhqc+eAuCSS2DFCgsGY0z9UN2zjz4VkRgRaQJ8B0wTkef8W1rdFB4Szr0Z97Jw00I+/+lzbroJWrSAxx5zuzJjjDl51d19FKuq+4HLgWmq2gM4r6oXicgFIrJORDaIyNgK2gwUkW9FZJWILKh+6e75TdpvaNaoGU9/9jSNGsH998P//gcLF7pdmTHGnJzqhkKIiLQCrqbkQHOlRCQYeAm4EEgGholIcrk2ccBfgUtVtTNwVXULd1PjsMbc1fsuPtjwAcu2LePmm623YIypH6obCk8AHwE/qOrXItIBWF/Fa3oBG1T1R1U9AswCBpdrcy3wjqr+BKCqOwgQt/W8jZjwGG9vYexYmD8fFgREX8cYY3yr7oHm/1PVVFW9xfP8R1W9ooqXtQE2l3qe7VlW2ulAvOeYxVIRud7XhkRktIhkikhmTk5OdUr2u9iIWG7veTvvrHmHNTlruPlmaNnSegvGmMBW3QPNiSIyR0R2iMjPIjJbRBKrepmPZeUHhAgBegAXA78EHhGR0495keoUVU1X1fSEhITqlFwrftf7d0SGRvKnz/9EZKTTW/j0U2cyxphAVN3dR9OAeUBrnG/7//Isq0w20LbU80Rgq482H6rqIVXdCSwEulazJtclNE7g1vRb+cfyf/DRho8YPdoZKM96C8aYQFXdUEhQ1WmqWuCZXgOq+sr+NXCaiLQXkTBgKE6wlDYX6C8iISLSCDgLWHMc9bvuiUFPkNI8hevmXMfegm2MHescV7DegjEmEFU3FHaKyAgRCfZMI4Bdlb3AM1bS7TgHqNcAb6nqKhEZIyJjPG3WAB8Cy4GvgL+r6soT/WHcEBkayZtXvsnBIwcZMWcEv76xkFat4A9/sNFTjTGBR7Qan1wicgrwIs5QFwp8CdxRfNZQbUpPT9fMzMzaftsqTf1mKjfOu5EnBz1J7HcPc8cdzrULgwa5XZkxxoCILFXV9KraVffso59U9VJVTVDV5qp6Gc6FbMZjVLdRXNvlWv7w6R8484LPaN3aegvGmMBzMndeu7vGqqgHRITJF0+mQ3wHRr13LXfcv4vPPnOuXTDGmEBxMqHg65TTBi06PJpZV8zi54M/81nTUbRqrdZbMMYElJMJBfuo86FH6x48+4tn+feGf5Hxu0l8/rlzbMEYYwJBpaEgIgdEZL+P6QDONQvGhzvOuoNLO13KvLx7Sei61HoLxpiAUWkoqGq0qsb4mKJVNaS2igw0IsLUS6fSIqoFesU1fJG5n08+cbsqY4yp2snsPjKVaNqoKTOvmMkezSLyqjH84TG13oIxps6zUPCjfqf04/GBj5PbcSZfHp7Kxx+7XZExxlTOQsHPxvYby8B25yAX/5b7nl1tvQVjTJ1moeBnwUHB/POK6TQOjeLbjtfw3oe5bpdkjDEVslCoBa2iWzHzqn9Ai5X8ZvbvrLdgjKmzLBRqya/O/CXnN7qfHW2n8PDMt9wuxxhjfLJQqEXv3P4kYTt6M371Tfyw+0e3yzHGmGNYKNSixpGhPJo8k8KCIC6aOpQjhUfcLskYY8qwUKhl996URLMvX+X7Q1/zwMcPul2OMcaUYaFQy8LC4KkRl8NXt/Lc4j/z7+//7XZJxhjjZaHgghtugFPW/plG+7sy8t2RbNm/xe2SjDEGsFBwRVgYPDw2gsOvv8mh/DyGvzOcwqJCt8syxhgLBbeMHAlJ0Z1oteyvLNi0gCcXPul2ScYYY6HglrAweOgh2Pju9ZzT9DqeXPgkn2Z96nZZxpgGzkLBRSNHQlIS7Jn+Vzo26cjwd4aTcyjH7bKMMQ2YhYKLQkPh4YfhmyVR3N7iTXYd3sUNc2+gSIvcLs0Y00BZKLjs+uuhfXt445luTDj/z7y//n2eX/S822UZYxooCwWXFfcWMjOh3c+3MuSMIYz9ZCxfbfnK7dKMMQ2QX0NBRC4QkXUiskFExlbSrqeIFIrIlf6sp6667jro0AEef1z4+yWv0jq6NUPfHsq+vH1ul2aMaWD8FgoiEgy8BFwIJAPDRCS5gnbjgY/8VUtdV9xbWLoUvvgknplXzOSnfT8xau4oO75gjKlV/uwp9AI2qOqPqnoEmAUM9tHut8BsYIcfa6nzRoxweguPPQZ9EjN45hfPMGftHJ7+7Gm3SzPGNCD+DIU2wOZSz7M9y7xEpA0wBJhc2YZEZLSIZIpIZk5O/TxlMzQUHnkEli2Df/0L7up9FyNSR/DI/Ef417p/uV2eMaaB8GcoiI9l5e85NhG4X1UrHeNBVaeoarqqpickJNRYgXXNiBFw6qlObwGEKb+aQo9WPRj+znDW5KxxuTpjTEPgz1DIBtqWep4IbC3XJh2YJSJZwJXAX0XkMj/WVKeFhDi9hW++gXnzIDI0kjnXzCEyNJLBswazN2+v2yUaY+o5f4bC18BpItJeRMKAocC80g1Utb2qJqlqEvA2cKuqvuvHmuq84cOhY0ent6AKbWPb8vZVb7Nx70aunX2tDZxnjPErv4WCqhYAt+OcVbQGeEtVV4nIGBEZ46/3DXTFvYVvv4V3PfHYv11/XrjwBT7Y8AGPzH/E3QKNMfWaqJbfzV+3paena2Zmpttl+FVBAaSkQG6uEw7x8aCq3Pzezbyy7BXevPJNru58tdtlGmMCiIgsVdX0qtrZFc11UEgIvPEGbN0KN97o7EYSEV686EUy2mYwau4ovtv+ndtlGmPqIQuFOqpXLxg3DubMgZdfdpaFBYcx++rZxEfEM3jWYHYe3ulukcaYesdCoQ676y648EK4+25nNxJAy6iWzLlmDtsPbufq/7uagqICd4s0xtQrFgp1WFAQvP46NGkCQ4fCwYPO8p5tejLlkinMz5rPPf+5x90ijTH1ioVCHZeQADNmwPffw+23lyy/vuv13HnWnfxlyV94/dvX3SvQGFOvWCgEgEGDnAHzXn8d/vGPkuUTzp/AOe3P4eb3brahto0xNcJCIUA8+ij07w+33OL0GgBCgkJ488o3aRXdiiFvDmH7we3uFmmMCXgWCgEiJAT++U8ID3eOL+TnO8ubNWrG3KFz2Zu3lyveuoL8gnx3CzXGBDQLhQCSmAivveaMjXTffSXLU1uk8trg1/hy85f89oPfEmgXJBpj6g4LhQBzySVw550waRLMnVuy/KrOV/FAvwd4ZdkrTM6sdCRyY4ypkIVCABo/HtLSYNQo2FzqjhVPDnqSi067iDs+vIOFmxa6V6AxJmBZKASg8HCYNQuOHoVhw5yxkgCCg4L55+X/pEN8B65860o279tc+YaMMaYcC4UAddppMHkyfPEFPP54yfLYiFjmDp1LfmE+l715GblHc90r0hgTcCwUAtjw4c4upKeegv/9r2T5Gc3OYMblM/hm2zfc9K+b7MCzMabaLBQC3AsvQKdOTkDs2FGy/Fen/4onBj3BjBUzeG78u1iQAAATv0lEQVTRc+4VaIwJKBYKAa5xY3jzTdizB0aOhKKiknUP9X+IK868gvs+vo///vBf94o0xgQMC4V6IDUVnn8ePvwQ/vznkuUiwmuXvUbnhM5c8/Y1/LD7B/eKNMYEBAuFemLMGLjiCnjwQViypGR5VFgU7w517ut52ZuXcfDIQZcqNMYEAguFekIEXnkF2rRxhsHYu7dkXYf4Drx11VuszlnNyHdHUqRFFW/IGNOgWSjUI/HxMHOmc0Hb6NHObTyLndfhPJ79xbO8s+YdLph+AWty1rhXqDGmzrJQqGf69HFOUf2//3N6DqXd1fsuXrjwBb7e+jWpk1P5/Ue/Z1/ePncKNcbUSRYK9dC998L55ztjJK1YUbJcRLi91+18f/v3/Lrbr3l+8fOc/uLpTP1mqu1SMsYAFgr1UlAQvPEGxMbCNdfAoUNl1yc0TuBvl/yNzNGZdGzSkRvn3Ujvv/dmcfZidwo2xtQZFgr1VIsWMH06rF3r9Bh8SWuVxuejPmf6kOlsObCFPq/24YZ3b2DbgW21W6wxps6wUKjHzjsPHngAXn3VOQDti4gwPHU4625fxwP9HmDmypl0erETz37xLEcKj9RuwcYY1/k1FETkAhFZJyIbRGSsj/XDRWS5Z/pSRLr6s56G6LHHICMDbr4ZNmyouF1UWBRPn/s0q25dxcCkgdz38X10ebkLH6z/oNZqNca4z2+hICLBwEvAhUAyMExEkss12wgMUNVU4Elgir/qaahCQ53beAYHO9cvHKniy3/HJh2ZN2we71/7PgAX/fMiLpl5CRt2V5Ioxph6w589hV7ABlX9UVWPALOAwaUbqOqXqrrH83QxkOjHehqsdu1g6lRYutTZnVQdF552IStuWcGzv3iWBVkL6PzXzoz9eCwH8g/4t1hjjKv8GQptgNJ3ecn2LKvIjYDPfRUiMlpEMkUkMycnpwZLbDiGDIHbboPnnoM//cm5QU9VwoLDuCfjHr7/7fdc2+Vaxn8xnk4vdmL68uk2HLcx9ZQ/Q0F8LPP5SSIig3BC4X5f61V1iqqmq2p6QkJCDZbYsEyYAJdf7oyPlJ4OX31Vvde1jGrJtMHTWHzjYhJjErluznX0m9aPpVuX+rdgY0yt82coZANtSz1PBLaWbyQiqcDfgcGqusuP9TR4EREwezbMmQO7dkHv3nDHHXCgmnuEzko8i8W/WczUS6eyYfcGer7Sk5vm3cSOQzuqfrExJiD4MxS+Bk4TkfYiEgYMBeaVbiAipwDvANep6vd+rMWUctllsHq1szvpxRchORnmzav6dQBBEsSo7qP4/vbvubvP3bz23Wuc/sLpTPhyAj/u+dF2KxkT4MSf/4lF5CJgIhAMTFXVp0RkDICqThaRvwNXAJs8LylQ1fTKtpmenq6ZmZl+q7mhWbzYGTxvxQpn19KkSc5Iq9W1duda7vzwTv7zw38AaBPdhgFJAxjQbgBntzubTk07IeJrT6IxpjaJyNKqPl/Bz6HgDxYKNe/oUefmPI8/7pzCOm6cc3+GoGr2I1WVNTvXsCBrAQs2OdP2g9sBaNG4BWe3O5uz253NgHYD6Ny8M0Fi10waU9ssFMxx++EHJww+/tgZbXXKFEhJOf7tqCrrd69n4aaFTkhkLWDzfudEtCaRTeh/Sn8GtBvAgKQBdG3RleCg4Br+SYwx5VkomBOiCjNmwF13OTfque8+ePhhiIw8mW0qm/Zt8vYkFm5ayA97nFuDxoTH0O+Ufk5ItBtAWqs0QoNDa+inMcYUs1AwJ2XnTrjnHnj9dejYESZPhnPPrbntZ+/PZuGmhd7exNqdawFoHNqYjLYZ3mMS6a3TiQw9iUQyxgAWCqaGfPKJs0tpwwYYOdK51qFZs5p/n58P/lwmJFbsKLkRRNPIprSJaUObaM8UUzJvHd2aNtFtaNaomSsHtPMK8tiTu4c9eXs4eOQgZzY7k+jw6Fqvw5iqWCiYGpOb69zNbfx45x4Nzz8PI0Y494X2l925u/ls02es3LGSLQe2ONP+LWTvz2bHoR1ouesgw4LDvAFRWYBEhEQc815HCo94P9hLz3fn7i67LM+zrFSb3ILcMtsKlmB6tO7BwHYDGZA0gH6n9CMmPMZ/vyhjqslCwdS4lSud01cXLXJ2JU2e7Oxaqm1HC4+y7eA2tux3wmLrga3ex8XhseXAFg4fPXzMa4t7Harq/WA/dPSQj3cpER0WTXxkPPER8d55k8gmZZ7HR8YTERLB0q1L+XTTpyzJXsLRoqMESRA9WvVgYNJABrRzQiI2ItZfvxpjKmShYPyiqAj+9jcYO9YZcfXRR51jD6F17NiwqrIvf19JWJSbB0kQ8ZHxNIloUuaDvfyHfVxE3Akd+D589DCLNi9iwaYFfJr1KUu2LOFI4RGCJIi0VmkMaDeAgUkD6X9KfwsJUyssFIxfbd3qDJExezZ06QIvv+zct8GuU/Mt92gui7MX82nWp3y66VMWZy/2hkT3lt1LQqJdf+Ii4twu19RDFgqmVsyb5wyXkZ3tXAk9aBAMHOjM27e3kKhI7tFclmxZ4oRElhMS+YX5CEK3lt0YmDTQ25OIj4x3u1xTD1gomFpz4IBzbcP8+fDpp7DDMz5e27ZlQyIpycUi67i8gjyWZC/x9iQWbV7kDYnkhGSS4pJIjEn0OUWFRbldvgkAFgrGFaqwZo0TDsUhsXOns65du5KAGDjQeW58yyvI46stX/Fp1qdkbs0ke3822fuzyTl87P1EYsNjSYxJpE1MGxKjfQdHXERcnR+Dam/eXjbt3UTW3iw27Ss733ZgG4kxiZzR7Aw6Ne3kzJt14rQmpxEeEu526QHBQsHUCUVFzoisxSGxYIEzbDc4u5dKh0TbtpVsyABOWGw9sNUbEr6m7Qe3H3PKbqPQRmWDIjqR5o2bExsRS0x4DDHhMcSGlzyOCY+hUWijGgsSVWV37u6SD3vPh3/WvpLH+/L3lXlNZEgkSXFJtItrR8uolmTvz2btzrVk78/2tgmSINrHtadTs06c0dQJiuLgaN64eZ0PwtpkoWDqpKIi59TW0iGxx3ND1lNPLRsSxzNaqylR+pTdMoFxoOTx1gNbKSgqqHQ7wRJcJiQqC5Di59Hh0ezJ3ePz2/7BIwfLbD8qLIqkuCTngz+2Xdl5XDsSGiX4/FA/eOQg3+/6nrU717Ju5zrW7nLm63atI68gz9suLiKubM/CMz+1yamEBYfVzC87gFgomIBQVATLl5eExMKFzphLAKed5pzR1Lmzc8+H5GRnl1N1R281FSssKmRv3l725+8vM+3L31f2ed4+9h8p97zU+vIX75UWFxHn/ZAv/4GfFJdEfER8jX6TL9IiNu/bzNqda53A2LXOO996oOT+XsESTIf4DpzR7Azax7WncVhjIkMiiQyNPGYeERJR4brIEGf98f4MRVpEfkE+RwqPkF+YT35Bvnde1bKU5in0bNPzhH4/FgomIBUWwnfflYREZiZs316yPjISzjzTmYqDIjkZOnSAkBDXym6wjhQe4UD+gTKhUhwGden6i/35+4/pXazduZaf9v3E4aOHq+w1VaY4OCJCIrxhESRBFX7Qn8x73ZdxH+N/Mf6EXmuhYOqN3budg9dr1jjHJ4qnzZtL2oSFQadOZYMiOdm54jqs4e0pMMepoKiA3KO55Bbkkns0l7yCPO/j6szzCvJKlhXkUqRFhAeHEx4STnhwOGHBYWWeh4ec2LL4iPgTDlsLBVPv7d8Pa9c6AVE6MDZudM6CAqf30LHjsWGRmAhxcRBst3IwDUR1Q8E63CZgxcRAr17OVNrhw7BuXdmwWLUK5s51dk8VE3GCoUmTiqemTY9dFh9vu6pM/WV/2qbeadQIund3ptLy82H9eicktm93dksVT7t2OfMffnDme/aU9DZ8iYk5Njji48tOcXHHPo+NtQPlpm6zUDANRni4c3vR6txitKgI9u07NjQqmjZtKgmT0r2R8kScYPAVGBU9jotzgi4ysmSy3V7GXywUjPEhKKjkg/nUU6v/OlU4dMgJhz17nNNrix+Xf178eM2akse5FZ/hWUZYmBMOpcPieB4XzyMiStZV9NhCqGGxUDCmBolAVJQzncgV2vn5xwbH3r1OWOTmOsdLSs99Pd6zB7ZsOXZ9fv6J/1whIVWHR/HjiAgntMLCnN6Zr3ll6ypqExrqTGFhTj12sbJ/WCgYU4eEh0OLFs5U0woLIS+vbFAUPy//uLJ1vh7v31+y7MgRJ4CK5ycTRpUJCSkJidKBUfy4snXFj4vD50QDrKJ1ISFO78rXFBRUtwPNQsGYBiI4GBo3dqbapOoEUumg8DWvbF1+Phw9WjIdOVL14/LPDx06dl35qfh9/C0oqOLAqChMgoPhppvg7rv9W5tfQ0FELgD+AgQDf1fVceXWi2f9RcBh4AZVXebPmowxtUvE+eYcElL7gXQiVCsOqeqG2tGjThAez1RUVHUbf/Qgy/NbKIhIMPAS8AsgG/haROap6upSzS4ETvNMZwEve+bGGOMKEWcXUHg4REe7XU3t8+cZ072ADar6o6oeAWYBg8u1GQy8oY7FQJyItPJjTcYYYyrhz1BoA5QanYZsz7LjbWOMMaaW+DMUfB1fL3+NaHXaICKjRSRTRDJzco6985Qxxpia4c9QyAZKn6mdCGw9gTao6hRVTVfV9ISEhBov1BhjjMOfofA1cJqItBeRMGAoMK9cm3nA9eLoDexT1W1+rMkYY0wl/Hb2kaoWiMjtwEc4p6ROVdVVIjLGs34y8D7O6agbcE5JHeWveowxxlTNr9cpqOr7OB/8pZdNLvVYgdv8WYMxxpjqs0F8jTHGeAXcnddEJAfY5HYd5TQDdrpdxHEIpHoDqVYIrHoDqVYIrHrrYq3tVLXKM3UCLhTqIhHJrM5t7uqKQKo3kGqFwKo3kGqFwKo3kGotz3YfGWOM8bJQMMYY42WhUDOmuF3AcQqkegOpVgisegOpVgisegOp1jLsmIIxxhgv6ykYY4zxslAwxhjjZaFwEkSkrYjMF5E1IrJKRO50u6aqiEiwiHwjIu+5XUtVRCRORN4WkbWe33Eft2uqiIjc5fkbWCkiM0Ukwu2aShORqSKyQ0RWllrWRET+KyLrPfN4N2ssVkGtz3r+DpaLyBwRiXOzxtJ81Vtq3T0ioiLSzI3aToSFwskpAH6vqmcCvYHbRCTZ5Zqqciewxu0iqukvwIeqegbQlTpat4i0Ae4A0lU1BWesr6HuVnWM14ALyi0bC3yiqqcBn3ie1wWvcWyt/wVSVDUV+B54oLaLqsRrHFsvItIW586TP9V2QSfDQuEkqOq24ntKq+oBnA+tOnuTIBFJBC4G/u52LVURkRjgbOBVAFU9oqp73a2qUiFApIiEAI3wMQS8m1R1IbC73OLBwOuex68Dl9VqURXwVauq/kdVCzxPF+MMs18nVPC7BXgeuA8f94ipyywUaoiIJAHdgSXuVlKpiTh/pEVuF1INHYAcYJpnd9ffRaRO3vZdVbcAE3C+EW7DGQL+P+5WVS0tioeq98ybu1xPdf0a+MDtIiojIpcCW1T1O7drOV4WCjVARKKA2cDvVHW/2/X4IiK/Anao6lK3a6mmECANeFlVuwOHqDu7N8rw7IsfDLQHWgONRWSEu1XVTyLyEM5u2xlu11IREWkEPAQ86nYtJ8JC4SSJSChOIMxQ1XfcrqcSfYFLRSQLmAWcIyLT3S2pUtlAtqoW97zexgmJuug8YKOq5qjqUeAdIMPlmqrjZxFpBeCZ73C5nkqJyEjgV8BwrdsXWJ2K8wXhO8//t0RgmYi0dLWqarJQOAkiIjj7vNeo6nNu11MZVX1AVRNVNQnnIOj/VLXOfptV1e3AZhHp5Fl0LrDaxZIq8xPQW0Qaef4mzqWOHhQvZx4w0vN4JDDXxVoqJSIXAPcDl6rqYbfrqYyqrlDV5qqa5Pn/lg2kef6m6zwLhZPTF7gO51v3t57pIreLqkd+C8wQkeVAN+Bpl+vxydObeRtYBqzA+X9Vp4Y5EJGZwCKgk4hki8iNwDjgFyKyHucsmXFu1lisglpfBKKB/3r+n02udCO1qIJ6A5YNc2GMMcbLegrGGGO8LBSMMcZ4WSgYY4zxslAwxhjjZaFgjDHGy0LBGA8RKSx1avG3IlJjV1CLSJKvUTSNqWtC3C7AmDokV1W7uV2EMW6ynoIxVRCRLBEZLyJfeaaOnuXtROQTzxj/n4jIKZ7lLTxj/n/nmYqHvAgWkVc89134j4hEetrfISKrPduZ5dKPaQxgoWBMaZHldh9dU2rdflXthXNl7UTPsheBNzxj/M8AJnmWTwIWqGpXnPGaVnmWnwa8pKqdgb3AFZ7lY4Hunu2M8dcPZ0x12BXNxniIyEFVjfKxPAs4R1V/9AyAuF1Vm4rITqCVqh71LN+mqs1EJAdIVNX8UttIAv7ruaENInI/EKqqfxSRD4GDwLvAu6p60M8/qjEVsp6CMdWjFTyuqI0v+aUeF1JyTO9i4CWgB7DUc6MeY1xhoWBM9VxTar7I8/hLSm67ORz43PP4E+AW8N4TO6aijYpIENBWVefj3AApDjimt2JMbbFvJMaUiBSRb0s9/1BVi09LDReRJThfpIZ5lt0BTBWRe3HuEjfKs/xOYIpntMxCnIDYVsF7BgPTRSQWEOD5On7bUVPP2TEFY6rgOaaQrqo73a7FGH+z3UfGGGO8rKdgjDHGy3oKxhhjvCwUjDHGeFkoGGOM8bJQMMYY42WhYIwxxuv/ATb9xrVSTfI4AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_history(hist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Evaluate Model" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "150/150 [==============================] - 18s 118ms/step\n" ] } ], "source": [ "saved_model = load_model('best_model.h5')\n", "test_pred = saved_model.predict_generator(featureGenerator(test_set_files, test_classes), steps=150,verbose=1)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "predictions_round=np.around(test_pred).astype('int');\n", "predictions_int=np.argmax(predictions_round,axis=1);\n", "predictions_labels=labelencoder.inverse_transform(np.ravel(predictions_int));" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Recall: [1. 1. 1. 1. 1. 0.92]\n", "Precision: [0.96153846 1. 1. 0.96153846 1. 1. ]\n", "F1-Score: [0.98039216 1. 1. 0.98039216 1. 0.95833333]\n", "Accuracy: 0.99 , 148\n", "Number of samples: 150\n", " precision recall f1-score support\n", "\n", " 0 0.96 1.00 0.98 25\n", " 1 1.00 1.00 1.00 25\n", " 2 1.00 1.00 1.00 25\n", " 3 0.96 1.00 0.98 25\n", " 4 1.00 1.00 1.00 25\n", " 5 1.00 0.92 0.96 25\n", "\n", " micro avg 0.99 0.99 0.99 150\n", " macro avg 0.99 0.99 0.99 150\n", "weighted avg 0.99 0.99 0.99 150\n", "\n" ] } ], "source": [ "# Recall - the ability of the classifier to find all the positive samples\n", "print(\"Recall: \", recall_score(classes_num[test_index], predictions_int,average=None))\n", "\n", "# Precision - The precision is intuitively the ability of the classifier not to \n", "#label as positive a sample that is negative\n", "print(\"Precision: \", precision_score(classes_num[test_index], predictions_int,average=None))\n", "\n", "# F1-Score - The F1 score can be interpreted as a weighted average of the precision \n", "#and recall\n", "print(\"F1-Score: \", f1_score(classes_num[test_index], predictions_int, average=None))\n", "\n", "# Accuracy - the number of correctly classified samples\n", "print(\"Accuracy: %.2f ,\" % accuracy_score(classes_num[test_index], predictions_int,normalize=True), accuracy_score(classes_num[test_index], predictions_int,normalize=False) )\n", "print(\"Number of samples:\",classes_num[test_index].shape[0])\n", "\n", "print(classification_report(classes_num[test_index], predictions_int))" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# Compute confusion matrix\n", "cnf_matrix = confusion_matrix(classes_num[test_index], predictions_int)\n", "np.set_printoptions(precision=2)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# Function to Plot Confusion Matrix\n", "# http://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html\n", "def plot_confusion_matrix(cm, classes,\n", " normalize=False,\n", " title='Confusion matrix',\n", " cmap=plt.cm.Blues):\n", " \"\"\"\n", " This function prints and plots the confusion matrix.\n", " Normalization can be applied by setting `normalize=True`.\n", " \n", " if normalize:\n", " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]\n", " print(\"Normalized confusion matrix\")\n", " else:\n", " print('Confusion matrix, without normalization')\n", " \"\"\"\n", " #print(cm)\n", "\n", " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", " plt.title(title)\n", " plt.colorbar()\n", " tick_marks = np.arange(len(classes))\n", " plt.xticks(tick_marks, classes, rotation=45)\n", " plt.yticks(tick_marks, classes)\n", "\n", " fmt = '.2f' if normalize else 'd'\n", " thresh = cm.max() / 2.\n", " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", " plt.text(j, i, format(cm[i, j], fmt),\n", " horizontalalignment=\"center\",\n", " color=\"white\" if cm[i, j] > thresh else \"black\")\n", "\n", " plt.tight_layout()\n", " plt.ylabel('True label')\n", " plt.xlabel('Predicted label')" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plot non-normalized confusion matrix\n", "plt.figure(figsize=(16,12))\n", "plot_confusion_matrix(cnf_matrix, classes=labelencoder.classes_,\n", " title='Confusion matrix, without normalization')" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "# Find wrong predicted samples indexes\n", "wrong_predictions = [i for i, (e1, e2) in enumerate(zip(classes_num[test_index], predictions_int)) if e1 != e2]\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['viola' 'viola']\n", "['cello' 'sax']\n", "['./audio/london_phill_dataset_multi/viola/viola_Ds3_05_mezzo-piano_arco-normal.mp3'\n", " './audio/london_phill_dataset_multi/viola/viola_Gs3_15_piano_arco-normal.mp3']\n" ] } ], "source": [ "# Find wrong predicted audio files\n", "print(np.array(labels)[test_index[wrong_predictions]])\n", "print(predictions_labels[wrong_predictions].T)\n", "print(np.array(files)[test_index[wrong_predictions]])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }