Files
udacity/python/Unsupervised Learning/Random Projection and ICA/Independent Component Analysis Lab.ipynb

534 lines
128 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Independent Component Analysis Lab\n",
"\n",
"In this notebook, we'll use Independent Component Analysis to retrieve original signals from three observations each of which contains a different mix of the original signals. This is the same problem explained in the ICA video.\n",
"\n",
"## Dataset\n",
"Let's begin by looking at the dataset we have. We have three WAVE files, each of which is a mix, as we've mentioned. If you haven't worked with audio files in python before, that's okay, they basically boil down to being lists of floats.\n",
"\n",
"\n",
"Let's begin by loading our first audio file, **[ICA mix 1.wav](ICA mix 1.wav)** [click to listen to the file]:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import wave\n",
"\n",
"# Read the wave file\n",
"mix_1_wave = wave.open('ICA mix 1.wav','r')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's peak at the parameters of the wave file to learn more about it"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"_wave_params(nchannels=1, sampwidth=2, framerate=44100, nframes=264515, comptype='NONE', compname='not compressed')"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mix_1_wave.getparams()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So this file has only channel (so it's mono sound). It has a frame rate of 44100, which means each second of sound is represented by 44100 integers (integers because the file is in the common PCM 16-bit format). The file has a total of 264515 integers/frames, which means its length in seconds is:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5.998072562358277"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"264515/44100"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's extract the frames of the wave file, which will be a part of the dataset we'll run ICA against:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:3: DeprecationWarning: Numeric-style type codes are deprecated and will result in an error in the future.\n",
" This is separate from the ipykernel package so we can avoid doing imports until\n"
]
}
],
"source": [
"# Extract Raw Audio from Wav File\n",
"signal_1_raw = mix_1_wave.readframes(-1)\n",
"signal_1 = np.fromstring(signal_1_raw, 'Int16')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"signal_1 is now a list of ints representing the sound contained in the first file."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('length: ',\n",
" 264515,\n",
" 'first 100 elements: ',\n",
" array([ 879, 1268, 1460, 1756, 1943, 2216, 2407, 2668, 2866,\n",
" 3106, 3308, 3546, 3752, 3981, 4175, 4395, 4588, 4790,\n",
" 4966, 5146, 5292, 5436, 5550, 5643, 5717, 5759, 5790,\n",
" 5798, 5789, 5756, 5713, 5649, 5576, 5478, 5381, 5267,\n",
" 5146, 4999, 4856, 4682, 4502, 4308, 4097, 3875, 3637,\n",
" 3380, 3107, 2825, 2514, 2194, 1847, 1472, 1087, 671,\n",
" 227, -219, -691, -1176, -1666, -2167, -2669, -3179, -3668,\n",
" -4170, -4643, -5116, -5559, -5985, -6380, -6765, -7105, -7422,\n",
" -7706, -7955, -8163, -8339, -8470, -8557, -8600, -8618, -8585,\n",
" -8524, -8425, -8298, -8129, -7947, -7720, -7475, -7205, -6916,\n",
" -6606, -6266, -5922, -5556, -5165, -4774, -4353, -3922, -3476, -3021], dtype=int16))"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'length: ', len(signal_1) , 'first 100 elements: ',signal_1[:100]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we plot this array as a line graph, we'll get the familiar wave form representation:"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f544220ada0>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"fs = mix_1_wave.getframerate()\n",
"timing = np.linspace(0, len(signal_1)/fs, num=len(signal_1))\n",
"\n",
"\n",
"plt.figure(figsize=(12,2))\n",
"plt.title('Recording 1')\n",
"plt.plot(timing,signal_1, c=\"#3ABFE7\")\n",
"plt.ylim(-35000, 35000)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the same way, we can now load the other two wave files, **[ICA mix 2.wav](ICA mix 2.wav)** and **[ICA mix 3.wav](ICA mix 3.wav)**"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:6: DeprecationWarning: Numeric-style type codes are deprecated and will result in an error in the future.\n",
" \n",
"/opt/conda/lib/python3.6/site-packages/ipykernel_launcher.py:13: DeprecationWarning: Numeric-style type codes are deprecated and will result in an error in the future.\n",
" del sys.path[0]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt4AAACcCAYAAABIm6wRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3XecXHW9//HXZ8r2mm3pjUBIiNQQSihBkKJcAQUFRRG5YMF79edVFBteRbwgiqIoIh2pKgjSQQglCSWB0BMIISF9S7K9zsz398ecmczOzpbsbmZ2k/fz8cgju2fPnPnOnJlzPuf7/Xw/x5xziIiIiIjIzuXLdANERERERHYHCrxFRERERNJAgbeIiIiISBoo8BYRERERSQMF3iIiIiIiaaDAW0REREQkDRR4i4hISma2wMzWJ/z+lpktyGCTRERGNQXeIiIZZmZrzKzNzJrNbLOZ3WxmBZluVzLn3D7OuYXDvV0z+4SZPW9m9d7r/4uZFQ7384iIZJoCbxGRkeE/nHMFwP7AAcDF6XxyMwuk8/mSFAOXAuOBWcBE4FcZbI+IyE6hwFtEZARxzm0GHiMagANgZtlmdqWZfWhmW8zsWjPLTfj7KWa23Mwazex9MzvRWz7ezB4ws61mtsrMzk94zE/N7O9m9lczawS+ZGa5Xm/7NjN7Gzg4sW1ez/xxCY+/x8xuNbMmLw1lbsK6B5rZq97f/mZmd5vZpb285jucc48651qdc9uAvwDzh+P9FBEZSRR4i4iMIGY2ETgJWJWw+HJgL6LB+AxgAvATb/15wK3Ad4ES4Chgjfe4O4H1RHuSTwcuM7NjE7Z7CvB373G3A5cAe3j/TgDO6ae5nwTu8h7/APAHr01ZwH3AzcAYrx2nDfAtwHsNb+3A+iIio4ICbxGRkeGfZtYErAOqiQbBmJkB5wP/zzm31TnXBFwGnOk97jzgRufcE865iHNug3NuhZlNAo4Avueca3fOLQeuB76Q8JxLnHP/9B7XBnwG+IX3POuAq/tp8/POuYedc2HgNmA/b/mhQAC42jnX5Zy7F3hpIG+CmX2MaMD/k4GsLyIymijwFhEZGU51zhUCC4C9gXJveQWQByzzJh/WA496ywEmAe+n2N54IBaox6wl2lsesy7FYxKXre2nzZsTfm4Fcrxc8fHABuec6+O5ejCzQ4E7gNOdc+/2t76IyGijwFtEZARxzj1DNEXjSm9RLdAG7OOcK/H+FXsTMSEa0O6RYlMbgTFJ1UEmAxsSny7pMZuIBvKJ6w/GJmCC11sfM6m3lQHM7ACi6Spfds79e5DPKyIyoinwFhEZeX4LfMzM9nfORYhONrzKzCoBzGyCmZ3grXsDcK6ZHWtmPu9ve3upIouBX5pZjpntSzQt5fY+nvce4GIzK/Vyzf9rkO1fAoSBb5hZwMxOAeb1trKZzSHai/9fzrl/DfI5RURGPAXeIiIjjHOuhuiEyR97i75HdLLlC14FkieBmd66LwHnAlcBDcAzwBTvcWcBU4n2ft8HXOKce6KPp/5fouklHwCPE83bHkz7O4FPEQ3064GzgQeBjl4e8j9EU2du8GqZN5uZJleKyC7HuqfgiYiIDD8zexG41jl3U6bbIiKSKerxFhGRYWdmR5vZWC/V5BxgX6LpJCIiu61M3qlMRER2XTOJ5owXEK26crpzblNmmyQikllKNRERERERSQOlmoiIiIiIpIECbxERERGRNNhlc7zLy8vd1KlTM90MEREREdnFLVu2rNY5V9Hferts4D116lSWLl2a6WaIiIiIyC7OzNYOZD2lmoiIiIiIpIECbxERERGRNFDgLSIiIiKSBgq8RURERETSQIG3iIiIiEgaKPAWEREREUkDBd4iIiIiImmgwFtEREREJA0UeIuIiIiIpIECbxERERGRNFDgLSIiIiKSBgq8RURERETSQIG3iIiIiEgaKPAWEdnFvNXYyQt1HZluhoiIJAlkugEiIru79rADIMdvw7K9C17ZCsCiBWOHZXsiIjI81OMtIpIhf17dxAMbWzn2uS0c/9yWPtf90+om5i/cnKaWiYjIzqAebxGRDLn1w5b4z+Fe1vnp2/U8Ud3e6zYizvFmYxf7FmcNc+tERGS4DbnH28wmmdnTZvaOmb1lZt/0lo8xsyfM7D3v/1JvuZnZ1Wa2ysxeN7MDE7Z1jrf+e2Z2TsLyg8zsDe8xV5vZ8IzHioj0YmNbKJ4Cki4dYccVKxto7IrEl/UVdAPcvb6Vr726lRe3dvDkljaerul7fRm8Nxo6+dordXRF0vu5EJFdx3CkmoSA/3HOzQIOBS40s9nA94F/O+f2BP7t/Q5wErCn9+8C4E8QDdSBS4BDgHnAJbFg3VvngoTHnTgM7RYR6dUZL9bynTe2DWjdNxs6WVQbDXjbw47mUKSfR6T24OZW7t/Uxg1rmnlkcxutvWznkc1trGsNAbCmJfp/dUeYS95p4Edv1e/Qc77b1MXGttCg2rsr64o45i/czD3rt49K/N/KRl5v7GKd3i+RjGsLR9LeOTIchhx4O+c2Oede8X5uAt4BJgCnALd4q90CnOr9fApwq4t6ASgxs3HACcATzrmtzrltwBPAid7fipxzS5xzDrg1YVsiIj0457r1GvemK+L49buN1HemXvfV+s4BPd9XXt3KRW9GA97PvVTDCc9Xc+OaZj69pBrnHDeuaebD1v6DtVhH6usNnVy6ooHfvNeYcr1LVzRw5ku1LK4bWO/2Mc9u5m/rW7j9w2bmL9zcrcf23GV1nPFiLRB93x7c1EpbeOAXDhvbQhz37BbW9vH6uiKOmo7ekmlGplbvhH7TmmYA7lrXwpoB7MPb1jYPeL+IyOAd91w1Jz7f99yYkWhYJ1ea2VTgAOBFoMo5twmiwTlQ6a02AViX8LD13rK+lq9PsVxEJKX7N7Vx0qLqeG9wb56qaefeja384f3UAS7ARW9s4/tvbKN2gIHjlo5o0HrDmmY2d0So74pww5pmznqplvkLN/PkljbmL9zca7AP24O+uj7WAfjuG/U8uLkNAJei48c5x/0bW+mMwG9XNfHH1dEgsi3sqO+M0JHUW/RKfSe/XNnI1auaBvRaAZ6sbqct4njYawfAH95v5JGE3/9vZQOnLqnp8Xwjzeb2MI8ltBugMeT4+Tv1/P797e/JMzUduFRvOHDtB818940dG3UQGYqajnCfx5NdWdfIPqSkNGyBt5kVAP8AvuWc6/0sBqnys90glqdqwwVmttTMltbU1PTXZBEZoZxzvLKt9+CmP0u8Gtb9pQTENt9XPLioroPn6jo4/5W6QbUledN/Wh0N4D5I0XvaMcy5w681dHHFuz0Px2tbQ3xicTVfebX7a4oF/FtTnMTXtoZoShhFcM6xuqWrx3oftoa4c10rl65oiC97rja6P7pcNA0nMUhYuq2Da7yg9vxldVz0xjbeberizYbOHtsN7cTc6sV17Xz6hRp+tqKBzojj+g+a4397dEv3Huzr1zTzUFKAPn/hZq5e1depT3Z3v363kf99e/gvyk5dUsMnFlcP+3ZHi0veruehTa2ZbsaADUvgbWZBokH37c65e73FW7w0Ebz/Y5+K9cCkhIdPBDb2s3xiiuU9OOeuc87Ndc7NraioGNqLEpGMeWxLO//12jYe2ZKeIfuOiKPBCyrfberisS1tPdap9nqyl9d3UtMRJhRxbGoL8eklO3bCq/e6aFJdVPzJ65Fe3xbtXU8VZt64pjnFUrhzXUuPZW29XFF89dVone/3mlNfmLzW0MlP367nuGe3D+N+7qVazn+ljpZQtKf83o2tfOHlOl5LCpAT01iuXd3EyqbuwfkJz1fzicXVrG8L0RVxfPO1bdzhtf3tpi4W1XVw7rI6vuK1EaI90We9VBu/aNkZEnupn9jSxr0b+z6RpxqNuHv94E7+nRFHxPs8rGruGvQFp2TW6w2d3S5OE920ppl7N7byeHV72oPEUGTw8052hq6IG9Ye+ier27ls5ei56B2OqiYG3AC845z7TcKfHgBilUnOAe5PWP5Fr7rJoUCDl4ryGHC8mZV6kyqPBx7z/tZkZod6z/XFhG2JyBA457jjw5adkn/77+o2PvNCDeF+gohHN7fxrFeJo7ErQnMowgavp3qok/7awo7rP2hi6bYOOvvoLX2mtoOPL6pmZVMX5y6r42fvNKRc742GTi5cvpVTl9Rw9LNbeGBTG5s7+j6BrGzq/hravXbcniJQHogbegm8P2wb2j68d0Mrv/R6qZtCjie8FJJtnRHebowG1+vawhz/fDXnLK1lhfe6NiQ875PVbdyXELDe9mELX15WR4t3AXBzQtsf3tzGgoTA/o4Pe38/tnkn6VjOfUNXhBvXNLO6uWeP+3DoL+gebsc8u4Wfv9PAsm0dnLO0jn9u7HnhNxgR59IexIcijkc2t+GcY31biCer2/j5O/XMX7iZC16pG/CxZnl9J9fuxAut4dYVcXzt1a29Tsi+PuGzn+4g8dIVDZzwfHp7xK9Y2RDvwHizoZPFdR08tKmVUMTxw7fq+cTiav6xoed3/t2mrvjxf1c1HHW85wNfAN4ws+Xesh8A/wfcY2bnAR8CZ3h/exj4OLAKaAXOBXDObTWznwMve+v9zDkX6/L4GnAzkAs84v0TkUFq6orwfF0HswqDXLO6iWdr27n2wLJh2fbGthBrW8P8cmUjbWHHAxvbuPK9Rh47opKCQM9r/Z97wd6iBWM5aVH05PCFyfkDfr7GrgiL6jqo7Qhz1qR8NreH4ykTt6z1JsStbeGUcblcNLO4z219eVnf6SRfTeiFBVi6rXtvb6re795OxC9sHdjEzXT5dS8TOc9ZWtujd3ddW5gZBZH4zxANji95O/UFS8ydffQI37w29QVFKp95oYbmsOOGNc3cc0g51R0Rcv3G3oXBlOu/uLWDjW1hTpuQl/LvDUm9lCua+j/xP1XdzukT8shP8ZmGaAC6oqmLOcVZbOuMUJoVXe/udS2UZvk4viqX1+o7yQ9Esykfr25nv5JoLfaXt3XE27qquYv3W0KcUJXbbfuLatu56M16/nV4BWOy/D2evzUU4WPPV3PBtALOmVLQ7+sZLrd92ML1a5rxG1zxbmO3UZe3Gru4+M16rj+o/2PNhcuj37WvTi/caW0dLkvqOuKfvXebu7h/YyuzCoPsVRikORTh1CWZTX3tryTpznD/pjbu39TGHvmBbqNXK5pCLPJSAX/zXhOfntD9WH+udwxOvOvuquYuzl9Wx92HVFCZ42dLe3jUTdZONOTA2zn3PKnzsAGOTbG+Ay7sZVs3AjemWL4UmDOEZopIgstWNvBsbQc/mRUNRFsGMemtI+zwG0SALN/2Q8CZL9USdpDr3f48lkawsS3MXoUDG2S7LaH3c21riLBzTM9PHVRd8nY9L3kBcF7A+M1723vJEnu579/UxlM17dw8t5z3m7vYoyBIXefQDt5bkg7+/fV+76iXtw0tOB9oOcS+9DbB8+majm6/J+c8D4dQxHHtB00cXJodX3bpO/U0J3xeP+NVZAF46sgqsv09T0fffj36PsSC2bUt0ZP/57wLvI8v2vHewFUtIY5/vrpbgJDo2g+auHNdK+dNLeCGNc18ekIeX5lWwNVePvvkvABfX7415WOfqe3glW0dHFiazTlLo4FIYuDdGorEq+i81xzikDE9A+/GUPQ9un9ja8rAuzkUoSviyPX7yPJFLz4c8K9NbZw2Po+i4OAGxGPzA363qjFlqtNAqg1FBtFL3xKKcP/GNs6clIcvjbf6WN8a4jtvbGN+2fbPaGxexWNHVKa9p3mg6jrCtEUcE3O3h4GrmruYlBvg5yvqaQs7fr3vmEFtOzHdLPn40dtoUmNXhFCK/V7bEebeDa10uugFxOcn5/PpF2pSpuGduriaGw4qoyy75/dhJNEt40XSqD3sCDvHBy2hQZ1cBuuhTa1sShi+q/UCxL6qTDjn+Hd1W8oUjaXbOvjoc1s4+tktHPNs93JOsU3GXl9swuBjW9riaSehiGN5fSfLB1Cu73Mv1fKFl7v3RDvn4u1KDH7XJ6VbJLe8KeR4YksbF71Zz+dfqo1X+ZD0u2Vt92HmVBd/d65r4c51rfzeq7KysjnUZ97/JxdX805jF/MXbuZdL7d8/sLNPdb7yqt1XLO6ia6Io7p95/ScxfLnY6lB/9jQyvEJQdh5/YyuvJPU6/63hHriie/dt1/f1uf3OORIWcry1CU1nLy4hmOf28JfPmjm5MU1/MfiGq77oJlfpZiQ25+FNe3dRg7qeyk3sbUzwpMp5lAkSpyv8MM3tw0oP/mPq5u4ZnUTV69q4rna7p+Rv61vYXFdRy+PHJrY6Nq6FO/xzgq6v/5qXcp5KIke82r995Zq9MklNXw24aK1oSvCOUvruGxlA0/XdPDC1k7mL9zM87U71lvunOOTg5joefLiav5jcfeRgQ9bQ5yypIb7N0Vf6x+91KPePu01nRGerd05+3k4KfAWSaNjn9vC+cvqOPvl2m69ujtTKOK4bGVjjzSJRKtbQvwuqSLD0m2d/OTtBv60OnoiO/qZzfEbuixL6olt6oqwNql0X6zzN9bjcdf6Vh7wcldvXNPMhcu3ct0H23und+RGCHesa+GYZ7dQ1xFmbev2wOmepFSG6hTDkdd61Srad2KFDBkesX2Vqicsleaw4zmvhvaiPgKtWLBkwGkv7Jw0gORJpQPx54Sc5j+ubuo2P+K33sVHZ8Tx16T5AfUpepFj26rrjHDWS7Xc8EFTvITk4rqObr3RdyRtr7dJuTEb2kLMX7iZ97wc+5qOMD98q54fvNn/CEtbxHHJOw3xYDriHN95fRsXvFIXr1qTeEG8sLaD37zXSGNXhF+saOCFXvZrs9fD/7cNrXz/ze0TZTvCjt+uauK7wzD6s7Kpiyer26jzjiv1nZFeg8Dh0BaO8EHScfXOdS281tAVn4fy415umPUzr9b/Ec9s7xjZ1hnpUaN/c3uYY57dHB/1eaYm+aKl7/kOYee4Z31LvCPk4c1t8dEWiJYoHYjkj9zrDZ28M4jv0GgwHDneIru152rbKQ36mFOcxdqWELl+47WGTo6pyCHg6znkudLrCXurceccVGo6wpy6pIYr5pQwvzwnvnxbV4SHN7cxIz/11/6e9a18c0ZR/Pcm7+BZ0xHm8pWNhFy0RzlVusgXl9ZS3RFhQk7fQ3xXvtfI6pYQT9VEA/DEsnUnpxjuv2ltz4uT95u74uXdlmztu3djZ5eN7q/OtgyPdYOYOBoLDhO1hCLdgtQX+/n8DMTbjZ3MKOiZBtUU2vEPX2PSY456pvto0jXvN/UIkgE+9UINd88r57Mv1fLnA8YwpziLx5Pyem9c28KNKb5PEO0VT5TqoqGxK0JhwDCzeHnIm9Y080xCD+Pyhi6WNwzsuLb9ZlFd8e/xc7UdFAV7HjObQ46fv9PA4q0dPLy5rdf0nmT/rm7jJynmHbSEIly7upkP20LsV5xFY1eEb+1ZlGIL2z2wsZXLvZGAsiwfV+1byheX1nHa+GgK0I7u7cauSK/pPBvbQlz1XhONoQhvNnZx9qR8ZhQE+GnSpO9na9p5qqZnj3RvIwQnL65mYq6/W1rMp5MuPJMHKl6t7+Qby7eSZfB/Hyntllb4ekMnv1/VxNtNXfxuVROLFozlqqR7APy1nw6miHPxC+FEX+ulo6hlBFVnGSwF3iI7YHl9J+VZPgoCPv66rpk7123vDfjh3sX8IqF28ab2MF/0ciufqm7noc39V0rojDicg2y/8X5zF1PzA/j7yFf87+VbOao8m9Mnbp+gssI7aV62soGHEgLvsCPevlneRKDmPoKD/1u5/bVs84KVzohjW4q86FipvQ0DGLbvLcevrZ8e6I6w47nadi5JOPn01X7ZvaVKSfnk4ppuIx0XvTn0msrnv9L7SNJwSxV0x8RG0B7b0j7osoYxW7sizF+4mTMn5tEWdpw5KZ+zXqrlzIl5LN3WySqvFza5N3ZHhF203GTiyN+P+qhxvbUr9bGlM+IIRVy36joAT9e09wi6nXO81xyKT+CD7ROkgz7jY5U5jM/1p5wEfnlC+k1dZyRehz/2+NjF4UCvxU9aVM3Nc8vI9hmT87qHYn9c3cTihIvC5BGOmIuTervDzrG+NcznXq5NuT5EO0925PMRZns1oWdq2nl5Wyff3rOIHL/1CI7/5/Wt/Y6WJDvymS2MzR548sXx/aTvXPleY6+TqEcK21Xrhc6dO9ctXbo0082QDFheHy35dtNBZezVS5WDZM457l7fysfH5sZ7Id5v7uKL3sSmew4pZ2yOv0cPVF/OmJAX70VJlWcKkGXwr/nbq33E1rt5bhlfWlrHl6fkc9607bP6G7si/Lu6PX5gia2f2AP0XG17fKj1iSMq2dwR7pEj3ZtPjc+jJGicOj6PT3oz8Q8qyWJZ0nDhpFz/oHohh+qLk/O5NU0pOiISNS0vkPKGT+kyOddPQ1eEBu9C+75DK1jXFuK/Xxt6+kiy6fkBLplVjN+MaQmjg8nH8Nik2Ym5/h5zS3bUogVjWVLXwXfe2Mbdh5R3y70eic6alMcnxuZxdh8BfiYNdERkuJnZMufc3H7XU+AtA/H39S1ctaqJR+ZXDmi2e9hFb0iSqsxVKqGIY3N7mIl5PQdhnHPc+mELx1bkpPx7ose2tHH/xlZea+jigmkF7FkQ5F+bWvnKtEIuf7eBGflBDivL4qCS7Hj1g8tWNLC8vpMN7WGOLs/m1PF5/L/Xh35AP6Q0i1lFQU6fkM/JfUw2Ob4yh0tmlwCpA/SKLB9fnV5IUdC4b0Mbi7d28LHKHL69Z1G8/B7A40dUkh/wdQu8/3ZIOX/+oJknM1BOamcoCVqvk7ZERIbTd/YsIuRcPL9+Z/nU+DyerW2nVqlrw0KBd4aMhMC7rxyukaqmI0xTV4SqHD+/ereRrZ0RLp5ZxOneFfj5Uwv4S8KNAP64/xj2K8mK15Q9rjKHz07M48nq6HDng4dXsrY1FK/JesaEPPYqDBKKOD4xLhcfcMe6Vq5f0xQfovvU+DzOnJTHQ5vaqMj2MybLxw/eqqckaPx47xKWbuuI90TsWRCkLMtHbWeE6o5wt0k1/bl7XjlfWFrbbWjQR7Q8noiIiIw+CrwzJBOBd3V7eKfNkE90xZwSxuX4mV4QZHVLF41djlmFQbJ80XzDuaVZ7Fsc5M3GLo6tyKE55Ph3TTv/2BDN6/Jb90ln5Vk+ZhYG+6wCICIiIjLSjfTAW5Mrh9EvVvZ917bh0t+EoMQSPMm1cqFnpYfazgi1CrpFREREdqrRlQcxwnXu7NplIiIiIjJqKfAWEREREUkDBd4iIiIiImmgwFtEREREJA0UeIuIiIiIpIECbxERERGRNFDgLSIiIiKSBgq8RURERETSQIG3iIiIiEgaKPAeTpbpBoiIiIjISKXAW0REREQkDRR4i4iIiIikgQJvEREREZE0UOAtIiIiIpIGoybwNrMTzWylma0ys+9nuj0iIiIiIjtiVATeZuYHrgFOAmYDZ5nZ7My2SkRERERk4EZF4A3MA1Y551Y75zqBu4BTMtwmEREREZEBGy2B9wRgXcLv671l3ZjZBWa21MyW1tTUpK1xMQFTIW8RERERSW20BN6pIlrXY4Fz1znn5jrn5lZUVKShWd19rDIn7c8pIiIiIqPDaAm81wOTEn6fCGzMUFtERERERHbYaAm8Xwb2NLNpZpYFnAk8kOE29aBMExERERHpTSDTDRgI51zIzL4BPAb4gRudc29luFk9KO4WERERkd6MisAbwDn3MPBwptshIiIiIjIYoyXVZFRQj7eIiIiI9EaBt4iIiIhIGijwFhERERFJAwXeIiIiIiJpoMBbRERERCQNFHiLiIiIiKSBAm8RERERkTRQ4C0iIiIikgYKvEVERERE0kCBt4iIiIhIGijwFhERERFJAwXeIiIiIiJpoMBbRERERCQNApluwK5kSt7A3s4sAwd0OSgN+gg5R0nQR1vYMT7Xz4rGLjpd6sceOiaLPfKDPF3TzjdnFHLImGwW1rRT0xHhxLE5FAV8rGjqYnyun3ebQjjgO29sY05RkK9NL+TD1hCXv9vIt2YUUtMR4aDSLF7Z1slf17V0e57f7FuKc3DDmmbebuoa2hszzI4qz2Z1S4iKLB+vNoystomIiIj0xpzrJcIb5ebOneuWLl2a9ufd0BZifI4fMyPsHJ0RR65/dAws1HSEaQ07qrL95PgtvvyKlQ3cv6mNK+aUMCE3wNkv1xL71DxzVBW/fq+RBza1AXDL3DKyfEZHxFHTESZoRgSYV5pFU8hx38ZWTp+QR3vY0Rx2LK7r4D/G5XLfhlau/aA5/pyLFoxl/sLNABxbkcPc0izG5fhZ1xbmUxPyurU7FHFs7gjzlVe2Ut8VAeBbMwp5YWsHpUEfj2xpH/B7EDT4+h6F/G5V0yDewZHpC5Pzue3Dlv5XHIAxQR9bvfdYRERkpFm0YGxGntfMljnn5va7ngJv6U/YOVpCjqLg9guI95u7yPMb43IDdEUcl69s4D+nFTI2xz+k53qyuo3p+QGm5wd5u7GT1rBjbmn2gB//0tYOsnzG/iVZPf5W3R7me29u4+KZxUzPD7Cwpp3JeQGKgj6u+6CJ/Yuz+OT4aFD/Ql0H//PGtiG9lh3x7NFV+M045tnNdO5AXFsUMBpDvX+H5xQF+fOBZXxz+VaW1ncOuZ0KvEWGX8Cgj68xE3L8bGgPp69BSbJ90DECvvbzy7JZVNcxpG08c1QVRz+7ZZhaJCPRSA+8R0dXrGSU36xb0A2wR0GQcbnR1Jqgz/jRrJIhB90Ax1XmMj0/CMDsoqwdCroB5o3JThl0A1Tm+Llpbjl7FQYJ+IzjqnLZqzDI2Bw/P5lVEg+6AQ4t27Hn7c0JVTkDOgjExhfunFfB7/Yr7fH3P+w/hhOqcvjmjMJuy288qKzHuqeMywXggmkFXLP/GAB+5/2fyoSk/fbPwyoA+O5eRT3baT0WpdWvPtLzvRHpS1X2yD/N3XtoBVf28dk+onz78eio8mzumldOOl+WMfxf/OMqc3osy/X3/Tyfn5RP1iCaMj7hGBfwGfsWB3d8I0QDppOqcnj8iErSRqlfAAAZNUlEQVQenl9JWVZ6dsLHvPfqeymOyclundvznDDcJuVG38+PVuTwnT2LeOrIKp4/umqnP++uYuQfkUQy5Dt7FnFQQhA/Iz/A3JKsboHxN/YoTPXQuDMm5ANw3YFjePDwCqbmdQ9yz5tawPNHV+HzItqxOf74xUau3+IHuDFZPn4yq4TPTMxnr4LoBc+j8ysZlxvggcMqOG9qARDtAb9wj0I+MzGPMyfmE/BtP0vNKoyebM6dkt/tNZwzJT/+813zyqnI9rNowVhOHZ/HQ4dXclvCgbwq2x8PzAerKtvH4WMGd2Gz3yBPmLJ7+NaMQh4/opLnegkCHp1f2e33nXkdOW4HOiKyfMa8MdFjTWKb/nzAGJ46sooTq3Ljy04Zl8ekvAB/SLiYnpHfc37Rk0dW9liWrK9Ad+/CQDxgLQ4O7zv14OEV/HjvYm6bW0ZBQhseOryS/51d3GP9q/cr5c555exXksXTR4/l57NL+NT4vB7rJZtdGOS5o6u455By/nlYBQ8dHn1P/nRAGZfOLon/PlCXzSnhR7NKyA/4KA76uMgLhO87tIIbDyrjkfmVXD6nZIe22Z9LZ5dwqHe83KOg73lkhQFjj4LggPb9YHxpSj6LFozlrkMqeOCwCn46u5jTJuSR7TfMjL8eXM4ls4r5T+98lHhu6c8P9+653yuzfZw8NjfF2qObJleK9OK0CXl8fGwut69rIc9vnFCVS6nXw/Hg4ZW809TF4WXZTM0LcHBpFh9fVE1r2HHmxDz2KAhyUsIBY5+i6En1prnlhCKOjz1fDcDUvACWohv5l/uUMKMgwPq2MFe919jtJP7HA8bQHHIUeqMQZdl+zpiQxw1rminP9pMf8PHNGT17Ri6YVsD/e30bh5Vls09RFhdOL+Sa1U1M9EYupucHmJQ0Qbgky0dJQq/OFR8pJTTI9LQTqnI4oSqX6fkB8vzGyqYu/uu1/tN5TqrK4fEt7dx/eCX5AfUV7Cqm5QX4oDU0qMf6DcJJH8NH5lf2GJkDKM/2s6Ujwg/3Lo5/Z2IOLs3iMxPz+U4a08oALt2nhCV1HTy+pY2upNdhRL+LJ43NZU5x9LgRO+6cPSk/Pho3s7Dvi9Bcv49H5ldy0qLosWavggDvNg/8/f7eXsWMzfGzrStClsFL2zq54t3GlOvuXRhgRdPAt12aFT2eTS8IUpXjp7kl+thsv3FcZS6XvN0QX/fEqhwOShr5/GhlDoeOyWLJ1g5OG5/LiqYQT9VE5/KcPSmfc6bk09AViY/KAlRkd78QOsbrRX7qyCo++lz/qSeV2T6OLO/eS39E+fYRzUrvGH1EeQ4nj83lwc3ReU9fn17ITWuaaYvs2HHzuMoccnwWb+e8MVmMydr+Gm6dW8YbjV38KmGf3HtotFMk1+/jmv3HcOHyrQD859QC6jrD3LexLb5unt9oTf4S9eLQMVm8sLWz20VhWXbPC8tp+QGm5Qf4sDXE9WuaOb4yl9PG57GhLRxvy6fG55HrN25PKOhw6ewSjqnM4RcrGrptryLbz2kT8uLv5a5CgbdIH7L9xpe9q/dEpVk+DvdOgId5/z9+ZP9DbVk+I8tnHFORzdM1vecqHlURPdiOzw1w5yHde5hz/T5yk455hUEfP5lVzIG9pNlANA3nmaOq4r3gZ03K47jKHCpz/Fw8s4hD+uiFHpvtI+Sir7umY3C5pj/eu7jbRcaBCSfTX+5TwsVv1ad83I9mlfCjWdt//82+pUzI8fPZl2qBaC/miV5wIaPHUNKWJudGg/ZTx+fyTy+YSBV0A1w+p4QXt3ZyonchfEhpFi9uG/p8h/58ZmJer5O0S4M+frB3MQtr2ukKux7vxa0Hl3f7vSLbz32HVlCWkF/iN+Pns0v48dvR781tB5cRNOPMl2rZpygalCe+JzfNLY9PWC8MGE0hx+zCIIeXZfP795vI8RkXzSyiJOjrdiyIbeOU3ECPwDvLB50R+MU+pXz6hZoBvS/J6RmXzynh1+818YXJqXtHs32pPyh5AR9/P3T7sfGphZvJ9Rlf80Yh8wZ4kZ7tN248qIwvL6tL+fcvTcnn5rUt5O1AkYRv71nEuBw/c4qDzC3N5vOT8+Pv/Z8PGMNXXo0GoZNz/XzY1vN4+rPZxRxb2b2nNzHohmi65x4FQR7f0sZrDV18d6+ibq95/5IspuT5qW6PcO7UAtrCkXjgvWjBWEIRxwtbO/jem6mPu4n2KYoG3gM1OS/QLcWyItvP3w8ppzLHj9+M+s5IPPD+7MQ8jizv/dzTX/rRaKTAWyQDvj69kPYwHFbWe6C8o06o6n9ILjH1xMzivTQnj+t72PYfh20fuszzDoSfnpDHPza0Dqhted5QZLIZ+QFWtYQ4qiKnWw9NXxKDgpKgr0cvpowuk3Kj1YoGInmS4eTc/k9hpVn+eNANcNmcUr7z+tZhLUX614PLOfvl2vjvsaAjFngXB4yGkOvztcY+xedP63mhD9t7VBPFUg/Ks33xuTH3H1ZBQUIA9sj8SmJf+/2Kg7zW0MWjR1TxdmMnU/ICOOD37zfht4EdQw4bk82SrdFOg2yf0RlxlAZ98V7RRBdMK+C6hGpVEL1wTjQuN8CV+w597sZtc8u6jc7tiJmFwfg+ml0YjJfQ/d1+pcwtzaYw4GNBRc+c9N5k+40vJXXY3DGvnLcbu5hTnMV/jMvlX5vaUl58jgn6egTdfTmqPIfXGrri6SiJbk+4gMv1+1h4VBXtXi93wGccUZ7DD2YWccvalj4n784vy+aGNc0cUT7w9yBZ4uhDSZaPoEVLKn91emG381KiWYXBPss0n1iVw6NJVcsGMwcg3RR4i2TA+GE62WRCfsDHQ4dXUhi0AQfeD89PnXN43YFldHhDsPuXZHHBtALmFAUpCvr44Zv13QKmVNsMDPEge/ak/G417BN7UGN+u28p33o9vakIu4NYxlLyLuyvUs9AfbQiJ55+kCjHb/xg72LOeLGWo4YQSMR8f2YR01LkWCeKXnT2/ZrMbIerMUzJC/DjvYvjo28QTa1JlNjrfdW+Y2gNR8uTzPbS35pDAy9XEmvfWS/W8GFbmD8dUMZzte1k+41f7zuGsHOsag4Rdo7zX9kaDdg+aGZHx8gOKA7GL4xSBZSpTC8Y2vyPG+eWs7Kpi6PKs9nsBaGxYPHMSQPPVe7NlLxAPIicW5rFvza18d29ivmG19lw3tQCxuX4u6UopjI1z8+a1u3v6Gcn5nHyuNxuF1sxyZ0dQZ8RTApyPzEujwUVORz/fDWX7lPCj1KMPM4sDKa9Usj/ziqOX+xMyfOztjUc//+gkiwauiL8eFYJfmvgoYRUlGsO6L2QwEgxpK4iM/uVma0ws9fN7D4zK0n428VmtsrMVprZCQnLT/SWrTKz7ycsn2ZmL5rZe2Z2t5llecuzvd9XeX+fOpQ2i8jQlWT58Ccc1G/rZyZ98sE+JtvfvWLOOVMKOKg0mz0LgtxzaEXKNJ+Y4qBvUDnf5yds82tJk2MLAj6+mtTjeHCKE/9Vo/SiKV3K++h5vMKbfDbD662NhaOxicTT+wliE/WVrnLJrGIe6eWCb3xugCePrOTU8T2DnIFUjkgUu4AYyOMu2quII8qyme2lgnzeS6/oLZ1iIE4cm9trmk2ybL/F86tj8vzGYWOyuWwHJgX+5aAy7ppXzrT8AF+csv374jdjZmGQ2UVZLFowlhkFwR6XG5UpcoOT/Wa/MTwyv5KnjqyKp93tbGNz/BxdkYNZtEzuuAGMpgzWcZW5PDq/kgNKsuIT4/fw8vr786cDyrpVLjGzlEH3jsgP+Fi0YCzHJL3X88uyeeKInTNRM1YFLfGTHzs2nDEhj+OqcuM94Z+dGP2e/PmAMp4+qoqr9x/DLV5vflHSxN/8UXDflKG28AlgjnNuX+Bd4GIAM5sNnAnsA5wI/NHM/GbmB64BTgJmA2d56wJcDlzlnNsT2Aac5y0/D9jmnJsBXOWtJyIjgN/gK9MKhtzblE5fmlrAGRPyepRRHCi/wX7Fw5citCua10cv5XxvQlpysBib5HtsZS7PHl3FUwlzJgZTEjDg61kGNVGu35cy/emTA6iWkcpAHjctP8DlHyklywsozplSwKIFY3u9ME0HnxlX7lu6Q6VbCwK+HhOxexOr/PSLfUp44ojUE2CTZXn7LnsXzO+NiaXIfXFyPpfuU8JRfeQ5JyoK+tgjTcfbgA08V35H/X7/MVw6u6TbZz92bPjWnt0vYk8Zn8eiBWMpDPri353RbEjvqHPucedcbCrzC8BE7+dTgLuccx3OuQ+AVcA8798q59xq51wncBdwikWPfh8F/u49/hbg1IRt3eL9/HfgWEt1tBSRtHv26LHderz2Lep5QuhrwmemfGvPIu45NHVZxMSjyw9m9uzFnNRHT9jMPsp9TUqeEbsL+2hFTsoSd30Zl+PnySMrOW18Ln4zEjvNYyfb2L5J7EX952EV3NfLvhys8/sYaUk2sFrOu+aN6gbis5OiJegWVOTstCBuNAv4jGO8nvaR4Or9Sjlz4uAuPndERbY/XrFlKJInvRYOc+nLnWE4vwVfBh7xfp4ArEv423pvWW/Ly4D6hCA+trzbtry/N3jri8gIcve8cn69bymHj8nmWwk3+klHWka2L1oa7roDx3BDipsKDdZxKSY5/WH/nq8nFlTHhkRTSRV6jYJ7u/Qp1YVWTH831Ep1ekzshU4MRK7ct5QvT8mnKrv78LRz0RN4qomHAzWnKEiJd7Iu9CYNfGlqtCf669P7rtP//ZlF3fKrk/Ws5T3ygwLZvR1Umh3PrZ66gxfPmfD5Sfl8fXoBTx1Zxd2HlPeo/jIS9fuumtmTQKqs+h865+731vkhEAJujz0sxfqO1IG+62P9vraVqq0XABcATJ48OdUqIrKTTPSGnn/lBdq/9So69DZjfTg9dVT/E3/mFAV5s7HvShaJLf38pPyUQ92lWX7CA6hlHqvYEjPI8uc7JDb5aDBKgsa80mwer+45ITHZRytyuHCPQgoDxvHP9yzl6Lf++3jPm1pAe9gxOc/PH1c397nuxNwA500r5L8HUPVmRxUGfTw0v4rHtrQxp48LiVQOH5PdZ0/lXw4cw4a2MD95u57duddbRpePFGdxzf5jdvj7kAnZfuPzk6MjVBN3Yl7+cOq3v8U5d5xzbk6Kf7Gg+xzgZODzzsVPLeuBSQmbmQhs7GN5LVBiZoGk5d225f29GEh59HXOXeecm+ucm1tRMbxDjyKy40ZSaadr9h/D00f1X2s94AVSfVVM8XsVKGKpJbGqFhUJXdi3JNViTke+6lCf4ZLZJRzWR352rAc3P2CMzfGnnNz6pSn5zC3tmV70o72L4xPJIJqrevHexYPK2Yy93xOHMX3nhKpcJvRx4s4bxP4rzfIzpziL3+03hvOnFsRvhCMy0u1fkpWWTpPd0ZAuD8zsROB7wNHOucS6Yg8Ad5jZb4DxwJ7AS0TPC3ua2TRgA9EJmJ9zzjkzexo4nWje9znA/QnbOgdY4v39qYQAX0RGqH8eVjGkag3DbaAnkdPG51HbEebsFDf0+NVHuqeZxDo7Pz8pnzMn5rNfH/nsU/L8jM32s3jr9hsnDeRAlly7Oib1zTd2zvt9+ZwSuiLQGIr0evfCmPOnpU7PGEjFhv7sX5LFsvpO/nNqAZ+blM+sndwjlzg/oSToozXc/f3OG2A9y0l5gR51nUVk9zTUy+8/AIXAE2a23MyuBXDOvQXcA7wNPApc6JwLezna3wAeA94B7vHWhWgA/20zW0U0h/sGb/kNQJm3/NtAvAShiIxcFdn+AZc5G0my/cY3ZhSlnAjWWz6v36zPoDsmOfhcMIA60l+dXsiiBWO5KSl3vSpFXnOqMPC2uWVc2E+ucn+OKM8ZlolQQ/WlKfncPa+cKfmBnR50A8wqCnL3IeUp//bYEZXkJk3sunluGX8eBXWERSRzhtTj7ZX46+1vvwB+kWL5w8DDKZavJlr1JHl5O3DGUNopIjISHFGezcljc3nQu+HDD/cu7jenOhZM71W4PdD82exi9i/O4pNL+r9N9/SCINPyA/xrU2u8hzzxBiXJz7R/STB+Z8JkfU28GareUqX3K97+un1m8bkE6ZLvpZjMKQpyw0FlnLQomtOeqnbynqOorKaIZMbo644SEelHbzdOSeWKOQOvoZssK0W0WBL0sWeKsoInVOWS5TMu3rs4vixV+suiBWP5YmKaS4qA9NjKXMqy/Xx9+sDSF8yMo71KBRdMK+APB/Re+eVzk/Lj1VbOnZLP7/cbWlWaBeXZ/DjhNe+I2w8u58qPZPZmRaVZfm6ZW8b3ZxaPyhEcERlZdBQRkV1OUdDHV6YV8PXpBYzvp9Tc/PIc9i7su6fyH4dW9Ej1APjp7BLOnpzPzMLtgfZD8yu5eW739IRFC8ZyZEJaSWJN75sOKutWfhHgM32UJUx0UNJNT84Yhvq7PjPG5URfz0crcjiwnxur9FfH+sSxuZzYR3537Jbgx6dIZZmaHxgRtZ9nFAR36Zu5iEj6jI7aKyIiOyh2Y5/PTMwnMsTp2GNz/CnrUlfl+PnaIPKnrzuwjK2dESCaQrJXYZDbPmzhU97dD0uzfFwxp4SL3qxnVj8XBQB7FQS4yQv2X6nv5MkBlAS8/sAyVjR1saAim5MX95Ky0kusmbj4lrllbG6P8J+v1PX7nKlMyguwaEH/5SBHihsPKmNdW6j/FUVEUlDgLSK7tEzejrs3RUFfj7SFBw7vnh4Tu33yjvrh3sV8dVoBp79Y22158rXHrKIgs4qCbO0cXN3vmNIsP6XeTSum5o38m1cM1czCIDMHcDEkIpKKAm8REc9wh+hfmpLf45bGO0Niu7N8xjivHnXFDtSNHupr//MBY0bNDSxERDJFR0kR2e3NL8vmug+a4xMQh0tvNa2Hy7S8ALMKgz1yxCGal54/gLzkHG9E4MiECabT8v2saQ2RmzRaEMvn7nkrdJhT3H85RRGR3Z0CbxHZ7c0oCI6qPOOYbL9xfYpJn0CPnHRf0v8xeQEf9x9WQUlC6ssPZhZzyriueM95zBFl2Vz5kVLmjek/yP7uXkWUrWnu806YIiK7GwXeIiKjxF3zygkNcqLo2ZPzaeiKcHqKyifl2d2D9LyAj4NTBMxmxmG93EQoWUW2n+/NHFwZQRGRXZUCbxGRUWLSEG4ekx/wcZECYRGRjMp8gVQRERERkd2AAm8RERERkTRQ4C0iIiIikgYKvEVERERE0kCBt4iIiIhIGijwFhERERFJAwXeIiIiIiJpoMBbRERERCQNFHiLiIiIiKSBOTfI+w+PcGZWA6zNwFOXA7UZeF7pm/bLyKN9MjJpv4w82icjk/bLyJPJfTLFOVfR30q7bOCdKWa21Dk3N9PtkO60X0Ye7ZORSftl5NE+GZm0X0ae0bBPlGoiIiIiIpIGCrxFRERERNJAgffwuy7TDZCUtF9GHu2TkUn7ZeTRPhmZtF9GnhG/T5TjLSIiIiKSBurxFhERERFJAwXew8jMTjSzlWa2ysy+n+n2CJjZjWZWbWZvZrotEmVmk8zsaTN7x8zeMrNvZrpNuzszyzGzl8zsNW+f/G+m2yTbmZnfzF41swcz3RYBM1tjZm+Y2XIzW5rp9kiUmZWY2d/NbIV3fjks021KRakmw8TM/MC7wMeA9cDLwFnOubcz2rDdnJkdBTQDtzrn5mS6PQJmNg4Y55x7xcwKgWXAqfquZI6ZGZDvnGs2syDwPPBN59wLGW6aAGb2bWAuUOScOznT7dndmdkaYK5zTjW8RxAzuwV4zjl3vZllAXnOufpMtyuZeryHzzxglXNutXOuE7gLOCXDbdrtOeeeBbZmuh2ynXNuk3PuFe/nJuAdYEJmW7V7c1HN3q9B7596ZUYAM5sIfAK4PtNtERmpzKwIOAq4AcA51zkSg25Q4D2cJgDrEn5fj4IJkT6Z2VTgAODFzLZEvHSG5UA18IRzTvtkZPgtcBEQyXRDJM4Bj5vZMjO7INONEQCmAzXATV5a1vVmlp/pRqWiwHv4WIpl6jES6YWZFQD/AL7lnGvMdHt2d865sHNuf2AiMM/MlJqVYWZ2MlDtnFuW6bZIN/OdcwcCJwEXeimNklkB4EDgT865A4AWYETOtVPgPXzWA5MSfp8IbMxQW0RGNC+P+B/A7c65ezPdHtnOG55dCJyY4aYIzAc+6eUU3wV81Mz+mtkmiXNuo/d/NXAf0VRTyaz1wPqEkbq/Ew3ERxwF3sPnZWBPM5vmJfWfCTyQ4TaJjDjeRL4bgHecc7/JdHsEzKzCzEq8n3OB44AVmW2VOOcuds5NdM5NJXpOeco5d3aGm7VbM7N8b1I4XirD8YCqZmWYc24zsM7MZnqLjgVG5IT9QKYbsKtwzoXM7BvAY4AfuNE591aGm7XbM7M7gQVAuZmtBy5xzt2Q2Vbt9uYDXwDe8HKKAX7gnHs4g23a3Y0DbvGqM/mAe5xzKl0n0lMVcF+0/4AAcIdz7tHMNkk8/wXc7nV+rgbOzXB7UlI5QRERERGRNFCqiYiIiIhIGijwFhERERFJAwXeIiIiIiJpoMBbRERERCQNFHiLiIiIiKSBAm8RERERkTRQ4C0iIiIikgYKvEVERERE0uD/A7ZDFQM7hsNAAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f54421ef390>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f54421a1f98>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"\n",
"mix_2_wave = wave.open('ICA mix 2.wav','r')\n",
"\n",
"#Extract Raw Audio from Wav File\n",
"signal_raw_2 = mix_2_wave.readframes(-1)\n",
"signal_2 = np.fromstring(signal_raw_2, 'Int16')\n",
"\n",
"\n",
"mix_3_wave = wave.open('ICA mix 3.wav','r')\n",
"\n",
"#Extract Raw Audio from Wav File\n",
"signal_raw_3 = mix_3_wave.readframes(-1)\n",
"signal_3 = np.fromstring(signal_raw_3, 'Int16')\n",
"\n",
"\n",
"plt.figure(figsize=(12,2))\n",
"plt.title('Recording 2')\n",
"plt.plot(timing,signal_2, c=\"#3ABFE7\")\n",
"plt.ylim(-35000, 35000)\n",
"plt.show()\n",
"\n",
"\n",
"plt.figure(figsize=(12,2))\n",
"plt.title('Recording 3')\n",
"plt.plot(timing,signal_3, c=\"#3ABFE7\")\n",
"plt.ylim(-35000, 35000)\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now that we've read all three files, we're ready to [zip](https://docs.python.org/3/library/functions.html#zip) them to create our dataset.\n",
"\n",
"* Create dataset ```X``` by zipping signal_1, signal_2, and signal_3 into a single list"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(879, 157, 879),\n",
" (1268, 899, 2584),\n",
" (1460, 1610, 4081),\n",
" (1756, 2325, 5682),\n",
" (1943, 3022, 7147),\n",
" (2216, 3718, 8689),\n",
" (2407, 4386, 10114),\n",
" (2668, 5056, 11583),\n",
" (2866, 5690, 12954),\n",
" (3106, 6318, 14327)]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X = list(zip(signal_1, signal_2, signal_3))\n",
"\n",
"# Let's peak at what X looks like\n",
"X[:10]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are now ready to run ICA to try to retrieve the original signals.\n",
"\n",
"* Import sklearn's [FastICA](http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.FastICA.html) module\n",
"* Initialize FastICA look for three components\n",
"* Run the FastICA algorithm using fit_transform on dataset X"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"# TODO: Import FastICA\n",
"from sklearn.decomposition import FastICA\n",
"\n",
"# TODO: Initialize FastICA with n_components=3\n",
"ica = FastICA(n_components=3)\n",
"\n",
"# TODO: Run the FastICA algorithm using fit_transform on dataset X\n",
"ica_result = ica.fit_transform(X)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```ica_result``` now contains the result of FastICA, which we hope are the original signals. It's in the shape:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(264515, 3)"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ica_result.shape"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's split into separate signals and look at them"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"result_signal_1 = ica_result[:,0]\n",
"result_signal_2 = ica_result[:,1]\n",
"result_signal_3 = ica_result[:,2]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's plot to see how the wave forms look"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f54325fc588>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f54325a6940>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f54325d94e0>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot Independent Component #1\n",
"plt.figure(figsize=(12,2))\n",
"plt.title('Independent Component #1')\n",
"plt.plot(result_signal_1, c=\"#df8efd\")\n",
"plt.ylim(-0.010, 0.010)\n",
"plt.show()\n",
"\n",
"# Plot Independent Component #2\n",
"plt.figure(figsize=(12,2))\n",
"plt.title('Independent Component #2')\n",
"plt.plot(result_signal_2, c=\"#87de72\")\n",
"plt.ylim(-0.010, 0.010)\n",
"plt.show()\n",
"\n",
"# Plot Independent Component #3\n",
"plt.figure(figsize=(12,2))\n",
"plt.title('Independent Component #3')\n",
"plt.plot(result_signal_3, c=\"#f65e97\")\n",
"plt.ylim(-0.010, 0.010)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Do some of these look like musical wave forms? \n",
"\n",
"The best way to confirm the result is to listen to resulting files. So let's save as wave files and verify. But before we do that, we'll have to:\n",
"* convert them to integer (so we can save as PCM 16-bit Wave files), otherwise only some media players would be able to play them and others won't\n",
"* Map the values to the appropriate range for int16 audio. That range is between -32768 and +32767. A basic mapping can be done by multiplying by 32767.\n",
"* The sounds will be a little faint, we can increase the volume by multiplying by a value like 100"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"from scipy.io import wavfile\n",
"\n",
"# Convert to int, map the appropriate range, and increase the volume a little bit\n",
"result_signal_1_int = np.int16(result_signal_1*32767*100)\n",
"result_signal_2_int = np.int16(result_signal_2*32767*100)\n",
"result_signal_3_int = np.int16(result_signal_3*32767*100)\n",
"\n",
"\n",
"# Write wave files\n",
"wavfile.write(\"result_signal_1.wav\", fs, result_signal_1_int)\n",
"wavfile.write(\"result_signal_2.wav\", fs, result_signal_2_int)\n",
"wavfile.write(\"result_signal_3.wav\", fs, result_signal_3_int)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The resulting files we have now are: [note: make sure to lower the volume on your speakers first, just in case some problem caused the file to sound like static]\n",
"* [result_signal_1.wav](result_signal_1.wav)\n",
"* [result_signal_2.wav](result_signal_2.wav)\n",
"* [result_signal_3.wav](result_signal_3.wav)\n",
"\n",
"\n",
"\n",
"Music:\n",
"* Piano - The Carnival of the Animals - XIII. The Swan (Solo piano version). Performer: Markus Staab\n",
"* Cello - Cello Suite no. 3 in C, BWV 1009 - I. Prelude. Performer: European Archive"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 1
}