{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\"FMP\"\n", "\"AudioLabs\"\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\"C3\"\n", "

Feature Normalization

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

\n", "In this notebook, we introduce different strategies for normalizing a feature representation. Parts of the notebook follow Section 3.1.2.1 and Section 2.2.3.3 of [Müller, FMP, Springer 2015].\n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Formal Definition of a Norm \n", "\n", "In previous notebooks, we introduced various feature representations including [spectral features](../C2/C2_STFT-Basic.html), [log-frequency spectral features](../C3/C3S1_SpecLogFreq-Chromagram.html), and [chroma features](../C3/C3S1_SpecLogFreq-Chromagram.html). Such features are typically elements of an Euclidean space of some dimension $K\\in\\mathbb{N}$. In the following, we denote this **feature space** by $\\mathcal{F}=\\mathbb{R}^K$. Often one needs a measure that assigns to a feature a size or some kind of length, which leads us to the notion of a **norm**. In mathematical terms, given a vector space (e.g., $\\mathcal{F}=\\mathbb{R}^K$), a norm is a nonnegative function $p:\\mathcal{F} \\to \\mathbb{R}_{\\geq 0}$ that satisfies three properties:\n", "\n", "* Triangle inequality: $p(x + y) \\leq p(x) + p(y)$ for all $x,y\\in\\mathcal{F}$.\n", "\n", "* Positive scalability: $p(\\alpha x) = |\\alpha| p(x)$ for all $x\\in\\mathcal{F}$ and $\\alpha\\in\\mathbb{R}$. \n", "\n", "* Positive definiteness: $p(x) = 0$ if an only if $x=0$.\n", "\n", "The number $p(x)$ for a vector $x\\in\\mathcal{F}$ is called the **length** of the vector. Furthermore, a vector with $p(x)=1$ is also called **unit vector**. Note that there is a large number of different norms. In the following, we only consider the vector space $\\mathcal{F}=\\mathbb{R}^K$ and discuss three specific norms that play a role in the FMP notebooks." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Euclidean Norm\n", "\n", "The most commonly used norm is the **Euclidean norm** (or $\\ell^2$-norm). This norm is often denoted by $\\|\\cdot\\|_2$ and defined by\n", "\n", "$$\n", " \\|x\\|_2 = \\sqrt{\\langle x\\mid x\\rangle} = \\Big(\\sum_{k=1}^K x(k)^2\\Big)^{1/2}\n", "$$\n", "\n", "for a vector $x=(x(1),x(2),\\ldots,x(K))^\\top \\in\\mathbb{R}^K$. The Euclidean norm $\\|x\\|_2$ gives the usual distance from the origin $(0,0)$ to the point $x$. The set of unit vectors with regard to the Euclidean norm forms a **unit sphere** denoted as $S^{K-1}\\subset\\mathbb{R}^K$. In the case of $K=2$, the unit sphere is the unit circle $S^1$ with origin $(0,0)$. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:51:12.127721Z", "iopub.status.busy": "2024-02-15T08:51:12.127470Z", "iopub.status.idle": "2024-02-15T08:51:14.851266Z", "shell.execute_reply": "2024-02-15T08:51:14.850587Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVoAAAFBCAYAAAA2QGcuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABCTklEQVR4nO3dd3hUZfbA8e+B0HsJ0pSigKusCiJWlCIuINW2oCIiygqoCyxlFcSgrqI/V11FQVdRUQTLWpAiNlBQQQRpogICKkVFxUAoQsL7++PcISEkk0kyN3cmcz7Pc5+pd+YwTM68973ve15xzmGMMcY/JYIOwBhjijtLtMYY4zNLtMYY4zNLtMYY4zNLtMYY4zNLtMYY47NAE62ITBGRn0VkTS6PtxWRVBFZ4W3jijpGY4wprKSA3/9ZYCIwNcxzFjrnuhZNOMYYE32Btmidcx8BvwUZgzHG+C0e+mjPFpGVIjJXRE4OOhhjjMmvoLsO8rIcaOCcSxORLsAbQJOcnigiA4GBAGXLlj39uOOOK7Igo+XQoUOUKBEPv31Hi9fY4zVuiN/Y4zVugHXr1v3inEvO734SdK0DEWkIzHLONY/guZuBVs65X8I9r1mzZu6bb76JToBFaMGCBbRt2zboMAokXmOP17ghfmOP17gBRGSZc65VfveL6Z8VEaktIuJdb43G+2uwURljTP4E2nUgItOBtkBNEdkC3AGUAnDOTQYuAwaJSDqwD+jtgm6CG2NMPgWaaJ1zffJ4fCI6/MsYY+JWTHcdGGNMcWCJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1hhjfGaJ1pgEkJKSQkpKSq63/drXKEu0xpiYMnHiRFq1akWZMmW49tprI95v/fr1lC1blquvvjrfr5XTvtGU5MurGmNMAdWtW5exY8cyb9489u3bF/F+Q4YM4YwzzijQa+W0bzRZi9YYw6hRo+jVq9fh2yNHjqRDhw4cPHiwyGO55JJL6NmzJzVq1Ih4nxkzZlC1alU6dOiQ79fKbd9oshatMYbRo0dz/PHHs2LFChYvXszbb7/NokWLKFWqVKFfu2vXrixatOjw7fT0dJKSNPWcd955zJo1q1Cvv2vXLsaNG8f777/P008/XWT75oclWmMMNWrUYOjQoVxzzTWkpqayaNEiqlSpkud+n376KcOHD6d06dLUrVuXqVOnHpWcsyfSBQsW0LZt26jFfvvttzNgwACOPfbYIt03P6zrwBgDQIsWLVi9ejX33ntvxImnQYMGfPDBB3z44Yc0btyYN9980+coj7RixQree+89hg0bVqT75pe1aI0xrF69mkGDBtGvXz+mTJnClVdeGdF+devWPXw9KSmJEiWObrt17tyZhQsXHr6dkZFByZIlAWjTpg1z584tcNwLFixg8+bNHHfccQCkpaWRkZHB2rVrWb58uW/75pclWmMS3NatW+nWrRuTJ0/mwgsvpFGjRvk+vN+0aRNz585lzJgxRz2WPZHm9drp6emkp6eTkZFBRkYG+/fvJykp6XC/blYDBw6kd+/eh28/8MADbN68mUmTJuX5WnntG03WdWBMAtu1axddunRh+PDhdO/enfLlyzNy5MgcE2a41+jXrx/PP/88pUuXLnRMd999N+XKlWPChAm88MILlCtXjrvvvvvw4507d+aee+4BoHz58tSuXfvwVrFiRcqWLUtycnKer5XXvtFkLVpjEljlypVZuXLlEfeNGDGCESNGRLR/eno6ffr0ISUlhWbNmkUlprxmnoXrasi+X35nwPnFWrTGmAKbPn06S5Ys4c4776Rt27a89NJLQYcUk6xFa0wCyN4nmp/+13D79u3bl759+xY8sARhidaYBOBXojWRCbTrQESmiMjPIrIml8dFRB4RkQ0iskpEWhZ1jMYYU1hB99E+C3QK83hnoIm3DQSiP+7CGGN8Fmiidc59BPwW5ik9gKlOLQaqikidoonOGGOiI9b7aOsBP2S5vcW7b3sw4ZiY5xzs2gXbt8OPP+plaNuxAw4ehPT0zK1bN3jkEUhK0q1UKahRA+rUgdq19TK0VasGIkH/C+NafsoeFiexnmhz+la7HJ8oMhDtXiA5OZkFCxb4GJY/0tLS4jJuCCB252DfPtizB/buhf37NYkePAiHDh39/Nq1dcsmrVIlFpx7bs7v8fPPuoXGmYpoIi5VCsqWhfLlM7ccpp76LZ6+LxkZGfz000/89NNPh2eeJZJYT7RbgKzVLeoD23J6onPuSeBJgGbNmrl4PDMa7apG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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import os, sys\n", "import numpy as np\n", "import scipy\n", "from matplotlib import pyplot as plt\n", "import librosa\n", "import IPython.display as ipd\n", "from numba import jit\n", "\n", "sys.path.append('..')\n", "import libfmp.b\n", "\n", "%matplotlib inline\n", "\n", "def norm_Euclidean(x):\n", " p = np.sqrt(np.sum(x ** 2))\n", " return p\n", " \n", "def plot_vector(x,y, color='k', start=0, linestyle='-'): \n", " return plt.arrow(np.real(start), np.imag(start), x, y, \n", " linestyle=linestyle, head_width=0.05, \n", " fc=color, ec=color, overhang=0.3, length_includes_head=True)\n", "\n", "fig, ax = plt.subplots(figsize=(5, 5))\n", "plt.grid() \n", "plt.xlim([-1.5, 1.5])\n", "plt.ylim([-1.5, 1.5])\n", "plt.xlabel('Axis of first coordinate')\n", "plt.ylabel('Axis of second coordinate')\n", "\n", "circle = plt.Circle((0, 0), 1, color='r', fill=0, linewidth=2) \n", "ax.add_artist(circle)\n", "\n", "x_list = [np.array([[1, 1], [0.6, 1.1]]),\n", " np.array([[-np.sqrt(2)/2, np.sqrt(2)/2], [-1.45, 0.85]]),\n", " np.array([[0, -1], [-0.4, -1.2]])]\n", "\n", "for y in x_list:\n", " x = y[0, :]\n", " p = norm_Euclidean(x)\n", " color = 'r' if p == 1 else 'k'\n", " plot_vector(x[0], x[1], color=color)\n", " plt.text(y[1, 0], y[1, 1], r'$||x||_2=%0.3f$'% p, size='12', color=color) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Manhattan Norm\n", "\n", "In the **Manhattan norm** (or $\\ell^1$-norm), the length of a vector is measured by summing up the absolute values of the vector's Cartesian coordinates. The Manhattan norm, denoted $\\|\\cdot\\|_1$, is defined by \n", "\n", "$$\n", " \\|x\\|_1 = \\sum_{k=1}^K |x(k)|\n", "$$\n", "\n", "for a vector $x=(x(1),x(2),\\ldots,x(K))^\\top \\in\\mathbb{R}^K$. The name of the norm comes from the grid-like layout of the streets in Manhattan, which forces a taxi to follow straight lines between the street's intersection points. In the Manhattan norm, the set of unit vectors forms a square with sides oriented at a $45$ degree angle to the coordinate axes. For the case $K=2$, the unit circle of the Manhattan norm is describe by $|x(1)| + |x(2)| = 1$. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:51:14.884978Z", "iopub.status.busy": "2024-02-15T08:51:14.884672Z", "iopub.status.idle": "2024-02-15T08:51:15.066624Z", "shell.execute_reply": "2024-02-15T08:51:15.066068Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def norm_Manhattan(x):\n", " p = np.sum(np.abs(x))\n", " return p\n", " \n", "fig, ax = plt.subplots(figsize=(5, 5))\n", "plt.grid() \n", "plt.xlim([-1.5, 1.5])\n", "plt.ylim([-1.5, 1.5])\n", "plt.xlabel('Axis of first coordinate')\n", "plt.ylabel('Axis of second coordinate')\n", "\n", "plt.plot([-1, 0, 1, 0, -1], [0, 1, 0, -1, 0], color='r', linewidth=2)\n", "\n", "for y in x_list:\n", " x = y[0, :]\n", " p = norm_Manhattan(x)\n", " color = 'r' if p == 1 else 'k'\n", " plot_vector(x[0], x[1], color=color)\n", " plt.text(y[1, 0], y[1, 1], r'$||x||_1=%0.3f$' % p, size='12', color=color)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Maximum Norm\n", "\n", "In the **maximum norm** (or $\\ell^\\infty$-norm), the length of a vector is measured by its maximum absolute Cartesian coordinate. The maximum norm, denoted by $\\|\\cdot\\|_\\infty$, is defined by \n", "\n", "$$\n", " \\|x\\|_\\infty = \\max\\big\\{|x(k)| \\,\\,\\mathrm{for}\\,\\, k\\in[1:K] \\big\\}\n", "$$\n", "\n", "for a vector $x=(x(1),x(2),\\ldots,x(K))^\\top \\in\\mathbb{R}^K$. The set of unit vectors forms the surface of a hypercube with edge length $2$. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:51:15.069134Z", "iopub.status.busy": "2024-02-15T08:51:15.068945Z", "iopub.status.idle": "2024-02-15T08:51:15.306939Z", "shell.execute_reply": "2024-02-15T08:51:15.306408Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVoAAAFBCAYAAAA2QGcuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAs8klEQVR4nO3deXxV9bnv8c/DTIiiQFBEQbSSXodDRarSAzVK8QKCCpZWHKBKS52rFLA9WqTXuffU0zogtZUqCtVbB0QFQa0B0ToXBAfUoraIxQEFEkgl5Ll/rBXZxGRnJdkra++d7/v12q+95vWwCA+//NZvMHdHRETi0yrpAERE8p0SrYhIzJRoRURipkQrIhIzJVoRkZgp0YqIxCzRRGtms83sIzNbXcf+EjPbZGYrws/05o5RRKSp2iR8/zuAm4E5aY552t1HNk84IiKZl2iJ1t2XARuTjEFEJG65UEc70MxWmtkiMzsk6WBERBoq6aqD+rwC9Hb3MjMbAcwHDqrtQDObBEwC6NChwxG9evVqtiAzpaqqilatcuH/vq/K1dhzNW7I3dhzNW6At9566xN3L2roeZb0WAdmtj/wiLsfGuHY94AB7v5JuuOKi4t9zZo1mQmwGZWWllJSUpJ0GI2Sq7HnatyQu7HnatwAZvayuw9o6HlZ/d+Kme1tZhYuH0kQ76fJRiUi0jCJVh2Y2Z+AEqCbma0DrgDaArj7LOC7wLlmVglsA071pIvgIiINlGiidfdx9ey/maD5l4hIzsrqqgMRkXygRCsiEjMlWhGRmCnRiojETIlWRCRmSrQiIjFTohURiZkSrYhIzJRoRURipkQrIhIzJVoRkZgp0YqIxEyJVkQkZkq0IiIxU6IVEYmZEq2ISMyUaEVEYqZEKyISMyVaEZGYKdGKiMRMiVZEJGZKtCIiMVOiFWkJZswIPnWtx3WuAEq0IpKtbr4ZBgyA9u3hBz9If+zGjTB6NHTqBL17w7x5md3fRG0yejURkUzZZx+4/HJYvBi2bUt/7PnnQ7t2sGEDrFgBJ5wA/frBIYdkZn8TqUQrIjBtWlCiqzZ1KgwZAtu3JxfTmDFw8snQtWv648rL4f774corobAQBg2CE0+Eu+7KzP4MUIlWRODSS+HAA4PS3HPPwWOPwfLl0LZt5u4xciQsX86gykpoUyP1DBoEjzzSuOu+9Ra0bg19++7c1q8fLF2amf0ZoEQrIkGp8eKLYfx42LQpSLKdO2f2HmEiXV5aSklJSeauW1b21Vg7d4YtWzKzPwNUdSAigcMPh1Wr4NprYb/9ko4musJC2Lx5122bN8Nuu2VmfwYo0YpIkGDPPRcmTIDZs+O5x/DhUFjI4PB7l8/w4Y2/bt++UFkJb7+9c9vKlTtfZDV1fwYo0Yq0dB98AKNGwaxZMHNmkHRLS6Od6x4k5yFDgpdHxx4LF15Y+7GLFkFZGU+H37t8Fi366vGVlVBRATt2BJ+KimBbTZ06BS/Opk8PXmw98ww89BCceWZm9meAEq1IS7Z5M4wYAZMnB2/aCwqCFgeXXRbt/I8/hsGDYf58uPpqWLIkqHbYsaPpsV11FXTsCNddB3ffHSxfddXO/cOHwzXXBMszZwZNwLp3h3Hj4NZbdy2RNnV/E+llmEhLtvvuwa/JqaZMCT5RFBXBsmVw771BiXDYMCguDt7iN1V9PdBSS8FdugTJvi5N3d9ESrQi0nhmMGfOzvXTTksuliymRCvSEtRsTtWQ5lVNOVcAJVqRlkGJNlGJvgwzs9lm9pGZra5jv5nZjWb2jpm9amb9mztGEZGmSrrVwR3AsDT7hwMHhZ9JwK3NEJOISEYlmmjdfRmwMc0hJwFzPPAcsIeZ9Wie6EREMiPb62h7Av9MWV8XbvswmXBidMIJlCxcmHQUjVaSdACNVJJ0AE1QknQAjXTYUUcFA9e0INmeaK2WbV7rgWaTCKoXKCoqojRqz5YskctJVqQhuj7/fM79+2yqbE+064DU0S32BdbXdqC73wbcBlBcXOwZHR2oOXmt/49kvdJMj8jUTHI1bsiR2D/5BK6/Puh5tX37l+PbZn3cGZb0y7D6LADGh60PjgY2uXv+VRuI5Jt//Qsuugh69QqmpNm6NTO9xXJUoiVaM/sTQVVTNzNbB1wBtAVw91nAQmAE8A6wFTgrmUhFpEEuuQTuuWfXbUq0yXD3cfXsd+D8ZgpHRDJl7lyYOBGGDg3W27QJBqtpobPnZnvVQUbNmDGDGSl/0TXX4zpXpMVZtixIst27w8EHQ4cOwQhhLVSLSrS5aOPGjYwePZpOnTrRu3dv5qWZBrmwsHCXT+vWrbkwHBu0vuukO1ekQZYsCcalPeCAYFbZ/v2DkmwGZyzINdne6qDFO//882nXrh0bNmxgxYoVnHDCCfTr149Dahkrs6ys7Mvl8vJy9tprL8aOHRvpOunOFYns4YeDcW3/4z92Dr+Ywdlkc5VKtCmmTZvG6JQpl6dOncqQIUPYntCUy+Xl5dx///1ceeWVFBYWMmjQIE488UTuivCDe99999G9e3cGDx7c4OuknisS2X33BUn2W9/66hi3LZxKtCkuvfRSDjzwQFasWMFzzz3HY489xvLly2mbwSmXR44cyfLly2vdNwhInXD5rbfeonXr1vRNmQa5X79+LI0wDfKdd97J+PHjMbMGXyf1XJFI7rormEH3+ONh8eKko8k6SrQpunbtysUXX8z48ePZtGkTy5cvp3OGp1x+pK6562tJamVlZV+5f+fOndlSzzTI//jHP1i6dCm33357g69T81yRev3hD/CjH8Ho0fDAA0lHk5VUdVDD4YcfzqpVq7j22mvZL+EplwsLC9lcYxrkzZs3s1s9LxXmzJnDoEGD6NOnT4OvU/NckbRuuilIsqefriSbhhJtilWrVnHuuecyYcIEZsc05fLw4cO/8oa/sLCQQoIxIVP17duXyspK3k6ZBnnlypW1vghLNWfOHCZMmNCo69Q8V6ROv/pV0Ptr0qRg8kSpkxJt6IMPPmDUqFHMmjWLmTNnsmrVqsgDX7g7EyZMYMiQIdx1110ce+yxdTaNWrRoEWVlZV/9ADUnXO7UqRNjxoxh+vTplJeX88wzz/DQQw9xZpppkJ999lk++OCDXVoMRL1ObeeK1GrGDLj00qAH2O9+l3Q0WU+JluDX6BEjRjB58mROPPFECgoKmDp1KpdFnHL5448/ZvDgwcyfP5+rr76aJUuWsN9++7EjA1Muz5w5k23bttG9e3fGjRvHrbfeuktJdPjw4VxTPeUywYusMWPGfKVaoL7rpDtXZBfTpsEvfwn/9V9www1JR5MT9DIM2H333VlZoznKlClTmBJxyuWioiKWLVvGvffey/Tp0xk2bBjFxcW0zkDf7i5dujA/zTTIixbtWg7+XR2li/quk+5ckS9deGEwSMyVV8LllycdTc5Qos0AM2NOypTLp2nKZclHZ58Nf/wj/PrXLbo7bWO0qERbcwzMhoyJ2ZRzRXLeqafCvfcG48qee27S0eQcJdpmOFckp40cCY8+CrNnw1kaqbQxWlSiFZEGOu44eOopmDcPxqUd1VTSUKIVkdodeSS8+GLQESFlDBBpOCVaEfmqgw+GN94IqgxGjEg6mpynRCsiO7kH83ytWwdPPAFDhiQdUV5QohWRgDt07QqffQZPPw2DBiUdUd5QohWRIMm2bx9MB/7880H9rGSMEq1IS1dVtXOG2r/9Db7xjUTDyUca66AFcnd++9vf8uabbyYdiiQtNcmuXq0kG5NIidbMOppZcdzBSPPYvn07V111FQcffDCjRo1i1apVSYckSdixY2eSfestqGf4TWm8ehOtmY0CVgCPhevfMLMFMcclMWrXrh1XXXUVHTp0YOHChRx11FEcf/zxvPzyy0mHJs2lshLahDWHa9fCQQclG0+ei1KinQEcCXwO4O4rgP3jCkiax9lnn83uu+9OVVUV27Zt4/HHH2fAgAEcc8wxVFRUJB2exOmLL6B6Hrx//hM0m0bsoiTaSnffFHsk0qzatm3LtddeS2Fh4Zfbjj/+ePr370/79u0TjExiVVERtC4A+PBD2HffZONpIaIk2tVmdhrQ2swOMrObgGdjjkuawZlnnknnzp1p1Sr4MViyZAmTJ0/W7Lf5autW6NgxWP74Y9h772TjaUGiJNoLgUOAfwPzgE3AT+IMSppHmzZt+NWvfkVVVRVr1qwBoFevXqxduzbhyCTjtmyBTp2C5Y0boVu3ZONpYaK0oz3B3S8DvpzXxczGAn+OLSppNqeeeirbtm2jV69eVFZW0qZNGw488EDWrFlD3759kw5PMuHzz2HPPYPlTZtg990TDaclilKi/XnEbZKDWrVqxcSJE+nQoQOtW7f+cp6z4uJiXnvttYSjkyb79NOdSbasTEk2IXWWaM1sODAC6GlmN6bs2h2ojDswSUarVq2oqqqiVatWHHroobzyyiscfvjhSYcljbFhw8562NT6WWl26Uq064GXgArg5ZTPAuB/xx+aJMXMqKqqol27dvTv35/nn38+6ZCkoT74YGeSrahQkk1YnSVad18JrDSzee6+vRljkixgZlRUVNCtWzeOPvpoli1bxuDBg5MOS6J4/33Yf/9gObXNrCQmSh3t/mZ2n5m9bmZrqz+xRyaJMzM++eQTevXqxbe//W2eeOKJpEOS+rzzzs4ku327kmyWiJJo/wjcSlAveywwB7grzqAke5gZ77//PgcffDBDhw7l0UcfTTokqcsbb+zsSpvaxVYSFyXRdnT3JwFz9/fdfQZwXLxhSbZ57bXXOPLIIxk5ciQPPPBA0uFITa++Gkw/A7sOFiNZIUqirTCzVsDbZnaBmY0Gusccl2Sh559/nuOOO45TTjmFefPmJR2OVHvpJejXL1iuqoJWGv0020T5G7kYKAAuAo4AzgQmZOLmZjbMzNaY2Ttm9rNa9peY2SYzWxF+pmfivtJ4Tz75JKNGjeL0009n9uzZSYcjzz4L3/wm7LZbkGTVfTor1VuJ4+4vhotlwFmZurGZtQZuAYYC64AXzWyBu79e49Cn3X1kpu4rTbdgwQLGjRvHxIkTqaio4Lzzzks6pJZpyxY48UTo0SNozqUkm7XqTbRm1heYCvROPd7dm1pPeyTwjruvDe9zD3ASUDPRShb605/+REFBAeeffz5bt25lwIABSYfUsixeHAzWfdBBwbdktSivJf8MzAJ+D+zI4L17Av9MWV8HHFXLcQPNbCVBB4op7q5+oVni9ttvp1OnTkydOlV1ts3poYfg5JNh5kwl2RwRJdFWuvutMdy7tt9zvMb6K0Bvdy8zsxHAfKDWoeDNbBIwCaCoqIjS0tLMRdoMSsLvXIt7zJgxHHXUUbRq1Yq5c+fSs2fPpENqkLKystx65p99FsyIMGsWZT175lbs5O7PeZO5e9oPwQwL5wE9gC7Vn/rOi3DdgcDilPWfAz+v55z3gG71Xbtv376ec4IJn5OOotHmzZvngF900UVJh9IgTz31VNIhRHfnncHPyLBh7p5jsVfL8Z9z4CVvRL6LUqKtbmEwNTU/Awc0LcXzInCQmfUBPgBOBU5LPcDM9gY2uLub2ZEErSQ+beJ9JQY9evTg+uuv59JLL2Xr1q38/ve/Tzqk/HLbbfDjH8Mpp8B99yUdjTRQlFYHsUwo5O6VZnYBsBhoDcx299fM7Jxw/yzgu8C5ZlYJbANODf9XkSw0bdo0CgoKuPDCC9m6dStz585NOqT88JvfwCWXwPjxcOedSUcjjZBumMTj3P0vZjamtv3u3uTuQe6+EFhYY9uslOWbgZubeh9pPhdccAEdO3bkhz/8IeXl5cyfPz/pkHLbtdfCf/0XnHMO3BrHqxJpDulKtMcAfwFG1bLPAfXDlFpNnDiR9u3bc+aZZzJ06FAef/zxpEPKTdOnw5VXwuTJ8OtfJx2NNEG6YRKvCL8z1klBWo4zzjiDDh06MHbsWAYOHMhf//rXpEPKLVOnwn//N1x+eZBsJaelqzqYnO5Ed78h8+FIPvnud7/Lww8/zKhRozjssMNYtWpV0iHlhvPOC6oJrrkGfq5Zo/JBurEOdgs/A4BzCToY9ATOAQ6OPzTJByNHjmTJkiWsXr2aPn36oHeZ9ZgwIUiyN9ygJJtH0lUd/BLAzJYA/d19S7g+A82AKw0wdOhQli5dyjHHHMNee+3Fhg0bMPXL/6qxY4OmW7NmBU25JG9EGb2rF/BFyvoXwP6xRCN569vf/jbPPvssH3/8MQUFBSrZ1nTCCUGSveMOJdk8FKXDwl3AC2b2IEFrg9GAGvNJgw0cOJCXX36ZI4444svZdlWyBY45BpYtg3vuge9/P+loJAZpS7QW/CuYQzA84mfA58BZ7n5t/KFJPurfv/+XL8Wqk22LdsQRQZKdP19JNo+lLdGGXV/nu/sRBAO8iDTZoYceyptvvsnXv/51WrduTWVlJa1b4tQrxcXB6FuLFsGwYUlHIzGKUkf7nJl9M/ZIpEUpLi7m73//OwBt2rShsrIy4YiakTv07Bkk2SefVJJtAaIk2mMJku3fzexVM1tlZq/GHZjkvwMOOID3338fgLZt2/LFF1/Uc0YecIc994T162H5cjhO85y2BFFehg2PPQppsXr16sX69evZZ599aN++PRUVFbRv3z7psOLhHkwBXlUFL7wQzPUlLUK9JVp3fx/Yg2DMg1HAHuE2kYzo0aMHH330EQAdOnRg27ZtCUcUg+rZaauqYMUKJdkWpt5Ea2Y/AeYSTDHeHbjbzC6MOzBpWYqKivj002Co4YKCAsrKyhKOKIOqqqD6Zd/rr++cGlxajChVBxOBo9y9HMDMrgf+CtwUZ2DS8nTp0oXPP/+cPfbYg912243PP/+czp07Jx1W0+zYEVQXALz9Nnzta8nGI4mI8jLM2HVSxh3UPt+XSJN17tyZLVu2ALDHHnuwcePGhCNqgu3bdybZd99Vkm3BopRo/wg8H/YMM4IpwW+PNSpp0QoLC9m6dSsFBQV07dqVjz76iKKioqTDapgvvoDql3rr1gXNuaTFivIy7AaCnmEbCebrOsvdfxNzXNLCdezYkYqKCgC6d+/O+vXrE46oASoqdibZf/1LSVYiVR1AUF3gQFX4EYld+/btv2xb27NnT/7xj38kHFEE5eXQsWOw/PHHsNdeycYjWaEhrQ66oVYH0szatm3L9u3bAejdu/eXvcmy0pYtUFgYLH/2GXTrlmw8kjWilGirWx1c4e7TgaOBH8UblshOqV10v/a1r7FmzZqEI6rF55/D7rsHy5s3wx57JBmNZBm1OpCc0Lp1a3bsCH4Mv/71r7N69eqEI0rxySdBt1oIqg522y3ZeCTrREm01a0OZoSzKzyHWh1IAlKHVTzssMN45ZUsGFDuX/+C6hYR27ZBQUGy8UhWamirg89QqwNJkJlRVVVFx44dOeKII5KdXXfdOujRI1j+97+hQ4fkYpGsFuVl2NHA2+5+o7v/FnjHzI6KPzSR2pkZ5eXlFBUV8a1vfYulS5c2fxDvvQf77Rcsb98O7do1fwySM6JUHdwKpHY8Lw+3iSTGzPjoo4/o06cPJSUlPP74481387ffhj59guXKyp29v0TqEOllmKfMpOfuVUTrUSYSu7Vr13LYYYdx/PHH88gjj8R/w9dfh759g+UdO3YOFiOSRpREu9bMLjKztuHnJ8DauAMTierVV19l4MCBjBo1ivvuuy++G61YAYccEizv2BEMeygSQZSflHOAbwEfAOuAo4BJcQYl0lDPPvssQ4cOZezYsdx9992Zv8GLL8Lhhwcl2OqxZUUiqrcKwN0/Ak5thlhEmmTJkiWMHj2aM888k4qKCn74wx9m5sLLl8PgwUEnhI0bQVOkSwPpv2XJKw8++CCnn346P/rRj7jppgwMmfyXvwRJdt99lWSl0fRSS/LO3XffTUFBARdddBHbtm1j2rRpjbvQokUwYkQwLfibb2Y2SGlRlGglL912220UFBRw6aWXsm3bNq644oqGXWD+fBg9GgYMCOpnRZqgzkRrZpPTnRj2GBPJWr/5zW8oKChgxowZbN26leuvvz7aiffcA+PGwTHHQGlprDFKy5CuRFs9MkYx8E1gQbg+ClgWZ1AimXLNNdfQsWNHpk+fzrZt27jxxhvTn3DHHXDWWUGVwaOPNkuMkv/qTLTu/ksAM1sC9Hf3LeH6DODPzRKdSAb84he/oKCggClTplBeXs7tt9cxJtKsWXDuufC978G99zZvkJLXorQ66AV8kbL+BbB/Jm5uZsPMbI2ZvWNmP6tlv5nZjeH+V82sfybuKy3PT3/6U2655RZmz57NqafW0lrxf/4nSLI/+IGSrGRclJdhdwEvhJMzOjAamNPUG5tZa+AWYChBR4gXzWyBu7+ecthw4KDwcxTBGAsa0EYa5bzzzqNDhw5MnDiR8vJyHn744WDHNdfAZZfB+efDzTcnG6TkpSjDJF4NnE0wROLnBMMkXpOBex8JvOPua939C+Aeghl2U50EzPHAc8AeZtYjA/eWFurss89m7ty5PPLIIxx33HGwfn2QZKdMUZKV2ERt3rUC+LD6eDPr5e5NnSmvJ/DPlPXq7r31HdMzjEWkUU477TQ6dOjAL045hU0nnADTp8Mvf5l0WJLH6k204USMVwAb2DmNjQP/0cR719bFxhtxTHCg2STCMRiKiooozbFmOSXhd67FXa2srCynYu/SpQs333QT5UVFlO61V04248q1Zw65/3PeWFFKtD8Bit390wzfex2wX8r6vsD6RhwDgLvfBtwGUFxc7CUlJRkLtDnlatylpaW5F/ukSZT++MeUfP/7SUfSKDn5zEO5GndjRWl18E9gUwz3fhE4yMz6mFk7goFrFtQ4ZgEwPmx9cDSwyd1VbSAiOSVKiXYtUGpmjwL/rt7Y1J5h7l5pZhcAi4HWwGx3f83Mzgn3zwIWAiOAd4CtBHOXiYjklCiJ9h/hp134yRh3X0iQTFO3zUpZduD8TN5TRKS5RRmPtrqH2G7BqpfVc4qIiKSIMgvuoWb2N2A18JqZvWxmh8QfmohIfojyMuw2YLK793b33sBPgd/HG5aISP6Ikmg7uftT1SvuXgp0ii0iEZE8E6nVgZn9gmDMA4AzgHfjC0lEJL9EKdGeDRQBD4SfbqiZlYhIZFFaHXwGXNQMsYiI5KUorQ4eN7M9Utb3NLPFsUYlIpJHolQddHP3z6tXwhJu99giEhHJM1ESbZWZ9apeMbPe1DGCloiIfFWUVgeXAcvNbGm4/m3C4QhFRKR+UV6GPRbO1XU0wfiwl7j7J7FHJiKSJ6K8DDNgGMFMuA8DBWZ2ZOyRiYjkiSh1tDOBgcC4cH0LwaSKIiISQZQ62qPcvX84sAzu/lk4ULeIiEQQpUS7PZwa3AHMrAioijUqEZE8EiXR3gg8CHQ3s6uB5UAmphsXEWkRorQ6mGtmLwNDCFodnOzub8QemYhInojS6uBA4F13v4Vg8O+hqV1yRUQkvShVB/cDO8zsa8AfgD7AvFijEhHJI5G64Lp7JTAG+K27XwL0iDcsEZH8EbXVwThgPPBIuK1tfCGJiOSXKIn2LIIOC1e7+7tm1ge4O96wRETyR5RWB6+TMvC3u78LXBdnUCIi+SRKiVZERJpAiVZEJGZ1Jlozuyv8/knzhSMikn/SlWiPCGdTODucJ6xL6qe5AhQRyXXpXobNAh4DDgBeJuh+W83D7SIiUo86S7TufqO7/y9gtrsf4O59Uj5KsiIiEUVp3nWumfUDBoeblrn7q/GGJSKSP6IMKnMRMJdgivHuwFwzuzDuwERE8kWUGRZ+SDDLQjmAmV0P/BW4Kc7ARETyRZR2tAbsSFnfwa4vxkREJI0oJdo/As+b2YPh+snA7bFFJCKSZ6K8DLvBzEqBQQQl2bPc/W9xByYiki+ilGhx91eAVzJ107DDw73A/sB7wPfc/bNajnuPYHrzHUCluw/IVAwiIs0lqbEOfgY86e4HAU+G63U51t2/oSQrIrkqqUR7EnBnuHwnQb2viEheitKOtpOZtQqX+5rZiWbW1BkW9nL3DwHC7+51HOfAEjN72cwmNfGeIiKJiFJHuwwYbGZ7Evya/xLwfeD0dCeZ2RPA3rXsuqwB8f2nu683s+7A42b2prsvq+N+k4BJAEVFRZSWljbgNskrCb9zLe5qZWVluRf7RRdRloM/K9Vy8ZmXhN+5FndTmbunP8DsFXfvH/YG6+juvzKzv7n74Y2+qdkaoMTdPzSzHkCpuxfXc84MoMzd/7u+6xcXF/uaNWsaG14yLGyaXM/fR7YqLS2lpKQk6TAapm9fSn/8Y0p++tOkI2mUnHzmOf5zbmYvN+Z9UaQOC2Y2kKAE+2i4LVJrhTQWABPC5QnAQ7XctJOZ7Va9DBwPrG7ifUVEml2URHsx8HPgQXd/zcwOAJ5q4n2vA4aa2dvA0HAdM9vHzBaGx+wFLDezlcALwKPu/lgT7ysi0uyidFhYCixNWV9LymSNjeHunwJDatm+HhiRcp9+TbmPiEg2qDPRmtlv3P1iM3uY4O3/Ltz9xFgjExHJE+lKtHeF3/W+fBIRkbrVmWjd/eVw8Q13/yh1n5mlbSEgIiI7RXkZ9rSZfa96xcx+CjyY5ngREUkRpZlWCXCbmY0laAnwBnBknEGJiOSTeku0YRfZx4CBBKNtzXH3spjjEhHJG/WWaM3sceBD4FBgX2C2mS1z9ylxBycikg+i1NHe4u7j3f1zd19NULLdFHNcIiJ5I0rVwfwam46m9sFiRESkFpHGLDCzbwCnAd8D3gXujzEmEZG8kq5nWF/gVGAc8CnB1DPm7sc2U2wiInkhXYn2TeBpYJS7vwNgZpc0S1QiInkkXR3tKcC/gKfM7PdmNoRgFlwREWmAOhOtuz/o7t8Hvg6UApcAe5nZrWZ2fDPFJyKS86K0Oih397nuPpKgHe0K0s9aKyIiKRo0C667b3T337n7cXEFJCKSb5KablxEpMVQohURiZkSrYhIzJRoRURipkQrIhIzJVoRkZgp0YqIxEyJVkQkZkq0IiIxU6IVEYmZEq2ISMyUaEVEYqZEKyISMyVaEZGYKdGKiMRMiVZEJGZKtCIiMUs3C65IfnrkEdixY+f6Cy/AqlUwcWJyMUleU4lWWp5nnoHRo+Htt4P1QYNg/vxEQ5L8pkQrLc8ZZ4DZznV3lWYlVkq00vIccgjst9/O9bZtYdiw5OKRvJdIojWzsWb2mplVmdmANMcNM7M1ZvaOmWmKc8mcs86Cdu2C5RNOgA4dko1H8lpSJdrVwBhgWV0HmFlr4BZgOHAwMM7MDm6e8CTvnXYatG4NrVrB2WcnHY3kuURaHbj7GwCWWk/2VUcC77j72vDYe4CTgNdjDzBJ6Z9J1ipJOoBGKpk8OekQGq0k6QAksmxu3tUT+GfK+jrgqLoONrNJwCSAoqIiSktLYw0u00qSDkCkmWwYMIA3cuzfZ1PFlmjN7Alg71p2XebuD0W5RC3bvK6D3f024DaA4uJiLykpiRJm9nCntLSUnIs7lKux52rckLuxv5GjcTdFbInW3b/TxEusA1JeDbMvsL6J1xQRaXbZ3LzrReAgM+tjZu2AU4EFCcckItJgSTXvGm1m64CBwKNmtjjcvo+ZLQRw90rgAmAx8Abw/9z9tSTiFRFpiqRaHTwIPFjL9vXAiJT1hcDCZgxNRCTjsrnqQEQkLyjRiojETIlWRCRmSrTS/GbMCD51rcd1rkhClGhForj5ZhgwANq3hx/8IP2xGzcG49126gS9e8O8eZndLzknm7vgimSPffaByy+HxYth27b0x55/fjAy2IYNsGJFMDpYv37B8IyZ2C85RyVayT7TpgUlumpTp8KQIbB9e3IxjRkDJ58MXbumP668HO6/H668EgoLg9kbTjwR7rorM/slJ6lEK9nn0kvhwAOD0txzz8Fjj8Hy5cEA3ZkyciQsX86gykpoU+OfwaBBwbxijfHWW8Hwi3377tzWrx8sXZqZ/ZKTlGgl+3TtChdfDOPHw6ZNQZLt3Dmz9wgT6fJMD3BSVvbVWDt3hi1bMrNfcpKqDiQ7HX54MDPttdfuOu1MtisshM2bd922eTPstltm9ktOUqKV7LNqFZx7LkyYALNnx3OP4cOhsJDB4fcun+HDG3/dvn2hsnLnDLsAK1fufJHV1P2Sk5RoJbt88AGMGgWzZsHMmUHSjTpItHuQnIcMCV4eHXssXHhh7ccuWgRlZTwdfu/yWbToq8dXVkJFBezYEXwqKoJtNXXqFLw4mz49eLH1zDPw0ENw5pmZ2S85SYlWssfmzTBiBEyeHLxpLygIWhxcdlm08z/+GAYPhvnz4eqrYcmSoNphx46mx3bVVdCxI1x3Hdx9d7B81VU79w8fDtdcEyzPnBk0AeveHcaNg1tv3bVE2tT9knP0Mkyyx+67B78mp5oyJfhEUVQEy5bBvfcGJcJhw6C4OHiL31T19UBLLQV36RIk+7o0db/kHCVayR9mMGfOzvXTTksuFpEUSrTS/Go2p2pI86qmnCuSECVaaX5KtNLC6GWYiEjMlGhFRGKmRCsiEjMlWhGRmCnRiojETIlWRCRmSrQiIjFTohURiZkSrYhIzJRoRURipkQrIhIzJVoRkZgp0YqIxEyJVkQkZkq0IiIxU6IVEYmZEq2ISMyUaEVEYqZEKyISs0QSrZmNNbPXzKzKzAakOe49M1tlZivM7KXmjFFEJFOSmpxxNTAG+F2EY491909ijkdEJDaJJFp3fwPAzJK4vYhIs8r2OloHlpjZy2Y2KelgREQaI7YSrZk9Aexdy67L3P2hiJf5T3dfb2bdgcfN7E13X1bH/SYB1cn432a2uuFRJ64bkKvVJLkae67GDbkbe67GDVDcmJNiS7Tu/p0MXGN9+P2RmT0IHAnUmmjd/TbgNgAze8nd63zJlq1yNW7I3dhzNW7I3dhzNW4IYm/MeVlbdWBmncxst+pl4HiCl2giIjklqeZdo81sHTAQeNTMFofb9zGzheFhewHLzWwl8ALwqLs/lkS8IiJNkVSrgweBB2vZvh4YES6vBfo18ha3NT66ROVq3JC7sedq3JC7sedq3NDI2M3dMx2IiIikyNo6WhGRfJHziTaXu/M2IPZhZrbGzN4xs581Z4x1xNPFzB43s7fD7z3rOC5rnnl9z9ACN4b7XzWz/knEWVOEuEvMbFP4jFeY2fQk4qzJzGab2Ud1NbPM1ucNkWJv+DN395z+AP+LoG1bKTAgzXHvAd2SjrehsQOtgb8DBwDtgJXAwQnH/SvgZ+Hyz4Drs/mZR3mGBO8GFgEGHA08nyNxlwCPJB1rLbF/G+gPrK5jf9Y97wbE3uBnnvMlWnd/w93XJB1HY0SM/UjgHXdf6+5fAPcAJ8UfXVonAXeGy3cCJycXSiRRnuFJwBwPPAfsYWY9mjvQGrLx7z4SDzoWbUxzSDY+byBS7A2W84m2AXK1O29P4J8p6+vCbUnay90/BAi/u9dxXLY88yjPMBufc9SYBprZSjNbZGaHNE9oTZaNz7shGvTMkxq9q0GauztvJmUg9tpG3om9qUi6uBtwmUSeeS2iPMNEnnM9osT0CtDb3cvMbAQwHzgo7sAyIBufd1QNfuY5kWi9mbvzZlIGYl8H7Jeyvi+wvonXrFe6uM1sg5n1cPcPw1/3PqrjGok881pEeYaJPOd61BuTu29OWV5oZjPNrJtn/9Ci2fi8I2nMM28RVQc53p33ReAgM+tjZu2AU4EFCce0AJgQLk8AvlIyz7JnHuUZLgDGh2/DjwY2VVePJKjeuM1sb7NgvFEzO5Lg3/SnzR5pw2Xj846kUc886Td8GXhDOJrgf8d/AxuAxeH2fYCF4fIBBG9sVwKvEfzanhOxh+sjgLcI3kAnHjvQFXgSeDv87pLtz7y2ZwicA5wTLhtwS7h/FWlasGRZ3BeEz3cl8BzwraRjDuP6E/AhsD38GZ+YC887YuwNfubqGSYiErMWUXUgIpIkJVoRkZgp0YqIxEyJVkQkZkq0IiIxU6KVSCyYFcPN7OsRjh1gZjdm4J4XmdkbZja3ln1/Ckd9usTM/o+ZRe4YEo6+9K2mxtdYZvYDM7s5XD7HzMY38jr7m9lpmY1O4pATPcMkK4wDlhM0mp+R7kB3fwnIxLCI5wHD3f3d1I1mtjdB28Xe6U42s9buvqOWXSVAGfBsBmKsV5o4cPdZTbj0/sBpwLwmXEOagUq0Ui8zKwT+k6Dh9qkp20eb2RNh754eZvZW2GumxMweCY85JmXczr9V9xarcf3JZrY6/FwcbptF0OlhgZldUuOUJUD38JqDzewOM/tueN57ZjbdzJYDY8NS8eth6fceM9ufoPH5JdXn1/yzmtkfLRhH91UzOyXcPi7cttrMrk85vq7tZWFJ+3mCAUjOCp/P0vBZVh83w8ymhMulZna9mb0QHjs43L6/mT1tZq+En+rS+HXA4PDPcYmZtTaz/2tmL4ax/zja37DELuleGPpk/wc4A7g9XH4W6J+y726CnjKPAOPCbSWE43UCDxMMLgNQCLSpce0jCHoGdQr3vwYcHu57j1rGsyUoya1OWb8D+G7KOdNS9q0H2ofLe4TfM4ApdfxZrwd+k7K+J0GPt38ARQS/Bf6FYGjIWreH5znwvXC5R8px7YBngJtrxkIwLvGvw+URwBPhcgHQIVw+CHip5nMO1ycBl4fL7Ql+q+iT9M+PPnkwHq00i3EEY6ESfo9L2Xch8HPg3+7+p1rOfQa4wcwuIkh0lTX2DwIedPdydy8DHgAG17xIA92bsvwqMNfMzgBq3rs23yHoGgqAu38GfBModfePw/jnEgwOXdd2gB3A/eHyUSnHfVEjvpoeCL9fJvgPBaAt8HszWwX8GTi4jnOPJxg/YAXwPEFX6VwYySvvqY5W0jKzrsBxwKFm5gSj/ruZTfOg6NQTqAL2MrNW7l6Ver67X2dmjxKU0J4zs++4+5upt4gh7PKU5RMIkt+JwC+s/rFDjWhDKKbbDlDhu9bLRu3r/u/wewc7/31eQjAWRj+C6r6KNPFc6O6LI95LmolKtFKf7xKMhN/b3fd39/2Ad4FBZtYG+CPBC5k3gMk1TzazA919lbtfT/CrbM1WC8uAk82swIJRvkYDT2cicDNrBezn7k8B04A9CKontgBfqSsOLSGoCqm+xp4EpcNjzKybmbUmKNEvTbO9pueBEjPramZtgbEN/KN0Bj4M/xM7k+A/O2r5cywGzg3vgZn1DZ+pJEwlWqnPOIKXLqnuJ0iuxwJPu/vT4a+rL4al11QXm9mxBCW01wnmifqSu79iZncAL4Sb/uDuf8tQ7K2Bu82sM0Fp73/c/XMzexi4z8xOIigBpib2q4BbLJiYbwfwS3d/wMx+DjwVXmehh4O217W9xp/xQzObAfyVYFSoV9iZLKOYCdxvZmPDe1WX2F8FKs1sJUE99W8JqhteMTMDPib7pxlqETR6l4hIzFR1ICISMyVaEZGYKdGKiMRMiVZEJGZKtCIiMVOiFRGJmRKtiEjMlGhFRGL2/wGCYI9tGfFjSwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def norm_max(x):\n", " p = np.max(np.abs(x))\n", " return p\n", " \n", "fig, ax = plt.subplots(figsize=(5, 5))\n", "plt.grid() \n", "plt.xlim([-1.5, 1.5])\n", "plt.ylim([-1.5, 1.5])\n", "plt.xlabel('Axis of first coordinate')\n", "plt.ylabel('Axis of second coordinate')\n", "\n", "plt.plot([-1, -1, 1, 1, -1], [-1, 1, 1, -1, -1], color='r', linewidth=2)\n", "\n", "for y in x_list:\n", " x = y[0, :]\n", " p = norm_max(x)\n", " color = 'r' if p == 1 else 'k'\n", " plot_vector(x[0], x[1], color=color)\n", " plt.text(y[1, 0], y[1, 1], r'$||x||_\\infty=%0.3f$' % p, size='12', color=color)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Feature Normalization\n", "\n", "In music processing, audio recordings are typically transformed into a feature representation. Often, these representations consists of a sequence $X=(x_1,x_2,\\ldots x_N)$ with feature vectors $x_n \\in \\mathcal{F}=\\mathbb{R}^K$ for $n\\in[1:N]$. To better compare feature representations, one often applies **normalization**. One normalization strategy is to choose a suitable norm $p$ and then to replace each feature vector $x_n\\in\\mathcal{F}$ by $x_n/p(x_n)$. This strategy works as long as $x_n$ is a nonzero vector. Note that the normalized feature vector $x_n/p(x_n)$ is a unit vector with regard to the norm $p$.\n", "\n", "As an example, we consider the case that $X=(x_1,x_2,\\ldots x_N)$ is a sequence of [chroma features](../C3/C3S1_SpecLogFreq-Chromagram.html). In this case, the feature space $\\mathcal{F}=\\mathbb{R}^K$ has the dimension $K=12$. The normalization procedure as described above replaces each chroma vector by its normalized version. As a result, a normalized chroma vector only encodes **relative** rather than **absolute** differences in the sizes of the twelve chroma coefficients. Intuitively speaking, normalization introduces a kind of **invariance** to differences in **dynamics** or **sound intensity**.\n", "\n", "The normalization procedure is only possible if $p(x)\\not= 0$. Also for very small values $p(x)$, which may occur in passages of silence before the actual start of the recording or during long pauses, normalization would lead to more or less random and therefore meaningless chroma value distributions. Therefore, if $p(x)$ falls below a certain threshold, the vector $x$ may be replaced by some standard vector such as a uniform vector of norm one instead of dividing by $p(x)$.\n", "\n", "Mathematically, this normalization procedure can be described as follows. Let $S^{K-1}\\subset\\mathbb{R}^{K}$ be the unit sphere containing all $K$-dimensional vectors of norm one. Then, for a given threshold $\\varepsilon>0$, we define a projection operator $\\pi^{\\varepsilon}:\\mathbb{R}^{K}\\to S^{K-1}$ by\n", "\n", "\\begin{equation}\n", "\\pi^{\\varepsilon}(x):=\n", "\\left\\{\\begin{array}{cl} x / p(x) & \\,\\,\\,\\mbox{if}\\,\\, p(x) > \\varepsilon\\\\\n", " u & \\,\\,\\,\\mbox{if}\\,\\, p(x) \\leq \\varepsilon \\end{array}\\right.\n", "\\end{equation}\n", "\n", "where $u=v/p(v)$ is the unit vector of the all-one vector $v=(1,1,\\ldots,1)^\\top\\in\\mathbb{R}^K$. Based on this operator, each chroma vector $x$ can be replaced by $\\pi^{\\varepsilon}(x)$. The threshold $\\varepsilon$ is a parameter that needs to be chosen with care. A suitable choice will depend on the requirements of the application in mind. One can think of many variants for this normalization. Obviously, the normalization depends on the chosen norm and on the threshold. Furthermore, instead of taking the equally distributed unit vector $u$, one may take any another vector to represent feature vectors of small size. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example: C-Major Scale\n", "\n", "As an example, we consider a piano recording of a C-major scale. As described in the [FMP notebook on logarithmic compression](../C3/C3S1_LogCompression.html), we convert the audio recording into a chroma-based feature sequence. The following figure shows the effect of various normalization procedures. In particular, it shows how the normalization compensates the strong decay in amplitude for each of the notes.\n", "\n", "\"C1\"\n", "\n", "
\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:51:15.310038Z", "iopub.status.busy": "2024-02-15T08:51:15.309829Z", "iopub.status.idle": "2024-02-15T08:51:20.600532Z", "shell.execute_reply": "2024-02-15T08:51:20.599998Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAACsCAYAAABVcPquAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAl7ElEQVR4nO2de7xdVXXvv7+cc5KcvAgh4ZlEgjwqhEeAIIrlYamFaAEVKwJy6xVtvEahVRFob30UC61UqYhNEREtYqwFuRQDai8E8VYkPEJCAmh4SQgCMUAg5HXOGfePOdfOOjtr773Ofu9zxvfz2Z+911xzzTnW3GutseZjjCEzw3Ecx3GGyqhWC+A4juN0Jq5AHMdxnKpwBeI4juNUhSsQx3EcpypcgTiO4zhV4QrEcRzHqQpXII7jOE5VuAJxHMdxqsIVSB2R9JSkE+PvlZKOr3P510m6pBa5HJB0qaTzW1Bv3a8Jp72RdK+kg1otR6PoKAUSH4TPSxqfSjtX0pIWipWJmR1kZktaLYczGEnTgHOAf2123X5NtA+Spkj6kaSNkp6WdGa1eSUtkHSfpC2Sris6/HLgiw04hbagoxRIpBs4r9ZCJHXXQZZhRyvbpUl1/zmw2Mw2NaGuEUWH3VNXAVuB3YCzgH8p01OolHctcAlwbcaxtwAnSNqjXoK3E52oQL4MfFrS5OIdkt4kaYmkl+NwwSlF+5+S9FlJy4GNkrpj2mckLY9vGN+StJuk2yS9Kum/JO0cj79Q0uMxfZWkd5cSMhk2kvR+Sa+lPlvSPSZJe0q6UdKLkp6U9MnUvjmSHoj1/QAYW65hJM2QdFMs6/eSvp7afVg8x1ck/UDS2NRxWe1Ssi2H0mYx/+GSHoz7fhjrv6RM3WXbeaj1F3EycFct5ZWST9IbJa2XdHjqv12nOGylwUOcQ63TJO2b2h40nFlLm8RjP13m+qh0LVR9T1VC0k6Svh/b8VVJyyTV9NxSGMF4L/C/zew1M/sF4UH/wWrymtlNZnYz8Pvi481sM3A/8I5aZG5bzKxjPsBTwInATcAlMe1cYAnQA6wGLgZGA28HXgUOKDp+GTAD6E2l3UN4u9gLeAF4AJgDjAHuAD4X874P2JOgeN8PbAT2KJav+Hdq/yTgEeAv4vYowsX1t1HmfYAngD+J208DfxnP7XRgW3LeGW3TBTwEfBUYT1A2b0vJcm+UfUqUYX6pdqnUlkNss+Q8zovlvofwNndJmf8kTzvnqj+jnV4E5mZcV7nLKycf8JHYvuOAnwCXl7k+hlKnAfumtq9LXws1tslTlLg+cl4Lxf9f1bJkyLYQuJ5wTY8CZmfkuRV4ucTn1oz8c4BNRWmfBv6zxryXANdlpH8N+Eqrn5+N+HRiDwTCA/cTCuPZCUcDE4DLzGyrmd1BuLA+UHTs18zsGRs8hHGlmT1vZs8CdwO/MrMHzWwL8CPCRYSZ/dDM1prZgJn9APgNcFQegeNb0w3AEjNLxt/nAtPM7ItR5ieAbwJnxPPpAa4ws21m9h/A0jJVHEV4AHzGzDaa2WYLb0vp815rZuuB/wQOK9MuedoyV5vFsrpj+dvM7CbCw6pU3XnbOW/9xUwmPACLyV1eOfnM7Jtx+1fAHsBfl5CjlnNoRHmlro8810LV91QOthHa8/XY3g8XZzCzd5nZ5BKfd2WUOQF4pSjtFWBijXlL8Srhuht2dKQCiRfRrcCFqeQ9gWfMbCCV9jThDSjNMxlFPp/6vSljewKApHNiF/plSS8Ds4GpOcX+EuGi+2Qq7Q3Ankl5scyLCW9uewLPmlna3/7TZcqfATxtZn0l9v8u9fv15JxSpNslT1vmajOyz6P4Pxi0nbOd89ZfzEtk3/y5y8sh3zdj2pXxgVmKas+hEeWVuj7yXAtV31M5eJTwxr9R0l/kPKYSrxFGA9JMIvvFYih5SzGR0BsadnSkAol8jjBckFzIa4EZReOjM4Fni46rKgCKpDcQHgwLgF3MbDLwMKAcx55BeGM73cy2pXY9AzxZ9MY00czmAc8Be0lKlz+zTDXPADNV/URmul3ytmUess5jRqm6a2nnnCwH9q/24ErySZoAXAF8C/i8pCk1ypvwOmFYLGH3OpVbiTzXQkOCCsW5lgXA4WY2LtVzL853mwbPM6Y/t2Uc8mugW9J+qbRDgZU15i3FmwjDy8OOjlUgZrYa+AHb3+h/RRiLvkBST5y4/FNgUZ2qHE+4UV4EkPQhwltmWSTNAa4ETjOzF4t23wtsiJOQvZK6JM2WNBf4JdAHfDJOTL6H8sNl9xIe1pdJGi9prKRjhnqSkXq25S+BfmBBPI9TKX8eVbXzEFgMHFfD8ZXk+2fgfjM7F/gxYQy/HiwDzozXyEnUdg5DodH3VbIg4LqMXbMJiur5mG9m1uS7mZ1sZhNKfE7OyL+RMI/6xXivHAOcCvxbNXnjdT2WMA/ZFe+97rhvDHAE8LOhtUpn0LEKJPJFwg2NmW0FTiGsslkHfAM4x8werUdFZrYK+CfCA/F54GDg/+U49FRgZ+AXxW9FZtZPuBkPA56Mcl8D7BTP5z2EZacvESZrbyojX1LWvsBvgTXxmCFTz7ZMnceHCd34swnDj5lDOzW0c16+C8yT1FvNweXki8rxJGB+zP5XwOGSzqpVaMIihD8ltOFZwM11KLMijb6vIjPI/o+/TVhw8YykVwjXf72WCv8vwoKRF4DvAx8zs5VQ6NFcnCdv5G8Iw3IXEq7vTTENQtstMbO1dZK7rdDgoWnHaTySfgUsNLNvt6j+vwdeMLMrWlG/sx1JownDO4cUDe8OC+K1/uGsyf/hgCsQp+FIOg54jPAGexZhWGcfM3uupYI5jlMTnT6E5XQGBxDeMl8BPkVYTODKw3GahKRrJb0gKbMnpMDXJK2OBqCH5yrXeyCO4zjDG0nHEpYkf9fMdliUImke8AlgHvBm4J/N7M2VyvUeiOM4zjDHzH4OrC+T5VSCcjEzuweYrBz+uzrJ+RkQfAK1WoZWsM8++9DT0wNAV1cXo0YF3T/YvKI81fQ2e3p6CnUMpa5q5UnX0ajecb3Po1GYGf39/UCQOf0/1OscNm3axKpVq+pS1lAYP348U6YEE5mxY4Pbre7u7kHXddY5NuO/K3fdrVixotpi15nZtMrZylPm+bcS2JzavtrMrh5C0Xsx2CB0TUwrO9TccQpkpHLppZcyffp0ACZNmlS46RKlMmrUqMKFb9t98AwinZb8znpgp4/fY489GDNmTKGO4hu42hvazNi2bdugMoofGrUqkKzz6erqKqsQh/LQMjMGBgYG5anUHsX7y53jtm3b2LBhAxAersn/0NPTs8MLRLX/w4oVKzjkkEOqOrYWDjnkEM48M3hF33//YNc5bdo0xo0LtpLd3d10d4fHU1dXV+G4ViuQGTOKbWBzU86LxJDIagMLrouOrKXYjLSKN2BLFYikfmAFQfh+YIGZ/XcrZXIcx2lnkpeHNElPtQbWMNhDxHSCF4LystRaa41sMrPDzOxQ4CLg0hbL4ziO07ZIoqura4dPHbgFOCeuxjoaeCXPSsl2GsKaRLC4dhzHcUqQ1QOphKTvA8cDUyWtIfgS7AEws4UEFz/zCK77Xwc+lKfcViuQXknLCLEr9iDEGtgBSR8FPtpEuRzHcdoOSVUpEDMrDmtRvN+Ajw+13FYrkE1mdhiApLcA35U0u8j1N3E1wdUx34hcheU4jgPUa8iqLrR6DqSAmf2SEFOh5qVujuM4w5GkB1L8aRWt7oEUkPQHBHfIO8QVdhzHcQKtVBjFtFqBJHMgEJby/o/oltwp4uSTT2b06NFAZUPCWm0pShmwZZVXra2GmRW64ukbohHr/NMy1rP89Hh0teWWO27btm08/XQwH9iwYUPBbmbUqFEFm5BKRniVbH82b97MHXfcAcDuu+9eKCvJ29fXV7B1KWXImvfcBwYGCsdNnjyZ8ePHF8obalnNpl1cPiWrsNqFlioQM2uflnAcx+kA2qkH0nBJJL1bksUhquJ935e0t6TzFcK+Oo7jOGVopzmQZtT8AeAXQJaCmGVmTxHCc97dBFkcx3E6lgYaElZFQxWIpAnAMYRwpmek0r8naRVwQJwDeQfwY0nnNlIex3GcTqedeiCNngM5DbjdzH4tab2kw83sATM7S9KfEXyv3Ah82czeV6oQNyR0HMep3pCwUTRakg8Ai+LvRXE7YQ6wDDg4fpfEzK42syNr9DbpOI7T8bTTEFbDeiCSdiG4Jpkdrce7AJO0BPgSMAt4F8FwcKOkE83shEbJ4ziO0+mMpB7I6YQIV28ws73NbAbwJLABOAJ42MwOJgRCmePKw3EcpzIjZQ7kA8BlRWk3AmcCm4CHJI0GesxsQwPlGBaMHj16kOFdtQGM8pIYrWUZoqUpZWCVJ9pgsp0YwxV3xWs1KktkSAzhkjJrDcKUNrLr6+sDtsteHLCqmjoSeR9//HHOPvtsAB599NGqZM3Dhz4UHK+ed955QAhYlsjd19dXOLfE8G/8+PGFYE/tavhXb9rlPEeMIaGZHZ+R9rXU5n3x+9hGyeA4jjPcqLbHIekk4J8J0wnXmNllRft3Aq4HZhJ0w+Vm9u2yslQlSZ0pZ2zoOI7jBKp1piipC7gKOBk4EPiApAOLsn0cWBUD/B0P/FMcJSpJWygQyhsbOo7jOJEqV2EdBaw2syfMbCthVeypRXkMmKgwXjcBWA/0lSu05QqklLGh4ziOM5gyPZCpku5LfYrt5vYCnkltr4lpab4OvIkQC30FcJ6ZDVCGVnvjhRLGhukMbkjoOI4TKDFkta6CnVzWKoDilS5/QrDJezvwRuBnku4ut8ip5T0QyhsbAm5I6DiOAzX5wlpD8PyRMJ3Q00jzIeAmC6wmmF2UnZduaQ+kjLHhBcVhbR3HcZyqV2EtBfaTNAt4ljBdcGZRnt8CfwTcLWk34ADgibKyVCNJHSllbPi2FsvlOI7TllSzCsvM+oAFwE+AR4B/N7OVkuZLmh+z/R3wVkkrgP8LfNbM1pUrt9VzIOWMDd29u+M4TopaDAnNbDGwuChtYer3WoJn9Ny0OiLh8RlpX8vIOuLZvHlzIYxpOnxpPUlGDdPhZuthWZ3FwMAAW7duHVRvf39/zSFii+tIyk3q6O7urrnsxPr88ccf56677gJCiFaAcePGFUIP9/T0MG7cuEK9sGN43aywvonczz//PKeddhoABxxwAPvvvz8Au+yySyG8bBJ6eGBgoHBeWSGPS52zmTFhwgQgWKAnx6cpLqOW9ktfY8XltIu1d7szUnxhIWk3STdIekLS/ZJ+KendRXmWSBor6QpJRzdSHsdxnE6mWkPCRtGwmqMxys3Az81sHzM7gjBxMz2VpxfoN7PNwFzg/kbJ4ziOMxxoJ3fujVRdbwe2Fo2xPW1mVwJIupNgrDI7TtocDCyVNK+BMjmO43Qs7dYDaeQcyEHAA6V2mtkJki4AHgd+D7zTzD6TldcNCR3HcQIjZg4kjaSrJD0kaWkqOVdUQjckdBzHqcmQsCE0sgeyEnhvsmFmH5c0FbhP0rmENcn7EnyvzASelzTPzM5qoEyO4zgdzUjpgdwBjJX0sVTaOAAzu4aw3vgOMzuM4CXyTa48HMdxSjNi5kDMzCSdBnw1znW8CGwEPhuzHAv8QtIM4OlGyeE4jjOcGBERCQHM7DlKuGg3s/9Ibb6vkXIMB1555ZWCwVdxeFvYMVRruVC0xfvSxl3Jd2Kg1tvbm1lHrYwaNapgcNcIQ8U0AwMDBeO8dPlZhnF56k/K+s1vfsP8+fMr5K4Pl19+eSH076RJkwr//5YtWwoy9fb2AiHkbJK3kmFm+v/P2/ZZRoB5j0vabmBgYIc353qEGx7uJD2QdqGlkuQxNHQcx3G2005DWLlqlnS0pKWSXpO0VVK/pJI+4nOWWdHQ0HEcx9lOp67C+jrh4f5D4EjgHMIKqlrINDQErqyxXMdxnGFLRw5hxQAjXWbWb2bfBk6ose6yhoZpJH00CdVYY52O4zgdSy09EEknSXpM0mpJF5bIc7ykZZJWSrqrUpl5eyCvSxoNLJP0j8BzwPicx+ZC0lWEOCBbzWxuep+ZXQ1cHfN5oCnHcUYs1fRAJHUBVwF/TIhOuFTSLWa2KpVnMvAN4CQz+62kXSvKkrP+DxKiBS4gLMWdQcpIsEpWAocnG2b2cUI0rGk1lus4jjMsqcEO5CiCvd0TZraVED781KI8ZxJC2v4WwMxeqFRorpqjE8RNZrbBzL5gZn8Vh7RqoaShoeM4jpNNiSGsqckwf/wU+w7cC3gmtb0mpqXZH9g5hti4X9I5lWTJNYQl6V2EcIdviMeIYCs4Kc/xWeQwNHQcx3FSlLEDWVfBV2CWYU3xdEA3cARhJKgX+KWke8zs16UKzTsHcgXwHmCFFVul1UA5Q0NnMLvvvnthsqxRBlfpvzYxJKxklJiHLBnTBmxDOS4vZlaIePjyyy+zZs0aADZt2lQ4t6Q9e3t7CxH+kmNLySGpYAy30047ceONNwKw6667FspMIhbC9ih/iWFfcTTJSueY1DVlypSCoWA6SmRa1moNPpM68spUbd60rMWRLp38VLkKaw1h6iFhOrA2I886M9sIbJT0c+BQoKQCySvJM8DD1SiPaDOyLPXZu2i/RyR0HMfJQQ2rsJYC+0maFRdEnQHcUpTn/wB/KKlb0jjgzcAj5QrN2wO5AFgcl3VtSRLN7Cs5jt0UHSbuQDoioaS5QGY8EMdxHCdQTQ/EzPokLQB+QlgQda2ZrZQ0P+5faGaPSLodWA4MANeY2cPlys2rQL4EvAaMBUYPWfoMYkTCGcDEGJHwDYSlZReb2eJ61OE4jjPcqNaQMD5XFxelLSza/jLw5bxl5lUgU8zsHXkLLaJX0rL4+0kzezcMLSKh4ziOs30Iq13Iq0D+S9I7zOynVdRRcgiLEJHwRmAeZSISykPaOo7jAO3lyiSvAvk4cIGkrcC2mFb1Mt6hRiR0S3THcZz2c+eeS4GY2cR6Vmpm10i6hTBJc4qke83sqHrW4TiOMxzpxCEsJJ1CiCIIsMTMbq2xbo9I6DiOMwQ6sgci6TJgLvC9mHSepLeZWaZHxzRmNqFEukckHALd3d0NN7xKl1vK2K1edW/cuJHly5cDDIqumGUMN2rUqCFFy4NgCLl+/XoA7rnnHi6//HIgRHasJ/vssw8An/rUpwCYOXNmwShx9OjRjBsXvPPstttuQDBaLBUVsfj/HRgYKBhDph8cWXmL22coJlvlohbW+1pLy+UGhNXRcQqEMMl9mJkNAEj6DvAgUFGB5EFSP7AilXSamT1Vj7Idx3GGC526CgtgMrA+/t6pznKUW6nlOI7jRDqxB/L3wIPR+E+E+YuLGiaV4ziOswMdNwciaRTBrP1owjyIgM+a2e/qKEemsaHjOI4zmI4awjKzAUkLzOzf2dH5Vr0oO4TlhoSO4zgd2AOJ/EzSp4EfEGJ2AGBm60sfUj/ckNBxHCfQiQrkf8bvj6fSDNinvuI4juM4pWi3VVh5Q9rOyvi48nAcx2kyVcZER9JJkh6TtFpSSRMMSXNjHKfTK5U5FEv0twJ7p48xs+/mPb4cpYwNne0MDAwMKZJdLfT39/P6668DwYAxeeNJR5GrthudRL979NFHOeaYY+og7dA455xzOP744wHYb7/9AJg8eTLd3eGyHkKAHsys0B4777wzAD09PYPaJik3+R5KtMCBgQE2b95cqCstY7Hx31CjEGblzTrvehv+paMfljNgdEpTzb0nqQu4CvhjQuTBpZJuMbNVGfn+gRA3pCJ5LdH/DXgjwWNuf0w2oC4KxHEcx6lMDUNYRwGrzeyJWM4i4FRgVVG+TxA8pM/NU2jeHsiRwIH1jIeekGGFvsjMLqt3PY7jOMOBEj2QqZLuS21fHRcfJexFCE2esIYQsraApL2AdwNvp84K5GFgd+C5nPmHgluhO47j5KDMMt51ZnZkuUMz0oo7BFcQbPz68w4rllUgkv4zVjIRWCXpXgbHRD8lVy2O4zhOXahyCGsNIYR4wnRgbVGeI4FFUXlMBeZJ6jOzm0sVWqkHcguwG3B3UfpxwLOVZc5F2god4FIz+0E6gxsSOo7j1GRIuBTYT9IswrP7DODMdAYzm5Wq5zrg1nLKAyorkFOBi81seTpR0kbgc8C3cgpfjopDWG5I6DiOE6hGgZhZn6QFhNVVXcC1ZrZS0vy4f2E1slRSIHsXK49Y2X2S9q6mQsdxHKc6ajEkNLPFwOKitEzFYWZ/nqfMSgpkbJl9vXkqcBzHcepHJ7kyWSrpI2b2zXSipA8D99dJhuI5kNvzRDocaRSvoE62G2GE9eqrr3LDDTcAsMsuuzBt2jQAJk6cWIi2Vyp6YSUSQ7KXXnqJSy+9FIDZs2cX6koi+I0dO7ZQV7VvXH19fQBs2bKF/v5gvjR16lQmTpxYqCMpv5p27O/vL9SRFS0w2U5/Q/5ogZLo7e0tlF+qjuLyh4KZZcrTiOvKzArtVc9zGEl0mjPF84EfSTqL7QrjSGA0Yb1wzZhZ+zh2cRzHaXPayRdWWQViZs8Db5V0AjA7Jv/YzO6oVHDKQLAH6AO+A1yRhMVN5VsCnARcRjAivGeoJ+E4jjMS6LQeCABmdidw5xDLLqyukrQrcAMhFO7nkgySeoF+M9ssaS7wmSHW4TiOM6JoJwXSFEnM7AWCHccCxYHOGB53BTBb0grgYMKcy7xmyOQ4jtNpJKuwij+tIrc33loxsydieNxdgefN7ARJFwCPA78H3mlmmT0QNyR0HMcJjLgeSIriZRZzCB5+D47fmZjZ1WZ2ZAVfL47jOMOaZA6kmnggjaBpPRBJ+xBcwb8g6VxgAbAv8CZgJvC8pHlmdlazZHIcx+k0OmYVVr2QNA1YCHw9uoS/RtItwDVmdoqke83sqGbI4jiO06l05CqsKkkMBJNlvP8GfCW1/1jgF5JmAE83UA7HcZxhw4hQIJUMBM3sP1Kb72uUHMOFbdu2Fayp0+OeWWFBa7Xo3bBhAxdddFHhd6OYNSs4//zqV78KhNCyU6ZMAWD8+PGMGTMGCOdYbNFd6RzNrNBefX19BWvr0aNH1y2Uan9/P5s2bQIYFPY3K/RwVp2lLNKT9LTldnd3d+5zHwqSMuVolKeDpNx0iOZmhWoeDtTiC6sRNG0OJIu8xoaO4zhOoJ16IK2WZJOZHWZmBxGCvc8jZWjoOI7jDKbaVViSTpL0mKTVknbwNyjpLEnL4+e/JR1aUZYq5G8IWcaGjuM4znaqNSSU1AVcBZwMHAh8QNKBRdmeBI4zs0OAvyPGYCpH2ygQCMaGBJl2TadL+qik+4qCxjuO44w4quyBHAWsNrMnzGwrsIgQMLCAmf23mb0UN+8hhL0tS0vnQEqwQ+/DIxI6juOUXcY7tegF++r43EzYC3gmtb0GeHOZqj4M3FZJnrZSIGljw1bL4jiO046UGLJaV8FTR9a0QObLePS+/mHgbZVkaRsFkmFs6DiO46SowZBwDTAjtT0dWJtR/iHANcDJZvb7SoW2WoFUMjZ0HMdxUlRpB7IU2E/SLOBZ4AzgzHQGSTOBm4APmtmv8xTaUgXi0Qjzc/vttxeMsMaMGVMIxzp69GggTKwlF1ZPT0/mRVbJEC0pf+vWrSxcuBCA6dOnF+ro6ekp/E6M/IrrKbeAzswK+82M7u5w+U2dOnUHubNCng6F9JvaqFGjCgZ527ZtK2t8WarerLTu7m7Gjx9fqCMrXy3GfwMDA4OM/NIGhsXlp9t2KJhZIcxwJWPUeiyO3Lx5MwBr164t1Js2+Ex+19NlR1Z7ldqfJrlmtm7dypYtW+oiS61U2y5m1idpAfAToAu41sxWSpof9y8E/hbYBfhGbKe+Sg5sG65AJO0OXAHMBbYATwHnJxpO0veBi4DTgN+Z2aJGy+Q4jtOpVKtYzWwxsLgobWHq97nAuUOSpSpJchLtOX4ELDGzN5rZgcDFwG6pbLPM7CngOODuRsrjOI7TyYy0gFInANuKtNwyAEnfI8QD2SPOg+wH/FjS183smgbL5TiO05G0kyuTRiuQ2cD9WTvM7CxJf0ZYGXAj8GUzy3Sq6BEJHcdxRpY79zzMAf6LHBEJcUNCx3GcEeWNdyVwenGipHnA3wOzgHcB04CNkk40sxMaLJPjOE5H0m49kEZLcgcwRtJHkgRJc4GNwBHAw2Z2MEHRzHHl4TiOU552ione0JqjRfm7gT+W9LiklcDnCRaQc4CHJI0GesyscZGLHMdxhgEjbRUWZrYW+LMSuxPnX8c2Wo5O573vfW9L6r355ps56KCDgBAxMDFgTIwA0waM6ciBlUhHDCxlhFfOo81QIhJu2LCB9evXA8EAMjGGTJeRnEN3d/eg6ILF55XHwLFe0SEHBgYKBmxdXV309PRkylML69atY9GiYHqV/Le9vb0FA8lJkyYxbtw4gEL9pQxVKzEwMMCdd94JwPnnn1+T3COZkTSEVRFJu0taFHsoqyQtlrR/q+VyHMdpR9ppCKvVIW0TQ8PvmNkZMe0wgqFhLl8sjuM4IwWPiT6YkoaGjuM4zmDabRVWqxVISUPDNG5I6DiOE3AFMkTckNBxHKf9hrBarcpWEuxBHMdxnBy00yR6qxVIpqGhpONaKJPjOE7b4gokUsHQ0HEcx0nRboaE6rTw45JeJLhCWddqWYCpuBxpXI7BuByDGclyvMHMptVaiKTbCfIXs87MTqq1/CHL02kKBEDSfZVCLbocLofL4XK0sxzDgVbPgTiO4zgdiisQx3Ecpyo6VYFc3WoBIi7HYFyOwbgcg3E5hhkdOQfiOI7jtJ5O7YE4juM4LcYViOM4jlMVba1AJJ0k6TFJqyVdmLFfkr4W9y+XdHiL5Dhe0iuSlsXP3zZAhmslvSDp4RL7m9UWleRoeFvEemZIulPSI5JWSjovI0/D2ySnHM24PsZKulfSQ1GOL2TkaUZ75JGjWddIl6QHJd2asa8p98uwx8za8gN0AY8D+wCjgYeAA4vyzANuAwQcDfyqRXIcD9za4PY4FjicEEc+a3/D2yKnHA1vi1jPHsDh8fdEQvyYVlwfeeRoxvUhYEL83QP8Cji6Be2RR45mXSN/BdyQVVez7pfh/mnnHshRwGoze8LMtgKLgFOL8pwKfNcC9wCTJe3RAjkajpn9HFhfJksz2iKPHE3BzJ4zswfi71eBR4C9irI1vE1yytFw4jm+Fjd74qd4hUwz2iOPHA1H0nTgncA1JbI05X4Z7rSzAtkLeCa1vYYdb8w8eZohB8BbYrf9NkkH1VmGPDSjLfLS1LaQtDcwh/C2m6apbVJGDmhCm8Qhm2XAC8DPzKwl7ZFDDmh8e1wBXAAMlNjfTvdLx9LOCkQZacVvMnnyNEOOBwi+bg4FrgRurrMMeWhGW+ShqW0haQJwI3C+mW0o3p1xSEPapIIcTWkTM+s3s8OA6cBRkmYXi5l1WAvkaGh7SHoX8IKZlQtW1y73S0fTzgpkDTAjtT2dHb305snTcDnMbEPSbTezxUCPpCyHZ42kGW1RkWa2haQewkP7e2Z2U0aWprRJJTmafX2Y2cvAEqDYuV5Tr5FScjShPY4BTpH0FGHI+e2Sri/K0xb3S6fTzgpkKbCfpFmSRgNnALcU5bkFOCeuqDgaeMXMnmu2HJJ2l6T4+yhCu/6+znJUohltUZFmtUWs41vAI2b2lRLZGt4meeRoRptImiZpcvzdC5wIPFqUrRntUVGORreHmV1kZtPNbG/C/XqHmZ1dlK0t7pdOp21D2ppZn6QFwE8IK6GuNbOVkubH/QuBxYTVFKuB14EPtUiO04GPSeoDNgFnmFldu8OSvk9YvTJV0hrgc4QJyqa1RU45Gt4WkWOADwIr4ng7wMXAzJQszWiTPHI0o032AL4jqYvwQP53M7u12fdLTjmadY0MogVtMexxVyaO4zhOVbTzEJbjOI7TxrgCcRzHcarCFYjjOI5TFa5AHMdxnKpwBeI4juNUhSsQp+lI2kXbPbH+TtKz8fdrkr7RoDrPl3ROI8quBklPlTOek7RI0n7NlMlxhoov43VaiqTPA6+Z2eUNrKOb4D7jcDPra1Q9QyFaSR9pZutK7D8OONvMPtJUwRxnCHgPxGkbFOJE3Bp/f17SdyT9NL6tv0fSP0paIen26D4ESUdIukvS/ZJ+omyPqm8HHkiUh6RPSlqlEAdiUUwbrxDrZKlCDIlTY3qXpMtjvcslfSKm/1HMtyIeNyamPyXpC5IeiPv+IKbvEs/lQUn/SvTFFOv9sYJjwYclvT/KfDdwYlR+jtOWuAJx2pk3ElxynwpcD9xpZgcTrJffGZXIlcDpZnYEcC3wpYxyjgHSjvUuBOaY2SHA/Jj21wSXF3OBE4AvSxoPfBSYlcr/PUljgeuA90d5uoGPpcpfZ2aHA/8CfDqmfQ74hZnNIbjRmBnTTwLWmtmhZjYbuB3AzAYIVtKHDqXBHKeZuAJx2pnbzGwbsILgRub2mL4C2Bs4AJgN/Cy6EfkbglO8YvYAXkxtLycogrOBZEjrHcCFsZwlwFjCQ/5EYGHSezGz9bHeJ83s1/HY7xACbSUkDhXvj3IS918fy/gx8FLqXE6U9A+S/tDMXkmV8wKwZ2bLOE4b4N1jp53ZAuFtXNK2lL+kAcK1K2Clmb2lQjmbCAoh4Z2EB/opwP9WiEch4L1m9lj6wOj0L08YgR3kBvoZfI/tMOFoZr+WdATBL9Olkn5qZl+Mu8dG2R2nLfEeiNPJPAZMk/QWCG7VlR2c6BFg35hnFDDDzO4kBByaDEwgOMv8RMpL7Jx47E+B+clchKQpBO+ye0vaN+b5IHBXBVl/DpwVyzgZ2Dn+3hN43cyuBy4nhAtO2B9YWbkZHKc1uAJxOhYLIYZPB/5B0kPAMuCtGVlvY/sQUxdwvaQVwIPAV2Pcir8jeBVeLunhuA0hJOpvY/pDwJlmtpngvfWHsZwBYGEFcb8AHCvpAcJw2W9j+sHAvXHo7K+BSwAk7QZschfjTjvjy3idEYGkHwEXmNlvWi1LHiT9JbDBzL7ValkcpxTeA3FGChcSJtM7hZcJk/OO07Z4D8RxHMepCu+BOI7jOFXhCsRxHMepClcgjuM4TlW4AnEcx3GqwhWI4ziOUxX/HxWGHgwe4JDJAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZAAAACsCAYAAABVcPquAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAmyElEQVR4nO2debwcVZn3v7+7JLkJCSEkrAkkyKIQkCUgirINOBAdFsWRTd5xRN7MRxTGBYGZd9wFR0ZxwckwiMsoRh2Ul8EAOi8E5VUEgiEhATTsAQRigEjIdu995o9T1anbqe6uru7q7nvv8/18+tNVp06d89SpOvXUWZ7zyMxwHMdxnHrparcAjuM4zvDEFYjjOI6TC1cgjuM4Ti5cgTiO4zi5cAXiOI7j5MIViOM4jpMLVyCO4zhOLlyBOI7jOLkYlQpE0uOSjou2l0s6usnpf1vSZxuRywFJl0m6sA35Nv2ZcLbg5ds4ku6WtF+75ShEgUQvwuckTUiEnStpURH5NYKZ7Wdmi9othzMUSdOAc4B/a3Xe/kwUy2gv3yZ9KF4BfLoZ8jRCkS2QHuCCRhOR1NMEWUYc7SyXFuX9N8BCM1vfgrxGFaO1To2U646u40bgGEk7t1OWIhXIF4GPSppcfkDS6yQtkvRS1Jw9qez445I+LmkpsE5STxT2MUlLJa2T9E1JO0q6WdKfJf23pO2i8y+W9EgUvkLSqZWEjL8GJL1b0iuJ38Zki0nSLpKul/SCpMckfShx7CBJ90X5/RAYV61gJM2Q9JMorT9J+nri8IHRNb4s6YeSxiXOSyuXimVZT5lF8Q+W9Lvo2I+j/D9bJe+q5Vxv/mWcCNzRSHqV5JP0GklrJB2cuLerFXWraGgXZ715mqQ9E/tDujMbKZPo3I9WeT5qPQu561Q1JG0bXffURNi+Cr0Qkypcx3GJ/Y9LejrK82FJf5FyTsX6qep1s646U5bnxZL+syzsK5K+mtivlvdW9VzSfwC7Af8VXcdFUdy63olAP7AYeGv6XWkRZtb0H/A4cBzwE+CzUdi5wCKgF1gJXAqMAY4F/gzsU3b+EmAG0JcIuwvYEdgVeB64DzgIGAvcBnwiivsuYBeCgnw3ocB3LpevfDtxfBLwIPC/o/0uws36p0jmPYBHgb+M9p8A/j66ttOAzfF1p5RNN3A/8GVgAkHZvDkhy92R7FMiGeZVKpdaZVlnmcXXcUGU7juATYn7l3ZPspRzpvxTyukF4NCU5ypzetXkA94fle944FbgiirPRz15GrBnYv/byWehwTJ5nArPR8Znofz+5ZYlRbangCMT+z8FPlzt/RBt7xOdu0u0PxN4TY28SvWTKnUzT50py2d34FVgUqLuPgscnuG9UKueH5fIJ+878avAl4p4h2f9Fa1AZgMvA9PYokDeAvwR6ErE/wHwybLz/zYlzbMS+9cD/5rY/yBwQwV5lgAnV3lBJG9mF3BTWdpvAJ4sS/MS4FvAkcAzgBLHfk1lBfJGwsuxp0K5nZ3Y/2dgfqVyqVWW9ZRZdB1Pl13HnQxVIH+bdk01yjnvPdsMvLZZz0AF+W4ElgFLgbFVno/MeZJNgeQtk4rPR8ZnoWl1KkW2m9nywXUY4WNkbJXriMt3T4LiOg7ozZDPkPpJlbqZp86k5HcncE60fTzwSOJYtfdCrXp+XD0yVbh/nwOuzXJ/ivoVOgvLzB4g3OyLE8G7AE+Z2WAi7AnCF1CSp1KSfC6xvT5lfxsASedIWhI1B18iKLKpZONzwETgQ4mw3YFd4vSiNC8lfLntAjxt0R1NXE8lZgBPmFl/heN/TGy/Gl9TgmS5ZCnLTGVG+nWU34Mh+xnLOWv+5bxIuA/lZE4vg3z/HoV9zcw2VpCjkWsoIr1Kz0eWZyF3ncrAA8C+0fZlhJdftTIFwMxWAhcCnwSel7RA0i5VTimvn9XqZky9dSbJdcAZ0faZ0X5Mtbxr1fMked+JE4GXMqRfGK2YxvsJQndBXBjPADMkJfPejfD1m8TIgaTdCS+G84HtzWwy4eFWhnNPJzwsp5nZ5sShp4DHzGxy4jfRzOYSmrS7Skqmv1uVbJ4CdlP+Ab1kuWQtyyykXceMSnk3Us4ZWQrsnffkWvJJ2ga4Evgm8ElJUxqUN+ZVQrdYzE5NSrcWWZ6FXHUqIw8A+0ZjGzsD3816opldZ2ZvJryQDfhCWrwK9bNa3Sxlkdiut878GDha0nTgVIYqkGp5V6vn5fch7zvxdYRusrZRuAKJvjB+yJYvht8S+qIvktSrMHD5V8CCJmU5gVDQLwBIei/hK7Mqkg4CvgacYmYvlB2+G1gbDWL1SeqWNFvSocBvCANaH4oG6N5BaMJX4m7Cy/pySRMkjZN0RL0XGdHMsvwNMACcH13HyVS/jlzlXAcLgaMaOL+WfF8BFpvZucDPgPkN5JVkCXBm9IycQGPXUA9F16t4QsC3KxyOWyCfBy41s4GMae4j6VhJY4ENhFbPVudWqZ/V6mYadZVTlNciQrfUY2b2YMa8q9Xz5wjjJblkispjLHAI8ItKcVpBqwwJP02o0JjZJuAkwiyb1cA3CH2MDzUjIzNbAfwL4YX4HLA/8P8znHoysB1wp7bM9Lg5SnOAcEMPBB6L5L4G2Da6nncQpp2+SBis/UkV+eK09gSeBFZF59RNM8sycR3vIzSLzyZ0P6Z2QzRQzln5LjBXUl+ek6vJFynHE4B5UfQPAwdLOqtRoQmTEP6KUIZnATc0Ic2aFF2vImZQ+R6vILS2BszshjrSHAtcTpD5j8AOhG6gclLrZ7W6mZZZznK6jjBGk2x91HovVKvnlwH/GHV7fTSnTCcBi8zsmSpxCkdDu7wdZwuSfksYpP1Wm/L/PPC8mV3ZjvydLUgaQ+guOaCse9dpA1HdfF80ztw+OVyBODGSjgIeJnwFnUXo1tnDzJ5tq2CO43Qko3ItLKci+xC+Ml8GPkIYrHTl4TjDHEnXSnpeUmqLRYGvSlqpYFh6cKZ0vQXiOI4zspF0JPAK8F0z22qyi6S5BLufuQT7lq+Y2RtqpestEMdxnBGOmf0SWFMlyskE5WJmdhcwWRnW2Rp2i4tNnTrVZs6c2W4xWs6LL75Ib28vAN3d3XR1Bd0/1GyjOnlam729vaU86skrrzzJPIpqHTf7OorCzBgYCDNaJQ25D826hvXr17NixYqmpFUPEyZMYMqUYHozblxYzqunp2fIc512ja24d9WeuzFjxuRKc/HixavNbFpemWIkVRJuOWEadMzVZnZ1HUnvylBDxVVRWNUu7GGnQGbOnMm9997bbjFazo9+9COmT58OwKRJk0qVLlYqXV1dpQc/XmagnGRYvJ32wk6ev/POOzN27NhSHuUVOG+FNjM2b948JI3yl0ajCiTterq7u6sqxHpeWmbG4ODgkDi1yqP8eLVr3Lx5M2vXrgXCyzW+D729vVt9QOS9D8uWLeOAAw7IdW4jHHDAAZx55pkA7L13sBedNm0a48cHG8yenh56esLrqbu7u3ReuxVIXAfrRVK11SnqTWurMDPbYGZzGkk2JaxmBWyrApE0QFiLSERGbGb263bK5DiO08nEHw9J4pZqA6xi6MoT0wkW8tVlaTTXBllvZgea2esJi5Bd1mZ5HMdxOhZJdHd3b/VrAjcC50SzsQ4HXs4yA7OTurAmESy5HcdxnAqktUBqIekHwNHAVEmrCGsU9gKY2XzC0kFzCcvKvwq8N0u67VYgfZKWENbK35mwDv5WSDoPOA9gt92qrVPoOI4zcpGUS4GY2Rk1jhvwgXrT7ZQurNcS1ib6rlJGiMzsajObY2Zzpk1reCKD4zjOsKWgLqxctFuBlDCz3xB8NbiGcBzHSSFugZT/2kW7u7BKSHotwQ3kn9oti+M4TqfSToVRTrsVSDwGAmEq7//K6kdgtHHiiSeWjJhqGRI2aktRyYAtLb28thpmVmp6JytEEfP8kzI2M/1kf3TedKudt3nzZp54IpgPrF27tmQ309XVVbIJqWWEV8v2Z8OGDdx2220A7LTTTqW04rj9/f0lW5dKhqxZr31wcLB03uTJk5kwYUIpvXrTajWdsuRTPAurU2irAjGzzikJx3GcYUAntUAKl0TSqZIs6qIqP/YDSTMlXajgrtJxHMepQieNgbQi5zOAO4E0BTHLzB4nuP38VQtkcRzHGbYUaEiYi0IViKRtgCMIblJPT4R/X9IKYJ9oDOStwM8knVukPI7jOMOdTmqBFD0Gcgpwi5n9XtIaSQeb2X1mdpakvyasvXI98EUze1elRNyQ0HEcJ78hYVEULckZwIJoe0G0H3MQsATYP/qviBsSOo7jBDqpC6uwFoik7QlLk8yO1rDvBkzSIuBzwCzg7QTDwXWSjjOzY4qSx3EcZ7gzmlogpxE8XO1uZjPNbAbwGLAWOAR4wMz2JzhCOciVh+M4Tm1GyxjIGcDlZWHXA2cC64H7JY0Bes1sbYFyjAjGjBkzxPAurwOjrMRGa2mGaEkqGVhl8TYY78fGcOVN8UaNymIZYkO4OM1GnTAljez6+/uBLbKXO6zKk0cs7yOPPMLZZ58NwEMPPZRL1iy8971h4dULLrgACA7LYrn7+/tL1xYb/k2YMKHk7KlTDf+aTadc56gxJDSzo1PCvprYjd0KHlmUDI7jOCONvC0OSScAXyEMJ1xjZpeXHd8W+B6wG0E3XGFm36oqSy5Jmkw1Y0PHcRwnkHcxRUndwFXAicC+wBmS9i2L9gFgReTg72jgX6Jeoop0hAKhurGh4ziOE5FzFtZhwEoze9TMNhFmxZ5cFseAiZFLjW2ANUB/tUTbrkAqGRs6juM4Q6nSApkq6d7E77yyU3cFnkrsr4rCknwdeB3BF/oy4AIzG6QK7V6NFyoYGyYjuCGh4zhOoEKX1Wozm1PltLRZAOUzXf6SYJN3LPAa4BeSflVtklPbWyBUNzYE3JDQcRwHGloLaxVh5Y+Y6YSWRpL3Aj+xwEqC2UXVcem2tkCqGBteZJ2yAL/jOE4HkXMW1j3AXpJmAU8ThgvOLIvzJPAXwK8k7QjsAzxaVZY8kjSRSsaGb26zXI7jOB1JnllYZtYPnA/cCjwI/MjMlkuaJ2leFO0zwJskLQP+H/BxM1tdLd12j4FUMzb05d0dx3ESNGJIaGYLgYVlYfMT288QVkbPTLs9Eh6dEvbVlKijng0bNpTcmCbdlzaTuNcw6W62GZbVaQwODrJp06Yh+Q4MDDTsIrY8jzjdOI+enp6G046tzx955BHuuOMOILhoBRg/fnzJ9XBvby/jx48v5Qtbu9dNc+sby/3cc89xyimnALDPPvuw9957A7D99tuX3MvGrocHBwdL15Xm8rjSNZsZ22yzDRAs0OPzk5Sn0Uj5JZ+x8nQ6xdq70xkta2EhaUdJ10l6VNJiSb+RdGpZnEWSxkm6UtLhRcrjOI4znMlrSFgUheUcGaPcAPzSzPYws0MIAzfTE3H6gAEz2wAcCiwuSh7HcZyRQCct516k6joW2FTWx/aEmX0NQNLtBGOV2dGgzf7APZLmFiiT4zjOsKXTWiBFjoHsB9xX6aCZHSPpIuAR4E/A28zsY2lx3ZDQcRwnMGrGQJJIukrS/ZLuSQRn8krohoSO4zgNGRIWQpEtkOXAO+MdM/uApKnAvZLOJcxJ3pOw9spuwHOS5prZWQXK5DiOM6wZLS2Q24Bxkv4uETYewMyuIcw3vs3MDiSsEvk6Vx6O4ziVGTVjIGZmkk4BvhyNdbwArAM+HkU5ErhT0gzgiaLkcBzHGUmMCo+EAGb2LBWWaDez/0zsvqtIOUYCL7/8csngq9y9LWztqrWaK9ryY0njrvg/NlDr6+tLzaNRurq6SgZ3RRgqJhkcHCwZ5yXTTzOMy5J/nNYf/vAH5s2bVyN2c7jiiitKrn8nTZpUuv8bN24sydTX1wcEl7Nx3FqGmcn7n7Xs04wAs54Xl93g4OBWX87NcDc80olbIJ1CWyXJYmjoOI7jbKGTurAy5SzpcEn3SHpF0iZJA5IqrhGfMc2ahoaO4zjOFobrLKyvE17uPwbmAOcQZlA1QqqhIfC1BtN1HMcZsQzLLqzIwUi3mQ2Y2beAYxrMu6qhYRJJ58WuGl944YUGs3UcxxmeNNICkXSCpIclrZR0cYU4R0taImm5pDtqpZm1BfKqpDHAEkn/DDwLTMh4biYkXUXwA7LJzA5NHjOzq4GrAebMmeOOphzHGbXkaYFI6gauAo4neCe8R9KNZrYiEWcy8A3gBDN7UtIONWXJmP97CN4CzydMxZ1BwkgwJ8uBg+MdM/sAwRuWm5o7juOk0IAdyGEEe7tHzWwTwX34yWVxziS4tH0SwMyer5VoppyjRRDXm9laM/uUmX046tJqhIqGho7jOE46Fbqwpsbd/NHvvLLTdgWeSuyvisKS7A1sF7nYWCzpnFqyZOrCkvR2grvD3aNzRLAVnJTl/DQyGBo6juM4CarYgaw2sznVTk0JKx8O6AEOIfQE9QG/kXSXmf2+UqJZx0CuBN4BLLNyq7QGqGZo6Axlp512Kg2WFWVwlby1sSFhLaPELKTJmDRgq+e8rJhZyePhSy+9xKpVqwBYv3596dri8uzr6yt5+IvPrSSHpJIx3Lbbbsv1118PwA477FBKM/ZYCFu8/MWGfZW8SVa61jivKVOmlAwFk14ik7LmNfiM86glSxr1xE3KWu7p0slOzllYqwhDDzHTgWdS4qw2s3XAOkm/BF4PVFQgWSV5Cnggj/KIbEaWJH4zy467R0LHcZwMNDAL6x5gL0mzoglRpwM3lsX5v8BbJPVIGg+8AXiwWqJZWyAXAQujaV0b40Az+1KGc9dHCyZuRdIjoaRDgVR/II7jOE4gTwvEzPolnQ/cSpgQda2ZLZc0Lzo+38welHQLsBQYBK4xsweqpZtVgXwOeAUYB4ypW/oUIo+EM4CJkUfC3QlTyy41s4XNyMNxHGekkdeQMHqvLiwLm1+2/0Xgi1nTzKpAppjZW7MmWkafpCXR9mNmdirU55HQcRzH2dKF1SlkVSD/LemtZvbzHHlU7MIieCS8HphLFY+E7tLWcRwn0ElLmWRVIB8ALpK0CdgcheWexluvR0K3RHccx+m85dwzKRAzm9jMTM3sGkk3EgZpTpJ0t5kd1sw8HMdxRiLDsQsLSScRvAgCLDKzmxrM2z0SOo7j1MGwbIFIuhw4FPh+FHSBpDebWeqKjknMbJsK4e6RsA56enoKN7xKppt8SOv12JeFdevWsXTpUoAh3hXTjOG6urrq8pYHwRByzZo1ANx1111cccUVQPDs2Ez22GMPAD7ykY8AYYwuNkocM2YM48eH1Xl23HFHIBgtVvKKWH5/BwcHS8aQyRdHWtzy8qnHZKua18JmP2tJudyAMB/DToEQBrkPNLNBAEnfAX4H1FQgWZA0ACxLBJ1iZo83I23HcZyRwnCdhQUwGVgTbW/bZDmqzdRyHMdxIoZjC+TzwO8i4z8Rxi8uKUwqx3EcZyuG3RiIpC6CWfvhhHEQAR83sz82UY5UY0PHcRxnKMOqC8vMBiWdb2Y/YuvFt5pF1S4sNyR0HMfpvBZIVkl+IemjkmZImhL/CpUsgZldbWZzzGzOtGnusNBxnNFLTo+EhZB1DORvo/8PJMIM2KO54jiO4ziV6LRZWFld2s5K+bnycBzHaTF5WyCSTpD0sKSVkiqaYEg6NPLjdFqtNOuxRH8TMDN5jpl9N+v51ahkbOhsYXBwsKJxX7MZGBjg1VdfBYIBY/zFk/Qil7fZHHu/e+ihhzjiiCOaIG19nHPOORx99NEA7LXXXgBMnjyZnp7wWNfhoAczK5XHdtttB0Bvb++QsonTjf/r8RY4ODjIhg0bSnklZSw3/qvXC2Fa3LTrbrbhX9L7YTUDRqcyeeqepG7gKuB4gufBeyTdaGYrUuJ9geA3pCZZLdH/A3gNYcXcgSjYgKYoEMdxHKc2DXRhHQasNLNHo3QWACcDK8rifZCwQvqhWRLN2gKZA+zbTH/oMSlW6AvM7PJm5+M4jjMSqNACmSrp3sT+1dEq5jG7ElyTx6wiuKwtIWlX4FTgWJqsQB4AdgKezRi/HtwK3XEcJwNVpvGuNrM51U5NCStvEFxJsPEbyNqtWFWBSPqvKJOJwApJdzPUJ/pJmXJxHMdxmkLOLqxVBBfiMdOBZ8rizAEWRMpjKjBXUr+Z3VAp0VotkBuBHYFflYUfBTxdW+ZMJK3QAS4zsx8mI7ghoeM4TkOGhPcAe0maRXh3nw6cmYxgZrMS+XwbuKma8oDaCuRk4FIzW5oMlLQO+ATwzYzCV6NmF5Z7JHQcxwnkUSBm1i/pfMLsqm7gWjNbLmledHx+HllqKZCZ5cojyuxeSTPzZOg4juPkoxFDQjNbCCwsC0tVHGb2N1nSrKVAxlU51pclA8dxHKd5dNJaWLUUyD2S3m9m/54MlPQ+YHGTZCgfA7kli6fD0Ub5DOp4vwgjrD//+c9cd911AGy//fbE649NnDix5G2vkvfCWsSGZC+++CKXXXYZALNnzy7lFXvwGzduXCmvvF9c/f39AGzcuJGBgWC+NHXqVCZOnFjKI04/TzkODAyU8kjzFhjvJ/8hu7dASfT19ZXSr5RHefr1YGap8hTxXJlZqbyaeQ2jiU5bTLGWArkQ+Kmks9iiMOYAYwjzhRvGzDpnYRfHcZwOp5PWwqqqQMzsOeBNko4BZkfBPzOz22olnDAQ7AX6ge8AV8ZucRPxFgEnAJcTjAjvqvciHMdxRgPDrQUCgJndDtxeZ9ql2VWSdgCuI7jC/UQcQVIfMGBmGyQdCnyszjwcx3FGFZ2kQFoiiZk9T7DjOF9RR2fkHncZMFvSMmB/wpjL3FbI5DiOM9yIZ2GV/9pF5tV4G8XMHo3c4+4APGdmx0i6CHgE+BPwNjNLbYG4IaHjOE5g1LVAEpRPsziIsMLv/tF/Ku6R0HEcZ8sYyHDzSNgwkvYgLAX/vKRzgfOBPYHXAbsBz0maa2ZntUomx3Gc4cawmYXVLCRNA+YDX4+WhL9G0o3ANWZ2kqS7zeywVsjiOI4zXBmWs7ByEhsIxtN4/wP4UuL4kcCdkmYATxQoh+M4zohhVCiQWgaCZvafid13FSXHSGHz5s0la+pkv2eaW9BGLXrXrl3LJZdcUtouilmzwuKfX/7yl4HgWnbKlCkATJgwgbFjxwLhGsstumtdo5mVyqu/v79kbT1mzJimuVIdGBhg/fr1AEPc/qa5Hk7Ls5JFehyetNzu6enJfO31IClVjqJWOojTTbpobpWr5pFAI2thFUHLxkDSyGps6DiO4wQ6qQXSbknWm9mBZrYfwdn7XBKGho7jOM5Q8s7CknSCpIclrZS01XqDks6StDT6/VrS62vKkkP+QkgzNnQcx3G2kNeQUFI3cBVwIrAvcIakfcuiPQYcZWYHAJ8h8sFUjY5RIBCMDQky7ZAMl3SepHsl3fvCCy+0RzjHcZwOIGcL5DBgpZk9amabgAUEh4ElzOzXZvZitHsXwe1tdVnqlL0VbNX6cENCx3GcqoaEU+OP7Oh3XtmpuwJPJfZXRWGVeB9wcy152jqIXk7S2LDdsjiO43QiFbqsVpvZnCqnpQ0LpE4DjFZffx/w5lqydIwCSTE2dBzHcRI0YEi4CpiR2J8OPJOS/gHANcCJZvanWom2W4HUMjZ0HMdxEuS0A7kH2EvSLOBp4HTgzGQESbsBPwHeY2a/z5JoWxWIeyPMzi233FIywho7dmzJHeuYMWOAMLAWP1i9vb2pD1ktQ7Q4/U2bNjF//nwApk+fXsqjt7e3tB0b+ZXnU20CnZmVjpsZPT3h8Zs6depWcqe5PK2H5JdaV1dXySBv8+bNVY0vK+WbFtbT08OECRNKeaTFa8T4b3BwcIiRX9LAsDz9ZNnWg5mV3AzXMkZtxuTIDRs2APDMM8+U8k0afMbbzViyI6ur3kodHvEzs2nTJjZu3AjA8ccf35BMjZK3XMysX9L5wK1AN3CtmS2XNC86Ph/4J2B74BtROfXX6BYrXoFI2gm4EjgU2Ag8DlwYazhJPwAuAU4B/mhmC4qWyXEcZ7iSV7Ga2UJgYVnY/MT2ucC5dcmSS5KMRPYcPwUWmdlrzGxf4FJgx0S0WWb2OHAU8Ksi5XEcxxnOjDaHUscAm8u03BIASd8n+APZORoH2Qv4maSvm9k1BcvlOI4zLOmkpUyKViCzgcVpB8zsLEl/TZgZcD3wRTNLXVTRPRI6juN03nLu7ZbEPRI6juPUwWjqwloOnFYeKGku8HlgFvB2YBqwTtJxZnZMwTI5juMMS0ZbC+Q2YKyk98cBkg4F1gGHAA+Y2f4ERXOQKw/HcZzqdJJP9EJzjizKTwWOl/SIpOXAJwkWkAcB90saA/SaWXGeixzHcUYAo20WFmb2DPDXFQ7fG/0fWbQcw513vvOdbcn3hhtuYL/99gOCx8DYgDE2AkwaMCY9B9Yi6TGwkhFetRVt6vFIuHbtWtasWQMEA8jYGDKZRnwNPT09Q7wLll9XFgPHZnmHHBwcLBmwdXd309vbmypPI6xevZoFC4LpVXxv+/r6SgaSkyZNYvz48QCl/CsZqtZicHCQ22+/HYALL7ywIbnbRSessjSaurBqImknSQuiFsoKSQsl7d1uuRzHcTqRTurCardL29jQ8DtmdnoUdiDB0DDTWiyO4zijBfeJPpSKhoaO4zjOUDptFla7FUhFQ8MkbkjoOI4T6CQF0jmSVMENCR3HcTpvFla7Fchygj2I4ziOk4G8g+iSTpD0sKSVki5OOS5JX42OL5V0cE1ZcsjfTFINDSUd1UaZHMdxOpY8CkRSN3AVcCKwL3CGpH3Lop1IWNR2L8KQwb/WlKVe4ZtJDUNDx3EcJ0EDXViHASvN7FEz2wQsAE4ui3My8F0L3AVMlrRztUTbPYhey9BwKxYvXrxa0jpgdXFSZWYqI1yOU045pSPkqBOXYygux1Byy9GA4ebueU9Msnjx4lu7urqmphwaJ+nexP7VZnZ1Yn9X4KnE/irgDWVppMXZFXi2kjxtVyD1YmbTJN1by9ViK3A5XA6Xw+VoJWZ2Qs5T0zRfuVl9ljhDaPcYiOM4jlM8qwi+l2Kms/VQQZY4Q3AF4jiOM/K5B9hL0qxoAdvTgRvL4twInBPNxjoceNnMKnZfwTDswoq4unaUluByDMXlGIrLMRSXo02YWb+k84FbgW7gWjNbLmledHw+sBCYC6wEXgXeWytddcLqko7jOM7ww7uwHMdxnFy4AnEcx3Fy0dEKpAjT+4LkOFrSy5KWRL9/KkCGayU9L+mBCsdbVRa15Ci8LKJ8Zki6XdKDkpZLuiAlTuFlklGOVjwf4yTdLen+SI5PpcRpRXlkkaNVz0i3pN9JuinlWEvqy4jHzDryRxjoeQTYAxgD3A/sWxZnLnAzYf7y4cBv2yTH0cBNBZfHkcDBBD/yaccLL4uMchReFlE+OwMHR9sTCf5j2vF8ZJGjFc+HgG2i7V7gt8DhbSiPLHK06hn5MHBdWl6tqi8j/dfJLZBCTO8LkqNwzOyXwJoqUVpRFlnkaAlm9qyZ3Rdt/xl4kGA1m6TwMskoR+FE1/hKtNsb/cpnyLSiPLLIUTiSpgNvA66pEKUl9WWk08kKpJJZfb1xWiEHwBujZvvNkvZrsgxZaEVZZKWlZSFpJnAQ4Ws3SUvLpIoc0IIyibpslgDPA78ws7aURwY5oPjyuBK4CBiscLyT6suwpZMVSCGm9wXJcR+wu5m9HvgacEOTZchCK8oiCy0tC0nbANcDF5rZ2vLDKacUUiY15GhJmZjZgJkdSLAgPkzS7HIx005rgxyFloektwPPm1k1Z3WdUl+GNZ2sQAoxvS9CDjNbGzfbzWwh0CspbcGzImlFWdSklWUhqZfw0v6+mf0kJUpLyqSWHK1+PszsJWARUL5uUkufkUpytKA8jgBOkvQ4ocv5WEnfK4vTEfVluNPJCqQQ0/si5JC0kxSW6ZR0GKFc/9RkOWrRirKoSavKIsrjm8CDZvalCtEKL5MscrSiTCRNkzQ52u4DjgMeKovWivKoKUfR5WFml5jZdDObSaivt5nZ2WXROqK+DHc6dikTK8j0viA5TgP+TlI/sB443cya2hyW9APC7JWpklYBnyAMULasLDLKUXhZRBwBvAdYFvW3A1wK7JaQpRVlkkWOVpTJzsB3FBwHdQE/MrObWl1fMsrRqmdkCG0oixGPL2XiOI7j5KKTu7Acx3GcDsYViOM4jpMLVyCO4zhOLlyBOI7jOLlwBeI4juPkwhWI03Ikba8tK7H+UdLT0fYrkr5RUJ4XSjqniLTzIOnxasZzkhZI2quVMjlOvfg0XqetSPok8IqZXVFgHj2E5TMONrP+ovKph8hKeo6Zra5w/CjgbDN7f0sFc5w68BaI0zEo+Im4Kdr+pKTvSPp59LX+Dkn/LGmZpFui5UOQdIikOyQtlnSr0ldUPRa4L1Yekj4kaYWCH4gFUdgEBV8n9yj4kDg5Cu+WdEWU71JJH4zC/yKKtyw6b2wU/rikT0m6Lzr22ih8++hafifp34jWYory/ZnCwoIPSHp3JPOvgOMi5ec4HYkrEKeTeQ1hSe6Tge8Bt5vZ/gTr5bdFSuRrwGlmdghwLfC5lHSOAJIL610MHGRmBwDzorB/ICx5cShwDPBFSROA84BZifjflzQO+Dbw7kieHuDvEumvNrODgX8FPhqFfQK408wOIiyjsVsUfgLwjJm93sxmA7cAmNkgwUr69fUUmOO0ElcgTidzs5ltBpYRlpG5JQpfBswE9gFmA7+IlhH5R8KieOXsDLyQ2F9KUARnA3GX1luBi6N0FgHjCC/544D5cevFzNZE+T5mZr+Pzv0OwdFWTLyg4uJITqLj34vS+BnwYuJajpP0BUlvMbOXE+k8D+ySWjKO0wF489jpZDZC+BqXtDmxXtIg4dkVsNzM3lgjnfUEhRDzNsIL/STg/yj4oxDwTjN7OHlitOhfFjcCW8kNDDC0jm014Ghmv5d0CGFdpssk/dzMPh0dHhfJ7jgdibdAnOHMw8A0SW+EsKy60p0TPQjsGcXpAmaY2e0Eh0OTgW0Ii2V+MLFK7EHRuT8H5sVjEZKmEFaXnSlpzyjOe4A7asj6S+CsKI0Tge2i7V2AV83se8AVBHfBMXsDy2sXg+O0B1cgzrDFgovh04AvSLofWAK8KSXqzWzpYuoGvidpGfA74MuR34rPEFYVXirpgWgfgkvUJ6Pw+4EzzWwDYfXWH0fpDALza4j7KeBISfcRusuejML3B+6Ous7+AfgsgKQdgfW+xLjTyfg0XmdUIOmnwEVm9od2y5IFSX8PrDWzb7ZbFsephLdAnNHCxYTB9OHCS4TBecfpWLwF4jiO4+TCWyCO4zhOLlyBOI7jOLlwBeI4juPkwhWI4ziOkwtXII7jOE4u/gfX7DQAgXOONQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "@jit(nopython=True)\n", "def normalize_feature_sequence(X, norm='2', threshold=0.0001, v=None):\n", " \"\"\"Normalizes the columns of a feature sequence\n", "\n", " Notebook: C3/C3S1_FeatureNormalization.ipynb\n", "\n", " Args:\n", " X (np.ndarray): Feature sequence\n", " norm (str): The norm to be applied. '1', '2', 'max' or 'z' (Default value = '2')\n", " threshold (float): An threshold below which the vector ``v`` used instead of normalization\n", " (Default value = 0.0001)\n", " v (float): Used instead of normalization below ``threshold``. If None, uses unit vector for given norm\n", " (Default value = None)\n", "\n", " Returns:\n", " X_norm (np.ndarray): Normalized feature sequence\n", " \"\"\"\n", " assert norm in ['1', '2', 'max', 'z']\n", "\n", " K, N = X.shape\n", " X_norm = np.zeros((K, N))\n", "\n", " if norm == '1':\n", " if v is None:\n", " v = np.ones(K, dtype=np.float64) / K\n", " for n in range(N):\n", " s = np.sum(np.abs(X[:, n]))\n", " if s > threshold:\n", " X_norm[:, n] = X[:, n] / s\n", " else:\n", " X_norm[:, n] = v\n", "\n", " if norm == '2':\n", " if v is None:\n", " v = np.ones(K, dtype=np.float64) / np.sqrt(K)\n", " for n in range(N):\n", " s = np.sqrt(np.sum(X[:, n] ** 2))\n", " if s > threshold:\n", " X_norm[:, n] = X[:, n] / s\n", " else:\n", " X_norm[:, n] = v\n", "\n", " if norm == 'max':\n", " if v is None:\n", " v = np.ones(K, dtype=np.float64)\n", " for n in range(N):\n", " s = np.max(np.abs(X[:, n]))\n", " if s > threshold:\n", " X_norm[:, n] = X[:, n] / s\n", " else:\n", " X_norm[:, n] = v\n", "\n", " if norm == 'z':\n", " if v is None:\n", " v = np.zeros(K, dtype=np.float64)\n", " for n in range(N):\n", " mu = np.sum(X[:, n]) / K\n", " sigma = np.sqrt(np.sum((X[:, n] - mu) ** 2) / (K - 1))\n", " if sigma > threshold:\n", " X_norm[:, n] = (X[:, n] - mu) / sigma\n", " else:\n", " X_norm[:, n] = v\n", "\n", " return X_norm\n", "\n", "fn_wav = os.path.join('..', 'data', 'C3', 'FMP_C3_F08_C-major-scale_pause.wav')\n", "Fs = 22050\n", "x, Fs = librosa.load(fn_wav, Fs)\n", "\n", "N, H = 4096, 512\n", "C = librosa.feature.chroma_stft(y=x, sr=Fs, tuning=0, norm=None, hop_length=H, n_fft=N)\n", "C = C / C.max()\n", "\n", "figsize=(6, 2.5)\n", "libfmp.b.plot_chromagram(C, Fs=Fs/H, figsize=figsize, title='Original chromagram')\n", "\n", "threshold = 0.000001\n", "C_norm = normalize_feature_sequence(C, norm='2', threshold=threshold)\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, \n", " title = r'Normalized chromgram ($\\ell^2$-norm, $\\varepsilon=%f$)' % threshold)\n", "\n", "threshold = 0.01\n", "C_norm = normalize_feature_sequence(C, norm='2', threshold=threshold)\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, \n", " title = r'Normalized chromgram ($\\ell^2$-norm, $\\varepsilon=%0.2f$)' % threshold)\n", "\n", "threshold = 0.01\n", "C_norm = normalize_feature_sequence(C, norm='1', threshold=threshold)\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, \n", " title = r'Normalized chromgram ($\\ell^1$-norm, $\\varepsilon=%0.2f$)' % threshold)\n", "\n", "threshold = 0.01\n", "C_norm = normalize_feature_sequence(C, norm='max', threshold=threshold)\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, \n", " title = r'Normalized chromgram (maximum norm, $\\varepsilon=%0.2f$)' % threshold)\n", "\n", "threshold = 0.01\n", "v = np.zeros(C.shape[0])\n", "C_norm = normalize_feature_sequence(C, norm='max', threshold=threshold, v=v)\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, \n", " title = r'Normalized chromgram (maximum norm, $v$ is zero vector)');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Normalization by Mean and Variance\n", "\n", "Motivated by statistics, one can introduce for a feature $x=(x(1),x(2),\\ldots,x(K))^\\top \\in\\mathbb{R}^K$ its **mean** $\\mu(x)$ and **variance** $\\sigma(x)$, which are defined by\n", "\n", "\\begin{eqnarray}\n", "\\mu(x) &=& \\frac{1}{K} \\sum_{k=1}^K x_k,\\\\\n", "\\sigma(x) &=& \\left(\\frac{1}{K-1} \\sum_{k=1}^K \\big(x_k-\\mu(x)\\big)^2\\right)^{1/2}.\n", "\\end{eqnarray}\n", "\n", "Based on these statistics, one can normalize a feature vector by considering its **standard score** $z(x)$, which is calculated as \n", "\n", "$$\n", " z(x) = \\frac{x-\\mu(x)}{\\sigma(x)}.\n", "$$\n", "\n", "We demonstrate the effect of this normalization by continuing our example above. Again, we introduce a threshold parameter to avoid division by zero. Note that, even when starting with a features vector with entirely nonnegative coefficients, the standard score may have some negative coefficients. In the following visualization, we use a colormap that highlights positive and negative values." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:51:20.603218Z", "iopub.status.busy": "2024-02-15T08:51:20.603008Z", "iopub.status.idle": "2024-02-15T08:51:21.529657Z", "shell.execute_reply": "2024-02-15T08:51:21.529087Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "@jit(nopython=True)\n", "def normalize_feature_sequence_z(X, threshold=0.0001, v=None):\n", " K, N = X.shape\n", " X_norm = np.zeros((K, N))\n", " \n", " if v is None:\n", " v = np.zeros(K)\n", " \n", " for n in range(N):\n", " mu = np.sum(X[:, n]) / K\n", " sigma = np.sqrt(np.sum((X[:, n] - mu) ** 2) / (K - 1))\n", " if sigma > threshold:\n", " X_norm[:, n] = (X[:, n] - mu) / sigma\n", " else:\n", " X_norm[:, n] = v \n", " \n", " return X_norm\n", "\n", "\n", "threshold = 0.0000001\n", "C_norm = normalize_feature_sequence_z(C, threshold=threshold)\n", "m = np.max(np.abs(C_norm))\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, cmap='seismic', clim=[-m, m],\n", " title = r'Normalized chromgram (standard score, $\\varepsilon=%0.7f$)' % threshold)\n", "\n", "threshold = 0.01\n", "C_norm = normalize_feature_sequence_z(C, threshold=threshold)\n", "m = np.max(np.abs(C_norm))\n", "libfmp.b.plot_chromagram(C_norm, Fs=Fs/H, figsize=figsize, cmap='seismic', clim=[-m, m],\n", " title = r'Normalized chromgram (standard score, $\\varepsilon=%0.2f$)' % threshold);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Acknowledgment: This notebook was created by Meinard Müller.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\"C0\"\"C1\"\"C2\"\"C3\"\"C4\"\"C5\"\"C6\"\"C7\"\"C8\"
" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.16" } }, "nbformat": 4, "nbformat_minor": 1 }