{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ThinkDSP\n", "\n", "This notebook contains solutions to exercises in Chapter 3: Non-periodic signals\n", "\n", "Copyright 2015 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Get thinkdsp.py\n", "\n", "import os\n", "\n", "if not os.path.exists('thinkdsp.py'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/thinkdsp.py" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from thinkdsp import decorate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 1\n", "\n", "Run and listen to the examples in chap03.ipynb. In the leakage example, try replacing the Hamming window with one of the other windows provided by NumPy, and see what effect they have on leakage. \n", "\n", "See http://docs.scipy.org/doc/numpy/reference/routines.window.html\n", "\n", "\n", "### Solution\n", "\n", "Here's the leakage example:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from thinkdsp import SinSignal\n", "\n", "signal = SinSignal(freq=440)\n", "duration = signal.period * 30.25\n", "wave = signal.make_wave(duration)\n", "spectrum = wave.make_spectrum()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum.plot(high=880)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following figure shows the effect of 4 different windows." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "for window_func in [np.bartlett, np.blackman, np.hamming, np.hanning]:\n", " wave = signal.make_wave(duration)\n", " wave.ys *= window_func(len(wave.ys))\n", "\n", " spectrum = wave.make_spectrum()\n", " spectrum.plot(high=880, label=window_func.__name__)\n", "\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All four do a good job of reducing leakage. The Bartlett filter leaves some residual \"ringing\". The Hamming filter dissipates the least amount of energy. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 2\n", "\n", "Write a class called `SawtoothChirp` that extends `Chirp` and overrides evaluate to generate a sawtooth waveform with frequency that increases (or decreases) linearly." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from thinkdsp import Chirp\n", "from thinkdsp import normalize, unbias\n", "\n", "PI2 = 2 * np.pi\n", "\n", "class SawtoothChirp(Chirp):\n", " \"\"\"Represents a sawtooth signal with varying frequency.\"\"\"\n", "\n", " def evaluate(self, ts):\n", " \"\"\"Helper function that evaluates the signal.\n", "\n", " ts: float array of times\n", " \"\"\"\n", " freqs = np.linspace(self.start, self.end, len(ts))\n", " dts = np.diff(ts, prepend=0)\n", " dphis = PI2 * freqs * dts\n", " phases = np.cumsum(dphis)\n", " cycles = phases / PI2\n", " frac, _ = np.modf(cycles)\n", " ys = normalize(unbias(frac), self.amp)\n", " return ys" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what it sounds like." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal = SawtoothChirp(start=220, end=880)\n", "wave = signal.make_wave(duration=1, framerate=4000)\n", "wave.apodize()\n", "wave.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's the spectrogram." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOy9eZhlZXW3fa99php6HukB6AYaZJBZRUUFRzTOMSoxEZWIGo36mnxxePOpn8TEDM6JRIzE4Y2iETVEUUAioH6itIAigjI10NB0Q8/dVXWGvdf7R53SsqlTdX4rVdXV5XNfFxfVu9Y+a9eZ9rOetdZvmbuTSCQSicRMI9vfF5BIJBKJxFikG1QikUgkZiTpBpVIJBKJGUm6QSUSiURiRpJuUIlEIpGYkaQbVCKRSCRmJFN2gzKzg83su2Z2q5ndYmZvaR9fZGZXmtnt7f8vbB83M/uYmd1hZj8zs5NHPdY5bfvbzeycqbrmRCKRSMwcbKr6oMxsBbDC3W8ws7nAT4AXAq8Ctrn7B8zsHcBCd3+7mT0H+DPgOcDjgI+6++PMbBGwHjgV8PbjnOLu26fkwhOJRCIxI5iyCMrdN7n7De2fdwO3AquAFwCfbZt9luGbFu3jn/NhrgMWtG9yzwKudPdt7ZvSlcBZU3XdiUQikZgZlKfDiZmtAU4CfgQsd/dNMHwTM7NlbbNVwH2jTtvYPtbp+Fh+zgPOA+jvK59y5BELur/IUq17W8CGdkj2APQt1ewHHpJdeO9C8YRC9gGmmTf36C6yinyKlfsle0f/223rRsm+WLhsYqN9fVhJsw88V1601DNkH/L7BPCiqXnYsk32wZK5mn1Fe18BoO5MNXbpPmrzxRP018MCMYy7+t6CG2+8/2F3f8QX5JTfoMxsDnAJ8FZ332XW8Uka6xc+zvFHHnS/ELgQ4OQTlvo1V7yo++ucu7ZrW4DKr74h2QNkx79Osi9u+oTso3XsyzQfLf3mYVmPZr/pB7KPol//Yq8ufoxknxdDuo/P/YVkP/CSV8o+rKJ9gdZ6xlyvjUujvlmyj3zpmOlfL8XgJsm+8rEv6j7Ofap2wvLTZB/qAqB09+Wyj+Lw35PsI69HSfysAzQbD8vnzO1/1z1jHZ/SKj4zqzB8c/p3d/9q+/Dm9tbdSJ5qS/v4RuDgUaevBh4Y53gikUgkZjFTFkHZcKj0aeBWd//QqF9dCpwDfKD9//8cdfxNZnYxw0USO9tbgJcDfzNS7Qc8E3jnhBdQqkDfQV1fr+++u2tbgHzOIskewMRVqFd7ZR/cf41kXj74WbILv/u/JPvSwE7ZR2vVU+Rz6gPaa5iVxa0eID/5JMm+eu91sg8/+mzJvtHYKvvIynMk+3z7zbIPn3PwxEb7UNqrRXZZfyAK/sFlkv3QiwMRVGu3ZN9aeIjsoyxGN3lTT0vkuZ5mmEymcovvicAfAzeb2U3tY+9i+Mb0ZTM7F7gX+IP27y5juILvDmAAeDWAu28zs/OB69t273P3wMZzIpFIJA4kpuwG5e7fp3NW7mlj2Dvwxg6PdRFwkeLfrEq1t/sVXENMNNsibSUNMLTz59oJK3UfpR13SfatwH5xz6Y7JXvv1VbrEMuNqcUYXg8UuohkQ3vlc1pipK3mbQCq84/TfDT1v4NA/qLn5msl++ZZ+mfEr/uRZB96Lw5pnytbcLTsoth0tWTvC4+SfURyj6GiqA5MSxXf/sAptCT4LnGLz28XrwhpyxGgtGvMvOG4eM88yT6SYPeatvVY9OhVUNWa9lwBtMRtKzbr22/NZYdL9rU718s+8p23SvZZ4AuhXrtfsvd5h8o+KurrAfgmbXPEVjRkHza3Ktl7U9uuA7CeJZJ9ZJFhvYsl+6wqVvgG8crk+UlSR4lEIpGYkczaCApcC0/naWXmke2LTEw0F4H+i0zcinHPZR/FPHF1OEdb6QEU22+Uz7E52mtYzNGjR8QtD2tpfT0AXhLfW+JqHcDrohBLWX+/h8i0Xp3sxD+VXfj290r25S3i1jxQHHymZK+kI6Ko/XVR5FTGOKQIKpFIJBIzktkbQbnjuZCD2nPfxDajHz4LPHUVcU9e7vbXaTz0Q/kcP+h4yd6U16FNz2K9tHfooe9rPu67aWKjfchPeLVk31qq+8jEBDs9okIJevLbBvViGtugvR4ANr9Psh/YoT+/vWWtIKp2ux7Ntw7rXiQAoL5LyzsCmFjkEynEsMD3XPnh2+RzOpEiqEQikUjMSGZtBOVFk2Ko+yaz8m6tiqZY9WT1kijqWtNbqXeF7mOXVl0YiQRLe7QKsGxAL+du7NbFQnzJMZJ96TZ9r7xxjPa3FKtPlX2oK9B87qDso9an5evyHv29WP7Ff8vntNYeKdlHovPm498k2Vcu+EvdxwlXS/alpfr7RM4eB6S98MAtokdvgO9EiqASiUQiMSOZtREUlkmVR4XYPxSh8uBPJfvmSv3lUXtiyrs0aRmA0jpNkLY+sEH2wR5NNRwgU/vG+nUpKc+1aEXNEwBU7/+VZD+46vGyj1Y+ec2UHbldy+sCNF6hzSNVXw8Af1DLjWXzp2Zm3mhCzcBqHjEi3itKNgEQqY7twKy9QZmZ9IKYWJBQrS1XL4liSHwTBhowrTEg2bcWa42nAE21jDSwjVjZfq98TmvxYZJ9/dFPkH1YSbup2aJH6z52aVqHaoEPgM9bJ58jo3cwyA3zVPVm4Lxf/OzO19s9en+qbW/Wn6EXBbXUm3PgBhUhCxTtdHysSXukRCKRSCQmkVkbQWEVykpid0DT56oPaYUCAOWyJrFiVWHgYhtfrjX89dz0ednH4NHaQOOspq+oylv157e58mTthIV6dIOYlI9sq/g8bRCdOssMdGmd0i49orWDAlJH/ZrEVU//EbIP9bM7dMrTZR+qpmClrA4fhLykbR+XAtJTlYr+HdQINNl3IkVQiUQikZiRzN4ISiSfI8rFTMN+rgdyUHID5p7AqGmRiBCmV2ryOX03fnVio1EMHP8c2UfWp0WorT1iTgWw5Wu0E3boTZ7UtJVx7Va9obu19lHyOSUx2m629FljqvirnLMCaGgitnVxwjEAA2JrTCCCygNiAdmgPp+s42NN2iMlEolEIjGJzOIIShOLLdRxAoGoQCYwi6Uiik56j15qXRajiEgJbfMgPbdQu0Krfus/83Gyj3pDHAchzucCyOdpK/ZCjIYAMlUmZ7teLt88Qa8QVZvZIzk+VbZJzYtFUP9ugPJOrXqzpYoQQ0gkWB0DMh4pgkokEonEjGTWRlBmJakyptilDa+rrnjEUOAJqYtisaXAgLFcFH8tZ/oapRAr2UqBSqDWYk22CKA4Was0q+/Voxt1wGO9f5nsQ+0bq94fEL09ShMz9Z1fkn2UluoNxMVuTarLIkK54mid3l59WKMv0D675Yf1PGLRNw0DCAM5qJCQdgdm7Q3KizpDe+/o3l7sfm5svlq8IigNaDN4/OCnyj4y0cfQkU+RfZi49ZgHtvjUZDlA/ejnSfaRqb1qUr68SB9Jrj5flfu+JvtorNa2hyIl4829eoFIJupPekBfrlzVCqJauT7uvrpHK8Qo7dG2jgGKlVqjeRZRkhjQm8BV0YPxSFt8iUQikZiRTFkEZWYXAc8Ftrj7ce1jXwKOapssAHa4+4lmtga4Ffhl+3fXufvr2+ecAnwG6AUuA97i7hOLY+VNGHiw++sV7/rZksdI9qCXHJuoTA5gatjf0legvltcGffpkUoeKM9WZ0gpEfYImbjtqpb9A2SRZLZI//e0Bu181RrdSWCrx8XXvbZIVwFviCXdkdfQ1mpb1OXv//+yj/yYl8vnyAQmKkxmC85UbvF9Bvgn4HMjB9z91yqjZvZBYPR+yZ3ufuIYj3MBcB5wHcM3qLOAb03B9SYSiURiBjFlNyh3v7YdGT0CMzPgpcC4SRYzWwHMc/cftv/9OeCFdHWDcinBVxYjonyzPi0UsfzSAyvp8tY7JfvWQj0BrEZEkuRUG9+sy6UU990g2VePP1f20ah3H5WDnu8APXdTWqWJ5AKUf6Y9V/Un6CX5qrAugDU1FftIfkgt2mkGpt3m88TimK3aJGGAllpQEpBOC312AxFnJ/ZXDupJwGZ3H/0MrzWzG83sGjN7UvvYKmD0O3Zj+9iYmNl5ZrbezNY/vDUwnCuRSCQSM4b9VcV3NvDFUf/eBBzi7lvbOaevm9mxgI1xbsf8k7tfCFwIcPKJy1xpMlMrp8rbAiMOjj5dsm/tuFn2YQ1xXlFgIiniyrgprvQA+n+sT2OlUpHM9x6h57nU6sJSpks25YEKRpXWRu26ssB4jjzQzG6FNqMj0gRuW36inbBIm/ILUF6pCRGXH3Wl7INN2vdDc/nRsotWYC6b5XX5nE5M+w3Khlu/XwycMnLM3etAvf3zT8zsTuBIhiOm1aNOXw3os8ATiUQiccCxPyKopwO3ufuvb81mthTY5u65mR0GrAPucvdtZrbbzE4DfgS8Evh4N07cMlxojPWm1j+krvRgnNCvk30gB1X0aP0qPneN7MNUcdKAFI8v1uVSmgdrK93eObqYqbq/HhEzVWVv6ofo+aH+o8TXsBQQGo1U8c3X5JFCU2Jr2vRsVRoJoFnRqj0bp79E9lHddItkb3X9vVjao//tk8lUlpl/ETgDWGJmG4H3uPungZfz29t7AE8G3mdmLYbncL7e3Uc6197Ab8rMv0WXFXxZ1kNtTvfbEnUxEWqtpmQPUIhNheVt+taYilo2DZDPEUvy1VHsQGtVYNLv6sdq9ntuk33U+jQVgiwLLDIqcyX72s2XyD58nvYlXd+pbzeHyo1FtZWIXqVaEFWtaM8VwOCguNEzR9O3BCjfuu/X6Pg0n6J/puQpD4C1DoAtPnc/u8PxV41x7BJgzE+Zu68HjpvUi0skEonEjGf2Sh2R08q7T6CqEitFT796SfJ2RDYQmHUjTu0tBbZubItWwOBlvVCgqAZKlMXiDVVXD6DR0GbdqI2nADZHi9JKd/xK9kFFey+WxGsCKAfeW82GtqUUeQ3V2UsDgWIluQF+zuqJbfYhf1BLM0S0EVsPXy+fU/uaHtF3IkkdJRKJRGJGMmsjKDynaAiFD4IsEkDjEH01oj7ZzeWBiaQLtfJWJcr8tY8h7Zy8ryT7aC3Td3VLm7Xy4Wb2U9lHtlIT1/XdetFpVZRsKraq5Tfgj9Oae0MzvSItDCKNpj691cTiDQu8hsXyUyY2GkUWmHZbWj5WF05n8tv1yMbW6FMbNn3/ePkcGDtSSxFUIpFIJGYkszaCci9wYQWXzdX22D3QhNgqtObenrt/LPuoq6W9PXqVTpZpEVF1sz53aSgwR8lXPFGyr958seyjvvQE7YTeRbKPxoavSva1uXoEZYNiRFToVas+FJg63aflgrUYYhgXhaEtkEO1QPWmSvM4LUqr3q7vGBTb9dewb57+fuxEiqASiUQiMSOZtREUronF+l5xgFtk0qTaFyJGKgCl+ZqcSaTRUb2ubKM26RaA4/9APqUQo9rSpsB1Ha1FEmrPDYCJ/S2N0/XBll7VxEkr93xP9tFYoeVDIdY3pqLmoAg05ZfEnFJEYNWPHrOTpzM//wvZx+A1uhjvgsdr+XwA/nXsw7P2BmVZGat134SaPaSFv/m8Q9RLwsQmxOYyvbTXt2ij69XOfYBs7VmSfStQLh8ZE5+L21CtQ3WNNbWxuVzS2xGyX/5Msh84/cWyj57lZ0j2xU2fkH2orRsALqqUqOPbQVeYLwILRbUpXyroaqO2VeSb9a23Tbfr0w5WvU3bah/mC2MeTVt8iUQikZiRzNoICitJq3BXt616AorT236u+RjaLbso1B2SsiarA3qSWdUHBMhFPToAE/+W5pHPlX1UxObToa1aRAtQ29jQTgg0eQ5uXy/Z9+3UNdka6uRlIGtqW0qVQKOuqo8YajQXt5sVWbYRms0dkr2VC9nHQYfr2+BeO1Y+pxMpgkokEonEjGTWRlBGRklIuOZqtBJQGrdlYgNm4yrZRyGWZ5cCf0dLLB8uRBFXgCwwjVWVFfKA2nYj1+ZtRcj6xaT8kB7dmCjF42Vt1haAia0bAHlZLGuOqMWLea7qsidNbLQPqvi0Gg1F2HLdMfI5Bz1bF1TeG/hcdSJFUIlEIpGYkczaCEolEyfReqAcVp6QG2hWVYlI2FQ2ag3ExRx9tlPRq58jNx0HpHhs9wbJvnbPTbKP4mStGTgyN0yd0eWVQB5mSM8jqpV/aj4UIBvcNrHRKBoP/VD2Qf9Bkrlc+o4eCQ7s0StKI5T2amK845EiqEQikUjMSGZtBOU4hdD8VvTNlx6/EMcCAFQ2aVV8rXXPk334Lm3IYaTfqHqLVgGWr9X7jeqr9NVerW+NZD+0U3s9Itgtv5TPGXreOZoPdcgfQKbllLyqR2mRgZv5Cq3PLAtEj75MkwjyaehRUmTZRuj9z89K9qtO0L7jAHyP3qScz9N7pzqRIqhEIpFIzEhmbQRlZpSy7vfNmwu08QPlQOSRDeyS7IsBTX4JkHMLIara6ruxUh8b4oG/Q5VtUpRGRsgeFquaMl3O1OZpPTFqzw1AWRxA2Dj4ZNmHumMAuhpIpF8uE/vlrKL3CqpqFa3Ajsy93z5Vsj/kjQHx3jv1Kklr6nntTszaG5QXDeoDG7q2L+3QFLfzwLZKNkf7QrRIM/CA9iZs7ta3YTJRIsgaA7KP8hK9RFltwFS/RABUsRhbqG9Vqtu0qhI/ILVgABSBibql7XqbRGuddjMoB+YoyTJEgQVAUy0QCXyf9PRrn6uhJ7xB9lGrXiSf03vTZfI5nUhbfIlEIpGYkUxZBGVmFwHPBba4+3HtY+8FXguMLC/e5e6XtX/3TuBcIAfe7O6Xt4+fBXwUKAH/6u4f6OoC8gbs2dj19ebiFp+6TQCQ7dGSrR4o0y0NahNGsz36RNLG8qMke8vrso/InJ+WuCXaMzcwsXj9NZJ9cega2Qd9WolyaIUv2kcmvtqQ3tTsLa1hPo+ogIsSTD1LtAZ7gNbdX5Pssy99X/ax/CXa1/fgdrHNBSge/zb5nPLX/h/5nE5MZQT1GWAs2esPu/uJ7f9Gbk7HAC8Hjm2f8wkzK5lZCfhn4NnAMcDZbdtEIpFIzHKmLIJy92vNbE2X5i8ALnb3OnC3md0BjOjj3OHudwGY2cVt2190cQWYsLpScwuRVWsh5qAi5HNE8cxWILoRV62RkR5qNBQhMgurda92TuPMx8k+VNFbBvT5O4UYqUTe75W+QGOo+rcE8m/KnDiAVq7PRMqGtEKBO76nlb4DHPXULZK9DWlFWgCNrdfL55T36iXzndgfOag3mdnPzOwiMxv5xl4FjP5G2tg+1un4mJjZeWa23szWP7xV/+JNJBKJxMxhuqv4LgDOZzhgOR/4IPAaxk45OGPfQDsGO+5+IXAhwMknLHFlgm2p/+CubQFycQIvQHOxttqzql5qXe7RpGLKt3xL9lE/9TWSfen+a2Ufxaony+eoqCMnACqDVcm+ullv1G3O18rMvVevRlSjCFVcFqDo1xtD1fxbaBKt+HxFIu3KrTdK9stW6iNT6idqDd0EclBEhF+r+oDHTkzrDcrdfy3SZGafAr7R/udGYPQdYjXwQPvnTscTiUQiMYuZ1huUma1w95HN7BcBI518lwJfMLMPASuBdcCPGY6s1pnZWuB+hgsp/rAbX56VpZVSRHRSpbRb21+3JY+RfTT3ahVK1Ye1fWyAoilWI87XolMADzRgqkPfmnV9RVl5spYfahzzctlHraxFHmr/FwRG0etFq7R2dl9FO0Lt1m9K9vW1eo4vE3dL1M8UgP9U6zOb/6ZAX2VtuWQ/2KPnEUt77pfPaR6vj9eBq8c8OpVl5l8EzgCWmNlG4D3AGWZ2IsPbdBuA1wG4+y1m9mWGix9awBvdPW8/zpuAyxkuM7/I3W/pyn9WoSQoI6sd6dWN+vZQ64hnaycEZsRkNbG5txx4C6g38z5t2xGgtFVXIWgMat34pQFdY837tC8Sf0ArSweoL9e+dEuBEvC80HK0eUDR21doSgcApT1XaPbzj5Z9+INiSbdaeARsvUO7CS5aoG1tApi4MFGV4gF8QFcmN3EyxHhMZRXf2WMc/vQ49u8H3j/G8cuAyWtNTiQSicQBwSyWOmqSK6WxYjIwG9JLTxGTrREtvspDWlK+WLBI9iEn2AOzs4paIMEuUr2nq2D8txg87umSfeUhXUqqpe3c6Nt1QH1I27pRCo5GyKp6W0Vpu7bl3NipzUQCsLI226r/8k/JPipHaz589StlHy1xgrRaCAbAUj0KVpvAh/nRmEeT1FEikUgkZiSzNoLCXVrpq7kbq+sCqCoRsVjP7pDsGwcfK/tQlbAjTbfVzaJqONA4RJOkKW7S99ez08WcRyCCqohK+ZEiCRWv6nmuyIwjOccXUL2vLjxJst965Q2yj8XP1gpEWoFdBtui7QC0FuuvRyjHt/hE+Rz4wphHUwSVSCQSiRnJ7I2gAJSJuuIq3yvaHjPoK+P6gF7eWt6lVbINHanlVAAydWUcWUmXtYZY0EemeK6vz+SZU4GKpsag9l5Up7dGiDSNqzlXAAptgquJlZsApesvluz37NCr3/ofowkRR76Iix6t9t8DTbeR3Y/I/KxOpAgqkUgkEjOSWRtBWVbSVn2ZOCX2kOPFK4KSKMtie3UR0GyntqKMrECpaNVZ5blaAy1AsVsXDMnnHSLZV87QBi9CYEU5LzJ0UnzdAxFqJjaBF4FoSB2dAdBYpeU8en/+HdkHd2oVjKtO05vGiyEtl5aLQxQBil6tAjfr06v4IiLBnh8AfVD7HatIunRqt7j3BKaxDmkvdmSO0nQkmW3rTZqPQKkqma7n1feVf5bsh/74r2UfJn6R5Mu1hDwg36A8MI1V3aosAsoeka2eojZPsh866vGyj4cvuFOyX/YBfZEhv+6B51f97EamD0feWxF9xE6kLb5EIpFIzEhmbwQloibYIyv8bMUZkr1v1hSRAbyilataU5tbA1Bafrpk32oEthEXalN7AVoP9Un2kahAbT71QJK5vP0e7YTDXyj7UJE/HwArniif4qKSe+Wf/kb20dOvTc+OKOtnauN/oMy8tUPTkiwC24iRAhwPbAt2IkVQiUQikZiRzNoIyswoZd2Xgrs4WTZfoSv2Ftu0iCgLRGlFVVyJBYRcm2IZdK1Pn3raDERdlUeNNVasM9lcrRQYdIkgdb4RAFu1aCUPiAoXDU0o18SEPMQU6TNxmnBzu57nWvosrZl9IFDsIU/olj3oRBqne/u0wiOAgZ16c3onUgSVSCQSiRnJrI2gVEq7tNVergce8iTP2i/+W/bRPP3PJXtr6TkoBrQ95lZN9+GBVdjAk8XZS2o0BJSr2muYB57f8nbt+fUj9EqrYkh7v5cXBaoRA6h5lYEHA9W0f/UGyT4LVL+pEWpJHZMD5EPaLkOk/Htgtz4ROiKL1YkUQSUSiURiRjJrIyj3glbe/UiMcksTiY+MkJBXMIW+M93cpY0fqMzTxSBbag/Y5utkH3036tHj3jNfK9n39OiD6FSaTb2Kz0ta07g6dgEgE4WIW2L+FCBboL+3+q67RLJ/cJvebN0vfnYjFXa5WB3bagSGk0bGZ4iokSDEGoI7MeENyswy4ASGR7EPAre4uy4DPc2YlagIo7Nbc7Ty4awUmHE0oL1pvUcv8VRvOJHS02y7FvbngYmkzZ/pN+eeFZdL9o3j9AS7ut1T2qE1hQLkC7SBUFYLzF0SdSFbgWKPamWxfM7Wr2k3zsPO0woeAJq3/5dkL0/CBnm+XDlQSKQuTHrmHyf7aMhn6Jqj49HxWTSzw4G3A08HbgceAnqAI81sAPgk8Fl3n44ClEQikUj8jjHebf6vgQuA17n7b1VNmtly4Gzgj4HPTt3lxfGiwdBg9w2PtmCl9viB0t6eBdqcFK/pW2NqktkC2wTZkFZ2WyrulX1U1uoJ3WJQi1BDyW+16CGgIN1ceYpkb3v0bcR8nrYDUOtbI/to3fY5+ZyBXdprsmCpPlWgfL8W1bbW6a9hqVerosq3a59bgNLgNsm+GfisW2CnqL5T/1s60fGZd/ezx/ndZuAjk3YViUQikUjsQzc5qDuBf3D3fxl17Bvu/twJzrsIeC6wxd2Pax/7B+B5DG9t3gm82t13mNka4FZgJLlxnbu/vn3OKcBngF7gMuAt+0Z0Y9IawrZ3P5W1tEtMqy3VRSobm6+W7Ms9/bKPbO8Wyd7F6bgAxRytSKK8LbDCP0JPfjdXavJIeUCGSJ68HBDKLYlFJUVFf5/o88/0vELl2u/J5xx0kiZXVT/0D2QfPXXtukoRkVVRMLUsNmcDtA59iniC3vJQCxQS2VY9L9iJbsrMm8CZZvZvZjYyRa6bq/4McNY+x64EjnP344FfAe8c9bs73f3E9n+vH3X8AuA8YF37v30fM5FIJBKzkG42Vwfc/WVm9pfA98zspXSh5OHu17Yjo9HHrhj1z+uAl4z3GGa2Apjn7j9s//tzwAuBb0182QUmyBc1V2vSRSaOzgDouf1Hkv3go39P9qGKv1pAGj8b0EpPy/f9SvZRP1YTpAXIFxwu2ff0HyH7aNS1SDvLAnmu5adJ9iFxzoDsjcp9V54sn7Pi/xNLwAOl7K3FWrTS3K03jZfEfE9pKNAwL6KOWAGkVp0R1B2W8egmgjIAd/974F3A5cDqSfD9Gn77RrPWzG40s2vM7EntY6uAjaNsNjJO9GZm55nZejNb//BWfZZSIpFIJGYO3dxS3z3yg7tfZWbPAs75nzg1s/8NtIB/bx/aBBzi7lvbOaevm9mxtG+O+9AxenP3C4ELAU4+frF7ufsKn0ycEsskDuXqhEWGhZXFcRuBVZU6jK31pe/LPniqFkUAZGJUUB/YIPtQq9marZ2yD7UxtHRvoNpzkbbCz37xIdlHNdDH1zr8xZK9BZrAS7s0iaDmcv2zrld76sLQauO/mj8FyAOCvwS+tzoxXh/USHx+/6ifR/hG1KGZncNw8cTTRood3L0O1Ns//6RdmHEkwxHT6GhtNdDdLPCshNe6b9RFVCyOaGeZqFYRmkxZiOdEfGSa0kHlSFXbGVpbdeUCawxI9rVDni/7UCtp0aoAACAASURBVG84kWbVwV0/l+x7d2+VfTRWa8Ub+bXiGHrgoGfp24gDu7TtNA/MDWOL1uCaDerPL3WtDaWxXP87IlMCVOoeuEEFpnR3Yrzl8wdH/XwKsJ7fRDQOPFV1ZmZnMdz8+xR3Hxh1fCmwzd1zMzuM4WKIu9x9m5ntNrPTgB8BrwQ+rvpNJBKJxIHHeH1QZ478bGY3urt0QzKzLwJnAEvMbCPwHoar9mrAlWYGvyknfzLwPjNrATnwencf6UJ7A78pM/8WXRVIgFuGC6FmSZyUmgdW+LS0aCUyzRJxp6AiqnOD3oiXH6oVLwBUlj1pYqN9aIrN0/UHvyP7yJY8RrJvNPXVt7oVk89fJvuozNUm125cf6zsY8UrArOw1MZmUdEboHGsVppe/em/T2y0r48TXiHZR4qVWrnYmB7QFIzsFEX0+zrR7btB3qPp0Oj76Q62lwBjqkS6+3pAF5FKJBKJxAHNrFUzt6KFDXa/uspVccfF+nycxlpxH3+XrlKtzpyKiEH2/lwTZR087lmyDxOn9gKYOI010kBciBGUqzlBoGhqK9C8T8i1tun59nsl+0UrdB+s+H35FBOfLwtISanq+tlOTVIIkHO7RWBqr+3Wvh98nhY1Q0z4Na9N3m1lvCKJj/ObyGm1mX1s9O/d/c2TdhWJRCKRSOzDeLe69aN+/slUX8ikYxkIJddquXV223+oV4SXqxMbjWaO3m5WEkdhIDaFAvj12iTa0sG6WKwfpI8sViOP0tbuCkJH0xLLh9XJtUBIYFZl+6VadeGCF+vl8gOBEmX1c1jp1QVQm0s00WbK18s+EP+Ock/g/b6rezFsAA9EaUVA5mkyGa9IYkaqlCcSiUTid4PxtvguBD7m7o9oyjCzfuBlQN3d9RKXaUCt4svEirlyYPU9cJLWhKhWFgIUSu8X4IFprBXTamZKA/rqO9IGnYk5qGKu/vyqzZGlXXr0mK16mmSfD+g9Slse0Crsek7QRW9DVaji6JB6RLJJjFC9qo/0KET5KQ/8HdWDzpDs1SpXgDxwzmQy3iv1CeDdZvZo4Of8ZmDhOmAecBG/UYJIJBKJRGJSGW+L7ybgpWY2BzgVWMHwyPdb3V1MdEw/ltWo9Hffad3cq0UStkffzy33afvlESWJ6mKtysxu+pTsgyc9SjJvLtcFPW3HrfI5Lu77Nx/1AtmHmiNR5LZGaIlCxL0/vUr2cdgTNNUNX6qPtWg19B4lF1UI1MGAALm4a9BcoYsK9/3kq5L90OlvlH00tmu9mD2L9XyzqmoC6Go24zDhp83d9wBXT5rHacLMKGXdfzm0xMmRXtYT2bI+V4C6mJju3atvv9UP17Z7lK3WEVRVdgCbr5XRRkp7VQX0xmIxIQ+4+Bo++Hn9S3r567S/PavMk300A60C6pfbZDaFdqK17NHyOdU7fyrZR8rl1ebUUNN4JM0wia9JN2rmiUQikUhMO7O2UdfdyYupG7nROlif+FoSm97UrR4ISJPcpCfxi5O0BsxMLIcFIBB5qE2FmnRv+xxRLDbS6Nja9APJfmhQl7Dxmhap7N2md5pE1PhNlC7KAhOhUaWkdurbzY3DT5DsIzJEubgdGirEqC2Xz6lP4qSHCSMoM0syQ4lEIpGYdrqJoP6lPer9M8AX3H3/1h12iVlGudTftX2x9RfS4zeX6rIhPcL1AOSBMl2PiNhOMbZUL1GOSASZaUq5kRwUYuNtEYgier71bcn+0DPGGps2PkWPNu02CxQjRBpD1ZEplbIuwVSoOyvzA0U+W++Uz5lqIkVXkYm66k7ReEwYQbn76cArgIOB9Wb2BTN7xqRdQSKRSCQSY9BVDsrdbzezv2JY/uhjwEk2PC/jXe6u1VNOGy6tGMo7tHxPK7DCbyzQqmgiK57Kwxsk+2ylXgat4g+tn9hoHypiEyLEpteqZAObJXuv6NWI9111imS/9JNavgOgslnLqxSRyaoB8kVabndoUM9vmpjvCVXY9WlRRBHIN6syT3mgijhUebwtUJregW5yUMeb2YeBWxkeUvg8dz+6/fOHJ+1KEolEIpEYRTdLg38CPsVwtPRrnRd3f6AdVc1I1Cq+ykOaAGp+zMvVS5Kr8iLVb5X7tJHZ9ROeIPugJVYDZeIURaAR6KFxsXcqUmVW9Goiq72/ulr2URGldVzs4QMoerS/XW0yBygCVWNq3moy8x2dCO1kiGPl66JEGehyYBFB2lAl8dAu+ZxOdHODeg4w6O45gJllQI+7D7j75yftSiYZtUiCopAeP/LhU7XJPPCm9c1ak5w/PZBOFDvxiz59smo5MMkzF+3VpluAxvZvSva7Pqu3Oqw8W/tS2OuPl30UK7WFSXbvFbIPRB+g3wwiWnHZVm0LStW3BCjdpxVJ2EF60ZWpkwtWBApdIouMgHpKJ7pp1P0Ow+PWR+hrH0skEolEYsroJoLqacsdAcPSR2bWN4XXNCkU+RCDe27r2r53ntj0FilRVlWnI5pWhSaAUgQ07yqL9GnCKs1d+nVZjxZ1RbZuKLQ4be92ffVdOV2bQGzqlivI84qsoam4A7g48RUgm6s13ka2+FpiRJQt0MvMh055uuYjsC1W9GjyU6reKEAW2Mmwlfp2MFwytv8uztxrZr9umjCzUxgWjU0kEolEYsroZhn1VuA/zGxkANIKhmdBTYiZXQQ8F9ji7se1jy0CvgSsATYAL3X37e2y9Y8ynPMaAF7l7je0zzkHGCnI+OtuhilaPkRp26+6uUwAWgu1/dlqZJKnmIMqbdBVqlm1RDK3efret0pR6Cv80m593lZ1odYQXB/SCmMAer7zX5L9osO0ogqAynxNnLQeiTa33yyfIxOZDCxGdoog9AgtMSdabNOfK19wuGTf/71/k33sPU1UmA/syJQCE3WL+y6Xz+lEN4261wOPAt4A/ClwtLt3K8z1GeCsfY69A7jK3dcBV7X/DfBshmdNrQPOAy6AX9/Q3gM8Dngs8B4z0yV2E4lEInFA0e1y5TEMRzxlhpt0cffPTXSSu19rZmv2OfwC4Iz2z59leJTH29vHP+fuDlxnZgvMbEXb9kp33wZgZlcyfNP74ni+LW9R2tN9Y2xR1aKbRl2fYqpSvUVvcG2tO1ayLwb0cm6t3jGYI+ldJJ9Sf1Cr3XFxPAfAXZc+TrJf++daYy/AoBgRWaDSSq2sLO3QI1oPRFBlccXeaEz9CInyUn23pJWLDa7b9Sbz8lxxvEzgfdLcrbWtAJQmsYpvwneQmX0eOBy4id9U8jow4Q2qA8vdfROAu28ys2Xt46uA0d+WG9vHOh0f61rPYzj64uAVU6+QkEgkEompo5slzqnAMe3IZioZS/HSxzn+yIPuFwIXApz86AWuNCP6wU/t2hagJO6VA+SiXIxvDdSivOhVmv2AXtljg9pIhMjAwvLD3VdgjlDM0fJvlTuv1H0U2gg1dbgjAGJ1YSRSMbW5N9BsbYGch1q9WYqM2xCpBz4jtT7tuoq1+t/REqOb6XiuIPZ+7EQ3j/Rz4CBAbykem81mtqIdPa0AtrSPb2RYkHaE1cAD7eNn7HP86km6ll9TLmlfos3AOGu5k7uqq1TXd4oJ3YAKQc/S0yX7yCTPvK43YFaXag2r5Rv1G9S6V2uNt0MNvQza5msJ9gjqe9FaDdlHZGFS2nGXZF9UA89vea5kX96iF0k0+sUUwGHa1jFANihqewbUQNTFEhBazHR8qC5slgC/MLPLzezSkf/+Bz4vBc5p/3wO8J+jjr/ShjkN2NneCrwceKaZLWwXRzyzfSyRSCQSs5huIqj3Rh/czL7IcPSzxMw2MlyN9wHgy2Z2LnAvMFIreRnDJeZ3MFxm/moAd99mZucD17ft3jdSMDEuWZm8v/sms1zUflNliwDs1nHrOh7JwbpEUE0sUVZnKAEM7rhJsq+IyVzQCzEA8g3auumBi9bIPla9U2vU7TlMLAUGBge0KcfFYGBzQ4yg8nnLJjbaBzUaAsjnrpTsa4F2j0LdQpU9gIvTbjOxyRz0NpRmX+B9EthhmUwmvEG5+zVmdiiwzt2/01aR6Opbzd3P7vCrp41h68AbOzzORcBF3fhMJBKJxOygmyq+1zJcGbeI4Wq+VcC/MMZNZkbhOVm9e/kQX6DtS0ca2Cp3awngxjp9zk9TTOj2znmU7EMlJCkUSLS2lmnRY15cK/toPvqlkn3jAX03urLsSZqPvYFWAbF5ulh4lOyjtFmf7mxiTikLNOqq4XkrUDZd6hdnNQXmbZXEXI8F8ro9y8+Qz6mLZfzj0U0O6o3AE4FdMDy8ENDj/UQikUgkBLpZptbdvTGsRARmVia2LTuteKlHms5povhrM7DvX9msCUI2z3ys7KO0Q5P5r4sVTaDPUaqUA7NuAhVgrXd8RbJf+/sbZR8DDbEdYY9e7dlcqK10TVytgz4pNRIFRyr/1CbaiFyV51r7htZYECMyq6l6u5YLbj32UNnH0EPfl88pLdR2Msajm+f+GjN7F9BrZs8A/gPQBMkSiUQikRDpJoJ6B3AucDPwOoar7f51Ki9qMjArkVW6X425uCcfqbpR976zQHSjDlezQMOx7d4g2Q8N6VEEgQhqy71aBVjPR/5M9oE4IM/LVd2HiNx0i175V+nXmzxLu/T8Wy4292aBXHAujgGJDOBTOxgjgxe9R6skjowNKd2udxTlgxMXWXdLN1V8BcMj3z81aV6nAbMyFWFWjNp4a1u61csddc5y7cOkbkUAIGqsqTdmABNnIpV26kn8bEjUMgNWH3uHZB/6UhBfE/W5Av2GE1lkuDjnp9h0tewjq+o3zkz82yMjyTNRk84X6oVELm6hWqY/V/niqVdlzwJNt0VNm1M1Ht1U8d3NGDkndz9s0q4ikUgkEol96FaLb4Qehhtrdanp6ca0JlQ1Cdx743fVK2LopDMle2/oK/xMlDNRV6ygN9EWK58g+xj4X7oWce19z5HsI9NY1XhInXoK4GLJcU//EbIPdY5SvuIM2UerFdjimwZ9OXkbcaeu6C3LPAX+jsaq4yX7nruuk33UDz1RPser+rZrJ7qZB7V11H/3u/tHAK2UKZFIJBIJkW62+E4e9c+M4YhKz97PcNTcQnHvgO7kJM08ogatEmkQpNKvmd91hexi04bV8jlrxdxC5G+XJa4WHSf7cLGAodWzV/aRizmSIvBc1Xbp5+QLtMxBT01vyRxobJfsix5NJR/Aalq5vJIvH6FYJH6hBCIoD+yw9H9z8soVutni++Con1u0x7RP2hUkEolEIjEG3VTxaYmTA5SSWNVkVV3OtLz6WZJ9ZKSHiw3H6t8N0BIjlcotesXjUWfp0aNv0VaUhTieAwKRR1NbrQNyib06QwnAxDaJ0q57ZB+N5bo8EmVtxb531y26D3FnQpUtAnDxMxKZ0F2uapGdDem7PrW7fyyf89q3nSefAx8b82g3W3xvG+/37v6hwNUkEolEIjEu3VbxPYbheU0AzwOu5bfHsB/4bPqBZn+ELk2iyvxXa8tlH/UtmjRJEWgGVoVc7/x3vRJozbv1/iwXezbUaAigJr4mg5HczQbtvdhapOfr1OF1agM46CMnAGp3/Ldk3zr2ZbIPNmu5mDwyIVaM0iKN0E1xRFBlSO+r/PZf6IMULxnQxoCMRzfP/BLgZHffDWBm7wX+w93/ZNKuYgpwd/Ki++mntTtvkB6/fpT+wrnYGKq3eILl2sRXi4wLF1WR++fqNwI7+a3yOc3NV0v2pUACuNnaKdmr2nIAzSVrJPtII6k8qznwPon87a0FWvNpvkcfx27izTaik6e2rUS0DtX2gj2X6TPsXnDDl+Vz7jtbn8JwcIdRed1o8R0CjFZ9bABr5CtIJBKJREKgm2XR54Efm9nXGFaUeBGgd1FOM2amNSPeKaoiH37yxDb7UBGTms2AFI8tPXVio1FElMazr3xasu97ub7VMxBQUWaOttXVGghIMKkSQUP6Fl91xwOSvR10huxD3W7OA4UCEUoDWoSaLwk0hYozp0KI24jFEn0bvPTN90r2R3/mGNnHxcefLp+z8AMBibYvjl1I1U0V3/vN7FvAyBS1V7u7PokskUgkEgmBbjeW+4Bd7v5vZrbUzNa6u775O40UeZ2hvd2Lh/Y2tV356iHPVy+JVi42VEZm8JiWV2neo6sVb7zsNMl+5YWHyz4iCXY1r1Kbs072oZYDWzOQf2toK9BWrvtQI+em2L4AsRYGlUqvHtm1tonr68DfYUPa8+UBwd83vO6PJPtjCn0+10vep81YA9g754/lczoxYQ7KzN4DvB14Z/tQBfg/k3YFiUQikUiMQTe37RcxLNJzA4C7P2BmYakjMzsK+NKoQ4cB7wYWAK8FRjbt3+Xul7XPeSfDM6ly4M3uPqEKZdbYQ/XeH3Z9Xdlq7U9qCRWCI6hloZF5UC2xqqlnywbZR19/RbLP6tokYYBCzCeBPqeqHohQ5aggMBun6NOiG7UpFKAulthne/Tpw6ooK0Amzs9qPXy97KO0V8sLFvP0SLssjou55TlXyz7+z06tSfnht+uNuvmKQ+RzIjs/nejmBtVwdzczBzAzTYhtH9z9l8CJ7ccqAfcDXwNeDXzY3f9xtL2ZHQO8HDgWWAl8x8yOdPdIFXYikUgkDhC6uUF92cw+CSwws9cCr2Hyhhc+DbjT3e8x65hBeAFwsbvXgbvN7A7gscD44VGRU9q9tesLaa7Vpk02BgL9F6LQaCGKWgJU5mqrvaEvf1X2sfwvNIHOXNyPB8gjq7D52t+uVlVGaC3Ve0LUfETkfYIYdZUGdB+2WBQzBfI5WjWt9+qvoVrBGBnqmV+sjeh47NW6rNnGP3y0ZN9664tlH9Wf6jnq0m6tCnU8uhm38Y/AV4BLgKOAd7v7xyfJ/8uB0S1abzKzn5nZRWY20uW3it9WrdjYPvYIzOw8M1tvZusf3j71SuCJRCKRmDrGXaq1t+Aud/enA1dOpmMzqwLP5zfFFxcA5zPca3U+wyrqr2Hs4qxHTPgFcPcLgQsBTjmqxxVxxOZhWmVaZEjc0I6bJPtssPsIcATf8nPJ/r5b9Qq7Q1YdKtlHKvIi3fslcWx2PSCy2jNfG5+R1TRlBIDGVjGvEogiKLQorbRGr1ptiDlXABPlqmp3XSv7aB79+5J979UfkX2c/DFNY/vDR+ifkcVv1z7r+Y67ZB8E5JGKwK7BcPzzSMZ9l7p7bmYDZjbf3bUOuol5NnCDu29u+9o88gsz+xTwjfY/NwKja0lXAxPHkFlG0dt9E1+2QNviU0rYR1AVpItA6WnvtV+X7A8+drHso7bsFZJ9fUhsgkYv9gDIRRXw6sb1so+m2LDqkZlefdpNLdt5p+yitlJT1h/cc5vsQ56dhT6JNp+jD/eurb9Isv+7P32R7GOOuC143jc3yD587dnaCffpE46LhXqJvTf1Lf1OdPMNOATcbGZXAr9u5HH3N/8PfZ/NqO09M1vh7iOT2l4EjCwPLgW+YGYfYrhIYh2ga8AnEolE4oCimxvUN9v/TRpm1gc8A3jdqMN/b2YnMrx9t2Hkd+5+i5l9GfgFwwMT39hNBZ+XqzSXren6msolbeVmPXp0U6jlwOJqEuDhK7Utu0V/ohdDDg1sEE/QE8ClvVvkc3y5JuBrLb1xUX2foO1YAdAQm2IjYrH1+uaJjUahCgQD2BxdLLa6SJPqyh/6lezjrr/Xinzefe/nZR973q21YrTm6luoNUXKDfAi8Fk/5jnyObW7rpHP6UTHb1kzO8Td73X3z06atzbuPgAs3udYx/Zjd38/8P7Jvo5EIpFIzFzGCwO+DpwMYGaXuLuWWdzfZCW8Z17X5mpCNzJKQKVyz/fkc4b2ivv+j3+j7MO3a7mbUqDRMTKDJ9t+s3yOiix1JBZugN4M3NqtlTSDXspeW6iXjEfEjtV8ZX7BBtnHMd/cNLHRKNY/9UkTG+3Ly8as4+pI34qnyS7qDa0JPO+feukpABsSJd3GYbwy89HVc4dNmsdEIpFIJLpgvGWUd/j5wKDcT7bkMV2bF6L0S6g5MtP2pe0yvcps5RO1qrFBMRqKEBkqVxYbjgGKXu01bIiNvcNOmpK5i/YAuVgBVrtv7FEF49FYcax8jkqlopdOl675W8n+RZ/RcyTvX6PZH/F5XSKInVokWATyQ7kaoc7Tp/bagBZtAiDKVY37UOP87gQz28VwJNXb/pn2v93du98/SyQSiURCpOMNyt0D9UcHLurI5Ugjqcr91x0vn7PyfdrqJevTxxUUg9qqKgtU8fmcgJCruGJvDemrQzk/FBmKqEpi9ejVntbU8gRq7g0ge+in8jkXvP4syf5m9B6wr39ca5gfWvSXsg9VqisXqyoBSpvEbptDnin7yNE/I9luXSC5E3om+gDByCRlgVYuzuBp6F+6vdf9m2Q/Z0Gf7KNy3DsnNhpFc6/eXV6bJ+oW5vp8yyzQpKwSaSRV1So80L1f9Itah3MCShKiYoPX9S3tB96if+m+7U6to+WOF+qTrQfP1Fo4Xdz+BygJ6QXQF8gQmBu2U1dOicwzay1eKZ9Dh4XGhFp8iUQikUjsD2ZtBIUZmdDIllW0svGiqa8oh67QGkMXP09Xl9q7Q99WUWmVtS2l8gJNdRmgCChIq43QVtJLwNUChgjq81VEJGyWnyLZ9/7r38g+jvmmvgPw4zM0Dbsln9I1MYshbR5U1qtv56tSXVbT21YyMQomILvlc9fI5+RD+vy3TqQIKpFIJBIzktkbQblTKFNvxT1gC+RIHrhVaydb+ZY1so+SuNqLlMsX27SGWKXcf4SIyGpR11bGkQhKJqDsnKsq4EuOkX303nSxZP+cd71K9vHnK7S2CoBjP/FLyd636y0MpT1iEv+4V8k+1OaCkrgrAdBaqE0VsEDDfKRVgB1X6Od0IEVQiUQikZiRzN4IymB4nFV3uFjF13fFP6lXxPLD5kv2PvcM2Uek4kj20a+Ng2gG5gJlu+6Rz2GeOKcqMrVXrGqqiBWPAOVSv2Q/tPlq2ce/vPrJkv1tmS6n9O2P6dWbjcP/WrLPHxZnZwHlbdrE10agYld9b7UCU6fVnJIF5MNCM73EeVvD/GjMoymCSiQSicSMZPZGUJiUJ6r1rZEe/YH/0CfRHvRnmmRKK9AM3BJXlCYOagSoqg2xD3xH9uGB1Z6aF4wI/haD2mo60i/XbGp5ldb535d9vOX2DZL99reskn0MPusv5HOKvWJOqRrI3SyK9OmIiBJBpfn65zDfs1Gyj+TNXR0RBLKk23jM2huUe06z1X2Ztj+ofchbTf2pGzpMm1fEDl2d23KhMASoVvWJuvVtopr5QafLPoqAMrm6yGjlAdVlcdqtiyXNAP3f+YxkP+8iXaX6B0/SFBuyt+vNwJWqfk5zmzbG3Fra+x2gtVDTpKsF/o6GusUX0KtUb86ydh/BQqKA/mQn0hZfIpFIJGYkszaCMsukZHP27a9Lj7/qdF2qsD5PU16OrL4Rp6tGogivaVt8ka2FSFNhY9NVkn1puR7Z2U5N+62yTU8yv+L1r5bsX6ArNnHyR8ZOSneitUhroAWoDwSiArHQJSvPlV3UfvUNyb4ReC/aHC1Ki6j3N9U5YIHIJiIHNpmkCCqRSCQSM5JZG0EVrUGGdnSvWrzjKq2hcvHf6onWsriX3WzqpaeqondkX1plOoRfAbzUvbQVQEmQwhohF+VlvnT2kbKPy4aulOy3f04rmwYYWvR0yb5S1lokIJZgL1qBcmuRvE9s9wgU7KiFRI2term8ifnQSPFCJI9Y3zl5k61TBJVIJBKJGcl+i6DMbAOwG8iBlrufamaLgC8Ba4ANwEvdfbuZGfBR4DnAAPAqd79hvMfPhnbRe1v3OYkdaM2RRe8iyR7AxWilHJjVpI6D0Od4IjerhpizWj9HXCG27vyK7GLX+Vr58Gtu08dtPPhq7W/f+7TXyD6qD2hNtPUhbUIsgInvRQDbq82d8nl6jiRf9XjJPjJVtil+1iubb5N95As0MelsxRmyj1auf9YtkLPrxP6OoM509xPd/dT2v98BXOXu64Cr2v8GeDawrv3fecAF036liUQikZhWZloO6gXAGe2fPwtcDby9ffxz7u7AdWa2wMxWuHvnpc1gHfvZHV07XvVCbRJtvuz1kj3oFXNqNATQFBtDQxV2DW1VVd81PYPSSru1la4qeQOw5mJthf+V458v++j5sFYBFskt5HO0/rfI+6SITBMW+/hc9gC2XYtWKg9vkH3U12g9StmQXk3bECseLSDtlYvTswGYRBHm/XmDcuAKM3Pgk+5+IbB85Kbj7pvMbGS06Cpg9Lt9Y/vYbz17ZnYewxEWB8838u3dh//5M54kXXxlGhL/6jYBgO8VvxT6dLUKtRk423Wv7CNfoCm/A7ioivHmJ26QffyhWCvwe5/UVR6s/xmSff0BfR6UijpDCWI6hM2K+P4VNTQBuRWj2KVPBjZRccTyQAm4uIjLRbV/AKvoZfxqodZ47M8b1BPd/YH2TehKMxtvWWNjHHvE4ql9k7sQ4JRV5cjiKpFIJBIzhP12g3L3B9r/32JmXwMeC2we2bozsxXAlrb5RmB0xcBqYPz9mf6M0inzur6e/JBnClcfSxrLBKI0q2uJUw9EUC6uQH1PQBE5sHL7xmO1acIXbfu27GPw62OtlTozcOjzZB9W11bsXtNLwIt52iq3HNCFlBtJgdIe7XNlARktVVaotEefmVY66g8l+6GI9qTYDBwhooAeSU10Yr8USZhZv5nNHfkZeCbwc+BS4Jy22TnAf7Z/vhR4pQ1zGrBz3PxTIpFIJA549lcEtRz42nD1OGXgC+7+bTO7HviymZ0L3Av8Qdv+MoZLzO9guMx8Qi0Y75lD/ejuy0mnY46SOr220q+vkJqqVExgteOF1oBpgYbN7G//WT7n7Ju153fDH+jTbgdOPk4+R8VV4dBAWW//vGMl+8FAnisLKOXbaNt4PwAAFPNJREFUw1oBQxF4b6m5Gy/rRSjNxlbJ3ubqn3V1Cm8e+I6LfD/k4vfDeOyXG5S73wU84tvB3bcCTxvjuANvnIZLSyQSicQMYaaVmU8aXqqRL+h+ZpMqqR+aNCnmVZrqbBygNkcXnVRR//ba7ZowKcDajx4jn3PJCdrMooO+oAugKiNcICYRVB/YINln238p+xh46AeSfWmPPteqWKh/vbQOOlGyLwVyJD5Ha4BvLdom+1BzN3kgT6vmqNWIC2IyZa37Jq+qdH836iYSiUQiMSazNoLKSjV6+o/o2n5ob/dNvRCT+Zd7SQKNdeqIg6yiT5V18brOfbE2HA/gkMAYkKd9V5OfaojVcgCF2LhYBPJDLjY6FguPkn0wpEVE3qO/3yPvX7UhOCJIq4o2txbr0Xz5zm9K9r7mEZmNCSnEvqZKoD+pUdca0wGsqsnGjcesvUG5F5Jyg/pFHSm/rIgzX9Tx7QDWq5UD2yZtqwfg3j/Vkq1f2aPd/AF2f2GXfM7QjqdK9tkq/UtB3VbJ7r9WdlFe+yLJXl1cAViP9iVdtALFCDt0BRF11hg9kzdevCPizRygeuu4UqGPYO9Bx8s+sgFtgdWs6ZOXPdAIrTVijE/a4kskEonEjGTWRlDqRN2GWIIZWVG6aed4vzjvBXCxlL128dWyj+Ov0FZVD75KL9wYOF1rnAYo7dwo2ReBclh1i8+qfbIPdZtLldUBKC18tGRfiJOEIdZAXFIn0Zb0xL8qIeYV3Uf90adJ9pm48wFAjxYReWDWViSVEXndO/qftEdKJBKJRGISmbURlIo6ybPWF2iiFVduSpHHCKVvvF2yX/e3T5R9nH+o9rf3/l0h+4hMMXUxWokk2CmLBQwVPWE8NHiPZB9Z4atkQ3pO0AMFIjZfa+6NCCqr+ePIXLZitZbTjhQw1PdoUlJZVS+IqtaWy+c0JlFIO0VQiUQikZiRpAiqjSqGGRqFIUZprfu+K/s4/8/OluwXF/rK+K1Xabkeb3Yv2vvrc8QqM4hEUHqFkvo+yQP5oUxtqAw0YKp4uSafUyzWZaHK4uo7Enk0t3xPsi/mT33ze2hyrfjeqs3TXw+1MR1ir0knUgSVSCQSiRlJiqDa5IGISEXNefzyT/XczQce+KJkv+d9+qC0+oLXSPblbfrYBQJCo2pVU1Vs2AQoxObTiAioKipskUorVytKl01stA/Z5p/I5zSXaE2xpUhvj5iz88CwRkQfRaF/DtUq30ZTE7CNEokGO5EiqEQikUjMSFIE1cYmcchWJyof/4hkf+p39Sqonz7jMZJ9689/T/ZRE3tP6hHJm926UK73ioK/geuq1rRVax6oaPLG1Fd7quoTJbG6DoCdugBqaYfWb1Us7pV9qPQvfpx8jl/1/0r2g4/9I9mHlab+bw+NiZ/EKr5Ze4Nyd/Ki3rV9b+9K6fGLa96nXhKnfeC5kv35h+pbN2s/oRUw5GLjKYCL2ypW1ZOm1hfQfhPnKGXz9O0htTimaAamsYrNqqo2YoR8+83yOVlWks9Ry/LVBQNASywqGdh0leyjtyW+JgO65p3abD0daQwgJA3VibTFl0gkEokZyayNoMCllaW6SvrQOboUz4Bp0cpfXqCXmfuav5bs6wFFb3nia58u4xKRZVH9hLYvxG2VSBK/9MuvSfaNI54t+1C3BQdD27R6dM6c1ZL5dDTqMk8vdBl60hske1WiDAKSWIGtt2pAkKBeBIqiOpAiqEQikUjMSGZvBNXcgz/4/a7NH/5f90oP/777fq5eEXv+SivEaJz5btlHa89tkn1EDBJRKDdSgOK79CKJ0uKTJPsiUhgjRhLFLn01mVXF5Pc2/b3YXKblYayuRyrZgN7kiRhxlgKv4WSWQXdClQiq79TfJ7mYtyotfbzsQ22rgJikUsfHmrRHSiQSiURiEpn2CMrMDgY+BxwEFMCF7v5RM3sv8FpgJDHwLne/rH3OO4FzgRx4s7tPOPTetu+gcsl/dX1dj7pUqzS76emanD5A881aqW4WEDNVcyRqUyiAiXvyIZn/wW3yOYU6MiXQgNkzX5OLqe/VS61bCw/VTggI67aGtPxQ1q8LpraW6JGKumLOAyNT1BEdrcBQz8Yy7TXpvU0fbDl4nJYHzwI5qGZDr8ibzKrS/bHF1wL+3N1vMLO5wE/M7Mr27z7s7v842tjMjgFeDhwLrAS+Y2ZHuns+rVedSCQSiWll2m9Q7r4J2NT+ebeZ3QqsGueUFwAXu3sduNvM7gAeC/xwPD8PP7SYf/vki7u+rjct0/ayD/uU3rfgomx/JPJQq8YsIPeTi5FKJJ9UPkRvIFb3y7ONmmgoQEvsUbJ6QGxzizgc8PhzZR/y0L7A+PbI6G+10kyNBAE9z7Vri+yiMVe8rkKXNbOm9jmsD+ifwwiT2UC8X4skzGwNcBLwI+CJwJvM7JXAeoajrO0M37yuG3XaRjrc0MzsPOA8gKXVPlbP6f4L/k/+7qvSte+d92rJHgCxaTMyKVVNnEa2hwgojatEtm7yrTdK9rUdeok9wpRmgKHexbKLok983SNbKurNvLlXdmFD+gKrVdEagssLtGZVgOZurSCh3DP1avH5Ql3r0MSiIAJN+RFMnFM1HvutSMLM5gCXAG91913ABcDhwIkMR1gfHDEd43Qf6zHd/UJ3P9XdT50vDpZLJBKJxMxiv0RQZlZh+Ob07+7+VQB33zzq958CvtH+50Zg9N7YauCBiXzMW72XZ/3Dj7u+pr3Ha3OUIlM2y+rqWwzhAbJBUbF4kT4jxsWS2GyRvsqtlOfL57RqWqFLPi8wcyrXIonKPF3DrhC3ESOrzJI4syePzIOar7+GLr6GkS0+E4uPvFyVfahq5o1Vx8su1Ib5LPCd5YGdjOoDV8vndGLaIygzM+DTwK3u/qFRx0fLALwIGGnuuBR4uZnVzGwtsA7o/s6TSCQSiQOS/RFBPRH4Y+BmM7upfexdwNlmdiLD23cbgNcBuPstZvZl4BcMVwC+sZsKvqJvAQMndV8k0TP3UcrfQKSIsNHQohsT5xsBFOLKrRyYxlqIs5rUsl6AQhD6HaEmRiu6ByiJuZuQQOeAFhUUgZygOhm4ECMbiIkEq7mxaq8eFdRFtXgr9M96TZQIagUksYptWr7O5uhf9729h8nnDBx1lnwOXD/m0f1Rxfd9xs4rXTbOOe8H3j9lF5VIJBKJGceslToyK0uSGw1RNNVKU1+EUesZr/p+bJQRIwDVyjzZR6O5S7KPNPtlgchOxcRoE/TG5ohYbN6jTVeNTNQt1NxC4LmKlBtX7rpCsm+t059fE6W6WovWyT4Qn9/I2JuSWFkZEYvdu02filzZcot8TieS1FEikUgkZiSzN4LKypJgY0uszgqNahBXuuo1AdSqizQfrQHZR2ub1m9kgR6aVqB/SK5SyiqyD3UVqsovAfJ1RZpoC3H6cLbnftlHpEI0n6O97nlASsr6tCGHFhjAp34OIxTia5JHKh4DlcTWasjndGLW3qBwrZBBveGoSWbQGwQtoH8mb7/tDXSXi19uHuhJK+2esJPgERRiUj6y/Sa3CuzUlcbLYpl5qxrYfhPVybMBXbMxX6g3EHuv9sVematvv+UPjStC8wg8sL05sPka7QTxpglQ2aF9RpritGKI/e35PL3puBNpiy+RSCQSM5LZG0GJqAndSORhNW1OSiSp2dylbfdkvYFpt/mgZF8ONKu2isDqW9yOKAJJ/Fx9TSZR2bkTkddQpSVGzRDT4ivt3CjZNwPReWWXVhDlhz1G9tEa0LYeS4EZSqXdWttKc6kebapNzQDZHlEsYLzHmrRHSiQSiURiEpm9EZQZWabLs3SL2tgLUB8KJJpFVKkjDzQDy0n8SBQREaQV/URaBVpiyXxpry5I62IOiojSuCg0apHXsNDK5QGKPi2SqM3XZbTUBu0sUOhS6ddeQ7nsH8jnagUlmdhgD5AFJhYXe3X1947+J+2REolEIpGYRGZvBIVLK3c1r1If2CBeD3Lk0RLFIAEQy7NLgYZYF8daFAv1VS6B0t7yfG2FGJEh8qY4QqKlCyqpEjalPfpz1erTSo4j5caRKNhrmsCsOtcKADWPGMkFixW7oWrEPu25ipTkF4EclC86Uj6nEymCSiQSicSMZBZHUBqRnhgVtYemLoqGAvQsPk2yH9xzm+xDri4MTAb2QH7IH/y+dsJivZFUHfCYB1aT6iiXHC2iBb3x1paeKvuIUIiRc3bfd2Uf8qp8jZgTBDK1ly0gB1Za/TTJvrzhW7qPAX0idPPI58rndGIW36BM+iJVO/4jWnGqmnmEocF7JHtVdRmgWRFLYrdrW1YAFkjoFmLzaU/vobKPwe3rJfvIPCh1eyiLFDBkJf0cEVW3EMDq2hdia5m+yKg8cINknwe2uQqxzLxnwYmyD1VpJqLwkA3qi0t7+KaJjbr1P2mPlEgkEonEJDJrIyj3nGar+9WYWnIcSh6KW12mlhsDhSjZFFHNkqPHhq73F9GXUxtDIzOn1BldajQEutRRLkaOAKW92vvEdWlEaZrACLZM26Ku/OJi2UdjxbGSfSmw3ZxtvUM7IRBBqd9BlYZWCAbQWhho5A9MX+5EiqASiUQiMSOZtREUnktlxNWaJtbYLAKrVrEQo1LWykgBEBTcQc9ZgZ6v83mHyD5CZbebtSKJ+h49upHLrQOTaNXXvZgfeK5EiaBSoNS6FGjyNNNyY/XDtUIBABcjj8huSSbm+CJtK+p0hKKqS3tFziGQP+5EiqASiUQiMSOZvRGUlShVul+9TqUs0gjqyjgkESRiESkTsULJxDEYEMvdlMSm2MiMo6JPi1AzteIRaDRFuarA+0TNb6otEhATO1Yr07Ktv5B95AsOk+wrwvfICHVxCq8NPCj7KGpaZOcL9Z0My/U8rTKHbyJSBJVIJBKJGckBE0GZ2VnAR4ES8K/u/oEJzpBWcKqQa0RoVF3pKgMXR8hF0cmI1FGh/u2BybWRERJqXoXItFDxnGyO/j5Rh2eqo2IAXHyfRKY7RyIo9TNSvT8wTXj1syR7NS8Geg41smMgV0kGqioj0Xnke6sTB8QNyobfIf8MPAPYCFxvZpe6e8f43vMh6UVXvxB7apM3NbIT9cY2+Rz1DRX5EulfcIJkPzhwr+wjsq1iVa0WulHXlcaLgCqGivoaZoHFktqOQOD1iGwLqkU75Yr+t6v6fZH3ovq3N0WFEtC30iKFGH1zj5LPiXxvdeJA2eJ7LHCHu9/l7g3gYuAF+/maEolEIjGFHBARFLAKGJ2Z3wg8bl8jMzsPOK/9zz3zF3/4l9NwbTOdJYAu9JVIz1uMA+B506SOppED4LmbMsbUHTtQblBjiQT4Iw64XwhcOPWXc+BgZuvdfXqUPmcR6XmLkZ63OOm5eyQHyhbfRmC0xPNq4IH9dC2JRCKRmAYOlBvU9cA6M1trZlXg5cCl+/maEolEIjGFHBBbfO7eMrM3AZczXGZ+kbvfsp8v60AhbXnGSM9bjPS8xUnP3T6Y+yNSOYlEIpFI7HcOlC2+RCKRSPyOkW5QiUQikZiRpBvULMDMzjKzX5rZHWb2jjF+/zYz+4WZ/czMrjIzfdb5LGWi526U3UvMzM0slQHT3fNmZi9tv+9uMbMvTPc1zlS6+LweYmbfNbMb25/Z5+yP65wJpBzUAU5bBupXjJKBAs4eLQNlZmcCP3L3ATN7A3CGu79sv1zwDKKb565tNxf4JlAF3uTu66f7WmcSXb7n1gFfBp7q7tvNbJm7b9kvFzyD6PK5uxC40d0vMLNjgMvcfc3+uN79TYqgDnwmlIFy9++6+8jc9esY7iNLdC+hdT7w94A+uW520s3z9lrgn919O0C6Of2abp47B+a1f57P73DPZ7pBHfiMJQO1ahz7c4FvTekVHThM+NyZ2UnAwe7+jem8sBlON++5I4EjzewHZnZdexpBorvn7r3AH5nZRuAy4M+m59JmHgdEH1RiXLqSgQIwsz8CTgWeMqVXdOAw7nNnZhnwYeBV03VBBwjdvOfKwDrgDIYj9u+Z2XHurkmJzz66ee7OBj7j7h80s8cDn28/d8XUX97MIkVQBz5dyUCZ2dOB/w083931MZmzk4meu7nAccDVZrYBOA24NBVKdPWe2wj8p7s33f1u4JcM37B+1+nmuTuX4fwd7v5DoIdhIdnfOdIN6sBnQhmo9jbVJxm+OaVcwG8Y97lz953uvsTd17ST1Ncx/Bz+ThdJ0J302NeBMwHMbAnDW353TetVzky6ee7uBZ4GYGZHM3yDEgd4zQ7SDeoAx4en243IQN0KfNndbzGz95nZ89tm/wDM4f+2d8cgUl1RHMa/v/1qIVuYdoOIkLgBI4hIFKxsUqRcBJuAIMSEJI2VhYWCGFLZ2IqgaCcYmxBhg2QFNbuYINgphoQlxQrbeSzmkp1ZzLLqzs5b/X4wDPfdy3t3HgyHc+e+M3A1yf0k1jFk1fdOy6zyvv0EzCd5CPwMfF9V86OZcXes8t59C3yZ5AFwGTha7+l2a7eZS5I6yQxKktRJBihJUicZoCRJnWSAkiR1kgFKktRJBihpSJJsbdv67yf5K8nTvvavQ7rmJ0kurtA/nuTmMK4trTVLHUlD0p77mQRIcgp4XlXnhnzZk8DpFeb0T5JnSfZV1fSQ5yK9FTMoaQSSPG/vB5L8kuRKkkdJziSZSvJbktkkE23ceJJrSWbaa98rzjkGfFxVD1r7s76M7V7rh16Vh6l1+qjSGzNASaO3CzgBfAQcAbZX1R7gIkuVrH8EfqiqT4EvWt9yu4G5vvZ3wPGqmgT2A4vt+N3WljrNJT5p9Gaq6hlAksfArXZ8llbPDjgE7Ez+K4a9OclYVS30nWcbgzXbpoHzSS4B16vqSTv+N/DB2n8MaW0ZoKTR668u/6Kv/YKl7+gmYG9VLfL/FukVFgWgqs4kuQEcBu4kOVRVf7YxK51H6gSX+KSN4Ra9IqMAJJl8xZg/gA/7xkxU1WxVnaW3rLejdW1ncClQ6iQDlLQxfAXsTvJ7qxB+bPmAlh1t6dsM8XWSuVYVe5Glf1I+CNxYj0lLb8Nq5tI7JMk3wEJVrfQs1G3g86r6d/1mJr0+Myjp3XKBwd+0BiQZB84bnLQRmEFJkjrJDEqS1EkGKElSJxmgJEmdZICSJHWSAUqS1EkvASTkelFeyfRUAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sp = wave.make_spectrogram(256)\n", "sp.plot()\n", "decorate(xlabel='Time (s)', ylabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At a relatively low frame rate, you can see the aliased harmonics bouncing off the folding frequency. And you can hear them as a background hiss. If you crank up the frame rate, they go away.\n", "\n", "By the way, if you are a fan of the original Star Trek series, you might recognize the sawtooth chirp as the red alert signal:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists('tos-redalert.wav'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/tos-redalert.wav" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import read_wave\n", "\n", "read_wave('tos-redalert.wav').make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 3\n", "\n", "Make a sawtooth chirp that sweeps from 2500 to 3000 Hz, then\n", "make a wave with duration 1 and framerate 20 kHz. Draw a sketch of\n", "what you think the spectrum will look like. Then plot the\n", "spectrum and see if you got it right.\n", "\n", "### Solution\n", "\n", "Since the fundamental sweeps from 2500 to 3000 Hz, I expect to see something like the\n", "Eye of Sauron in that range. The first harmonic sweeps from 5000 to 6000 Hz, so I expect a shorter tower in that range, like the Outhouse of Sauron. The second harmonic sweeps from 7500 to 9000 Hz, so I expect something even shorter in that range, like the Patio of Sauron.\n", "\n", "The other harmonics get aliased all over the place, so I expect to see some energy at all other frequencies. This distributed energy creates some interesting sounds." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal = SawtoothChirp(start=2500, end=3000)\n", "wave = signal.make_wave(duration=1, framerate=20000)\n", "wave.make_audio()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave.make_spectrum().plot()\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 4\n", "\n", "In musical terminology, a “glissando” is a note that slides from one pitch to another, so it is similar to a chirp. Find or make a recording of a glissando and plot its spectrogram. \n", "\n", "One suggestion: George Gershwin's *Rhapsody in Blue* starts with a famous clarinet glissando; you can download a recording from http://archive.org/details/rhapblue11924." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists('72475__rockwehrmann__glissup02.wav'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/72475__rockwehrmann__glissup02.wav" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wave = read_wave('72475__rockwehrmann__glissup02.wav')\n", "wave.make_audio()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave.make_spectrogram(512).plot(high=5000)\n", "decorate(xlabel='Time (s)', ylabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 5\n", "\n", "A trombone player can play a glissando by extending the trombone slide while blowing continuously. As the slide extends, the total length of the tube gets longer, and the resulting pitch is inversely proportional to length.\n", "Assuming that the player moves the slide at a constant speed, how\n", "does frequency vary with time? \n", "\n", "Write a class called `TromboneGliss` that extends `Chirp` and\n", "provides `evaluate`. Make a wave that simulates a trombone\n", "glissando from F3 down to C3 and back up to F3. C3 is 262 Hz; F3 is\n", "349 Hz.\n", "\n", "Plot a spectrogram of the resulting wave. Is a trombone glissando\n", "more like a linear or exponential chirp?" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "class TromboneGliss(Chirp):\n", " \"\"\"Represents a trombone-like signal with varying frequency.\"\"\"\n", " \n", " def evaluate(self, ts):\n", " \"\"\"Evaluates the signal at the given times.\n", "\n", " ts: float array of times\n", " \n", " returns: float wave array\n", " \"\"\"\n", " l1, l2 = 1.0 / self.start, 1.0 / self.end\n", " lengths = np.linspace(l1, l2, len(ts))\n", " freqs = 1 / lengths\n", " \n", " dts = np.diff(ts, prepend=0)\n", " dphis = PI2 * freqs * dts\n", " phases = np.cumsum(dphis)\n", " ys = self.amp * np.cos(phases)\n", " return ys" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the first part of the wave:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "low = 262\n", "high = 349\n", "signal = TromboneGliss(high, low)\n", "wave1 = signal.make_wave(duration=1)\n", "wave1.apodize()\n", "wave1.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the second part:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal = TromboneGliss(low, high)\n", "wave2 = signal.make_wave(duration=1)\n", "wave2.apodize()\n", "wave2.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Putting them together:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wave = wave1 | wave2\n", "wave.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's the spectrogram:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sp = wave.make_spectrogram(1024)\n", "sp.plot(high=1000)\n", "decorate(xlabel='Time (s)', ylabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 6\n", "\n", "Make or find a recording of a series of vowel sounds and look at the\n", "spectrogram. Can you identify different vowels?" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists('87778__marcgascon7__vocals.wav'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/87778__marcgascon7__vocals.wav" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wave = read_wave('87778__marcgascon7__vocals.wav')\n", "wave.make_audio()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave.make_spectrogram(1024).plot(high=1000)\n", "decorate(xlabel='Time (s)', ylabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The stripe across the bottom is probably background noise. The peaks in the spectrogram are called \"formants\".\n", "\n", "In general, vowel sounds are distinguished by the amplitude ratios of the first two formants relative to the fundamental. For more, see https://en.wikipedia.org/wiki/Formant\n", "\n", "We can see the formats more clearly by selecting a segment during 'ah'." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "high = 1000\n", "\n", "segment = wave.segment(start=1, duration=0.25)\n", "segment.make_spectrum().plot(high=high)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The fundamental is near 100 Hz. The next highest peaks are at 200 Hz and 700 Hz. People who know more about this than I do can identify vowels by looking at spectrums, but I can't." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 'eh' segment has a high-amplitude formant near 500 Hz." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "segment = wave.segment(start=2.2, duration=0.25)\n", "segment.make_spectrum().plot(high=high)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 'ih' segment has no high frequency components." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "segment = wave.segment(start=3.5, duration=0.25)\n", "segment.make_spectrum().plot(high=high)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 'oh' segment has a high-amplitude formant near 500 Hz, even higher than the fundamental." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "segment = wave.segment(start=5.1, duration=0.25)\n", "segment.make_spectrum().plot(high=high)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 'oo' segment has a high-amplitude formant near 300 Hz and no high-frequency components" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO2deXgcV5W339Pdau2SbUm2ZXmPndjZFydxCIGACSQhkMAkTIBJQggTvo8M68wwYTaGYb4BBoYdMoQkEJgQEtaYEMi+b7bjNd5ieddiS7K1WVJLvdzvj7rVakktqWWru8rt8z6Pnu66Vd19u9yuX51zf/dcMcagKIqiKH4j4HUHFEVRFCUdKlCKoiiKL1GBUhRFUXyJCpSiKIriS1SgFEVRFF8S8roDANXV1Wb+/Pled0NRFEXxgNdee63NGFMzvN0XAjV//nzWrFnjdTcURVEUDxCRvenaNcWnKIqi+BIVKEVRFMWXZCRQIvJZEdksIq+LyP0iUiQiC0TkVRHZISIPiEjYHltot+vt/vnZ/AKKoihKfjKuQIlIHfApYJkx5nQgCFwPfA34ljFmMdAO3GJfcgvQboxZBHzLHqcoiqIoEyLTFF8IKBaREFACNANvB35t998LXGOfX223sftXiIhMTncVRVGUE4VxBcoY0wh8A9iHI0ydwGtAhzEmZg9rAOrs8zpgv31tzB5fNbndVhRFUfKdTFJ8U3GiogXALKAUuCLNoW5Z9HTR0oiS6SJyq4isEZE1ra2tmfdYURRFOSHIJMX3DmC3MabVGBMFfgu8CZhiU34As4Em+7wBmANg91cCh4e/qTHmTmPMMmPMspqaEfOzFEVRlBOcTARqH7BcRErsWNIKYAvwNHCtPeYm4CH7fKXdxu5/yuiiU4qlvqWbe17Y7XU3FEU5DshkDOpVHLPDWmCTfc2dwD8AnxORepwxprvtS+4Gqmz754Dbs9Bv5Thl5fom/v3hLeg9i6Io45FRqSNjzBeBLw5r3gVckObYCHDdsXdNyUdiCUeY4glDKKjmTkVRRkcrSSg5Je4KlEZQiqKMgwqUklPcCCqR8LgjiqL4HhUoJadoBKUoSqaoQCk5JWZDJ1eoFEVRRkMFSskp8WSKTwVKUZSxUYFSckosbgVKU3yKooyDCpSSU3QMSlGUTFGBUnKKuvgURckUFSglp2gEpShKpqhAKTnFdfGpSUJRlPFQgVJySjyl1JGiKMpYqEApOSWmKT5FUTJEBUrJKToPSlGUTFGBUnKKOw9KIyhFUcZDBUrJKToGpShKpqhAKTnFdfFpAKUoynioQCk5RSMoRVEyRQVKySnq4lMUJVNUoJScoi4+RVEyZVyBEpFTRGR9yl+XiHxGRKaJyOMissM+TrXHi4h8V0TqRWSjiJyb/a+hHC/ENMWnKEqGjCtQxpjtxpizjTFnA+cBvcDvgNuBJ40xi4En7TbAFcBi+3crcEc2Oq4cn2gtPkVRMmWiKb4VwE5jzF7gauBe234vcI19fjXwM+PwCjBFRGonpbfKcc9gLT6PO6Ioiu+ZqEBdD9xvn88wxjQD2Mfptr0O2J/ymgbbNgQRuVVE1ojImtbW1gl2QzleietEXUVRMiRjgRKRMPBe4FfjHZqmbcTVyBhzpzFmmTFmWU1NTabdUI5zYmqSUBQlQyYSQV0BrDXGHLTbB93UnX1sse0NwJyU180Gmo61o0p+oPOgFEXJlIkI1AcZTO8BrARuss9vAh5Kab/RuvmWA51uKlBRkhGUpvgURRmHUCYHiUgJcBnw8ZTmrwIPisgtwD7gOtv+CHAlUI/j+Lt50nqrHPfEVaAURcmQjATKGNMLVA1rO4Tj6ht+rAFum5TeKXmH6+KLq4tPUZRx0EoSSk7ReVCKomSKCpSSU9TFpyhKpqhAKTkjkTDJZTbUxacoynioQCk5I5YiSpriUxRlPFSg8pzfrWugob3X624AQ6MmTfEpijIeKlB5TDxh+OwDG3hwTYPXXQEGHXygEZSiKOOjApXHuBFL30DM4544aASlKMpEUIHKY1xBiET9MekodQxK9UlRlPFQgcpj3JRaXzTucU8cUiModfEpijIeKlB5jDvk4xeBGhpBqUApijI2KlB5jBtB9ftEoNy1oEAjKEVRxkcFKo9xnXL+iaDUxacoSuaoQOUxgy4+fwiUuvgURZkIKlB5jJ9dfFrNXFGU8VCBymMGBcp/EZSm+BRFGQ8VqDzGjVj8MwalKT5FUTJHBSqPSfhMoOJqklAUZQKoQOUxMZ+l+GJxnQelKErmZCRQIjJFRH4tIttEZKuIXCQi00TkcRHZYR+n2mNFRL4rIvUislFEzs3uV1BGI9Uk4YeUmrr4FEWZCJlGUN8B/myMWQKcBWwFbgeeNMYsBp602wBXAIvt363AHZPaYyVjUgWhP+a9bU5dfIqiTIRxBUpEKoC3AHcDGGMGjDEdwNXAvfawe4Fr7POrgZ8Zh1eAKSJSO+k9V8YldZzHD2m+uJY6UhRlAmQSQS0EWoGfiMg6EblLREqBGcaYZgD7ON0eXwfsT3l9g20bgojcKiJrRGRNa2vrMX0Jl3/+/Sb++7Htk/Je+UCqIPjBKBHTYrGKokyATAQqBJwL3GGMOQfoYTCdlw5J0zbiamSMudMYs8wYs6ympiajzo7Hun0dbGjonJT3ygdSTQl+ECh18SmKMhEyEagGoMEY86rd/jWOYB10U3f2sSXl+Dkpr58NNE1Od8cmnjDEdHAjScJnKT6dB6UoykQYV6CMMQeA/SJyim1aAWwBVgI32babgIfs85XAjdbNtxzodFOB2SaWMEMugl6QSBi+9IfN7DvU62k/YKgg+EGgdD0oRVEmQijD4z4J3CciYWAXcDOOuD0oIrcA+4Dr7LGPAFcC9UCvPTYnJHwQQbV09/OTF/ewsKaMG6rmedqX1Cilb8D7yDI15agpPkVRxiMjgTLGrAeWpdm1Is2xBrjtGPt1VPghgnKXlPBDCsuvEVQwIL44P4qi+Ju8qiThjEF5neIb7IvX+NXFFw4G8MHpURTF5+SfQCW8TWW5qSs/zPPxm0C5Lr5wKKApPkVRxiWvBCrmgwjKFQU/RFCpYu2HZd+TEVQooCk+RVHGJa8EKmG8H4NyIyc/RAipUZw/IqjBFJ8fBFxRFH+TVwIViyc8d/G5F14/RAhDJur6wcVnz0lhKOCLFKiiKP4mrwQqYfA8gnIFyut+gI8jqJBGUIqijE9eCVQskfBcGHwVQfnMZu5GdI5JwuPOKIrie/JKoOIJQ9TrFJ+fxqBS5h35QaDiiQQiOg9KUZTMyDuB8jp1lEi6+DztBjAYQZWGg75I8cUShlBACIp4/u+kKIr/yRuBMsY4Y1A+sZn7wQTg9qW8qMAnEZQhGBACAfFFhKkoir/JG4EaNCf4JMXngwjB7UNpYZC+qPchnRNBBQiKpvgURRmfvBGoWDJy8dag4K+Juq5AhYgM+CeCCgbEFxGmoij+Jm8EKlUQoh5GUX4SKFeoywpDRGLeC1QskSCUTPF53RtFUfxO/ghUyh25l+Lgp0oSgyaJEH1+iqDEHzZ8RVH8Tf4IVMotedTD23PXveeHC3DCGESgxC8uvrh18QXUxacoyvjkj0D5JILyU4rPtXUXFgSI+MAkEU8YgkEhIDoGpSjK+OSPQKUIgpf1+PyU4kv4zJSQdPFpBKUoSgbkjUDFhpgkvLv4Jd2EPrgAxxKGoAihgD9q3+k8KEVRJkJGAiUie0Rkk4isF5E1tm2aiDwuIjvs41TbLiLyXRGpF5GNInJuNr+AS6ogxD0cg3L74XVNQEgRBJ9Ubki6+HQelKIoGTCRCOptxpizjTHL7PbtwJPGmMXAk3Yb4Apgsf27Fbhjsjo7FjGf2cz9kFJzBSoU9IdApbr4NIJSFGU8jiXFdzVwr31+L3BNSvvPjMMrwBQRqT2Gz8mI1AuwpyYJH1WSiCUMwUDARxGUSc6D8rjgh6IoxwGZCpQBHhOR10TkVts2wxjTDGAfp9v2OmB/ymsbbNsQRORWEVkjImtaW1uPrvcpDJmo66VJwkfFYh2TBIQC4nkJKEiNoPxh2lAUxd+EMjzuYmNMk4hMBx4XkW1jHCtp2kZcjYwxdwJ3AixbtuyYr1ZDXXzeR1B+uAC7rrlAQEgYp6CuSLp/nhz1J64uPkVRMiejCMoY02QfW4DfARcAB93UnX1ssYc3AHNSXj4baJqsDo/GEIHSeVCAI5LBgBAKOKLkdZ9SXXx+EHBFUfzNuAIlIqUiUu4+B94JvA6sBG6yh90EPGSfrwRutG6+5UCnmwrMJqkpLC/nQfnJJBFLmQcF3hsTYokEoaCuB6UoSmZkkuKbAfzOpoZCwC+MMX8WkdXAgyJyC7APuM4e/whwJVAP9AI3T3qv05DwWSUJr9elAmcF2yEC5ZMISlN8iqJkwrgCZYzZBZyVpv0QsCJNuwFum5TeTYBUQfByoq6fKknE7UTdoHgrUAOxBE9sPUjU1uJzSh150hVFUY4jMjVJ+J5UQfA2xec8+mEianx4is+jPj2/o5VP3LcWEZgzrZhgwPtoTlEU/5M3pY78YpLwXQRlJ+q6217Qa5f6MAbHVSha6khRlPHJG4GK+cRm7n62HyIo1yQR8DjFlzovLeni88H5URTF3+SNQCWGRFAepvh8FEEljDPmE/LYxZd6wxCyE3X9cH4URfE3eSNQfomg/FRJIhY3BGzE4m57wUCaCMrYicOKoiijkTcC5bsIyielhVIjKK/mZqWm+Nx5UE5/POmOoijHCXkjUDG/mCR8VEkiboa6+Lw6L65Avf/cOi5ZXEPQ/ur8cI4URfEveSNQvqnFl6wk4VkXkgy3mXtlTIjaf4+vvP8MrjyjNply9EO1DUVR/EteCpSX1cxjfoqghk3U9TqCKgg4PzevJw4rinJ8kJcC5eWFL+Gj9aD8MlE3Gk8k14ECfFMbUFEUf5M/AmX8MQblp2Kx8YRxTAmeC5RJThYGkvOydC6UoihjkTcC5RubuRUmL0XSJZ4wBMT7auYDsQQFwcGfmteCqSjK8UHeCFQ8ZdzJU5u5G0H54OLrLrHutSBE4wnCKQJlu6MpPkVRxiR/BCrlWhf11MVnH31w8Y0nnIm6XgtULG6GRFBJF5/3U8UURfEx+SNQKVc7LyfJup/th/SVO1HXa9dcNJ6gIDQ4BjU4Udf7c6Qoin/JI4FyHsOhgLcRlP1oP6T43Im6XlczH4gn0kZQfhBxRVH8Sx4JlKNQhaGAtzZzdx6UD6ID12buh2rm7hwo0AhKUZTMyBuBcl1zhaGgT0wSnnUhiZPiCxCy4uClzXxIik8jKEVRMiBjgRKRoIisE5GH7fYCEXlVRHaIyAMiErbthXa73u6fn52uDyWRMIhAOCgep/hcm7n3CuXazN3gxctKEmlNEhpBKYoyBhOJoD4NbE3Z/hrwLWPMYqAduMW23wK0G2MWAd+yx2WdmC3rEwr6I8WX8MFyErFEglBQfBBBDZsHlUw5etIdRVGOEzISKBGZDbwbuMtuC/B24Nf2kHuBa+zzq+02dv8Ke3xWSTUEeFmLL3XsyesMViKBnajrbHs1LhaNmyHzoLSauaIomZBpBPVt4POAe+WvAjqMMTG73QDU2ed1wH4Au7/THj8EEblVRNaIyJrW1taj7P4g8bgVqIB4euHzS01AsBFUQAgmIyhvhNuJoNKUOtIUn6IoYzCuQInIVUCLMea11OY0h5oM9g02GHOnMWaZMWZZTU1NRp0di1jCFSiPbeaJ1AjKu34YY0gYx5DgdUptIJYgpKWOFEWZIKEMjrkYeK+IXAkUARU4EdUUEQnZKGk20GSPbwDmAA0iEgIqgcOT3vNhJIwzKbUgKL5w8Q1/7lU/ggEhmJwH5c15iSXMsFJHWs1cUZTxGTeCMsZ8wRgz2xgzH7geeMoY82HgaeBae9hNwEP2+Uq7jd3/lMmBW8CNoIIep/gSfqmqblIEyuMIakSKz0ZQXptIFEXxN8cyD+ofgM+JSD3OGNPdtv1uoMq2fw64/di6mBkJN8UXDHhrkkhN8fklggp4G0FFh1czVxefoigZkEmKL4kx5hngGft8F3BBmmMiwHWT0LcJkbSZB7x28aU+906g3OgtZI0j4GWpI0NBKHUeFJ72R1GU44O8qSQRTxiCQTeC8jJyGRRHLyMo97OdibreL/leENBisYqiTIy8EqhQIEBBwGuTRMpzP0RQwcEIyitBiA2fqKsuPkVRMiCvBCogzsXP0xV1feLiS6QZg/Iughqe4lMXn6Io45NXAhUKBCgIBnzhngNvC8a65yCYsuS7FylHY8yI5TaSKT6NoBRFGYO8EaiYXT02FPTYZp7y2X6Yj5VqM/dCuN3PDKfYzDXFpyhKJuSNQMWTZX28dvGZwYjFwxRWqkAFAoKINxGL+29RkGairpokFEUZi/wRKFvWpyAQ8HQMKhY3yUmpXs7zSZ2oC05azYsIKhpzzRrpTBI5746iKMcR+SNQiUSyrI+XY1AJY5LRgl9KHbmPXpgSojbNGR5SLNZ51AhKUZSxyCOBMjaC8tpmbii0jjUvL8BuFBlKFSgPIsu0KT4fpEAVRfE/+SVQdsFCT23mZrAwqh9qArpLbXgWQdkUX/pSRypQiqKMTt4IVCxhkpNSvY6g3Dk/XqYakzZz+y/sVRHdATeCCulEXUVRJkbeCNRgsVhvJ+rGE4NjUP5w8Tl98WohRzfFF05TzVxTfIqijEXeCJRbLDYYcCbqerWUQ6pA+cIkYdNpAfFGoAbHwrSauaIoEyNvBCrVJOFue9IPY5LRgl+W2wDvIqixU3yqUIqijE7eCZQ738ar8Z9EAsL2YuxlrbnhAhXwOMWXumCh+9zLqvOKovif/BMojwujxo0ZFChPTRKOMAyJoLxw8SXHoAZ/aoM3ERpBKYoyOvkjUMY4i/PZu/OYRwMcfjFJuJ8dSomgPKkkkWYelNsnjaAURRmLvBGoWNwtFutdis8dc3Ivxl6XXIJhEZQnE3VHzoPyw/lRFMX/jCtQIlIkIqtEZIOIbBaRL9n2BSLyqojsEJEHRCRs2wvtdr3dPz+7X8Eh4UZQborPg4vfYOVu/0RQyTEo8TbFVzCsmrmImiQURRmbTCKofuDtxpizgLOBy0VkOfA14FvGmMVAO3CLPf4WoN0Yswj4lj0u68TsGJQrDgOx3F/8XFHwQ7HY2HAXn0fLkKRL8YET0UV1oq6iKGMwrkAZhyN2s8D+GeDtwK9t+73ANfb51XYbu3+FiAzePmcJ1yThGhQG4vFsf2TaPsDgxdhPLr6gR/OgkqWOQsMFKuDZOKGiKMcHGY1BiUhQRNYDLcDjwE6gwxgTs4c0AHX2eR2wH8Du7wSqJrPT6XBX1HULtUaiub/4uYLkiqQv5kFJSrFYL+dBBYfeo4SCoiYJRVHGJCOBMsbEjTFnA7OBC4Cl6Q6zj+mipRFXIhG5VUTWiMia1tbWTPs7KvGEISCpEZQHKb7EUIHy1mY+3CQR8KiSxEibOThRptrMFUUZiwm5+IwxHcAzwHJgioiE7K7ZQJN93gDMAbD7K4HDad7rTmPMMmPMspqamqPrfQpxWyy2MBQEoN+LCGqYScIPS8+7tvtAwJv+pHPxgTMGpS4+RVHGIhMXX42ITLHPi4F3AFuBp4Fr7WE3AQ/Z5yvtNnb/UyYHhfH8EEH5aQwqNizFFwoEPOmP++8QGpbiKwgGNMWnKMqYhMY/hFrgXhEJ4gjag8aYh0VkC/BLEfkPYB1wtz3+buDnIlKPEzldn4V+jyCWSBAKSHIMqj/qgUnCDBMoDyOo4e45zyfqBoZFUEFRm7miKGMyrkAZYzYC56Rp34UzHjW8PQJcNym9yxBjDAnjjLcU+iGCCnm/nES/tdkXFgwut+GFaSMad24c3CU2XIJqM1cUZRzyopJEqqU6meLzYh6U/Ug/jEG539/tS0C8iaBicTNi/AmciEpt5oqijEV+CFRK1YSkScIDgRpuM/daoFKru3sVQQ3EEyMs5oDnC0sqiuJ/8kOgfBJBDXfxeZviiw+xdgcD4omtOxpPpI2gQsGApvgURRmTvBKoISaJmPeVJLxa8gMcgXbHn8ARKC+6E42NluITTfEpijImeSVQfomgCnxQSaI/lvBPBBXSFJ+iKBMnLwQqtWpCKCAExJsxKDelF/ZBsdi0EZQH/YkmRomgtJKEoijjkBcClUgRKLGTdT2NoHwwUXdEBCUeRVDD+uES8mhelqIoxw95IVDDqyaEgwFPXXxBG8V5nuKzjkaAYFA8iehGM0kEA1pJQlGUsckLgRq+tERhQdCbFF9KP4IBbxYIdOmPxZOGEXCX28j9OemPpbeZFwTVJKEoytjklUC59d7CQW9SfKmRXMCj9ZdcBmKJpGEEvFtuoy8apyQ8smBJKBjQFJ+iKGOSFwLlXugC4kZQAU9s5m4EFXAjKC8FKp4YGkF51J/egTjF4eCI9oKAJOv0KYqipCMvBMp1z4VsQVKvIqjUMSivBao/OlSgQh6lHCPROMUFIwVKbeaKooxHXgiUe6Fzx+K9GoOKp0RyzsRYryOoQWEIeJXiGxhNoDTFpyjK2OSFQCWSkYvzdQo9iqASqRGUx2NQ/bH4kDEor2zdvQOxUVN8Og9KUZSxyAuBmllZxJevOZ0lM8sBp1irN6WOnEd3eQlPI6jY0BRfQARjcm99j0QTaQUqGAhoik9RlDHJZMFC31NdVsgNy+cltwtDATr6vEjxOZ8ZED9EUIkRERQ442QBRtq+s0EsnmAgnkib4isIqklCUZSxyYsIajjhUID+qBcC5Ty6JgnPi8WmRlCuQOWwT312VeOSNBFUKKiVJBRFGZu8FKjCUMCbFXXNoFkj6NH6Sy6jRlAeCFRROpNEIEA8YTAepkEVRfE3eSlQXtXiSwxz8Xk1xBJPGOIJM8TFF0xJ8eWKvoHRIyi3uoSWO1IUZTTGFSgRmSMiT4vIVhHZLCKftu3TRORxEdlhH6fadhGR74pIvYhsFJFzs/0lhlMY8tZm7nUtvuRy78Mm6gLEcygIbgQ1ms0cvF11WFEUf5NJBBUD/tYYsxRYDtwmIqcCtwNPGmMWA0/abYArgMX271bgjknv9Th4Vs3cJxN1XQdjahXxkIcRVFG6MSjbn6hazRVFGYVxBcoY02yMWWufdwNbgTrgauBee9i9wDX2+dXAz4zDK8AUEamd9J6PQTqb+Wd+uY5//v2mrH7u0AjKu2KxrjinrgfliUnCTfGlHYNy+qNWc0VRRmNCY1AiMh84B3gVmGGMaQZHxIDp9rA6YH/Kyxps2/D3ulVE1ojImtbW1on3fAwKQ85SDqkptrX7OtjW3D2pnzOceEqxWC9NEm56M20E5YFJIt08KDfFpxXNFUUZjYwFSkTKgN8AnzHGdI11aJq2EVdFY8ydxphlxphlNTU1mXYjI5LLvtuLnzGGg10RegeyO3nXnZgbsCv7emWj7k9GUCmljsRDgRplHhQ4K+4qiqKkIyOBEpECHHG6zxjzW9t80E3d2ccW294AzEl5+WygaXK6mxmue829UHf2RemPJegdiGX1c1MjKC8rSaQdgwrmXqDcG4K0EVRAIyhFUcYmExefAHcDW40x30zZtRK4yT6/CXgopf1G6+ZbDnS6qcBckYygrEAd7OoHoCfLEVSyWKzHtfjSjkHZCCqXUV1kTBef2swVRRmbTEodXQzcAGwSkfW27R+BrwIPisgtwD7gOrvvEeBKoB7oBW6e1B5ngFtBwY0kDnRFAOjtz24ElVos1qvq4ZCS4hsyBuU8z2VUN1YEVaA2c0VRxmFcgTLGvED6cSWAFWmON8Btx9ivY6JwRARlBSoaJ5EwSUfbZONGJyEbQXlVrTtdBOVqVS5dc0mbeWgMm7mm+BRFGYX8rCQRdCMo5+LXYgXKGIhkscr5iEoSXk/UDaZWksh9BBWJxikqCKS9IXAjKK3HpyjKaOSlQLmRg3uhdlN8AD392ROo4cViPU/xpYugcmySSDf+5PTHnQelEZSiKOnJS4FyI4f+YSYJIKtOPndibkCwtfg8iqDiI118bgSVa5t5STh9FllNEoqijEdeCtTwCOpgjiKoAVtBXEQIe7SqL5BcamRILT4v5kENOCm+dAym+DSCUhQlPXkpUINjUI4YHeyKUFtZBGQ3gopE4xRZUSgJB7M+MXg03AnKhemKxfolgtJSR4qijENeClRqBBWLJ2jt7mdBdSmQ3blQkWg8aakuCgeT84ByTdoIyqNafKONQalJQlGU8chLgXIjqIF4gkM9AyQMSYHK5lyovmg8uThfSUEwabPONYMRlLfrQfVG42krmcPgGJSaJBRFGY38FCh3om40QWNHHwAn1ZQBZDXtFokORgzF4SC90bgnK8b228jNrXcHqRFU7gQhMhBPW8kcBicOay0+RVFGIy8FKlmLL55gd2sPAKfXVQLZHYPqiyaSBVqLCoIYgycLJ/bHExRas4aLK1YDsdyOQaWrIgGpY1AaQSmKkp5MSh0ddwxGUHEOdkYIBoQlteVA9segUk0S4DrZ0l+ks4XrJkyl1JoVsl0wN5XeMb77YIpPIyhFUdKTpxHU4BjUrrYjzJ1WQnlhCJHsjkGlmiTcVF+fB0aJ/lhiyPgTQEmhs53tgrmpRKLxpFAPxzVJ6Iq6iqKMRl4KlGuSiEQT7GrtYUF1KSJCaTiUgwhqcAwKvBGogVhiiMUcUiKoLBfMdTHG0DsQG9XF58UCioqiHF/kpUAFAkLdlGK2NHWy51APC62Dz5mblF0X34gIygMnX38agSouCCICPTkSqIF4goRJX8kcBlfU1UoSiqKMRl4KFMCKpdN5ensrkWiCBTWOQJUWhrJaSSISTSQrJ7gTVL2JoOIjxqACAaGkIJizFF9kwEndjT4PSk0SiqKMTR4L1Ixk+mhhtWMxz3YEFUkxBRSHnVPrRTWJ/jQmCXAEOlcmiR77OaO7+HSirqIoY5O3ArV84TRK7cVxYc1gii+rEVQsRaAKbATlgUClG4MCR6COZPH7p7LL2vvnTitJu1/Xg1IUZTzyVqAKQ0HeekoN5YUhppcXAk7aLVsRRCyeIBo3QybqAp6UOxotgioJB3NmktjS3AnA0tqKtFzCPoIAACAASURBVPsDASEgajNXFGV08nIelMu/XnUajR29yQmrpYVBGjuyIxgROyHXHYNyhcqLFN9ALEFlccGIdieCyo1AbW3uZmZFEdNKw6MeEwoG1GauKMqojBtBicg9ItIiIq+ntE0TkcdFZId9nGrbRUS+KyL1IrJRRM7NZufHY2ZlEefNm5bcLgmHshZBuKm84RGUFyaJI/0xSgtH3nuU5rDC+tbmLpbaydGjURAQ4hpBKYoyCpmk+H4KXD6s7XbgSWPMYuBJuw1wBbDY/t0K3DE53ZwcSsPZc7G5qbzCguE289xVbnBpO9JPVZrIpaQwlDQvZJP+WJz6liOcOit9es8lFAyoSUJRlFEZV6CMMc8Bh4c1Xw3ca5/fC1yT0v4z4/AKMEVEaiers8dKSWEoa6YFV6BcYQqHAoQCkvMIaiCWoDsSS5taKwuHcjIPasfBI8QSZtTxJ5eCoKhJQlGUUTlak8QMY0wzgH2cbtvrgP0pxzXYthGIyK0iskZE1rS2th5lNyZGaTjIQDwxZKXblq7IpFQcj0TdMahBW3VxQe4XLWzvHQBIK1AlhUF6c+Di29rcBYxukHAJBQJqklAUZVQm28UnadrSXoGMMXcaY5YZY5bV1NRMcjfSk5w8a0Vjx8FuLvrqUzzzxrELZN+wCAqccahcu/gOHXEEqrpspEA5pZ5iWV8CZEfLEcKhAPOrSsc8LhQUNUkoijIqRytQB93UnX1sse0NwJyU42YDTUffvcml1BZMPWLHYf78+gHiCUP9wSPH/N6uELkuPnAEKtfzoA73uBFU4Yh9pYUhEmYw2ssWje19zJ5SnFyDajRCAdEISlGUUTlagVoJ3GSf3wQ8lNJ+o3XzLQc63VSgH3Av2m3d/QA8sc3R1ebOyDG/96BAeZviO9TjfLd0Kb7SZEXz7I5DNXT0UTe1eNzjHJOERlCKoqQnE5v5/cDLwCki0iAitwBfBS4TkR3AZXYb4BFgF1AP/Bj4RFZ6fZTUVhYBcKArQktXhA37OwBo7uw75vfuSydQ4WDOTRJuii+ti8+mOLNtlGhs72NWZQYCpRGUoihjMO5EXWPMB0fZtSLNsQa47Vg7lS1mugLVGeHJHid6mllRNCkRVL9Nm6XWnisu8CbFFwxI2om6ZW4EldWCuXHajvRnFEEVqM1cUZQxyNtSR+mYVhImHAzQ3Bnhtb3tVJeFefPiag5MgkAlI6iUEkMlXkRQPQNMLSkgkGb8pyQHq+q6Yl83JZMUn9rMFUUZnRNKoAIBYUZlIQc6+9jT1sNJNWXMqiyipTtyzMs+pBuDKirwIsXXT1UagwSQrC6RzXJHje1OujSjCCrHNvP+WJyuSDRnnzcRjDG83thJwkcR5fee3MFN96zi+0/tyLrzU1HScUIJFAym9Ha3OSvt1k4pJmGgxRonjpZ0Y1AlHrn4Rqt/55oksmncaOzoBTKPoHJpkvjiQ5u55vsv+vJi+9S2Fq763gt88Mev0NRx7GOik8HPX9nLC/VtfOOxN2ho90eflBOLE0+gKoupbznCoZ4BFlSXJselHt18gPd874WjvsOORBOEg4Eh1upiDyKowz0DTEszBwoGl33Ppkmisb2PgAyO941FKBjI2Yq6kWichzc2s6utJ3mxfW1vO9f9z0t09nofVW3Y30FAYFNjJ//vka1ed4ee/hgt3f2cM2cK4KSOFSXXnHACVVtZlPzPNr+6NOns+8HT9Wxq7KS+xZkT1dkX5d3ffZ5NDZ0ZvW8kGh8yBwqgOBzywGY+kNbBB4MpvqwKVEeEGRVFFATH/2kVBHI3BvXcG63J1Oaq3U7lrpd3trF6Tzv3vrwnJ31IpTsS5fXGwd/WluZuFtaUcdWZtTz/RqvnKw3vbnPW8zpv/lTASR0rSq454QRqZsXgnf3C6lJqK5xUVJu1Z7d0Of8RN+zvYHNTF6/sOpTR+zoCNXT12OKCIAOxRHJl32wTjSfo7IuOmuIrCbvzoLKb4puVQXoPoLqskINdubnw/XFTM1NKCqgsLkgKlGvouOfF3TlbhsTlq3/axl/c8VJy7HLbgS6W1lZw6SnT6YrEWGenQHjFnkOOQJ1vVwNwpy8oSi454QTKjZhEYM60EiqKQ0PKE7V0Oxet7Qe6AWjMcDygLxofsbx5SY4XLWy3kWFVWXqTRGHISUFmy8XXOxBjd1tPRuNPAPOqS2g70p/ViO6VXYd401eeZOWGJi4/bSbnz5/K6j2DAlVeFKKjN8qv1uwf550mj2g8wSObmumPJahvOUJXJEpDex9LZpZz8aJqggHhme0t479RFtltV0Q+b54TQbX1aASl5J4TTqDcsZG6KcUUFQQREWqnFBEOBgjIYAS19YBT8DTTAetINE5RaKhAFYVzu2iha/QYLcUnIs6SI1mYB9XY0cf7f/gSLd39vPO0GRm9Zt40p1bf3kO9k94fl8c2H6StZ4DbLl3Ep1Ys5vz509jV1kNrdz/NnREuXDCNRdPLeGZ7bgoWA7xY30a7Hffa0tyVvBlaWltOZXEB582dmtP+pGN3Ww+zKouYWhqmNBzUCErxhBNWoBZUDxYyXb6wivedU0dNeeGYEdTW5q5klDKcvmgiKUgubmSWqwjqf57dSWEowNl2YDsdpYWTv+RGY0cf19/5Mo0dffz05gu46sxZGb1uXlUJAHttOikbbGnuZGltBX/3rlOYNaWYZfOdlNXafe0c6OxjZmURF59Uxardh4dUuc8mD29sprzIidy3NnexbVj19zctqmJzU1fOHaCp7D7Uw3z7f6SqrFDHoBRPOOEEqqaskFBAWJgiUP/5vjP42rVnMr28iINd/cTiCXZYs4QbQa3b1857v/8C//Xo9rTv60RQQ09nSQ4jqBfr23h4YzOfuHTRmGNAJeHgpNfiu/03G+noifLzWy7krSdnXpneFag9WYqgjDFsaeritJSFE5fMdFb53djQQXtvlNrKYi46qZq+aJwNDdkf94knDI9tPsBlp87g5JnlbG3uYuuBbiqLC5LjoyfVlAGw73D2IsvxcKdhAFSVhbPi4uuKRDM2g3zpD5v52L2rJ70Pir854QQqFAxw543n8fG3njRi34yKQlq6+9lzqJeBWIJF08to743S3NnHbfetJRo3rNqd3jQRSTMG5ZYbasvB3ecdz+ykbkoxH3/rwjGPm1ISpq178i423ZEoL+88xIeWzx0zcktHeVEB1WVh9h3OTgTV0N5HVyTGqSnrUpUWhpgzrZhn7RIrtZVFXLSwChFH5LPNpsZOuiIx3nbKdE6tLWdLUxePbznIefOmIuJMURgU7uxFlmPR3jNAR290UKBKC5MmoskiFk9w2Tef5d3ffYEdB7vHPf6l+kM8sbUlaXBRTgxOOIECePuSGWmjjJryIlq6Imyz409vX+Ksw/jDp3fS1BnhXafNYGdrT9o0X7oxqNPrKhGBtXvbs/AtBmnpivDSzjb+4rzZI5yEwzmjrpJNjZ2TZu9+sf4QsYTh0pOnj39wGuZOK2FP28hI4Y8bm4+5gsEWmzobvvT8KTMqeL3R2TezsojKkgJOn1XJS/WZOTaPBVcE33RSFUtrK+iKxGjt7ufjbxm8sXDH5vZlcWzO5TtP7ODLD2+hO2X+31O2yv/iGU60WV0WnvSbrA0NnRzs6mdX2xHef8dLNHX08e9/2MLXH92WPOaB1fu49WdrMMYko8kfPF0/qf1Q/M0JKVCjMaOikEM9A2xq6CQYEN6y2ElXPbS+kTnTirn54gUArNs/UnDSufgqiws4eXo5q7MsUA9vbCZh4L1njT/2c+68qfRF42xrHv+uNROefaOVssIQy+x8mYkyv6o07RjUnc/t5BuPvcGPn9911H3b0tRFQGDpzGECNbMs+bzWVl2/cME01jd0ZH3+0Yv1bSytraCqrDA55nThgmlcuLAqeUxlSQFTSwqyHkFF4wnueLaeu1/YzZXffZ6uSJS2I/38xx+3cO7cKbx5UTXgpPgO9wwMKcMUicbpjx196vqFHW2IwK/+z5uIJwzv/+FL3PPibn7zWiMAz2xv4Qu/3cRjWw6ypbmLvmicudNKePaN1uT4sJL/qEClML3cGQN4eGMzp9dVsrDGuZPtisS4+KRqzpo9hVBAWLNnqOAYYzgSiaWNXs6bP5V1e9uzOhfqoQ1NnF5XwaLpZeMe69qG1+6bmGj2DcT50h82c+a/PcpHfrKKl+rbMMbw7PYWLl5UldHE3HTMqyqluSsyxEjSH4uzpbmLknCQr/xpW3IJeZfHNh/g+0/tGPecbm7qYkF16Ygbh5NtZACD0w5Oq6tgIJZgZ2t2ROHVXYd4cPV+1uxt582LHDE6o66Sy06dwT+/+9QRx8+tKs36GNTmpi4i0QQ3XTSP/Yf7+N9X9vLFlZvp6Y/zX9eemayKUlVaSDxh6OwbjLJu/slqPvfAhgl/ZkfvAO09A7xQ38rpsyo5e84U/undSznQFaE0HORAV4SO3gH+/tcbqbAp8ie2OBHdp1YsJhgQfr++cRK+vXI8oAKVwowKZ/5QY0cflyyqZnp5YfI/6ZsWVVMcDnLarApeGxYR7W7rob03yhl1lSPec9m8qXT3x3hjjDz7Gwe7+fYTbxxVOquxo48N+zt4T4bOuVmVRcysKBrxHdLRNxBPrpX1yfvX8ZMX93DhwireONDNh+56lUu/8QxNnREuO3XmhPvtMr+6BGPgJy/uSd6Rb23uJho3yQv3n18/kDy+tbufv31wA9947A1uvOdVPnbvGu59aQ9H+mN88v51fPVP29h7qIeWbiftee7ckZHdKdYoMbWkIHlTcdos599uc1NmlUMmQiQa57ZfrOPzv9nIQCzBm2xkUlQQ5Mc3LuOM2SN/N/OrSrIeQa2x88Fue9siLllczfeerOePG5v51IpFLJo+KOJVtnSWuxhmR+8Ar+w+xHNvtKa9SYjGE2lTyJ19Ud7z/RdY8c1nWbevg0sWO+fhQxfM5WcfvYCvX3cWAI9tOUhrdz9/fYmT9nxi60EAzp7jRHUr1zf5sp6iMvmoQKXgRlAAb15cTSgYSDqrLrIpmPPmTWP9/g7ajvTzD7/eyCfvX5ccV7h4UdWI9zzf2prX7G3HGMNvXmtIWnbdlMlX/7SNbz+xg5d2Do6BjGcF745E6Y/FedqOF6xYmtncIxHhvHlTkwKVSJi0aa2DXRGu/sELvPNbz1HfcoSnth3kE5eexI9vXMZTf3cpt7x5ATVlhXz92jP5i3PrMvrsdLx9yXSWL5zG1/68jS8/vAUguZDk25bUcM6cKTydMmn1vx/bTl80zv9560m8treddfva+eLKzVx7x0v8cWMTP35+F1d853k+ff96BmIJPvG2RSM+c2F1GaGAMDNlUcWF1aUUhgJsbuoacfzRsO1AF7f+bA1Xfe957n5hN21H+vnHK5fw+ctPSabOxmLetBIa2/uyan1fvecw86pKmF5RxCcuXURfNM6SmeUjDETVduK3a5R4eechjIHu/lgy3dY3EOdglzNF48a7V3Hrz9YMeQ9jDP/42000dUQoCjnrgL3ZCpSI8JaTa5Imm1+u2gfAO5bOoKo0zKbGTkRg9tRirj57Fo0dfRPOACjHJ+MuWHgi4UZQxQXB5J33vKoSyotC1JQ7+z68fC73vryHT/zvWlbZO9DtB7qYPbWYudNKRrzn7KnF1FYW8adNzcyeWszf/moDH1g2m/eeVcdtv1jLbW87KTko/bOX93Dxompe2NHGTT9ZxeffdUpat2FnX5Qrvv0c86tLKS4IMmdaMSfVlI44bjTOnz+VP25q5gM/epl9h3opKgjwxOfeSigY4KX6Nm7/7SYOdEUIiFME9xP3vUbCwPvOcYSoqCDIv1w1Mi11NJQXFXD/Xy/nsw+s56H1TfzLVaeyYX8HNeWFzKwoYsXSGXz90e1sP9DNHc/U8/v1TXzszQu4/YolfP5dpxBNJLjhrlWs2nOY/3zfGbz1lBo++pPVvLzrEB+9eMGQ+W4u4VCAJbXlQ/69QsEAS2orJiWC+u3aBm7/zSYK7YX4649uZ2ltBX99ycKkU2885lWVkjBOhJzuOxwrxhjW7Gnn0lMcc8vyhdP4r2vPZPmCkenaZARlBer5+jbCwQAD8QSr9xzm1FkVfPmPW/jDhia+9YGzedmWB9txsDtptLh/1X7+uKmZf7h8CX9xXh3PvdHG8gVDb+hqK4soLwyxdl8HpeEgi6aXsXhGGYd2HWZmRRFFBUHeedpMCkOb+N26Rs6zZZiU/EUFKoWqskICAhcunEbYzmn62l+cOSSNcVJNGR9YNpv7V+1nVmURh3sHeOPgEa4/f07ai4+I8LFLFvLlh7ewy45v/HZtI6t2H6azL8p/PrKNgqDw3rPq+N26Bho7+vjhM/XEE4av/GkbpYUhPnTBXB5cs583L65m9tQSvvLIVpo6IzR1RhCBG5fPy/jCB/ChC+fRFYnxx43NTK8oZGNDJ8/vaOPM2ZV86pfrKS0McsPyebz/3Dr+beVmVu9pZ8nM8uTFZrIREa45p47fr2/iuTfa2NDQwVmzpyAivH3JdL7+6Hbe870XMBg+vWIxt9moKBAQCgNB7rn5fLY0dXHBAueC9ctbl/Pgmv186MK5o37mj29cRnjYhfi0WRU8vMFJH412PiPRuFN1xKZ+mzr6qG85wiWLqxER7n5hN19+eAsXLaziBx8+l02Nndx231o+9fZFE/o3ml89aDU/WoFynXGffsdilswspz+WoKggyH8/tp37Xt3H4Z4BzrfmFhHhA8vmpH0fd32x15s6OXvuFF6sb+MtJ1ezuamL1XsO86EL5/LIpma6IzE+cd9aSsNBognD95+up7K4gGjc8Nu1DVyyuJqPv2UhgYBw7XmzR3yOiHDyzHJe29vOWXOmEAwIp8wo55Vdh5ljbybKCkNceUYtD61r4p+uPHXE+KKSX2RFoETkcuA7QBC4yxjz1Wx8zmQTDAh/87ZFLD9p8M5uTpqo6NMrTmZTYyd/e9kpPLH1IPe9uo+Lx0jbfPjCudz1/C6aOyP830tP4sfP7WLPoV6+9N7TuPuF3bzl5Go+/paTeGh9Izfds4r6liP8/btOYfWew/z7H7awuamL+1ft4+QZZdywfB6/XL2fW968gKe2tbC7rYdLl0zM4h0OBfjUisV8asViBmIJln/lSe5ftY+fvpSgqy/Kz2+5IOkwu/niBaze0857MnAIHgsXL6pmakkB33h0Oztbe5LR2pKZ5SysKSUWN/zww+dyeppxvrLCUFKcAKaWhtNGnqnUVo6cZnDarAp+8eo+PvTjV5lWFua2SxclLeq723r478e288TWg8yoKOJHN5xHZXEB1/2PU0HjqjNrqSoNc+/Le7ni9Jl85/pzCIcCvPXkGtb/62WEJmgiOammjHAwwLcff4M5U4uJRBPMrSqhoqhgzNcZY9h+sJuF1WV876l6/rz5AGv2trOwupSNjR3cdNF8fvTcLi5aWEXd1GLeddr444dTSwooLghyxzM7ueOZnQDc/Kb5lIRDvLr7EK/uOkxHb5QzZ1eysaGTD104n65IlN+ubSQcDFAYCjC1JMw3P3B22pWeUzl5hiNQ58x10n3uTdG8lP+H158/h9+ta+ThjU1cN4qoZkLfQByDSa403Xakny1NXSyeUUZtZTGHewb446Zm3ndOHWV2JYCnt7ewdGYF/bE4/7ZyM82dEd5z1qzkTZMyuUy6QIlIEPgBcBnQAKwWkZXGmC2T/VnZ4HPvPGXcY2ZWFvHwJy8B4GR7Z/q2MUSiqCDIF99zKv/7yj4+vWIxsXiC3W093HjRPD584VwCIgQCwh1/dR6fun8dZYUhbrhoHn95/hwu//Zz3L9qH+fMncL6/R38y0ObuWRxNX//rlO49JQa/ufZncnxsaMhHApwzdl13PPibgC+8v4zkuIEcPlpM/n6tWdy5Rm1R/0ZmVAQDHDFGbX84tV9XLyoir9aPg9w7qp/f9vFFIYCFIaye7fspnV3t/XwelMnf9rUzJfeexodvVG+93Q9hcEA7ztnNk9uPcjl336ecDBAOBTgI2+az89f2QvAu8+s5VsfODsZgQMTFidwJlT/4MPnctsv1vKObz6XbK+bUsypsyo4Z+4U2nsGiMYNFUUhHtrQRCxuCAWFvYd6uWDBNNbv6+AdS6ezbl8Hu9qOcFJNGT96bheLp5fxk5vPH3fOXGr/H/n0JexqPeJE7h19vO+c2RQWBFm5oYl/eeh1SsJBfnrzBfzw6XpufctC+qJxQgHhry9ZyEk1ZcSNycjpecoMx4l69hzn38I1tKSmYy9YMI2FNaXc8cxOdrX1cO7cqUTjCV7b284Ny+dRXV7Ir9fs5w8bmzlv3lQuP30mW5u7uPv53TR3RigrCjGzoog3DnYTDAjXnTebxo4Iz77RklyfbH5VCR19UTp6ozy8oYl7P3oBd7+wm68/up2q0jCFoQA9A3HmV5Xw9Ue3s2RmOZcsruGxLQdo6ernPWfNoqa8kHX72nl080FKw0FWLJ3BqbMqiMYTyXORSBhEnN95PGFoO+LUiDzQ2UdHb5Sa8kJOnlHO7KnFxBOGnv44RWHn/0LbkX6KCoK09wxw/6p9hALCqbOcivhj/dt2R6IUFQSTfeiORIlEE8lhDD8hk+2GEZGLgH8zxrzLbn8BwBjzldFes2zZMrNmzZrRdp9Q1LccoXcgxpmznTvIl3ce4oHV+/iP953B79Y2sKW5iy++57SMLy6Z8MbBbq75wYvc9rZFnt4JdvQO8Oruw1y2dMa4d9rZYlfrEeZMK6G3P86nH1iXLNp61Zm1/OtVpzK9wpnM/cvV+zncM8D7zqnjrDlTONIfoygUOCoxGostTV2s29/O1JIwu9t62H6gm02Nnexu6yEcClAQEHoG4ly4YBozKoroikQ5eUY5P35+FwERnvm7S6koKqAgJARsCvLy02cmyykdCwOxBJ97cD0Pb2zm3WfW8oMPnXvM79nU0cc3Ht3Ol685ndLCEL0DMT5yz2r+6d1LOSulUsmDq/fzrytfJxY3xFJS8CXhIAERjvTHOKmmlN1tPbi7z6ir5KKTqujoHaCxo4+TZ5TT2t3PwxubmTuthHcsncHbltSw4+ARnt/RSjAQ4Pz5U/nqn7chQMI4N2z1rUdo7e7nvo9dyOIZZVzzg5fY2XIEEei3ppaAwLTSQtqO9BMMOOIj4tQA3d3WQ21FESJCY0cfIs4NWjxhRp064Y75ARQEhenlRcnXBmzqOGEMxpCMWEsLg5QVFTDF2vXbewfYd7iXjt4oJeEgS2aWIyJsbOggGjfUTSmmsCBAcUGQooKgMyWgN0p/NE5xOERxOEAsbhiIJagoLqCiuID5VSV85/pzjvnfXUReM8YsG9GeBYG6FrjcGPMxu30DcKEx5m+GHXcrcCvA3Llzz9u7d++k9kOZGP2xeNYjlOONaDzBj5/fxal2nSY/0dE7QFlhiIAIXZEoU0qGVrB/YstBOvqiacd6JpN4wvDL1fu4ZFENc6tGpsOzTTSe4JVdjqtwQXUpX/3TNsKhADdeNI9z5k5lT1sP9S1HmFlZxGmzKtKOA6Zbyy2Vp7e38NqedqaVhrnxonkkjJMerCxxLvz7DvVy9wu7KAgGuHhRNXOmFfPHjQdo7OhlYY2Tlo/FDXc+v5MtTV0sqa2gsb0PAyyw52wgbqyztIjayiKnwklxAS3d/Wxu6qLhcC8l4RClhUEO9ThCc2ZdJZFogoF4nBuWz6eqLMwruw7x7PZWuiJRevrjdEWidPZFEREqikLMnVbC7KklHOjs442DR4gbw9lzplBdFub1xi7ixtA3ECcSjTO1JMzU0gLCwSCRWJy+gTjBgBAOBeiOxOjsi1JeFJqUG5NcCtR1wLuGCdQFxphPjvYajaAURVFOXEYTqGzMg2oAUkcuZwNNWfgcRVEUJY/JhkCtBhaLyAIRCQPXAyuz8DmKoihKHjPpLj5jTExE/gZ4FMdmfo8xZvNkf46iKIqS32RlHpQx5hHgkWy8t6IoinJioLX4FEVRFF+iAqUoiqL4EhUoRVEUxZeoQCmKoii+RAVKURRF8SWTXkniqDoh0gpMRq2jaqBtEt4n39Dzkh49L+nR85IePS+jc6znZp4xpmZ4oy8EarIQkTXpymWc6Oh5SY+el/ToeUmPnpfRyda50RSfoiiK4ktUoBRFURRfkm8CdafXHfApel7So+clPXpe0qPnZXSycm7yagxKURRFyR/yLYJSFEVR8gQVKEVRFMWX5IVAicjlIrJdROpF5Hav+5NLRGSOiDwtIltFZLOIfNq2TxORx0Vkh32cattFRL5rz9VGETn29Zp9jIgERWSdiDxstxeIyKv2vDxg1yxDRArtdr3dP9/LfmcTEZkiIr8WkW32d3OR/l4cROSz9v/R6yJyv4gUnYi/GRG5R0RaROT1lLYJ/0ZE5CZ7/A4RuWmi/TjuBUpEgsAPgCuAU4EPisip3vYqp8SAvzXGLAWWA7fZ73878KQxZjHwpN0G5zwttn+3Anfkvss55dPA1pTtrwHfsuelHbjFtt8CtBtjFgHfssflK98B/myMWQKchXN+Tvjfi4jUAZ8ClhljTsdZz+56TszfzE+By4e1Teg3IiLTgC8CFwIXAF90RS1jjDHH9R9wEfBoyvYXgC943S8Pz8dDwGXAdqDWttUC2+3zHwEfTDk+eVy+/QGz7X+ktwMPA4Iz2z00/LeDs8DmRfZ5yB4nXn+HLJyTCmD38O+mvxcDUAfsB6bZ38DDwLtO1N8MMB94/Wh/I8AHgR+ltA85LpO/4z6CYvBH5dJg2044bIrhHOBVYIYxphnAPk63h51I5+vbwOeBhN2uAjqMMTG7nfrdk+fF7u+0x+cbC4FW4Cc29XmXiJSivxeMMY3AN4B9QDPOb+A19DfjMtHfyDH/dvJBoCRN2wnnnReRMuA3wGeMMV1jHZqmLe/Ol4hcBbQYNxso3gAABWRJREFUY15LbU5zqMlgXz4RAs4F7jDGnAP0MJiqSceJcl6w6aergQXALKAUJ301nBPtNzMeo52HYz4/+SBQDcCclO3ZQJNHffEEESnAEaf7jDG/tc0HRaTW7q8FWmz7iXK+LgbeKyJ7gF/ipPm+DUwRkZA9JvW7J8+L3V8JHM5lh3NEA9BgjHnVbv8aR7BO9N8LwDuA3caYVmNMFPgt8Cb0N+My0d/IMf928kGgVgOLrdMmjDOoudLjPuUMERHgbmCrMeabKbtWAq5r5iacsSm3/UbrvFkOdLphez5hjPmCMWa2MWY+zm/iKWPMh4GngWvtYcPPi3u+rrXH593dsDHmALBfRE6xTSuALZzgvxfLPmC5iJTY/1fuuTmhfzMpTPQ38ijwThGZaqPTd9q2zPF6IG6SBvOuBN4AdgL/5HV/cvzd34wTNm8E1tu/K3Fy4U8CO+zjNHu84LgedwKbcBxLnn+PLJ+jS4GH7fOFwCqgHvgVUGjbi+x2vd2/0Ot+Z/F8nA2ssb+Z3wNT9feSPDdfArYBrwM/BwpPxN8McD/OOFwUJxK65Wh+I8BH7fmpB26eaD+01JGiKIriS/IhxacoiqLkISpQiqIoii9RgVIURVF8iQqUoiiK4ktUoBRFURRfogKlnFCISFxE1qf8zfe6T5OJiJwjInfZ5x8Rke8P2/+MiCwb4/W/FJHF2e6nomRCaPxDFCWv6DPGnD3aThEJmcG6a8cj/wj8xzG8/g6c+oV/PTndUZSjRyMo5YTHRhq/EpE/AI/Ztr8XkdV2fZsvpRz7T+KsPfaEXS/o72x7MjIRkWpbYsldj+rrKe/1cdt+qX2Nuy7TfbZ6ASJyvoi8JCIbRGSViJSLyPMicnZKP14UkTOHfY9y4ExjzIYMvvN7U6LI7SKy2+56HnhHSmkfRfEM/REqJxrFIrLePt9tjHmffX4RzsX9sIi8E2dtmwtwZsmvFJG34BRWvR6nYnwIWItT7XosbsEp/XK+iBQCL4rIY3bfOcBpOPXJXgQuFpFVwAPAXxpjVotIBdAH3AV8BPiMiJyMU81g47DPWoZTASGVvxSRN6dsLwIwxqzElgQTkQeBZ217QkTqcdaJGu+7KUpWUYFSTjRGS/E9boxxC32+0/6ts9tlOIJVDvzOGNMLICKZ1Hx8J3CmiLi13Crtew0Aq4wxDfa91uOsv9MJNBtjVgMYW5leRH4F/IuI/D1O+ZifpvmsWpylNFJ5wBjzN+6GiDyTulNEPo9zTn6Q0tyCU81bBUrxFBUoRXHoSXkuwFeMMT9KPUBEPsPoywXEGEyZFw17r08aY4YUyRSRS4H+lKY4zv9HSfcZxpheEXkcZzmID+BES8PpG/bZYyIiK4DrgLcM21Vk30tRPEXHoBRlJI8CH7VrbCEidSIyHXgOeJ+IFNvxnvekvGYPcJ59fu2w9/q/dkkURORkcRYIHI1twCwROd8eX54yHnQX8F1gdUq0l8pWbApvPERkHvBD4APGmOFidDKwOZP3UZRsohGUogzDGPOYiCwFXra+hSPAXxlj1orIAzgV4/fiGApcvgE8KCI3AE+ltN+Fk7pba00QrcA1Y3z2gIj8JfA9ESnGiWTeARwxxrwmIl3AT0Z57TYRqRSRcmNM9zhf8yM41al/Z79jkzHmShGZgZPyy9clNZTjCK1mrihHiYj8G45wfCNHnzcLeAZYYoxJjHLMZ4FuY8xdR/kZnwW6jDF3H3VHFWWS0BSfohwHiMiNwKs4652lFSfLHQwd25ooHcC9x/B6RZk0NIJSFEVRfIlGUIqiKIovUYFSFEVRfIkKlKIoiuJLVKAURVEUX6ICpSiKoviS/w+DW37loxe+RwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "segment = wave.segment(start=6.5, duration=0.25)\n", "segment.make_spectrum().plot(high=high)\n", "decorate(xlabel='Frequency (Hz)')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "outputs_hidden": true } }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2" } }, "nbformat": 4, "nbformat_minor": 4 }