{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ ":0: FutureWarning: IPython widgets are experimental and may change in the future.\n" ] } ], "source": [ "import numpy, scipy, matplotlib.pyplot as plt, pandas, librosa, mir_eval\n", "import IPython.display\n", "from IPython.html.widgets import interact\n", "plt.rcParams['figure.figsize'] = (14,5)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "[← Back to Index](index.html)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Beat Tracking" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## `librosa.beat.beat_track`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Download an audio file:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "slideshow": { "slide_type": "skip" } }, "outputs": [ { "data": { "text/plain": [ "('1_bar_funk_groove.mp3', )" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import urllib\n", "urllib.urlretrieve('http://audio.musicinformationretrieval.com/1_bar_funk_groove.mp3', \n", " filename='1_bar_funk_groove.mp3')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Read the file:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "22050\n" ] }, { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x, fs = librosa.load('1_bar_funk_groove.mp3')\n", "print fs\n", "IPython.display.Audio(x, rate=fs)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Use [`librosa.beat.beat_track`](http://bmcfee.github.io/librosa/generated/librosa.beat.beat_track.html#librosa.beat.beat_track) to estimate the beat locations and the global tempo:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "56.1735733696\n", "[ 47 92 138 184 231 275 321 366 412 459 504 550 595 641]\n" ] } ], "source": [ "tempo, beat_frames = librosa.beat.beat_track(x, fs, start_bpm=60)\n", "print tempo\n", "print beat_frames" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Plot the beat locations over the waveform:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAE5CAYAAABf+IsmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3WeMXOd5Pvxr2raZ7Z3LrWwSRZFikahCUqKsxpiRFVuy\nLSGWYwiBrcDJBzuGBTvJXzJcBCP5EERQAgcxFDt449hRYiuUZVmyGrtIsS572UJu79yZ3Z2dnTnv\nh91ZnpmdcnqZc/0Aw+KWmWfPmXPOcz/lvl2CIAggIiIiIiJyKLfZDSAiIiIiIjITgyIiIiIiInI0\nBkVERERERORoDIqIiIiIiMjRGBQREREREZGjMSgiIiIiIiJHUxUUnTx5El/60peWfP29997Dk08+\niS9+8Yv41a9+peYtiIiIiIiIdOVV+ov/+q//ijfeeAN+vz/h65FIBC+//DJef/11FBQU4Omnn8aD\nDz6IyspK1Y0lIiIiIiLSmuKZoubmZrzyyitIrv165coVNDU1obi4GD6fD5s3b8aRI0dUN5SIiIiI\niEgPioOiRx55BB6PZ8nXg8EgiouLF//t9/sxOTmp9G2IiIiIiIh0pXmiheLiYoRCocV/h0IhlJaW\nZvyd5Nkm22hpmf+fndixzQDbbQa7td1u7Y2zY7vt2GbAvu0G7Nl2O7YZsGe77dhmwL7tppykeE9R\nOm1tbejq6sLExAQKCwtx5MgRPPfccxl/x+VyYWjIfrNJFbH5YG7URm3P1Obq6mLLngc7HmtAfrut\ndA7sdsy1bK+R58Fuxxkwrs1anwc7Hus4s9qu5hzY9Xhbsd3ZzoMV2yyF3dptpWe0U1VXF2f/IYVU\nB0UulwsAsGfPHkxNTeHzn/88XnjhBTz33HOIxWJ48sknUVNTo7qhREREREREelAVFC1fvhy/+MUv\nAAC7d+9e/PrOnTuxc+dOdS0jIiIiIiIyAIu3EhERERGRozEoIiIiIiIiR2NQREREREREjsagiIiI\niIiIHI1BERERERERORqDIiIiIiIicjQGRURERERE5GgMioiIiIiIyNEYFBERERERkaMxKCIiIiIi\nIkdjUERERERERI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVERERERORoDIqIiIiIiMjR\nGBQREREREZGjMSgi0okgCIi4PGY3g4iIiIiyYFBEpJOjF4bw37c+grDHZ3ZTiIiIiCgDBkVEOukZ\nCgIAbuQFTG4JEREREWXCoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVERERERORoDIqIiIiI\niMjRGBQR6Uxwmd0CIiIiIsqEQRGRzlyC2S0gIiIiokwYFBERERERkaMxKCIiIiIiIkdjUERERERE\nRI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVEOptze8xuAhERERFlwKCISGenalab3QQi\nIiIiyoBBEZHOJvP9ZjeBiIiIiDJgUERERERERI7GoIiIiIiIiByNQRGRziJur9lNICIiIqIMGBQR\nEREREZGjMSgiIiIiIiJHY1BERERERESOxqCIiIiIiIgcjUERERERERE5GoMiIiIiIiJyNAZFRERE\nRETkaAyKiIiIiBb0BGpwI6/I7GYQkcFYVZKIiIgIwGwkio+aNgMAHjW5LURkLM4UEREREQGYiwpm\nN4GITMKgiIiIiIiIHI1BkcNwDIyIiIiIKBGDIgeZmpnDL9buwvnKVrObQkRERERkGQyKHGRgbAoA\ncLz2FpNbQkRERERkHQyKiIiIiIjI0RgUERERERGRozEoIiIiIiIiR2NQRERERAQgNBMxuwlEZBIG\nRUREREQA9p/uM7sJRGQSBkVERERERORoDIqIiIiIiMjRGBQREREREZGjMSgiIiIiIiJH8yr5pVgs\nhhdffBEXL16Ez+fDD37wAzQ1NS1+/7XXXsN///d/o7y8HADwve99D62trdq0mIhIJ9PhOZztHMWO\n4gKzm0JEREQGUhQUvfvuu4hEIvjFL36BkydP4uWXX8arr766+P0zZ87gxz/+MdauXatZQ6WYi8bg\n9XDyK53ZSNTsJhBZ2snLw+gfncKRswNY21hqdnOIiIjIIIoiiGPHjmH79u0AgA0bNqC9vT3h+2fO\nnMG//Mu/4JlnnsFPfvIT9a2U4NSVEew50IngNGsMpHOua8zsJhBZWiQam///uZjJLSEiIiIjKQqK\ngsEgAoHA4r89Hg9isZudiE9/+tP43ve+h3//93/HJ598gg8++EB1Q7O52jsBABi9MaP7exERERER\nUe5QtHwuEAggFAot/jsWi8HtvhlfffnLX14Mmu6//36cPXsWDzzwQMbXrK4uVtKURX5/PgCgvNyv\n+rUkc7sAqG+7Ufz+fGC+yWnbbNm/xWbHGpB2vFOxzN9ot2OuQXtLigswMyeofh1Z7HacAUPbrOl7\n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\nC3LyfR5UlxXq3CoyQ84UiSgL5GPLLTVmN4OIiIiIbMLtdi1m5yVnk52Sm4iIiIiIKJcwKCIiIiIi\nIkdjUERERERERI7GoIiIiIiIiByNQRERERERgFXLy8xuAhGZhEEREREREQAXSx0SORaDIiIiIiIA\ngtkNICLTMCgiIiIiIltzs0dLKuVM8VYiIiIicpYdG5ZhdDKMgjx2aUkdfoKIiIiIyJYqSgpQUVJg\ndjMoB3CykYiIiAhAUT7HiomcikEREREREYD6yiKzm0BEJmFQRERERATABebkJnIqBkVEREREAAQm\n5SZyLAZFRERERETkaAyKiIiIiIjI0RgUERERERGRozEoIiIiIiIiR2NQREREREREjsagiIiIiAiA\nwORzRI7FoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVEREREAPJ8892imtCIyS0hIqN5zW4A\nERERkRV43G48de5teIQYxsxuDBEZikERERER0QKvEDO7CURkAi6fIyIiIiIiR2NQREREREREjsag\niIiIiIiIHI1BERERERERORqDIiIiIiIicjQGRURERERE5GgMioiIiIiIyNEYFBERERERkaMxKCIi\nIiIiIkdjUERERERERI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVEOvMIUbObQEREREQZ\nMCgi0kllSQEAoGpq3OSWEBEREVEmDIqIiIiIiMjRGBQREREREZGjMSgi0pkLgtlNICIiIqIMGBQR\nEREREZGjMSgiIiIiIiJHY1BERERERESOxqCISCfcSURERERkDwyKiIiIiIjI0RgUERERERGRozEo\nIiIiIiIiR2NQREREREREjsagiIiIiIiIHI1BEZHemIaOiIiIyNIYFBERERERkaMxKCIiIiIiIkdj\nUERERERERI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVERERERORoioOid955B9/85jdT\nfu+Xv/wlPve5z+ELX/gCPvjgA6VvQWRr1aUFAICaqRGTW0JEREREmXiV/NL3v/997N+/H2vXrl3y\nvaGhIfz85z/H//zP/yAcDuPpp5/Gvffei7y8PNWNJbKTNU3lWNV5CFVT4xg3uzFERERElJaimaJN\nmzbhxRdfhCAIS7536tQpbNq0CT6fD4FAAM3Nzbhw4YLqhhLZjdvtQs3UGNxYep0QERERkXVknCn6\n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\nRETU0H4BrpZtVJqoMRwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_beats(beat_frames):\n", " plt.figure()\n", " plt.plot(x, alpha=0.5)\n", " beat_samples = librosa.frames_to_samples(beat_frames)\n", " plt.vlines(beat_samples, -1, 1, color='r')\n", "plot_beats(beat_frames)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Plot a histogram of the intervals between adjacent beats:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "image/png": "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\nAABQKiIIAAAoFREEAACUiggCAABKRQQBAAClIoIAAIBSEUEAAECpiCAAAKBURBAAAFAqIggAACgV\nEQQAAJSKCAIAAEpFBAEAAKUiggAAgFIRQQAAQKl0GEEvv/zyR26bP39+l2wGAACgq/Vu647f/va3\naWlpyeWXX55rrrkmRVGkqqoqa9euzZVXXpmHHnqokvsEAADYJNqMoDlz5uTpp5/OO++8kx//+Mf/\n94DevXPqqadWZHMAAACbWpsRdP755ydJZs+endGjR1dsQwAAAF2pzQj60IEHHpjrrrsu77333nq3\nT5o0qcs2BQAA0FU6jKALLrggBx10UA466KDW26qqqrp0UwAAAF2lwwhat25dLrnkkkrsBQAAoMt1\n+CeyDzjggDzyyCNpamqqxH4AAAC6VIfPBD3wwAOZPn36erdVVVVl4cKFXbYpAACArtJhBD355JOb\ndMFbbrkljz32WJqbm3Paaafl+OOP36TXBwAAaE+HETRlypSPvf3cc8/d6MXmzZuX3/3ud5k5c2ZW\nrlyZ22+/faOvAQAA8El0GEFFUbT+Nbjm5ub85je/yb777tupxf7rv/4rgwYNyje/+c00Njbm29/+\ndqeuAwAA0FkdRtB555233sfnnHNOvv71r3dqsfr6+rz11lu55ZZbsnjx4px99tl54IEH2n1MbW1N\np9Zi0zGDnqGtOSxb1vcTXXfAgL5mvBF8r7qfGfQM5tAzmEP3M4O/TB1G0J9rbGzMW2+91anF+vfv\nn89//vPp3bt3dtttt2y11Vapr6/PgAED2nzMkiXLO7UWm0ZtbY0Z9ADtzaG+vvETXbu+vtGMN5Dz\n0P3MoGcwh57BHLqfGfQMnQnRDiNo2LBh633c0NCQM888c6MXSj74c9t33nlnvv71r+dPf/pTVq1a\nlf79+3fqWgAAAJ3RYQTdeeedrb8TVFVVlW233TZ9+3bu5TdHHHFEnn766Zx00klpaWnJlVde2Xpt\nAACASugwgnbcccf8/Oc/z9y5c7N27doMGTIkdXV16dWrw/dZ/VgXX3xxpx4HAACwKXQYQTfccEMW\nLVqUE088MUVRZNasWXn99dfz3e9+txL7AwAA2KQ26M1SZ8+enerq6iQfvKRt5MiRXb4xAACArtDh\na9paWlqybt261o/XrVuX3r03+o/KAQAA9Agd1syoUaNSV1eXkSNHpiiK3H///RkxYkQl9gYAALDJ\n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\nDsuXL8+oUaOycuXKFEWRuXPnZp999umurZaSs9D9nIPKWrp0ac4444xcfPHFOeGEE9a7z3mojPZm\n4DxUzuzZs3PLLbckSbbeeutUVVWlqqoqibNQSe3NwXmojOnTp2fatGmZNm1a9tprr1x33XUZOHBg\nks6dhari4174XkFFUWTixIl58cUXkySTJk3K888/n5UrV+bkk0/OY489lptvvjktLS056aSTMnbs\n2O7c7marozncd999ueOOO7LlllvmkEMOybnnntvNO958vf766xk/fnxmzpyZ++67z1noBm3NwDmo\nnGuuuSYPPPBAdtttt9bbTj755Kxatcp5qJCOZuA8VMbq1aszYcKELF26NGvXrs3f/d3fZeXKlf7b\nUGEdzcF5qKy6urpcddVVWbBgQafPQrdHEAAAQCV1+8vhAAAAKkkEAQAApSKCAACAUhFBAABAqYgg\nAACgVEQQAABQKiIIYDMzb9687L///hk9enSOO+64HHvssZk6dWqnr/foo4/mjjvu+MjtN910U6ZM\nmfIJdtqxurq61n/ea6+9Nugxd955Zx599NGu2tJGeeCBB3LppZe2ef/DDz+cGTNmVHBHACQiCGCz\ntM8++2T27Nm555578u///u+ZOXNm/vCHP3TqWs8//3waGxs/cvuH75belZ5++umN+vylS5fmscce\ny7Bhw7poR5vWUUcdlYceeij19fXdvRWAUund3RsAoGutXLkyvXr1Sk1NTZLkf/7nfzJ58uSsXr06\n/fv3z1VXXZWddtopTz31VH74wx9m9erVaWhoyMUXX5w99tgjM2fOTFVVVT772c/m+OOP73C9FStW\n5Oqrr87LL7+clpaWnHXWWRkxYkTuuuuu/OY3v8n777+fxYsX50tf+lKuvPLKJMk//uM/5qGHHkr/\n/v1TW1ubYcOG5fnnn0+SnHLKKfnXf/3XJMmVV16Z+fPnJ/ngmahddtllvbVnzJiR4cOHJ0nefvvt\njB8/PqtWrUqvXr1y2WWXZd99923z61+4cGGuuOKKrF69Otttt11uvPHG7LDDDpk6dWruvffe9OrV\nK4ceemguvvjivPnmmzn33HOz5557ZuHChRk4cGB+9KMfpV+/fvnlL3+Zn/70p+nTp0923XXXbLXV\nVkmS6667LnPmzEl1dXWGDRvW+o7yxxxzTGbMmJHzzjvvk44agA1VALBZmTt3brHffvsVxx13XDFq\n1Khi3333LSZMmFAURVGsWbOmGDVqVPHWW28VRVEUTzzxRPG1r32tKIqiOO+884o//vGPRVEUxZw5\nc4qRI0cWRVEUN910U3HTTTd9ZJ22br/hhhuKO++8syiKoli+fHkxcuTI4rXXXitmzZpVHHHEEcWK\nFSuKVatWFUOHDi1efPHF4pFHHinGjh1bNDc3Fw0NDcWwYcOKu+++uyiKohg0aFDrdQcNGlQ8+OCD\nRVEUxeTJk4vrrrvuI2sfd9xxxe9///vW/d1+++1FURTFvHnzin/+538umpqa2vz6jz322OLxxx8v\niqIofvaznxXXXXdd8fjjjxcnn3xysWbNmmLt2rXF2WefXUyfPr1YvHhxsddeexULFy5s/d5Nmzat\nePvtt4svfelLxZIlS4p169YVZ599djFhwoTijTfeKEaMGNE6g/Hjxxdr1qwpiqIoXnjhhWL06NHt\nDxWATcozQQCboX322SfTpk1L8sEzQd/4xjdy66235sgjj8zixYvz93//962fu2LFiiTJjTfemEcf\nfTT/8R//kWeffTarVq1KkhRFsVEvfZszZ07WrFmTWbNmJUlWrVqV3//+96mqqsr++++fPn36JEl2\n3nnnNDQ0ZM6cOTn22GPTu3fvbLvttjnqqKPavPaH9+2xxx4f+1K5RYsW5TOf+UyS5JBDDsl5552X\nBQsW5Igjjsi4cePyyiuvfOzXv2zZsixdujRDhw5NkowZMybJB8/ejBw5MltuuWWS5MQTT8zs2bNz\nxBFHZODAga2/p7THHnvkvffey/z587P//vtn++23T5KccMIJeeSRR7LDDjtkq622ypgxY3LkkUfm\nggsuaL3mjjvumFdffXWDv78AfHIiCGAz16dPnxx99NGZM2dODj/88Oy8886ZPXt2kqSlpSVLlixJ\n8sEP/gcffHC++MUv5uCDD85FF13UqfWKosiNN96YvffeO0myZMmSbLfddrnvvvtaXxr2/z+3uro6\n69atW++2tvTq1f6vslZVVaV37w/+0zZ48ODcf//9efzxx/OrX/0qd999d7797W9/7Nf/4WM+1NTU\nlD/96U8pimK9/RRFkbVr1yZJa8R8uO6H//v/P//D/VZXV+cXv/hFnnrqqfz617/OKaeckunTp+dz\nn/tcevfu3eHXBcCm5d+6AJu5devWZd68efmbv/mb7L777mloaMhvf/vbJMmsWbMyfvz4NDQ0ZNGi\nRTn//PNz+OGH58knn0xLS0uSpHfv3q0/+G+IIUOG5Gc/+1mS5J133snxxx+ft99+u824OeSQQ/LQ\nQw+lubk5jY2N+fWvf916358HUkd22WWXvPHGG0k++D2je+65J6NHj87ll1+eBQsWtPn119TU5DOf\n+UzmzJmTJJk9e3Z+/OMfZ8iQIbn//vuzZs2arF27NrNmzcqQIUPaXP+AAw7I/PnzW7/e+++/P0ny\nwgsv5LTTTstBBx2USy65JH/1V3/V+uzP66+/nl133XWDv0YAPjnPBAFsZqqqqvLcc89l9OjRST54\nOdoXvvCFnHXWWdlyyy3zox/9KN///vezZs2a1NTUZPLkyenXr1+++tWvZsSIERk4cGCOPvroNDU1\nZfXq1a0/uNfW1mbcuHHrrTV16tT80z/9U+vH3/ve93LOOefkqquuyqhRo7Ju3bqMHz8+O++8c2t4\n/Plehw4dmt/97nc5/vjj069fv3z605/O1ltvnST58pe/nNGjR2fWrFnrvSSvrZfnHXnkkZk7d252\n3333jBs3LhdddFHuvvvu9OrVKxMnTmzz60+SG264IRMnTsz111+fAQMG5Prrr8/222+fhQsX5sQT\nT8zatWtz2GGHpa6uLm+++ebH7mHgwIGZOHFizjjjjGy99dYZNGhQkg/+vPd+++2XkSNH5lOf+lT+\n+q//OocffniSD/6k+Ze//OUNni8An1xV0d7rDgCgi82fPz+vvvpqRo8enebm5px66qmZNGlS9txz\nz42+1tKlS3PBBRdk+vTpXbDTrjF27NhMmTIlAwYM6O6tAJSGl8MB0K1222233HfffTnuuONywgkn\nZOTIkZ0KoCTZfvvtc9RRR+Xhhx/exLvsGg8++GCGDx8ugAAqzDNBAABAqXgmCAAAKBURBAAAlIoI\nAgAASkUEAQAApSKCAACAUvlfzQaGTXZguagAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_beat_histogram(beat_frames):\n", " beat_times = librosa.frames_to_time(beat_frames)\n", " beat_times_diff = numpy.diff(beat_times)\n", " plt.figure()\n", " plt.hist(beat_times_diff, bins=50, range=(0,4))\n", " plt.xlabel('Beat Length (seconds)')\n", " plt.ylabel('Count')\n", "plot_beat_histogram(beat_frames)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "Visually, it's difficult to tell how correct the estimated beats are. Let's listen to a click track:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def sonify_beats(beat_frames):\n", " beat_times = librosa.frames_to_time(beat_frames)\n", " clicks = mir_eval.sonify.clicks(beat_times, fs, length=len(x))\n", " return IPython.display.Audio(x + clicks, rate=fs)\n", "sonify_beats(beat_frames)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Use the IPython interactive widgets to observe how the output changes as we vary the parameters of the beat tracker. (The interactive widget is only visible in the editable IPython notebook, not the read-only version.)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "scrolled": false, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0UAAAE5CAYAAABf+IsmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3WeMXOd5Pvxr2raZ7Z3LrWwSRZFikahCUqKsxpiRFVuy\nLSGWYwiBrcDJBzuGBTvJXzJcBCP5EERQAgcxFDt449hRYiuUZVmyGrtIsS572UJu79yZ3Z2dnTnv\nh91ZnpmdcnqZc/0Aw+KWmWfPmXPOcz/lvl2CIAggIiIiIiJyKLfZDSAiIiIiIjITgyIiIiIiInI0\nBkVERERERORoDIqIiIiIiMjRGBQREREREZGjMSgiIiIiIiJHUxUUnTx5El/60peWfP29997Dk08+\niS9+8Yv41a9+peYtiIiIiIiIdOVV+ov/+q//ijfeeAN+vz/h65FIBC+//DJef/11FBQU4Omnn8aD\nDz6IyspK1Y0lIiIiIiLSmuKZoubmZrzyyitIrv165coVNDU1obi4GD6fD5s3b8aRI0dUN5SIiIiI\niEgPioOiRx55BB6PZ8nXg8EgiouLF//t9/sxOTmp9G2IiIiIiIh0pXmiheLiYoRCocV/h0IhlJaW\nZvyd5Nkm22hpmf+fndixzQDbbQa7td1u7Y2zY7vt2GbAvu0G7Nl2O7YZsGe77dhmwL7tppykeE9R\nOm1tbejq6sLExAQKCwtx5MgRPPfccxl/x+VyYWjIfrNJFbH5YG7URm3P1Obq6mLLngc7HmtAfrut\ndA7sdsy1bK+R58Fuxxkwrs1anwc7Hus4s9qu5hzY9Xhbsd3ZzoMV2yyF3dptpWe0U1VXF2f/IYVU\nB0UulwsAsGfPHkxNTeHzn/88XnjhBTz33HOIxWJ48sknUVNTo7qhREREREREelAVFC1fvhy/+MUv\nAAC7d+9e/PrOnTuxc+dOdS0jIiIiIiIyAIu3EhERERGRozEoIiIiIiIiR2NQREREREREjsagiIiI\niIiIHI1BERERERERORqDIiIiIiIicjQGRURERERE5GgMioiIiIiIyNEYFBERERERkaMxKCIiIiIi\nIkdjUERERERERI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVERERERORoDIqIiIiIiMjR\nGBQREREREZGjMSgi0okgCIi4PGY3g4iIiIiyYFBEpJOjF4bw37c+grDHZ3ZTiIiIiCgDBkVEOukZ\nCgIAbuQFTG4JEREREWXCoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVERERERORoDIqIiIiI\niMjRGBQR6Uxwmd0CIiIiIsqEQRGRzlyC2S0gIiIiokwYFBERERERkaMxKCIiIiIiIkdjUERERERE\nRI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVEOptze8xuAhERERFlwKCISGenalab3QQi\nIiIiyoBBEZHOJvP9ZjeBiIiIiDJgUERERERERI7GoIiIiIiIiByNQRGRziJur9lNICIiIqIMGBQR\nEREREZGjMSgiIiIiIiJHY1BERERERESOxqCIiIiIiIgcjUERERERERE5GoMiIiIiIiJyNAZFRERE\nRETkaAyKiIiIiBb0BGpwI6/I7GYQkcFYVZKIiIgIwGwkio+aNgMAHjW5LURkLM4UEREREQGYiwpm\nN4GITMKgiIiIiIiIHI1BkcNwDIyIiIiIKBGDIgeZmpnDL9buwvnKVrObQkRERERkGQyKHGRgbAoA\ncLz2FpNbQkRERERkHQyKiIiIiIjI0RgUERERERGRozEoIiIiIiIiR2NQRERERAQgNBMxuwlEZBIG\nRUREREQA9p/uM7sJRGQSBkVERERERORoDIqIiIiIiMjRGBQREREREZGjMSgiIiIiIiJH8yr5pVgs\nhhdffBEXL16Ez+fDD37wAzQ1NS1+/7XXXsN///d/o7y8HADwve99D62trdq0mIhIJ9PhOZztHMWO\n4gKzm0JEREQGUhQUvfvuu4hEIvjFL36BkydP4uWXX8arr766+P0zZ87gxz/+MdauXatZQ6WYi8bg\n9XDyK53ZSNTsJhBZ2snLw+gfncKRswNY21hqdnOIiIjIIIoiiGPHjmH79u0AgA0bNqC9vT3h+2fO\nnMG//Mu/4JlnnsFPfvIT9a2U4NSVEew50IngNGsMpHOua8zsJhBZWiQam///uZjJLSEiIiIjKQqK\ngsEgAoHA4r89Hg9isZudiE9/+tP43ve+h3//93/HJ598gg8++EB1Q7O52jsBABi9MaP7exERERER\nUe5QtHwuEAggFAot/jsWi8HtvhlfffnLX14Mmu6//36cPXsWDzzwQMbXrK4uVtKURX5/PgCgvNyv\n+rUkc7sAqG+7Ufz+fGC+yWnbbNm/xWbHGpB2vFOxzN9ot2OuQXtLigswMyeofh1Z7HacAUPbrOl7\n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\nC3LyfR5UlxXq3CoyQ84UiSgL5GPLLTVmN4OIiIiIbMLtdi1m5yVnk52Sm4iIiIiIKJcwKCIiIiIi\nIkdjUERERERERI7GoIiIiIiIiByNQRERERERgFXLy8xuAhGZhEEREREREQAXSx0SORaDIiIiIiIA\ngtkNICLTMCgiIiIiIltzs0dLKuVM8VYiIiIicpYdG5ZhdDKMgjx2aUkdfoKIiIiIyJYqSgpQUVJg\ndjMoB3CykYiIiAhAUT7HiomcikEREREREYD6yiKzm0BEJmFQRERERATABebkJnIqBkVEREREAAQm\n5SZyLAZFRERERETkaAyKiIiIiIjI0RgUERERERGRozEoIiIiIiIiR2NQREREREREjsagiIiIiAiA\nwORzRI7FoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVEREREAPJ8892imtCIyS0hIqN5zW4A\nERERkRV43G48de5teIQYxsxuDBEZikERERER0QKvEDO7CURkAi6fIyIiIiIiR2NQREREREREjsag\niIiIiIiIHI1BERERERERORqDIiIiIiIicjQGRURERERE5GgMioiIiIiIyNEYFBERERERkaMxKCIi\nIiIiIkdjUERERERERI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVEOvMIUbObQEREREQZ\nMCgi0kllSQEAoGpq3OSWEBEREVEmDIqIiIiIiMjRGBQREREREZGjMSgi0pkLgtlNICIiIqIMGBQR\nEREREZGjMSgiIiIiIiJHY1BERERERESOxqCISCfcSURERERkDwyKiIiIiIjI0RgUERERERGRozEo\nIiIiIiIiR2NQREREREREjsagiIiIiIiIHI1BEZHemIaOiIiIyNIYFBERERERkaMxKCIiIiIiIkdj\nUERERERERI7GoIiIiIiIiByNQRERERERETkagyIiIiIiInI0BkVERERERORoioOid955B9/85jdT\nfu+Xv/wlPve5z+ELX/gCPvjgA6VvQWRr1aUFAICaqRGTW0JEREREmXiV/NL3v/997N+/H2vXrl3y\nvaGhIfz85z/H//zP/yAcDuPpp5/Gvffei7y8PNWNJbKTNU3lWNV5CFVT4xg3uzFERERElJaimaJN\nmzbhxRdfhCAIS7536tQpbNq0CT6fD4FAAM3Nzbhw4YLqhhLZjdvtQs3UGNxYep0QERERkXVknCn6\n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\nRETU0H4BrpZtVJqoMRwAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nAABQKiIIAAAoFREEAACUiggCAABKRQQBAAClIoIAAIBSEUEAAECpiCAAAKBURBAAAFAqIggAACgV\nEQQAAJSKCAIAAEpFBAEAAKUiggAAgFIRQQAAQKl0GEEvv/zyR26bP39+l2wGAACgq/Vu647f/va3\naWlpyeWXX55rrrkmRVGkqqoqa9euzZVXXpmHHnqokvsEAADYJNqMoDlz5uTpp5/OO++8kx//+Mf/\n94DevXPqqadWZHMAAACbWpsRdP755ydJZs+endGjR1dsQwAAAF2pzQj60IEHHpjrrrsu77333nq3\nT5o0qcs2BQAA0FU6jKALLrggBx10UA466KDW26qqqrp0UwAAAF2lwwhat25dLrnkkkrsBQAAoMt1\n+CeyDzjggDzyyCNpamqqxH4AAAC6VIfPBD3wwAOZPn36erdVVVVl4cKFXbYpAACArtJhBD355JOb\ndMFbbrkljz32WJqbm3Paaafl+OOP36TXBwAAaE+HETRlypSPvf3cc8/d6MXmzZuX3/3ud5k5c2ZW\nrlyZ22+/faOvAQAA8El0GEFFUbT+Nbjm5ub85je/yb777tupxf7rv/4rgwYNyje/+c00Njbm29/+\ndqeuAwAA0FkdRtB555233sfnnHNOvv71r3dqsfr6+rz11lu55ZZbsnjx4px99tl54IEH2n1MbW1N\np9Zi0zGDnqGtOSxb1vcTXXfAgL5mvBF8r7qfGfQM5tAzmEP3M4O/TB1G0J9rbGzMW2+91anF+vfv\nn89//vPp3bt3dtttt2y11Vapr6/PgAED2nzMkiXLO7UWm0ZtbY0Z9ADtzaG+vvETXbu+vtGMN5Dz\n0P3MoGcwh57BHLqfGfQMnQnRDiNo2LBh633c0NCQM888c6MXSj74c9t33nlnvv71r+dPf/pTVq1a\nlf79+3fqWgAAAJ3RYQTdeeedrb8TVFVVlW233TZ9+3bu5TdHHHFEnn766Zx00klpaWnJlVde2Xpt\nAACASugwgnbcccf8/Oc/z9y5c7N27doMGTIkdXV16dWrw/dZ/VgXX3xxpx4HAACwKXQYQTfccEMW\nLVqUE088MUVRZNasWXn99dfz3e9+txL7AwAA2KQ26M1SZ8+enerq6iQfvKRt5MiRXb4xAACArtDh\na9paWlqybt261o/XrVuX3r03+o/KAQAA9Agd1syoUaNSV1eXkSNHpiiK3H///RkxYkQl9gYAALDJ\n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\nDsuXL8+oUaOycuXKFEWRuXPnZp999umurZaSs9D9nIPKWrp0ac4444xcfPHFOeGEE9a7z3mojPZm\n4DxUzuzZs3PLLbckSbbeeutUVVWlqqoqibNQSe3NwXmojOnTp2fatGmZNm1a9tprr1x33XUZOHBg\nks6dhari4174XkFFUWTixIl58cUXkySTJk3K888/n5UrV+bkk0/OY489lptvvjktLS056aSTMnbs\n2O7c7marozncd999ueOOO7LlllvmkEMOybnnntvNO958vf766xk/fnxmzpyZ++67z1noBm3NwDmo\nnGuuuSYPPPBAdtttt9bbTj755Kxatcp5qJCOZuA8VMbq1aszYcKELF26NGvXrs3f/d3fZeXKlf7b\nUGEdzcF5qKy6urpcddVVWbBgQafPQrdHEAAAQCV1+8vhAAAAKkkEAQAApSKCAACAUhFBAABAqYgg\nAACgVEQQAABQKiIIYDMzb9687L///hk9enSOO+64HHvssZk6dWqnr/foo4/mjjvu+MjtN910U6ZM\nmfIJdtqxurq61n/ea6+9Nugxd955Zx599NGu2tJGeeCBB3LppZe2ef/DDz+cGTNmVHBHACQiCGCz\ntM8++2T27Nm555578u///u+ZOXNm/vCHP3TqWs8//3waGxs/cvuH75belZ5++umN+vylS5fmscce\ny7Bhw7poR5vWUUcdlYceeij19fXdvRWAUund3RsAoGutXLkyvXr1Sk1NTZLkf/7nfzJ58uSsXr06\n/fv3z1VXXZWddtopTz31VH74wx9m9erVaWhoyMUXX5w99tgjM2fOTFVVVT772c/m+OOP73C9FStW\n5Oqrr87LL7+clpaWnHXWWRkxYkTuuuuu/OY3v8n777+fxYsX50tf+lKuvPLKJMk//uM/5qGHHkr/\n/v1TW1ubYcOG5fnnn0+SnHLKKfnXf/3XJMmVV16Z+fPnJ/ngmahddtllvbVnzJiR4cOHJ0nefvvt\njB8/PqtWrUqvXr1y2WWXZd99923z61+4cGGuuOKKrF69Otttt11uvPHG7LDDDpk6dWruvffe9OrV\nK4ceemguvvjivPnmmzn33HOz5557ZuHChRk4cGB+9KMfpV+/fvnlL3+Zn/70p+nTp0923XXXbLXV\nVkmS6667LnPmzEl1dXWGDRvW+o7yxxxzTGbMmJHzzjvvk44agA1VALBZmTt3brHffvsVxx13XDFq\n1Khi3333LSZMmFAURVGsWbOmGDVqVPHWW28VRVEUTzzxRPG1r32tKIqiOO+884o//vGPRVEUxZw5\nc4qRI0cWRVEUN910U3HTTTd9ZJ22br/hhhuKO++8syiKoli+fHkxcuTI4rXXXitmzZpVHHHEEcWK\nFSuKVatWFUOHDi1efPHF4pFHHinGjh1bNDc3Fw0NDcWwYcOKu+++uyiKohg0aFDrdQcNGlQ8+OCD\nRVEUxeTJk4vrrrvuI2sfd9xxxe9///vW/d1+++1FURTFvHnzin/+538umpqa2vz6jz322OLxxx8v\niqIofvaznxXXXXdd8fjjjxcnn3xysWbNmmLt2rXF2WefXUyfPr1YvHhxsddeexULFy5s/d5Nmzat\nePvtt4svfelLxZIlS4p169YVZ599djFhwoTijTfeKEaMGNE6g/Hjxxdr1qwpiqIoXnjhhWL06NHt\nDxWATcozQQCboX322SfTpk1L8sEzQd/4xjdy66235sgjj8zixYvz93//962fu2LFiiTJjTfemEcf\nfTT/8R//kWeffTarVq1KkhRFsVEvfZszZ07WrFmTWbNmJUlWrVqV3//+96mqqsr++++fPn36JEl2\n3nnnNDQ0ZM6cOTn22GPTu3fvbLvttjnqqKPavPaH9+2xxx4f+1K5RYsW5TOf+UyS5JBDDsl5552X\nBQsW5Igjjsi4cePyyiuvfOzXv2zZsixdujRDhw5NkowZMybJB8/ejBw5MltuuWWS5MQTT8zs2bNz\nxBFHZODAga2/p7THHnvkvffey/z587P//vtn++23T5KccMIJeeSRR7LDDjtkq622ypgxY3LkkUfm\nggsuaL3mjjvumFdffXWDv78AfHIiCGAz16dPnxx99NGZM2dODj/88Oy8886ZPXt2kqSlpSVLlixJ\n8sEP/gcffHC++MUv5uCDD85FF13UqfWKosiNN96YvffeO0myZMmSbLfddrnvvvtaXxr2/z+3uro6\n69atW++2tvTq1f6vslZVVaV37w/+0zZ48ODcf//9efzxx/OrX/0qd999d7797W9/7Nf/4WM+1NTU\nlD/96U8pimK9/RRFkbVr1yZJa8R8uO6H//v/P//D/VZXV+cXv/hFnnrqqfz617/OKaeckunTp+dz\nn/tcevfu3eHXBcCm5d+6AJu5devWZd68efmbv/mb7L777mloaMhvf/vbJMmsWbMyfvz4NDQ0ZNGi\nRTn//PNz+OGH58knn0xLS0uSpHfv3q0/+G+IIUOG5Gc/+1mS5J133snxxx+ft99+u824OeSQQ/LQ\nQw+lubk5jY2N+fWvf916358HUkd22WWXvPHGG0k++D2je+65J6NHj87ll1+eBQsWtPn119TU5DOf\n+UzmzJmTJJk9e3Z+/OMfZ8iQIbn//vuzZs2arF27NrNmzcqQIUPaXP+AAw7I/PnzW7/e+++/P0ny\nwgsv5LTTTstBBx2USy65JH/1V3/V+uzP66+/nl133XWDv0YAPjnPBAFsZqqqqvLcc89l9OjRST54\nOdoXvvCFnHXWWdlyyy3zox/9KN///vezZs2a1NTUZPLkyenXr1+++tWvZsSIERk4cGCOPvroNDU1\nZfXq1a0/uNfW1mbcuHHrrTV16tT80z/9U+vH3/ve93LOOefkqquuyqhRo7Ju3bqMHz8+O++8c2t4\n/Plehw4dmt/97nc5/vjj069fv3z605/O1ltvnST58pe/nNGjR2fWrFnrvSSvrZfnHXnkkZk7d252\n3333jBs3LhdddFHuvvvu9OrVKxMnTmzz60+SG264IRMnTsz111+fAQMG5Prrr8/222+fhQsX5sQT\nT8zatWtz2GGHpa6uLm+++ebH7mHgwIGZOHFizjjjjGy99dYZNGhQkg/+vPd+++2XkSNH5lOf+lT+\n+q//OocffniSD/6k+Ze//OUNni8An1xV0d7rDgCgi82fPz+vvvpqRo8enebm5px66qmZNGlS9txz\nz42+1tKlS3PBBRdk+vTpXbDTrjF27NhMmTIlAwYM6O6tAJSGl8MB0K1222233HfffTnuuONywgkn\nZOTIkZ0KoCTZfvvtc9RRR+Xhhx/exLvsGg8++GCGDx8ugAAqzDNBAABAqXgmCAAAKBURBAAAlIoI\nAgAASkUEAQAApSKCAACAUvlfzQaGTXZguagAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "@interact(start_bpm=(30, 180, 20), tightness_exp=(-1, 4, 0.5))\n", "def interact_f(start_bpm=60, tightness_exp=2):\n", " tempo, beat_frames = librosa.beat.beat_track(x, fs, start_bpm=start_bpm, tightness=10**tightness_exp)\n", " plot_beats(beat_frames)\n", " plot_beat_histogram(beat_frames)\n", " IPython.display.display(sonify_beats(beat_frames))" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "[← Back to Index](index.html)" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }