{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ ">### 🚩 *Create a free WhyLabs account to get more value out of whylogs!*
\n", ">*Did you know you can store, visualize, and monitor whylogs profiles with the [WhyLabs Observability Platform](https://whylabs.ai/whylogs-free-signup?utm_source=whylogs-Github&utm_medium=whylogs-example&utm_campaign=Audio)? Sign up for a [free WhyLabs account](https://whylabs.ai/whylogs-free-signup?utm_source=whylogs-Github&utm_medium=whylogs-example&utm_campaign=Audio) to leverage the power of whylogs and WhyLabs together!*" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Extracting and Monitoring Audio Samples" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/whylabs/whylogs/blob/mainline/python/examples/experimental/whylogs_Audio_examples.ipynb)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "R8JfJ7PgytuK" }, "source": [ "This notebook demonstrates how to extract features from audio samples for the purpose of monitoring for drift/quality. \n", "\n", "* The audio sample data is taken from Kaggle\n", "* The feature extraction is done using pyAudioAnalysis (https://github.com/tyiannak/pyAudioAnalysis/wiki/3.-Feature-Extraction) \n", "* The logging of features is done by whylogs (https://github.com/whylabs/whylogs) \n", "\n", "For a full list of features that we extract and in-depth explanation of the pyAudioAnalysis set up, please refer to this blog post by the pyAudioAnalysis author: https://medium.com/behavioral-signals-ai/intro-to-audio-analysis-recognizing-sounds-using-machine-learning-20fd646a0ec5" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "TlnPId8BDQQx", "outputId": "d8e90727-b274-4db6-8f90-b7fcd0254c55" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip available: \u001b[0m\u001b[31;49m22.3.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m23.0\u001b[0m\n", "\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpip install --upgrade pip\u001b[0m\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "# Note: you may need to restart the kernel to use updated packages.\n", "%pip install whylogs pyAudioAnalysis eyed3 pydub" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": { "id": "MWTwAYftyUkL" }, "source": [ "**We will use Kaggle to get audio samples from a public Audio MNIST dataset.**\n", "\n", "To set up Kaggle in Colab: https://www.kaggle.com/general/74235 " ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 91 }, "id": "Sqbvnzpz2q4Z", "outputId": "329c1007-ceaf-4c83-8cf3-87173fc85612" }, "outputs": [], "source": [ "! pip install -q kaggle\n", "from google.colab import files\n", "files.upload()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Chy903zH6-FR", "outputId": "afc9a9e0-9026-47a7-eedb-43931f9a7a22" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading free-spoken-digit-dataset-fsdd.zip to /content\n", "\r 0% 0.00/15.5M [00:00 1):\n", " shutil.move(os.path.join(\"/content/recordings/\", filename), \"/content/recordings/\"+parts[1])\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "nRDM_qTaKVvm", "outputId": "64d73993-d750-4ecf-ca1a-3324415a43f2" }, "outputs": [], "source": [ "# Set up the WhyLabs environment \n", "# The model type can be set as \"Other\"\n", "# Documentation: https://docs.whylabs.ai/docs/whylabs-onboarding \n", "\n", "import getpass\n", "import os\n", "\n", "# set your org-id here - should be something like \"org-xxxx\"\n", "print(\"Enter your WhyLabs Org ID\") \n", "os.environ[\"WHYLABS_DEFAULT_ORG_ID\"] = input()\n", "\n", "# set your datased_id (or model_id) here - should be something like \"model-xxxx\"\n", "print(\"Enter your WhyLabs Dataset ID\")\n", "os.environ[\"WHYLABS_DEFAULT_DATASET_ID\"] = input()\n", "\n", "\n", "# set your API key here\n", "print(\"Enter your WhyLabs API key\")\n", "os.environ[\"WHYLABS_API_KEY\"] = getpass.getpass()\n", "print(\"Using API Key ID: \", os.environ[\"WHYLABS_API_KEY\"][0:10])" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "yLD0HovF826g" }, "outputs": [], "source": [ "# Set up the audio feature extraction step with pyAudioAnalysis \n", "# https://medium.com/behavioral-signals-ai/intro-to-audio-analysis-recognizing-sounds-using-machine-learning-20fd646a0ec5\n", "\n", "from pyAudioAnalysis import MidTermFeatures as aF\n", "import os\n", "import numpy as np\n", "import plotly.graph_objs as go \n", "import plotly\n", "import pandas as pd\n", "\n", "# This example will focus on just one speaker, but can be set up with\n", "# multiple directories \n", "dirs = [\"/content/recordings/george\"] \n", "\n", "# The feature extraction has the following parameters: \n", "# the mid-term window size (mw)\n", "# the mid-term step size (ms)\n", "# the short-term window size (sw)\n", "# and the short-term step size (ss)\n", "# These windows can be configured depending on the side of each audio sample\n", "m_win, m_step, s_win, s_step = 0.5, 0.5, 0.1, 0.05 \n", "# segment-level feature extraction:\n", "features = [] \n", "for d in dirs: # get feature matrix for each directory \n", " f, files, fn = aF.directory_feature_extraction(d, m_win, m_step, \n", " s_win, s_step) \n", " features.append(f)\n", "# (each element of the features list contains a \n", "# (samples x segment features) = (N x 138) feature matrix)\n", "\n", "# Create a dataframe from the resulting features \n", "df = pd.DataFrame(f, columns = fn)\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "_SB3iZeTLYQs", "outputId": "8397a0be-5d49-41fa-d5dc-b075833aedf0" }, "outputs": [], "source": [ "# Now that we have all features extracted, we have a dataframe where features\n", "# are columns and samples are rows. \n", "# We will use whylogs to profile the features dataframe to extract key statistics\n", "# that we will tracking using the WhyLabs monitoring platform\n", "# whylogs documentation: https://github.com/whylabs/whylogs \n", "\n", "import whylogs as why\n", "from datetime import datetime, timedelta, timezone\n", "\n", "# We are setting the date of profiling for easier navigation in the \n", "# WhyLabs platform \n", "current_date = datetime.now(timezone.utc)\n", "profile = why.log(df).profile()\n", "profile.set_dataset_timestamp(current_date)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "6_TKduvNLcBP", "outputId": "532744a5-c2df-49e2-97d5-4756e500fff5" }, "outputs": [ { "data": { "text/plain": [ "(True, 'OK')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# As a final step, we write the resulting feature profile to the WhyLabs platform\n", "# To see the result, log into https://hub.whylabsapp.com/ and navigate to the\n", "# model you specified in the \"Set up the WhyLabs environment\" step \n", "from whylogs.api.writer.whylabs import WhyLabsWriter\n", "\n", "# Write the log to the WhyLabs platform \n", "writer = WhyLabsWriter()\n", "writer.write(file=profile.view())" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "ccz0_Zq_Llo-", "outputId": "8c7490bb-16df-4a2b-949f-a9a9eea0f06f" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Analyzing file 1 of 500: /content/recordings/lucas/0_lucas_0.wav\n", "Analyzing file 2 of 500: /content/recordings/lucas/0_lucas_1.wav\n", "Analyzing file 3 of 500: /content/recordings/lucas/0_lucas_10.wav\n", "Analyzing file 4 of 500: /content/recordings/lucas/0_lucas_11.wav\n", "Analyzing file 5 of 500: /content/recordings/lucas/0_lucas_12.wav\n", "Analyzing file 6 of 500: /content/recordings/lucas/0_lucas_13.wav\n", "Analyzing file 7 of 500: /content/recordings/lucas/0_lucas_14.wav\n", "Analyzing file 8 of 500: /content/recordings/lucas/0_lucas_15.wav\n", "Analyzing file 9 of 500: /content/recordings/lucas/0_lucas_16.wav\n", "Analyzing file 10 of 500: /content/recordings/lucas/0_lucas_17.wav\n", "Analyzing file 11 of 500: /content/recordings/lucas/0_lucas_18.wav\n", "Analyzing file 12 of 500: /content/recordings/lucas/0_lucas_19.wav\n", "Analyzing file 13 of 500: /content/recordings/lucas/0_lucas_2.wav\n", "Analyzing file 14 of 500: /content/recordings/lucas/0_lucas_20.wav\n", "Analyzing file 15 of 500: /content/recordings/lucas/0_lucas_21.wav\n", "Analyzing file 16 of 500: /content/recordings/lucas/0_lucas_22.wav\n", "Analyzing file 17 of 500: /content/recordings/lucas/0_lucas_23.wav\n", "Analyzing file 18 of 500: /content/recordings/lucas/0_lucas_24.wav\n", "Analyzing file 19 of 500: /content/recordings/lucas/0_lucas_25.wav\n", "Analyzing file 20 of 500: /content/recordings/lucas/0_lucas_26.wav\n", "Analyzing file 21 of 500: /content/recordings/lucas/0_lucas_27.wav\n", "Analyzing file 22 of 500: /content/recordings/lucas/0_lucas_28.wav\n", "Analyzing file 23 of 500: /content/recordings/lucas/0_lucas_29.wav\n", "Analyzing file 24 of 500: /content/recordings/lucas/0_lucas_3.wav\n", "Analyzing file 25 of 500: /content/recordings/lucas/0_lucas_30.wav\n", "Analyzing file 26 of 500: /content/recordings/lucas/0_lucas_31.wav\n", "Analyzing file 27 of 500: /content/recordings/lucas/0_lucas_32.wav\n", "Analyzing file 28 of 500: /content/recordings/lucas/0_lucas_33.wav\n", "Analyzing file 29 of 500: /content/recordings/lucas/0_lucas_34.wav\n", "Analyzing file 30 of 500: /content/recordings/lucas/0_lucas_35.wav\n", "Analyzing file 31 of 500: /content/recordings/lucas/0_lucas_36.wav\n", "Analyzing file 32 of 500: /content/recordings/lucas/0_lucas_37.wav\n", "Analyzing file 33 of 500: /content/recordings/lucas/0_lucas_38.wav\n", "Analyzing file 34 of 500: /content/recordings/lucas/0_lucas_39.wav\n", "Analyzing file 35 of 500: /content/recordings/lucas/0_lucas_4.wav\n", "Analyzing file 36 of 500: /content/recordings/lucas/0_lucas_40.wav\n", "Analyzing file 37 of 500: /content/recordings/lucas/0_lucas_41.wav\n", "Analyzing file 38 of 500: /content/recordings/lucas/0_lucas_42.wav\n", "Analyzing file 39 of 500: /content/recordings/lucas/0_lucas_43.wav\n", "Analyzing file 40 of 500: /content/recordings/lucas/0_lucas_44.wav\n", "Analyzing file 41 of 500: /content/recordings/lucas/0_lucas_45.wav\n", "Analyzing file 42 of 500: /content/recordings/lucas/0_lucas_46.wav\n", "Analyzing file 43 of 500: /content/recordings/lucas/0_lucas_47.wav\n", "Analyzing file 44 of 500: /content/recordings/lucas/0_lucas_48.wav\n", "Analyzing file 45 of 500: /content/recordings/lucas/0_lucas_49.wav\n", "Analyzing file 46 of 500: /content/recordings/lucas/0_lucas_5.wav\n", "Analyzing file 47 of 500: /content/recordings/lucas/0_lucas_6.wav\n", "Analyzing file 48 of 500: /content/recordings/lucas/0_lucas_7.wav\n", "Analyzing file 49 of 500: /content/recordings/lucas/0_lucas_8.wav\n", "Analyzing file 50 of 500: /content/recordings/lucas/0_lucas_9.wav\n", "Analyzing file 51 of 500: /content/recordings/lucas/1_lucas_0.wav\n", "Analyzing file 52 of 500: /content/recordings/lucas/1_lucas_1.wav\n", "Analyzing file 53 of 500: /content/recordings/lucas/1_lucas_10.wav\n", "Analyzing file 54 of 500: /content/recordings/lucas/1_lucas_11.wav\n", "Analyzing file 55 of 500: /content/recordings/lucas/1_lucas_12.wav\n", "Analyzing file 56 of 500: /content/recordings/lucas/1_lucas_13.wav\n", "Analyzing file 57 of 500: /content/recordings/lucas/1_lucas_14.wav\n", "Analyzing file 58 of 500: /content/recordings/lucas/1_lucas_15.wav\n", "Analyzing file 59 of 500: /content/recordings/lucas/1_lucas_16.wav\n", "Analyzing file 60 of 500: /content/recordings/lucas/1_lucas_17.wav\n", "Analyzing file 61 of 500: /content/recordings/lucas/1_lucas_18.wav\n", "Analyzing file 62 of 500: /content/recordings/lucas/1_lucas_19.wav\n", "Analyzing file 63 of 500: /content/recordings/lucas/1_lucas_2.wav\n", "Analyzing file 64 of 500: /content/recordings/lucas/1_lucas_20.wav\n", "Analyzing file 65 of 500: /content/recordings/lucas/1_lucas_21.wav\n", "Analyzing file 66 of 500: /content/recordings/lucas/1_lucas_22.wav\n", "Analyzing file 67 of 500: /content/recordings/lucas/1_lucas_23.wav\n", "Analyzing file 68 of 500: /content/recordings/lucas/1_lucas_24.wav\n", "Analyzing file 69 of 500: /content/recordings/lucas/1_lucas_25.wav\n", "Analyzing file 70 of 500: /content/recordings/lucas/1_lucas_26.wav\n", "Analyzing file 71 of 500: /content/recordings/lucas/1_lucas_27.wav\n", "Analyzing file 72 of 500: /content/recordings/lucas/1_lucas_28.wav\n", "Analyzing file 73 of 500: /content/recordings/lucas/1_lucas_29.wav\n", "Analyzing file 74 of 500: /content/recordings/lucas/1_lucas_3.wav\n", "Analyzing file 75 of 500: /content/recordings/lucas/1_lucas_30.wav\n", "Analyzing file 76 of 500: /content/recordings/lucas/1_lucas_31.wav\n", "Analyzing file 77 of 500: /content/recordings/lucas/1_lucas_32.wav\n", "Analyzing file 78 of 500: /content/recordings/lucas/1_lucas_33.wav\n", "Analyzing file 79 of 500: /content/recordings/lucas/1_lucas_34.wav\n", "Analyzing file 80 of 500: /content/recordings/lucas/1_lucas_35.wav\n", "Analyzing file 81 of 500: /content/recordings/lucas/1_lucas_36.wav\n", "Analyzing file 82 of 500: /content/recordings/lucas/1_lucas_37.wav\n", "Analyzing file 83 of 500: /content/recordings/lucas/1_lucas_38.wav\n", "Analyzing file 84 of 500: /content/recordings/lucas/1_lucas_39.wav\n", "Analyzing file 85 of 500: /content/recordings/lucas/1_lucas_4.wav\n", "Analyzing file 86 of 500: /content/recordings/lucas/1_lucas_40.wav\n", "Analyzing file 87 of 500: /content/recordings/lucas/1_lucas_41.wav\n", "Analyzing file 88 of 500: /content/recordings/lucas/1_lucas_42.wav\n", "Analyzing file 89 of 500: /content/recordings/lucas/1_lucas_43.wav\n", "Analyzing file 90 of 500: /content/recordings/lucas/1_lucas_44.wav\n", "Analyzing file 91 of 500: /content/recordings/lucas/1_lucas_45.wav\n", "Analyzing file 92 of 500: /content/recordings/lucas/1_lucas_46.wav\n", "Analyzing file 93 of 500: /content/recordings/lucas/1_lucas_47.wav\n", "Analyzing file 94 of 500: /content/recordings/lucas/1_lucas_48.wav\n", "Analyzing file 95 of 500: /content/recordings/lucas/1_lucas_49.wav\n", "Analyzing file 96 of 500: /content/recordings/lucas/1_lucas_5.wav\n", "Analyzing file 97 of 500: /content/recordings/lucas/1_lucas_6.wav\n", "Analyzing file 98 of 500: /content/recordings/lucas/1_lucas_7.wav\n", "Analyzing file 99 of 500: /content/recordings/lucas/1_lucas_8.wav\n", "Analyzing file 100 of 500: /content/recordings/lucas/1_lucas_9.wav\n", "Analyzing file 101 of 500: /content/recordings/lucas/2_lucas_0.wav\n", "Analyzing file 102 of 500: /content/recordings/lucas/2_lucas_1.wav\n", "Analyzing file 103 of 500: /content/recordings/lucas/2_lucas_10.wav\n", "Analyzing file 104 of 500: /content/recordings/lucas/2_lucas_11.wav\n", "Analyzing file 105 of 500: /content/recordings/lucas/2_lucas_12.wav\n", "Analyzing file 106 of 500: /content/recordings/lucas/2_lucas_13.wav\n", "Analyzing file 107 of 500: /content/recordings/lucas/2_lucas_14.wav\n", "Analyzing file 108 of 500: /content/recordings/lucas/2_lucas_15.wav\n", "Analyzing file 109 of 500: /content/recordings/lucas/2_lucas_16.wav\n", "Analyzing file 110 of 500: /content/recordings/lucas/2_lucas_17.wav\n", "Analyzing file 111 of 500: /content/recordings/lucas/2_lucas_18.wav\n", "Analyzing file 112 of 500: /content/recordings/lucas/2_lucas_19.wav\n", "Analyzing file 113 of 500: /content/recordings/lucas/2_lucas_2.wav\n", "Analyzing file 114 of 500: /content/recordings/lucas/2_lucas_20.wav\n", "Analyzing file 115 of 500: /content/recordings/lucas/2_lucas_21.wav\n", "Analyzing file 116 of 500: /content/recordings/lucas/2_lucas_22.wav\n", "Analyzing file 117 of 500: /content/recordings/lucas/2_lucas_23.wav\n", "Analyzing file 118 of 500: /content/recordings/lucas/2_lucas_24.wav\n", "Analyzing file 119 of 500: /content/recordings/lucas/2_lucas_25.wav\n", "Analyzing file 120 of 500: /content/recordings/lucas/2_lucas_26.wav\n", "Analyzing file 121 of 500: /content/recordings/lucas/2_lucas_27.wav\n", "Analyzing file 122 of 500: /content/recordings/lucas/2_lucas_28.wav\n", "Analyzing file 123 of 500: /content/recordings/lucas/2_lucas_29.wav\n", "Analyzing file 124 of 500: /content/recordings/lucas/2_lucas_3.wav\n", "Analyzing file 125 of 500: /content/recordings/lucas/2_lucas_30.wav\n", "Analyzing file 126 of 500: /content/recordings/lucas/2_lucas_31.wav\n", "Analyzing file 127 of 500: /content/recordings/lucas/2_lucas_32.wav\n", "Analyzing file 128 of 500: /content/recordings/lucas/2_lucas_33.wav\n", "Analyzing file 129 of 500: /content/recordings/lucas/2_lucas_34.wav\n", "Analyzing file 130 of 500: /content/recordings/lucas/2_lucas_35.wav\n", "Analyzing file 131 of 500: /content/recordings/lucas/2_lucas_36.wav\n", "Analyzing file 132 of 500: /content/recordings/lucas/2_lucas_37.wav\n", "Analyzing file 133 of 500: /content/recordings/lucas/2_lucas_38.wav\n", "Analyzing file 134 of 500: /content/recordings/lucas/2_lucas_39.wav\n", "Analyzing file 135 of 500: /content/recordings/lucas/2_lucas_4.wav\n", "Analyzing file 136 of 500: /content/recordings/lucas/2_lucas_40.wav\n", "Analyzing file 137 of 500: /content/recordings/lucas/2_lucas_41.wav\n", "Analyzing file 138 of 500: /content/recordings/lucas/2_lucas_42.wav\n", "Analyzing file 139 of 500: /content/recordings/lucas/2_lucas_43.wav\n", "Analyzing file 140 of 500: /content/recordings/lucas/2_lucas_44.wav\n", "Analyzing file 141 of 500: /content/recordings/lucas/2_lucas_45.wav\n", "Analyzing file 142 of 500: /content/recordings/lucas/2_lucas_46.wav\n", "Analyzing file 143 of 500: /content/recordings/lucas/2_lucas_47.wav\n", "Analyzing file 144 of 500: /content/recordings/lucas/2_lucas_48.wav\n", "Analyzing file 145 of 500: /content/recordings/lucas/2_lucas_49.wav\n", "Analyzing file 146 of 500: /content/recordings/lucas/2_lucas_5.wav\n", "Analyzing file 147 of 500: /content/recordings/lucas/2_lucas_6.wav\n", "Analyzing file 148 of 500: /content/recordings/lucas/2_lucas_7.wav\n", "Analyzing file 149 of 500: /content/recordings/lucas/2_lucas_8.wav\n", "Analyzing file 150 of 500: /content/recordings/lucas/2_lucas_9.wav\n", "Analyzing file 151 of 500: /content/recordings/lucas/3_lucas_0.wav\n", "Analyzing file 152 of 500: /content/recordings/lucas/3_lucas_1.wav\n", "Analyzing file 153 of 500: /content/recordings/lucas/3_lucas_10.wav\n", "Analyzing file 154 of 500: /content/recordings/lucas/3_lucas_11.wav\n", "Analyzing file 155 of 500: /content/recordings/lucas/3_lucas_12.wav\n", "Analyzing file 156 of 500: /content/recordings/lucas/3_lucas_13.wav\n", "Analyzing file 157 of 500: /content/recordings/lucas/3_lucas_14.wav\n", "Analyzing file 158 of 500: /content/recordings/lucas/3_lucas_15.wav\n", "Analyzing file 159 of 500: /content/recordings/lucas/3_lucas_16.wav\n", "Analyzing file 160 of 500: /content/recordings/lucas/3_lucas_17.wav\n", "Analyzing file 161 of 500: /content/recordings/lucas/3_lucas_18.wav\n", "Analyzing file 162 of 500: /content/recordings/lucas/3_lucas_19.wav\n", "Analyzing file 163 of 500: /content/recordings/lucas/3_lucas_2.wav\n", "Analyzing file 164 of 500: /content/recordings/lucas/3_lucas_20.wav\n", "Analyzing file 165 of 500: /content/recordings/lucas/3_lucas_21.wav\n", "Analyzing file 166 of 500: /content/recordings/lucas/3_lucas_22.wav\n", "Analyzing file 167 of 500: /content/recordings/lucas/3_lucas_23.wav\n", "Analyzing file 168 of 500: /content/recordings/lucas/3_lucas_24.wav\n", "Analyzing file 169 of 500: /content/recordings/lucas/3_lucas_25.wav\n", "Analyzing file 170 of 500: /content/recordings/lucas/3_lucas_26.wav\n", "Analyzing file 171 of 500: /content/recordings/lucas/3_lucas_27.wav\n", "Analyzing file 172 of 500: /content/recordings/lucas/3_lucas_28.wav\n", "Analyzing file 173 of 500: /content/recordings/lucas/3_lucas_29.wav\n", "Analyzing file 174 of 500: /content/recordings/lucas/3_lucas_3.wav\n", "Analyzing file 175 of 500: /content/recordings/lucas/3_lucas_30.wav\n", "Analyzing file 176 of 500: /content/recordings/lucas/3_lucas_31.wav\n", "Analyzing file 177 of 500: /content/recordings/lucas/3_lucas_32.wav\n", "Analyzing file 178 of 500: /content/recordings/lucas/3_lucas_33.wav\n", "Analyzing file 179 of 500: /content/recordings/lucas/3_lucas_34.wav\n", "Analyzing file 180 of 500: /content/recordings/lucas/3_lucas_35.wav\n", "Analyzing file 181 of 500: /content/recordings/lucas/3_lucas_36.wav\n", "Analyzing file 182 of 500: /content/recordings/lucas/3_lucas_37.wav\n", "Analyzing file 183 of 500: /content/recordings/lucas/3_lucas_38.wav\n", "Analyzing file 184 of 500: /content/recordings/lucas/3_lucas_39.wav\n", "Analyzing file 185 of 500: /content/recordings/lucas/3_lucas_4.wav\n", "Analyzing file 186 of 500: /content/recordings/lucas/3_lucas_40.wav\n", "Analyzing file 187 of 500: /content/recordings/lucas/3_lucas_41.wav\n", "Analyzing file 188 of 500: /content/recordings/lucas/3_lucas_42.wav\n", "Analyzing file 189 of 500: /content/recordings/lucas/3_lucas_43.wav\n", "Analyzing file 190 of 500: /content/recordings/lucas/3_lucas_44.wav\n", "Analyzing file 191 of 500: /content/recordings/lucas/3_lucas_45.wav\n", "Analyzing file 192 of 500: /content/recordings/lucas/3_lucas_46.wav\n", "Analyzing file 193 of 500: /content/recordings/lucas/3_lucas_47.wav\n", "Analyzing file 194 of 500: /content/recordings/lucas/3_lucas_48.wav\n", "Analyzing file 195 of 500: /content/recordings/lucas/3_lucas_49.wav\n", "Analyzing file 196 of 500: /content/recordings/lucas/3_lucas_5.wav\n", "Analyzing file 197 of 500: /content/recordings/lucas/3_lucas_6.wav\n", "Analyzing file 198 of 500: /content/recordings/lucas/3_lucas_7.wav\n", "Analyzing file 199 of 500: /content/recordings/lucas/3_lucas_8.wav\n", "Analyzing file 200 of 500: /content/recordings/lucas/3_lucas_9.wav\n", "Analyzing file 201 of 500: /content/recordings/lucas/4_lucas_0.wav\n", "Analyzing file 202 of 500: /content/recordings/lucas/4_lucas_1.wav\n", "Analyzing file 203 of 500: /content/recordings/lucas/4_lucas_10.wav\n", "Analyzing file 204 of 500: /content/recordings/lucas/4_lucas_11.wav\n", "Analyzing file 205 of 500: /content/recordings/lucas/4_lucas_12.wav\n", "Analyzing file 206 of 500: /content/recordings/lucas/4_lucas_13.wav\n", "Analyzing file 207 of 500: /content/recordings/lucas/4_lucas_14.wav\n", "Analyzing file 208 of 500: /content/recordings/lucas/4_lucas_15.wav\n", "Analyzing file 209 of 500: /content/recordings/lucas/4_lucas_16.wav\n", "Analyzing file 210 of 500: /content/recordings/lucas/4_lucas_17.wav\n", "Analyzing file 211 of 500: /content/recordings/lucas/4_lucas_18.wav\n", "Analyzing file 212 of 500: /content/recordings/lucas/4_lucas_19.wav\n", "Analyzing file 213 of 500: /content/recordings/lucas/4_lucas_2.wav\n", "Analyzing file 214 of 500: /content/recordings/lucas/4_lucas_20.wav\n", "Analyzing file 215 of 500: /content/recordings/lucas/4_lucas_21.wav\n", "Analyzing file 216 of 500: /content/recordings/lucas/4_lucas_22.wav\n", "Analyzing file 217 of 500: /content/recordings/lucas/4_lucas_23.wav\n", "Analyzing file 218 of 500: /content/recordings/lucas/4_lucas_24.wav\n", "Analyzing file 219 of 500: /content/recordings/lucas/4_lucas_25.wav\n", "Analyzing file 220 of 500: /content/recordings/lucas/4_lucas_26.wav\n", "Analyzing file 221 of 500: /content/recordings/lucas/4_lucas_27.wav\n", "Analyzing file 222 of 500: /content/recordings/lucas/4_lucas_28.wav\n", "Analyzing file 223 of 500: /content/recordings/lucas/4_lucas_29.wav\n", "Analyzing file 224 of 500: /content/recordings/lucas/4_lucas_3.wav\n", "Analyzing file 225 of 500: /content/recordings/lucas/4_lucas_30.wav\n", "Analyzing file 226 of 500: /content/recordings/lucas/4_lucas_31.wav\n", "Analyzing file 227 of 500: /content/recordings/lucas/4_lucas_32.wav\n", "Analyzing file 228 of 500: /content/recordings/lucas/4_lucas_33.wav\n", "Analyzing file 229 of 500: /content/recordings/lucas/4_lucas_34.wav\n", "Analyzing file 230 of 500: /content/recordings/lucas/4_lucas_35.wav\n", "Analyzing file 231 of 500: /content/recordings/lucas/4_lucas_36.wav\n", "Analyzing file 232 of 500: /content/recordings/lucas/4_lucas_37.wav\n", "Analyzing file 233 of 500: /content/recordings/lucas/4_lucas_38.wav\n", "Analyzing file 234 of 500: /content/recordings/lucas/4_lucas_39.wav\n", "Analyzing file 235 of 500: /content/recordings/lucas/4_lucas_4.wav\n", "Analyzing file 236 of 500: /content/recordings/lucas/4_lucas_40.wav\n", "Analyzing file 237 of 500: /content/recordings/lucas/4_lucas_41.wav\n", "Analyzing file 238 of 500: /content/recordings/lucas/4_lucas_42.wav\n", "Analyzing file 239 of 500: /content/recordings/lucas/4_lucas_43.wav\n", "Analyzing file 240 of 500: /content/recordings/lucas/4_lucas_44.wav\n", "Analyzing file 241 of 500: /content/recordings/lucas/4_lucas_45.wav\n", "Analyzing file 242 of 500: /content/recordings/lucas/4_lucas_46.wav\n", "Analyzing file 243 of 500: /content/recordings/lucas/4_lucas_47.wav\n", "Analyzing file 244 of 500: /content/recordings/lucas/4_lucas_48.wav\n", "Analyzing file 245 of 500: /content/recordings/lucas/4_lucas_49.wav\n", "Analyzing file 246 of 500: /content/recordings/lucas/4_lucas_5.wav\n", "Analyzing file 247 of 500: /content/recordings/lucas/4_lucas_6.wav\n", "Analyzing file 248 of 500: /content/recordings/lucas/4_lucas_7.wav\n", "Analyzing file 249 of 500: /content/recordings/lucas/4_lucas_8.wav\n", "Analyzing file 250 of 500: /content/recordings/lucas/4_lucas_9.wav\n", "Analyzing file 251 of 500: /content/recordings/lucas/5_lucas_0.wav\n", "Analyzing file 252 of 500: /content/recordings/lucas/5_lucas_1.wav\n", "Analyzing file 253 of 500: /content/recordings/lucas/5_lucas_10.wav\n", "Analyzing file 254 of 500: /content/recordings/lucas/5_lucas_11.wav\n", "Analyzing file 255 of 500: /content/recordings/lucas/5_lucas_12.wav\n", "Analyzing file 256 of 500: /content/recordings/lucas/5_lucas_13.wav\n", "Analyzing file 257 of 500: /content/recordings/lucas/5_lucas_14.wav\n", "Analyzing file 258 of 500: /content/recordings/lucas/5_lucas_15.wav\n", "Analyzing file 259 of 500: /content/recordings/lucas/5_lucas_16.wav\n", "Analyzing file 260 of 500: /content/recordings/lucas/5_lucas_17.wav\n", "Analyzing file 261 of 500: /content/recordings/lucas/5_lucas_18.wav\n", "Analyzing file 262 of 500: /content/recordings/lucas/5_lucas_19.wav\n", "Analyzing file 263 of 500: /content/recordings/lucas/5_lucas_2.wav\n", "Analyzing file 264 of 500: /content/recordings/lucas/5_lucas_20.wav\n", "Analyzing file 265 of 500: /content/recordings/lucas/5_lucas_21.wav\n", "Analyzing file 266 of 500: /content/recordings/lucas/5_lucas_22.wav\n", "Analyzing file 267 of 500: /content/recordings/lucas/5_lucas_23.wav\n", "Analyzing file 268 of 500: /content/recordings/lucas/5_lucas_24.wav\n", "Analyzing file 269 of 500: /content/recordings/lucas/5_lucas_25.wav\n", "Analyzing file 270 of 500: /content/recordings/lucas/5_lucas_26.wav\n", "Analyzing file 271 of 500: /content/recordings/lucas/5_lucas_27.wav\n", "Analyzing file 272 of 500: /content/recordings/lucas/5_lucas_28.wav\n", "Analyzing file 273 of 500: /content/recordings/lucas/5_lucas_29.wav\n", "Analyzing file 274 of 500: /content/recordings/lucas/5_lucas_3.wav\n", "Analyzing file 275 of 500: /content/recordings/lucas/5_lucas_30.wav\n", "Analyzing file 276 of 500: /content/recordings/lucas/5_lucas_31.wav\n", "Analyzing file 277 of 500: /content/recordings/lucas/5_lucas_32.wav\n", "Analyzing file 278 of 500: /content/recordings/lucas/5_lucas_33.wav\n", "Analyzing file 279 of 500: /content/recordings/lucas/5_lucas_34.wav\n", "Analyzing file 280 of 500: /content/recordings/lucas/5_lucas_35.wav\n", "Analyzing file 281 of 500: /content/recordings/lucas/5_lucas_36.wav\n", "Analyzing file 282 of 500: /content/recordings/lucas/5_lucas_37.wav\n", "Analyzing file 283 of 500: /content/recordings/lucas/5_lucas_38.wav\n", "Analyzing file 284 of 500: /content/recordings/lucas/5_lucas_39.wav\n", "Analyzing file 285 of 500: /content/recordings/lucas/5_lucas_4.wav\n", "Analyzing file 286 of 500: /content/recordings/lucas/5_lucas_40.wav\n", "Analyzing file 287 of 500: /content/recordings/lucas/5_lucas_41.wav\n", "Analyzing file 288 of 500: /content/recordings/lucas/5_lucas_42.wav\n", "Analyzing file 289 of 500: /content/recordings/lucas/5_lucas_43.wav\n", "Analyzing file 290 of 500: /content/recordings/lucas/5_lucas_44.wav\n", "Analyzing file 291 of 500: /content/recordings/lucas/5_lucas_45.wav\n", "Analyzing file 292 of 500: /content/recordings/lucas/5_lucas_46.wav\n", "Analyzing file 293 of 500: /content/recordings/lucas/5_lucas_47.wav\n", "Analyzing file 294 of 500: /content/recordings/lucas/5_lucas_48.wav\n", "Analyzing file 295 of 500: /content/recordings/lucas/5_lucas_49.wav\n", "Analyzing file 296 of 500: /content/recordings/lucas/5_lucas_5.wav\n", "Analyzing file 297 of 500: /content/recordings/lucas/5_lucas_6.wav\n", "Analyzing file 298 of 500: /content/recordings/lucas/5_lucas_7.wav\n", "Analyzing file 299 of 500: /content/recordings/lucas/5_lucas_8.wav\n", "Analyzing file 300 of 500: /content/recordings/lucas/5_lucas_9.wav\n", "Analyzing file 301 of 500: /content/recordings/lucas/6_lucas_0.wav\n", "Analyzing file 302 of 500: /content/recordings/lucas/6_lucas_1.wav\n", "Analyzing file 303 of 500: /content/recordings/lucas/6_lucas_10.wav\n", "Analyzing file 304 of 500: /content/recordings/lucas/6_lucas_11.wav\n", "Analyzing file 305 of 500: /content/recordings/lucas/6_lucas_12.wav\n", "Analyzing file 306 of 500: /content/recordings/lucas/6_lucas_13.wav\n", "Analyzing file 307 of 500: /content/recordings/lucas/6_lucas_14.wav\n", "Analyzing file 308 of 500: /content/recordings/lucas/6_lucas_15.wav\n", "Analyzing file 309 of 500: /content/recordings/lucas/6_lucas_16.wav\n", "Analyzing file 310 of 500: /content/recordings/lucas/6_lucas_17.wav\n", "Analyzing file 311 of 500: /content/recordings/lucas/6_lucas_18.wav\n", "Analyzing file 312 of 500: /content/recordings/lucas/6_lucas_19.wav\n", "Analyzing file 313 of 500: /content/recordings/lucas/6_lucas_2.wav\n", "Analyzing file 314 of 500: /content/recordings/lucas/6_lucas_20.wav\n", "Analyzing file 315 of 500: /content/recordings/lucas/6_lucas_21.wav\n", "Analyzing file 316 of 500: /content/recordings/lucas/6_lucas_22.wav\n", "Analyzing file 317 of 500: /content/recordings/lucas/6_lucas_23.wav\n", "Analyzing file 318 of 500: /content/recordings/lucas/6_lucas_24.wav\n", "Analyzing file 319 of 500: /content/recordings/lucas/6_lucas_25.wav\n", "Analyzing file 320 of 500: /content/recordings/lucas/6_lucas_26.wav\n", "Analyzing file 321 of 500: /content/recordings/lucas/6_lucas_27.wav\n", "Analyzing file 322 of 500: /content/recordings/lucas/6_lucas_28.wav\n", "Analyzing file 323 of 500: /content/recordings/lucas/6_lucas_29.wav\n", "Analyzing file 324 of 500: /content/recordings/lucas/6_lucas_3.wav\n", "Analyzing file 325 of 500: /content/recordings/lucas/6_lucas_30.wav\n", "Analyzing file 326 of 500: /content/recordings/lucas/6_lucas_31.wav\n", "Analyzing file 327 of 500: /content/recordings/lucas/6_lucas_32.wav\n", "Analyzing file 328 of 500: /content/recordings/lucas/6_lucas_33.wav\n", "Analyzing file 329 of 500: /content/recordings/lucas/6_lucas_34.wav\n", "Analyzing file 330 of 500: /content/recordings/lucas/6_lucas_35.wav\n", "Analyzing file 331 of 500: /content/recordings/lucas/6_lucas_36.wav\n", "Analyzing file 332 of 500: /content/recordings/lucas/6_lucas_37.wav\n", "Analyzing file 333 of 500: /content/recordings/lucas/6_lucas_38.wav\n", "Analyzing file 334 of 500: /content/recordings/lucas/6_lucas_39.wav\n", "Analyzing file 335 of 500: /content/recordings/lucas/6_lucas_4.wav\n", "Analyzing file 336 of 500: /content/recordings/lucas/6_lucas_40.wav\n", "Analyzing file 337 of 500: /content/recordings/lucas/6_lucas_41.wav\n", "Analyzing file 338 of 500: /content/recordings/lucas/6_lucas_42.wav\n", "Analyzing file 339 of 500: /content/recordings/lucas/6_lucas_43.wav\n", "Analyzing file 340 of 500: /content/recordings/lucas/6_lucas_44.wav\n", "Analyzing file 341 of 500: /content/recordings/lucas/6_lucas_45.wav\n", "Analyzing file 342 of 500: /content/recordings/lucas/6_lucas_46.wav\n", "Analyzing file 343 of 500: /content/recordings/lucas/6_lucas_47.wav\n", "Analyzing file 344 of 500: /content/recordings/lucas/6_lucas_48.wav\n", "Analyzing file 345 of 500: /content/recordings/lucas/6_lucas_49.wav\n", "Analyzing file 346 of 500: /content/recordings/lucas/6_lucas_5.wav\n", "Analyzing file 347 of 500: /content/recordings/lucas/6_lucas_6.wav\n", "Analyzing file 348 of 500: /content/recordings/lucas/6_lucas_7.wav\n", "Analyzing file 349 of 500: /content/recordings/lucas/6_lucas_8.wav\n", "Analyzing file 350 of 500: /content/recordings/lucas/6_lucas_9.wav\n", "Analyzing file 351 of 500: /content/recordings/lucas/7_lucas_0.wav\n", "Analyzing file 352 of 500: /content/recordings/lucas/7_lucas_1.wav\n", "Analyzing file 353 of 500: /content/recordings/lucas/7_lucas_10.wav\n", "Analyzing file 354 of 500: /content/recordings/lucas/7_lucas_11.wav\n", "Analyzing file 355 of 500: /content/recordings/lucas/7_lucas_12.wav\n", "Analyzing file 356 of 500: /content/recordings/lucas/7_lucas_13.wav\n", "Analyzing file 357 of 500: /content/recordings/lucas/7_lucas_14.wav\n", "Analyzing file 358 of 500: /content/recordings/lucas/7_lucas_15.wav\n", "Analyzing file 359 of 500: /content/recordings/lucas/7_lucas_16.wav\n", "Analyzing file 360 of 500: /content/recordings/lucas/7_lucas_17.wav\n", "Analyzing file 361 of 500: /content/recordings/lucas/7_lucas_18.wav\n", "Analyzing file 362 of 500: /content/recordings/lucas/7_lucas_19.wav\n", "Analyzing file 363 of 500: /content/recordings/lucas/7_lucas_2.wav\n", "Analyzing file 364 of 500: /content/recordings/lucas/7_lucas_20.wav\n", "Analyzing file 365 of 500: /content/recordings/lucas/7_lucas_21.wav\n", "Analyzing file 366 of 500: /content/recordings/lucas/7_lucas_22.wav\n", "Analyzing file 367 of 500: /content/recordings/lucas/7_lucas_23.wav\n", "Analyzing file 368 of 500: /content/recordings/lucas/7_lucas_24.wav\n", "Analyzing file 369 of 500: /content/recordings/lucas/7_lucas_25.wav\n", "Analyzing file 370 of 500: /content/recordings/lucas/7_lucas_26.wav\n", "Analyzing file 371 of 500: /content/recordings/lucas/7_lucas_27.wav\n", "Analyzing file 372 of 500: /content/recordings/lucas/7_lucas_28.wav\n", "Analyzing file 373 of 500: /content/recordings/lucas/7_lucas_29.wav\n", "Analyzing file 374 of 500: /content/recordings/lucas/7_lucas_3.wav\n", "Analyzing file 375 of 500: /content/recordings/lucas/7_lucas_30.wav\n", "Analyzing file 376 of 500: /content/recordings/lucas/7_lucas_31.wav\n", "Analyzing file 377 of 500: /content/recordings/lucas/7_lucas_32.wav\n", "Analyzing file 378 of 500: /content/recordings/lucas/7_lucas_33.wav\n", "Analyzing file 379 of 500: /content/recordings/lucas/7_lucas_34.wav\n", "Analyzing file 380 of 500: /content/recordings/lucas/7_lucas_35.wav\n", "Analyzing file 381 of 500: /content/recordings/lucas/7_lucas_36.wav\n", "Analyzing file 382 of 500: /content/recordings/lucas/7_lucas_37.wav\n", "Analyzing file 383 of 500: /content/recordings/lucas/7_lucas_38.wav\n", "Analyzing file 384 of 500: /content/recordings/lucas/7_lucas_39.wav\n", "Analyzing file 385 of 500: /content/recordings/lucas/7_lucas_4.wav\n", "Analyzing file 386 of 500: /content/recordings/lucas/7_lucas_40.wav\n", "Analyzing file 387 of 500: /content/recordings/lucas/7_lucas_41.wav\n", "Analyzing file 388 of 500: /content/recordings/lucas/7_lucas_42.wav\n", "Analyzing file 389 of 500: /content/recordings/lucas/7_lucas_43.wav\n", "Analyzing file 390 of 500: /content/recordings/lucas/7_lucas_44.wav\n", "Analyzing file 391 of 500: /content/recordings/lucas/7_lucas_45.wav\n", "Analyzing file 392 of 500: /content/recordings/lucas/7_lucas_46.wav\n", "Analyzing file 393 of 500: /content/recordings/lucas/7_lucas_47.wav\n", "Analyzing file 394 of 500: /content/recordings/lucas/7_lucas_48.wav\n", "Analyzing file 395 of 500: /content/recordings/lucas/7_lucas_49.wav\n", "Analyzing file 396 of 500: /content/recordings/lucas/7_lucas_5.wav\n", "Analyzing file 397 of 500: /content/recordings/lucas/7_lucas_6.wav\n", "Analyzing file 398 of 500: /content/recordings/lucas/7_lucas_7.wav\n", "Analyzing file 399 of 500: /content/recordings/lucas/7_lucas_8.wav\n", "Analyzing file 400 of 500: /content/recordings/lucas/7_lucas_9.wav\n", "Analyzing file 401 of 500: /content/recordings/lucas/8_lucas_0.wav\n", "Analyzing file 402 of 500: /content/recordings/lucas/8_lucas_1.wav\n", "Analyzing file 403 of 500: /content/recordings/lucas/8_lucas_10.wav\n", "Analyzing file 404 of 500: /content/recordings/lucas/8_lucas_11.wav\n", "Analyzing file 405 of 500: /content/recordings/lucas/8_lucas_12.wav\n", "Analyzing file 406 of 500: /content/recordings/lucas/8_lucas_13.wav\n", "Analyzing file 407 of 500: /content/recordings/lucas/8_lucas_14.wav\n", "Analyzing file 408 of 500: /content/recordings/lucas/8_lucas_15.wav\n", "Analyzing file 409 of 500: /content/recordings/lucas/8_lucas_16.wav\n", "Analyzing file 410 of 500: /content/recordings/lucas/8_lucas_17.wav\n", "Analyzing file 411 of 500: /content/recordings/lucas/8_lucas_18.wav\n", "Analyzing file 412 of 500: /content/recordings/lucas/8_lucas_19.wav\n", "Analyzing file 413 of 500: /content/recordings/lucas/8_lucas_2.wav\n", "Analyzing file 414 of 500: /content/recordings/lucas/8_lucas_20.wav\n", "Analyzing file 415 of 500: /content/recordings/lucas/8_lucas_21.wav\n", "Analyzing file 416 of 500: /content/recordings/lucas/8_lucas_22.wav\n", "Analyzing file 417 of 500: /content/recordings/lucas/8_lucas_23.wav\n", "Analyzing file 418 of 500: /content/recordings/lucas/8_lucas_24.wav\n", "Analyzing file 419 of 500: /content/recordings/lucas/8_lucas_25.wav\n", "Analyzing file 420 of 500: /content/recordings/lucas/8_lucas_26.wav\n", "Analyzing file 421 of 500: /content/recordings/lucas/8_lucas_27.wav\n", "Analyzing file 422 of 500: /content/recordings/lucas/8_lucas_28.wav\n", "Analyzing file 423 of 500: /content/recordings/lucas/8_lucas_29.wav\n", "Analyzing file 424 of 500: /content/recordings/lucas/8_lucas_3.wav\n", "Analyzing file 425 of 500: /content/recordings/lucas/8_lucas_30.wav\n", "Analyzing file 426 of 500: /content/recordings/lucas/8_lucas_31.wav\n", "Analyzing file 427 of 500: /content/recordings/lucas/8_lucas_32.wav\n", "Analyzing file 428 of 500: /content/recordings/lucas/8_lucas_33.wav\n", "Analyzing file 429 of 500: /content/recordings/lucas/8_lucas_34.wav\n", "Analyzing file 430 of 500: /content/recordings/lucas/8_lucas_35.wav\n", "Analyzing file 431 of 500: /content/recordings/lucas/8_lucas_36.wav\n", "Analyzing file 432 of 500: /content/recordings/lucas/8_lucas_37.wav\n", "Analyzing file 433 of 500: /content/recordings/lucas/8_lucas_38.wav\n", "Analyzing file 434 of 500: /content/recordings/lucas/8_lucas_39.wav\n", "Analyzing file 435 of 500: /content/recordings/lucas/8_lucas_4.wav\n", "Analyzing file 436 of 500: /content/recordings/lucas/8_lucas_40.wav\n", "Analyzing file 437 of 500: /content/recordings/lucas/8_lucas_41.wav\n", "Analyzing file 438 of 500: /content/recordings/lucas/8_lucas_42.wav\n", "Analyzing file 439 of 500: /content/recordings/lucas/8_lucas_43.wav\n", "Analyzing file 440 of 500: /content/recordings/lucas/8_lucas_44.wav\n", "Analyzing file 441 of 500: /content/recordings/lucas/8_lucas_45.wav\n", "Analyzing file 442 of 500: /content/recordings/lucas/8_lucas_46.wav\n", "Analyzing file 443 of 500: /content/recordings/lucas/8_lucas_47.wav\n", "Analyzing file 444 of 500: /content/recordings/lucas/8_lucas_48.wav\n", "Analyzing file 445 of 500: /content/recordings/lucas/8_lucas_49.wav\n", "Analyzing file 446 of 500: /content/recordings/lucas/8_lucas_5.wav\n", "Analyzing file 447 of 500: /content/recordings/lucas/8_lucas_6.wav\n", "Analyzing file 448 of 500: /content/recordings/lucas/8_lucas_7.wav\n", "Analyzing file 449 of 500: /content/recordings/lucas/8_lucas_8.wav\n", "Analyzing file 450 of 500: /content/recordings/lucas/8_lucas_9.wav\n", "Analyzing file 451 of 500: /content/recordings/lucas/9_lucas_0.wav\n", "Analyzing file 452 of 500: /content/recordings/lucas/9_lucas_1.wav\n", "Analyzing file 453 of 500: /content/recordings/lucas/9_lucas_10.wav\n", "Analyzing file 454 of 500: /content/recordings/lucas/9_lucas_11.wav\n", "Analyzing file 455 of 500: /content/recordings/lucas/9_lucas_12.wav\n", "Analyzing file 456 of 500: /content/recordings/lucas/9_lucas_13.wav\n", "Analyzing file 457 of 500: /content/recordings/lucas/9_lucas_14.wav\n", "Analyzing file 458 of 500: /content/recordings/lucas/9_lucas_15.wav\n", "Analyzing file 459 of 500: /content/recordings/lucas/9_lucas_16.wav\n", "Analyzing file 460 of 500: /content/recordings/lucas/9_lucas_17.wav\n", "Analyzing file 461 of 500: /content/recordings/lucas/9_lucas_18.wav\n", "Analyzing file 462 of 500: /content/recordings/lucas/9_lucas_19.wav\n", "Analyzing file 463 of 500: /content/recordings/lucas/9_lucas_2.wav\n", "Analyzing file 464 of 500: /content/recordings/lucas/9_lucas_20.wav\n", "Analyzing file 465 of 500: /content/recordings/lucas/9_lucas_21.wav\n", "Analyzing file 466 of 500: /content/recordings/lucas/9_lucas_22.wav\n", "Analyzing file 467 of 500: /content/recordings/lucas/9_lucas_23.wav\n", "Analyzing file 468 of 500: /content/recordings/lucas/9_lucas_24.wav\n", "Analyzing file 469 of 500: /content/recordings/lucas/9_lucas_25.wav\n", "Analyzing file 470 of 500: /content/recordings/lucas/9_lucas_26.wav\n", "Analyzing file 471 of 500: /content/recordings/lucas/9_lucas_27.wav\n", "Analyzing file 472 of 500: /content/recordings/lucas/9_lucas_28.wav\n", "Analyzing file 473 of 500: /content/recordings/lucas/9_lucas_29.wav\n", "Analyzing file 474 of 500: /content/recordings/lucas/9_lucas_3.wav\n", "Analyzing file 475 of 500: /content/recordings/lucas/9_lucas_30.wav\n", "Analyzing file 476 of 500: /content/recordings/lucas/9_lucas_31.wav\n", "Analyzing file 477 of 500: /content/recordings/lucas/9_lucas_32.wav\n", "Analyzing file 478 of 500: /content/recordings/lucas/9_lucas_33.wav\n", "Analyzing file 479 of 500: /content/recordings/lucas/9_lucas_34.wav\n", "Analyzing file 480 of 500: /content/recordings/lucas/9_lucas_35.wav\n", "Analyzing file 481 of 500: /content/recordings/lucas/9_lucas_36.wav\n", "Analyzing file 482 of 500: /content/recordings/lucas/9_lucas_37.wav\n", "Analyzing file 483 of 500: /content/recordings/lucas/9_lucas_38.wav\n", "Analyzing file 484 of 500: /content/recordings/lucas/9_lucas_39.wav\n", "Analyzing file 485 of 500: /content/recordings/lucas/9_lucas_4.wav\n", "Analyzing file 486 of 500: /content/recordings/lucas/9_lucas_40.wav\n", "Analyzing file 487 of 500: /content/recordings/lucas/9_lucas_41.wav\n", "Analyzing file 488 of 500: /content/recordings/lucas/9_lucas_42.wav\n", "Analyzing file 489 of 500: /content/recordings/lucas/9_lucas_43.wav\n", "Analyzing file 490 of 500: /content/recordings/lucas/9_lucas_44.wav\n", "Analyzing file 491 of 500: /content/recordings/lucas/9_lucas_45.wav\n", "Analyzing file 492 of 500: /content/recordings/lucas/9_lucas_46.wav\n", "Analyzing file 493 of 500: /content/recordings/lucas/9_lucas_47.wav\n", "Analyzing file 494 of 500: /content/recordings/lucas/9_lucas_48.wav\n", "Analyzing file 495 of 500: /content/recordings/lucas/9_lucas_49.wav\n", "Analyzing file 496 of 500: /content/recordings/lucas/9_lucas_5.wav\n", "Analyzing file 497 of 500: /content/recordings/lucas/9_lucas_6.wav\n", "Analyzing file 498 of 500: /content/recordings/lucas/9_lucas_7.wav\n", "Analyzing file 499 of 500: /content/recordings/lucas/9_lucas_8.wav\n", "Analyzing file 500 of 500: /content/recordings/lucas/9_lucas_9.wav\n", "Feature extraction complexity ratio: 19.2 x realtime\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING:whylogs.core.dataset_profile:No timezone set in the datetime_timestamp object. Default to local timezone\n" ] }, { "data": { "text/plain": [ "(True, 'OK')" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Optional: Extract features from samples generated by another speaker\n", "# Submit profiles to the WhyLabs platform to compare feature differences\n", "# between two speakers \n", "#https://medium.com/behavioral-signals-ai/intro-to-audio-analysis-recognizing-sounds-using-machine-learning-20fd646a0ec5\n", "\n", "dirs = [\"/content/recordings/lucas\"] \n", "\n", "m_win, m_step, s_win, s_step = 0.5, 0.5, 0.1, 0.05 \n", "# segment-level feature extraction:\n", "features = [] \n", "for d in dirs: # get feature matrix for each directory\n", " f, files, fn = aF.directory_feature_extraction(d, m_win, m_step, \n", " s_win, s_step) \n", " features.append(f)\n", "# (each element of the features list contains a \n", "# (samples x segment features) = (10 x 138) feature matrix)\n", "\n", "df_lucas = pd.DataFrame(f, columns = fn)\n", "yesterday_date = datetime.now() - timedelta(days=1)\n", "profile = why.log(df_lucas).profile()\n", "profile.set_dataset_timestamp(yesterday_date)\n", "writer = WhyLabsWriter()\n", "writer.write(file=profile.view())\n" ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" }, "vscode": { "interpreter": { "hash": "5dd5901cadfd4b29c2aaf95ecd29c0c3b10829ad94dcfe59437dbee391154aea" } } }, "nbformat": 4, "nbformat_minor": 0 }