annotate notebooks/test_music_segments.ipynb @ 105:edd82eb89b4b branch-tests tip

Merge
author Maria Panteli
date Sun, 15 Oct 2017 13:36:59 +0100
parents b0e194bfb71d
children
rev   line source
m@6 1 {
m@6 2 "cells": [
m@6 3 {
m@6 4 "cell_type": "code",
m@6 5 "execution_count": 1,
m@6 6 "metadata": {
m@6 7 "collapsed": true
m@6 8 },
m@6 9 "outputs": [],
m@6 10 "source": [
m@6 11 "import numpy as np\n",
m@6 12 "import pickle"
m@6 13 ]
m@6 14 },
m@6 15 {
m@6 16 "cell_type": "code",
m@6 17 "execution_count": 2,
m@6 18 "metadata": {
m@6 19 "collapsed": true
m@6 20 },
m@6 21 "outputs": [],
m@6 22 "source": [
m@7 23 "filenames = ['/import/c4dm-04/mariap/train_data_melodia_8.pickle',\n",
m@6 24 " '/import/c4dm-04/mariap/val_data_melodia_8.pickle', \n",
m@6 25 " '/import/c4dm-04/mariap/test_data_melodia_8.pickle']"
m@6 26 ]
m@6 27 },
m@6 28 {
m@6 29 "cell_type": "code",
m@63 30 "execution_count": 25,
m@63 31 "metadata": {
m@63 32 "collapsed": true
m@63 33 },
m@63 34 "outputs": [],
m@63 35 "source": [
m@63 36 "# verify on the 30-second segments\n",
m@63 37 "filenames = ['/import/c4dm-04/mariap/train_data_melodia_8_30sec.pickle',\n",
m@63 38 " '/import/c4dm-04/mariap/val_data_melodia_8_30sec.pickle', \n",
m@63 39 " '/import/c4dm-04/mariap/test_data_melodia_8_30sec.pickle']"
m@63 40 ]
m@63 41 },
m@63 42 {
m@63 43 "cell_type": "code",
m@63 44 "execution_count": 26,
Maria@40 45 "metadata": {
Maria@40 46 "collapsed": true
Maria@40 47 },
m@6 48 "outputs": [],
m@6 49 "source": [
m@6 50 "all_Yaudio = []\n",
m@7 51 "all_Y = []\n",
m@6 52 "for filename in filenames:\n",
m@7 53 " _, Y, Yaudio = pickle.load(open(filename, 'rb'))\n",
m@6 54 " all_Yaudio.append(Yaudio)\n",
m@7 55 " all_Y.append(Y)\n",
m@7 56 "all_Yaudio = np.concatenate(all_Yaudio)\n",
m@7 57 "all_Y = np.concatenate(all_Y)"
m@6 58 ]
m@6 59 },
m@6 60 {
m@6 61 "cell_type": "code",
m@63 62 "execution_count": 27,
Maria@40 63 "metadata": {
Maria@40 64 "collapsed": true
Maria@40 65 },
m@7 66 "outputs": [],
m@6 67 "source": [
m@6 68 "uniq_audio, uniq_counts = np.unique(all_Yaudio, return_counts=True)"
m@6 69 ]
m@6 70 },
m@6 71 {
m@6 72 "cell_type": "markdown",
m@6 73 "metadata": {},
m@6 74 "source": [
m@6 75 "## Stats on audio files with very few music frames (after the speech/music discrimination)"
m@6 76 ]
m@6 77 },
m@6 78 {
m@6 79 "cell_type": "code",
m@7 80 "execution_count": 8,
m@42 81 "metadata": {},
m@6 82 "outputs": [
m@6 83 {
m@7 84 "name": "stdout",
m@7 85 "output_type": "stream",
m@7 86 "text": [
m@7 87 "63 files out of 8200 have less than 10 frames\n"
m@6 88 ]
m@6 89 }
m@6 90 ],
m@6 91 "source": [
m@6 92 "min_n_frames = 10\n",
m@7 93 "short_files_idx = np.where(uniq_counts<min_n_frames)[0]\n",
m@7 94 "print '%d files out of %d have less than %d frames' % (len(short_files_idx), len(uniq_counts), min_n_frames)"
m@7 95 ]
m@7 96 },
m@7 97 {
m@7 98 "cell_type": "markdown",
m@7 99 "metadata": {},
m@7 100 "source": [
m@7 101 "Countries for tracks with less than 10 frames"
m@7 102 ]
m@7 103 },
m@7 104 {
m@7 105 "cell_type": "code",
m@7 106 "execution_count": 17,
m@42 107 "metadata": {},
m@7 108 "outputs": [
m@7 109 {
m@7 110 "name": "stdout",
m@7 111 "output_type": "stream",
m@7 112 "text": [
m@7 113 "{'Italy': 1, 'Peru': 1, 'Solomon Islands': 2, 'France': 2, 'Ethiopia': 1, 'Somalia': 1, 'Ireland': 1, 'Swaziland': 1, 'Argentina': 1, 'Norway': 1, 'Nigeria': 1, 'Algeria': 1, 'Germany': 1, 'Puerto Rico': 1, 'Dominican Republic': 1, 'Poland': 3, 'Spain': 2, 'Netherlands': 1, 'Uganda': 4, 'Western Sahara': 5, 'Gambia': 2, 'Philippines': 2, 'Trinidad and Tobago': 1, 'Latvia': 1, 'South Sudan': 3, 'Mali': 1, 'Russia': 1, 'Romania': 1, 'Portugal': 1, 'South Africa': 3, 'Egypt': 1, 'Sierra Leone': 1, 'United Kingdom': 4, 'Lesotho': 1, 'Senegal': 2, 'Colombia': 2, 'Japan': 2, 'Nicaragua': 1, 'Botswana': 1}\n"
m@7 114 ]
m@7 115 }
m@7 116 ],
m@7 117 "source": [
m@7 118 "countries = np.array([all_Y[np.where(all_Yaudio==uniq_audio[audio_idx])[0][0]][0] for audio_idx in short_files_idx])\n",
m@7 119 "unique, counts = np.unique(countries, return_counts=True)\n",
m@7 120 "print dict(zip(unique, counts))"
m@6 121 ]
m@6 122 },
m@6 123 {
m@6 124 "cell_type": "markdown",
m@6 125 "metadata": {},
m@6 126 "source": [
m@6 127 "## Stats on average duration of the music segments for all tracks"
m@6 128 ]
m@6 129 },
m@6 130 {
m@6 131 "cell_type": "code",
m@7 132 "execution_count": 18,
m@42 133 "metadata": {},
m@6 134 "outputs": [
m@6 135 {
m@7 136 "name": "stdout",
m@7 137 "output_type": "stream",
m@7 138 "text": [
m@7 139 "mean 65.750000\n",
m@7 140 "median 44.000000\n",
m@7 141 "std 45.947865\n",
m@7 142 "mean duration 32.875000\n"
m@6 143 ]
m@6 144 }
m@6 145 ],
m@6 146 "source": [
m@6 147 "sr = 2.0 # with 8-second window and 0.5-second hop size the sampling rate is 2 about 2 samples per second\n",
m@6 148 "print 'mean %f' % np.mean(uniq_counts)\n",
m@6 149 "print 'median %f' % np.median(uniq_counts)\n",
m@6 150 "print 'std %f' % np.std(uniq_counts)\n",
m@6 151 "print 'mean duration %f' % (np.mean(uniq_counts) / sr)"
m@6 152 ]
m@6 153 },
m@6 154 {
m@6 155 "cell_type": "markdown",
m@6 156 "metadata": {},
m@6 157 "source": [
m@7 158 "## Stats on average duration of the music segments for the Smithsonian tracks"
m@7 159 ]
m@7 160 },
m@7 161 {
m@7 162 "cell_type": "code",
m@63 163 "execution_count": 28,
m@42 164 "metadata": {},
m@7 165 "outputs": [
m@7 166 {
m@7 167 "name": "stdout",
m@7 168 "output_type": "stream",
m@7 169 "text": [
m@7 170 "n tracks: 6132\n",
m@7 171 "mean 42.618885\n",
m@7 172 "median 44.000000\n",
m@7 173 "std 4.804534\n",
m@7 174 "mean duration 21.309442\n"
m@7 175 ]
m@7 176 }
m@7 177 ],
m@7 178 "source": [
m@7 179 "#British library tracks start with 'D:/Audio/...'\n",
m@7 180 "idx_SM_tracks = np.array([i for i in range(len(uniq_audio)) if len(uniq_audio[i].split('D:/'))==1])\n",
m@7 181 "sr = 2.0 # with 8-second window and 0.5-second hop size the sampling rate is 2 about 2 samples per second\n",
m@7 182 "print 'n tracks: %d' % len(idx_SM_tracks)\n",
m@7 183 "print 'mean %f' % np.mean(uniq_counts[idx_SM_tracks])\n",
m@7 184 "print 'median %f' % np.median(uniq_counts[idx_SM_tracks])\n",
m@7 185 "print 'std %f' % np.std(uniq_counts[idx_SM_tracks])\n",
m@7 186 "print 'mean duration %f' % (np.mean(uniq_counts[idx_SM_tracks]) / sr)"
m@7 187 ]
m@7 188 },
m@7 189 {
m@7 190 "cell_type": "markdown",
m@7 191 "metadata": {},
m@7 192 "source": [
m@6 193 "## Stats on average duration of the music segments for the British Library tracks"
m@6 194 ]
m@6 195 },
m@6 196 {
m@6 197 "cell_type": "code",
m@63 198 "execution_count": 29,
m@42 199 "metadata": {},
m@6 200 "outputs": [
m@6 201 {
m@7 202 "name": "stdout",
m@7 203 "output_type": "stream",
m@7 204 "text": [
m@7 205 "n tracks: 2068\n",
m@63 206 "mean 42.459381\n",
m@63 207 "median 44.000000\n",
m@63 208 "std 6.567739\n",
m@63 209 "mean duration 21.229691\n"
m@6 210 ]
m@6 211 }
m@6 212 ],
m@6 213 "source": [
m@6 214 "#British library tracks start with 'D:/Audio/...'\n",
m@6 215 "idx_BL_tracks = np.array([i for i in range(len(uniq_audio)) if len(uniq_audio[i].split('D:/'))>1])\n",
m@6 216 "sr = 2.0 # with 8-second window and 0.5-second hop size the sampling rate is 2 about 2 samples per second\n",
m@7 217 "print 'n tracks: %d' % len(idx_BL_tracks)\n",
m@6 218 "print 'mean %f' % np.mean(uniq_counts[idx_BL_tracks])\n",
m@6 219 "print 'median %f' % np.median(uniq_counts[idx_BL_tracks])\n",
m@6 220 "print 'std %f' % np.std(uniq_counts[idx_BL_tracks])\n",
m@6 221 "print 'mean duration %f' % (np.mean(uniq_counts[idx_BL_tracks]) / sr)"
m@6 222 ]
m@6 223 },
m@6 224 {
m@6 225 "cell_type": "code",
m@63 226 "execution_count": 12,
m@63 227 "metadata": {},
m@63 228 "outputs": [
m@63 229 {
m@63 230 "data": {
m@63 231 "text/plain": [
m@63 232 "8089"
m@63 233 ]
m@63 234 },
m@63 235 "execution_count": 12,
m@63 236 "metadata": {},
m@63 237 "output_type": "execute_result"
m@63 238 }
m@63 239 ],
m@63 240 "source": [
m@63 241 "6147+1942"
m@63 242 ]
m@63 243 },
m@63 244 {
m@63 245 "cell_type": "code",
m@63 246 "execution_count": 18,
m@63 247 "metadata": {},
m@63 248 "outputs": [
m@63 249 {
m@63 250 "data": {
m@63 251 "text/plain": [
m@63 252 "8099"
m@63 253 ]
m@63 254 },
m@63 255 "execution_count": 18,
m@63 256 "metadata": {},
m@63 257 "output_type": "execute_result"
m@63 258 }
m@63 259 ],
m@63 260 "source": [
m@63 261 "6119+1980"
m@63 262 ]
m@63 263 },
m@63 264 {
m@63 265 "cell_type": "code",
m@63 266 "execution_count": 24,
m@63 267 "metadata": {},
m@63 268 "outputs": [
m@63 269 {
m@63 270 "data": {
m@63 271 "text/plain": [
m@63 272 "8200"
m@63 273 ]
m@63 274 },
m@63 275 "execution_count": 24,
m@63 276 "metadata": {},
m@63 277 "output_type": "execute_result"
m@63 278 }
m@63 279 ],
m@63 280 "source": [
m@63 281 "6132+2068"
m@63 282 ]
m@63 283 },
m@63 284 {
m@63 285 "cell_type": "code",
m@6 286 "execution_count": null,
m@6 287 "metadata": {
m@6 288 "collapsed": true
m@6 289 },
m@6 290 "outputs": [],
m@6 291 "source": []
m@6 292 }
m@6 293 ],
m@6 294 "metadata": {
m@6 295 "kernelspec": {
m@6 296 "display_name": "Python 2",
m@6 297 "language": "python",
m@6 298 "name": "python2"
m@6 299 },
m@6 300 "language_info": {
m@6 301 "codemirror_mode": {
m@6 302 "name": "ipython",
m@6 303 "version": 2
m@6 304 },
m@6 305 "file_extension": ".py",
m@6 306 "mimetype": "text/x-python",
m@6 307 "name": "python",
m@6 308 "nbconvert_exporter": "python",
m@6 309 "pygments_lexer": "ipython2",
m@42 310 "version": "2.7.12"
m@6 311 }
m@6 312 },
m@6 313 "nbformat": 4,
m@7 314 "nbformat_minor": 1
m@6 315 }