diff --git a/prathamesh/emotional-speech-recognition.ipynb b/prathamesh/emotional-speech-recognition.ipynb new file mode 100644 index 00000000..5ad605e8 --- /dev/null +++ b/prathamesh/emotional-speech-recognition.ipynb @@ -0,0 +1 @@ +{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.7.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"#
Emotional Speech Recognition","metadata":{}},{"cell_type":"code","source":"import os\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\n# librosa is a Python library for analyzing audio and music.\n# It can be used to extract the data from the audio files we will see it later\nimport librosa \nimport librosa.display\n\n# to play the audio files\nfrom IPython.display import Audio\nplt.style.use('seaborn-white')","metadata":{"_uuid":"a399e368-7306-4d35-992c-77760316a39e","_cell_guid":"7e18703a-b1a4-43af-9d09-13261b337ca3","execution":{"iopub.status.busy":"2023-10-15T08:30:23.439187Z","iopub.execute_input":"2023-10-15T08:30:23.439818Z","iopub.status.idle":"2023-10-15T08:30:25.679954Z","shell.execute_reply.started":"2023-10-15T08:30:23.439762Z","shell.execute_reply":"2023-10-15T08:30:25.678793Z"},"trusted":true},"execution_count":1,"outputs":[]},{"cell_type":"markdown","source":"** Since the feature extraction require a huge amount of time, before we start, in the codelines below, specify if there are already dataframes available and if so the path of those ones. ","metadata":{}},{"cell_type":"code","source":"DATA_FRAMES = True\nfem_path = '../input/features/Female_features.csv'\nmal_path = '../input/features/Male_features.csv'","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:25.681900Z","iopub.execute_input":"2023-10-15T08:30:25.682183Z","iopub.status.idle":"2023-10-15T08:30:25.685795Z","shell.execute_reply.started":"2023-10-15T08:30:25.682138Z","shell.execute_reply":"2023-10-15T08:30:25.685041Z"},"trusted":true},"execution_count":2,"outputs":[]},{"cell_type":"markdown","source":"#
Emotions Speech datasets
\n\n**Content**\nData set contains files from RAVDESS speechs, CREMA-D, SAVEE, TESS.\n \nOut of all files data sets make up:\n* CREMA-D - 7,442 \n* TESS - 2,800 \n* RAVDESS - 2,076 \n* SAVEE - 480","metadata":{"_uuid":"c48bfdd2-3a51-4d8c-91b4-b776abb04c16","_cell_guid":"a981411f-b899-458e-8733-14a260731e4a","trusted":true}},{"cell_type":"code","source":"TESS = \"../input/toronto-emotional-speech-set-tess/tess toronto emotional speech set data/TESS Toronto emotional speech set data/\"\nRAV = \"../input/ravdess-emotional-speech-audio/audio_speech_actors_01-24/\"\nSAVEE = \"../input/surrey-audiovisual-expressed-emotion-savee/ALL/\"\nCREMA = \"../input/cremad/AudioWAV/\"","metadata":{"_uuid":"142fee18-07b4-49df-a886-4ee6a3c2e3d7","_cell_guid":"7072a6fc-9273-4fb3-89c6-7e1e7246a484","execution":{"iopub.status.busy":"2023-10-15T08:30:25.686785Z","iopub.execute_input":"2023-10-15T08:30:25.687141Z","iopub.status.idle":"2023-10-15T08:30:25.700107Z","shell.execute_reply.started":"2023-10-15T08:30:25.687107Z","shell.execute_reply":"2023-10-15T08:30:25.699108Z"},"trusted":true},"execution_count":3,"outputs":[]},{"cell_type":"code","source":"# Get the data location for SAVEE\ndir_list = os.listdir(SAVEE)\n\n# parse the filename to get the emotions\nemotion=[]\npath = []\nfor i in dir_list:\n if i[-8:-6]=='_a':\n emotion.append('angry')\n elif i[-8:-6]=='_d':\n emotion.append('disgust')\n elif i[-8:-6]=='_f':\n emotion.append('fear')\n elif i[-8:-6]=='_h':\n emotion.append('happy')\n elif i[-8:-6]=='_n':\n emotion.append('neutral')\n elif i[-8:-6]=='sa':\n emotion.append('sad')\n elif i[-8:-6]=='su':\n emotion.append('surprise')\n else:\n emotion.append('unknown') \n path.append(SAVEE + i)\n\n# Now check out the label count distribution \nSAVEE_df = pd.DataFrame(emotion, columns = ['labels'])\nSAVEE_df = pd.concat([SAVEE_df, pd.DataFrame(path, columns = ['path'])], axis = 1)\nprint('SAVEE dataset')\nSAVEE_df.head()","metadata":{"_uuid":"1d64dee5-8878-49e3-b6b8-13fa0f528588","_cell_guid":"a78f27ff-88d3-4220-bef3-ce16e2472153","execution":{"iopub.status.busy":"2023-10-15T08:30:25.701600Z","iopub.execute_input":"2023-10-15T08:30:25.701882Z","iopub.status.idle":"2023-10-15T08:30:26.021165Z","shell.execute_reply.started":"2023-10-15T08:30:25.701855Z","shell.execute_reply":"2023-10-15T08:30:26.020361Z"},"trusted":true},"execution_count":4,"outputs":[{"name":"stdout","text":"SAVEE dataset\n","output_type":"stream"},{"execution_count":4,"output_type":"execute_result","data":{"text/plain":" labels path\n0 happy ../input/surrey-audiovisual-expressed-emotion-...\n1 fear ../input/surrey-audiovisual-expressed-emotion-...\n2 happy ../input/surrey-audiovisual-expressed-emotion-...\n3 disgust ../input/surrey-audiovisual-expressed-emotion-...\n4 angry ../input/surrey-audiovisual-expressed-emotion-...","text/html":"
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
labelspath
0happy../input/surrey-audiovisual-expressed-emotion-...
1fear../input/surrey-audiovisual-expressed-emotion-...
2happy../input/surrey-audiovisual-expressed-emotion-...
3disgust../input/surrey-audiovisual-expressed-emotion-...
4angry../input/surrey-audiovisual-expressed-emotion-...
\n
"},"metadata":{}}]},{"cell_type":"code","source":"# Get the data location for TESS\npath = []\nemotion = []\ndir_list = os.listdir(TESS)\n\nfor i in dir_list:\n fname = os.listdir(TESS + i) \n for f in fname:\n if i == 'OAF_angry' or i == 'YAF_angry':\n emotion.append('angry')\n elif i == 'OAF_disgust' or i == 'YAF_disgust':\n emotion.append('disgust')\n elif i == 'OAF_Fear' or i == 'YAF_fear':\n emotion.append('fear')\n elif i == 'OAF_happy' or i == 'YAF_happy':\n emotion.append('happy')\n elif i == 'OAF_neutral' or i == 'YAF_neutral':\n emotion.append('neutral') \n elif i == 'OAF_Pleasant_surprise' or i == 'YAF_pleasant_surprised':\n emotion.append('surprise') \n elif i == 'OAF_Sad' or i == 'YAF_sad':\n emotion.append('sad')\n else:\n emotion.append('Unknown')\n path.append(TESS + i + \"/\" + f)\n\nTESS_df = pd.DataFrame(emotion, columns = ['labels'])\n#TESS_df['source'] = 'TESS'\nTESS_df = pd.concat([TESS_df,pd.DataFrame(path, columns = ['path'])],axis=1)\nprint('TESS dataset')\nTESS_df.head()","metadata":{"_uuid":"0e76fe25-cb0e-4816-b5b0-331fdce27070","_cell_guid":"7f8faee9-ebb5-4147-a013-39eb98c725c4","execution":{"iopub.status.busy":"2023-10-15T08:30:26.023688Z","iopub.execute_input":"2023-10-15T08:30:26.024073Z","iopub.status.idle":"2023-10-15T08:30:26.949247Z","shell.execute_reply.started":"2023-10-15T08:30:26.024044Z","shell.execute_reply":"2023-10-15T08:30:26.948180Z"},"trusted":true},"execution_count":5,"outputs":[{"name":"stdout","text":"TESS dataset\n","output_type":"stream"},{"execution_count":5,"output_type":"execute_result","data":{"text/plain":" labels path\n0 fear ../input/toronto-emotional-speech-set-tess/tes...\n1 fear ../input/toronto-emotional-speech-set-tess/tes...\n2 fear ../input/toronto-emotional-speech-set-tess/tes...\n3 fear ../input/toronto-emotional-speech-set-tess/tes...\n4 fear ../input/toronto-emotional-speech-set-tess/tes...","text/html":"
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
labelspath
0fear../input/toronto-emotional-speech-set-tess/tes...
1fear../input/toronto-emotional-speech-set-tess/tes...
2fear../input/toronto-emotional-speech-set-tess/tes...
3fear../input/toronto-emotional-speech-set-tess/tes...
4fear../input/toronto-emotional-speech-set-tess/tes...
\n
"},"metadata":{}}]},{"cell_type":"code","source":"# Importing datas from RAVDESS\ndir = os.listdir(RAV)\n\nmales = []\nfemales = [] \n \nfor actor in dir:\n \n files = os.listdir(RAV + actor)\n \n for file in files: \n part = file.split('.')[0]\n part = part.split(\"-\") \n \n temp = int(part[6]) \n \n if part[2] == '01':\n emotion = 'neutral'\n elif part[2] == '02':\n emotion = 'calm'\n elif part[2] == '03':\n emotion = 'happy'\n elif part[2] == '04':\n emotion = 'sad'\n elif part[2] == '05':\n emotion = 'angry'\n elif part[2] == '06':\n emotion = 'fear'\n elif part[2] == '07':\n emotion = 'disgust'\n elif part[2] == '08':\n emotion = 'surprise'\n else:\n emotion = 'unknown'\n \n if temp%2 == 0:\n path = (RAV + actor + '/' + file)\n #emotion = 'female_'+emotion\n females.append([emotion, path]) \n else:\n path = (RAV + actor + '/' + file)\n #emotion = 'male_'+emotion\n males.append([emotion, path]) \n \n \nRavFemales_df = pd.DataFrame(females)\nRavFemales_df.columns = ['labels', 'path']\n\nRavMales_df = pd.DataFrame(males)\nRavMales_df.columns = ['labels', 'path']\n\nprint('RAVDESS datasets')\nRavFemales_df.head()","metadata":{"_uuid":"d34c2cbb-a405-4f5f-b408-7036c94c5358","_cell_guid":"221fd993-f8d0-4099-a9db-e82873b95a76","execution":{"iopub.status.busy":"2023-10-15T08:30:26.952698Z","iopub.execute_input":"2023-10-15T08:30:26.953127Z","iopub.status.idle":"2023-10-15T08:30:27.545076Z","shell.execute_reply.started":"2023-10-15T08:30:26.953084Z","shell.execute_reply":"2023-10-15T08:30:27.544200Z"},"trusted":true},"execution_count":6,"outputs":[{"name":"stdout","text":"RAVDESS datasets\n","output_type":"stream"},{"execution_count":6,"output_type":"execute_result","data":{"text/plain":" labels path\n0 surprise ../input/ravdess-emotional-speech-audio/audio_...\n1 neutral ../input/ravdess-emotional-speech-audio/audio_...\n2 disgust ../input/ravdess-emotional-speech-audio/audio_...\n3 disgust ../input/ravdess-emotional-speech-audio/audio_...\n4 neutral ../input/ravdess-emotional-speech-audio/audio_...","text/html":"
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
labelspath
0surprise../input/ravdess-emotional-speech-audio/audio_...
1neutral../input/ravdess-emotional-speech-audio/audio_...
2disgust../input/ravdess-emotional-speech-audio/audio_...
3disgust../input/ravdess-emotional-speech-audio/audio_...
4neutral../input/ravdess-emotional-speech-audio/audio_...
\n
"},"metadata":{}}]},{"cell_type":"code","source":"RavMales_df.head()","metadata":{"_uuid":"933a3449-7f09-40cd-b984-df2198f4c291","_cell_guid":"031a3f2e-8331-47db-9853-fd6c8e7c3598","execution":{"iopub.status.busy":"2023-10-15T08:30:27.546304Z","iopub.execute_input":"2023-10-15T08:30:27.546549Z","iopub.status.idle":"2023-10-15T08:30:27.556063Z","shell.execute_reply.started":"2023-10-15T08:30:27.546518Z","shell.execute_reply":"2023-10-15T08:30:27.555094Z"},"trusted":true},"execution_count":7,"outputs":[{"execution_count":7,"output_type":"execute_result","data":{"text/plain":" labels path\n0 calm ../input/ravdess-emotional-speech-audio/audio_...\n1 angry ../input/ravdess-emotional-speech-audio/audio_...\n2 happy ../input/ravdess-emotional-speech-audio/audio_...\n3 calm ../input/ravdess-emotional-speech-audio/audio_...\n4 disgust ../input/ravdess-emotional-speech-audio/audio_...","text/html":"
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
labelspath
0calm../input/ravdess-emotional-speech-audio/audio_...
1angry../input/ravdess-emotional-speech-audio/audio_...
2happy../input/ravdess-emotional-speech-audio/audio_...
3calm../input/ravdess-emotional-speech-audio/audio_...
4disgust../input/ravdess-emotional-speech-audio/audio_...
\n
"},"metadata":{}}]},{"cell_type":"code","source":"files = os.listdir(CREMA)\n\nfemale = [1002,1003,1004,1006,1007,1008,1009,1010,1012,1013,1018,1020,1021,1024,1025,1028,1029,1030,1037,1043,1046,1047,1049,\n 1052,1053,1054,1055,1056,1058,1060,1061,1063,1072,1073,1074,1075,1076,1078,1079,1082,1084,1089,1091]\nmales = []\nfemales = []\n\nfor file in files: \n part = file.split('_') \n \n if part[2] == 'SAD':\n emotion = 'sad'\n elif part[2] == 'ANG':\n emotion = 'angry'\n elif part[2] == 'DIS':\n emotion = 'disgust'\n elif part[2] == 'FEA':\n emotion = 'fear'\n elif part[2] == 'HAP':\n emotion = 'happy'\n elif part[2] == 'NEU':\n emotion = 'neutral' \n else:\n emotion = 'unknown'\n \n if int(part[0]) in female:\n path = (CREMA + '/' + file)\n #emotion = 'female_'+emotion\n females.append([emotion, path]) \n else:\n path = (CREMA + '/' + file)\n #emotion = 'male_'+emotion\n males.append([emotion, path]) \n \nCremaFemales_df = pd.DataFrame(females)\nCremaFemales_df.columns = ['labels', 'path']\n\nCremaMales_df = pd.DataFrame(males)\nCremaMales_df.columns = ['labels', 'path']\n \nprint('CREMA datasets')\nCremaFemales_df.head()","metadata":{"_uuid":"5e4028e1-2f7c-4afc-8e9a-b817e2b0e0fc","_cell_guid":"e8294225-2e2b-4377-92df-b06c13413a07","execution":{"iopub.status.busy":"2023-10-15T08:30:27.557894Z","iopub.execute_input":"2023-10-15T08:30:27.558200Z","iopub.status.idle":"2023-10-15T08:30:28.118907Z","shell.execute_reply.started":"2023-10-15T08:30:27.558171Z","shell.execute_reply":"2023-10-15T08:30:28.117812Z"},"trusted":true},"execution_count":8,"outputs":[{"name":"stdout","text":"CREMA datasets\n","output_type":"stream"},{"execution_count":8,"output_type":"execute_result","data":{"text/plain":" labels path\n0 disgust ../input/cremad/AudioWAV//1028_TSI_DIS_XX.wav\n1 happy ../input/cremad/AudioWAV//1075_IEO_HAP_LO.wav\n2 happy ../input/cremad/AudioWAV//1084_ITS_HAP_XX.wav\n3 sad ../input/cremad/AudioWAV//1004_WSI_SAD_XX.wav\n4 happy ../input/cremad/AudioWAV//1030_DFA_HAP_XX.wav","text/html":"
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
labelspath
0disgust../input/cremad/AudioWAV//1028_TSI_DIS_XX.wav
1happy../input/cremad/AudioWAV//1075_IEO_HAP_LO.wav
2happy../input/cremad/AudioWAV//1084_ITS_HAP_XX.wav
3sad../input/cremad/AudioWAV//1004_WSI_SAD_XX.wav
4happy../input/cremad/AudioWAV//1030_DFA_HAP_XX.wav
\n
"},"metadata":{}}]},{"cell_type":"code","source":"CremaMales_df.head()","metadata":{"_uuid":"4c4832b0-5fc3-4ea5-aac7-bae8daacd67d","_cell_guid":"b196cb88-d2a2-40a5-8b8e-842803891f2b","execution":{"iopub.status.busy":"2023-10-15T08:30:28.120423Z","iopub.execute_input":"2023-10-15T08:30:28.120829Z","iopub.status.idle":"2023-10-15T08:30:28.130057Z","shell.execute_reply.started":"2023-10-15T08:30:28.120791Z","shell.execute_reply":"2023-10-15T08:30:28.129032Z"},"trusted":true},"execution_count":9,"outputs":[{"execution_count":9,"output_type":"execute_result","data":{"text/plain":" labels path\n0 disgust ../input/cremad/AudioWAV//1067_IWW_DIS_XX.wav\n1 disgust ../input/cremad/AudioWAV//1066_TIE_DIS_XX.wav\n2 disgust ../input/cremad/AudioWAV//1027_DFA_DIS_XX.wav\n3 happy ../input/cremad/AudioWAV//1032_IEO_HAP_HI.wav\n4 sad ../input/cremad/AudioWAV//1023_TIE_SAD_XX.wav","text/html":"
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
labelspath
0disgust../input/cremad/AudioWAV//1067_IWW_DIS_XX.wav
1disgust../input/cremad/AudioWAV//1066_TIE_DIS_XX.wav
2disgust../input/cremad/AudioWAV//1027_DFA_DIS_XX.wav
3happy../input/cremad/AudioWAV//1032_IEO_HAP_HI.wav
4sad../input/cremad/AudioWAV//1023_TIE_SAD_XX.wav
\n
"},"metadata":{}}]},{"cell_type":"code","source":"# Now lets merge all the dataframe\nMales = pd.concat([SAVEE_df, RavMales_df, CremaMales_df], axis = 0)\nMales.to_csv(\"males_emotions_df.csv\", index = False)\n\nFemales = pd.concat([TESS_df, RavFemales_df, CremaFemales_df], axis = 0)\nFemales.to_csv(\"females_emotions_df.csv\", index = False)","metadata":{"_uuid":"3772939b-4f84-4c8f-94fa-dbf9b133fe71","_cell_guid":"92189d48-d2d0-4b9f-8457-9da943152128","execution":{"iopub.status.busy":"2023-10-15T08:30:28.131560Z","iopub.execute_input":"2023-10-15T08:30:28.131947Z","iopub.status.idle":"2023-10-15T08:30:28.738038Z","shell.execute_reply.started":"2023-10-15T08:30:28.131905Z","shell.execute_reply":"2023-10-15T08:30:28.737287Z"},"trusted":true},"execution_count":10,"outputs":[]},{"cell_type":"markdown","source":"#
Data Visualization\n\nFirst, we will plot the number of emotions (of wich above there are the proportions).\nThen using Librosa there will be some waveplots related to each emotion","metadata":{"_uuid":"7421547a-5a2f-4222-bf01-2a07cf1de863","_cell_guid":"7c939896-00d4-4e4b-a0b3-6d6c1cf539d9","trusted":true}},{"cell_type":"code","source":"order = ['angry','calm','disgust','fear','happy','neutral','sad','surprise']\n\nfig = plt.figure(figsize=(17, 5))\n\nfig.add_subplot(121)\nplt.title('Count of Females Emotions', size=16)\nsns.countplot(Females.labels, order = order)\nplt.ylabel('Count', size=12)\nplt.xlabel('Emotions', size=12)\nsns.despine(top=True, right=True, left=False, bottom=False)\n\nfig.add_subplot(122)\nplt.title('Count of Males Emotions', size=16)\nsns.countplot(Males.labels, order = order)\nplt.ylabel('Count', size=12)\nplt.xlabel('Emotions', size=12)\nsns.despine(top=True, right=True, left=False, bottom=False)\n\nplt.show()","metadata":{"_uuid":"1371d315-b165-4330-b4c9-3d2729a3b982","_cell_guid":"2e0a4556-54dc-4380-9dd9-e26f0ae827bb","execution":{"iopub.status.busy":"2023-10-15T08:30:28.739186Z","iopub.execute_input":"2023-10-15T08:30:28.739684Z","iopub.status.idle":"2023-10-15T08:30:29.039068Z","shell.execute_reply.started":"2023-10-15T08:30:28.739631Z","shell.execute_reply":"2023-10-15T08:30:29.038311Z"},"trusted":true},"execution_count":11,"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAA+wAAAFNCAYAAACaBuXqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdfVxUdd7/8fcgTKhMEjJQWKlrptuCiDta3nUjmJh57VgaxHqT4W6baFp4g6llud0ItZpKW6l5X1GjKVqGl5d5WS3SKoU3rVfm6uZdMOQNcpeK/P7w4fwk0NAYzlFfz8fDB/CdM+d8zsDD83mf+Z4zlsrKykoBAAAAAABT8TG6AAAAAAAAUB2BHQAAAAAAEyKwAwAAAABgQgR2AAAAAABMiMAOAAAAAIAJEdgBAAAAADAhAjtMraKiQhkZGYqLi1OHDh0UFRWl+++/X7NmzVJxcbHR5f0qRUVFGjp0qCIjI/Xss8/WuExKSoratGlz3n//+te/6rnq6tq0aaPXX3/dq9vo0aPHBV+Ht956y6vbr8mgQYP0yCOP1Pt2AQAXRu9wpnd44403anz82LFjCg8PV5s2bbR///5ab3vWrFm67bbbLqnu2lq+fPkFj/cRERFe3X5NcnJy1KZNG23evLnetw1Ikq/RBQDnU1FRoaSkJG3evFkjRozQiy++KEnavHmzZs2apaysLC1ZskSBgYH1WtdXX32l5ORkrV+//let55NPPtE//vEPvfXWW2rXrt15l2vWrJkyMjJqfOy66677VTVcTu6//36lpKTU+Fjjxo29vv1evXrp+eef1+233y7pTONisVi8vl0AQO3RO5zRqFEjrVixQn/5y1+qPbZmzRr5+vrq5MmTv6oWb/rwww9lt9urjdfHcXf16tXKyMjQ4sWLJUlRUVH6/PPP6/1vBjiLwA7TWrBggTZu3Kh3331XkZGRnvFWrVrJ4XDI6XRqyZIlGjFiRL3WlZeXVyfrOXr0qCTprrvuuuByDRo0qPGgdbXx9/c37HU4duyY/vOf/1QZ48ANAOZD73BGx44dtXHjRuXl5VV5HSQpMzNTDodDn332WZ3U5A1BQUGGHfN//ruyWq30YTAUU+JhWosXL1avXr2qHWikMwfeNWvWVDngbtq0SfHx8WrXrp2ioqI0ZMgQbd261fN4SkqKevbsWWU9H330UZUpYSkpKXr44Ye1ceNG9e3bV5GRkbr//vs9B7VZs2bppZde0oEDB9SmTRvNmjXrvPUvXbpUsbGxCg8P1x133KGxY8eqsLDQs51XX31V0pkp5ed757i2jh8/rsmTJ6tHjx5q166dnE5nlbP4+/fvV5s2bZSVlaWkpCS1b99ePXr00Lp16/Ttt98qPj5e7du3V79+/apMsz948KBGjx6tbt26qV27doqNjdW77757wVq2bNmiwYMHq1OnTnI4HBo1apTy8/M9jx8+fFjjxo1Tt27dFBERoZ49e9bZlPazU+l27NihBx98UO3atdMDDzygPXv26JNPPtG9996rqKgo/eUvf/E0PWdfn5EjR6pjx44KDw9X3759lZmZ6XmsU6dOqqys1ODBg9WjRw9J1afEX2gd0v+fUvf1119rxIgR6tChg7p166aXXnpJlZWVkqTKykrNmjVL0dHRioiIULdu3TRx4sTLfgonANQXeoczgoKC1K5dO3344YdVxvfv36/c3FzPsexc77//vv7rv/5LUVFRuuOOO5SUlHTBKfMnTpxQamqqevXqpYiICMXGxsrlclVZ5uOPP5bT6VT79u3VqVMnDRs2TLt37z7vOi9Gjx49NH36dP3tb39Tp06d1KlTJ82aNUvHjx/XqFGjFBUVpR49emjVqlVVnvdLr/GiRYv05Zdfqk2bNlq+fHmNU+IvtA7pTI8wZswYrVixQvfee6/at2+v/v37a9u2bZ5lduzYoaFDh6pTp06KiorSgw8++KtnYODKRGCHKR04cECHDh2Sw+E47zI33nij5/udO3dq2LBhatGihZYtW6Z3331XDRs21COPPFIlLNbGoUOHtGDBAr3wwgtatmyZAgMDNXbsWP3000969NFH5XQ6df311+vzzz/Xo48+WuM63n33Xb3wwguKi4vTRx99pBkzZmjr1q167LHHVFlZqYkTJ3qmqX3++eeaOHHiRdX4c8OHD9f//u//avLkyVqxYoW6du2qESNGKDc3t8py6enp6tOnj1asWKEWLVpoypQpevHFFzVmzBi9//77qqio8EwflKQxY8Zo7969euutt7RmzRo98sgjeu6557Rx48Ya69i9e7ceffRR2Ww2LVmyRHPmzNG+ffs0bNgwVVRUSJJeeOEF7dy5U6+//rqysrI0evRovf7661q5cuWveg3ONWPGDE2cOFFLly5VYWGhxowZo5UrVyo9PV2vv/66cnJyPFPdysrKNGTIEB08eFBvvfWWVq9erejoaI0dO1br16/XDTfc4DmhMGvWrGrNSG3Wca6pU6eqV69eWrlypYYMGaIFCxYoKytL0plm6e2339akSZOUlZWl6dOna/PmzXrppZfq7LUBgCsVvUNVsbGxWrNmjU6cOOEZy8zMVOvWrdWqVasqy2ZnZ2vy5Ml68MEH9dFHH+ntt9/Wjz/+qKeeeuq863/22WeVkZGhESNGaNWqVXrooYc0efJkffzxx5LO9ARjxozR/fffr9WrV2vRokXy8/PT448/7jlR/Wt9/PHH8vPz0/vvv6+4uDjNnj1bSUlJiomJ0YoVK+RwOPTMM8+opKREUu1e49tvv90zDf6+++6rts1fWsdZW7du1fr16zVr1iwtXbpUpaWlmjBhgqQzJ+gff/xxBQUF6d1339XKlSt15513asSIERd1XwFcHQjsMCW32y2p6oH1QpYuXarg4GC98MILat26tdq2batXXnlFp06duugg+MMPP+iFF15Qu3btdMsttyghIUFHjhzRvn371LhxY11zzTWeaernu3Z6wYIF6t27t4YOHarmzZvrjjvu0OTJk7V9+3bl5eXJZrN5nmu322Wz2S6qxnPl5eXpyy+/1IQJE3TPPffoN7/5jcaOHau2bdtqwYIFVZbt2LGj7rvvPrVo0UJxcXFyu9168MEH5XA4dOutt8rpdFZ5hz0tLU1vvfWWbrvtNjVr1kzx8fEKCwvTF198UWMtixYtUqNGjZSWlqZbb71VUVFRevnll/Xtt996Qv6uXbv0+9//Xu3atVNYWJj69Omjd999V507d77gfq5YsUJRUVE1/vu5/v37q0OHDp538Ldv364pU6aodevW6ty5s26//XbPfq5bt0779+/Xq6++qqioKLVo0UKjR49WVFSUli5dqgYNGqhJkyaSpCZNmigoKKja9n5pHeeKiYlR3759ddNNNykxMVGNGjXyvJuza9cuNWvWTPfcc4/CwsLUsWNHzZ07V4mJiRd8bQAA9A4/16dPHxUVFWnDhg2esVWrVtUYQtu1a6dVq1ZpyJAhCgsL02233aaHHnpIeXl5On78eLXl8/PztWLFCj3++OPq27evWrRooUcffVQ9e/bU3LlzJUn//ve/VVFRoQceeEA33nij2rZtq2nTpumVV175xcAeGxtb4/H+5zfS8/f318iRIz3bl6TmzZurb9++at68uQYPHqzS0lJ9//33tX6N/fz85OfnJ7vdLn9//2q1/dI6zjpy5IhefvlltWnTRr/73e/Ur18/7dq1S2VlZSoqKlJ+fr5iYmLUqlUr3XzzzRo1apQWL17MJXeohmvYYUpnbyri5+dXq+W3b9+udu3aqUGDBp6xgIAAtWzZUjt27LiobQcHB+uGG27w/Hw2oB07dqxWzy8uLtbevXs1aNCgKuNnbw6zY8cOtW/fvtb17Nu3r8ZQKp25ic3Zg0P37t2rPHb77bdr3bp1VcbatGnj+f5sCP3tb39bZezcA/OJEyf02muvafPmzTp69KgqKytVVlZ23tdi69at+v3vf69GjRp5xm699VYFBgbqX//6l+655x7dfffdmjdvnioqKhQdHa2OHTtWqeF8YmJiLnim/0L7GRQUpNDQ0CpjBw8elHTmbycwMFAtWrSoso6IiAitXr26Vtu7mHWce4dbHx8fBQYGqqioSNKZaxKXLFmiYcOG6Q9/+IM6d+6sm266qVY1AMDVjt6hqtDQUDkcDn344Ye69957tXXrVv373/9Wnz59dOjQoSrLNmrUSFu2bNHTTz+t/fv366efftKpU6c8+/DzkwPbt2/X6dOn1a1btyrjnTp10vr161VZWan27durSZMmGjx4sOLj49W5c2e1atXqgjfLO2vu3Lk1Xjd+tnc569Zbb/V8fzbotm3bttryx48fr5PX+GLW0apVqyr90Nm/iaKiIoWGhioqKkrPPfecvvvuO8+lh7///e8vuH1cnQjsMKXrr79ekvT999+rS5cuv7h8cXFxjWesGzdufNHX/zZs2LDKz2cbgNpO3zq7vYCAgGq1SPJMy6qtG264odo75TVt7+eB/eTJk9Walmuuucbz/dn9Ovfs8bl3Xy0uLtagQYN07bXXavLkybr55pvl6+t7wXd7i4uL9emnn1Y7wVBWVua5tmv06NEKCwvThx9+qA8++EBWq1X9+vXThAkTqtT3cwEBAWrevPl5Hz/Xz/fpfL/TszX//HclXdzfzsWs4+dn6y0Wi+dvq3v37po3b54WLVqkSZMm6aefflLXrl31/PPPq1mzZrWqBQCuVvQO1fXt21fPP/+8Dh8+rFWrVik8PFw333xztcD+9ttvKzU1VY899ph69eqlgIAAbdiwocplcjXVGx8fX+WYeurUKZ08eVJHjhyR3W7Xe++9p7lz52r27NmaOnWqWrdurUmTJumOO+64YN033nij5/d5ITX1MOf+Ls79PdTFa3wx66jpeH+2Fkl688039fbbb2v16tWaPXu2mjZtquHDh2vgwIG/WAeuLgR2mFJoaKhuvvlmrV69WvHx8TUus27dOrVs2VKtWrWSzWar8eB6/PhxhYSESKoajM4qLS2t89rP/if+8ylkZ3+uKdhdiK+v7wWD6tmz3u+//76sVutFrftCvvzyS7ndbqWlpVWZrn7uzdpqqqVbt256+umnqz12dr99fHwUHx+v+Ph4TwPx6quvymazKTk5uc7qr63z/e0UFxfX+lKFuljHWV27dlXXrl31008/aePGjXrppZf01FNPnfej/QAAZ9A7VHf2I0nXrVunNWvWnPf6+Y8++kgOh6PKTLYLnWw4e2ybPXt2jTPBrr32WknSb37zG7344os6ffq0vv76a82YMUOPP/64Pv3003qf+l0Xr3Fd/p6aNGmiJ598Uk8++aT27t2rhQsXaurUqWrevHm1N2FwdeMadpjWI488on/+85813jFzz549SklJ0fvvvy9JCg8PV15enufGZtKZKVx79uzxTEFu3LixZ+rxWZf6MSsXOogFBASoRYsW1W749vXXX0uqOiW6LpydhlVUVKTmzZt7/vn6+io4OPiS13v281nPPcO9fv16HT9+/Lz7HxERob179+rmm2+uUsvJkycVFBSk8vJyffTRR54DW1BQkIYMGaKuXbtq165dl1zrrxEeHq6jR49Wu2vtV199Ve13db79vph1XMjnn3+u7777TtKZ2RA9e/bU4MGD9e2339Z6HQBwNaN3qKpJkybq3r273n77bRUWFqp37941Lnfy5Mkqx/vKykrP3dVrqjs8PFw+Pj46fPhwleO9v7+/AgMD5evrq507d2rTpk2Szpys79Chg1JSUlRaWmrIjdUu5jU+3++qrn5P+fn5npvzSVKLFi307LPPKiAgwLB+COZFYIdpPfzww4qNjdXo0aOVnp6uXbt2ae/evfrggw80cOBA3XbbbRo1apQkafDgwTpy5IgmTZqk3bt3a8eOHXryyScVEBCgfv36STpzcDl27JgWLVqkffv26b333rukg26TJk3kdru1efNm7du3r8Zlhg0bpqysLC1YsEDff/+9Pv/8c/31r39Vp06d6jywR0ZGqmPHjpo0aZL+8Y9/aP/+/Vq7dq0GDBjwqz4u7Xe/+518fX21YMEC7du3T2vWrNGbb76pDh06aNeuXfrhhx+qPWfQoEE6ePCgnnnmGf3f//2f/v3vf+uVV16R0+nUd999J19fX6WlpWnChAnasWOHDh06pE8//VS5ubnq2LHjBespLy+X2+2u8d+F3vX/JT179lTz5s01fvx4z/V906ZN044dOzwf23b2nYIvvvhC33zzTbUDeW3WURvLly/XqFGjtGnTJh06dEhbt27VqlWr1KlTp0vePwC4mtA7VNe3b1/t2bNHHTp0qHKd/bnatWunzz//XFu2bNF3332nJ5980nMt+JYtW6rNKggJCVHfvn2VmprqufHqF198ocGDB2vq1KmSzoTY4cOHKzMzU/v379fu3bu1aNEiXXfddbrlllsuWPPhw4fPe8w/9673F6s2r3GTJk20d+9ebdu2rdqlA7Vdxy8pLi5WcnKyZs2apT179mj//v1auHChSktLuY4d1TAlHqbl4+Oj6dOna/ny5XK5XJo3b56kM3f/fOyxxxQfH++ZAn7LLbdo7ty5mj59uvr16ydfX185HA4tWbLEc5OP+++/X7m5uUpPT9eMGTPUo0cPPfXUU56PSKmtfv36ae3atXrkkUf08MMP1/ixKgMGDNDJkye1cOFCpaWlqUmTJp6P+fKG119/XampqUpOTlZxcbHCwsI0aNAgPfbYY5e8zhtvvFFTpkxRenq6Vq5cqaioKL3yyivatm2bJk6cqKSkJC1btqzKc2655RbNnz9f06dP10MPPSSr1ao2bdpo3rx5at26tSRp3rx5evnll/XII4+ovLzcU+svBdvVq1ef9yZwkZGRnndMLtY111yj+fPn66WXXtLQoUN14sQJtW7dWq+//rrnUoDf/OY3uv/++7VgwQItW7bM89m6F7OO2nj++ec1bdo0jRkzRkePHlVQUJC6du2qMWPGXNK+AcDVht6huh49eqhRo0bq06fPeZcZPXq08vPzNWzYMF177bUaOnSo/vjHP2r37t2aPHlyjdf6//Wvf9X06dM918iHhISoV69enhMicXFxKioq0uzZs3Xo0CE1atRIERERmjt3bo13Xz/X2RMmNZkzZ47uvPPOWu59VbV5jRMSEvTPf/5TCQkJeuqp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\n"},"metadata":{}}]},{"cell_type":"code","source":"def create_waveplot(data, sr, e):\n plt.figure(figsize=(10, 3))\n plt.title(f'Waveplot for audio with {e} emotion', size=15)\n librosa.display.waveplot(data, sr=sr)\n plt.show()","metadata":{"_uuid":"7ec88691-2fb9-4c91-8b9a-11756aefe497","_cell_guid":"5f48d589-0add-4bb7-a8fb-f9f4a12e3c52","execution":{"iopub.status.busy":"2023-10-15T08:30:29.040339Z","iopub.execute_input":"2023-10-15T08:30:29.040807Z","iopub.status.idle":"2023-10-15T08:30:29.046489Z","shell.execute_reply.started":"2023-10-15T08:30:29.040754Z","shell.execute_reply":"2023-10-15T08:30:29.045493Z"},"trusted":true},"execution_count":12,"outputs":[]},{"cell_type":"code","source":"emotion='Angry'\npath = '../input/ravdess-emotional-speech-audio/Actor_01/03-01-05-01-01-01-01.wav'\ndata, sampling_rate = librosa.load(path)\ncreate_waveplot(data, sampling_rate, emotion)\nAudio(path)","metadata":{"_uuid":"1b6d7b8c-74c0-4853-b8d4-a6e7dce7576c","_cell_guid":"a4a58f6d-3303-4793-b896-81fcd808596f","execution":{"iopub.status.busy":"2023-10-15T08:30:29.047798Z","iopub.execute_input":"2023-10-15T08:30:29.048324Z","iopub.status.idle":"2023-10-15T08:30:30.149801Z","shell.execute_reply.started":"2023-10-15T08:30:29.048234Z","shell.execute_reply":"2023-10-15T08:30:30.148323Z"},"trusted":true},"execution_count":13,"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}},{"execution_count":13,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}}]},{"cell_type":"code","source":"emotion='Very Angry' \npath = '../input/ravdess-emotional-speech-audio/Actor_01/03-01-05-02-01-01-01.wav'\ndata, sampling_rate = librosa.load(path)\ncreate_waveplot(data, sampling_rate, emotion)\nAudio(path)","metadata":{"_uuid":"34b0c3f7-6787-44c5-80bd-4c207ca8b536","_cell_guid":"f97d6a01-87fa-49d7-be49-c74640b7bc2b","execution":{"iopub.status.busy":"2023-10-15T08:30:30.151646Z","iopub.execute_input":"2023-10-15T08:30:30.152050Z","iopub.status.idle":"2023-10-15T08:30:30.623207Z","shell.execute_reply.started":"2023-10-15T08:30:30.152009Z","shell.execute_reply":"2023-10-15T08:30:30.621979Z"},"trusted":true},"execution_count":14,"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}},{"execution_count":14,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}}]},{"cell_type":"code","source":"emotion='Sing Angry'\npath = '../input/ravdess-emotional-song-audio/Actor_01/03-02-05-01-01-01-01.wav'\ndata, sampling_rate = librosa.load(path)\ncreate_waveplot(data, sampling_rate, emotion)\nAudio(path)","metadata":{"_uuid":"139edccd-bd19-4ed8-9c61-157f411e5381","_cell_guid":"d6860263-c1df-4fd2-b0fc-77e385798849","execution":{"iopub.status.busy":"2023-10-15T08:30:30.624801Z","iopub.execute_input":"2023-10-15T08:30:30.625211Z","iopub.status.idle":"2023-10-15T08:30:30.984551Z","shell.execute_reply.started":"2023-10-15T08:30:30.625147Z","shell.execute_reply":"2023-10-15T08:30:30.983608Z"},"trusted":true},"execution_count":15,"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}},{"execution_count":15,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}}]},{"cell_type":"code","source":"emotion='Sing Very Angry' \npath = '../input/ravdess-emotional-song-audio/Actor_01/03-02-05-02-01-01-01.wav'\ndata, sampling_rate = librosa.load(path)\ncreate_waveplot(data, sampling_rate, emotion)\nAudio(path)","metadata":{"_uuid":"aaa11732-ab21-471e-98ea-86e993fe9aa1","_cell_guid":"f55752af-56ed-489c-82ad-6bd3aa4b3c6b","execution":{"iopub.status.busy":"2023-10-15T08:30:30.985944Z","iopub.execute_input":"2023-10-15T08:30:30.986239Z","iopub.status.idle":"2023-10-15T08:30:31.421493Z","shell.execute_reply.started":"2023-10-15T08:30:30.986210Z","shell.execute_reply":"2023-10-15T08:30:31.420583Z"},"trusted":true},"execution_count":16,"outputs":[{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}},{"execution_count":16,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}}]},{"cell_type":"markdown","source":"## Adding augmentation","metadata":{"_uuid":"d5d08055-1801-45f3-9a1f-a625543bb3a8","_cell_guid":"bd1806f1-d8a1-4e41-a0e2-17a6c2ee41dc","trusted":true}},{"cell_type":"markdown","source":"#### Definition:\n* Data augmentation is the process by which we create new synthetic training samples by adding small perturbations on our initial training set.\n* The objective is to make our model invariant to those perturbations and enhace its ability to generalize.\n* In order to this to work adding the perturbations must conserve the same label as the original training sample.\n* In images data augmention can be performed by shifting the image, zooming, rotating ...\n* In our case we will add noise, stretch and roll, pitch shift ...","metadata":{}},{"cell_type":"code","source":"def noise(data):\n noise_amp = 0.04*np.random.uniform()*np.amax(data)\n data = data + noise_amp*np.random.normal(size=data.shape[0])\n return data\n\ndef stretch(data, rate=0.70):\n return librosa.effects.time_stretch(data, rate)\n\ndef shift(data):\n shift_range = int(np.random.uniform(low=-5, high = 5)*1000)\n return np.roll(data, shift_range)\n\ndef pitch(data, sampling_rate, pitch_factor=0.8):\n return librosa.effects.pitch_shift(data, sampling_rate, pitch_factor)\n\ndef higher_speed(data, speed_factor = 1.25):\n return librosa.effects.time_stretch(data, speed_factor)\n\ndef lower_speed(data, speed_factor = 0.75):\n return librosa.effects.time_stretch(data, speed_factor)\n\n# taking any example and checking for techniques.\npath = path = '../input/ravdess-emotional-speech-audio/Actor_01/03-01-05-01-01-01-01.wav'\ndata, sample_rate = librosa.load(path)","metadata":{"_uuid":"7742f44f-b268-4b59-8185-36e7313d994a","_cell_guid":"b249fc24-d1f1-437d-80e6-174e8453da8f","execution":{"iopub.status.busy":"2023-10-15T08:30:31.422597Z","iopub.execute_input":"2023-10-15T08:30:31.422848Z","iopub.status.idle":"2023-10-15T08:30:31.609547Z","shell.execute_reply.started":"2023-10-15T08:30:31.422824Z","shell.execute_reply":"2023-10-15T08:30:31.608792Z"},"trusted":true},"execution_count":17,"outputs":[]},{"cell_type":"code","source":"plt.figure(figsize=(10,3))\nx = noise(data)\nlibrosa.display.waveplot(y=x, sr=sample_rate)\nAudio(x, rate=sample_rate)","metadata":{"_uuid":"0af9e19e-92bc-4262-8ca7-20307e328acd","_cell_guid":"47835287-183e-4152-902e-cb6bb390b36c","execution":{"iopub.status.busy":"2023-10-15T08:30:31.610807Z","iopub.execute_input":"2023-10-15T08:30:31.611071Z","iopub.status.idle":"2023-10-15T08:30:31.756118Z","shell.execute_reply.started":"2023-10-15T08:30:31.611046Z","shell.execute_reply":"2023-10-15T08:30:31.755114Z"},"trusted":true},"execution_count":18,"outputs":[{"execution_count":18,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":"plt.figure(figsize=(10,3))\nx = stretch(data)\nlibrosa.display.waveplot(y=x, sr=sample_rate)\nAudio(x, rate=sample_rate)","metadata":{"_uuid":"c9d85f0d-2d2c-4be2-9577-b597e20f4a20","_cell_guid":"867418b6-84c8-4afe-9253-912cfe11b20f","execution":{"iopub.status.busy":"2023-10-15T08:30:31.757925Z","iopub.execute_input":"2023-10-15T08:30:31.758363Z","iopub.status.idle":"2023-10-15T08:30:32.406276Z","shell.execute_reply.started":"2023-10-15T08:30:31.758320Z","shell.execute_reply":"2023-10-15T08:30:32.405329Z"},"trusted":true},"execution_count":19,"outputs":[{"execution_count":19,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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9G6o6bs/W3x2rV27VvPz+vXr0aVLF02ABdjmc0vfPdvicwsAtm3bBqVSiUcffRQKhQKFhYWa+YZCPrusKk/W6tWrcfjwYchkMixbtqzNR8pNNb2/kydPwt3dHdHR0cjNzcWyZctQWVmJXr16Yfny5XBwsJrRXJNkZWXhzTffxOXLl+Ho6Ah/f39MmDABQUFBGD16NIYOHYrBgwdrjr/77rsxffp0CVtsPn33HB0dja+++gopKSmQy+UYPHgwXn31VambbJatW7di/fr1WnM0hg8fjj59+iA6OlqzTf2g2rRpkxTNFFVFRQUWL16Mq1evoqKiAi+88IJmIrgt0HV/xcXFNv3sUlMHHADg7u5us8+txpresy0+twDgxo0bmD9/PpRKJaqqqvDCCy+gsLBQc89q5j67rCrIIiIiIrIVtvF1g4iIiMjKMMgiIiIiEgGDLCIiIiIRMMgiIiIiEgGDLCIiIiIRWE2eLCIiUyQlJeHEiRNQKBQoLy9H165dcejQIWzZskVrqT0RkaUxhQMR2YSUlBScOXMGCxYskLopREQA2JNFRDYoPj4ekyZNwvXr13Ho0CFcv34dZ86cwdy5c7Fjxw6cPXsWq1evxsCBA7F582Zs374dDg4OiIqKwpNPPil184nIRjDIIiKblpOTgy+//BLJycn48MMP8e233yIlJQU7duyAl5cXdu7ciS1btgAAZsyYgcmTJ6Nz584St5qIbAGDLCKyaf3794dMJoOvry/69OkDuVwOHx8fHDlyBMePH0dubi4effRRAEBZWRkuX77MIIuIBMEgi4hsmqOjo86fVSoVnJycMH78eLz++utSNI2IbBxTOBCR3QoLC8Pvv/+O8vJyqFQqJCQkoKKiQupmEZGNYE8WEdmtzp0749FHH0VcXBzkcjmioqLg6uoqdbOIyEYwhQMRERGRCDhcSERERCQCBllEREREImCQRURERCQCBllEREREImCQRURERCQCBllEREREImCQRURERCQCBllEREREIvh/Zf8k3i2MJXEAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"code","source":"plt.figure(figsize=(10,3))\nx = shift(data)\nlibrosa.display.waveplot(y=x, sr=sample_rate)\nAudio(x, rate=sample_rate)","metadata":{"_uuid":"8bb38c4d-24bd-443f-8c96-6fcccfb8f781","_cell_guid":"ecf5b48f-15a6-451a-b2b9-bacba7173fd8","execution":{"iopub.status.busy":"2023-10-15T08:30:32.409068Z","iopub.execute_input":"2023-10-15T08:30:32.409411Z","iopub.status.idle":"2023-10-15T08:30:32.539564Z","shell.execute_reply.started":"2023-10-15T08:30:32.409382Z","shell.execute_reply":"2023-10-15T08:30:32.538851Z"},"trusted":true},"execution_count":20,"outputs":[{"execution_count":20,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"iVBORw0KGgoAAAANSUhEUgAAAlkAAADMCAYAAABAzLaeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deVxU9d4H8M8sjCggsrtgipKhGCZiWpiVihrtpYkZ3VbvTe/Tc029bpXeNDPT6urjvaUt9+a1Iry2mYlLppbkgomSmpJKiCIzoiI7zJznj4GRYfYzZ+YM8Hm/Xr2aOetvjoc53/kt359CEAQBRERERCQppdwFICIiImqNGGQREREReQCDLCIiIiIPYJBFRERE5AFquQvQVHV1NfLy8hAREQGVSiV3cYiIiIhs0uv10Gq16N+/P/z9/S3W+1SQlZeXh0mTJsldDCIiIiKnrVu3DklJSRbLfSrIioiIAGAsbOfOnWUuDREREZFtxcXFmDRpkil+ac6ngqzGJsLOnTsjOjpa5tIQEREROWarixM7vhMRERF5AIMsIiIiIg9gkEVERETkAQyyiIiIiDyAQRYRkUh5RVdQrzfIXQwi8lEMsoiIRLpn5Q/478GzcheDiHwUgywiIjdU17Emi4isY5BFROQGgyDIXQQi8lEMsoiI3GBgjEVENjDIIiIS4dN9vwMABNZkEZENDLKIiET4KvccADYXEpFtDLKIiNzA5kIisoVBFhGRCBU19QBYk0VEtjHIIiISIffsFQAAYywiskUtdsfFixcjNzcXCoUCc+fORUJCgmldTU0NXnrpJeTn52PDhg0AgLy8PEyZMgU9evQAAPTp0wcvvfSSm8UnIpKXge2FRGSDqCBr3759KCgoQEZGBvLz8zFnzhxkZmaa1i9duhT9+vVDfn6+aVllZSXGjBmDefPmuV9qIiIfoWdVFhHZIKq5MDs7G6NGjQIAxMbGoqysDOXl5ab106ZNM61vVFFR4UYxiYh8EyuyiMgWUUGWTqdDSEiI6X1YWBi0Wq3pfWBgoMU+lZWVyMnJwTPPPINJkybhp59+EnNqIiKfsmL7SbmLQEQ+SlRzYfPke4IgQKFQ2N0nLi4OU6dOxciRI3H69Gk8+eST2LJlCzQajZgiEBEREfk0UUFWVFQUdDqd6X1JSQnCw8Pt7tO7d2/07t0bABATE4Pw8HBcuHAB3bt3F1MEIiIiIp8mqrkwOTkZWVlZAICjR48iMjLSahNhU+vXr8dHH30EANBqtbh48SKioqLEnJ6IiIjI54mqyUpMTER8fDzS0tKgUCgwf/58bNiwAUFBQUhJScHzzz+P4uJinD59Gunp6XjkkUeQkpKCGTNmICsrC7W1tViwYAGbComIiKjVEp0na8aMGWbv4+LiTK9XrFhhdZ81a9aIPR0RERFRi8KM70REDgiCgMNnLwMAzugqcFrHlDRE5JjomiwiorbiUOFlPPiPPdg7dyTuWPa93MUhohaCNVlERA7oGzKODlm8XeaSyOtvX/+C2nqD3MUgajEYZBEROeAgDWCbYDAI+PDHM7hYUSN3UYhaDAZZREQOMcq6Wl0PAKjXcx4hImcxyCIisqHkajUAQOkgxmo+C0ZLJAgC6vWWTYET3s3G7pNa1BmM66rr9N4uGlGLxSCLiMiKw2cv4+ZXt+Pfe85A6aC9sBXEWPh0fyFi531rsXzv6VLs+e0iPjtQCACoYpBF5DQGWUREVtQ1NIvN/+oXh32yWkGMhTMO0lIs3fwrgGvXhYgcY5BFRGTFuHf2mF4rHPTJMrSCqiw/le3HQUVNvel140hLInKMQRYRkRVN4yZHNVmtLcgSBAEnLlw1vf8ou8D0mkEWkfMYZBEROdA4ss6WVhBjQWho9BQEATFzNmH0W7usbid3kFWvN2BzXrGsZSBylugga/HixZgwYQLS0tJw+PBhs3U1NTX461//ioceesjpfYiIfMWVqjqz929u/dXu9q0hyDI0BE9Xa+wHlEs2H/NGcWw6UHAJf/pPjqxlIHKWqCBr3759KCgoQEZGBhYtWoSFCxearV+6dCn69evn0j5ERL7ira0nzN47qrxpDc2F9Q0f8tzlKrvb5RWVeaM4NuUWXpb1/ESuEBVkZWdnY9SoUQCA2NhYlJWVoby83LR+2rRppvXO7kNE5CvqDeb5oo6ftx9YvNksKGuJ9A2B4ti3d8tcEvte+/Y4AKCy1n6NG5EvEBVk6XQ6hISEmN6HhYVBq9Wa3gcGBrq8DxGRr6qotZ8b6v0fTnupJJ6RU3AJ7+48JXcxHGqa9LXfy1kyloTIOaKCrObZjQVBgMJhsj7X9yEiIs/74ucil7aXK8N9K2iVpTZGVJAVFRUFnU5nel9SUoLw8HDJ9yEiIs9z9fduvUwjDPWMsqiFERVkJScnIyvLWFV79OhRREZGWm0idHcfIiI5tLVnua2O+5//fNbqcrnSOLSGAQbUtqjF7JSYmIj4+HikpaVBoVBg/vz52LBhA4KCgpCSkoLnn38excXFOH36NNLT0/HII4/g3nvvtdiHiIjkZyt2mZaRa3V5nd4Afz+VB0tkadCirbhYXuvVcxK5S1SQBQAzZswwex8XF2d6vWLFCqf2ISIi+blaMVVVq0eQv59nCmMDAyxqiZjxncjD6vUG/HLuitzFILLJ1Y7sOi8HPL9frPTq+YikwiCLyMMyc87i7hU/yF0MckFb6/njal+n1BXezaU1/I0dXj0fkVQYZBF5WEXDNCXNp2oh8hVi+rFfrZb/ft576qLZRNbNXaqoxeGzzBBP8mGQReRh245dAADM3XBE5pIQWcoruoL1OdZHEdpT6SBBqzdMWP2TzYmsAWDJt8dx3//96MUSEZljkEXkQT+duoifTpUCAKrr5H8oETX3UfYZUfv5ei7pK1V1OHOxQu5iUBvHIIvIg9JW/2R6vf14iYwlIbJObOqp2noDLlf6xoi/nrO/wYjl35stm/9lHvaeLpWnQEQNGGQREbmpV3iA5Mf0Rs1nZW09MkU0FQLAa5uO46ZXtsLg4cSkzh7/lNa81soXmjOJGGQReUi93mCx7Ndi251026L9Z0rxVe45uYthwdXancExoZKef8fxEsS9tFnSY1qz+6TO8UY2fHPkPAAg+fXvHG6b9Usxes7+RtR5XJlKJ7fwMn7M1+GHkzpRnfmJpMYgi8hDaq0EWS9/mYflW36VoTS+49zlKqT+3ZgCYNZ/D+P5T36WuUTuy9hfCF15jSTHunPZ99jaMFjC05QSdKw6f6Xa6nJBEHCyYeTfL0Xi88S9+Hme09s+/M89mPTeXjz2/l60vUQc5IsYZBF5iLXgobSiFiu/yzdrAol76Vubc8S1RnlFV3D0fJnZsu99rL+amNjjcqU0KQ1O6yrw3THj9Xj5yzwkLdqKaRmHPJKQU+nBzuvZv11Eylu78O7O37Diu3zRx8k4UOj0tk0nrm5ak7XjV9+6v6jtYJBF5CHbjll+sZ8sKQcAlDbpMFxdZ7A5R1xrZK1+4U/rcrxeDlsEQcDHe38Xs6dkZSguM9YObTt6AbryWnz+cxGGv7FD8n5aUtRk2dKYF+61b4+blk1sMhDE05pmsX/yw/1eOy9RU6LnLiQi66rr9PjH97/Z3SZp0TaMiY+CWtXGf+c0PAer6yybVuVSL7Izj9hRevaca9YUN/qtXdj11zslO75UMdahwsu4qXsns2XV9ZYBYfapi9Kc0AlsLCRfIPobfvHixZgwYQLS0tJw+PBhs3V79uzBuHHjMGHCBKxatQoAkJeXh+HDhyM9PR3p6elYuHCheyUn8lF5RVewYvtJh9tl/XIB3xw2dh6O8cDoNAA4dr4Mq3bkuzw3nbec0l0bEfb7xUqfKKerU8w0EhucueL3UmmbDFUStRc+sOpaws/qOj30BgE/5nsvoLKm+QwL2qvS9JkjcoWomqx9+/ahoKAAGRkZyM/Px5w5c5CZmWlav2jRIrz//vuIiorCo48+ijFjxqCyshJjxozBvHnzJCs8kS+q8KGh43c1dDC/N6ErrgvrIHNpjP7PRv+c4W/swIdPDMadcZFeLpE5g8hKtdp692vjrI1I9SSpmwtzCi7h4X/uwb+eHCwqi7yUfv7dfDqdwa9uw5kld8tUGmqrRNVkZWdnY9SoUQCA2NhYlJWVobzc2NeksLAQwcHB6NKlC5RKJW6//XZkZ2ejooKZd6lt+MMH+1zex9M1OC9+mYd7V/6Ac5erPHoeZxxpGGl24IxlosiK2npvF8eCKykDmqqTIEC6c9n3Tm8rCIJpXkyxpO6Rdf6K8f6yF3DmN/RLdMbwpZwYmlo2UUGWTqdDSEiI6X1YWBi0Wi0AQKvVIjT0Ws6Y8PBwaLVaVFZWIicnB8888wwmTZqEn37yXgdIIl/n6YamXSe0OFJ0BYcKfWey3HHvZFssU0j+2Hed2ObCOr17/4rPfnQAhZccB8E19XpU1eqR9Usx4udnuXVOqVs49Q0HtHcNR7250+njSd086unEqUTNiWoubP6rWxAEKBqqna39IlcoFIiLi8PUqVMxcuRInD59Gk8++SS2bNkCjUYjpghErYuXvvunrDuI4wvHwt9P5Z0Tumjqxwcxtn+qZH2FxBD7IK4X287YYOtR53Jj3fCiMUlpcHs/t84HiK+1s3m8hmv3p/8clPS4Uqk3CNDIeG9R2yOqJisqKgo63bVMwSUlJQgPD7e67sKFC4iIiEDv3r0xcuRIAEBMTAzCw8Nx4YJ3Eu4R+TqDxFGWIAj4tiEjd3OXfGS+OVvK3WgCO3quDLtOaN06v15skOVmTZarmnfsFkPvZmDYnDc6/7tj69ELXu/3Rm2bqCArOTkZWVnGauqjR48iMjISgYGBAIDo6GiUl5fj7NmzqK+vx44dO5CcnIz169fjo48+AmBsUrx48SKioqIk+hhELZvEzzrU6g14bp312gQpHs6uytj/O0rKrGcGb67GjVxQf/74IB4X0SeuKbFxgrt9sm7uGeJ4I4lJGW8UXa4SHaB6y9SPD+Lf2QVyF4PaEFHNhYmJiYiPj0daWhoUCgXmz5+PDRs2ICgoCCkpKViwYAGmT58OAEhNTUVMTAxCQ0MxY8YMZGVloba2FgsWLGBTIVEDQeKaLHsdj+vqvf8gnPXfI3h+RKxTmb/dyZnV2BdIbxBENznKlcJB7O4bDp7FQ4nRovaVslbHYBBEXztvKq+Wf3AFtR2ik5HOmDHD7H1cXJzp9eDBg5GRkWG2Pjg4GGvWrBF7OqJWTepnk71ApU7qajMHGkc0Otv/p8qNmqzGc/Seuwn339QVf08b6PoxREY7B85cwsi+kWindr2/26WKWlSKTP3xwme5ooOsOglrnm5bugPdQ9tLcqzNecVYs/uUJMdqTqNu4wmAyat4txH5AKmDrC8PFdlc98XPttd5wq1LvgPgfE1PTsEl0edqGj9+eeicuGMIAtqJeBB/8ONpZOx3fp69pgYu3Goxn6Mr1u0V1wQmdf+kwlJpUoT8mK9z6z6wx0+lQGVtPT788bRHjk/UFIMsIh9QXFYtaa6sRd8cs1imaZjC5yOZ+qQ4m6xz7udHxJ9DgqDhyNkrqJEgsag3zfs8DxfKqrHgy1/wde45XK2uc6pGztud9Z0V5O+5Gd/2/HYRS749jr99fdRj5yBqxLkLiXzEt3nFSL2xi8eOL0UA4o4Pfzzj9LY/5uuQHBvu8jmkmDrF1oABZ+w+qcPQXmHoExXkdjlcNWTxdgDAv7LPAABuuz4ca58eYncfue6Jpml/rBHT5Oqs745bTtxO5CmsySKSkDujq3af1ElWmxUZ1E6S48il5KpzIxEdMRgEr86HuPXoBbz4RZ7XzmfPgTOOm9vkSmdw8Hf7ZfNWvylfHw1JLR+DLCI76vUGXK12PuXBxfIaqETOB3exvAYxczaJ2repnSe0KPGRyXAXbhTXJFNTZ8BTH+6z27fMGb3mbsL7P3i3740C16aXkZMzt2G9QYCfyvvJOU/r7Gdy91aZes/dhJe/zGMmePIYBllEdry97SRuXLAFeUVX0HP2N2br5n+Zhz4vfosdTZofqur0aOcn7s+qowQZvAHgm8OOO3xLMZmxM8QGOLM3HMF3v2rxuQSd9I+dv+r2MVx1y2vf4Tet83P0eUJlrR5bfim2u02dXp60C5/u+x09Z3+Dv67PtXovihl4INZH2QWyN6VT68Ugi8iOxmarX84ZJzVesf2kad324yWorTfgyX/tNy1zJ8fT+pyzAIxz0+0/U4qp6w7iZwfNKs0dLy5zKhXAA6t+FFVGb6tx43o2ciZdVnWd3iKIFn8+4wkPn7U+T2Ru4WWzbPw19eJTVjgyeW2O3fW5hZclT4TrjAMNIwc/O3DWatOwvf5aniDF5N5E1rDjO5EdjXP8Nf7afnPrCegNAob0CsVZK5P5zv38iOh8R41ueHEz/FQK1OkFfHPkPM4sudup/apq9Rj79m6ntu0TFehOEb3G1RqG6JD2Fv8uziQlbQzmpOijk33qIgDg5S9+wYMDLfNXzfrvYRwvvorl4wfg4UHRqKiRJshSKqwnNO05+xvEdQ7C5r8Mt1i32UFNlzdYG8np7do1dyf3JrKFNVlEdjQ+nr9pUvPw9+0n8eiavWbbrdl1CoIgILfQeu2Fq8R86bvSd8xbE0SPiIt0a39XaxjiOluO6rNVKfLhj6dxWleBvKIruHulMTiVMht4jY2yNwZ90zNzAQD7z5RKcr72dv5NjxdftRgAkFd0RZLzusvaNfd2aonEhVtN/bLOX6ny6mAJat0YZBHZ0dhs8dMp+w/CVzcdwzs7T6FLJ3+PlaW23oB7Vu622bw0z4VRbZ/uL0SVmzVuzhA5s41JnYt9x6wlPP1kn2WC0EsVtfjb10dx57Lvcc/KH0y1X39v0hzsrtp6A1btyMfMhmAKAJ78cB9+OXct6WhVrR5/dNCk5yxH2dub9xHzlSBrxfaTKCmrNrsf5egn1jjTwC2vfWf2o4rIHQyyiCTy+ubjkmW8burbI+dhMAj44lAR8orKMOz1HSi+Ykxe2tifRRAEbD16waXjzvrvYRRd9uwoOHf6qAFA4aVKPPnhPpzWVeD8lSq8kXXcbpOevXXlNfUYsngbJq7+CSPf3Gl1mw8kzgL+RtavyMw5i4KLFSi+Uo0dv2rN1h+RMNBxNJhh1Ju7MDMzF5cra7HnNx12n9RJdm53bD9egpsXb0fflzej5+xvcPeK3bKkVjhZUo78EuMgiT9//DNOXvD+gAlqfRSCD9WLnj17FiNHjsT27dsRHS1uLi4iKc3/Mg//lilDeqMAjQpVdXqL/jZxnYNwvNj4IHj5nn54RWS6BGf7fIkhVWfy5myV2db5/v3UzVjy7TFZRhqS6/4y8nq8LWGtolinX0uFQqHApYpa7PntIu5OMCYLdpRMldoOR3GL6JqsxYsXY8KECUhLS8Phw4fN1u3Zswfjxo3DhAkTsGrVKqf2IfJFSh/4Iq2otQywAJgCLACiAywAOK2rMKsFaVqLUFhaic8OFGLs27uw/0wp/vn9b04nsMwv8VwKgze3/AqDQcC5y1U4dr4MuvIaFF+xncD0Dx/sczrA8va/uNrdNtVWyBcCLADIzDmLT/f9jr9kHMLUjw9CEAQUllYiZs4mVNXq8d7uU/ihoUbQh+oryIeIGl24b98+FBQUICMjA/n5+ZgzZw4yMzNN6xctWoT3338fUVFRePTRRzFmzBiUlpba3YfImkOFl5HQLRhKmR5ElXWe77cktzuXfW96/UJKH7y59QT6dumI07pys+a+8e9kAzA2i/497Sbcf1M3u8fd4cHpS1Z8l48V3+V75NjeflQ6O3E2ed9f15tXBjRNFtz35c2m1yqlAnqDgDfGJeCBgd3gp2JPHDISFWRlZ2dj1KhRAIDY2FiUlZWhvLwcgYGBKCwsRHBwMLp0MVar3n777cjOzkZpaanNfZpbm12AoLBrfUWaV8s2VtU2/X/jdraqcZv+yvBmNW/z8zYvX/PPYL5vw/9h/HWtUAB6g3lnYoNw7b0AY4dRsRnH7Wk8pCBYH63VuNzWelvbNP/YBgHQGwzwUylhEIC3tp1A95D2OH+lGrf0DkNsRCAqa/UQIKC6zoCSq9U4f6UaUR39Ed+1I/QGAXqDgI7t/XD0XBnq9AbEhAdAAWOyz5p6Azr6+8EgCFAojDVVChhrc6JD2kOtUprVZGzOk3+Iuze9ufUEAODYeWPnbAWsBx3/++khbMw9D38/JcICNVArlcg7dwUd/FTQldficENfo8aHj5RslYnIk+zdy43LZ64/jJnrD+O5O3rj/OUqBPqrcbW6HmqlAsHtNdColeigUaG6Tg+NWglBMD4DlEoFVAoF9A1fiI3fSwCgd+E7vfFZ0fz/TZ8TjRq/i5u/trZegPG1Smn5/W3tO93RsqbntfgMVp4h1rZ35liOjttc82ezrWVNlV203xdWVJCl0+kQHx9veh8WFgatVovAwEBotVqEhoaa1oWHh6OwsBCXLl2yuU9z7+46BQRIMxSeWr7ChpFfu0/a7qxbcLES+05bHwG457eLHiubXGzlRJJC0yDG3im2HnPc0d4THZjtHZEBWMvnq/+GeoNgVjZ75fzn9795p1Akv4pS2JspVlSQ1Tyaa1o7Yy3Ss1ZTY6/j4A+z7mTHdwIA3PTKFvxjUiI6aNSICQsAFMZflGqlAhfKqlFvENBOrcTlyjpcHxWIyho91CoFAjRqVNbp0U6thFqpaJijzfUq/GkZhySZ2kVqnmxhcubQHf3V2PS/tyHI3w8dNCoIgnG+Ob1BwK8XrmL3SR1e33zc4texp/niw9kXWKup8FW+XEzBxuum5qbG4ZlhvWAQBKhVStTWG1BRU4+QAI03ikhedvbsWYzcssjmelFBVlRUFHS6azUKJSUlCA8Pt7ruwoULiIiIgFqttrkPkS2HXh5tc12PsADT6+gQ4//bqa8lZAxsd+32FjvhbEA77yTttMbVpjaNSilqDraY8AColQpMH90Ho/t1xpe5RUiI7oTLlXV4d+dv2NIsNcSnk4diSEyo1R9JapUC8V2DEd81GBGB7UwJNz3hrQkDUFGjx9vbTuDhxGiEBWqweNNxj52vJWspAZavW50+CK99exyndRV47o7ephqrz6fcitO6Cjw4sJvp76Kx44FGrYRGzQCrrRIVZCUnJ2PlypVIS0vD0aNHERkZaWr2i46ORnl5Oc6ePYvOnTtjx44dWLZsGS5dumRzHyJfpVbK14HV1aY2sZPcbn/hdrOBBU2ngln9eBIEQcDR82WI7xrs0nHvv6mrx4KswwtGo6O/cULtx4b2MC1nkNU6jOwbie3HSqBSAHLOeHPslbEwCAK2HbuA//30EEbHd8aovlH4z94CpA/tgcm39UJ7jQr+fioMvC5EvoKSzxIVZCUmJiI+Ph5paWlQKBSYP38+NmzYgKCgIKSkpGDBggWYPn06ACA1NRUxMTGIiYmx2IeIHHsosRseTozGpPeuTeVzz41d8NRtMfh4bwEm3nwd4rsGI+6lzXaOYt34QdEOR24qFAqXAywAUEs4wqprsD96RQTgh/yLWPpwginAaq5fl444er7MYvmZJXfjh5M6PPb+Xit7ed51oR0wuGcI/nvQvOnZEwMDHEm9sTM2HfHtAR2J14Vg+7ESrwZY3UPao6KmHqWVxumpokPao73GWJN9/03dcPeNxsFcSqUCj9/SEwDYBEgOiZ4gesaMGWbv4+LiTK8HDx6MjIwMh/sQtSZqpQIj4iItmtfcteC+eHT098PPL6Vg4MKt+Oipm3Hb9eFQKBRIdOPX82d/vAU3x4Q63tANd9wQge+bZTl3xfWRgfjgicHo1qk9lEoFqmr1pgefNRFB7QAbM6Ikx4bhy6nJUCoU0JZX46l/HRBdLmf1DOuAMxcr8f2MO6BUKiyCrIMvpmDAK1skOVfT0WnW3NwzBCsmJqJzsHHqp/d2n8Kib45Jcm7AvcEY4wZ1gyAoMKhHCG7oHIScAmnmc7SneT+1jf9zG4I7+KHn7G9w2/XhWPv0ELPtpfzRQG2H6CCLqC1wJcHglmnDMebtXZKXobHWJiRAg63ThuP6KMtJkAHgnccS8af/HHT6uJ4OsAD7kxY7Q6NWontoh2vHsxNgAdcmX24qPNBY26BQKDCgeycAQE29satCWIAGEUHtTIldv5t+O0Ystz7ljqtUSgU+mTwU1XUGU23hpudvw8Q1P+FKlbG2JNBfuq9gjVppmn/Pmv88MxQa9bVAISLI3pgo14kNsNY+fTNuuz7CbNkhiSZat6f5n7a/xnhtRveLwot39/P4+altYGhO5IS/3Rdvd33u/NHoFeH5Poa2AiwAuKWX8wNJnr0tRoriOJRTcMmt/TUu1h5Ya/gc1TfKYlk7tQqnFqci56UUbP7LcLz/hyQAQNdO7cUU06p2aiW6BLdHTPi1ARr9unY0O4dKqUD2nBGSnM9agNlU0wALAMbEd5bkvO4KD7QM9kSOUxHtwycHmwbNrH48CdeFdXCwB5FzGGQR2dGYjVvd5Fv/1OJUnFlyN6JDrj0sg9sba5sWPdDf7XO+dE8/0xxprghop4JGpURybJjDbZs3W3lKydUat/Z3Ne3GditZ5g02aiOb9kVL6mms1Wundv8rsW+XjgCAG7tZ78cW37UjQgM0OPnqXQDMR8G6o7ym3urydx5LxLYXbrdY7u9mLaNUrH1+RwGj1BK7s9M6eQabC4nsqGh4cPk3/Mo9vnCs6eHcmMGgW5OaiaSeoQjQqFBR6/p0PI0TPj89LAbp9T3wQkof9HahdkytUuLEq3dhWsYhh9u+MS7B5fLJoZ2f+0GPM81YHf3VWJ0+SJLZIILbG79WX7rHepPT6w8nQN8kb1uAxnNfw4Ht1Bjb33bAPnPMDVi+5VeP5l1zxFoTsLen0fJTc/5I8gwGWUR2/OHWnogJD8Q9A7ogNEBj9uv/wycG41JlHQY29PMBjM1bYp9XsZGBpr5BGrXSpQCrqbAmI55sZaUeERcp6tiuEpsEs1un9ii6XIVOHdwfvWVwIoJQKBQYLVHzmSAAA6/rZNaXrCmVUmFWU+OpgKK9nwqHXk6xu42fSgGlQmGzts9TXgBASgwAABZNSURBVH/4RkQG+SOpZwiCrIwUbTphuTfImaqFWjcGWUR2DLwuxJT/5s5mgUlspGX/qE4d/FApohYLMI5OfPHuvqL2beqF0X2wbu/vqKrT2wz4vDV/54+zRuDWJd+5vN+MMX3Qv2swIjv6u3X+Nx8Z4PX8RQKAz6cke/Wc1igUjkfEqZVKuyMSPUWpUFj8PTVVJzLnm6vm39sP45O6W/RXI5IKgywiCVn7Ve6s4PZ+eOa2Xm6XoYNGbXeUmTeJ7UguCPY7+TvroUTvT89lqy+WtzkTO/mpFLJkg3fU59BbNVlPJntnAAi1XQzfiXzEtJQ+Hj2+2KmFpBIb6Xzz5/A+EY438pCEaPFB0kv39MO8VPdrI8Vo2jfwkaRorH58kMN95Mr91MFBPzRvNxcSeQprsoh8hBT9j+ypk3N+EhinSskvKXdqW2vD+p3RtZM/zl2uFrVvo/+bmIgxb+8SVRuogPc7bTf6YdaduFBWg04d/JweOaiWqayOiG1yd8aLd/fF0F5huGflDx47B1Ej1mQR+YAuwe71PWpu+3TLIfuN1j59s6TncmT8IGOTncJqFitLm56/TfS5lE36molNtqlSKUQ3t94oshZsQlJ3Ufs1yn/1LigUCnQO9ncpNYOrKTK8pd6Dwx0NgoD+3YJNKTSIPMk3/8KI2hip+6GH2qkVszXvn6e8MX4AAOebK91J29A4au9v98VjzeNJ4o4h8h9j5cSBGNxTXBb918clYHBP8R30xTb7qSVsQp5/bz9Ml6jJ+4XRfdwKtu1prNH11QCTWhdRd1ldXR2mT5+OiRMn4rHHHkNhYaHFNl999RUefvhhjB8/HuvXrwcAZGVlISUlBenp6UhPT8c///lP90pP1Eo4W8vjLHu1GVI+WF3ROyIQHz87xOF27iTJbKzJ+sOtPXFTk9Qarh1D3Lnl6vN2ZsndoveVMnXBqL5RCA2Upsm7o78f+nXtKMmxmqvxkUEh1DaI6pO1ceNGdOzYEcuXL8fOnTuxfPlyvP3226b1lZWVWLVqFdavXw8/Pz888MADGDVqFCorKzFp0iQ88cQTUpWfqFWQuibLXuZyd+cTFOPEorvgp1I4lTrCnfIl9QhBvZvD/8X2qXI3YLlUWefW/mJIGRgGd/Dz2T5eTY3qZznNEpGniPpWyM7ORkqKMcndsGHDkJOTY7Y+NzcXN954I4KCguDv74+kpCQcPHgQFRUV7peYqBWS+tmkVCps1nA0TgHkTRq10uncXO4EWUvHJWDnzDtF7w+Iby50t4bQ2UEBUpKyk35Hfz+ofDypZ97fxiAhWlwNJ5EYomqydDodQkONfQ9UKhWUSiVqa2uh0Wgs1gNAeHg4tFotKisrsXPnTuzatQuCIGDWrFmIi4uT4GMQtWxSNxfack+CMXO9r3r94RutTrPiLIVC4XatoFLkAbzVx2duahwMAlB8pRr/2nPGrWOJDShtaazJeio5Bh/8eFrSY0vBn0lHycscBlmZmZnIzMw0W5abm2v2XhAEs1+pQrPsdo3rhw4dioSEBAwdOhQHDhzAzJkz8fXXX7tTfqLWwUutLOMGRXst27sjqTd2xqYjxWbLAiSaLNkdYitj3G0q+37GHbhj2fcOt5s8vDcA4OylSoS52QdK6omYG493c0yozSCrs5tZ/N3h7YmniRx+nYwfPx6fffaZ2X8PPvggtFotAGMneEEQ4Od3rQkiKioKOp3O9L6kpAQRERGmAAsAkpKSUFpaCr2enRCpdfnbffEu7yO29sRZ81L7YufMO3C7jEk+m3trwk0Wy+TIPt6c2Aexu4k9e4YH4N10xwlEG0WHdMD/jLjerXNKrfHa2buGP80d6fTxPnhC3AhRW3zlBwa1HaK+FZKTk7F582YAwI4dOzBkiPmIoQEDBuDIkSMoKytDRUUFDh48iKSkJKxatQpZWVkAgBMnTiA0NBQqlfc74RJ50vVRrk/s7Knv/sbJop9M7okeYQE+8ZB55X5jENpObf63H9zeT/SIQCmJDXjtDTZw1hiJJql2ltRBbXLvcDx3R2/0jgiQ5Hgj4qTrpD7AB+4tantE1c2npqZiz549mDhxIjQaDZYsWQIAWL16NQYPHoyBAwdi+vTpePrpp6FQKDB16lQEBQXh/vvvx5w5c7B27VrU19fj1VdflfTDEPmCLsGuz9d3SuuZQSE5L6WgTm+QbfoUayKDrjUX9QoPwCmd8bPnzh8tV5HMiA2yWuIkwwaJoqykHsYcX8Ed/DBrrLGf7dJxCfjr+sOSHF+M2/tEYOcJren9l1Pln7Sb2h5RQZZKpcJrr71msXzy5Mmm12PHjsXYsWPN1kdHR2Pt2rViTknUYsSEB+DYK2PR9+XNNrdJG9wd01L6oLymHiOX7/RoeXwt6aJZDCN/xZoFsc2F3ujus6whsatUpAqy1j93q8UyKWr23OEDlbZEzPhO5AntNSq7HaEX3BePqI7+6B1hbFoM8pe/w7echsWGy10EE5VSgYcSu8ldDADmncQfSuyGcQ1TFElFqiDLGmtJZXNf9l5tJWMs8gVt+5udyIM+eupmPPreXrNlCdHBOHz2itkDaN0zQ9C/q7g571qiDlZSNLwvcQdnd4nLOi/dY73xPvn42SGorNWjc7C/6Emz7TG4l7fVrv7dgtE12B+fT03GQ//Yg6LLVQju4L0cbU2bfd3Jik/kDtZkEXnIICtz0Q2JCcXxhebN6Mmx4V59+MhtWGw4tr0wHAAQ3zUYoQEai07wLU1HfzViwqXp7P3Vn5Px0EBjTVqviED07xbskQAL8GxNVrdO7bFnzkhEdfR3q2ZwrwujEW/vE4FBPUIwqEeITwzyIGJNFpGHaKz0hZp9V982n6tHoVAgNjIIAPDWIwOg94W8DW4aHR8l2b9rQnQndA72R2lFrSTHsydKgpxV7z7mOO3EM8N6IbGHuAmww1xInvuvJwdDbzDeT8+tOyjqfERSYk0WkYdY+yXd1gOs5tQqZYuvxQKA9TlFkh4vMsgfL4y+QdJjWjOgeyc8OFBcLdPbE27C5OG9MKa/47QTwR38cOcNkaLO48rfjEKhgFqlhFqlZJ8s8gmsySLyEms1W0RyEztJ9K29w/CAyADNFc40+73z2CB0atbkntIvCluOXvBUsYicwm99Ig9q2uE2OTZMxpIQWde1k+t53QDfyp4+tn9nDO1l/vc1Pqk70gZ3l6lEREYMsog8bF5qXwDAXf27yFwSIkt/vjMWvURkaK/Te3BooguG9gq1uS6xRwh6hnXwYmmIzLG5kMjDlA19Sh7hr+oWw3fqaDxPrVJi0HUhLs860CVYvomeGzlKzfBIUnc8ksS/O5IPa7KIPGxwzxCfeCAR2eLqVELPDIvxanPh8Ot9J1ktkSsYZBF5WEJ0J2TPcT7XD5G3KV18Ejw2tIdnCmLDv5+62avnI5IKgywiojbO1Vqp5iP5PM2XOtkTuUJUn6y6ujrMnj0b586dM00W3b27ebv3lStX8MILLyAgIAArVqxwej8iIvIuV0MYOSYd/3JqMi6UVWPy2hyvn5tILFF/KRs3bkTHjh3xySef4Nlnn8Xy5csttpk/fz6SkpJc3o+IiLzLVp+sE4vusrpcLTK3ljsGdO+EO0QmNCWSi6ggKzs7GykpKQCAYcOGISfH8pfFokWLkJiY6PJ+RERya2utU7Y+r0Zt/RHh52onLolwxgRqaUT9peh0OoSGGnOTqFQqKJVK1Naaz7MVGBgoaj8iIvKuTh2cnx8QuJaWxNsYY1FL47BPVmZmJjIzM82W5ebmmr0XBMGpjolCs4lgnd2PiIg85893xuKMrgJf5Z6Tuyh2NX1ePDrkOhlLQuQch0HW+PHjMX78eLNls2fPhlarRVxcHOrq6iAIAvz8HI82iYqKErUfEZGcknqE4EDBJZvrt0+/3YulkZ5GrUS3EOP0Ov8zIhYrv8uXuUSOLX7wRrmLQOSQqObC5ORkbN68GQCwY8cODBkyxKP7ERF50+Ce5lO1GJrVwjfXGpLNNjbFpXs5B5arMiYPlbsIRE4TFWSlpqbCYDBg4sSJWLduHaZPnw4AWL16NX7++Wfo9Xqkp6dj8eLF2LdvH9LT05GdnW1zPyIiX3L/Td3M3jcPuppzNWO6L1I1dGZ31D9rdfogbxTHpqiOLT+gpbZDVJ6sxhxXzU2ePNn0eu3atVb3tbYfEZEvu3dAV7y765TcxfAoVUOgqFErsfCB/nhzy69WtwtsJ++Utz3DAxzOWUjkKzhBNBGRm1pDTZa+SZNo+tAeNpsN5RpZSNQScVodIiIrXnvoWsdqB12yWkVqgTq9wea6P97ey/Ra3Ro+LJGXMMgiIrIiJjzA9NpRx/fWUJNVV287yGr6+ViTReQ8BllERFZcHxmIITGhOLxgNBxUZLWKDPF/uLUnFj7Q3+q6AI0KB14cBQDwV6u8WSyiFo19soiIrAgLbIeMP94CwDKRcnOtIaly99AOVvthbXr+NnQLaY/6huZEfz/+NidyFoMsIiIHDI6qslqxfl07AgCq6/QAAH8/1mQROYs/SYiIHHBUk9UWNAZX7WxMGk1ElvjXQkTkQGOIFRtpOfF9W3JkwWiEBbaTuxhELQaDLCIiB7qHdIBCAWx74XYM7N4JPcM6yF0kWQT5c65ZIlewTxYRkQOdg/1x+jVjlvHPpyYDAHrO/kbOIhFRC8CaLCIiIiIPYJBFRERE5AGimgvr6uowe/ZsnDt3zjRZdPfu3c22uXLlCl544QUEBARgxYoVAICsrCwsW7YMnTt3BgDceuuteO6559z8CERERES+R1SQtXHjRnTs2BHLly/Hzp07sXz5crz99ttm28yfPx9JSUk4duyYaVllZSUmTZqEJ554wq1CExEREfk6Uc2F2dnZSElJAQAMGzYMOTk5FtssWrQIiYmJZssqKirEnI6IiIioxRFVk6XT6RAaGgoAUKlUUCqVqK2thUajMW0TGGiZT6ayshI7d+7Erl27IAgCZs2ahbi4OJFFJyKSX6+IAMcbEVGb5DDIyszMRGZmptmy3Nxcs/eCIDg1d9fQoUORkJCAoUOH4sCBA5g5cya+/vprF4tMROQ77hvQVe4iEJGPchhkjR8/HuPHjzdbNnv2bGi1WsTFxaGurg6CIMDPz3GSuoSEBNPrpKQklJaWQq/XQ6XiXFhE1DIp0PInhyYizxDVJys5ORmbN28GAOzYsQNDhgxxar9Vq1YhKysLAHDixAmEhoYywCKiFk3JGIuIbBDVJys1NRV79uzBxIkTodFosGTJEgDA6tWrMXjwYCQkJOCJJ55AWVkZLly4gPT0dEyZMgX3338/5syZg7Vr16K+vh6vvvqqpB+GiMjblIyyiMgGUUFWY26s5iZPnmx6vXbtWqv72lpORNSS3No7DHt+uwilE/1RiahtYsZ3IiI3sCKLiGxhkEVEJEJ7P2N/UtZkEZEtDLKIiERYNn4AAIAxFhHZwiCLiEiEkABj8mXWZBGRLQyyiIjcwD5ZRGQLgywiIjcwhQMR2cIgi4hIpMigdhjYPUTuYhCRjxKVJ4uIiIB980bJXQQi8mGsySIiIiLyAAZZRERERB7AIIuIiIjIAxhkEREREXmAT3V81+v1AIDi4mKZS0JERERkX2O80hi/NOdTQZZWqwUATJo0SeaSEBERETlHq9WiR48eFssVgiAIMpTHqurqauTl5SEiIgIqlUru4hARERHZpNfrodVq0b9/f/j7+1us96kgi4iIiKi1YMd3IiIiIg9gkEVERETkAT7V8X3x4sXIzc2FQqHA3LlzkZCQIHeRZGXvejzwwAMICgoyvV+2bBmioqLkKKbPOHHiBKZMmYInnngCjz32mNzFkZ2968H7x9LSpUuRk5OD+vp6/PGPf8To0aPlLpKs7F0P3j/mqqqqMHv2bFy8eBE1NTWYMmUK7rzzTrmLJRtH16Mt3T8+E2Tt27cPBQUFyMjIQH5+PubMmYPMzEy5iyUbZ67H2rVrZSqd76msrMTChQtxyy23yF0Un+DM9eD9c81PP/2EkydPIiMjA5cuXcKDDz7YpoMsZ64H759rduzYgf79++PZZ59FUVERnnrqqTYdZDlzPdrK/eMzQVZ2djZGjTJOthobG4uysjKUl5cjMDBQ5pLJw9H1qKiokLN4Pkej0WDNmjVYs2aN3EXxCY6uB+8fc4MHDzbVFAcHB6Oqqgp6vb7NjnJ2dD14/5hLTU01vT5//nyrrZVxlqPr0ZbuH58JsnQ6HeLj403vw8LCoNVq22yQ5eh6XL58GdOnT0dRURGGDBmCv/zlL1AoFHIVV3ZqtRpqtc/czrJzdD14/5hTqVTo0KEDACAzMxPDhw9vswEW4Ph68P6xLi0tDcXFxXjnnXfkLopPsHU92tL94zNPpeaZJARBaLUX3RmOrse0adNw3333oV27dpgyZQq2bNmCMWPGeLuY1ELx/rFu27ZtWL9+PT744AO5i+ITbF0P3j/Wffrppzh27BhmzpyJr776qk0/wwDb16Mt3T8+M7owKioKOp3O9L6kpATh4eEylkhejq7Ho48+isDAQPj5+eGOO+7Ar7/+KkcxqYXi/WNp9+7deOedd7BmzRqzTrltlb3rwfvHXF5eHs6fPw8A6Nu3L/R6PUpLS2UulXwcXY+2dP/4TJCVnJyMrKwsAMDRo0cRGRnZZpsKAfvXo7S0FM8++yzq6uoAAPv378f1118vW1mpZeH9Y+nq1atYunQp3n33XXTq1Enu4sjO3vXg/WPpwIEDpto+nU6HyspKhISEyFwq+di7Hm3t/vGpjO/Lli3DgQMHoFAoMH/+fMTFxcldJFk1vx5Hjx5FUFAQUlJS8N5772HTpk3QaDTo168fXnzxRSiVPhMze11eXh5ef/11FBUVQa1WIyoqCitXrmyzD0xr12PEiBGIjo7m/WNFRkYGVq5ciZiYGNOy119/HV27dpWxVPKxdj2GDBmCG264gfePFdXV1Zg3bx7Onz+P6upq/PnPf8aIESPkLpZsrF2Py5cvt8nnl08FWUREREStResMHYmIiIhkxiCLiIiIyAMYZBERERF5AIMsIiIiIg9gkEVERETkAT6T8Z2ISIwlS5bgl19+gVarRVVVFa677jrs378fn3zyCQYOHCh38YioDWMKByJqFTZs2ICTJ09i1qxZcheFiAgAa7KIqBWaPXs2xowZg0uXLmH//v24dOkSTp48iWnTpmHjxo347bffsGzZMgwYMADr1q3D119/DaVSiVGjRuGpp56Su/hE1EowyCKiVu3MmTP4+OOPkZmZiXfffRdffPEFNmzYgI0bNyI0NBSbN2/GJ598AgCYOHEixo4d22YzvRORtBhkEVGr1r9/fygUCkREROCGG26ASqVCeHg4Dh48iCNHjqCgoACPP/44AKCiogJFRUUMsohIEgyyiKhVU6vVVl8LggA/Pz/ccccdeOWVV+QoGhG1ckzhQERtVnx8PPbu3YuqqioIgoBFixahurpa7mIRUSvBmiwiarO6du2Kxx9/HJMmTYJKpcKoUaPg7+8vd7GIqJVgCgciIiIiD2BzIREREZEHMMgiIiIi8gAGWUREREQewCCLiIiIyAMYZBERERF5AIMsIiIiIg9gkEVERETkAf8PVecuEM7kQEoAAAAASUVORK5CYII=\n"},"metadata":{}}]},{"cell_type":"code","source":"plt.figure(figsize=(10,3))\nx = pitch(data, sample_rate)\nlibrosa.display.waveplot(y=x, sr=sample_rate)\nAudio(x, rate=sample_rate)","metadata":{"_uuid":"d69f44d9-2f5e-41ea-a924-f56164eb7ab0","_cell_guid":"69c72492-3a27-49ce-b0e9-59a760c079a9","execution":{"iopub.status.busy":"2023-10-15T08:30:32.540737Z","iopub.execute_input":"2023-10-15T08:30:32.540996Z","iopub.status.idle":"2023-10-15T08:30:32.802624Z","shell.execute_reply.started":"2023-10-15T08:30:32.540966Z","shell.execute_reply":"2023-10-15T08:30:32.801835Z"},"trusted":true},"execution_count":21,"outputs":[{"execution_count":21,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":"plt.figure(figsize=(10,3))\nx = higher_speed(data)\nlibrosa.display.waveplot(y=x, sr=sample_rate)\nAudio(x, rate=sample_rate)","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:32.804176Z","iopub.execute_input":"2023-10-15T08:30:32.804595Z","iopub.status.idle":"2023-10-15T08:30:32.960583Z","shell.execute_reply.started":"2023-10-15T08:30:32.804552Z","shell.execute_reply":"2023-10-15T08:30:32.959720Z"},"trusted":true},"execution_count":22,"outputs":[{"execution_count":22,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":"plt.figure(figsize=(10,3))\nx = lower_speed(data)\nlibrosa.display.waveplot(y=x, sr=sample_rate)\nAudio(x, rate=sample_rate)","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:32.962095Z","iopub.execute_input":"2023-10-15T08:30:32.962535Z","iopub.status.idle":"2023-10-15T08:30:33.152871Z","shell.execute_reply.started":"2023-10-15T08:30:32.962494Z","shell.execute_reply":"2023-10-15T08:30:33.151812Z"},"trusted":true},"execution_count":23,"outputs":[{"execution_count":23,"output_type":"execute_result","data":{"text/plain":"","text/html":"\n \n "},"metadata":{}},{"output_type":"display_data","data":{"text/plain":"
","image/png":"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\n"},"metadata":{}}]},{"cell_type":"markdown","source":"#
Feature Extraction
","metadata":{"_uuid":"2f180b40-2a67-4f2e-bad4-70489a4e7270","_cell_guid":"b0f0f1bc-26cb-4e46-afe4-6a87f340d216","trusted":true}},{"cell_type":"markdown","source":"As we understand, the data provided from audio cannot be understood by the models directly, so we need to convert them into an understandable format for which feature extraction is used.\nThe audio signal is a three-dimensional signal in which three axes represent time, amplitude and frequency.\n\n\nLooking at the waveplots above seems clear (from an eye test) that the waveform itself may not necessarily yield clear class identifying information. Infact they look quite similar.
\nIt turns out one of the best tool to feature extract from audio waveforms ( and digital signal in general) is **Mel Frequency Cepstral Coefficents (MFCCs)**. Below we will go through a brief technical discussion, just to see how MFCCs works\n\n## add to references \n* All the infos about feature extraction and audio processing were taken from https://medium.com/comet-ml/applyingmachinelearningtoaudioanalysis-utm-source-kdnuggets11-19-e160b069e88\n* Mel Frequency Cepstral Coefficients (MFCCs), introduced by Davis and Mermelstein in 1980.","metadata":{"_uuid":"933364f6-33c2-4836-b004-5d8e273aa95c","_cell_guid":"34f5928d-28ba-44eb-a208-747dff0496fa","trusted":true}},{"cell_type":"markdown","source":"## Mel-Frequency Cepstral Coefficients (MFCCs)\nThis feature is one of the most important method to extract a feature of an audio signal and is used majorly whenever working on audio signals. The mel frequency cepstral coefficients (MFCCs) of a signal are a small set of features (usually about 10–20) which concisely describe the overall shape of a spectral envelope.","metadata":{"_uuid":"2bba8bf9-d3d6-49c7-b3c6-8ca6fd55426a","_cell_guid":"c409646e-553a-432b-b79f-2d4339243c62","trusted":true}},{"cell_type":"code","source":"#sample_rate = 22050\n\ndef extract_features(data):\n \n result = np.array([])\n \n #mfccs = librosa.feature.mfcc(y=data, sr=22050, n_mfcc=42) #42 mfcc so we get frames of ~60 ms\n mfccs = librosa.feature.mfcc(y=data, sr=22050, n_mfcc=58)\n mfccs_processed = np.mean(mfccs.T,axis=0)\n result = np.array(mfccs_processed)\n \n return result\n\ndef get_features(path):\n # duration and offset are used to take care of the no audio in start and the ending of each audio files as seen above.\n data, sample_rate = librosa.load(path, duration=3, offset=0.5, res_type='kaiser_fast') \n \n #without augmentation\n res1 = extract_features(data)\n result = np.array(res1)\n \n #noised\n noise_data = noise(data)\n res2 = extract_features(noise_data)\n result = np.vstack((result, res2)) # stacking vertically\n \n #stretched\n stretch_data = stretch(data)\n res3 = extract_features(stretch_data)\n result = np.vstack((result, res3))\n \n #shifted\n shift_data = shift(data)\n res4 = extract_features(shift_data)\n result = np.vstack((result, res4))\n \n #pitched\n pitch_data = pitch(data, sample_rate)\n res5 = extract_features(pitch_data)\n result = np.vstack((result, res5)) \n \n #speed up\n higher_speed_data = higher_speed(data)\n res6 = extract_features(higher_speed_data)\n result = np.vstack((result, res6))\n \n #speed down\n lower_speed_data = higher_speed(data)\n res7 = extract_features(lower_speed_data)\n result = np.vstack((result, res7))\n \n return result","metadata":{"_uuid":"588ccbb7-3456-49da-9c75-5fcf5f21cb0e","_cell_guid":"495d6361-676f-4ef5-9b74-2f16e7157e61","execution":{"iopub.status.busy":"2023-10-15T08:30:33.154530Z","iopub.execute_input":"2023-10-15T08:30:33.155121Z","iopub.status.idle":"2023-10-15T08:30:33.167994Z","shell.execute_reply.started":"2023-10-15T08:30:33.155052Z","shell.execute_reply":"2023-10-15T08:30:33.167126Z"},"trusted":true},"execution_count":24,"outputs":[]},{"cell_type":"code","source":"if not DATA_FRAMES:\n \n female_X, female_Y = [], []\n for path, emotion in zip(Females.path, Females.labels):\n features = get_features(path)\n #adding augmentation, get_features return a multi dimensional array (for each augmentation), so we have to use a loop to fill the df\n for elem in features: \n female_X.append(elem) \n female_Y.append(emotion)\n \n\n male_X, male_Y = [], []\n for path, emotion in zip(Males.path, Males.labels):\n features = get_features(path)\n for elem in features:\n male_X.append(elem)\n male_Y.append(emotion)\n \n print(f'Check shapes:\\nFemale features: {len(female_X)}, labels: {len(female_Y)}\\nMale features: {len(male_X)}, labels: {len(male_Y)}')","metadata":{"_uuid":"5c82f628-b3c0-4638-ae9a-a0a5fccb7639","_cell_guid":"078e399f-f2c0-4d25-b650-11d7d127bcad","execution":{"iopub.status.busy":"2023-10-15T08:30:33.169732Z","iopub.execute_input":"2023-10-15T08:30:33.170353Z","iopub.status.idle":"2023-10-15T08:30:33.184915Z","shell.execute_reply.started":"2023-10-15T08:30:33.170317Z","shell.execute_reply":"2023-10-15T08:30:33.184068Z"},"trusted":true},"execution_count":25,"outputs":[]},{"cell_type":"code","source":"def setup_dataframe(gender, features, labels):\n df = pd.DataFrame(features)\n df['labels'] = labels\n df.to_csv(f'{gender}_features.csv', index=False)\n \n print(f'{gender} dataframe')\n df.sample(frac=1).head()\n \n return df","metadata":{"_uuid":"463eb973-74c3-4861-8828-4ba04028613f","_cell_guid":"997a1461-28e9-431b-b90d-cf332e2f9ef3","execution":{"iopub.status.busy":"2023-10-15T08:30:33.186349Z","iopub.execute_input":"2023-10-15T08:30:33.186945Z","iopub.status.idle":"2023-10-15T08:30:33.200172Z","shell.execute_reply.started":"2023-10-15T08:30:33.186900Z","shell.execute_reply":"2023-10-15T08:30:33.199470Z"},"trusted":true},"execution_count":26,"outputs":[]},{"cell_type":"code","source":"if not DATA_FRAMES:\n Females_Features = setup_dataframe('Female', female_X, female_Y)\nelse:\n Females_Features = pd.read_csv(fem_path)","metadata":{"_uuid":"d2feb21f-71da-4d97-90dc-c3410cd71f5e","_cell_guid":"b18b718f-2a23-48a3-8212-aead72c1fec7","execution":{"iopub.status.busy":"2023-10-15T08:30:33.201470Z","iopub.execute_input":"2023-10-15T08:30:33.202047Z","iopub.status.idle":"2023-10-15T08:30:34.483456Z","shell.execute_reply.started":"2023-10-15T08:30:33.202004Z","shell.execute_reply":"2023-10-15T08:30:34.482624Z"},"trusted":true},"execution_count":27,"outputs":[]},{"cell_type":"code","source":"if not DATA_FRAMES:\n Males_Features = setup_dataframe('Male', male_X, male_Y)\nelse:\n Males_Features = pd.read_csv(mal_path)","metadata":{"_uuid":"ed61be7b-9002-481d-bcc4-2f6e6fe07baf","_cell_guid":"4784e5ad-2918-41b3-99fd-0904301a468f","execution":{"iopub.status.busy":"2023-10-15T08:30:34.484727Z","iopub.execute_input":"2023-10-15T08:30:34.484980Z","iopub.status.idle":"2023-10-15T08:30:35.341828Z","shell.execute_reply.started":"2023-10-15T08:30:34.484956Z","shell.execute_reply":"2023-10-15T08:30:35.340994Z"},"trusted":true},"execution_count":28,"outputs":[]},{"cell_type":"markdown","source":"#
Data Preparation\nAs of now we have extracted the data, now we need to normalize and split our data for training and testing.","metadata":{"_uuid":"eeedb444-b208-4303-a886-6f4ac9bcd4b9","_cell_guid":"a7defac7-9b53-44e4-9dcb-62efc952a60f","trusted":true}},{"cell_type":"code","source":"from sklearn.preprocessing import StandardScaler, OneHotEncoder\nfrom sklearn.metrics import confusion_matrix, classification_report\nfrom sklearn.model_selection import train_test_split","metadata":{"_uuid":"ac744cf0-b81c-4d73-b7d4-f46aad3d8dc4","_cell_guid":"8b957998-6082-49eb-817a-a515aede8ca0","execution":{"iopub.status.busy":"2023-10-15T08:30:35.343241Z","iopub.execute_input":"2023-10-15T08:30:35.343865Z","iopub.status.idle":"2023-10-15T08:30:35.349521Z","shell.execute_reply.started":"2023-10-15T08:30:35.343819Z","shell.execute_reply":"2023-10-15T08:30:35.348521Z"},"trusted":true},"execution_count":29,"outputs":[]},{"cell_type":"code","source":"female_X = Females_Features.iloc[: ,:-1].values\nfemale_Y = Females_Features['labels'].values\n\nmale_X = Males_Features.iloc[: ,:-1].values\nmale_Y = Males_Features['labels'].values","metadata":{"_uuid":"58bb4e1a-0eeb-40b8-ae0c-f17fdfd2387e","_cell_guid":"74df1a59-4147-48e3-a126-9864ea08ce89","execution":{"iopub.status.busy":"2023-10-15T08:30:35.351002Z","iopub.execute_input":"2023-10-15T08:30:35.351435Z","iopub.status.idle":"2023-10-15T08:30:35.383210Z","shell.execute_reply.started":"2023-10-15T08:30:35.351392Z","shell.execute_reply":"2023-10-15T08:30:35.382355Z"},"trusted":true},"execution_count":30,"outputs":[]},{"cell_type":"code","source":"# As this is a multiclass classification problem onehotencoding our Y.\nencoder = OneHotEncoder()\n\nfemale_Y = encoder.fit_transform(np.array(female_Y).reshape(-1,1)).toarray()\nmale_Y = encoder.fit_transform(np.array(male_Y).reshape(-1,1)).toarray()","metadata":{"_uuid":"b99d9b98-3984-43b1-ad27-3058d6f4b5db","_cell_guid":"c81ac313-e56c-4c47-8de9-47c9ce51c9ba","execution":{"iopub.status.busy":"2023-10-15T08:30:35.384571Z","iopub.execute_input":"2023-10-15T08:30:35.384952Z","iopub.status.idle":"2023-10-15T08:30:35.418656Z","shell.execute_reply.started":"2023-10-15T08:30:35.384913Z","shell.execute_reply":"2023-10-15T08:30:35.417797Z"},"trusted":true},"execution_count":31,"outputs":[]},{"cell_type":"markdown","source":"## Splitting data","metadata":{"_uuid":"267c61f3-0658-46e9-bcde-889a8dff29e1","_cell_guid":"a7492ee6-3b5b-4a4d-ac73-facf7e5d3d35","trusted":true}},{"cell_type":"markdown","source":"Just for adding more proves that gender separation have sense","metadata":{}},{"cell_type":"code","source":"nogender_X = np.concatenate((female_X, male_X))\nnogender_Y = np.concatenate((female_Y, male_Y))\n\nx_train, x_test, y_train, y_test = train_test_split(nogender_X, nogender_Y, random_state=0, test_size=0.20, shuffle=True)\nx_train.shape, y_train.shape, x_test.shape, y_test.shape","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:35.425116Z","iopub.execute_input":"2023-10-15T08:30:35.425471Z","iopub.status.idle":"2023-10-15T08:30:35.523373Z","shell.execute_reply.started":"2023-10-15T08:30:35.425433Z","shell.execute_reply":"2023-10-15T08:30:35.522539Z"},"trusted":true},"execution_count":32,"outputs":[{"execution_count":32,"output_type":"execute_result","data":{"text/plain":"((68107, 58), (68107, 8), (17027, 58), (17027, 8))"},"metadata":{}}]},{"cell_type":"code","source":"x_trainF, x_testF, y_trainF, y_testF = train_test_split(female_X, female_Y, random_state=0, test_size=0.20, shuffle=True)\nx_trainF.shape, y_trainF.shape, x_testF.shape, y_testF.shape","metadata":{"_uuid":"ca782f6d-060b-42b4-ab37-0ace11841509","_cell_guid":"7faf1771-a5e8-4e39-aff7-9177bfdb7eab","execution":{"iopub.status.busy":"2023-10-15T08:30:35.524868Z","iopub.execute_input":"2023-10-15T08:30:35.525119Z","iopub.status.idle":"2023-10-15T08:30:35.567998Z","shell.execute_reply.started":"2023-10-15T08:30:35.525094Z","shell.execute_reply":"2023-10-15T08:30:35.566906Z"},"trusted":true},"execution_count":33,"outputs":[{"execution_count":33,"output_type":"execute_result","data":{"text/plain":"((39379, 58), (39379, 8), (9845, 58), (9845, 8))"},"metadata":{}}]},{"cell_type":"code","source":"x_trainM, x_testM, y_trainM, y_testM = train_test_split(male_X, male_Y, random_state=0, test_size=0.20, shuffle=True)\nx_trainM.shape, y_trainM.shape, x_testM.shape, y_testM.shape","metadata":{"_uuid":"094de711-d89e-49ab-8afa-57bb9a2856ab","_cell_guid":"989d4298-07cf-4875-81c8-f64950eb598a","execution":{"iopub.status.busy":"2023-10-15T08:30:35.569511Z","iopub.execute_input":"2023-10-15T08:30:35.570226Z","iopub.status.idle":"2023-10-15T08:30:35.604794Z","shell.execute_reply.started":"2023-10-15T08:30:35.570180Z","shell.execute_reply":"2023-10-15T08:30:35.603833Z"},"trusted":true},"execution_count":34,"outputs":[{"execution_count":34,"output_type":"execute_result","data":{"text/plain":"((28728, 58), (28728, 8), (7182, 58), (7182, 8))"},"metadata":{}}]},{"cell_type":"markdown","source":"* https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.StandardScaler.html \nWe are going to scale our features throught the StandarScaler module, it standardize the features in a **Normal curve**, i.e.:

\n
$Z = (X -{\\mu})/{\\sigma}$.

\n*Standardization of a dataset is a common requirement for many machine learning estimators: they might behave badly if the individual features do not more or less look like standard normally distributed data (e.g. Gaussian with 0 mean and unit variance).*","metadata":{"_uuid":"87cbc221-1eed-48b5-8113-e6764762485e","_cell_guid":"cd518403-6a48-4430-b95c-7597b8708d8e","trusted":true}},{"cell_type":"code","source":"scaler = StandardScaler()\n\nx_train = scaler.fit_transform(x_train)\nx_test = scaler.transform(x_test)\n\nx_trainF = scaler.fit_transform(x_trainF)\nx_testF = scaler.transform(x_testF)\n\nx_trainM = scaler.fit_transform(x_trainM)\nx_testM = scaler.transform(x_testM)","metadata":{"_uuid":"0ee2bea2-7ee3-43ce-ae2a-cd4a28f1c41f","_cell_guid":"f4640e2b-eaed-41d7-81b4-ba65bb8e0486","execution":{"iopub.status.busy":"2023-10-15T08:30:35.606217Z","iopub.execute_input":"2023-10-15T08:30:35.606604Z","iopub.status.idle":"2023-10-15T08:30:35.802059Z","shell.execute_reply.started":"2023-10-15T08:30:35.606575Z","shell.execute_reply":"2023-10-15T08:30:35.801286Z"},"trusted":true},"execution_count":35,"outputs":[]},{"cell_type":"markdown","source":"## Making our data compatible to model","metadata":{"_uuid":"254dc31b-fb2b-4af2-b9e7-e3c0e9c0153e","_cell_guid":"365d8795-2307-48cf-b01c-a4028253126b","trusted":true}},{"cell_type":"code","source":"x_train = np.expand_dims(x_train, axis=2)\nx_test = np.expand_dims(x_test, axis=2)\nx_train.shape, y_train.shape , x_test.shape , y_test.shape","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:35.803233Z","iopub.execute_input":"2023-10-15T08:30:35.803676Z","iopub.status.idle":"2023-10-15T08:30:35.809528Z","shell.execute_reply.started":"2023-10-15T08:30:35.803630Z","shell.execute_reply":"2023-10-15T08:30:35.808790Z"},"trusted":true},"execution_count":36,"outputs":[{"execution_count":36,"output_type":"execute_result","data":{"text/plain":"((68107, 58, 1), (68107, 8), (17027, 58, 1), (17027, 8))"},"metadata":{}}]},{"cell_type":"code","source":"x_trainF = np.expand_dims(x_trainF, axis=2)\nx_testF = np.expand_dims(x_testF, axis=2)\nx_trainF.shape, y_trainF.shape, x_testF.shape, y_testF.shape","metadata":{"_uuid":"7b6187b7-751b-4f3f-91ed-c114778cfc44","_cell_guid":"c22879c0-9f9f-4895-8ec2-2b5a5041842a","execution":{"iopub.status.busy":"2023-10-15T08:30:35.810610Z","iopub.execute_input":"2023-10-15T08:30:35.810865Z","iopub.status.idle":"2023-10-15T08:30:35.825457Z","shell.execute_reply.started":"2023-10-15T08:30:35.810840Z","shell.execute_reply":"2023-10-15T08:30:35.824636Z"},"trusted":true},"execution_count":37,"outputs":[{"execution_count":37,"output_type":"execute_result","data":{"text/plain":"((39379, 58, 1), (39379, 8), (9845, 58, 1), (9845, 8))"},"metadata":{}}]},{"cell_type":"code","source":"x_trainM = np.expand_dims(x_trainM, axis=2)\nx_testM = np.expand_dims(x_testM, axis=2)\nx_trainM.shape, y_trainM.shape, x_testM.shape, y_testM.shape","metadata":{"_uuid":"5fc3272f-e82f-4645-83bd-917876decca5","_cell_guid":"786a150e-181d-45d3-972d-1c688adcdb6d","execution":{"iopub.status.busy":"2023-10-15T08:30:35.827148Z","iopub.execute_input":"2023-10-15T08:30:35.827593Z","iopub.status.idle":"2023-10-15T08:30:35.838401Z","shell.execute_reply.started":"2023-10-15T08:30:35.827551Z","shell.execute_reply":"2023-10-15T08:30:35.837697Z"},"trusted":true},"execution_count":38,"outputs":[{"execution_count":38,"output_type":"execute_result","data":{"text/plain":"((28728, 58, 1), (28728, 8), (7182, 58, 1), (7182, 8))"},"metadata":{}}]},{"cell_type":"markdown","source":"#
Modeling
","metadata":{"_uuid":"3a24a0e5-62b8-47a8-8623-fdb122fbb967","_cell_guid":"c9d8ce9e-3075-4a91-9fa2-bb6f468b3ab9","trusted":true}},{"cell_type":"code","source":"import tensorflow as tf\nfrom tensorflow import keras\nfrom tensorflow.keras import layers\n\nfrom keras.callbacks import ReduceLROnPlateau\nfrom keras.models import Sequential\nfrom keras.layers import Dense, Conv1D, MaxPooling1D, Flatten, Dropout, BatchNormalization, AveragePooling1D\nfrom keras.utils import np_utils, to_categorical\nfrom keras.callbacks import ModelCheckpoint","metadata":{"_uuid":"276d227e-ccc8-47a8-b7f0-e1f9af5b01f8","_cell_guid":"3784657e-a214-4643-9b37-c1cdc0d779b5","execution":{"iopub.status.busy":"2023-10-15T08:30:35.839311Z","iopub.execute_input":"2023-10-15T08:30:35.839694Z","iopub.status.idle":"2023-10-15T08:30:40.839708Z","shell.execute_reply.started":"2023-10-15T08:30:35.839666Z","shell.execute_reply":"2023-10-15T08:30:40.838881Z"},"trusted":true},"execution_count":39,"outputs":[]},{"cell_type":"code","source":"print(\"Num GPUs Available: \", len(tf.config.experimental.list_physical_devices('GPU')))","metadata":{"_uuid":"02667e51-976b-45be-9424-c6031256dc5b","_cell_guid":"617f366b-db5a-4a5f-b2ec-c989d92220c7","execution":{"iopub.status.busy":"2023-10-15T08:30:40.840978Z","iopub.execute_input":"2023-10-15T08:30:40.841286Z","iopub.status.idle":"2023-10-15T08:30:40.850284Z","shell.execute_reply.started":"2023-10-15T08:30:40.841257Z","shell.execute_reply":"2023-10-15T08:30:40.849320Z"},"trusted":true},"execution_count":40,"outputs":[{"name":"stdout","text":"Num GPUs Available: 0\n","output_type":"stream"}]},{"cell_type":"code","source":"# Create a MirroredStrategy.\nstrategy = tf.distribute.MirroredStrategy()\nprint('Number of devices: {}'.format(strategy.num_replicas_in_sync))","metadata":{"_uuid":"0f302020-e0cc-4583-8396-b65e53f9bdbc","_cell_guid":"03735553-216e-4a5d-932d-a7084ec7c3d3","execution":{"iopub.status.busy":"2023-10-15T08:30:40.851721Z","iopub.execute_input":"2023-10-15T08:30:40.852141Z","iopub.status.idle":"2023-10-15T08:30:40.899670Z","shell.execute_reply.started":"2023-10-15T08:30:40.852099Z","shell.execute_reply":"2023-10-15T08:30:40.898273Z"},"trusted":true},"execution_count":41,"outputs":[{"name":"stdout","text":"Number of devices: 1\n","output_type":"stream"}]},{"cell_type":"code","source":"with strategy.scope():\n \n def build_model(in_shape):\n \n model=Sequential()\n model.add(Conv1D(256, kernel_size=6, strides=1, padding='same', activation='relu', input_shape=(in_shape, 1)))\n model.add(AveragePooling1D(pool_size=4, strides = 2, padding = 'same'))\n\n model.add(Conv1D(128, kernel_size=6, strides=1, padding='same', activation='relu'))\n model.add(AveragePooling1D(pool_size=4, strides = 2, padding = 'same'))\n\n model.add(Conv1D(128, kernel_size=6, strides=1, padding='same', activation='relu'))\n model.add(AveragePooling1D(pool_size=4, strides = 2, padding = 'same'))\n model.add(Dropout(0.2))\n\n model.add(Conv1D(64, kernel_size=6, strides=1, padding='same', activation='relu'))\n model.add(MaxPooling1D(pool_size=4, strides = 2, padding = 'same'))\n \n model.add(Flatten())\n model.add(Dense(units=32, activation='relu'))\n model.add(Dropout(0.3))\n\n model.add(Dense(units=8, activation='softmax'))\n model.compile(optimizer = 'adam' , loss = 'categorical_crossentropy' , metrics = ['accuracy'])\n \n \n return model","metadata":{"_uuid":"3ed66eef-3c8d-40f6-bf6c-2dae3f074d7e","_cell_guid":"025457f6-da9c-49c5-820c-0258547185cb","execution":{"iopub.status.busy":"2023-10-15T08:30:40.900988Z","iopub.execute_input":"2023-10-15T08:30:40.901300Z","iopub.status.idle":"2023-10-15T08:30:40.918991Z","shell.execute_reply.started":"2023-10-15T08:30:40.901271Z","shell.execute_reply":"2023-10-15T08:30:40.918258Z"},"trusted":true},"execution_count":42,"outputs":[]},{"cell_type":"code","source":"def model_build_summary(mod_dim, tr_features, val_features, val_labels):\n model = build_model(mod_dim)\n model.summary()\n \n score = model.evaluate(val_features, val_labels, verbose = 1)\n accuracy = 100*score[1]\n \n return model","metadata":{"_uuid":"ca817c54-848e-4bc3-8182-48f792a3a616","_cell_guid":"0669ff45-5978-45bb-aa26-2e8f419f98e7","execution":{"iopub.status.busy":"2023-10-15T08:30:40.920220Z","iopub.execute_input":"2023-10-15T08:30:40.920604Z","iopub.status.idle":"2023-10-15T08:30:40.932471Z","shell.execute_reply.started":"2023-10-15T08:30:40.920575Z","shell.execute_reply":"2023-10-15T08:30:40.931585Z"},"trusted":true},"execution_count":43,"outputs":[]},{"cell_type":"markdown","source":"*ReduceLROnPlateau* reduce learning rate when a metric has stopped improving.
\n\nModels often benefit from reducing the learning rate by a factor of 2-10 once learning stagnates. This callback monitors a quantity and if no improvement is seen for a 'patience' number of epochs, the learning rate is reduced.","metadata":{"_uuid":"e4fcfecf-a921-45ee-a37a-ac8674d790e4","_cell_guid":"8df4fe0c-88ee-4170-9835-188a15b06574","trusted":true}},{"cell_type":"code","source":"rlrp = ReduceLROnPlateau(monitor='loss', factor=0.4, verbose=0, patience=4, min_lr=0.000001)\n\nbatch_size = 32\nn_epochs = 75","metadata":{"_uuid":"6f9617eb-6955-4264-86ff-16de5fa2b4ff","_cell_guid":"6f0e6211-dcfe-4ebc-abe8-57ad3d31c0fb","execution":{"iopub.status.busy":"2023-10-15T08:30:40.933423Z","iopub.execute_input":"2023-10-15T08:30:40.933918Z","iopub.status.idle":"2023-10-15T08:30:40.943228Z","shell.execute_reply.started":"2023-10-15T08:30:40.933888Z","shell.execute_reply":"2023-10-15T08:30:40.942353Z"},"trusted":true},"execution_count":44,"outputs":[]},{"cell_type":"code","source":"def show_graphs(history):\n epochs = [i for i in range(n_epochs)]\n fig , ax = plt.subplots(1,2)\n train_acc = history.history['accuracy']\n train_loss = history.history['loss']\n test_acc = history.history['val_accuracy']\n test_loss = history.history['val_loss']\n\n fig.set_size_inches(30,12)\n ax[0].plot(epochs , train_loss , label = 'Training Loss')\n ax[0].plot(epochs , test_loss , label = 'Testing Loss')\n ax[0].set_title('Training & Testing Loss')\n ax[0].legend()\n ax[0].set_xlabel(\"Epochs\")\n\n ax[1].plot(epochs , train_acc , label = 'Training Accuracy')\n ax[1].plot(epochs , test_acc , label = 'Testing Accuracy')\n ax[1].set_title('Training & Testing Accuracy')\n ax[1].legend()\n ax[1].set_xlabel(\"Epochs\")\n plt.show()","metadata":{"_uuid":"657294c0-b559-421f-9f50-3ea13b1ed691","_cell_guid":"b9dbc777-4949-4982-8534-48dc46cc6dcd","execution":{"iopub.status.busy":"2023-10-15T08:30:40.944198Z","iopub.execute_input":"2023-10-15T08:30:40.944578Z","iopub.status.idle":"2023-10-15T08:30:40.956527Z","shell.execute_reply.started":"2023-10-15T08:30:40.944550Z","shell.execute_reply":"2023-10-15T08:30:40.955710Z"},"trusted":true},"execution_count":45,"outputs":[]},{"cell_type":"markdown","source":"## Model Summary and Pre-training Accuracy","metadata":{"_uuid":"b8db12a0-b5f5-4831-ae7c-ce3b80b64f30","_cell_guid":"d0162cd2-734a-45cf-bd6f-1d33037feb36","trusted":true}},{"cell_type":"code","source":"total_model = model_build_summary(x_train.shape[1], x_train, x_test, y_test)","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:40.957514Z","iopub.execute_input":"2023-10-15T08:30:40.957958Z","iopub.status.idle":"2023-10-15T08:30:45.498802Z","shell.execute_reply.started":"2023-10-15T08:30:40.957930Z","shell.execute_reply":"2023-10-15T08:30:45.498042Z"},"trusted":true},"execution_count":46,"outputs":[{"name":"stdout","text":"Model: \"sequential\"\n_________________________________________________________________\nLayer (type) Output Shape Param # \n=================================================================\nconv1d (Conv1D) (None, 58, 256) 1792 \n_________________________________________________________________\naverage_pooling1d (AveragePo (None, 29, 256) 0 \n_________________________________________________________________\nconv1d_1 (Conv1D) (None, 29, 128) 196736 \n_________________________________________________________________\naverage_pooling1d_1 (Average (None, 15, 128) 0 \n_________________________________________________________________\nconv1d_2 (Conv1D) (None, 15, 128) 98432 \n_________________________________________________________________\naverage_pooling1d_2 (Average (None, 8, 128) 0 \n_________________________________________________________________\ndropout (Dropout) (None, 8, 128) 0 \n_________________________________________________________________\nconv1d_3 (Conv1D) (None, 8, 64) 49216 \n_________________________________________________________________\nmax_pooling1d (MaxPooling1D) (None, 4, 64) 0 \n_________________________________________________________________\nflatten (Flatten) (None, 256) 0 \n_________________________________________________________________\ndense (Dense) (None, 32) 8224 \n_________________________________________________________________\ndropout_1 (Dropout) (None, 32) 0 \n_________________________________________________________________\ndense_1 (Dense) (None, 8) 264 \n=================================================================\nTotal params: 354,664\nTrainable params: 354,664\nNon-trainable params: 0\n_________________________________________________________________\n533/533 [==============================] - 4s 7ms/step - loss: 2.0816 - accuracy: 0.1476\n","output_type":"stream"}]},{"cell_type":"code","source":"female_model = model_build_summary(x_trainF.shape[1], x_trainF, x_testF, y_testF)","metadata":{"_uuid":"fbc003e4-b7f4-4fd6-9540-67adf0a11d6a","_cell_guid":"853d7c4b-3942-4e2e-92c8-6f1416d07bfd","execution":{"iopub.status.busy":"2023-10-15T08:30:45.499779Z","iopub.execute_input":"2023-10-15T08:30:45.500030Z","iopub.status.idle":"2023-10-15T08:30:48.141476Z","shell.execute_reply.started":"2023-10-15T08:30:45.500005Z","shell.execute_reply":"2023-10-15T08:30:48.140737Z"},"trusted":true},"execution_count":47,"outputs":[{"name":"stdout","text":"Model: \"sequential_1\"\n_________________________________________________________________\nLayer (type) Output Shape Param # \n=================================================================\nconv1d_4 (Conv1D) (None, 58, 256) 1792 \n_________________________________________________________________\naverage_pooling1d_3 (Average (None, 29, 256) 0 \n_________________________________________________________________\nconv1d_5 (Conv1D) (None, 29, 128) 196736 \n_________________________________________________________________\naverage_pooling1d_4 (Average (None, 15, 128) 0 \n_________________________________________________________________\nconv1d_6 (Conv1D) (None, 15, 128) 98432 \n_________________________________________________________________\naverage_pooling1d_5 (Average (None, 8, 128) 0 \n_________________________________________________________________\ndropout_2 (Dropout) (None, 8, 128) 0 \n_________________________________________________________________\nconv1d_7 (Conv1D) (None, 8, 64) 49216 \n_________________________________________________________________\nmax_pooling1d_1 (MaxPooling1 (None, 4, 64) 0 \n_________________________________________________________________\nflatten_1 (Flatten) (None, 256) 0 \n_________________________________________________________________\ndense_2 (Dense) (None, 32) 8224 \n_________________________________________________________________\ndropout_3 (Dropout) (None, 32) 0 \n_________________________________________________________________\ndense_3 (Dense) (None, 8) 264 \n=================================================================\nTotal params: 354,664\nTrainable params: 354,664\nNon-trainable params: 0\n_________________________________________________________________\n308/308 [==============================] - 2s 7ms/step - loss: 2.0795 - accuracy: 0.1277\n","output_type":"stream"}]},{"cell_type":"code","source":"male_model = model_build_summary(x_trainM.shape[1], x_trainM, x_testM, y_testM)","metadata":{"_uuid":"f4236892-65fe-43c6-a430-66fd9ce42fd3","_cell_guid":"dc2e6c56-87b3-4830-aa1d-2bb0ff9b4e9d","execution":{"iopub.status.busy":"2023-10-15T08:30:48.142671Z","iopub.execute_input":"2023-10-15T08:30:48.142924Z","iopub.status.idle":"2023-10-15T08:30:50.187936Z","shell.execute_reply.started":"2023-10-15T08:30:48.142899Z","shell.execute_reply":"2023-10-15T08:30:50.187013Z"},"trusted":true},"execution_count":48,"outputs":[{"name":"stdout","text":"Model: \"sequential_2\"\n_________________________________________________________________\nLayer (type) Output Shape Param # \n=================================================================\nconv1d_8 (Conv1D) (None, 58, 256) 1792 \n_________________________________________________________________\naverage_pooling1d_6 (Average (None, 29, 256) 0 \n_________________________________________________________________\nconv1d_9 (Conv1D) (None, 29, 128) 196736 \n_________________________________________________________________\naverage_pooling1d_7 (Average (None, 15, 128) 0 \n_________________________________________________________________\nconv1d_10 (Conv1D) (None, 15, 128) 98432 \n_________________________________________________________________\naverage_pooling1d_8 (Average (None, 8, 128) 0 \n_________________________________________________________________\ndropout_4 (Dropout) (None, 8, 128) 0 \n_________________________________________________________________\nconv1d_11 (Conv1D) (None, 8, 64) 49216 \n_________________________________________________________________\nmax_pooling1d_2 (MaxPooling1 (None, 4, 64) 0 \n_________________________________________________________________\nflatten_2 (Flatten) (None, 256) 0 \n_________________________________________________________________\ndense_4 (Dense) (None, 32) 8224 \n_________________________________________________________________\ndropout_5 (Dropout) (None, 32) 0 \n_________________________________________________________________\ndense_5 (Dense) (None, 8) 264 \n=================================================================\nTotal params: 354,664\nTrainable params: 354,664\nNon-trainable params: 0\n_________________________________________________________________\n225/225 [==============================] - 2s 7ms/step - loss: 2.0759 - accuracy: 0.1653\n","output_type":"stream"}]},{"cell_type":"markdown","source":"## Model training","metadata":{"_uuid":"f1d4a537-a729-47ea-b935-4fe454580ecf","_cell_guid":"e2b79fb2-daf8-4a17-a012-a37263f9a8d0","trusted":true}},{"cell_type":"code","source":"history = total_model.fit(x_train, y_train, batch_size=batch_size, epochs=n_epochs, validation_data=(x_test, y_test), callbacks=[rlrp])","metadata":{"execution":{"iopub.status.busy":"2023-10-15T08:30:50.189823Z","iopub.execute_input":"2023-10-15T08:30:50.190273Z"},"trusted":true},"execution_count":null,"outputs":[{"name":"stdout","text":"Epoch 1/75\n2129/2129 [==============================] - 53s 25ms/step - loss: 1.3959 - accuracy: 0.4380 - val_loss: 1.1771 - val_accuracy: 0.5299\nEpoch 2/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 1.1785 - accuracy: 0.5298 - val_loss: 1.0807 - val_accuracy: 0.5707\nEpoch 3/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 1.1035 - accuracy: 0.5615 - val_loss: 1.0608 - val_accuracy: 0.5785\nEpoch 4/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 1.0453 - accuracy: 0.5878 - val_loss: 0.9975 - val_accuracy: 0.6057\nEpoch 5/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.9999 - accuracy: 0.6082 - val_loss: 0.9194 - val_accuracy: 0.6363\nEpoch 6/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.9591 - accuracy: 0.6242 - val_loss: 0.8959 - val_accuracy: 0.6511\nEpoch 7/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.9153 - accuracy: 0.6427 - val_loss: 0.8592 - val_accuracy: 0.6627\nEpoch 8/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 0.8786 - accuracy: 0.6586 - val_loss: 0.8290 - val_accuracy: 0.6736\nEpoch 9/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 0.8373 - accuracy: 0.6759 - val_loss: 0.7746 - val_accuracy: 0.6960\nEpoch 10/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.8003 - accuracy: 0.6903 - val_loss: 0.7480 - val_accuracy: 0.7065\nEpoch 11/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.7701 - accuracy: 0.7038 - val_loss: 0.7184 - val_accuracy: 0.7206\nEpoch 12/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 0.7393 - accuracy: 0.7159 - val_loss: 0.7104 - val_accuracy: 0.7246\nEpoch 13/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.7098 - accuracy: 0.7279 - val_loss: 0.7080 - val_accuracy: 0.7259\nEpoch 14/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.6845 - accuracy: 0.7370 - val_loss: 0.6560 - val_accuracy: 0.7489\nEpoch 15/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.6637 - accuracy: 0.7463 - val_loss: 0.6359 - val_accuracy: 0.7569\nEpoch 16/75\n2129/2129 [==============================] - 51s 24ms/step - loss: 0.6392 - accuracy: 0.7584 - val_loss: 0.6433 - val_accuracy: 0.7493\nEpoch 17/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 0.6220 - accuracy: 0.7660 - val_loss: 0.6035 - val_accuracy: 0.7725\nEpoch 18/75\n2129/2129 [==============================] - 52s 24ms/step - loss: 0.6041 - accuracy: 0.7753 - val_loss: 0.5989 - val_accuracy: 0.7754\nEpoch 19/75\n 657/2129 [========>.....................] - ETA: 34s - loss: 0.5797 - accuracy: 0.7813","output_type":"stream"}]},{"cell_type":"code","source":"female_history = female_model.fit(x_trainF, y_trainF, batch_size=batch_size, epochs=n_epochs, validation_data=(x_testF, y_testF), callbacks=[rlrp])","metadata":{"_uuid":"dff9b1bf-1325-4ba2-936a-78cca34c36fb","_cell_guid":"683e39d7-fb4e-4c17-9e95-02de1ca51cd5","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"male_history = male_model.fit(x_trainM, y_trainM, batch_size=batch_size, epochs=n_epochs, validation_data=(x_testM, y_testM), callbacks=[rlrp])","metadata":{"_uuid":"bf5377cb-11fe-458a-888e-dc9bdbcd2784","_cell_guid":"f731dbe4-7c4e-4dce-9d53-1acfdaa2b024","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Uncomment the code below to see the output of a specific layer","metadata":{}},{"cell_type":"code","source":"'''\nfrom keras import backend as K\n\nlayer_name = 'conv1d_11'\nintermediate_layer_model = keras.Model(inputs=female_model.input,\n outputs=female_model.get_layer(layer_name).output)\nintermediate_output = intermediate_layer_model(x_testF)\nprint(intermediate_output[1,0])\n'''","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Performance Evaluations","metadata":{"_uuid":"2b58f999-e771-492f-b28a-ca7d010f73ab","_cell_guid":"dfe9a30b-84ad-4628-a18b-c3db6af78163","trusted":true}},{"cell_type":"code","source":"# genderless\nscore = total_model.evaluate(x_train,y_train, verbose = 0)\nprint(\"Mixed-gender emotions training Accuracy: {0:.2%}\".format(score[1]))\n\nscore = total_model.evaluate(x_test, y_test, verbose=0)\nprint(\"Mixed-gender emotions testing Accuracy: {0:.2%}\".format(score[1]))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"score = female_model.evaluate(x_trainF,y_trainF, verbose = 0)\nprint(\"Female emotions training Accuracy: {0:.2%}\".format(score[1]))\n\nscore = female_model.evaluate(x_testF, y_testF, verbose=0)\nprint(\"Female emotions testing Accuracy: {0:.2%}\".format(score[1]))","metadata":{"_uuid":"2ed7d9cb-4602-4f7a-80d2-05cab4d6abb4","_cell_guid":"b3be869d-46c0-4d0b-b093-6ada4af95417","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"score = male_model.evaluate(x_trainM,y_trainM, verbose = 0)\nprint(\"Male emotions training Accuracy: {0:.2%}\".format(score[1]))\n\nscore = male_model.evaluate(x_testM, y_testM, verbose=0)\nprint(\"Male emotions testing Accuracy: {0:.2%}\".format(score[1]))","metadata":{"_uuid":"5b0462f9-1f5b-4908-a3f0-315477dd0176","_cell_guid":"2efe6f55-a21c-4ae1-8c2f-eda2c9564469","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Training and Validation trends","metadata":{"_uuid":"221e07a6-f3cb-41fb-a2c4-52536a15b8c7","_cell_guid":"2ae8241f-ac42-4312-ad18-2643b39f2ae8","trusted":true}},{"cell_type":"code","source":"show_graphs(history)","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"show_graphs(female_history)","metadata":{"_uuid":"be327c88-e087-4eb8-a928-a29c60f8633d","_cell_guid":"16efab44-61a0-4393-87e6-e8d379f853d7","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"show_graphs(male_history)","metadata":{"_uuid":"72f72742-ccc6-480a-88f0-97f8477639fb","_cell_guid":"26b8f452-bce7-422f-a988-16de7685da76","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Confusion matrix","metadata":{"_uuid":"aaa74df4-a2dd-460a-85d1-93dede24d13c","_cell_guid":"ce5b7034-fbdc-4ba5-be4f-ca91023e53bf","trusted":true}},{"cell_type":"code","source":"# predicting on test data.\npred_test = female_model.predict(x_testF)\ny_pred = encoder.inverse_transform(pred_test)\ny_test_ = encoder.inverse_transform(y_testF)","metadata":{"_uuid":"26fea659-f7ad-47eb-8e04-119ff1169329","_cell_guid":"4984e605-6e49-460c-a9e1-4042abc00f78","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cm = confusion_matrix(y_test_, y_pred)\nplt.figure(figsize = (12, 10))\ncm = pd.DataFrame(cm , index = [i for i in encoder.categories_] , columns = [i for i in encoder.categories_])\nsns.heatmap(cm, linecolor='white', cmap='Blues', linewidth=1, annot=True, fmt='')\nplt.title('Confusion Matrix for Female Emotions', size=20)\nplt.xlabel('Predicted Labels', size=14)\nplt.ylabel('Actual Labels', size=14)\nplt.show()","metadata":{"_uuid":"f083eaea-21b0-49a3-bea9-e693e7a77453","_cell_guid":"08b69691-4a7e-4c71-961b-ab16c020eb79","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# predicting on test data.\npred_test = male_model.predict(x_testM)\ny_pred = encoder.inverse_transform(pred_test)\ny_test_ = encoder.inverse_transform(y_testM)","metadata":{"_uuid":"a9afc111-20f1-4a9b-b302-f3fdd0d1e1a7","_cell_guid":"27a1522a-d7f3-40f3-a621-e6aadb093de7","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"cm = confusion_matrix(y_test_, y_pred)\nplt.figure(figsize = (12, 10))\ncm = pd.DataFrame(cm , index = [i for i in encoder.categories_] , columns = [i for i in encoder.categories_])\nsns.heatmap(cm, linecolor='white', cmap='Blues', linewidth=1, annot=True, fmt='')\nplt.title('Confusion Matrix for Male Emotions', size=20)\nplt.xlabel('Predicted Labels', size=14)\nplt.ylabel('Actual Labels', size=14)\nplt.show()","metadata":{"_uuid":"e45908f7-d67f-4442-92cd-11d50f224aa6","_cell_guid":"678e9d91-862a-4159-9877-caa275302c8e","trusted":true},"execution_count":null,"outputs":[]}]} \ No newline at end of file