Created
May 10, 2017 19:41
-
-
Save bmcfee/089ff8f68aff89b0ec18f583f54f0de2 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import pumpp\n", | |
"import h5py" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"C = pumpp.feature.CQT(name='cqt', sr=44100, hop_length=4096, log=True, conv='tf')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"B = pumpp.task.BeatTransformer(sr=44100, hop_length=4096)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"P = pumpp.Pump(C, B)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"datum = P('/home/bmcfee/data/MedleyDB_sample/Audio/LizNelson_Rainfall/LizNelson_Rainfall_MIX.wav')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{'beat/_valid': array([[0, 0]]), 'beat/beat': array([[[False],\n", | |
" [False],\n", | |
" [False],\n", | |
" ..., \n", | |
" [False],\n", | |
" [False],\n", | |
" [False]]], dtype=bool), 'beat/downbeat': array([[[False],\n", | |
" [False],\n", | |
" [False],\n", | |
" ..., \n", | |
" [False],\n", | |
" [False],\n", | |
" [False]]], dtype=bool), 'beat/mask_downbeat': array([False], dtype=bool), 'cqt/mag': array([[[[-60.45588684],\n", | |
" [-56.91991043],\n", | |
" [-64.60596466],\n", | |
" ..., \n", | |
" [-80. ],\n", | |
" [-80. ],\n", | |
" [-80. ]],\n", | |
" \n", | |
" [[-60.5687294 ],\n", | |
" [-57.38772202],\n", | |
" [-61.41232681],\n", | |
" ..., \n", | |
" [-80. ],\n", | |
" [-80. ],\n", | |
" [-80. ]],\n", | |
" \n", | |
" [[-61.04840088],\n", | |
" [-58.86682129],\n", | |
" [-57.50798798],\n", | |
" ..., \n", | |
" [-75.88668823],\n", | |
" [-74.88679504],\n", | |
" [-70.69407654]],\n", | |
" \n", | |
" ..., \n", | |
" [[-65.34263611],\n", | |
" [-60.15421295],\n", | |
" [-59.2531662 ],\n", | |
" ..., \n", | |
" [-80. ],\n", | |
" [-80. ],\n", | |
" [-80. ]],\n", | |
" \n", | |
" [[-65.20644379],\n", | |
" [-61.90522385],\n", | |
" [-57.836483 ],\n", | |
" ..., \n", | |
" [-80. ],\n", | |
" [-80. ],\n", | |
" [-80. ]],\n", | |
" \n", | |
" [[-65.43597412],\n", | |
" [-64.44393921],\n", | |
" [-57.01498795],\n", | |
" ..., \n", | |
" [-80. ],\n", | |
" [-80. ],\n", | |
" [-80. ]]]], dtype=float32), 'cqt/phase': array([[[[ 1.40390837e+00],\n", | |
" [ 1.50876081e+00],\n", | |
" [ 1.53741777e+00],\n", | |
" ..., \n", | |
" [ 1.91018534e+00],\n", | |
" [ 1.60638404e+00],\n", | |
" [ -5.47881901e-01]],\n", | |
" \n", | |
" [[ 1.21011412e+00],\n", | |
" [ 7.63346970e-01],\n", | |
" [ 1.21743667e+00],\n", | |
" ..., \n", | |
" [ 9.93008493e-04],\n", | |
" [ -7.67094553e-01],\n", | |
" [ 5.39158344e-01]],\n", | |
" \n", | |
" [[ 9.93348539e-01],\n", | |
" [ -1.74790490e-02],\n", | |
" [ 3.73399168e-01],\n", | |
" ..., \n", | |
" [ -5.14139295e-01],\n", | |
" [ 1.18385446e+00],\n", | |
" [ 2.87618685e+00]],\n", | |
" \n", | |
" ..., \n", | |
" [[ 1.70295131e+00],\n", | |
" [ 1.21126425e+00],\n", | |
" [ 1.33812416e+00],\n", | |
" ..., \n", | |
" [ 2.14315009e+00],\n", | |
" [ 1.38004375e+00],\n", | |
" [ -2.85812318e-01]],\n", | |
" \n", | |
" [[ 1.37173688e+00],\n", | |
" [ 4.30214912e-01],\n", | |
" [ 3.83782387e-01],\n", | |
" ..., \n", | |
" [ 2.80652738e+00],\n", | |
" [ 2.77391362e+00],\n", | |
" [ -3.04661632e+00]],\n", | |
" \n", | |
" [[ 1.11487710e+00],\n", | |
" [ -4.43137944e-01],\n", | |
" [ -6.32018566e-01],\n", | |
" ..., \n", | |
" [ -2.12892151e+00],\n", | |
" [ -1.42968285e+00],\n", | |
" [ -1.63801491e-01]]]], dtype=float32)}" | |
] | |
}, | |
"execution_count": 21, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"datum" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"with h5py.File('/tmp/arr.h5', mode='w') as hf:\n", | |
" hf.update(datum)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"np.savez('/tmp/arr.npz', **datum)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"1.13 ms ± 42.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n" | |
] | |
} | |
], | |
"source": [ | |
"%%timeit \n", | |
"with h5py.File('/tmp/arr.h5', mode='r', ) as hf:\n", | |
" cqt = hf['cqt/phase'].value" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"6.17 ms ± 40.9 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" | |
] | |
} | |
], | |
"source": [ | |
"%%timeit \n", | |
"with np.load('/tmp/arr.npz') as nf:\n", | |
" cqt = nf['cqt/phase']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"-rw-rw-r-- 1 bmcfee bmcfee 7078759 Apr 28 16:35 /tmp/arr.h5\r\n", | |
"-rw-rw-r-- 1 bmcfee bmcfee 7073691 Apr 28 16:35 /tmp/arr.npz\r\n" | |
] | |
} | |
], | |
"source": [ | |
"!ls -l /tmp/arr.*" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"import crema.utils" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"data = crema.utils.load_h5('/tmp/arr.h5')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"3.26 ms ± 59.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" | |
] | |
} | |
], | |
"source": [ | |
"%%timeit\n", | |
"data = crema.utils.load_h5('/tmp/arr.h5')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"13.2 ms ± 31.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" | |
] | |
} | |
], | |
"source": [ | |
"%%timeit\n", | |
"data = dict(np.load('/tmp/arr.npz'))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"data1 = dict(np.load('/tmp/arr.npz'))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"data2 = crema.utils.load_h5('/tmp/arr.h5')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 19, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"data1.keys() == data2.keys()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"all([np.allclose(data1[k], data2[k]) for k in data1])" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3.5", | |
"language": "python", | |
"name": "python3.5" | |
}, | |
"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.5.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment