To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / Vamp-2chroma.ipynb
History | View | Annotate | Download (47.9 KB)
| 1 | 0:3c20d90a66ec | Chris | {
|
|---|---|---|---|
| 2 | "cells": [ |
||
| 3 | {
|
||
| 4 | "cell_type": "code", |
||
| 5 | "execution_count": 1, |
||
| 6 | "metadata": {
|
||
| 7 | "collapsed": true |
||
| 8 | }, |
||
| 9 | "outputs": [], |
||
| 10 | "source": [ |
||
| 11 | "import vamp" |
||
| 12 | ] |
||
| 13 | }, |
||
| 14 | {
|
||
| 15 | "cell_type": "code", |
||
| 16 | 5:c5482b2a4bdd | Chris | "execution_count": 2, |
| 17 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 18 | "collapsed": false |
||
| 19 | }, |
||
| 20 | "outputs": [ |
||
| 21 | {
|
||
| 22 | "name": "stderr", |
||
| 23 | "output_type": "stream", |
||
| 24 | "text": [ |
||
| 25 | 5:c5482b2a4bdd | Chris | "/usr/lib/python2.7/site-packages/librosa/core/audio.py:33: UserWarning: Could not import scikits.samplerate. Falling back to scipy.signal\n", |
| 26 | 0:3c20d90a66ec | Chris | " warnings.warn('Could not import scikits.samplerate. '\n"
|
| 27 | ] |
||
| 28 | } |
||
| 29 | ], |
||
| 30 | "source": [ |
||
| 31 | "import librosa" |
||
| 32 | ] |
||
| 33 | }, |
||
| 34 | {
|
||
| 35 | "cell_type": "code", |
||
| 36 | 5:c5482b2a4bdd | Chris | "execution_count": 3, |
| 37 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 38 | "collapsed": true |
||
| 39 | }, |
||
| 40 | "outputs": [], |
||
| 41 | "source": [ |
||
| 42 | "import matplotlib.pyplot as plt" |
||
| 43 | ] |
||
| 44 | }, |
||
| 45 | {
|
||
| 46 | "cell_type": "code", |
||
| 47 | 5:c5482b2a4bdd | Chris | "execution_count": 4, |
| 48 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 49 | "collapsed": true |
||
| 50 | }, |
||
| 51 | "outputs": [], |
||
| 52 | "source": [ |
||
| 53 | "%matplotlib inline" |
||
| 54 | ] |
||
| 55 | }, |
||
| 56 | {
|
||
| 57 | "cell_type": "code", |
||
| 58 | 5:c5482b2a4bdd | Chris | "execution_count": 5, |
| 59 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 60 | "collapsed": false |
||
| 61 | }, |
||
| 62 | "outputs": [ |
||
| 63 | {
|
||
| 64 | "data": {
|
||
| 65 | "text/plain": [ |
||
| 66 | "['bbc-vamp-plugins:bbc-energy',\n", |
||
| 67 | " 'bbc-vamp-plugins:bbc-intensity',\n", |
||
| 68 | " 'bbc-vamp-plugins:bbc-peaks',\n", |
||
| 69 | " 'bbc-vamp-plugins:bbc-rhythm',\n", |
||
| 70 | " 'bbc-vamp-plugins:bbc-spectral-contrast',\n", |
||
| 71 | " 'bbc-vamp-plugins:bbc-spectral-flux',\n", |
||
| 72 | " 'bbc-vamp-plugins:bbc-speechmusic-segmenter',\n", |
||
| 73 | " 'chp:constrainedharmonicpeak',\n", |
||
| 74 | " 'cqvamp:cqchromavamp',\n", |
||
| 75 | " 'cqvamp:cqvamp',\n", |
||
| 76 | " 'cqvamp:cqvampmidi',\n", |
||
| 77 | " 'match-vamp-plugin:match',\n", |
||
| 78 | " 'nnls-chroma:chordino',\n", |
||
| 79 | " 'nnls-chroma:nnls-chroma',\n", |
||
| 80 | " 'nnls-chroma:tuning',\n", |
||
| 81 | " 'pyin:localcandidatepyin',\n", |
||
| 82 | " 'pyin:pyin',\n", |
||
| 83 | " 'pyin:yin',\n", |
||
| 84 | " 'pyin:yinfc',\n", |
||
| 85 | " 'qm-vamp-plugins:qm-adaptivespectrogram',\n", |
||
| 86 | " 'qm-vamp-plugins:qm-barbeattracker',\n", |
||
| 87 | " 'qm-vamp-plugins:qm-chromagram',\n", |
||
| 88 | " 'qm-vamp-plugins:qm-constantq',\n", |
||
| 89 | " 'qm-vamp-plugins:qm-dwt',\n", |
||
| 90 | " 'qm-vamp-plugins:qm-keydetector',\n", |
||
| 91 | " 'qm-vamp-plugins:qm-mfcc',\n", |
||
| 92 | " 'qm-vamp-plugins:qm-onsetdetector',\n", |
||
| 93 | " 'qm-vamp-plugins:qm-segmenter',\n", |
||
| 94 | " 'qm-vamp-plugins:qm-similarity',\n", |
||
| 95 | " 'qm-vamp-plugins:qm-tempotracker',\n", |
||
| 96 | " 'qm-vamp-plugins:qm-tonalchange',\n", |
||
| 97 | " 'qm-vamp-plugins:qm-transcription',\n", |
||
| 98 | " 'segmentino:segmentino',\n", |
||
| 99 | " 'silvet:silvet',\n", |
||
| 100 | " 'simple-cepstrum:simple-cepstrum',\n", |
||
| 101 | " 'tempogram:tempogram',\n", |
||
| 102 | " 'vamp-aubio:aubionotes',\n", |
||
| 103 | " 'vamp-aubio:aubioonset',\n", |
||
| 104 | " 'vamp-aubio:aubiopitch',\n", |
||
| 105 | " 'vamp-aubio:aubiosilence',\n", |
||
| 106 | " 'vamp-aubio:aubiotempo',\n", |
||
| 107 | " 'vamp-example-plugins:amplitudefollower',\n", |
||
| 108 | " 'vamp-example-plugins:fixedtempo',\n", |
||
| 109 | " 'vamp-example-plugins:percussiononsets',\n", |
||
| 110 | " 'vamp-example-plugins:powerspectrum',\n", |
||
| 111 | " 'vamp-example-plugins:spectralcentroid',\n", |
||
| 112 | " 'vamp-example-plugins:zerocrossing',\n", |
||
| 113 | " 'vamp-libxtract:amdf',\n", |
||
| 114 | " 'vamp-libxtract:asdf',\n", |
||
| 115 | " 'vamp-libxtract:autocorrelation',\n", |
||
| 116 | " 'vamp-libxtract:average_deviation',\n", |
||
| 117 | " 'vamp-libxtract:bark_coefficients',\n", |
||
| 118 | " 'vamp-libxtract:crest',\n", |
||
| 119 | " 'vamp-libxtract:dct',\n", |
||
| 120 | " 'vamp-libxtract:f0',\n", |
||
| 121 | " 'vamp-libxtract:failsafe_f0',\n", |
||
| 122 | " 'vamp-libxtract:flatness',\n", |
||
| 123 | " 'vamp-libxtract:harmonic_spectrum',\n", |
||
| 124 | " 'vamp-libxtract:highest_value',\n", |
||
| 125 | " 'vamp-libxtract:irregularity_j',\n", |
||
| 126 | " 'vamp-libxtract:irregularity_k',\n", |
||
| 127 | " 'vamp-libxtract:kurtosis',\n", |
||
| 128 | " 'vamp-libxtract:loudness',\n", |
||
| 129 | " 'vamp-libxtract:lowest_value',\n", |
||
| 130 | " 'vamp-libxtract:mean',\n", |
||
| 131 | " 'vamp-libxtract:mfcc',\n", |
||
| 132 | " 'vamp-libxtract:noisiness',\n", |
||
| 133 | " 'vamp-libxtract:nonzero_count',\n", |
||
| 134 | " 'vamp-libxtract:odd_even_ratio',\n", |
||
| 135 | " 'vamp-libxtract:peak_spectrum',\n", |
||
| 136 | " 'vamp-libxtract:rms_amplitude',\n", |
||
| 137 | " 'vamp-libxtract:rolloff',\n", |
||
| 138 | " 'vamp-libxtract:sharpness',\n", |
||
| 139 | " 'vamp-libxtract:skewness',\n", |
||
| 140 | " 'vamp-libxtract:smoothness',\n", |
||
| 141 | " 'vamp-libxtract:spectral_centroid',\n", |
||
| 142 | " 'vamp-libxtract:spectral_inharmonicity',\n", |
||
| 143 | " 'vamp-libxtract:spectral_kurtosis',\n", |
||
| 144 | " 'vamp-libxtract:spectral_skewness',\n", |
||
| 145 | " 'vamp-libxtract:spectral_slope',\n", |
||
| 146 | " 'vamp-libxtract:spectral_standard_deviation',\n", |
||
| 147 | " 'vamp-libxtract:spectral_variance',\n", |
||
| 148 | " 'vamp-libxtract:spectrum',\n", |
||
| 149 | " 'vamp-libxtract:spread',\n", |
||
| 150 | " 'vamp-libxtract:standard_deviation',\n", |
||
| 151 | " 'vamp-libxtract:sum',\n", |
||
| 152 | " 'vamp-libxtract:tonality',\n", |
||
| 153 | " 'vamp-libxtract:tristimulus_1',\n", |
||
| 154 | " 'vamp-libxtract:tristimulus_2',\n", |
||
| 155 | " 'vamp-libxtract:tristimulus_3',\n", |
||
| 156 | " 'vamp-libxtract:variance',\n", |
||
| 157 | " 'vamp-libxtract:zcr',\n", |
||
| 158 | " 'vamp-rubberband:rubberband',\n", |
||
| 159 | " 'vamp-test-plugin:vamp-test-plugin',\n", |
||
| 160 | " 'vamp-test-plugin:vamp-test-plugin-freq']" |
||
| 161 | ] |
||
| 162 | }, |
||
| 163 | 5:c5482b2a4bdd | Chris | "execution_count": 5, |
| 164 | 0:3c20d90a66ec | Chris | "metadata": {},
|
| 165 | "output_type": "execute_result" |
||
| 166 | } |
||
| 167 | ], |
||
| 168 | "source": [ |
||
| 169 | "vamp.list_plugins()" |
||
| 170 | ] |
||
| 171 | }, |
||
| 172 | {
|
||
| 173 | "cell_type": "code", |
||
| 174 | 5:c5482b2a4bdd | Chris | "execution_count": 6, |
| 175 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 176 | "collapsed": true |
||
| 177 | }, |
||
| 178 | "outputs": [], |
||
| 179 | "source": [ |
||
| 180 | "librosa.load?" |
||
| 181 | ] |
||
| 182 | }, |
||
| 183 | {
|
||
| 184 | "cell_type": "code", |
||
| 185 | 5:c5482b2a4bdd | Chris | "execution_count": 7, |
| 186 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 187 | "collapsed": true |
||
| 188 | }, |
||
| 189 | "outputs": [], |
||
| 190 | "source": [ |
||
| 191 | "vamp.collect?" |
||
| 192 | ] |
||
| 193 | }, |
||
| 194 | {
|
||
| 195 | "cell_type": "code", |
||
| 196 | 5:c5482b2a4bdd | Chris | "execution_count": 8, |
| 197 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 198 | "collapsed": false |
||
| 199 | }, |
||
| 200 | "outputs": [], |
||
| 201 | "source": [ |
||
| 202 | "data, rate = librosa.load(\"data/Music/piano-scale.wav\", 44100)" |
||
| 203 | ] |
||
| 204 | }, |
||
| 205 | {
|
||
| 206 | "cell_type": "code", |
||
| 207 | 5:c5482b2a4bdd | Chris | "execution_count": 9, |
| 208 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 209 | "collapsed": false |
||
| 210 | }, |
||
| 211 | "outputs": [ |
||
| 212 | {
|
||
| 213 | "data": {
|
||
| 214 | "text/plain": [ |
||
| 215 | "44100" |
||
| 216 | ] |
||
| 217 | }, |
||
| 218 | 5:c5482b2a4bdd | Chris | "execution_count": 9, |
| 219 | 0:3c20d90a66ec | Chris | "metadata": {},
|
| 220 | "output_type": "execute_result" |
||
| 221 | } |
||
| 222 | ], |
||
| 223 | "source": [ |
||
| 224 | "rate" |
||
| 225 | ] |
||
| 226 | }, |
||
| 227 | {
|
||
| 228 | "cell_type": "code", |
||
| 229 | 5:c5482b2a4bdd | Chris | "execution_count": 10, |
| 230 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 231 | "collapsed": false |
||
| 232 | }, |
||
| 233 | "outputs": [], |
||
| 234 | "source": [ |
||
| 235 | "out = vamp.collect(data, rate, \"nnls-chroma:nnls-chroma\", output = \"chroma\", process_timestamp_method = vamp.vampyhost.SHIFT_DATA)" |
||
| 236 | ] |
||
| 237 | }, |
||
| 238 | {
|
||
| 239 | "cell_type": "code", |
||
| 240 | 5:c5482b2a4bdd | Chris | "execution_count": 11, |
| 241 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 242 | "collapsed": true |
||
| 243 | }, |
||
| 244 | "outputs": [], |
||
| 245 | "source": [ |
||
| 246 | "out2 = vamp.collect(data, rate, \"qm-vamp-plugins:qm-chromagram\", output = \"chromagram\", process_timestamp_method = vamp.vampyhost.SHIFT_DATA)" |
||
| 247 | ] |
||
| 248 | }, |
||
| 249 | {
|
||
| 250 | "cell_type": "code", |
||
| 251 | 5:c5482b2a4bdd | Chris | "execution_count": 12, |
| 252 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 253 | "collapsed": false |
||
| 254 | }, |
||
| 255 | "outputs": [ |
||
| 256 | {
|
||
| 257 | "data": {
|
||
| 258 | "text/plain": [ |
||
| 259 | "{'matrix': ( 0.046439909,\n",
|
||
| 260 | " array([[ 0. , 0.23465359, 0. , ..., 0.08958804,\n", |
||
| 261 | " 1.2546041 , 0.28356144],\n", |
||
| 262 | " [ 0. , 0.39042693, 0.00177656, ..., 0.09287024,\n", |
||
| 263 | " 1.21442342, 0.1496222 ],\n", |
||
| 264 | " [ 0. , 0.52906221, 0.00219605, ..., 0.05372851,\n", |
||
| 265 | " 1.21060038, 0.06183077],\n", |
||
| 266 | " ..., \n", |
||
| 267 | " [ 1.29977727, 0. , 0.16230981, ..., 0.37326023,\n", |
||
| 268 | " 0.11922166, 0.38857883],\n", |
||
| 269 | " [ 0.44108227, 0.0647972 , 0.77132535, ..., 0.23604083,\n", |
||
| 270 | " 0.10995618, 0.39924181],\n", |
||
| 271 | " [ 0.02858954, 0.54281044, 0.70990545, ..., 0.17574874,\n", |
||
| 272 | " 0.15729675, 0.1570534 ]], dtype=float32))}" |
||
| 273 | ] |
||
| 274 | }, |
||
| 275 | 5:c5482b2a4bdd | Chris | "execution_count": 12, |
| 276 | 0:3c20d90a66ec | Chris | "metadata": {},
|
| 277 | "output_type": "execute_result" |
||
| 278 | } |
||
| 279 | ], |
||
| 280 | "source": [ |
||
| 281 | "out" |
||
| 282 | ] |
||
| 283 | }, |
||
| 284 | {
|
||
| 285 | "cell_type": "code", |
||
| 286 | 5:c5482b2a4bdd | Chris | "execution_count": 13, |
| 287 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 288 | "collapsed": false |
||
| 289 | }, |
||
| 290 | "outputs": [ |
||
| 291 | {
|
||
| 292 | "data": {
|
||
| 293 | "text/plain": [ |
||
| 294 | "{'matrix': ( 0.046439909,\n",
|
||
| 295 | " array([[ 1.46356169e-02, 1.00284042e-02, 6.13229116e-03, ...,\n", |
||
| 296 | " 6.37824275e-03, 1.12555586e-02, 1.49770780e-02],\n", |
||
| 297 | " [ 7.01050684e-02, 2.52935681e-02, 2.90200301e-03, ...,\n", |
||
| 298 | " 9.44275782e-03, 1.47002591e-02, 4.58300859e-02],\n", |
||
| 299 | " [ 7.85880536e-02, 3.01746875e-02, 1.63351605e-03, ...,\n", |
||
| 300 | " 7.24899024e-03, 1.12466933e-02, 4.71907593e-02],\n", |
||
| 301 | " ..., \n", |
||
| 302 | " [ 8.20661895e-03, 3.76351969e-03, 1.84410776e-04, ...,\n", |
||
| 303 | " 7.19304080e-05, 1.89329934e-04, 3.95213813e-03],\n", |
||
| 304 | " [ 2.96376343e-03, 1.39251188e-03, 1.14867362e-04, ...,\n", |
||
| 305 | " 7.17425646e-05, 8.96208439e-05, 1.87694619e-03],\n", |
||
| 306 | " [ 1.85929565e-03, 9.64637962e-04, 1.16197378e-04, ...,\n", |
||
| 307 | " 5.40428482e-05, 4.73081054e-05, 1.41351460e-03]], dtype=float32))}" |
||
| 308 | ] |
||
| 309 | }, |
||
| 310 | 5:c5482b2a4bdd | Chris | "execution_count": 13, |
| 311 | 0:3c20d90a66ec | Chris | "metadata": {},
|
| 312 | "output_type": "execute_result" |
||
| 313 | } |
||
| 314 | ], |
||
| 315 | "source": [ |
||
| 316 | "out2" |
||
| 317 | ] |
||
| 318 | }, |
||
| 319 | {
|
||
| 320 | "cell_type": "code", |
||
| 321 | 5:c5482b2a4bdd | Chris | "execution_count": 14, |
| 322 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 323 | "collapsed": false |
||
| 324 | }, |
||
| 325 | "outputs": [], |
||
| 326 | "source": [ |
||
| 327 | "step, chroma = out[\"matrix\"]" |
||
| 328 | ] |
||
| 329 | }, |
||
| 330 | {
|
||
| 331 | "cell_type": "code", |
||
| 332 | 5:c5482b2a4bdd | Chris | "execution_count": 15, |
| 333 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 334 | "collapsed": false |
||
| 335 | }, |
||
| 336 | "outputs": [ |
||
| 337 | {
|
||
| 338 | "data": {
|
||
| 339 | "text/plain": [ |
||
| 340 | 5:c5482b2a4bdd | Chris | "<matplotlib.image.AxesImage at 0x7f1b00878790>" |
| 341 | 0:3c20d90a66ec | Chris | ] |
| 342 | }, |
||
| 343 | 5:c5482b2a4bdd | Chris | "execution_count": 15, |
| 344 | 0:3c20d90a66ec | Chris | "metadata": {},
|
| 345 | "output_type": "execute_result" |
||
| 346 | }, |
||
| 347 | {
|
||
| 348 | "data": {
|
||
| 349 | "image/png": "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\nTkSuQmCC\n", |
||
| 350 | "text/plain": [ |
||
| 351 | 5:c5482b2a4bdd | Chris | "<matplotlib.figure.Figure at 0x7f1b00bd4cd0>" |
| 352 | 0:3c20d90a66ec | Chris | ] |
| 353 | }, |
||
| 354 | "metadata": {},
|
||
| 355 | "output_type": "display_data" |
||
| 356 | } |
||
| 357 | ], |
||
| 358 | "source": [ |
||
| 359 | "plt.imshow(chroma.transpose(), origin=\"lower\")" |
||
| 360 | ] |
||
| 361 | }, |
||
| 362 | {
|
||
| 363 | "cell_type": "code", |
||
| 364 | 5:c5482b2a4bdd | Chris | "execution_count": 16, |
| 365 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 366 | "collapsed": false |
||
| 367 | }, |
||
| 368 | "outputs": [ |
||
| 369 | {
|
||
| 370 | "data": {
|
||
| 371 | "text/plain": [ |
||
| 372 | 5:c5482b2a4bdd | Chris | "<matplotlib.image.AxesImage at 0x7f1b00755cd0>" |
| 373 | 0:3c20d90a66ec | Chris | ] |
| 374 | }, |
||
| 375 | 5:c5482b2a4bdd | Chris | "execution_count": 16, |
| 376 | 0:3c20d90a66ec | Chris | "metadata": {},
|
| 377 | "output_type": "execute_result" |
||
| 378 | }, |
||
| 379 | {
|
||
| 380 | "data": {
|
||
| 381 | "image/png": "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\n6AAAAABJRU5ErkJggg==\n", |
||
| 382 | "text/plain": [ |
||
| 383 | 5:c5482b2a4bdd | Chris | "<matplotlib.figure.Figure at 0x7f1b007dddd0>" |
| 384 | 0:3c20d90a66ec | Chris | ] |
| 385 | }, |
||
| 386 | "metadata": {},
|
||
| 387 | "output_type": "display_data" |
||
| 388 | } |
||
| 389 | ], |
||
| 390 | "source": [ |
||
| 391 | "plt.imshow(out2[\"matrix\"][1].transpose(), origin=\"lower\")" |
||
| 392 | ] |
||
| 393 | }, |
||
| 394 | {
|
||
| 395 | "cell_type": "code", |
||
| 396 | 5:c5482b2a4bdd | Chris | "execution_count": 17, |
| 397 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 398 | "collapsed": true |
||
| 399 | }, |
||
| 400 | "outputs": [], |
||
| 401 | "source": [ |
||
| 402 | "import csv" |
||
| 403 | ] |
||
| 404 | }, |
||
| 405 | {
|
||
| 406 | "cell_type": "code", |
||
| 407 | 5:c5482b2a4bdd | Chris | "execution_count": 18, |
| 408 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 409 | "collapsed": true |
||
| 410 | }, |
||
| 411 | "outputs": [], |
||
| 412 | "source": [ |
||
| 413 | "out_file = open('features.csv', 'w')"
|
||
| 414 | ] |
||
| 415 | }, |
||
| 416 | {
|
||
| 417 | "cell_type": "code", |
||
| 418 | 5:c5482b2a4bdd | Chris | "execution_count": 19, |
| 419 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 420 | "collapsed": true |
||
| 421 | }, |
||
| 422 | "outputs": [], |
||
| 423 | "source": [ |
||
| 424 | "writer = csv.writer(out_file)" |
||
| 425 | ] |
||
| 426 | }, |
||
| 427 | {
|
||
| 428 | "cell_type": "code", |
||
| 429 | 5:c5482b2a4bdd | Chris | "execution_count": 20, |
| 430 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 431 | "collapsed": true |
||
| 432 | }, |
||
| 433 | "outputs": [], |
||
| 434 | "source": [ |
||
| 435 | "writer.writerows(chroma)" |
||
| 436 | ] |
||
| 437 | }, |
||
| 438 | {
|
||
| 439 | "cell_type": "code", |
||
| 440 | 5:c5482b2a4bdd | Chris | "execution_count": 21, |
| 441 | 0:3c20d90a66ec | Chris | "metadata": {
|
| 442 | "collapsed": true |
||
| 443 | }, |
||
| 444 | "outputs": [], |
||
| 445 | "source": [ |
||
| 446 | "out_file.close()" |
||
| 447 | ] |
||
| 448 | }, |
||
| 449 | {
|
||
| 450 | "cell_type": "code", |
||
| 451 | "execution_count": null, |
||
| 452 | "metadata": {
|
||
| 453 | "collapsed": true |
||
| 454 | }, |
||
| 455 | "outputs": [], |
||
| 456 | "source": [] |
||
| 457 | } |
||
| 458 | ], |
||
| 459 | "metadata": {
|
||
| 460 | "kernelspec": {
|
||
| 461 | 5:c5482b2a4bdd | Chris | "display_name": "Python 2", |
| 462 | 0:3c20d90a66ec | Chris | "language": "python", |
| 463 | 5:c5482b2a4bdd | Chris | "name": "python2" |
| 464 | 0:3c20d90a66ec | Chris | }, |
| 465 | "language_info": {
|
||
| 466 | "codemirror_mode": {
|
||
| 467 | "name": "ipython", |
||
| 468 | 5:c5482b2a4bdd | Chris | "version": 2 |
| 469 | 0:3c20d90a66ec | Chris | }, |
| 470 | "file_extension": ".py", |
||
| 471 | "mimetype": "text/x-python", |
||
| 472 | "name": "python", |
||
| 473 | "nbconvert_exporter": "python", |
||
| 474 | 5:c5482b2a4bdd | Chris | "pygments_lexer": "ipython2", |
| 475 | "version": "2.7.10" |
||
| 476 | 0:3c20d90a66ec | Chris | } |
| 477 | }, |
||
| 478 | "nbformat": 4, |
||
| 479 | "nbformat_minor": 0 |
||
| 480 | } |