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