{ "metadata": { "name": "bss_jade" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Blind Source Separation with the Shogun Machine Learning Toolbox" ] }, { "cell_type": "heading", "level": 5, "metadata": {}, "source": [ "By Kevin Hughes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Today I am going to show you how we can do Blind Source Separation (BSS) using algorithms available in the Shogun Machine Learning Toolbox. What is Blind Source Separation? BSS is the separation of a set of source signals from a set of mixed signals. \n", "\n", "My favorite example of this problem is known as the *cocktail party problem* where a number of people are talking simultaneously and we want to separate each persons speech so we can listen to it separately. Now the caveat with this type of approach is that we need as many mixtures as we have source signals or in terms of the cocktail party problem we need as many microphones as people talking in the room." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's get started, this example is going to be in python and the first thing we are going to need to do is load some audio files. To make things a bit easier further on in this example I'm going to wrap the basic scipy wav file reader and add some additional functionality. First I added a case to handle converting stereo wav files back into mono wav files and secondly this loader takes a desired sample rate and resamples the input to match. This is important because when we mix the two audio signals they need to have the same sample rate. " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from scipy.io import wavfile\n", "from scipy.signal import resample\n", "\n", "def load_wav(filename,samplerate=44100):\n", " \n", " # load file\n", " rate, data = wavfile.read(filename)\n", "\n", " # convert stereo to mono\n", " if len(data.shape) > 1:\n", " data = data[:,0]/2 + data[:,1]/2\n", "\n", " # re-interpolate samplerate \n", " ratio = float(samplerate) / float(rate)\n", " data = resample(data, len(data) * ratio)\n", " \n", " return samplerate, data.astype(np.int16)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we're going to need a way to play the audio files we're working with (otherwise this wouldn't be very exciting at all would it?). In the next bit of code I've defined a wavPlayer class that takes the signal and the sample rate and then creates a nice HTML5 webplayer right inline with the notebook." ] }, { "cell_type": "code", "collapsed": true, "input": [ "import StringIO\n", "import base64\n", "import struct \n", "\n", "from IPython.core.display import HTML\n", "\n", "def wavPlayer(data, rate):\n", " \"\"\" will display html 5 player for compatible browser\n", " The browser need to know how to play wav through html5.\n", " there is no autoplay to prevent file playing when the browser opens\n", " Adapted from SciPy.io. and\n", " github.com/Carreau/posts/blob/master/07-the-sound-of-hydrogen.ipynb\n", " \"\"\"\n", " \n", " buffer = StringIO.StringIO()\n", " buffer.write(b'RIFF')\n", " buffer.write(b'\\x00\\x00\\x00\\x00')\n", " buffer.write(b'WAVE')\n", "\n", " buffer.write(b'fmt ')\n", " if data.ndim == 1:\n", " noc = 1\n", " else:\n", " noc = data.shape[1]\n", " bits = data.dtype.itemsize * 8\n", " sbytes = rate*(bits // 8)*noc\n", " ba = noc * (bits // 8)\n", " buffer.write(struct.pack('' or (data.dtype.byteorder == '=' and sys.byteorder == 'big'):\n", " data = data.byteswap()\n", "\n", " buffer.write(data.tostring())\n", " # return buffer.getvalue()\n", " # Determine file size and place it in correct\n", " # position at start of the file.\n", " size = buffer.tell()\n", " buffer.seek(4)\n", " buffer.write(struct.pack('\n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " \"\"\".format(base64=base64.encodestring(val))\n", " display(HTML(src))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we can load and play wav files we actually need some wav files! I found the sounds from Starcraft to be a great source of wav files because they're short, interesting and remind me of my childhood. You can download Starcraft wav files here: http://wavs.unclebubby.com/computer/starcraft/ among other places on the web or from your Starcraft install directory (come on I know its still there).\n", "\n", "Another good source of data (although lets be honest less cool) is ICA central and various other more academic data sets: http://perso.telecom-paristech.fr/~cardoso/icacentral/base_multi.html. Note that for lots of these data sets the data will be mixed already so you'll be able to skip the next few steps." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay lets load up an audio file. I chose the Terran Battlecruiser saying \"Good Day Commander\". In addition to the creating a wavPlayer I also plotted the data using Matplotlib (and tried my best to have the graph length match the HTML player length). Have a listen!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# change to the shogun-data directoy\n", "import os\n", "os.chdir('../../../data/ica')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "import pylab as pl\n", "\n", "# load\n", "fs1,s1 = load_wav('tbawht02.wav') # Terran Battlecruiser - \"Good day, commander.\"\n", "\n", "# plot\n", "pl.figure(figsize=(6.75,2))\n", "pl.plot(s1)\n", "pl.title('Signal 1')\n", "pl.show()\n", "\n", "# player\n", "wavPlayer(s1, fs1)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nsrIy7N27FxMnTsTevXtRq1YtzJ07V7VPoMpOlJSU4L///S+GDx9u81mgyv7777/j9ddfx9GjR3Hy\n5EkUFRVh5cqVqn2qWnZTK0DtnMPc3FxVz8DfREVFWRMJ5OXloXHjxgBs5XZlriQA61zJBg0aeE3W\n0tJSDBs2DCNHjsTQoUNNJz8A1K1bF4MGDcKePXtMIfv333+PdevWoVWrVkhPT8eWLVswcuRIU8gO\nAE2aNAEANGrUCPfccw92795tCtmbN2+O5s2bW6PL77vvPuzduxfR0dEBLzuRkZGBW265BY0aNQJg\njnf1xx9/RLdu3RAZGYmwsDDce++92LFjh1/vu6kVYMeOHZGdnY2jR4+ipKQEa9aswZAhQ/wtlhVx\nfuPy5cutisWbcyW9AWMM48aNQ2JiIiZNmmQq+c+dO2dNkF5cXIzNmzejQ4cOppB99uzZyM3NRU5O\nDlavXo3bb78dK1asMIXsV65cwaVLlwAAly9fxqZNm5CUlGQK2aOjo9GiRQscOXIEAPDVV1+hbdu2\nuOuuuwJedmLVqlVW96f2fIEqe0JCAnbu3Ini4mIwxvDVV18hMTHRv/fd86FN/7JhwwYWFxfHWrdu\nzWbPnu03Oe6//37WpEkTFh4ezpo3b87ee+89lp+fz/r27asb3jtr1izWunVrFh8fzzIzM63bKby3\ndevW7PHHH7duv3r1Khs+fLg1vDcnJ8drsm/fvp1ZLBaWnJxsDa/OyMgwhfw///wz69ChA0tOTmZJ\nSUls/vz5jDFmCtlFtm3bZo0CNYPsf/zxB0tOTmbJycmsbdu21nfPDLIzxtj+/ftZx44dWfv27dk9\n99zDCgsLTSN7UVERi4yMZBcvXrRuM4vs8+bNs06DGDVqFCspKfGr7BbGZA4xiUQikVQ/TO0ClUgk\nEonEXaQClEgkEkm1RCpAiUQikVRLpAKUSCQSSbVEKkCJRCKRVEukApRIJBJJteT/A2BguK4/yEKI\nAAAAAElFTkSuQmCC\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's load a second audio clip:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# load\n", "fs2,s2 = load_wav('TMaRdy00.wav') # Terran Marine - \"You want a piece of me, boy?\"\n", "\n", "# plot\n", "pl.figure(figsize=(6.75,2))\n", "pl.plot(s2)\n", "pl.title('Signal 2')\n", "pl.show()\n", "\n", "# player\n", "wavPlayer(s2, fs2)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nAAAAAElFTkSuQmCC\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "and a third audio clip:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# load\n", "fs3,s3 = load_wav('PZeRdy00.wav') # Protoss Zealot - \"My life for Aiur!\"\n", "\n", "# plot\n", "pl.figure(figsize=(6.75,2))\n", "pl.plot(s3)\n", "pl.title('Signal 3')\n", "pl.show()\n", "\n", "# player\n", "wavPlayer(s3, fs3)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAcMAAACZCAYAAABT5FH7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXl8FEXax38TEi4BA8EkkIDEzCRhCJIoEHBBgiFBEBC5\ncZdLBEQXJO+ugLq7yL5LCLoisIJnOMSVoO4qqCSc4VUEwnIEObKQ1aABAkpIENwkk5B6/6j0TE9P\n90zPnZl5vp/PfLq7prq7urq7nq6q59AwxhgIgiAIIoAJ8nYBCIIgCMLbkDAkCIIgAh4ShgRBEETA\nQ8KQIAiCCHhIGBIEQRABDwlDgiAIIuAhYUgQXuDvf/87hg4d6vbz7N+/H126dHH7eQjC1yFhSBBu\n4sCBA3jggQcQGhqKsLAwDBgwAEePHgUA/PrXv8bOnTu9XEJg8ODBCA8PR7t27dC9e3e888473i4S\nQXiFYG8XgCD8kZ9//hkjRozAW2+9hQkTJqC2thZfffUVWrRo4e2imbFmzRokJCQgJCQER44cwYMP\nPogHH3wQ8fHx3i4aQXgU6hkShBs4f/48NBoNJk6cCI1Gg5YtWyI9PR09e/YEAGzcuBEDBw405t+1\naxfi4+MRGhqKZ555BoMGDUJOTo4x74ABA/Dcc8+hQ4cOuOeee5Cfn2/cd8OGDdDr9WjXrh1iY2Px\n9ttvqy5nz549ERISYtxu06YN2rVr5+zlE4TPQcKQINxAfHw8mjVrhunTpyM/Px+VlZWKea9du4bx\n48djxYoVuH79OuLj43Ho0CFoNBpjniNHjiAhIQEVFRVYuHAhZs6cafwvIiICX3zxBX7++Wds2LAB\nmZmZOHHihOqyjhgxAq1atUJqairWr1+PTp06OXbRBOHDkDAkCDfQtm1bHDhwABqNBrNmzUJ4eDge\nffRR/PjjjxZ5d+zYgcTERIwePRpBQUGYP38+IiMjzfLcfffdmDlzJjQaDaZOnYry8nLjsYYPH46Y\nmBgAwIMPPoiMjAx89dVXqsv6+eef49atW3jvvfcwffp0/PDDD05cOUH4JiQMCcJNJCQkYMOGDSgr\nK8Pp06dx+fJlLFiwwCLf5cuXER0dbZYm3RYLx9atWwMAbt26BQDIy8tDv379EBYWhvbt22PHjh2o\nqKiwq6zNmjXDuHHjkJKSgk8++cSufQnCHyBhSBAeID4+HtOmTcPp06ct/uvcuTMuXrxo3GaMmW1b\no7a2FmPHjsXChQvx448/orKyEsOHD4ejwWjq6upwxx13OLQvQfgyJAwJwg2cO3cOK1euxKVLlwAA\nZWVl2LJlC/r372+Rd/jw4Th16hS2bduG+vp6rF27FleuXFF1HoPBAIPBgI4dOyIoKAh5eXnYtWuX\n6jLm5eWhuroadXV1eP/993H06FFkZGSov1CC8BNIGBKEG2jbti0KCwuRkpKCNm3aoH///rj33nvx\n6quvAgA0Go1RQaZjx4746KOPsHDhQnTs2BHFxcXo3bu30QxDnFdA2G7bti3WrFmDCRMmoEOHDtiy\nZQseffRR2bxSGGNYunQpIiIiEBkZiXfffRdffPEFunbt6tK6IAhfQEPBfQmiadHQ0IAuXbrggw8+\nwKBBg7xdHIIICFzSM7x9+zaSk5MxcuRIAMD169eRnp6OuLg4ZGRkoKqqyph3+fLl0Ol0SEhIMBvO\nOXbsGHr27AmdTodnn33WmF5bW4uJEydCp9OhX79++P77711RZIJoUuzatQtVVVWora1FVlYWAKBf\nv35eLhVBBA4uEYarV6+GXq83DsdkZ2cjPT0d58+fR1paGrKzswEAZ8+exdatW3H27Fnk5+fj6aef\nNk70z507Fzk5OSgpKUFJSYnRqDgnJwdhYWEoKSlBZmYmFi1a5IoiE0ST4tChQ9BqtbjrrrvwxRdf\n4NNPP21y3moIwp9xWhhevHgRO3bswJNPPmkUbNu3b8e0adMAANOmTcOnn34KANi2bRsmT56MkJAQ\ndOvWDVqtFoWFhSgvL8fNmzfRt29fAMDUqVON+4iPNXbsWOzdu9fZIhNEk2PJkiW4du0afv75Zxw6\ndAh9+vTxdpEIIqBwWhhmZmbilVdeQVCQ6VBXr15FREQEAO4d4+rVqwAs7amio6Nx6dIli/SoqCij\nFt6lS5eMXveDg4Nx55134vr1684WmyAIgiCMOOWo+/PPP0d4eDiSk5Oxf/9+2TxymnDuwBPnIAiC\nILyDu3U9neoZHjx4ENu3b0dMTAwmT56Mffv2YcqUKYiIiDDaSZWXlyM8PBwA7/GVlZUZ97948SKi\no6MRFRVlZmQspAv7CO6h6uvrcePGDXTo0EG2PIwx+qn4LVmyxOtl8JUf1RXVF9WV93+ewClhmJWV\nhbKyMpSWliI3NxcPPfQQNm/ejFGjRmHTpk0AgE2bNmH06NEAgFGjRiE3NxcGgwGlpaUoKSlB3759\nERkZiXbt2qGwsBCMMWzevNloKyU+1scff4y0tDRnikwQBEEQFrg0nqEwVLl48WJMmDABOTk56Nat\nGz788EMAgF6vx4QJE6DX6xEcHIx169YZ91m3bh2mT5+O6upqDB8+HA8//DAAYObMmZgyZQp0Oh3C\nwsKQm5vryiITBEEQhP8Y3Ws0Go91p32d/fv3IzU11dvF8AmoruyD6ks9VFfq8UT7TsKQIAiCaNJ4\non0n36QEQRBEwEPCkCAIggh4SBgSBEEQAQ8JQ4IgCCLgIWFIEARBBDwkDAmCIIiAxylhWFNTg5SU\nFCQlJUGv1+P5558HQPEMCYIgCN/CKWHYsmVLFBQUoKioCN988w0KCgpw4MABimfo43z2GXD7trdL\nQRAE4TmcHiZt3bo1AMBgMOD27dto3749xTP0cUaNAg4e9HYpApe6Om+XgCACD6eFYUNDA5KSkhAR\nEYHBgwejR48eFM/QD6ip8XYJApPPPgOaN/d2KQgi8HDaUXdQUBCKiopw48YNDB06FAUFBWb/eyqe\nIQC89NJLxvXU1FTy++cEWVlAerq3SxF4fPedZ8/HGPDSS8DSpZ49L0FYY//+/Yoxct2Fy6JW3Hnn\nnXjkkUdw7NgxYzzDyMhIl8Uz7Ny5s814hmJhSDjHzz/z3mHLlt4uCSGmqAhISnLd8QwG4M9/JmFI\nNC2knZmlHnhAnRomvXbtmlFTtLq6Grt370ZycjLFM/QDrl8HWrXydikCD1uDKMnJQEODZ8pCEIGE\nUz3D8vJyTJs2DQ0NDWhoaMCUKVOQlpaG5ORkimco4eZNoLoaaOwkN3l++cXbJQhM1Djm99CsA0EE\nFBTCyUmOHweGDweuXLGeLyMD2L1bXWPnbTQaoGNH4No13yivv3DmDDBwIFBZqVzvGg3vGbpKINbW\n8qFwus9EU4ZCOPkAhYVAo7KsVRqVY71KdTVw+bK6vEqNbU0N8O67ritToHPjhklz9803uSBUQmgL\nSHARhOshYegkvjRklZkJREWpy6vU4BYUALNmWaZfvape0BImQkOBX//a26UgCIKEoZP4kjBU04N1\nlL59gdhY9x3f0zDmOS8827YBImVq1Xz7rfPn9qXnlyDcCQlDJ/HXxsTeobhr1/zLUP+NN4Bglxke\nWef2bWDkSNv5pMOkWi1w/rxz51Zzn8+fB8RK3LW1zp0T4B9Oja6MCaJJQMIwADl50nYepUZyzBjX\nlqWpcuaMZ89XVAS8/rr9+9krmKZMUTbNUHLBV1AA7NvH1//5T9fYnn73HeBhm2qCsAoJQwdgDDh8\nmK+Le4YXLvjGvFlSErBsGSAEB5EbopPzeFdXZ977Ywy4dcs8z08/ua6chOt5/31z36fC82swAL/6\nle39XekhR+6D65df+HN58yZw6BBP+/ln66Y+337r2DAzQYghYegAJ08C/fsDjzwCnDplSo+JAfr1\n80wZ6uqAt9/mZVBLo+9zAMDKlcCaNXy9SxeguNj2/mKfmT/9BHz0EdC2rXmezEz15XGG8nL+81f+\n8Q/LNHdokwrH8oYhv9w5T5/mz+WyZcADD/C0+HhgyBDl42i16gQ5QVjDKWFYVlZmdM6dmJiINY2t\nq7/HMzQY+HLHDiAvz/y/mzft6x0NGMDNMzp1Av7+d/X7pacDc+bwMjjD+vV8+d//yv/fs6dljxDg\nzgNEnvWMPQxbjepXXwElJY6VVcy99wI9ejh/HDmKi107TDpkCPCf/9i3z7hx5tsNDdyHqBqqq/mH\nCsDv24MPcjtXa6gVsO4QxGKE56i+3pR25Yr53OiaNZZDuuQkgnAWp4RhSEgIXnvtNZw5cwaHDx/G\n2rVrUVxc7PfxDMUvsVSBpqrK3MtMba11rcSvvwZ27eIv/Jdfqi/Dv/6lPm9FBTBxonmaMAyak8OX\nvXvLzweePs3TtVrl43/5pXyv5aefzBs1gDfMEyaoL7sS165Zt8lzhp49gf/7P+t5GFMvGPbutX08\nW1RWAn/5i+185eVA69amOv7Vr/gHyO7djp/bWSWxefNMHwMlJUCvXnzdmjC0xrPPAn/6k2X6q6/y\nayUIR3BKGEZGRiKp0WtwmzZt0L17d1y6dMnv4xlaE4ZSWrYE1MrvY8ccK4M1jh7lQ26NHvGs8skn\n8ulFRdadBgwaJF+u8HDgr3+1zC8VkM5w/rz9vS4x16+bevoCahrkoCDTMLOnsXbvf/jBtP7hh9xD\nkhRneubSc6uZJ3/9deDjj/l6YSHwzTfqz6fkilhuBOL3vyeH44TjuGzO8MKFCzhx4gRSUlL8Pp6h\n+EVU03AqDbkJdmJCA3PsGJ+DdKW5Rp8+fDhViWvXbB9DSTnh888t06SNpdy8nivt9+Lj+ZCpo4SF\n8UZU4Lvv1Atra416VZX50J5wT5s147287duB3/3O9jmkghpQ3/uRjgYICEPr7drxYX3A8WHSmBjT\n3J41hHdG7tm+dg3429+4kBZcDwv5BC1WW+WQS2/eXJ3mNEEALgrhdOvWLYwdOxarV69GW4lGhb/F\nM5wyhQ972YtcFcgNPYq/7OW4fp2/5NLjVVYCL78MLF9uX7mkhttyja8SalTj5a67uJg3fvPmqT+X\nNZyNDC+e+7TlOOCHH4C77+br69cD//43H+qWMns2n7eTNtoNDXxI/LXXbNfff/4D6HSWx0hLM6Vp\nNHx93z6ebu1VO3vWfFs8vy093qlTfB45JcV6GYXj2MKaMNyyBZg/n8+TCj1IW0jrRE4RqK6Of7AI\nw7KE7+CT8Qzr6uowduxYTJkyxRiqyZ/jGW7ZYt6zEV5ua53VvXutN9j2fCt07sw1WaWNwd69QHY2\nV6wRN5a2kPbSWrRQXxYx0muYPdsyj/jZnj/fdcLQk0iHZJVs86QCQlw/au9NRYW6fJcucSUdxoDP\nPlPON2wYXy5aBCQmWi9Laip/pl2lMCMWttbS7D2erfSqKpOAl1JbC6xdCzzxBO8lB5FufZPB5+IZ\nMsYwc+ZM6PV6LFiwwJjuz/EMpS+V8AKFhVnmFV5yWz0Xexqc2lo+T6OEMCTr6UhXUgUaueGtwYM9\nVx578LTja8ZcOxQuLr81JRvxqIMwfChoCTujTarmWqz1DB3h3Dn5dGn5rH1QnDjBh6rbt+cjFURg\n45Qw/Prrr/H++++joKAAycnJSE5ORn5+PhYvXozdu3cjLi4O+/btw+LFiwGYxzMcNmyYRTzDJ598\nEjqdDlqt1iyeYUVFBXQ6HVatWmXUTPUGb71lOXGv9HK/8opz5+re3bQuVYKQnvPbb7lnEID3uABg\n8mTnzm8vgmmG0Bg1a+bZ83sKVwhOV095O2MjeP/9fCl1niD3XNfWOn79x4/zZ1p63Pp60zC12iFS\nQNnPrqPlEw+VE4GJU8OkAwYMQIPCm7hnzx7Z9BdeeAEvvPCCRfr999+PU2IL9kZatGhhDA7sbZ56\nSn3ehQudO9e//21av/9+4Pvvga5d5fNaM3vwNEJjJPj19BXfrfX18r5IpUNsjvagNBpTb/3hh5Xt\nOsUMHMiXer2l0oxQrydPAr/5DV93RsiuWGE7j9IIh5p7/OWXfMhSPBTJGB+mfPll+48ZGmq+reSQ\nQDhOWRl3LiG3D8Dft08+AR57zJR28CCfQ3eD6gHRBKFRchXcuAGUlsr/Z+88wzPP8KU4JuCSJcr5\nBaEo/uYoLeWG1bZwRVQDRxF6htYatfvu80xZpPzyi3m5jh8HQkKsR/V4800euio93fHzCr11NYIQ\nMAmf4mLukkwOsVnDE0+oL4tUaDgiSO1xzSb43ZDOGSqdV3DFpkRMjHy60sdK167We39ffGFpZ5uR\n0XSH9gnXQ8JQBTNmAPfcI/+fTGfWKuvW8aVcTEA5hOFSR3pY27fbv4+rUDNMeuKE+8sh5uGHgRdf\nBH78kW8LHzhCIxkZqbzv3LnWgxp/+KF9mrj2ovT83bhhWm/0U6EKqceW996zvY/U0YA9IbuEnpz0\nOVZ6rg8cUH9soWzipdzxlXrXSvjKqAbhGkgYqkDkTc4liIdi1OLIi+mNl1lpmLQpRGffuZNrA8u5\n/HKWiROte5lx171Ytsy0bk8Ei6ws6/8rldfafczLM/9fPA8pHE96XEefCyWham3+9MoV+85NwjCw\nIGGoAle/FGKH2dYQewqprlY/vCbgDQEkp0Bz+7Z9yhGuRqx5WFrqegEtNMByc4vOmA80NXJylI3g\nAWD4cHNN57ZtTUP1gtaquB6KipSHfx2FMa7oJngHEp9PjYMJMf5wzwj1kDBUgbNG3Y4SF2da79eP\nR5O3h7VrXVseNQiNvzCXunIl7yU64o+0tFRd0Fvp+cXDr2fOAAkJ8r2m+Hj7yySH3PMhCEhfdyCt\n15uGlTMz5YWhWGjs3WtuwiEodwlz3FIBs2qVunKoFUyMcY1qka9/I8OH23dMEoaBBQlDFTQF579V\nVfZHUvCGAo3aXq8a9u3jLt+s9UYA80brwAFzxRyhRyK2I/NkI9ezp+fO5Sruu8/UiyouNtdstsWs\nWdxDj5IdoCNTBID8XGBRkWU0lYYG5R5/69bc2UBhobpzkjAMLEgYEi7n9GnXHEdwDm6PY2klJRZ7\nh5jtQdr4Ggwmzz7CsKEvNaxqFJukvWGpIwh31bfY5jY52dSzFCKYSJV8xPXe0MA/KG1Fh6mv5x6E\nfOmeEc7jtDB84oknEBERgZ6iT2B/j2foTt56y9slcB57e0NlZfKq9I76qRSny5mguLuRa9ECKChw\n7zm8TXKy+bbU1MEesws1CPdYOjoivb9S94JSYSi3j5Q//IG7ZyNhGFg4LQxnzJhhjD0o4E/xDJ9+\n2qOns+pb0pewpyHp2lU+8oG9ZitS5s83Ga7bE3bLXlq1sp1n6lTXntPb2BqylwYndhaNRt4NoZz2\nqNLHkZA3L487Su/fXz6f8L3t5eA4hIdxWhgOHDgQ7du3N0vzp3iGb7zh0dP5Dc4KHKmdWXGxbe3P\n8nJzkwHBRZ2zZXvySfV5nQmi66sIkS/cya1b5r1PIQKHrWdC3EMVhF9hofI8dFGR487qCd/GLXOG\n/h7PkHA/Qo8O4MNaer3tuZ7cXPNGTtxrEDeaQ4faV5acHPV5venowF1405ORFGGIU1ja8su6fr1l\nGmPysTgBPvwbEuJ4+QjfxSXxDK3hb/EMCXW48pZv28aXUs1BKYIShYBSr8FerVy1MGbuEcZfOHzY\n2yUwPU/SoVLpPS4q8khxCDfjk/EM5fDneIaEOux1pyXw7bfA//yPeZpaD0CCobUcHgiHhsZAK4Qb\nEHqA0uDV7ghiQ4oz3sfn4hkq4c/xDAnXInWOPW6c8lCjPcKmocF7zhIIgvBBmJNMmjSJderUiYWE\nhLDo6Gi2fv16VlFRwdLS0phOp2Pp6emssrLSmH/ZsmUsNjaWxcfHs/z8fGP60aNHWWJiIouNjWXz\n5s0zptfU1LDx48czrVbLUlJSWGlpqWw5XHAp7NtvGSsrkx6Xfp76nToln56UZFr/6CPL/4OD+b26\n805T2oIF3r8e+rnuFxzsuXPNnm2+TXgfV7TvttA0nsjn0Wg0cPZSNBqgc2eTsbeQRjRtgoN5L1B8\nr1q0sM9xNdG0CQ52rWN1a8yeDbz9tmnbP1pI38YV7bstyAONhB9/tC8UDuF95BpJEoT+hTcFkpx9\nI+F/kDCUUF8PDBvm7VIQ9kI9eP/GlgmFK5F6qImJAY4d475NBftGwv8gYdiI1AhXGvuMIAjv4cme\n4ebNlmnvvMOFpCPRVwjfwO12hk2d4mIed036kD/+uP3G2QRB+CfNm/Pl/PneLQfhPgJeGOr18ukF\nBf7vbJkgCHUI7YQaP7SEb+K3w6S1tcqhhJYuBdLSPKedRhCEb3PXXXxpMPDwVK6OykF4H78VhmvW\nmIcSOnAAuP9+IDwc+OADPkcoDTtDEAQhx82bfGkwAHfcAcTGerc8hOvxGWGYn5+PhIQE6HQ6rFix\nwmb+y5f5csMGrmk4cCAPDPrTT8D58/w/kQc4giAIRQQtUqXg0YTv4xNG97dv30Z8fDz27NmDqKgo\n9OnTB1u2bEH37t2NeaRGmaRqTxCEq4mJ4W3Ld9/x3uLatYCHQ6wGJGR038iRI0eg1WrRrVs3hISE\nYNKkSdgmhDKQwVEn0QRBENYoLQWEOAEffAAsXmz68NZo6CPcl/EJbVJxTEOAx0EsLCy0yPfss1wp\nZt06T5aOIIhAYdAgHkQaAObMMaWLhaB4PS4OGD0aCPKJbof7eOop4O67vV0K6/iEMFQbD/HcuZfQ\nrJmwldr4IwiCcA3Xrpl0DgAgLAyoqFDOf/48EBrq/nI1dYLtlDTeiGfoE3OGhw8fxksvvYT8Rqeh\ny5cvR1BQEBaJBuvFY8o0VEEQhKd5+GGTX+OdO4E//AH417/I0bcroDnDRnr37o2SkhJcuHABBoMB\nW7duxahRoxTzC5qkBEEQrqJvX9N6y5amdSHEal4ez7N1K5CRARw5Aly/7tkyEo7jE8IwODgYr7/+\nOoYOHQq9Xo+JEyeaaZJK6dTJ9DW2YAFfrlzJl/PmubmwBEH4Ff3782W7dqY0QQD+9BOwZ4+pvSks\nNHft2L69Z8pIOI9PzBkCwLBhwzDMiXASqanAP/4BjBkDaLVc2YYgCMIWGRnAoUPmSjDduvFlx45e\nKRLhBnxGGDrK7dt82LRTJyA5mafNnw/068dthsLDedrTT5MWKkEQloSE8KU4jNT8+SaBSPgHPjFM\n6igrVwK//S0XhFL69jX5Gxw+HFi2zLNlIwjCNxA0IX/5hS+Li7nJxO9/770yEa7Hr3uGmZnq8g0Z\nApFJBkEQhAmhZ3joEGmG+jN+3TNUw7593HhWahQrKN5QyBaCCCxeecV8WxCGAwZ4viyE5wh4YTh4\nMNC6NdCihXn6X/7Cl/fc4/kyEQThOsRmEGqQRqQQhkl793ZNeYimiV8Pk9pDcDB35SY8+HfcwZeB\n7kbJl7h5E2jb1tulIJoa9jrhkOYPCeERb3Q615WJaHpQUy9CmDecPdu75SCU+egj5f/atPFcOQjf\nobpaXT6xfaCY4GCuiU7Pl3/jsDD86KOP0KNHDzRr1gzHjx83+2/58uXQ6XRISEjArl27jOnHjh1D\nz549odPp8KzI0K+2thYTJ06ETqdDv3798P333xv/27RpE+Li4hAXF4f33nvP0eKq5uxZ4K9/NW3T\nhHnTguZwPcvgwd4ugYnFi917/Fmz5NNra917XqKJwBykuLiYnTt3jqWmprJjx44Z08+cOcN69erF\nDAYDKy0tZbGxsayhoYExxlifPn1YYWEhY4yxYcOGsby8PMYYY2vXrmVz585ljDGWm5vLJk6cyBhj\nrKKigt1zzz2ssrKSVVZWGtflcOJSFAkNZeyJJxjjIpF+an5pae49fn09Y7m5lumm58B7v0ceYWzt\nWu/fA1f+nnnG+2UQ32N3Hm/PHr789FPz9DVrXN60EHbijvZdisM9w4SEBMTFxVmkb9u2DZMnT0ZI\nSAi6desGrVaLwsJClJeX4+bNm+jb6OBv6tSp+PTTTwEA27dvx7Rp0wAAY8eOxd69ewEAO3fuREZG\nBkJDQxEaGor09HSjs25PUFkJpKS49xxjx7r3+J6GMWDHDnV5X37ZZOspYMves1kzYOJE07bcfNC4\ncab1DRvUlcUV6HT+Z6LDmHuPv2+fffn/+1/1eRMTzbcfe8x6fiX9ALXDrIRv4/I5w8uXLyM6Otq4\nHR0djUuXLlmkR0VF4dKlSwDM4xUGBwfjzjvvREVFheKxPIm7G4OcHPce3xuo9Zo3Zw6PcybmhRfU\n7StoCMrdnxkz+DIhAZg+HejcWd0xncUfh3ATE7mBubvo1892nnvvNa07U8cnT8qn9+nDl0rCcNMm\nx89J+A5WtUnT09Nx5coVi/SsrCyMHDnSbYVylJdeesm4npqaitTUVKePaa8wPHDAOXskxnw7BFWv\nXnwpaOdao6HBPOCnI43uH/7AXe4JlJcDERHAyJEmVXh3f9AIhIV55jyuYOdOYOhQ2/meeor79dXr\nXXv+Q4e4A2w12toxMcA338j/p9fzeX4xFy5wV2nS+x4fD3z3HV+fPNmULmiQC2URP0/C+QnP4o14\nhlaF4e7du+0+YFRUFMrKyozbFy9eRHR0NKKionDx4kWLdGGfH374AZ07d0Z9fT1u3LiBsLAwREVF\nmVVIWVkZHnroIcVzi4Whq7C3If3Vr+TTp08HNm7k65068fAuXbpwU4AxY4B//pNH0fZ1WrfmSzUC\nvb4eGDHCtN28uXJeuUYPAP73f823IyP5cvt2U5rYp6Qz/PST5bCuGE8JXVdgra7FuOvDTDBkt3b8\nyZOBo0et1+uaNdyDlBzS/cTbCQmm9cpK87J8/LH5fi74pibsRNqZWbp0qdvP6ZJhUiZ6ykaNGoXc\n3FwYDAaUlpaipKQEffv2RWRkJNq1a4fCwkIwxrB582Y8+uijxn02NY5FfPzxx0hrjI+SkZGBXbt2\noaqqCpWVldi9ezeGqvmcbQJIX/I77zTfFuzhgoK4ucAbbwDSbw9rDW9TRXgU1DSiGo1pju3ECd5b\nUeK555wvk7O4IkLB8OHOH8MVWKsTT9rTKT0nWi2f7z1/3v77J/TwpPsJH0U1NXxEQeDf/zbfr67O\n9N+FCxQsPSmPAAAR2UlEQVThJlBwWBh+8skn6NKlCw4fPoxHHnnEGF5Jr9djwoQJ0Ov1GDZsGNat\nWwdN4xO/bt06PPnkk9DpdNBqtXj44YcBADNnzkRFRQV0Oh1WrVqF7OxsAECHDh3wxz/+EX369EHf\nvn2xZMkShIaGOnvNduFoQ7p9Ow/2KZCVBZSUAB9+CGzebN4IBAXx4Sjha1lAuu0LyAnDr7+WzxsU\nZGqA9Hrrc3vp6UBBgWk7KQmwEtLSjL/9zbT+6qu8N/GnP6nbVw0dOvCl1ItRU0baWxbH6hN696dO\n2T7Ob3/r2PmFDwvpMKnw0di+vXJ9Nn5DGzl82Hw7OhrYv58Pi4oRhj9btDA/rxDNRgjEq9HwD4KZ\nM/kwvi++h4QDuF1f1UO461Jef90xdW3BAgRgrE0by+PeuGHKb3ktjA0YwNiSJe5XVx882LH9nnpK\nPn3xYn4NrVrx7ZAQvv3yy5Z5a2oYq6ri6waD+fVLf5cumddRTQ1j1dXq72N6unl9L1tm3/XeuKFc\ntg4d+LK2lrE33zRPk/6GDXP/PVX6hYSY1nftMv8vNNS0fu+9jO3YwVijRRT78UflY169apk2d67l\n8aU/gdu3zdNnz7bMM3Kk+XZhoSnPnj2m9MRE83zjx8vXvRiAseRkvnz1Vb7cvl39c0V4Bk+IKvJA\n42aGDgUmTbJvn1OngF27PNPTiIhwbD+pz1bp0NqLL/LenGCwLDfMKf5CV1KkECkTW+xrj89JtXNf\nSvUh7jkJPP+8+bZ4Hq5x0MPhcrgDQbkJ4OLBGsOGmcpqbbhe7npatzYppdhC2F+oXzUxRZXei5Ur\nzbel17hpk2Vvd9AgkymOUBZPaR8TTQsShjaQazRkFGwVyc8H3nnHMt2aFl1ioufU9N991zXHEa5R\nqK8XX+QC3VbjL9SDXL7SUuDYMdeUTy0hIcC1a3yYzhbSeWAxjSP9FtgSQmpxdphXWg5x/asV2IsW\nyefVaMw/VIqKlK9b2F/4kJCz05Tu26sXcO6cZb5G6yzF/e66y9L2cP9+oNHE2TiMSv6IAxO67TaQ\ne4kd7U2JadMGOHjQeh5P9CIEh+RqEATn0aOWnv0FTVi1jf2ZM3xprWfYrRsQHs7Xna0L6f7WfJyG\nhQGCR8B//Yuby8gh56tSmKcSN8xi8xFXNLRBQcCSJfbvJ64DuYDX9pKdLX89Gg23H9Rq+ba4R6qE\ntedm3Tqg0Q+HETkznIQE8+OofRaFehHmUT2slkA0EUgY2kD8QnXpAly9av6/MyGe+vdXd253e8FR\ny8CBfHn//dwcxGAAGh0KGZEqLSgh2K3JCbmePR0vo1r+8x/5dKE8rVrxj57evZXNZWbPtjT3SE01\nf2beeosr7CxfzrddEVVDqgBiDfGzI1xbYaG5IbsUez48lHqGGg3Qo4f641hTUunSBVCyqLIm1NUK\nQ2HYtaEBuHWL7AoDFRKGNujXz9QT1GhMPRWArys5MlZrx6WGMWNM53MGsWlAerr9+8uFthFjMJi8\nv8jx5ZeWgk6uUZe7Tlf3km01lMHBtofDQ0Jsa7SmpACjRpmcTAvDh0rD4FFR1o9njVGjLNMcGZZV\ns8/jj/OlkjCUY9s2/iElR1QU8MwzfP2JJ4BGT402y+kKZwCCs4Tbt+0bKSH8CxKGNujb1745QoD7\nMhTU051B6GUJw3FXr6rzGqIGOVuy5s3Nh/TECENe1ggJsS60Bg607C2o8eVZUGAypneU7Gxz13eu\nMsQH5JVr5Dh3Dnj9dev2lOLrXLTI/D9BkUUq9EJDuWDYts36+YVG35kPi6NH+dKalyWl448apVxX\nISG8bgB+n6TmE57Alc8E4XuQMHQSOU1ReyNrKzFmDP9anTXLpAVnj59ye92btW2r3AhlZck3cu++\na7sRFiNtcJo1s/QZKe2ZuMIDSFIS73EonUMtcvNJX3/NlX1sERfHex4ZGcp5xPUTHc1j7OXlAXv2\nmOxW584130fwrWkL6f2LjTXN5wlDwXffbe6qTMr993NhPn0637ZWjzdvWqa5SoHIHTj7wUX4Ng4L\nw+eeew7du3dHr169MGbMGNy4ccP4ny/HM1TigQfM1eUjI/kQ2ZAhlr4MXUlQEP9qlmrBiVGahzp3\nTp0j5OJivtRogNWrLf/XaoHx47lCi9T9Wc+e8sNzSsh9fVubv3IXjjbKlZX8WRDTuTOvGzmcHd7d\nupU/d41OmQCY9+pXrQK++EJ5f2vXWVJickIt3NfPPrPskQoI5hIZGaZhXmGYu6DAFIFCSJOLSPHm\nm/wcnsCee/zUU8Ajj7ivLETTx2FhmJGRgTNnzuDkyZOIi4vD8kYNgbNnz2Lr1q04e/Ys8vPz8fTT\nT4M1PpVz585FTk4OSkpKUFJSYgzHlJOTg7CwMJSUlCAzMxOLGt/G69ev489//jOOHDmCI0eOYOnS\npaiqqnL2mh3i66+5MoRASYnpSz0oyPJr3d2IzTXS04Hf/Ma+/cXDk4KfRrnG4+xZU6MWHGzuxsoR\n1MyJde3q3DnUIAhloVd6/DjviQneSKyRmQksWODc+YW6Fg+nd+igTniK7eCaN3fcQ4pGY9+HiFz0\nhnbtuNu01FR1gYDj48390YrL4k3eeIPsCwMdh4Vheno6gho/AVNSUoxOuP0pnqE12rTxbsgesY0b\nY9zFm63hWXGDExNjmv+RQxhi7d7d0n7LGV5+mTu8tsYbb3BbP3cixLYT6qRXL65hKnXSLMe4ccBr\nr7m+TBcvumYYcdUq6/+LlVjUCqF//MOkyCVGozENmdp7TGf3sUWfPq5VZCP8G5fMGa5fvx7DGz0Q\n+1s8Q7V4ei5E3Hg4em6pZp/4mO7yx9i8uW2H1y1buj8cUmYmXwrXHBTEVexdfd1KjfyQISZTFYFW\nrazfS7UCQ8nWTnyt9jJmjLq58JUr+Rx3U+CFF0wekAjCFk7HM1y2bBmaN2+OxwVday/ijniGTRVx\ngyZo9gmN3Xff8bkZcRrA5/7q6gA1I83x8SbDeH+kXz8uKE6fdt85oqKUe9XCvJlUld+aoEpKspxv\nk/uwECv5DBkC/PILnxceMsTSqbWAEEHE2aFC4SODIJzB5+IZbty4ETt27DAOawL+F89QLZ7uGQr2\nVQUFltqWMTHAihV8fetW0xzcrl08hqCcq7H8fJMJR0kJD53zz3+6pehNCnfOVYked9Xcdx+fv5Qj\nKMh8vu3KFXmbTLEv0eXL+a+mhvd8leY627a1HYzZXiZM4FFa1KAUvNcVrF9vn8Yz4X18Kp5hfn4+\nXnnlFWzbtg0tReMnFM/Q/TDGlV4MBnNBKNewd+liGt5q08bUa5DmHTrUpF6v1aqz/yNcj7hnaGvI\nNiJCvTBv2VI5740bznlSUsKeDw1nHUpYY8YMdUb8RGCj0re8JfPmzYPBYEB6oyuT/v37Y926dWbx\nDIODgy3iGU6fPh3V1dUYPny4WTzDKVOmQKfTISwsDLm5uQDM4xkC8Eo8Q7V4w35K2lgqNT6/+Y25\nzde+fepMLgIBb2sxShGeo4MHlb21qGXOHHX51DoNcCfOeN4hCFegYawpm8GqR6PRwJuXsmIFd7nl\nzdps04bPD7miDLW1wAcfWHev5g+cPcu94njrvt1xB/Df//JefkgI93f6zjuOl0ejAT7/nI8YtGih\nPpSSO5g0iQ/T27oWjYYrE335pWfKRfgenmjfyQONi3juOXmPG57k7rtNUdedpUUL/xeETQmhl++K\nnmpQEBey3hSE9tLUeuhE4OFDr0vTJihIPqSPJ/n6a/d6w/FH/K0R3rcPePBBb5eCo7ZuBw0y2X0S\nhLcgYehHNNHpVMIORo/mmryOosYLjKcYNQq4cMF2Pg9r0BOELDRnSAQ0t29zN2NiJ96exJXzvATh\nr3iifSdhSBBe5Nw57gjBmiN2ggh0SBjaAQlDgiAI/4S0SQmCIAjCAzgsDP/4xz+iV69eSEpKQlpa\nmpkLNn+MZ+hPeNrnny9DdWUfVF/qobpqWjgsDBcuXIiTJ0+iqKgIo0ePNvqO89d4hv4EvYTqobqy\nD6ov9VBdNS0cFoZtReHVb926hY6N7vMDJZ4hQRAE4T84ZWf44osvYvPmzWjVqhWOHDkCgMcz7Cdy\nfCnEIAwJCfHreIYEQRCE7+JUPMNly5Zh2bJlyM7OxoIFC7Bhwwa3FVQNGn9zJ+JGPBESxV+gurIP\nqi/1UF01HZyKZyjw+OOPGyPdeyueIZlVEARBEI7i8JxhSUmJcX3btm1ITk4GQPEMCYIgCN/D4TnD\n559/HufOnUOzZs0QGxuLN954AwACNp4hQRAE4cMwHycvL4/Fx8czrVbLsrOzvV0cj/HDDz+w1NRU\nptfrWY8ePdjq1asZY4xVVFSwIUOGMJ1Ox9LT01llZaVxn6ysLKbVall8fDzbuXOnMf3o0aMsMTGR\nabVaNn/+fGN6TU0NmzBhAtNqtSwlJYVduHDBcxfoBurr61lSUhIbMWIEY4zqSonKyko2duxYlpCQ\nwLp3784OHz5MdWWFrKwsptfrWWJiIps8eTKrqamh+mpkxowZLDw8nCUmJhrTPFU3GzduZDqdjul0\nOrZp0yabZfVpYVhfX89iY2NZaWkpMxgMrFevXuzs2bPeLpZHKC8vZydOnGCMMXbz5k0WFxfHzp49\ny5577jm2YsUKxhhj2dnZbNGiRYwxxs6cOcN69erFDAYDKy0tZbGxsayhoYExxlifPn1YYWEhY4yx\nYcOGsby8PMYYY2vXrmVz585ljDGWm5vLJk6c6NFrdDWvvvoqe/zxx9nIkSMZY4zqSoGpU6eynJwc\nxhhjdXV1rKqqiupKgdLSUhYTE8NqamoYY4xNmDCBbdy4keqrkS+//JIdP37cTBh6om4qKirYPffc\nwyorK1llZaVx3Ro+LQwPHjzIhg4datxevnw5W758uRdL5D0effRRtnv3bhYfH8+uXLnCGOMCMz4+\nnjHGv7jEPeehQ4eyQ4cOscuXL7OEhARj+pYtW9icOXOMeQ4fPswY441ix44dPXU5LqesrIylpaWx\nffv2GXuGVFeWVFVVsZiYGIt0qit5KioqWFxcHLt+/Tqrq6tjI0aMYLt27aL6ElFaWmomDD1RNx98\n8AF76qmnjPvMmTOHbdmyxWo5fdo3qdg+EQhcO8QLFy7gxIkTSElJwdWrVxEREQEAiIiIwNWrVwFA\n0WZTmm7L/vP69eueuiyXkpmZiVdeeQVBQaZHnurKktLSUtx1112YMWMG7rvvPsyaNQu//PIL1ZUC\nHTp0wO9+9zt07doVnTt3NjoHofpSxt1146iNuk8LQ7Ir5N5/xo4di9WrV5t5BQJ4/VAdAZ9//jnC\nw8ORnJysaIJDdcWpr6/H8ePH8fTTT+P48eO44447kJ2dbZaH6srEt99+i1WrVuHChQu4fPkybt26\nhffff98sD9WXMk2pbnxaGEptGsvKysy+Bvyduro6jB07FlOmTMHo0aMB8C8twVFCeXk5wsPDAThn\n/wnAaP/ZoUMHj1ybKzl48CC2b9+OmJgYTJ48Gfv27cOUKVOormSIjo5GdHS0UYN73LhxOH78OCIj\nI6muZDh69CgeeOABhIWFITg4GGPGjMGhQ4eovqzg7vdOsFG3Vzb4tDDs3bs3SkpKcOHCBRgMBmzd\nuhWjRo3ydrE8AmMMM2fOhF6vx4IFC4zpYpvNTZs2GYWkK+0/fY2srCyUlZWhtLQUubm5eOihh7B5\n82aqKxkiIyPRpUsXnD9/HgCwZ88e9OjRAyNHjqS6kiEhIQGHDx9GdXU1GGPYs2cP9Ho91ZcVPPHe\nOWSj7siEaFNix44dLC4ujsXGxrKsrCxvF8djfPXVV0yj0bBevXqxpKQklpSUxPLy8lhFRQVLS0uT\nVVtetmwZi42NZfHx8Sw/P9+YLqgtx8bGsnnz5hnTa2pq2Pjx441qy6WlpZ68RLewf/9+ozYp1ZU8\nRUVFrHfv3uzee+9ljz32GKuqqqK6ssKKFSuMphVTp05lBoOB6quRSZMmsU6dOrGQkBAWHR3N1q9f\n77G6Wb9+PdNqtUyr1bKNGzfaLKvfRLonCIIgCEfx6WFSgiAIgnAFJAwJgiCIgIeEIUEQBBHwkDAk\nCIIgAh4ShgRBEETAQ8KQIAiCCHj+HzVgTR5pQyCdAAAAAElFTkSuQmCC\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we've got our audio files loaded up into our example program. The next thing we need to do is mix them together!\n", "\n", "First another nuance - what if the audio clips aren't the same lenth? The solution I came up with for this was to simply resize them all to the length of the longest signal, the extra length will just be filled with zeros so it won't affect the sound.\n", "\n", "The signals are mixed by creating a mixing matrix $A$ and taking the dot product of $A$ with the signals $S$.\n", "\n", "Afterwards I plot the mixed signals and create the wavPlayers, have a listen!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "\n", "# Adjust for different clip lengths\n", "fs = fs1\n", "length = max([len(s1), len(s2), len(s3)])\n", "s1.resize((length,1))\n", "s2.resize((length,1))\n", "s3.resize((length,1))\n", "\n", "S = (np.c_[s1, s2, s3]).T\n", "\n", "# Mixing Matrix\n", "#A = np.random.uniform(size=(3,3))\n", "#A = A / A.sum(axis=0)\n", "A = np.array([[1, 0.5, 0.5],\n", " [0.5, 1, 0.5], \n", " [0.5, 0.5, 1]]) \n", "print 'Mixing Matrix:'\n", "print A.round(2)\n", "\n", "# Mix Signals\n", "X = np.dot(A,S)\n", "\n", "# Mixed Signal i\n", "for i in range(X.shape[0]):\n", " pl.figure(figsize=(6.75,2))\n", " pl.plot((X[i]).astype(np.int16))\n", " pl.title('Mixed Signal %d' % (i+1))\n", " pl.show()\n", " wavPlayer((X[i]).astype(np.int16), fs)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Mixing Matrix:\n", "[[ 1. 0.5 0.5]\n", " [ 0.5 1. 0.5]\n", " [ 0.5 0.5 1. ]]\n" ] }, { "output_type": "display_data", "png": "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\nRU5ErkJggg==\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "display_data", "png": "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\n/D/MPM3qWKYMVAAAAABJRU5ErkJggg==\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "display_data", "png": "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\nCIJo9Pw/A8TMi7Vga+AAAAAASUVORK5CYII=\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now before we can work on separating these signals we need to get the data ready for Shogun, thankfully this is pretty easy!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from shogun.Features import RealFeatures\n", "\n", "# Convert to features for shogun\n", "mixed_signals = RealFeatures((X).astype(np.float64))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now lets unmix those signals!\n", "\n", "In this example I'm going to use an Independent Component Analysis (ICA) algorithm called JADE. JADE is one of the ICA algorithms available in Shogun and it works by performing Aproximate Joint Diagonalization (AJD) on a 4th order cumulant tensor. I'm not going to go into a lot of detail on how JADE works behind the scenes but here is the reference for the original paper:\n", "\n", "Cardoso, J. F., & Souloumiac, A. (1993). Blind beamforming for non-Gaussian signals. In IEE Proceedings F (Radar and Signal Processing) (Vol. 140, No. 6, pp. 362-370). IET Digital Library.\n", "\n", "Shogun also has several other ICA algorithms including the Second Order Blind Identification (SOBI) algorithm, FFSep, JediSep, UWedgeSep and FastICA. All of the algorithms inherit from the ICAConverter base class and share some common methods for setting an intial guess for the mixing matrix, retrieving the final mixing matrix and getting/setting the number of iterations to run and the desired convergence tolerance. Some of the algorithms have additional getters for intermediate calculations, for example Jade has a method for returning the 4th order cumulant tensor while the \"Sep\" algorithms have a getter for the time lagged covariance matrices. Check out the source code on GitHub or the Shogun docs for more details! " ] }, { "cell_type": "code", "collapsed": false, "input": [ "from shogun.Converter import Jade\n", "\n", "# Separating with JADE\n", "jade = Jade()\n", "signals = jade.apply(mixed_signals)\n", "\n", "S_ = signals.get_feature_matrix()\n", "\n", "A_ = jade.get_mixing_matrix()\n", "A_ = A_ / A_.sum(axis=0)\n", "print 'Estimated Mixing Matrix:'\n", "print A_" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Estimated Mixing Matrix:\n", "[[ 0.24390165 0.25471073 0.49616427]\n", " [ 0.24588467 0.48829011 0.24565284]\n", " [ 0.51021368 0.25699916 0.25818289]]\n" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thats all there is to it! Check out how nicely those signals have been separated and have a listen!" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Show separation results\n", "\n", "# Separated Signal i\n", "gain = 4000\n", "for i in range(S_.shape[0]):\n", " pl.figure(figsize=(6.75,2))\n", " pl.plot((gain*S_[i]).astype(np.int16))\n", " pl.title('Separated Signal %d' % (i+1))\n", " pl.show()\n", " wavPlayer((gain*S_[i]).astype(np.int16), fs)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "display_data", "png": "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\nRAAAAABJRU5ErkJggg==\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] }, { "output_type": "display_data", "png": "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\n" }, { "html": [ "\n", " \n", " \n", " Simple Test\n", " \n", " \n", " \n", " \n", " \n", " " ], "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "BSS isn't only useful for working with Audio, it is also useful for image processing and pre-processing other forms of high dimensional data. Have a google for ICA and machine learning if you want to learn more!" ] } ], "metadata": {} } ] }