micmon/notebooks/dataset.ipynb

301 lines
222 KiB
Plaintext
Raw Permalink Normal View History

2020-10-27 15:21:32 +01:00
{
"cells": [
{
"cell_type": "markdown",
"source": [
"This notebook scans for labelled audio samples in a directory,\n",
"extracts the spectrum of the samples and creates dataset files\n",
"with the spectrum data to train the audio detection model."
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
2020-10-28 18:12:19 +01:00
"outputs": [],
2020-10-27 15:21:32 +01:00
"source": [
"import os\n",
"\n",
"from micmon.audio import AudioDirectory, AudioPlayer, AudioFile\n",
"from micmon.dataset import DatasetWriter\n",
"\n",
2020-10-28 18:12:19 +01:00
"basedir = os.path.expanduser(os.path.join('~', 'datasets', 'baby-monitor'))\n",
"audio_dir = os.path.join(basedir, 'audio')\n",
"datasets_dir = os.path.join(basedir, 'datasets')\n",
2020-10-27 15:21:32 +01:00
"audio_dirs = AudioDirectory.scan(audio_dir)\n",
"cutoff_frequencies = [250, 7500]"
]
},
{
"cell_type": "markdown",
"source": [
"Play some audio samples"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
2020-10-28 18:12:19 +01:00
"execution_count": 2,
2020-10-27 15:21:32 +01:00
"outputs": [],
"source": [
2020-10-28 18:12:19 +01:00
"for audio_dir in audio_dirs:\n",
" with AudioFile(audio_dir.audio_file, start='19:40', duration=5) as reader, \\\n",
2020-10-27 15:21:32 +01:00
" AudioPlayer() as player:\n",
" for sample in reader:\n",
" player.play(sample)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
2020-10-28 18:12:19 +01:00
{
"cell_type": "markdown",
"source": [
"Plot the audio for each of the first 10 seconds of each audio file."
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX8AAAD4CAYAAAAEhuazAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABuyUlEQVR4nO19d7hdRbn+O6ek917JIZ0klEAITTpCAK8giIKi2JWLP/Xq9QriVa+KYrvXCoiigh0rvfeSkAKE9H7Se3KSnJRT5/fH3muvb2bPt9bMKnufnL3e58mTfdZeZfasmW+++cr7CSklMmTIkCFDZaGq3A3IkCFDhgylRyb8M2TIkKECkQn/DBkyZKhAZMI/Q4YMGSoQmfDPkCFDhgpETbkbYItBgwbJurq6cjcjQ4YMGY4qLFiwYJeUcrB+/KgR/nV1dZg/f365m5EhQ4YMRxWEEOtNxzOzT4YMGTJUIDLhnyFDhgwViEz4Z8iQIUMFIhP+GTJkyFCByIR/hgwZMlQgMuGfIUOGDBWITPhnyJAhQwUiE/4ZMmSwQmtbO+6fvxFt7RkNfGdAJvwzZMhghd++Wo//+ttb+NPcDeVuSoYEkAn/DBkyWGFXYzMAYP+RljK3JEMSyIR/BUBKiebW9nI3I8NRDq/qX5UQZW5JhiSQCf8KwLceWYaJX3kMrW3ZApAhOjxbf1Um+zsFYgt/IcRoIcRzQohlQoglQojP5o8PEEI8JYRYlf+/P7nmFiHEaiHECiHEJXHbkCEY975aDwBozRx1GWLAGz6Z5t85kITm3wrgC1LK4wCcDuAmIcQUADcDeEZKOQHAM/m/kf/uWgBTAcwCcIcQojqBdmRg4An9Q81tZW5JhqMZ7ZnZp1MhtvCXUm6VUr6e/3wAwDIAIwFcAeDe/Gn3Argy//kKAH+WUjZJKdcBWA1gZtx2dEb84IkV+Mu85CIr9h/OHHUZosMX/mVuSIZEkKjNXwhRB2A6gNcADJVSbgVyCwSAIfnTRgLYSC7blD9mut8nhBDzhRDzd+7cmWRTjwr87LnV+NLfFyV2v8zskyEOXt+wFwBw3xwjPXyGowyJCX8hRC8AfwfwOSnl/qBTDceMUklKebeUcoaUcsbgwUWFaEqCLQ2H8a47XsGeg81leX6S8DS3DBmiYP2uQwCAtTsPlrklGZJAIsJfCFGLnOD/g5TyH/nD24UQw/PfDwewI398E4DR5PJRALYk0Y408MuX1uKNDQ345xuby92U2Ghty4R/hgxJoLGpFQs3NpS7GbGQRLSPAHAPgGVSyv8lXz0I4Ib85xsAPECOXyuE6CqEOBbABABz47YjLYj8RkUmrDX/6OmV+MR9pS1LmaXlZ+Dw1qaG0MzdbPT4+NTvFuCKn7+Cw0dxEEUSNXzPAvABAIuEEG/mj30ZwO0A7hdCfBTABgDXAICUcokQ4n4AS5GLFLpJStlhe9BzbiVtMfnR06uSvaEFWtuzOP8MZrzzZ68AAK6beQx7TmNTa6ma0+Hx8updAIAjLW3o3uXoDFaMLfyllC/DbMcHgAuZa24DcFvcZ5cCXlRbZ7CX6w5fKSVu/P3r+Na7pmFQr65latXRg8amVjy/YgfeccKIcjclQwfB4ZY29A8/rUMiy/ANgRfT3BksJrrN/77Z6/H4km2Y8a2ny9Siowu3/nMRPv3HN7Bky75yNyVDB8HRbErNhH8IREH4H70v2YP+G7Y0HE7lOZf++CW882cvp3LvcmJrwxEAQOORzPwRB+3tEr99ZR0ONR/9/Xg0h09nwj8E9btyYW3PLNte5pbEhz5Q0xq4y7bux1ubjm7t2KTReSbAtk6gCJQTTy7djq8/tBTfe3xFuZviBCll0bh4adXRm3+UCf8QvJkP53p9Q0NZ20EhpYwUZbBoU4Py99G8ZU0TC9bvwbgvP4rZa3Yrx6vz3v9S+c3/NHcDVmw7EHhOc2s7Wo4ywr6DecdxuTPO6TyaX78HD78VHHH+x7kbMO7Lj2L7/iOFYweO4l1gJvxDMKp/dwBA765JBEYlg7teWIvjvvo4tu07En4ywYL1e9HeLrHvUG7SpWHKamrtsIFb1nhxZS6S49U1u5TjntBqbivNb7zlH4twyY9eDDxn4lcew4RbHytJe5KCt3OqKjNPxB3Pr8FxX30cuxub8O67ZuPTf3wj8PwH3sgtDut2+UluR9vCS5EJ/xCcNymXWXz9GWPK3BIf3318OQBg495DTtdJAD95dhVO/MaT2HmgKdP8Gfz4mVwY7sEmVcgvzJuy/vVGh81JLBk2NxzGtx9dhvYIY8i7prrMBHFe4ua2/ZZKlCHs+y/zNprPPQqQCf8Q7M7TOrR0wGIoR1rcNdDHFm0DAOw+2NQpnNgvrdqJX764NpV7cxWrkiyMI6XEtx5eipXbg807rth/pAV7U6Qkef8v5+DuF9diQZ7vxwW+5p90q9ywekcjAHvzp5fRK0m621bH3XdHQib8Q/CbV+oBAI8s2lrehhjwz9fdKSc8gS8gUtH81+woLe/LB+6Zi9seXVbSZyaZLLd9fxN+9fI6fOCe1xK7JwCc9D9PYvo3n0r0nhT1u3O7zgffdN8FdbQNp63ppim/6EdRujoiMuFfQTh34mCsyms7L6/e1eEmYUcDtzFqiqD5t7dLfOp3CzCvfk+ktnzr4aX4x+ub7J/HtP23r6zDT57hs8uPtLShftdBXP+r1wo+jiBUR7Dbr87vcv40N1mTycY9hyIRMLY4cl49tXRH+ElHATLhb4maaoGm1jbU3fwIFqyPNoETh+O8o0U46ncdjG32+eCv5+KppWoIbCXU+VgeEoFjwt5DzXh8yTZ88ncLlOPSkjHnVy+vw+fvX+j8XB1ff2gp/veplez3s9fsxu2PLcfLq3fhhZXhYYy11e4v/Jnl6QjPs7/3HM74zjPO17kSHibN81UuZMI/BB8/+1gAwDtOGIGfP7saAHD1nbNL2obttg6pEFBh39jUGouvSEqJF1fuxMdDyOk+9Ju5hTKSrqi7+RHU3fxIpGvTxM4DTZGv5TRToa3k5RIwTy/bjrn53YmNeaOm2l2EuEapuSDKrqzF0Yz3osWieDQgE/4h8LTlOWt3Y87aeBr/e34xGz8N2HIDwOLN+7BxjxrFc4BxPB4/sq/T86k8mbtuTyxGQk42PbZ4m/L38yt24msPLon8nKj4+H3zUXfzI1amCw5tCdr2mx1DAsulXP7htQ2FBcpziAahNoLZpxQ/bemW/Vi/u9j/tOdgM+asVfM3XB34W45iJy9FJvxD4EVhvLGhwVlD0DF33R78MGDLDQDv+OnLOPt7zynHOPvtmIE9nJ5PNf/W9nY8vmRbwNn296LYti8dyghXeOaoNTvDBRgHj7kxCXBRIV436gt8RzAs2GQyiwh2vlKEGF/2k5dw7vefLzp+8jefwrV3z1GOPbvMN0Ptboy+q4uCw81tGP/lR/FoGQJKMuEfgmoSj6bHND+3Ygc2OcbaRwEnaH/8zGqn+1D7fNzcFG760qbuKvFEMiGOBr2rMblQSS7s0lsUDmq7sCTDcB9fvA11Nz9SSO6zhU0T/rbA3gkdB08v3Z6Y+RNQI3y2H/Dve6jE/PybGw6jtV3iB0+oVBc7DzSh7uZH8PyK9JzLmfAPAU1B17lwPvybeXjbd5/TL0kcnKa0YltQtcxivLbON1t5mctRwdEO0JZGsb9GRak1Nlcs22p+V5xdPUmzzy9eXAMAWO24C7LR0Af1Lg0V+Mfum4933/VqYvej5HzU4Vv6MM586LW2gfIUtQ/9Zl5qT86EfwjWklTucpVB5ATBkRZeuM760YuBztI3Y5ag22fByxIl+/OM7zyDd93xivN1XARO3De2u7EJv0ugYDn3DocwwtM2CsixFU5nWwn/nl2iNsYanvN7457kTIrUhEt3Aa5hnwDwq5fWou7mRyL50Lwu1s1npSgRmQn/ENBQtrg2/6iIYgLwhGFa3CMchw9tqi48bvj1XPw9xEywdd8RvBGBRC+OYzcIN/3xdfz3vxZbOT+DwL3BLjXmKZik5u/anz3ylammH9NPOX7FScVFbKLE+XcE0P497dgBhc9
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"for audio_dir in audio_dirs:\n",
" with AudioFile(audio_dir.audio_file, start=0, duration=4) as reader:\n",
" for sample in reader:\n",
" sample.plot_audio()"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
2020-10-27 15:21:32 +01:00
{
"cell_type": "markdown",
"source": [
"Plot the spectrum of the audio samples in the first 10 seconds of each audio file."
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
2020-10-28 18:12:19 +01:00
"execution_count": 3,
2020-10-27 15:21:32 +01:00
"outputs": [
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAPN0lEQVR4nO3df4zkd13H8efLO0ApQvlxELi72jM5KKfycylVUStVuWuNpwl/XJEfNpBLDVU0JvYIUWP4pwY1QChcLvUsqOH+gAZOelIN/iDGgN0qlF7Lwdlib3vVXkVRIbEcffvHzMEwzO7Mbr97O/OZ5yPZ7Hy/38/Ovj+7s6/5zGc+3++mqpAkzb7v2ugCJEndMNAlqREGuiQ1wkCXpEYY6JLUCANdkhoxNtCTHE7yUJK7ljmeJO9OcjLJnUle0n2ZkqRxJhmh3wzsXuH4HmBn/2M/8L7HXpYkabXGBnpVfRL48gpN9gIfqJ5PARcmeXZXBUqSJrO5g/vYCpwa2F7q73twuGGS/fRG8VxwwQUvveSSSzr49mrV5x74yjdv/9DWp2xgJdL0uOOOOx6uqi2jjnUR6Bmxb+T1BKrqEHAIYGFhoRYXFzv49mrVxQdu/ebtxRuu2sBKpOmR5F+XO9bFKpclYPvA9jbgdAf3K0lahS4C/Sjw+v5ql8uAr1TVd0y3SJLW19gplyQfBC4HnpFkCfgd4HEAVXUQOAZcCZwEvgZcs17FSpKWNzbQq+rqMccLeHNnFUmS1sQzRSWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEZMFOhJdic5keRkkgMjjj8lyZ8n+WyS40mu6b5USdJKxgZ6kk3AjcAeYBdwdZJdQ83eDNxdVS8ELgf+IMnjO65VkrSCSUbolwInq+reqnoEOALsHWpTwPcmCfAk4MvA2U4rlSStaJJA3wqcGthe6u8b9B7g+cBp4HPAW6rq0eE7SrI/yWKSxTNnzqyxZEnSKJMEekbsq6HtVwGfAZ4DvAh4T5Inf8cXVR2qqoWqWtiyZcsqS5UkrWSSQF8Ctg9sb6M3Eh90DXBL9ZwE7gMu6aZESdIkJgn024GdSXb03+jcBxwdanM/cAVAkmcBzwPu7bJQSdLKNo9rUFVnk1wH3AZsAg5X1fEk1/aPHwTeDtyc5HP0pmiur6qH17FuSdKQsYEOUFXHgGND+w4O3D4N/Ey3pUmSVsMzRSWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoDbj4wK1cfODWjS5D0gYz0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjJgr0JLuTnEhyMsmBZdpcnuQzSY4n+btuy5QkjbN5XIMkm4AbgZ8GloDbkxytqrsH2lwIvBfYXVX3J3nmOtUrSVrGJCP0S4GTVXVvVT0CHAH2DrV5DXBLVd0PUFUPdVumJGmcSQJ9K3BqYHupv2/Qc4GnJvnbJHckef2oO0qyP8liksUzZ86srWJJ0kiTBHpG7Kuh7c3AS4GrgFcBv5Xkud/xRVWHqmqhqha2bNmy6mIlScsbO4dOb0S+fWB7G3B6RJuHq+qrwFeTfBJ4IfCFTqqUJI01yQj9dmBnkh1JHg/sA44Otfko8GNJNid5IvBy4J5uS904XvxK0iwYO0KvqrNJrgNuAzYBh6vqeJJr+8cPVtU9ST4O3Ak8CtxUVXetZ+GSpG83yZQLVXUMODa07+DQ9juAd3RXmiRpNTxTVJIaYaBLUiMMdElqhIEuSY0w0KUxXLaqWWGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1YqJT/zVdBldcfOmGqzawEknTxBG6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoKsp/rs4zTMDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXC/ymqzvk/T6WN4QhdkhphoEtSIwx0SWqEgd4YT33/Fn8WmjcTBXqS3UlOJDmZ5MAK7V6W5BtJXt1diZKkSYwN9CSbgBuBPcAu4Ooku5Zp93vAbV0XKUkab5Jli5cCJ6vqXoAkR4C9wN1D7X4F+DDwsk4rbIjL+SStp0kCfStwamB7CXj5YIMkW4FfAF7JCoGeZD+wH+Ciiy5aba2aYz4ZSuNNMoeeEftqaPudwPVV9Y2V7qiqDlXVQlUtbNmyZcISJUmTmGSEvgRsH9jeBpwearMAHEkC8AzgyiRnq+ojXRQpSRpvkkC/HdiZZAfwALAPeM1gg6race52kpuBjxnmWguXGUprNzbQq+pskuvorV7ZBByuquNJru0fP7jONU6Vc4HjPK6kaTPRxbmq6hhwbGjfyCCvql967GWpFb6ZKZ0/nik6JzxrUmqfgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZ1wFY208fwn0VNmuXXbLYdly32TzicDXRvCEJe655SLJDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSI2byaovLXWJWkuaZI3RJaoSBLkmNMNCX4b9UkzRrDHRJaoSBLkmNMNC1Kk5FSdNrJpcttsaAlGbPNC6fdoSuubAeryx8taJpY6BrJMNKmj0GuiQ1wkDXWI7Wpdkw0ZuiSXYD7wI2ATdV1Q1Dx38RuL6/+b/AL1fVZ7ssdBqdC7lpeUNE0saYljdIx47Qk2wCbgT2ALuAq5PsGmp2H/ATVfUC4O3Aoa4L1eo5spbmyyRTLpcCJ6vq3qp6BDgC7B1sUFX/UFX/2d/8FLCt2zKl7vhEp1ZNEuhbgVMD20v9fct5I/AXow4k2Z9kMcnimTNnJq9SkiYw70/Wk8yhZ8S+Gtkw+Ul6gf6KUcer6hD96ZiFhYWR96FvmecHpqTVmyTQl4DtA9vbgNPDjZK8ALgJ2FNV/9FNee0yrCV1bZJAvx3YmWQH8ACwD3jNYIMkFwG3AK+rqi90XqUkzaDzvfplbKBX1dkk1wG30Vu2eLiqjie5tn/8IPDbwNOB9yYBOFtVC+tX9nSbliVM02a9XpXM+vJRHy/qykTr0KvqGHBsaN/BgdtvAt7UbWmSpNXwTFFJaoSXz9WazfpUR5ecNtE0MNDXmatZ1BWfQDWOUy6S1AgDfQ7N+9l0UqsMdKlRPnHPn6YD/Xw+oP3jkbTRmg50SZonrnKRpAlN8ip8I1+pO0KXpEYY6AOcB58d6/278rEw3fz9jDbzUy6TnqHnSRkaZ5LHiI8jTbOZD3RJs+18DMqm4Yn4fFwewkCXOuZ1XdZuLT+7aQjraeEcur7JecnZ9Fh+by3/zrvq2yz9jByha65N8+hupdHqcnWvdr9Gm9WfV3Mj9Fl6NpWkLjlCl+bMNIw+p2XQNQ0/iy41N0LX6viKRmqHgS5JjZjLQB8clTpCldSKuQx0SfOr5UGcb4pKG6DVQJllLbxBaqBLU2Ragn4w3MatbR91TBvDQJfWkaGn88lAl7RupuUVx7ww0CUB3VzNcK1ff77us3UGuqSJreaa8Tr/XLYoSY0w0CWpEU65SOeJUxFab47QJakRBrokNcJAl6RGGOiS1IiJAj3J7iQnkpxMcmDE8SR5d//4nUle0n2pkqSVjA30JJuAG4E9wC7g6iS7hprtAXb2P/YD7+u4TknSGJOM0C8FTlbVvVX1CHAE2DvUZi/wger5FHBhkmd3XKskaQWpqpUbJK8GdlfVm/rbrwNeXlXXDbT5GHBDVf19f/sTwPVVtTh0X/v
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAPTklEQVR4nO3dbYylZ13H8e/PXYpSlPKwENhd3TVZKPWBp7FURa0istsaVxNebJEHG8imhioaE7uEqDG+qUENEAqbTV0LatgX0MBKV6rBB2IMuFOF0m1ZGFvsDlvtVBQVEsvC3xfnbDmezsy5Z/bMzjnX+X6SyZz7uq8553/NnPOba677vs+kqpAkTb9v2ewCJEnjYaBLUiMMdElqhIEuSY0w0CWpEQa6JDViZKAnOZrk4ST3rLA/Sd6ZZCHJ3UlePP4yJUmjdJmh3wbsXWX/PmBP/+Mg8J4LL0uStFYjA72qPg58aZUu+4H3Vc8ngMuSPHtcBUqSutk6hvvYDpwZ2F7stz003DHJQXqzeC699NKXXH755WN4eGm6feaLX37s9vdtf8omVqJpcNdddz1SVduW2zeOQM8ybcu+n0BVHQGOAMzNzdX8/PwYHl6abrsO3fHY7fmbr93ESjQNkvzLSvvGcZbLIrBzYHsHcHYM9ytJWoNxBPpx4HX9s12uAr5cVY9bbpEkbayRSy5J3g9cDTwjySLwW8ATAKrqMHACuAZYAL4KXL9RxUqSVjYy0KvquhH7C3jT2CqSJK2LV4pKUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmN6BToSfYmOZ1kIcmhZfY/JcmfJfl0klNJrh9/qZKk1YwM9CRbgFuAfcAVwHVJrhjq9ibg3qp6AXA18PtJLhlzrZKkVXSZoV8JLFTV/VX1KHAM2D/Up4BvTxLgycCXgHNjrVSStKougb4dODOwvdhvG/Qu4PnAWeAzwJur6hvDd5TkYJL5JPNLS0vrLHlz7Tp0B7sO3bHZZUjS43QJ9CzTVkPbrwQ+BTwHeCHwriTf8bgvqjpSVXNVNbdt27Y1lipJWk2XQF8Edg5s76A3Ex90PXB79SwADwCXj6dESVIXXQL9JLAnye7+gc4DwPGhPg8CLwdI8izgecD94yxUkrS6raM6VNW5JDcCdwJbgKNVdSrJDf39h4HfAW5L8hl6SzQ3VdUjG1i3JGnIyEAHqKoTwImhtsMDt88CPzXe0iRJa+GVopLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIa0SnQk+xNcjrJQpJDK/S5OsmnkpxK8rfjLVOSNMrWUR2SbAFuAV4BLAInkxyvqnsH+lwGvBvYW1UPJnnmBtUrSVpBlxn6lcBCVd1fVY8Cx4D9Q31eDdxeVQ8CVNXD4y1TkjRKl0DfDpwZ2F7stw16LvDUJH+T5K4kr1vujpIcTDKfZH5paWl9FUuSltUl0LNMWw1tbwVeAlwLvBL4jSTPfdwXVR2pqrmqmtu2bduai5UkrWzkGjq9GfnOge0dwNll+jxSVV8BvpLk48ALgM+NpUpJ0khdZugngT1Jdie5BDgAHB/q82HgR5JsTfIk4KXAfeMtVZK0mpEz9Ko6l+RG4E5gC3C0qk4luaG//3BV3Zfko8DdwDeAW6vqno0sXJpluw7dAcAXbr52kyvRJOmy5EJVnQBODLUdHtp+G/C28ZUmSVoLrxSVpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGdLpSVNJ4nb90XxonZ+iS1AgDXZIaYaBr5uw6dIdLHmqSgS5JjTDQO3BGJ2kaGOiS1AgDXVon/3LTpDHQpREMbk0LA12SGmGgS1IjDHRJM6u15TQDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXC/1gkTajB0+m+cPO1m1iJpoWBLo2B4atJ4JKLJDXCQJekRhjo0jJauyRcs8FAl6RGGOiS1AgDXZIa0SnQk+xNcjrJQpJDq/T7gSRfT/Kq8ZUoSepiZKAn2QLcAuwDrgCuS3LFCv1+F7hz3EVKkkbrMkO/Elioqvur6lHgGLB/mX6/BHwQeHiM9UmSOuoS6NuBMwPbi/22xyTZDvwccHi1O0pyMMl8kvmlpaW11iptKE9V1LTrEuhZpq2Gtt8O3FRVX1/tjqrqSFXNVdXctm3bOpYoSeqiy3u5LAI7B7Z3AGeH+swBx5IAPAO4Jsm5qvrQOIqUJI3WJdBPAnuS7Aa+CBwAXj3Yoap2n7+d5DbgI4a5JF1cIwO9qs4luZHe2StbgKNVdSrJDf39q66bS5Iujk5vn1tVJ4ATQ23LBnlV/cKFlyVJWiuvFJWkRhjoDfB0u/Xze6eWGOiS1AgDXZIa4f8U1Ybyf22ujcs/uhDO0BvjmrA0uwx0SWqEgS5JjTDQpSnhcppGMdAlqREGuiQ1wkCXpEYY6JLUCANdkhrhlaLSmHl1rDaLM3Rpynk6o84z0NUsg06zxkCXpEYY6JLUCANdkmhjic5A10xo4cUqjWKgS1IjDHRpDZzpTx5/Jt/khUWSmnc+8DfqQq9JuZjMQNemmJQXgNqy0cE96Qx06SK5GMsCsx5os841dElqhIEuSY1wyUWbzvV0tepiP7cNdE0Uw11aP5dcpEZ5fvbscYYubSADVReTM3RJaoQzdElah0n866tToCfZC7wD2ALcWlU3D+3/eeCm/ub/AL9YVZ8eZ6GafpP4ApBaMjLQk2wBbgFeASwCJ5Mcr6p7B7o9APxYVf1Hkn3AEeClG1EweCbEZvJKRE27Ls/haX2ed5mhXwksVNX9AEmOAfuBxwK9qv5+oP8ngB3jLFLTZTNn4tP6QpTGoctB0e3AmYHtxX7bSt4A/PlyO5IcTDKfZH5paal7lZKkkbrM0LNMWy3bMflxeoH+suX2V9URessxzM3NLXsf0nldl9aclW+sSfn+Tkodk6xLoC8COwe2dwBnhzsl+X7gVmBfVf37eMqTJHXVZcnlJLAnye4klwAHgOODHZJ8J3A78Nqq+tz4y5xMXokntW+aXucjZ+hVdS7JjcCd9E5bPFpVp5Lc0N9/GPhN4OnAu5MAnKuquY0rW5I0rNN56FV1Ajgx1HZ44PYbgTeOt7Tp5WmVUnetvV42czbvlaJa1loPQHnASlrdxfjF5Xu5zKBpWhPUePgznw3O0CVtmNaWUyadgb6CSV5C8EUiaTkG+kVkEGvSbNbExeWfjeEauiQ1whm6JHU06X9ZGOiSLopJD8MWzOSSi6dwfZPfC6kdMz9Dn+SzWSbFJHyPhg8oT0JNLfP7O51mPtA3mrNfTZoWwrrl/zp0IQx0rdssvmC0sTy198LMzBq6a8WSWjczgS5JrWs60J2VS5olrqFPCX8xaVr4XN08Tc/QZ51/oWgtfL5MP2foY+IZH9J4ecbL2jUX6NMSrCvNhCbh4p1J/95JWt7UB/o4f4sbaNL6uFQzGVxDl6RGGOiSOvPA6WQz0CWpEVO/ht4aj+xLWi8DfUZ4wFfj5tLL5HHJRZIaYaBLUiMMdElqhGvoE8w1Sklr4QxdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNaJToCfZm+R0koUkh5bZnyTv7O+/O8mLx1+qJGk1IwM9yRbgFmAfcAVwXZIrhrrtA/b0Pw4C7xlznZKkEbrM0K8EFqrq/qp6FDgG7B/qsx94X/V8ArgsybPHXKskaRWpqtU7JK8C9lbVG/vbrwV
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
2020-10-28 18:12:19 +01:00
"for audio_dir in audio_dirs:\n",
" with AudioFile(audio_dir.audio_file, start=0, duration=4) as reader:\n",
2020-10-27 15:21:32 +01:00
" for sample in reader:\n",
" sample.plot_spectrum(low_freq=cutoff_frequencies[0],\n",
" high_freq=cutoff_frequencies[1])"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"Save the spectrum information and labels of the samples to a\n",
"different compressed file for each audio file."
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
2020-10-28 18:12:19 +01:00
"execution_count": 5,
2020-10-27 15:21:32 +01:00
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2020-10-28 18:12:19 +01:00
"Processing audio sample /home/blacklight/datasets/baby-monitor/audio/2020-10-25_16-36-00\n",
"Processing audio sample /home/blacklight/datasets/baby-monitor/audio/2020-10-24_19-53-00\n",
"Processing audio sample /home/blacklight/datasets/baby-monitor/audio/2020-10-24_17-25-00\n"
2020-10-27 15:21:32 +01:00
]
}
],
"source": [
2020-10-28 18:12:19 +01:00
"for audio_dir in audio_dirs:\n",
" dataset_file = os.path.join(datasets_dir, os.path.basename(audio_dir.path) + '.npz')\n",
" print(f'Processing audio sample {audio_dir.path}')\n",
2020-10-27 15:21:32 +01:00
"\n",
2020-10-28 18:12:19 +01:00
" with AudioFile(audio_dir.audio_file, audio_dir.labels_file) as reader, \\\n",
2020-10-27 15:21:32 +01:00
" DatasetWriter(dataset_file,\n",
" low_freq=cutoff_frequencies[0],\n",
" high_freq=cutoff_frequencies[1]) as writer:\n",
" for sample in reader:\n",
" writer += sample"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"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
}