{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ThinkDSP\n", "\n", "This notebook contains solutions to exercises in Chapter 1: Sounds and 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": null, "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": "markdown", "metadata": {}, "source": [ "### Exercise 1\n", "\n", "Go to http://freesound.org and download a sound sample that\n", "includes music, speech, or other sounds that have a well-defined pitch.\n", "Select a roughly half-second segment where the pitch is\n", "constant. Compute and plot the spectrum of the segment you selected.\n", "What connection can you make between the timbre of the sound and the\n", "harmonic structure you see in the spectrum?\n", "\n", "Use `high_pass`, `low_pass`, and `band_stop` to\n", "filter out some of the harmonics. Then convert the spectrum back\n", "to a wave and listen to it. How does the sound relate to the\n", "changes you made in the spectrum?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solution\n", "\n", "I chose this recording (or synthesis?) of a trumpet section http://www.freesound.org/people/Dublie/sounds/170255/\n", "\n", "As always, thanks to the people who contributed these recordings!" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists('170255__dublie__trumpet.wav'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/170255__dublie__trumpet.wav" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import read_wave\n", "\n", "wave = read_wave('170255__dublie__trumpet.wav')\n", "wave.normalize()\n", "wave.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the whole wave looks like:" ] }, { "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": [ "wave.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By trial and error, I selected a segment with a constant pitch (although I believe it is a chord played by at least two horns)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "segment = wave.segment(start=1.1, duration=0.3)\n", "segment.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the segment looks like:\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "segment.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's an even shorter segment so you can see the waveform:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "segment.segment(start=1.1, duration=0.005).plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the spectrum looks like:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = segment.make_spectrum()\n", "spectrum.plot(high=7000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It has lots of frequency components. Let's zoom in on the fundamental and dominant frequencies:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO2dd5gc1ZX231OdJueRNBplaRAiCYQIwiQjbJINeA0LttcIGz7WOezaXvDutw6f12ltY7PrxcZgjI0jGBYtZklCJAsJJEBZSKM8Gmly7JlOVff7o+6trk4zPdPVMx3O73nm6e7qmu6qru63Tr3n3HNJCAGGYRimsNCmewMYhmEY52FxZxiGKUBY3BmGYQoQFneGYZgChMWdYRimAHFP9wYAQENDg1iwYMF0bwbDMExesWXLlm4hRGOy53JC3BcsWIDNmzdP92YwDMPkFUR0ONVzbMswDMMUICzuDMMwBQiLO8MwTAHC4s4wDFOAsLgzDMMUICzuDMMwBQiLO8MwTAHC4s4wTEHz9tF+7Dg2MN2bMeXkxCAmhmGYbHH9T/8KADj03WumeUumFo7cGYZhChAWd4ZhmAKExZ1hGKYASUvciaiGiB4loj1EtJuIVhFRHRE9R0T75G2tXJeI6B4iaiWibUS0Iru7wDAMw8STbuT+EwBPCyFOBrAcwG4AdwJYJ4RoAbBOPgaAqwC0yL87ANzr6BYzDMMw4zKuuBNRFYCLATwAAEKIkBCiH8B1AB6Sqz0E4Hp5/zoAvxYmGwHUEFGT41vOMAzDpCSdyH0RgC4ADxLRW0R0PxGVA5gphDgOAPJ2hly/GcBR2/+3yWUxENEdRLSZiDZ3dXVltBMMwzBMLOmIuxvACgD3CiHOAuBH1IJJBiVZJhIWCHGfEGKlEGJlY2PSiUQYhmEywjASpKdoSEfc2wC0CSE2ycePwhT7DmW3yNtO2/pzbf8/B0C7M5vLMAyTPiHdmO5NmDbGFXchxAkAR4loqVy0GsAuAGsBrJHL1gB4Qt5fC+AWWTVzPoABZd8wDMNMJcUs7um2H/gsgN8SkRfAAQAfg3li+BMR3QbgCIAb5bpPAbgaQCuAEbkuwzDMlBOKsLiPiRDibQArkzy1Osm6AsCnM9wuhmGYjClmcecRqgzDFCws7gzDMAVIMXvuLO4MwxQsHLkzDMMUIEEWd4ZhmMKDI3eGYZgCJBjRp3sTpg0Wd4ZhChaO3BmGYQoQrpZhGIYpQDhyZxiGKUCUuGvJetUWOCzuDMMULMqWcbuKT+qKb48ZhikaVOTuZXFnGIYpHNQgJo+r+HwZFneGYQoWFbm7tOKTuuLbY4ZhigYuhWQYhilAVORuTjNRXLC4MwxTsChxN1jcGYZhCgcrcp/m7ZgOWNwZhilYlOduGMUn7yzuDMMULFHPfZo3ZBpgcWcYpmAJsi3DMAxTeFi2TBGG7mmJOxEdIqLtRPQ2EW2Wy+qI6Dki2idva+VyIqJ7iKiViLYR0Yps7gDDMEwqQnKyDhb3sXm3EOJMIcRK+fhOAOuEEC0A1snHAHAVgBb5dweAe53aWIZhmIkQLYWc5g2ZBjKxZa4D8JC8/xCA623Lfy1MNgKoIaKmDN6HYRhmUoR1qeos7ikRAJ4loi1EdIdcNlMIcRwA5O0MubwZwFHb/7bJZQzDMFOKsmOK0ZZxp7neu4QQ7UQ0A8BzRLRnjHWTtV9L+GTlSeIOAJg3b16am8EwDJM+yo4pRnFPK3IXQrTL204AjwM4F0CHslvkbadcvQ3AXNu/zwHQnuQ17xNCrBRCrGxsbJz8HjAMw6RA9ZQpPmlPQ9yJqJyIKtV9AO8FsAPAWgBr5GprADwh768FcIusmjkfwICybxiGYaYSFbELUXzNw9KxZWYCeJyI1Pq/E0I8TURvAPgTEd0G4AiAG+X6TwG4GkArgBEAH3N8qxmGYdLAXiUjBEBFNGfHuOIuhDgAYHmS5T0AVidZLgB82pGtYxiGyQC7115ccTuPUGUYpoCxOzHFllRlcWcYpmCxCzqLO8MwTIEQY8sUl7azuDMMU7gYtilUWdwZhmEKBMG2DMMwTOFhcEKVYRim8OBSSIZhmAIkZhCTkXq9QoTFnWGYgoU9d4ZhmAKE69wZhmEKEEMALs1sKFNc0s7izjBMAWMIYYk7R+4MwzAFghCAS7aCLDJtZ3FnmHRYv6cTz+48Md2bwUwQQwi4teIU93Sn2WOYoub+Vw9gJKTjvafOmu5NYSaAIQS8bs26X0xw5M4waRDRBSJ6cYlDIWDYbBkWd4ZhEtANgbBeZKNgCgBhS6gWmbazuDNMOuhCIGIUmToUAIZA0XruLO4MkwaGIRDhyD3vMISAxqWQDMOkQhcCYfbc8wohhFkKyeLOMEwqdAOIGBy55xNKy3mEKsMwKdENg6tl8gwVqUc99+I6fizuDJMGXC2Tfygp16xSyOnblukgbXEnIhcRvUVET8rHC4loExHtI6I/EpFXLvfJx63y+QXZ2XSGmToMAa6WyTOsyN3F1TLj8XkAu22PvwfgbiFEC4A+ALfJ5bcB6BNCLAFwt1yPYfIa3eBBTPlG1HPnEaopIaI5AK4BcL98TAAuA/CoXOUhANfL+9fJx5DPr5brM0zeohsCYU6o5hVKzGXgzuKegh8D+AoA9e2uB9AvhIjIx20AmuX9ZgBHAUA+PyDXZ5i8RTfMsjqdrZm8QR0qt4zci0zbxxd3InofgE4hxBb74iSrijSes7/uHUS0mYg2d3V1pbWxDDNd6FIZOKmaP1iRO49QTcm7AFxLRIcA/AGmHfNjADVEpLpKzgHQLu+3AZgLAPL5agC98S8qhLhPCLFSCLGysbExo51gmGxjyDCQk6r5g5oQWyVU2ZaJQwhxlxBijhBiAYCbAbwghPgIgPUAbpCrrQHwhLy/Vj6GfP4FUWwFpkwMAyNhHOr2T/dmZISK3LkFQf6gxFzjrpAT5p8A/AMRtcL01B+Qyx8AUC+X/wOAOzPbRCbfufanr+LSH7w43ZuREcpr5xYE+UPCIKbp3JhpYEKTdQghXgTworx/AMC5SdYJALjRgW1jCoTDPSMAzBGC+Vo4pcSdE6r5g2GVQvIIVYbJKsFI/loa0cg9f/eh2BBxCdViOy+zuDNTxuBoeLo3YdKoS3xOqOYPiZH7NG7MNMDizmQd9eMaDOSvuKvInROq+UO8584JVYZxmHKvCwAwMBoZZ83cRAhhRYGcUM0frGoZFneGyQ4VPjNvn6+Ru92JUT3duUtk7qO0nKfZY5gsUS7FfSiQn5G7fZIOFbl/+6nduPXB16drk5g0iI5Q5fYDDJMVlLjna0LV3i9Mee7H+kZxpHdkmraISQcjLnJnW4ZhHCbfbRndJgoRWxuCUB6XdhYD8b1lWNwZxmFUb4/BPE2o2gcuKZ/dECKv6/aLgfg69+KSdhZ3ZgpQ2pivkbthE3c1YUfEEAiGWdxzmXhbhkeoMozDKHHMV8/dPnApWi1jIMTVMjlNQilkkR0uFncm6yhbYzBPq2XsXq2qltENIafeKzLFyEEOdA1jYCQxcFBizglVhskSKiE5lKe2jJ40cjeXse8+vQghcNkPX8KHfrEx4bmEyTqmdMumHxZ3Juvkuy0Tm1CN7THDFTPTS68/BADYdXww4bnEQUzFJe8s7kzWUZF7vrYfsF/OR2y2DMCR+3RzSLaTbqjwJTyX2H5g6rYrF2BxZ7KOYUW5+jRvyeRInlDlyD0XONxjzvDVXFua8FzCZB0s7gzjLCpyz9fIyUhiy0Qj9/w8YRUKKnJvqipJeC7a8leTj/P0CzhJWNyZrKMKSvJ1FqOYEapyZyJsy+QEKnJXSVM71iAm+RSLO8M4jIp89Tz9ccVWy8irEBb3nEBF7pEkRexW5O4qTpkrzr1mphTLlsnTyN2uG+GEyJ1tmenkqGzeFknSZ58n62CYLJPvkbs9KuRqmdxiNGSeXJNNf2jVuROPUGWYrKB+ZELkZ/QeM0KVq2VyivjqJTvCSqhy5M4wWcEesedj9K7H9HOPHcTEkfv0IYSwDSpL5rlLW8bFI1STQkQlRPQ6EW0lop1E9A25fCERbSKifUT0RyLyyuU++bhVPr8gu7vA5Dr2310+VszEJFT1aOMwAAiG2XOfLuxWTLLvlREXufMI1USCAC4TQiwHcCaAK4nofADfA3C3EKIFQB+A2+T6twHoE0IsAXC3XI8pYuw/vHy8NI61ZeLaD3DjsGnDnkRNNnF5gueef1+9jBhX3IXJsHzokX8CwGUAHpXLHwJwvbx/nXwM+fxqIkosQmWKhhhbJg9/YZEkkbtVCsk93aeNsO2SMLnnHtc4LP++ehmRludORC4iehtAJ4DnAOwH0C+EUM1C2gA0y/vNAI4CgHx+AEB9kte8g4g2E9Hmrq6uzPaCyWnsSdR8rFhINVkHwJ77dGKP3JNWy6iWvy5OqKZECKELIc4EMAfAuQCWJVtN3iaL0hM+VSHEfUKIlUKIlY2NjeluL5OH5H9CNdGW4WqZ6cfeS18fI6GqEXvu4yKE6AfwIoDzAdQQkVs+NQdAu7zfBmAuAMjnqwH0OrGxTH6iGwIeGT3loy0TaysZMct4ENP0ETbGidytlr9azONiIZ1qmUYiqpH3SwFcDmA3gPUAbpCrrQHwhLy/Vj6GfP4FUWynTCYGwxDwuPK3eZOyZYjMxJ1hCMu/ZVtm+rBH7slGqCZ67vn33csE9/iroAnAQ0Tkgnky+JMQ4kki2gXgD0T0LQBvAXhArv8AgN8QUSvMiP3mLGw3k0foQsArxT0fI3cVFfrcGiK6ERMlFqIt8/rBXgwFwli9bOZ0b8qYqAoZr1sbsxQy6rlP2ablBOOKuxBiG4Czkiw/ANN/j18eAHCjI1vHFASGAXh9+Svu6mrD53YhYoiYq49CtGV+/tJ+HOsfzXlxVwOXStzamIOYNOKEKsNkBV3kty2jTkglHg3huMi9EG2ZYMTIi/1SVkyp15Uico9tHFZssLgzWUe3ee7JEl+5jm7YInddQNcL25YJRYy8GHmrOnSWeFxJBzFxbxmGySIqiaWqZfK5cZjPrSL3qKDnQ4Q7UUK6gUAe7JcKFErcY0fuLp5DlWGcR/3ovG6X+TgPoydVlKEiRL3APff8i9xTee7mLc+hyjBZQAmhN5/r3KVwlHpcCOtGzD4Uoi0T1vPLcy/xpBu55993LxPSKYVkmEmxv2sYR+Q0aFZCNfc1IwHLc1cJVb2wE6ohmTSO6AbcOTxFnVUt43ElzeVwnTvDZIl7X9yP9Xs6AUTF3Ulb5nCPH/Pryx17vVQoLVe2TEwpZAE2DlNXI8FIbot72IrcNQhhnoTtE2XHt/zNw4vGjMjdI8fkPaMhHSNyGjSP29k699bOYVzy7y9iy+E+R15vLAwjevkfjMSXQua+Nz1RlJed61cldlsGSJywI1oKaX73iixwZ3FnskcwYiAgxc/rcGe+/pEQAKDXH3Lk9cZCXW2USltGnaAqfG6M5kHicaIErcg9t/ctOohJJuvjAgf1UGp70XnuLO5M1ghGdCta8jjcfkBFz5EpmCxDbXN8QrWyxI2RYG4L4GSwbJkct5zCtkFMQOIYCstz566QDOMs9koSt5VQdeYHpgQ2PAVGqm6zZeziXlXiwUhYLzjRULZMINcjd7mdPo8cIBc3kEl91zQiaMRzqDKMY9inoLNa/jokhJa4T4EvHK2WMROqSvwqS9zQDVFQU+1FdMOyM3I/co+1ZRI9d/PWFHdiW4ZhnMIuDl6H2w8owU02eMVpDCFAZI5QBaKedGWJWWxWSNaM/USV6wnVcFxCNdFzl62aNbNdM1fLMIxDxEbuWbJlkvQUcRrdEHBrZF19qCRqZYkHADBSQEnVcCR/KoEi1uCy5LaMsEXuxJE7wziH3XPP94SqRmTtw2hIibuK3CMp/zffCOpRQQ/kvC2TXuSukflXbKY7izuTNeyRn9ftbMtf9TpT0WVSDY5JFHcZuYdyO8KdCGE9jyL3cevczVuNCASO3BnGMeyRe7S3jDOvHZlKW0YIuIisE5SqIqkqNSN3f6hwInf7Mcv1hGrEMEAUDRziT/SW5y4jd/bcmYImENZx3X++ijcOZX/O8qS2jGPVMuZrT4UtYxgCLhdZSeH4yH20gCL3GHHPg4SqR9Osro+Jnru9FJJ4hCpT2HQMBrC1bQBbj/Zn/b1iEqpupxOq5m14Kjx3GbmrE1RAJVR9KnIvHHG3f56BHE8Um43NKGU+J8aWIR6hyhQ4QwHTQvBnuXzPMESMZeJ0QlVF7lM1iEmzVcuoRKOyZUYLyJYJ5lHkHpFVTKoxWKreMhoBRFRwg83Gg8W9yBiWlR3Z9onjB/Z4HR/EZN5OVbWMi8i6+hgp4IRqrC2T2/sV1g14XKltGXXeJx6hyhQDw1bknl1xj4/6nK9zl5F7koSq2dPGuZ+ybphtYy3PPRxXCllA4h7Oo0FMEV3A7YpG7vFXhUIIqA7APEKVKXiGgmEAUyHusYLndjyhmnyEasdgAEv/5Wk8vOmII+8DmJf3Li1aLaOmoCv1uODSCCMFZMvYI/dc99zDhgG3psHtUrZMYrWMJpuG8QjVJBDRXCJaT0S7iWgnEX1eLq8joueIaJ+8rZXLiYjuIaJWItpGRCuyvRNM+qjIfTjLnnv89HNOT5AdHcQU+3p7O4YAAE9tO+7I+wBJ6tyl6LldGsq8rqznL6aSfIvcPS6y+rUnS6hGxZ0992REAPyjEGIZgPMBfJqITgFwJ4B1QogWAOvkYwC4CkCL/LsDwL2ObzUzaYZkxJ7taDNe3LPVWybellFXJBUlzk0yZo5QRUL7ARcRyryuwiqF1POrzt3t0ixbJr5ySvUEAsykapFp+/jiLoQ4LoR4U94fArAbQDOA6wA8JFd7CMD18v51AH4tTDYCqCGiJse3nJkUU+W5xydUHa+WEUrcY99nUO6fKlN05L1k5B5f5+7SCOVed0ENYlLRutet5UFC1ayWcaeYfF3YInf23MeBiBYAOAvAJgAzhRDHAfMEAGCGXK0ZwFHbv7XJZfGvdQcRbSaizV1dXRPfcmZSqGqZ4Wx77nFRn9PtB3Q9uefeJ2dmKndS3IWAS9MS6tzdGqG0wCJ3q52xz53zvWUi8dUy8baMEU2oEthzTwkRVQD4M4AvCCEGx1o1ybKEj1UIcZ8QYqUQYmVjY2O6m8FkiIrcs13hkTpyd+b1o5F77FerezgIADETJWeKYQi4tOhALGXLaAUYuYds7YxzPXKPGGa1TPqe+5Rv4rSSlrgTkQemsP9WCPGYXNyh7BZ52ymXtwGYa/v3OQDandlcJlOGpihyT/Dc3c7OoWpVy8SdLbqHzcjdyUoPq7dMfEK1ACP3qLh7cj6hGtYNeDTNNogpsVrG8tw1nmYvASIiAA8A2C2E+JHtqbUA1sj7awA8YVt+i6yaOR/AgLJvmOlnKBAthczmlz0+6nN+hGryrpAqcndU3OUIVa9ly5ii59LMhGohth8wI/fcFndV526VQsad6IUwjxuAouwKmY4x+S4AHwWwnYjelsu+CuC7AP5ERLcBOALgRvncUwCuBtAKYATAxxzdYiYjVMRuCDN5ptqlOk185J7q0nmyRKtlUkXuzglTdISqbD9gS6gWauRe7nOjV+YvcpWwIVDmGitytydUi89zH1fchRCvIrmPDgCrk6wvAHw6w+1isoTy3AFT6LMl7vFRn9vlbPOmVHXuVuTuoF/sD+ko87gS6txdRPC5tSlpXjZVhHQBr1tDqceV84OYIroBj0bwpPTcY0eoFpm28wjVYsMUdPOwZ7McMl7cNSK4iLIauRuGsKJNp4Spzx/CjmMDOHt+bUxVhkaQzcTyX9yP9o6grW8EgBm5e10aSjxaHlTLyPYDKUeomolUAAB3hWQKnaFABE3VpQCy2xky3pZxaQRNI8fbD9irZfpHw9Zyp4Tpxb2d0A2By0+ZCbIlVZXN5Na0KZkwJJvc+dg2/PPjOwAAIV2H162hxONy9OonG4R1cxBTtHFYEs/dHrmzuDOFSihiIBgxMLPKByC7nSETxF1G7o41DrOm2Yu+j0oWA85F7s/v7sSMSh/OaK4GEB2lKrUdHjcllH3mGz3DIXQNmXZWOGIO6S/x5H4uIWyYtsxY1TJ2z73ItJ3FvZhQNsysqhIA2S2HjBc8IjN6d6z9gJ7oucfO/+mM4Lb1jeLkpiqr6kINxlKRu9elTUnb4WwyEtKthnIh3bAi92DEyOlo17RltDE8dx6hyhQJIzKabaw0I/eRLNoy8SNUXTLCcrpxWNgWuasovtLndizqVB60QiVVVbTo1jQYwrkqoOlgJBTB4Kh5ord77kBuNw8L6wIelwZNM5P1Y9W5m4+Bf/nv7fjyI1uneEunBxb3IiIsf6g1ZV4A2U2ohnQdLvmjA6Li7pTnrqIwe+Su7leUuB3zi0MRHT53anFX5ZH5nFQdCekYCoQhhEBIDukvcZtVVLlcMRMxDMsmc2tk9fhXxPeWEQJ4eOMRPLKlbcq3dTpgcS8ilABVl5ozCGXbc/e5o/1Y1CTFTmlgJElC1T4AxylRCulGjLgrW0aJu4rq81XcDUNgJKTDEGbJpzpupV5T3EdzWdx1YdljLo2SzMRkS6jyCFWmkFE+eJUU92z+cIMR07v1yF+XGbk718/dSFIKqQS/Qja9cuLHHAwblqADiIkU7bf5WjFj/w4MjoYxGtbh87gsWyaXyyFDumFdObk1bcxBTMU4QpXFvYiwbAufC0TRkZbZQHm3agYmVS3jlC2j/HV7MlMJfYWc29QJv1glGBX2KxEg2kwsXyN3ewO5wUAYwbCOUo8r520ZIQRCEcPaTrcrcQxFfD/3QpoOMR1Y3IsIJUAelzkCMZuRe0hF7rbSQc3BhKrSUn9Ix833vYYjPSPWyUv1cndison4hKpVLSP3S4l9fOlnvmCftGUoEEEgbKDEo6Ekx20ZdeL2eVT1EiW0fxYx0+yRNXq5WGBxLyJCUyjuozICtCcgnUyo2pNnGw/04j9e2Gf9uCukuDuRVFUnKUV8QtXpGaamGvtAtsHRMAIRHSV5ELmrE7faTo9LSzjBGkZsbxlVy18ssLgXESqy9bg0OUgle9HmcDCCihK3FeE63X4gXkxLvS7L91ZT7GUqTIYhEDFEUs/dJUVD7V/+2jKxkftoSEeJO+q55+pUe+rErSL3Eo8rIT9gt2WIyJqlK9sc6x+dkvcZDxb3IiJqy5jdDLMZlQ0FIqjwua0BJqr9gFNJrfjXKfW4bDkFJe6ZCZO60rGLu4r+rjh1FoDs2TJCCGzY3531Co94zz0Q1lHqdVkN5XI1clfbpSJ3n1tL2FZ7bxmXveA9i7x+sBfv+u4L2N81PCXvNxYs7kVEvOeezR/ucDCCSlvk7nI6co+rTinxuKKDmGTknqntZPm67mjnzP/7vlPwnb85Hf/43pMAZM+W2do2gA//YhM2Huh19HXjsUfupi1jwOcxvx9A/njuPjmi1o69t8ziGRVTsl0Hu01RPzEQmJL3GwvnJppkcp6QzZbJtuc+rCJ3VV2iGoc5FODGR+4lnqgtU+mQLaMmHLFH7he1xE4JmS1bpnPQFIcef3Z9YrvnPjAatipQopF7jtoycZF7SdLIPZpQPX9RHX7/+hEAQDaDeHVlNzRFFtBYcOReRERstkyJN8viHoygwueB26VZ0ZNLQ8IowskSHylrFN2/Cp9ZCpmpuCurxedK/TNRJ6+ww7bMwKjZ6yXbIqEid5dG6JTCVBJT554fkbvZxTIucges7955C+ujy7PYLkJNFpPtaSzTgcW9iIi1ZbSsdf0zDAF/KIIKnyuma59L0+DUWJ/4ksqIIWx17g557pFEzz0eS9wdEIuwbuCRzUdhGMIm7uFx/iszlOc+o9JnRZ0lHi0auedo218rcvdEPffgGJ77rOqSmOeylQDvkuWWw1k+bunA4l5ExNsy2YrKRsI6hIBVLaNZSS3nRqjGR+6hiBGtllF17hkKU7KEajxeByP3hzYcwpcf3YY/bj6KwSmK3NX8rzOqSqzIvdTjgs+tZX2gWyaoKh7VGqIkyffZ7rkDwC9vXYlVi8wIPmviLj9DjtyZKSXGlsmi566m8qvweeCxzXHp0pyfiUkR1o2EhKpTtox3DFvGSc9dWQ0Hu/1TZ8sEIyjzulBT6rF8/hKPCySnEIy3OnIFdUWhIvdkM0fZPXcAuOzkmbji1JkAstcuQg2UGsoBceeEahFht2WyORnDsOwNXlFiJlRdts58Ts/EpAjriZG7U7aM8nWTYZVCOiDuNWVmrqDXH7JOxIPZtmXCOsq8blSWuK068BJP6mg4V4gfxGT2n4+zZWyDmBSqHUa2evB3q8g9BxKqLO5FRNhuy3gTB304hYo2K31uuGWVDGBG7k7Vg+tycJF6vbAuYlr+AlMTuVulkA5Egup81ecPWSfBbIuEitxVMznALCsETHsmV2djGmsQ05U/fhktMysT+rkD0eOVjdmzAmHdOkGyLcNMKTGDmDwuhHQjKxGM+mJbkbvdlnEqchcCJTYvPGSzZcq9zkTuwTQSqk7aMsrf7h0JWbZM13AQ//Lf262Jv52gcyhgvb4/pJviXhIV91JPNBrOVVsmPnI3LSQdQgjsOTGE/9naHtPPXaG6SDpxMo6nx3aMciFyZ3EvIsK6AbdGICLrB5yNH6+aBMSsc6fYqc4cHMSkIkzATGiaM/OY1Tlel+bYIKa0qmUcEHe1vb3+qLi/daQfD288gr+2dmf8+oqPPfgGvrF2JwCzFLLc57byFEBsBUqu2jLJInchYiPykXDEmutWofq/ZyOhau9dkxd17kT0SyLqJKIdtmV1RPQcEe2Tt7VyORHRPUTUSkTbiGhFNjeemRhqWjIA0a5/WbjsHgpExd3t0qBcDWcbh8VWQoTlVYj68fo8mQuTEgpfOtUyDkSCans7B4NWtYyif9QZ790wBPZ1DKNVDo8fDpjibrdllOee7RYVmRBfLaNu+0ein9PO9sHEyD2LtkyPTKY2VPhyIqGaTuT+KwBXxi27E8A6IUQLgHXyMQBcBaBF/t0B4F5nNpNxgrBuWDZCaRZ7hwzbIvebz5mLL15uDtV3ciYmXfbzVoR1s8mX2uN8OcsAACAASURBVL9kCbaJEvXcXSnXcdKWUZH7aFi3BsMoBkacsWU6h4II6QaO9Y1CCIFDPSOYW1uKKnvkbo36zF1xD0R0eN2aVceurjY6BqPD/oWtzl3hzaIto8pKm6pLrKKC6WRccRdCvAwgvsHFdQAekvcfAnC9bfmvhclGADVE1OTUxhYDf9p8FNfc80pWXjusR3uTZ7N3iPIby31urFxQh5vPnQcAjs7EpBux4h6MGAjL+T+B5KVxE2VCg5ic8NzjjoXbdmlij0gz4WjfCADTHz7WP4qB0TAWN1bEeO5jlRfmCsGwEZNzUdvcORjbrkGLS6hm05ZROZPGSl9ee+4zhRDHAUDezpDLmwEcta3XJpclQER3ENFmItrc1dU1yc0oPLa19WNn+2BMQyenCEeitkyp17zNhi0zHIzA59YSRNGVZEKFyaIbAqsWN1iPTVtGWILoRNQZUr7umOJuvl/IgUhwNKRbJ10AaKqJjqoccMiWOdo7Yt1/dZ/p4y9qLEdVaTRyV9tQmuUWFZkQjOgxORd1jE7IyL2x0gcgUcSzacuoPEBDhRfDwci0z9nqdEI1WUuepHsohLhPCLFSCLGysbEx2SpFiYrQeoadq45QhA0jxrYAshS5y46Q8bg0DU619NANgfn1ZTj03WtwzoJas87dsEfuDoh7GiNUiQgeFzlSdTQa1jGvrgyz5VD5pupS6zmnPPejvdFe469IcV/cWIHKEnsppLm/9eW+nJ3gIihnjFJEI3dT3D/+roUAgL+29sT8nzoZZ8OWGbVF7mFdODLNYyZMVtw7lN0ibzvl8jYAc23rzQHQPvnNKz6UuGdjSrCwLqbGlgmaSbp4XORcwybdEFaJpcelWZG7xzp5ZW4pqKTdWOIOmJf6znjuBkq8Lnz8QlOYmmui4j7goC2jPqOX93bB59Ywu6bUsmWIolHw7JpSDIyGc6JmO55ARLdyA0A0Cawi96tPN/vtz6ktjfk/J220eNRvqbHCvGqY7s9tsuK+FsAaeX8NgCdsy2+RVTPnAxhQ9g2THv2jZsSelcg9YthsGZlQzYIt0+sPoabMm7Bcc7j9gF3cQ7pAxDCsEYhmjXbmkTtRrPedDI+LnKmWCeko9Wi47cKF+PMnL8A1p0fTVep7kSlHe0dw6uxquDTCUDCChQ3lcGlk2TI+W5KyWQpje47MLGQnEDZiRg5HE6pmUFRb7sUrX3k3HvvUBTH/53GwuinZNnldGqrlSOPp9t3TKYX8PYDXACwlojYiug3AdwG8h4j2AXiPfAwATwE4AKAVwC8AfCorW13AWLZMFvp4J6uWyUbk3jUUtKIXOy5ybiamiGFYbQ08Ls2qc7c89yTTrk0UNTl2fMVFPF63U5G76bkTEc6eX2tZW+Vel2MJ1RODAcyrK7NOshe1mHmLUo8LLo0skQSAZun558q0cXaCcZG7utroGAzApREqfW7MrSvDjMrYbpCeLE6LGAjrKPFoVsvpsSL3oUAYK7/1vJX3yAbjth8QQnwoxVOrk6wrAHw6040qZqK2TDY8d1tCNYvi3j0cwlnzahKWO9U4TAgBQ9gmqXaTVefupOcejJscOxVO2TJqijvFac3V+MBZzXBphLVb2yGEGPdEMx7DgQiqSt34/gfPwEgogltWLQBg5g6qStxx4l4GIHcj96Se+1AQVSXulJ9TVm2ZkHn81El5rCR4x2AA3cNB7GgfwIUtDSnXywTuLZNDhHXDOttny5bxxtkyI0FnxV03BHr9QTQkidydmkNVnSDc8Z67vc7dgdGVId0Ys1JG4XE7Y8uMhvUYcS33uXH3TWfi3hf3IxQxEAgbMeI/GYZkPuRvz5mb8FxVqSdm0E9jpQ9ujXCsL/fEPRjRUWMfeCWj+F5/CAsbylP+nzuLCdVAxDx+tdKS7BtjbILqQdOThdyagtsP5BD2M31vlm0Z1Rqgx8GeJYD54zIEkoq7U3OoqlGuWoy4m5N1qAm5HamWiRgx86emQp1cMiUQji2FVKhukZn67qGIgVDEQGWSZDdgtkq2n8xcGmFWdUlWIvdD3X6c/vVncGCSE0kneu7R+/bRtvFks3GYKmWtLTffv28MK20okL0gTsHinkP02870TosuEGvLEBHqy32ORw7dtiHY8ThlyySL3EOqzt3BaplQmraMx6lqmVAKcZdilanvrnr+JKtkAszSx3hhbK4pzYrnvufEEIYCEezrnJy4J3juts+tegxxV9//bDTMU1deNaVm5N4/xm9YzbDVnYXfuYJtmRxC/XhLPFp2PHdbtQwANFR6HS+5jIp7YrWMmvzBMIQVdU8GJe7Kc/fJhGbYECiLq5bJxKcORvQx2/0qnLBlhBAJtoxCVV9kKu72thDJ+Ma1pybMcNVUXYLNh/syet9kqIKB+B466RIfuduvOGrGEPdouwjnbZlg2ECpxwWvW0OFz43eMWyZIbZligv1413UUJGVg24Oz48KXX25z/ErBEvcKxMj97l1ZQhFDHQMBRKemwjx4u5xmX3iI7oBj61aJr5L4ERJO3J3wJYJ6QYMgaSeuhUJZthfZjxxX9BQjiUzKmKW1ZZ7HRsda6d7yNyXwUmWCwbDeoxlZhf305qrUv5fNkeojspqGcC00sY6GQ+zLVNcqATMosZy9PhDjg9fjthsGcC0Tpz+cqkfbWMScV8kE10Hu/wZvUckVULVZsuoH3sm1kxInzpxD4Rkf/Ikkbv6LLsyPOH7bX3206W61IOhQMRxG0NF7pM5cQghZLVM9LOyX51dsDh19UnUlnHmt7WvYwhrfvk6RkIRs5RVnpxry7xjJlSVLdPjD2atTQGLew6hvuiqDtnppk2heFumwouuYWe/XN3DQXjdWtKk3cJGU9wPdGcm7qr5WLKEqjuuGiiYQVI1ZKsuGgsnBjGpAVfJPPf6ci9cGsV0PJwMQ+N47slQFsdkI+xUqKBiMrZM+0AAId3A3LrSpM8va0odubs0gkYTK4U80jOC379+JOlzmw724qW9XdjbMSzr3M3jV1PmGTOhqj7PsC4c/2wVLO45QmvnEP5n23FoBMySvUWGHG4bGm/LNFT4EIoYjg6TVgOYkvncMytLUOpx4WCG4h4fuavoejSsR20Zt2ppPPkTZP9IOC0hdCJyV31JVEM3O5pGaKjwJnQ8nCgqck9VLZMM5fdPNMJ+8Z1OLLjzL+hLYfsp+24y4r63YwgA0DKjMunzrnFHFE/seD265Sjuemx70iZ76nNp7x+NEffaMu+YNpp9Mo9s+e4s7jnCQxsOY1f7AD516RJrEITf4Rr0eFumXiY9nUze9vhD1uvGo2mE+fVlGYu78tw1inruADAS0mPaDwCTG6S1v2sYrZ3mhBZj+bcKdeWQCWo7k0XuADCzqgSdGTbxsrdiTpfJ+v2/2nAIAPDGofhu4SaWuE9iAvDWDrPCpiUuP/CXz12ITV9NGFuZwESPl2ralmzUuPpcTHE3rONXV+5NeWIDoraM+brZ8d25WiZH6B4OYn59Ob50xVI8t6sDgPO9KRKqZWS5Ys9wcMyBHxOhbyRkDeJIxqLGcuw+PpTRe1ilkK6oLQOY0a+9cRgwuclIVv/wJev+mXMTR9rGY9oyGUbucjuTee4AMKPSh7YMBxMNT8JzV6WRE43cZ8g8QUeKE5IStMHRiX3HR0M69nYMoaHCh9ry2O/ZqbOr03qNiR4vte+9/hDm1JYlfa6tb9RqHwGYtsygzFW4k1h7w3Ji8pGQzpF7odPjD6FOflnLfeYXxOmucqH4ahkrcnfuy9Vr249kLG6swJHekYwGGEUSIvdoBYRbi43cJ/o+8fmH9MTdiYTq2JF7Y2VJxu131fdJTSCeDjWTtGXU1cGhbj/6/CH86Lm9VpQb1g2rkmQir6sbAmf9v2fxyJY2LJkx+WDE7dImNK/AgBW5J0bYaj+O9I5AN4QVVKgAJ1Wr5qFABAvqzX3IRtkzwOKeM/T6Q6iXoliZRuOhyWCfqQiItibdfmzAsaRqn3/syP2UpirohrB808mgWhgoIbcnPd3xkfsEemo//lYbnpVXTYB5lZGsu2U8qnFZJvgtzz2VLWOWrYYyeJ/hgBktjudJ25nsACrl77d2DuPhjYdxz7p9uOFnr2E0pFsnKaKJ2TJ9IyErh1KfZJBcunhdGkKR9L/vKi+QzGZR4q1G2toTqkBqO2soEMaChjI8sGYlVi+bkXSdTGFbJkfoTRK5+x0Ud90wm23Feu4+LJ9bg5+u3495dWW46Zx5Gb1HIKzDH9JRV556EMkps00Pe2f7IM6YM35UnAxVxmbVubujYqX2z+eeeOT+7af2WPcX1Jfh786bn9b/VZWYlRGZDJjqHIqdQSge1d2weziI2TXJq0TGwx9K3md/LNKxZfr8IexoH8BFLdFJd5Td0to5bAUprZ3D+NcnduCRLW0AgNnVpWOWC8bTK8X1zLk1+MLqlgnth51ktszASBh9IyEsSGJP2m2ZhOfkSe9QjznDlTo5q99yrz915F5T5sXqZTMnuRfjw5F7DqAbAn0jUXFXg0ycnEFdfZndNlvGpRH+/IlVaKouSZixZjKo6C7eC7Uzt7YMlT43drUPxizf1zGE//fkrrTmWFWRu9UV0jaBtb3lL5C+uId1A93DQSuq/PHNZ1mTZozHgoYyjIb1jGyT4/1mq9r4FrUK5WGPl1Rt7x9NOTH4UCAyoUoZwDxZVvjcCZH7iYEAnnj7GAZGwjjv2+vw0QdexxNvH8PF31+P0ZBuVXod6x/FlsN9+OxlSzC/vswSdgBYMb8WIyE9paU1Eorghns3YMN+sy2usg+/cuVStMxMXimTDnZb5vldHfjO/+7G8m8+i0t/8GLS9QfkiSqZLRN/0lO2mppF61j/SMzzQgj8eUsbevyhpLOVOQmLew4wMBqGENGzfYVVLeO8uMfXbbtdGk6dXY2d7QMZv4eKbOrGsDI0jbCsqSrh/R549SAeePVgWjXwiYOYoiesxDr31DbG1qP9WLe7A7uPD+LEQAB2Z2p2TXKRTcZ86Z2q6G0ytA+MYmalL6VlMrPK3J62vtTv4Q9G8J4fvYRfvHwg5fMTjdwBcyBTfNOye19sxef/8DaWf/NZa7Tn2rfbcaR3BPs6hzA4GrFsRgBYvWwmrj/TnE75n648Gbu+eQXOlm2hh1IUDry8twubD/fht5vMGnP1/UrWt2gieGy2zPee3oOfvxT9vJJZoco66k3ijfePhqwTLxANKtQMUPZpDQHgtf09+MdHtgKYWEnqZGBxzwFUB0gl7qUeFzTKvFqmzx+yRhYqK8MuhIpTZ1fhQLc/YVLuifrw6hJ7rMgdAE5trsLO9kFrsmbDEFi3x5ypcV8aXrweP4jJNoo0WuduLks10fhwMIKb7nsNtz20GVf95BV8/g9vRV/DRWgoT19AFtSbFRSHeiZf4nliIGCNb0hGy8wKNFb68NuNptC9daQPgbDZO+d3m47g+MAoXj/YC39Ix1tH+pO+xnAwkrL1wFhUl3oS6tHf6RiCSyN86b0n4cpTzSntthwxe9Ds7RjGUCCMdy1pwOZ/uRy/u/08nDm3Bh9dNR+3XrAAf3f+PJR53eNaPs/uNPMfL+7pRDCiWwOfxkrYp4PXZU7UPhKK4GC3H5cvm4nb5VXaobjgIhDWrTxHjz+EHccG8KVHtiKiGwiEdQTCBt69NOqZq8i9xOPCzCofjvTGnoyf2XnCuu/EpOpjweKeA6gvbb0UFCJCuc9tRRFCiJQilYpd7YM4+1vP4cxvPodX93Xjwb8eBICkZVmnzK6CEGanPsVoSMdF31+Pn7+0P+33tCL3cX58t16wAF63hs/87k0IIbD92IBlaSTrEhifdHtHbmetTFrFJlRVbw8vPC7CiRQDf57f1YFA2MD3P3gGljVV4U2bIDZVl06osVlzTSncGuFwmuIeCOtW/XcoYmD9O504PhBA0xheeonHhU9cshivHejBRx/YhA/81wY8sqUNB7r9+Orj2/GzF/fj1VbTvth9fDDpawwFJhe5qz4p9o6erZ3D+OCKZnzmshb88zXLAERtub0dQxgMmJOkN1T4cMESsx1AQ4UPX7/2VGsybtW9MdlAprBuYN2eTsypLYU/pGNDaw96/CEQYcyEfTq4ZXXTW0f6ETEEPnL+PNy40uxvb79yFELE2FF9IyH87KX9eHRLG1q7hq2T0mlzoiWY9lLWeXVlMeIuhMCzuzqs/j3JJrRxEhb3HCCZKFb43JYt8/hbx3Dev60bcyDJrvZBfP/pPbjrse0YDISxdms7NCLUlHlw64Ov454XWgEknw/0VJnkfPGdLmvZT9e3oq1vFP+5vjXt/bAi93F+fPPry/GJSxZja9sABkcj+O2mw/C4CPXl3oQqmj+9cRRnfP1ZqxrBMAQeePUATp1dhdObzR+VPUmsrkxcGqG5pjTBxmjrM8swn9zWjqbqEtxw9pyYH5lGE7NkAFMs5tSWpm3L/P71I7jxZ6/hpb1deGr7cXzswTdwsNuPpqqx3/cj583DFafOxCtyarb9ncPYIAX9+d2d1pRt7QMB67vS5w/hup/+FQ/+9SCGAhFUTcLnLfO6sPlwH6788cswDIFefwjdwyGcJH3vWdUlsOeR93YMYSgQtkQ8FSp5/Mu/HsT9rxyICWD2S/H83OoWuDXC5sO96BkOorbMO6Fqn2R4XIRwROCNQ70gAs6eX4v59WUgiu17dO9L+3H+d9YBMH83bX0jWLfbvMLcfXzQEvfaMo/127V3qpxbV4Y2m7hvaxvA8YEAPnnJYuz7t6tiIv5swNUyafLktnasmFc76UqFsVCJGvvIzgpb5L75cB+GghFsPNCDK09rSvj/F9/pxK0PvgG3RogYAmfMqcbTO45j1eJ6/J+LFmHNg6/jppVz0eMP4ez5tQn/31xTinctqcc96/ZhVlUJblw5B7+UkX6qQTV2dEPIGZjM/VBlYGOhBk09s+sEHtnShtsvXIgDXX7s64iN3P9j/T4A5qX+osYKvHagB/u7/Lj7puVWZUqM52774c+pLcNR28CfQFjHlT9+BbdftBCv7OvGh86dB00ja6Sj16XhmjOaEjojpsP8+vJxI/fOoQCe39VpJa//7S+7cLmtWmKsyB0wj8XPP7oSJwYC+Niv3sDhHr/Vb0b1XH/30kasf6cLF3z3Bfz7Dcvx202HsfVoP473j6JzaHKD1S45qRG72gexr3MYrx3oscRVJTU9Lg2NFT4r2bu9bQBhXViTbqfi9OZqfOKSxfjZS/vxxNvtqCv34m9WzAEA63twenM1FjWW450TQ3BrWoyPP1k8Lg3DkQjePNKPpTMrUSVPQrOrS3GwexiPbmnDI5uPxlzJzqsri4nqdx8fsqYhrCn14oMrmvGLVw7GdKecW1uGxwePIRgxO1g+u+sEXBph9bIZMQFJtuDIPQ1+t+kIPvO7t/Dtp3Zn5fWVKNoj3nKfG30jIRztHUGrtCo27E+saBFC4O7n92FuXSk2/8vlaK4pxS9ePoBDPSO48rRZuPikRmz66mp894On4/41K5NWGRARHvrYuTi9uRoPbzyM3ccHMRLSsXxuDbqGgklLwBQ7jg1g+Teexad/9yb6/CFUlbjT+uI2SyG77+UDcGuEz1zWgpaZlTjQPWwlfwNh3UpIqQj8yW3tKPe6cJXtJOdJYssAwNy6UhyzRe472wcxHIxg3e5OBCMGls4yPwsVgc6o8uHum87Ep9+9ZNztj+fkpkrsPj6EL/7xbXz4FxuT5isefu0wvvr4drywp0NepQzj6R1RD3b2GJ67nVnVJVjUUI79XX68dqAH717aCK9Lw8UnNeI7f3MGALMVw78+scP6zijhHaupVio+umoBXvjSpagscePRLW2WdWYf/q9OTAsbyq1gZbzInYhw51UnY+NdZsuAd2xiuq9zGBqZr7d0VhX2nBgad4BculT43OiV/vkZNktlUWM5Dnb7cf8rB7DpYG9MLkCdFC8+qRHLmqpw38sH8Lc/fw2AGczcedUy/OnvV8WMkp1XVwYhgPZ+8wT8zM4OnLewLq2xE07A4j4O/SMhfP1/dgIADmTYqjYVx/pGUVXijmkvW+FzY+OBXlz+o5esssFk4v7iO13YerQfn7hkMWrKvHj3yY040O1HXbkX718+G4BZIz1e/bXbpeEDZzVj1/FBPLLZLFf78LmmD7nnRHIPt2soiFsffB3DwQie29WB7gn8+JplNUFr5zAWNpSjutSDFfNqENYFXt5r2kMv7Y3aREd7RxDWDTy94wQuP2VmzBWFfeCPPYqfU1uG7uEQRkIR9PlDeEsm/LYfMyt11AhBJVKzxrFFxuKTlyxGfbkXj791DBv29yS1aN46avr6hgD+7nyzht4eDY6XiLazoMH0c/tHwrj+rGY8/w+X4P5bVmKWtJoaKqK9+j98XnT8wslNkyshLPG48P7ls/H0jhPYcqgXVSVuNNlORurE9J5Tolci6VpAs6pLsKypCu/YLLl9HUOYX1+OEo8LJ8+qRFvfKA73+lP2LZoIK+bV4nDPCHr9IZzWHBXjU2ZXYUf7IPacGML7zmjCFy6P1tJ/dnULfvZ3Z+PBW8/BwobYFgT1FaZVdO7Cupjli+X36pV9XfiPdfvQ2jmMK2TyeSrIa3EP6wY2p2hM5BTP7DyBUMTAxSc14p2OoaSd4TJhNKTjqR3HcWmc/6aqGoKya2NzTSlaO4dxxCYaI6EI/nXtDixqLMcNZ5uXs+oy/4uXt1iXm+nyvjOaoBHwm42HMauqxPIE955IrGDpGgrikw9vwVAgglsvWAAA2Li/J6H3Rirqy73WKFLV3e/dJ89AY6UPv9pwCAe6hvHYm21oqPDh5FmVONI7gsfebEPfSBhXnx5rTS2sL8d8WbFin0lIlaP94fWjOO/b6/Ctv8ReealorLHSh+pSz5jVKuNRU+bFA2vOwS2rTNF+/WAPhBBYu7UdV/3kFfiDEWw92i+vbAg3nzvXOsZ/u3IO7r5pOc6LE4exUCcmt0a4dOkMzKsvs4KDH9y4HN+/4XQAZlvnD5xlliBW+tzWFdNkuHzZDIyGdazd2o6LWhpjAgZV120Xr4l8/5bOrMDeE0MIRnQ8u/ME3j7ab510l8orq47BoFV0kAl2EbZH2ndctMiqPb/r6mX4wuUnWc/NqyvDlafNgksjrJhnWpsPffxc/O7286x9j2f5nGqcPb8WX1+7Ez98bi+uOaMJf7sycWLybJHX4v6T5/fh5vs2ZmUCX8WT245jfn0Zbjl/PnRD4KfrW3F8wHw/IUTGw/af3NaOoUAkJroCzCSWnc9ctgREwKNvmlH1iYEAbr5vI9r6RvHtD5xujci85KRG/PmTF1iR4USYUVWCOy5eDMCMrBsrfagr9+KNQ9Fp1gxD4FC3H39z71+x/dgAfnDjclwvxaPHH8KqxfVpvRcRWfkLFeF4XBpuPmcuXtnXjct++BKe29WBD5w1GwsbyvHS3i58be1OrFpUH+NTA2ZJ5KOfuABXnz4LqxZF31+daL755C7EX7iUylI1tS0/uflMfPayyY96BIDT51TjG9eeirpyL/7pz9tx9T2v4rfS5vr3Z97BYCCCr169DOu/dCmaqktxirRITppZiQ+cNWdCo1vViem8RXVJ5ww9b2E9PC7Cu5Y0WFbMyU2Vkx5BCwCrFjXA69ZgCODSpY0xz505rwYzq3wxXTQnMkjnpFmVaB8IYNV3XsAdv9mC4wMBq/+/ss8AOBK5nzq7CuVes9x4WZP9tX344Y3L8dnLllgnQVWRZb8KWXPBArz05UtxyUmNViVQMpTt5HVr+MqVS/HTD69I2V4iG2QloUpEVwL4CQAXgPuFEN/NxvvcfO5c/Oyl/fjRc3tx7fLZOHdhXVoJwHTZ1T6Iv7Z241OXLrEqKv5zfSse3nQYX3v/Kbj3xf3oGAzitOYq3H7RIivS9Qcj+O7/7kFtmQefvmwJvv2X3Xh+dyfOnl+Ln9x8pvUDC+sG/uvF/Vg6szIhajs+YPp09eVe9PhDuPikRlzU0oiHNhzCK/u6cLR3BKMhHfd9dCXOtwkaESVNmqbLl69YKqNBMzK74ew5uP+VA/iPdftwyuwq3PNCK7Ye7UeFz40//v0qnDm3BqMhHRqZdsMFaYo7YPruB7r8Md7tJy9djJaZlXhuVwf+d/tx3LhyLv78ZhsMYb7+T24+M2m1RGOlD//1kbNjls2rM8V9fn0Zfv3xc3Hnn7dj6axK/GrDIVkdEX2d+CunyUJEmFdXhl5/KKYkUbXAPWterXXSObW5Cq8f6p1UkrNlRiVKPS5ct7w56fPlPjd+ees5WNRYgQqfGxef1Bhz4psMpV4XzltYh1f2deOSOHG/dvlsXCttQEX8ZNtjoaLzXn8I/3TlyXjg1QPW72lObSm+cHkLRsM6bjon88jX7dKwanEDjg+MoiyuidrqZTNjWgI8+bmL8NaRvphcjselWQPXxuOcBXXY9rUr0prRy2kcF3cicgH4KYD3AGgD8AYRrRVC7HL6vebUluHa5bPx6JY2PLqlDT63hsWNFVgyI/o3t7YMhhCYV1eG2nIvhBAYGA3jYLcfwYgBQwgYBqALAYJZFrXnxBC+9ZddONo7irpyL26/aCFqyrz41/edAq9bw283HcEX/7gVJR4N1y6fjdcO9OBTD7+Jr73/FBzo9uPxt45Zddu/e/0IuodDWDGvBmu3tmMwEEaJ24Wbzp2LZ3d2mAmcW1YmRFSq18iPbz4Te44PYXZ1CW6/cCHuemw7vC4NJ8+qwv993ykxUY0TuDTCl65Yaj2+/cKF+NWGQ/jhc3utZZ+7bAnet3y2lYgs9bqwqLECHQMBqzwxHZRt0jIzKu5lXjeuXT4b7z+jCb3vPwX1FT6rp/ilJzVixgR88cZKH+6+aTnOX1SPpupS/P6O83FiIIBfbTiERY3OtDhOxpfeuxR/2X4cG/Z343DPCD63ugUbD/RgBE6XbQAAB19JREFUUUN5zIns7Pm1eGjDIetznAjVZR5s/OrqMX1te6+XX3/83Am/RzI+t7oFFyxuSNkmAQCuOaMJf9l2fEK2zIp5tThjTjW+fMVSXNTSiE9euth6johiLBIn+MGNZ6Q1j2pzTWlGVhaAaRF2ACCn5+8jolUAvi6EuEI+vgsAhBDfSfU/K1euFJs3b57U+3UNBfH0zhOYXV2CDft7sK9zGPs7h63SMDuVPjdGw3rCDO92fG4NwYiB2dUlaKj04bOXtcQkiQCziuM/X2jFOQvrcMlJjegcCuB997yKzqEgPC7ChUsa8MlLl+DZnSdwqMePm86Zh0uXNuKae17B/i4/fG4NIyEdRMAHV8zBv99wRoK4b2vrx9q32/HP1yzL6FLaCTbs7wYE8MiWNpw8qxJ/f8nihHV+s/EwhgORmB/leDy88TB++Ow72PjV1TGTHcezv2sYX/zj2/jph1dgbl16nn4qhBC48HvrcesFC/B/Ll6U0WuNx8MbD+OBVw/imS9cnPQHLoTA4Z6RpM2q8plA2Bwlm65Fx0weItoihFiZ9LksiPsNAK4UQtwuH38UwHlCiM/ErXcHgDsAYN68eWcfPnzY0e0YCUVwoMuPY/2jIJj9ltv6RlHmdaG2zIuFDeUo87qgaQSNCC6N4A9G8OyuE1hQX44bV85N6mWmYjgYwfH+UcypLUvpq3UOBeAP6qjwudHaOYzFM8rHjIAKHcMQGA3rkxo1mQmhiAG3RhMahcowuchY4p6NX1WyX0zCGUQIcR+A+wAzcnd6I8q8bpzWXB1T6pQOF5/UOP5KSajwucftVDejsgSQq6Rq7VpMaBpNubAD03eZzDBTSTa+5W0A7FmPOQDas/A+DMMwTAqyIe5vAGghooVE5AVwM4C1WXgfhmEYJgWOXxMLISJE9BkAz8AshfylEGKn0+/DMAzDpCYrhqcQ4ikAT2XjtRmGYZjx4cwSwzBMAcLizjAMU4CwuDMMwxQgLO4MwzAFiOMjVCe1EURdACY7RLUBQLeDm5MP8D4XD8W437zP6TNfCJF05GVOiHsmENHmVMNvCxXe5+KhGPeb99kZ2JZhGIYpQFjcGYZhCpBCEPf7pnsDpgHe5+KhGPeb99kB8t5zZxiGYRIphMidYRiGiYPFnWEYpgDJa3EnoiuJ6B0iaiWiO6d7e5yCiOYS0Xoi2k1EO4no83J5HRE9R0T75G2tXE5EdI/8HLYR0Yrp3YPJQ0QuInqLiJ6UjxcS0Sa5z3+UbaRBRD75uFU+v2A6t3uyEFENET1KRHvk8V5V6MeZiL4ov9c7iOj3RFRSaMeZiH5JRJ1EtMO2bMLHlYjWyPX3EdGaiWxD3oq7bSLuqwCcAuBDRHTK9G6VY0QA/KMQYhmA8wF8Wu7bnQDWCSFaAKyTjwHzM2iRf3cAuHfqN9kxPg9gt+3x9wDcLfe5D8BtcvltAPqEEEsA3C3Xy0d+AuBpIcTJAJbD3PeCPc5E1AzgcwBWCiFOg9kW/GYU3nH+FYAr45ZN6LgSUR2ArwE4D8C5AL6mTghpIYTIyz8AqwA8Y3t8F4C7pnu7srSvTwB4D4B3ADTJZU0A3pH3fw7gQ7b1rfXy6Q/mrF3rAFwG4EmYUzZ2A3DHH3OY8wWskvfdcj2a7n2Y4P5WATgYv92FfJwBNAM4CqBOHrcnAVxRiMcZwAIAOyZ7XAF8CMDPbctj1hvvL28jd0S/JIo2uaygkJehZwHYBGCmEOI4AMjbGXK1QvksfgzgKwAM+bgeQL8QIiIf2/fL2mf5/IBcP59YBKALwIPSirqfiMpRwMdZCHEMwA8AHAFwHOZx24LCPs6KiR7XjI53Pot7WhNx5zNEVAHgzwC+IIQYHGvVJMvy6rMgovcB6BRCbLEvTrKqSOO5fMENYAWAe4UQZwHwI3qpnoy832dpK1wHYCGA2QDKYdoS8RTScR6PVPuY0b7ns7gX9ETcROSBKey/FUI8Jhd3EFGTfL4JQKdcXgifxbsAXEtEhwD8AaY182MANUSkZgyz75e1z/L5agC9U7nBDtAGoE0IsUk+fhSm2Bfycb4cwEEhRJcQIgzgMQAXoLCPs2KixzWj453P4l6wE3ETEQF4AMBuIcSPbE+tBaAy5mtgevFq+S0y634+gAF1+ZcvCCHuEkLMEUIsgHksXxBCfATAegA3yNXi91l9FjfI9fMqohNCnABwlIiWykWrAexCAR9nmHbM+URUJr/nap8L9jjbmOhxfQbAe4moVl7xvFcuS4/pTjpkmLC4GsBeAPsB/PN0b4+D+3UhzMuvbQDeln9Xw/Qa1wHYJ2/r5PoEs3JoP4DtMCsRpn0/Mtj/SwE8Ke8vAvA6gFYAjwDwyeUl8nGrfH7RdG/3JPf1TACb5bH+bwC1hX6cAXwDwB4AOwD8BoCv0I4zgN/DzCmEYUbgt03muAL4uNz3VgAfm8g2cPsBhmGYAiSfbRmGYRgmBSzuDMMwBQiLO8MwTAHC4s4wDFOAsLgzDMMUICzuDMMwBQiLO8MwTAHy/wEeBgxvmJNSnwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = segment.make_spectrum()\n", "spectrum.plot(high=1000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`peaks` prints the highest points in the spectrum and their frequencies, in descending order:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(620.4417258380604, 870.0),\n", " (504.0431989726268, 866.6666666666667),\n", " (438.97048697396684, 506.6666666666667),\n", " (387.76854063931785, 346.6666666666667),\n", " (365.1860713882272, 520.0),\n", " (343.86168948117404, 843.3333333333334),\n", " (336.15317388630996, 350.0),\n", " (321.2246582837962, 840.0),\n", " (306.4203033088299, 1226.6666666666667),\n", " (285.12868197300406, 700.0),\n", " (274.10338786058963, 510.0),\n", " (262.84411351625783, 340.0),\n", " (258.9390175932505, 416.6666666666667),\n", " (258.23677366979797, 523.3333333333334),\n", " (230.80255875889878, 1040.0),\n", " (229.6907151984611, 1216.6666666666667),\n", " (226.60369867476524, 253.33333333333334),\n", " (211.4725336173951, 436.6666666666667),\n", " (206.6415361440749, 1910.0),\n", " (203.67607185473378, 1013.3333333333334),\n", " (199.5263275810788, 2440.0),\n", " (186.75243436443085, 526.6666666666667),\n", " (185.8754158628943, 703.3333333333334),\n", " (183.2606673135278, 503.33333333333337),\n", " (183.25438342093636, 1736.6666666666667),\n", " (177.71707154069557, 686.6666666666667),\n", " (175.4786945878676, 433.33333333333337),\n", " (174.53541534265207, 1010.0),\n", " (172.80411755155416, 500.0),\n", " (169.5971538893914, 1223.3333333333335)]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spectrum.peaks()[:30]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The dominant peak is at 870 Hz. It's not easy to dig out the fundamental, but with peaks at 507, 347, and 253 Hz, we can infer a fundamental at roughly 85 Hz, with harmonics at 170, 255, 340, 425, and 510 Hz.\n", "\n", "85 Hz is close to F2 at 87 Hz. The pitch we perceive is usually the fundamental, even when it is not dominant. When you listen to this segment, what pitch(es) do you perceive?\n", "\n", "Next we can filter out the high frequencies:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "spectrum.low_pass(2000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it sounds like:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spectrum.make_wave().make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following interaction allows you to select a segment and apply different filters. If you set the cutoff to 3400 Hz, you can simulate what the sample would sound like over an old (not digital) phone line." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from thinkdsp import decorate\n", "from IPython.display import display\n", "\n", "def filter_wave(wave, start, duration, cutoff):\n", " \"\"\"Selects a segment from the wave and filters it.\n", " \n", " Plots the spectrum and displays an Audio widget.\n", " \n", " wave: Wave object\n", " start: time in s\n", " duration: time in s\n", " cutoff: frequency in Hz\n", " \"\"\"\n", " segment = wave.segment(start, duration)\n", " spectrum = segment.make_spectrum()\n", "\n", " spectrum.plot(high=5000, color='0.7')\n", " spectrum.low_pass(cutoff)\n", " spectrum.plot(high=5000, color='#045a8d')\n", " decorate(xlabel='Frequency (Hz)')\n", " \n", " audio = spectrum.make_wave().make_audio()\n", " display(audio)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from ipywidgets import interact, fixed\n", "\n", "interact(filter_wave, wave=fixed(wave), \n", " start=(0, 5, 0.1), duration=(0, 5, 0.1), cutoff=(0, 5000, 100));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 2\n", "\n", "Synthesize a compound signal by creating SinSignal and CosSignal\n", "objects and adding them up. Evaluate the signal to get a Wave,\n", "and listen to it. Compute its Spectrum and plot it.\n", "What happens if you add frequency\n", "components that are not multiples of the fundamental?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solution\n", "\n", "Here are some arbitrary components I chose. It makes an interesting waveform!" ] }, { "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": [ "from thinkdsp import SinSignal\n", "\n", "signal = (SinSignal(freq=400, amp=1.0) +\n", " SinSignal(freq=600, amp=0.5) +\n", " SinSignal(freq=800, amp=0.25))\n", "signal.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use the signal to make a wave:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "wave2 = signal.make_wave(duration=1)\n", "wave2.apodize()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it sounds like:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wave2.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The components are all multiples of 200 Hz, so they make a coherent sounding tone.\n", "\n", "Here's what the spectrum looks like:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = wave2.make_spectrum()\n", "spectrum.plot(high=2000)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we add a component that is not a multiple of 200 Hz, we hear it as a distinct pitch." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "signal += SinSignal(freq=450)\n", "signal.make_wave().make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exercise 3\n", "\n", "Write a function called `stretch` that takes a Wave and a stretch factor and speeds up or slows down the wave by modifying `ts` and `framerate`. Hint: it should only take two lines of code." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solution\n", "\n", "I'll use the trumpet example again:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wave3 = read_wave('170255__dublie__trumpet.wav')\n", "wave3.normalize()\n", "wave3.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's my implementation of `stretch`" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "def stretch(wave, factor):\n", " wave.ts *= factor\n", " wave.framerate /= factor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it sounds like if we speed it up by a factor of 2." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stretch(wave3, 0.5)\n", "wave3.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what it looks like (to confirm that the `ts` got updated correctly)." ] }, { "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": [ "wave3.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I think it sounds better speeded up. In fact, I wonder if we are playing the original at the right speed." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.10" } }, "nbformat": 4, "nbformat_minor": 4 }