{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "QcYpZuL1IDOf" }, "source": [ " ![alt text](https://www.mbari.org/wp-content/uploads/2014/11/logo-mbari-3b.png \"MBARI\")\n", "\n", "
Copyright (c) 2022, MBARI
\n", "\n", " * Distributed under the terms of the GPL License\n", " * Maintainer: John Ryan ryjo@mbari.org\n", " * Authors: John Ryan ryjo@mbari.org, Carlos Rueda carueda@mbari.org, Danelle Cline dcline@mbari.org" ] }, { "cell_type": "markdown", "metadata": { "id": "t0oCDmSBIDOh" }, "source": [ "## Listening to *Pacific Ocean Sound* recordings\n", "\n", "Ocean sound recordings have tremendous potential for use by sound artists, naturalists, and educators whose primary goal is to listen rather than analyze. This notebook illustrates how to extract a period of recording from the *Pacific Ocean Sound* archive and process it for listening. After processing, you can listen right in this notebook, and you can download the processed file for use elsewhere." ] }, { "cell_type": "markdown", "metadata": { "id": "9znbmoy9IDOh" }, "source": [ "## Selecting a time to listen\n", "\n", "Approaching 7 years of continuous recording, this growing audio archive offers an unfathomable depth of potential listening. How can you survey this sea of sound for a period that may be of interest for listening?\n", "\n", "One resource is knowledge of the behavioral ecology of species that you want to hear. For example, the songs of baleen whales (especially humpback, blue and fin whales) can be heard largely during fall where we are recording (off central California). So, listening during any time between about August and November, you are likely to encounter their songs.\n", "\n", "A more focused way to search is to use our [visual browsing interface](https://www.mbari.org/at-sea/cabled-observatory/mars-science-experiments/mars-hydrophone-data/) (see *Browsing the spectrograms*). Here, the soundscape comes to life visually, and the visual signatures of different species can be viewed hour by hour for any period of recording since the start of recording in July 2015. Once you become familiar with how the sounds of different species appear visually in a spectrogram, you can easily select a time when an interesting sound pattern is visually evident in the soundscape, and you can use the methods presented here to listen. The only information you need from the visual browsing interface is the date and time range of interest." ] }, { "cell_type": "markdown", "metadata": { "id": "7XyiIPRQIDOh" }, "source": [ "## Example sounds\n", "\n", "Below we'll list times when you can extract and listen to the sounds of different species. The vocalizations of some species are abundant, however hearing them requires a subwoofer speaker or good headphones because the sound has such a low pitch. So, for these examples we'll focus on vocalizations of species that can be easily heard through ordinary computer speakers: *humpback whales, orcas, and dolphins*.\n", "\n", "The original recordings have a sample rate of 256 kHz, while the upper limit of human hearing is about 20 kHz. So the original recordings are a bit much for just listening. For demonstration purposes here, we'll tap into a version of the audio data that covers part of our hearing range: 16 kHz data (representing sounds up to 8 kHz). A companion notebook will illustrate how to listen to higher frequency sounds, including slowing down playback of sounds that are above the range of human hearing so that they can be heard." ] }, { "cell_type": "markdown", "metadata": { "id": "qsbTqpQhIDOi" }, "source": [ "## Install required dependencies\n", "\n", "First, let's install the required software dependencies. \n", "\n", "If you are using this notebook in a cloud environment, select a Python3 compatible kernel and run this next section. This only needs to be done once for the duration of this notebook.\n", "\n", "If you are working on local computer, you can skip this next cell. Change your kernel to *pacific-sound-notebooks*, which you installed according to the instructions in the [README](https://github.com/mbari-org/pacific-sound-notebooks/) - this has all the dependencies that are needed. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "N1gUVchoIDOi", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "fd768357-f4f1-4105-e077-8ec4d01e87a7" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease\n", "Hit:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease\n", "Hit:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease\n", "Hit:4 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ InRelease\n", "Hit:5 http://security.ubuntu.com/ubuntu focal-security InRelease\n", "Hit:6 http://ppa.launchpad.net/c2d4u.team/c2d4u4.0+/ubuntu focal InRelease\n", "Ign:7 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64 InRelease\n", "Hit:8 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64 InRelease\n", "Hit:9 https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu2004/x86_64 Release\n", "Hit:10 http://ppa.launchpad.net/cran/libgit2/ubuntu focal InRelease\n", "Hit:11 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu focal InRelease\n", "Hit:12 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu focal InRelease\n", "Reading package lists... Done\n", "Reading package lists... Done\n", "Building dependency tree \n", "Reading state information... Done\n", "libsndfile1 is already the newest version (1.0.28-7ubuntu0.1).\n", "The following package was automatically installed and is no longer required:\n", " libnvidia-common-510\n", "Use 'apt autoremove' to remove it.\n", "0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.\n" ] } ], "source": [ "!apt-get update -y && apt-get install -y libsndfile1\n", "!apt-get install libsox-fmt-all libsox-dev sox > /dev/null\n", "!pip install sox --quiet\n", "!pip install panel --quiet\n", "!pip install soundfile --quiet\n", "!pip install holoviews --quiet" ] }, { "cell_type": "markdown", "metadata": { "id": "fYqLcLtQIDOj" }, "source": [ "### Import all packages" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "BGG6BywcIDOj", "colab": { "base_uri": "https://localhost:8080/", "height": 37 }, "outputId": "3f0d6622-3f88-48e9-b7e0-55327548aa12" }, "outputs": [ { "output_type": "display_data", "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, js_modules, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", " if (js_modules == null) js_modules = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls.length === 0 && js_modules.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " var skip = [];\n", " if (window.requirejs) {\n", " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", " \n", " }\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " for (var i = 0; i < js_modules.length; i++) {\n", " var url = js_modules[i];\n", " if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " element.type = \"module\";\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " if (!js_urls.length && !js_modules.length) {\n", " on_load()\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.3.min.js\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/panel.min.js\"];\n", " var js_modules = [];\n", " var css_urls = [\"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/json.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/alerts.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/dataframe.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/card.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/widgets.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/markdown.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/loading.css\"];\n", " var inline_js = [\n", " function(Bokeh) {\n", " inject_raw_css(\"\\n .bk.pn-loading.arcs:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiBub25lOyBkaXNwbGF5OiBibG9jazsgc2hhcGUtcmVuZGVyaW5nOiBhdXRvOyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4gIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMyIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZT0iI2MzYzNjMyIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+ICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCI+PC9hbmltYXRlVHJhbnNmb3JtPiAgPC9jaXJjbGU+PC9zdmc+\\\")\\n }\\n \");\n", " },\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {} // ensure no trailing comma for IE\n", " ];\n", "\n", " function run_inline_js() {\n", " if ((root.Bokeh !== undefined) || (force === true)) {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " }\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, js_modules, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.holoviews_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n \n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) >= 0) { on_load(); continue; }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) >= 0) { on_load(); continue; }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.3.min.js\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/panel.min.js\"];\n var js_modules = [];\n var css_urls = [\"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/json.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/alerts.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/dataframe.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/card.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/widgets.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/markdown.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/loading.css\"];\n var inline_js = [\n function(Bokeh) {\n inject_raw_css(\"\\n .bk.pn-loading.arcs:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiBub25lOyBkaXNwbGF5OiBibG9jazsgc2hhcGUtcmVuZGVyaW5nOiBhdXRvOyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4gIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMyIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZT0iI2MzYzNjMyIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+ICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCI+PC9hbmltYXRlVHJhbnNmb3JtPiAgPC9jaXJjbGU+PC9zdmc+\\\")\\n }\\n \");\n },\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, js_modules, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {} }, { "output_type": "display_data", "data": { "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n", "application/javascript": [ "\n", "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", "}\n", "\n", "\n", " function JupyterCommManager() {\n", " }\n", "\n", " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " comm_manager.register_target(comm_id, function(comm) {\n", " comm.on_msg(msg_handler);\n", " });\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", " comm.onMsg = msg_handler;\n", " });\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " console.log(message)\n", " var content = {data: message.data, comm_id};\n", " var buffers = []\n", " for (var buffer of message.buffers || []) {\n", " buffers.push(new DataView(buffer))\n", " }\n", " var metadata = message.metadata || {};\n", " var msg = {content, buffers, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " })\n", " }\n", " }\n", "\n", " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", " if (comm_id in window.PyViz.comms) {\n", " return window.PyViz.comms[comm_id];\n", " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", " if (msg_handler) {\n", " comm.on_msg(msg_handler);\n", " }\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", " comm.open();\n", " if (msg_handler) {\n", " comm.onMsg = msg_handler;\n", " }\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", " comm_promise.then((comm) => {\n", " window.PyViz.comms[comm_id] = comm;\n", " if (msg_handler) {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " var content = {data: message.data};\n", " var metadata = message.metadata || {comm_id};\n", " var msg = {content, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " }\n", " }) \n", " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", " return comm_promise.then((comm) => {\n", " comm.send(data, metadata, buffers, disposeOnDone);\n", " });\n", " };\n", " var comm = {\n", " send: sendClosure\n", " };\n", " }\n", " window.PyViz.comms[comm_id] = comm;\n", " return comm;\n", " }\n", " window.PyViz.comm_manager = new JupyterCommManager();\n", " \n", "\n", "\n", "var JS_MIME_TYPE = 'application/javascript';\n", "var HTML_MIME_TYPE = 'text/html';\n", "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", "var CLASS_NAME = 'output';\n", "\n", "/**\n", " * Render data to the DOM node\n", " */\n", "function render(props, node) {\n", " var div = document.createElement(\"div\");\n", " var script = document.createElement(\"script\");\n", " node.appendChild(div);\n", " node.appendChild(script);\n", "}\n", "\n", "/**\n", " * Handle when a new output is added\n", " */\n", "function handle_add_output(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", " if (id !== undefined) {\n", " var nchildren = toinsert.length;\n", " var html_node = toinsert[nchildren-1].children[0];\n", " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", " var scripts = [];\n", " var nodelist = html_node.querySelectorAll(\"script\");\n", " for (var i in nodelist) {\n", " if (nodelist.hasOwnProperty(i)) {\n", " scripts.push(nodelist[i])\n", " }\n", " }\n", "\n", " scripts.forEach( function (oldScript) {\n", " var newScript = document.createElement(\"script\");\n", " var attrs = [];\n", " var nodemap = oldScript.attributes;\n", " for (var j in nodemap) {\n", " if (nodemap.hasOwnProperty(j)) {\n", " attrs.push(nodemap[j])\n", " }\n", " }\n", " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", " oldScript.parentNode.replaceChild(newScript, oldScript);\n", " });\n", " if (JS_MIME_TYPE in output.data) {\n", " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", " }\n", " output_area._hv_plot_id = id;\n", " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", " window.PyViz.plot_index[id] = Bokeh.index[id];\n", " } else {\n", " window.PyViz.plot_index[id] = null;\n", " }\n", " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", "}\n", "\n", "/**\n", " * Handle when an output is cleared or removed\n", " */\n", "function handle_clear_output(event, handle) {\n", " var id = handle.cell.output_area._hv_plot_id;\n", " var server_id = handle.cell.output_area._bokeh_server_id;\n", " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", " if (server_id !== null) {\n", " comm.send({event_type: 'server_delete', 'id': server_id});\n", " return;\n", " } else if (comm !== null) {\n", " comm.send({event_type: 'delete', 'id': id});\n", " }\n", " delete PyViz.plot_index[id];\n", " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", " var doc = window.Bokeh.index[id].model.document\n", " doc.clear();\n", " const i = window.Bokeh.documents.indexOf(doc);\n", " if (i > -1) {\n", " window.Bokeh.documents.splice(i, 1);\n", " }\n", " }\n", "}\n", "\n", "/**\n", " * Handle kernel restart event\n", " */\n", "function handle_kernel_cleanup(event, handle) {\n", " delete PyViz.comms[\"hv-extension-comm\"];\n", " window.PyViz.plot_index = {}\n", "}\n", "\n", "/**\n", " * Handle update_display_data messages\n", " */\n", "function handle_update_output(event, handle) {\n", " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", " handle_add_output(event, handle)\n", "}\n", "\n", "function register_renderer(events, OutputArea) {\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[0]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " events.on('output_added.OutputArea', handle_add_output);\n", " events.on('output_updated.OutputArea', handle_update_output);\n", " events.on('clear_output.CodeCell', handle_clear_output);\n", " events.on('delete.Cell', handle_clear_output);\n", " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", "\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " safe: true,\n", " index: 0\n", " });\n", "}\n", "\n", "if (window.Jupyter !== undefined) {\n", " try {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " } catch(err) {\n", " }\n", "}\n" ] }, "metadata": {} } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy\n", "import sox\n", "from six.moves.urllib.request import urlopen\n", "import io\n", "import soundfile as sf\n", "# Add widget for playback and spectrogram with playhead:\n", "from scipy.signal import spectrogram\n", "import panel as pn\n", "pn.extension()\n", "import holoviews as hv\n", "hv.extension(\"bokeh\", logo=False)" ] }, { "cell_type": "markdown", "metadata": { "id": "NmIGhKiIIDOj" }, "source": [ "# Extract a recording from the archive\n", "\n", "Now, let's pull examples from the data archive. The code below allows you to specify one of a few species (change the name inside the quotes for the line at the top beginning with *animal =* . For each example the start time and duration of a recording segment are already defined.\n", "\n", "***This step will require about 150 seconds to complete.*** (The slowness is due to reading an entire daily file before subsetting; this may be sped up in future versions.)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "id": "j0P-feqTIDOj", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "9325cc9c-2323-4f45-f183-11a2303caa60" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Extracting recording of orcas: 55 seconds starting 2018/04/13 08:42:35\n", "Loading audio data from http://pacific-sound-16khz.s3.amazonaws.com/2018/04/MARS-20180413T000000Z-16kHz.wav\n", "File audio sample rate = 16000 Hz\n", "Loaded 55.0 seconds\n" ] } ], "source": [ "# For testing this processing, you can specify from a number of examples:\n", "# humpback whale, orcas, dolphins\n", "animal = \"orcas\" # modify the selection inside the quotes\n", "\n", "if animal == \"humpback whale\":\n", " # year, month, day, starthour, startminute, startsecond = 2017, 11, 7, 23, 24, 23\n", " year, month, day, starthour, startminute, startsecond = 2015, 12, 7, 6, 58, 15\n", "elif animal == \"orcas\":\n", " year, month, day, starthour, startminute, startsecond = 2018, 4, 13, 8, 42, 35\n", "elif animal == \"dolphins\":\n", " year, month, day, starthour, startminute, startsecond = 2015, 7, 31, 23, 12, 11\n", "\n", "readseconds = 55 # for all examples; you can modify for longer segments\n", "\n", "print(f'Extracting recording of {animal}: {readseconds} seconds starting {year}/{month:0>2}/{day:0>2} {starthour:0>2}:{startminute:0>2}:{startsecond:0>2}')\n", "filename = f'MARS-{year}{month:0>2}{day:0>2}T000000Z-16kHz.wav'\n", "url = f'http://pacific-sound-16khz.s3.amazonaws.com/{year}/{month:0>2}/{filename}'\n", "print(f'Loading audio data from {url}')\n", "\n", "# Might load data from archives having different sample rates, so read that first.\n", "_, sample_rate = sf.read(io.BytesIO(urlopen(url).read(1000)), dtype='float32')\n", "print(f'File audio sample rate = {sample_rate} Hz')\n", "\n", "startsampl = starthour*60*60*sample_rate + startminute*60*sample_rate + startsecond*sample_rate;\n", "endsampl = startsampl + readseconds*sample_rate\n", "\n", "psound_segment, _ = sf.read(io.BytesIO(urlopen(url).read()), start=startsampl, stop=endsampl, dtype='float32')\n", "nsec = psound_segment.size/sample_rate\n", "print(f'Loaded {nsec} seconds')\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "B83FKH_EIDOj" }, "source": [ "# Plot the raw audio data" ] }, { "cell_type": "markdown", "metadata": { "id": "nnp70jFsIDOk" }, "source": [ "Let's see why we need to modify the raw audio data for listening." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "4oLqSnMcIDOk", "colab": { "base_uri": "https://localhost:8080/", "height": 660 }, "outputId": "c75a354d-4627-43c4-ff3e-191576d8f300" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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rTblYADnSSk/dpHs/BC2UYxLAaQBqIJtWna9cv93APcAuFVKWezqZyIi9wYvT3b5/PD1agOWiYiIiIiIiA7SawRjHWyj0vraPVZtd/tch/vAwaTj8QhRUsomAEOUiy+v97iDtpRyP7qPkvRlm6tgG3np7evqYBv1qDby0Zv1JIBNW4h0s6eozuXzRbXNLp8nIiIiIiIi0msEY7pyfU7HA1LKBthGuQHqU2rvVK4PBDAuIiJyoby+1egQiIiIiIiIKMjplWDs6Bh9rcPjKwAIAB8JIW7teFAI8SSA92Cr0xitS4RERBGqvtWk+nib2YK8ao5gJCIiIiIiItf0SjCugi2R+KgQoqfd40Nhq0t4OIANQohKIUQDgD9hm05tVZYhIqIAeXhsNKxW2e3xxUksc0pERERERETu6ZVg3ALgGwDTAJzW8aCUsgDAE7DVaBQAjoOtIYyArTnIv6SUsTrFSEQUkXIqm7A+tbzb42llDQZEQ0RERERERKFGlyYvUkoJW4JR7bnVQoi/AngcwEVKTJkA5rFLMBGRPtJKG3D3RScbHQYRERERERGFIL26SLskpawGMNHoOIiICJBSIiG/FtN35BkdChEREREREYWAoEgwEhFRcDBZrHhl+k5sz6wyOhQiIiIiIiIKEXrVYCQioiAmhO161b5SJheJiIiIiIjIK7okGIUQ/xBCWIQQLUKI0zxY/jQhRKsQwiyEuEKPGImIIpmSX8R7c3YbGgcRERERERGFHr1GMD4N2/HrCk8atyjLLIctvmcDHBsRERERERERERH5SK8E4w0AJIDVXrxmpXJ9k/bhEBGRvY4p0kRERERERETe0ivBeK5yneLFa9KU679oHAsRETnIr27GExN2GB0GERERERERhSC9ukj3Va5bvXhNm3J9mMaxEBGRg/mJRUaHQERERERERCFKrxGMNcr1mV685nTl+oDGsRAREREREREREZFG9EowdkyNftCL1zysXKdrHAsRERERERERERFpRK8E4yrYuki/IIS40d3CQoibADwPW2OYFQGOjYiIiIiIiIiIiHykV4JxIoAqAD0BrBJCvCOE6Ou4kBCirxDi37B1kO4FoBbAeJ1iJCIiIiIiIiIiIi/p0uRFStkohHgWtpGM/QCMBPCDECIRQKmy2CkArlSeFwDMAJ6RUtbrESMRERERERERERF5T68u0pBS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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "# create a time reference for the raw audio segment\n", "segment_seconds = numpy.linspace(0,nsec,len(psound_segment))\n", "\n", "plt.figure(dpi=200, figsize = [7,3])\n", "plt.plot(segment_seconds,psound_segment)\n", "plt.xlabel('Seconds')\n", "plt.ylabel('Signal (raw, scaled voltage)')\n", "plt.title('Waveform of original audio data')\n", "plt.autoscale(enable=True, axis='x', tight=True)" ] }, { "cell_type": "markdown", "metadata": { "id": "v59HHDkSIDOk" }, "source": [ "# Modify for listening\n", "Attributes of the raw audio (above) that we need to change for listening are:\n", "* remove the DC offset (center on zero)\n", "* increase the signal amplitude\n", "\n", "For this, we'll use Sound eXchange (SoX)." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "-pPYmTBhIDOk", "colab": { "base_uri": "https://localhost:8080/", "height": 660 }, "outputId": "1fa233c3-ac50-4f02-b3ef-893a8e4354ac" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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9vgUcsRw2RTACCvLjTe5ftTBbVwEkGxmPebcbLhMAhDr4HaIiIiIiIiIiEghqgXjhBC+Qog1AHYDeBxAb+i7qprrAFABYBGA5UKIfmqNUUEbTa5PNbeAEMIHwJOGm9kADjiyASmlBLDJcHOgEGK0he2MxpXMuE2G5xERERERERERkQbUzIz7B8CD0AffTsFKAwcp5VEA5w03H3L90JQlpTwJwM9w81khxBgzi70N4GrD9R+klGWmDwohJgghpOFnmYVNzYc+cAkAC4UQTaqtowmAhYab5YbliYiIiIiIiIjIhhE9WrtkvaoE44QQDwG4y3BzmpRytJRyho2nrYc+cGdrCqa7eh1AEfQda3cLIWYJIUYLISYKIZYAmGtYLgLAt7XZgJQyAsA3hpsjARwVQjwqhBgphHgU+qmvIw2PfyOljKztL2OP0b3buHL1RERERERERESq6dK6ie2FasFacwElPWW4XCml/MXO5wQaLq+2upSbklIGGQJiKwG0APClmcUiAEyRUuY5sanZADoAeAbAcACrzSzzK4APnNiGXWbcMRCPrIpw9WaIiIiIiIiIiFzOx1xhNSXW65rV1jASgATwtwPPSTFctld+OOqQUm4BMATA99AH3gqhrw8XAOA9AMOllFFObkMnpXwWwBToa8glAyg1XG4CcJeU8jkppc6Z7dijc+sm+Hua2dJ1RERERERERER1iquCcWplxrU1XCZbXaqqyuLF8cIAACAASURBVOCR6h1flSSljAPwluHHkecdhPnmFpaW3w5gu0ODc4He7ZtpPQQiIiIiIiIiIqf5CNdE49QKdOUYLjs78Jxehst0hcdCRERERERERERk1f/d0MMl61UrGFdZSGyoA8+533AZpPBYyIVclcJJRERERERERKSWd+8YgE6tXNPAQa1g3Dbop1y+KoRobGthIcRNAB6Dvs7cFhePjRTUpmlD9G7fVOthEBERERERERE5bMqQToidMwXTJ/Z12TbUCsb9CCATwFUA1goh2phbSAhRXwjxPICthrElAFim0hhJAUIIzHvYkQRIIiIiIiIiIiL38N+7B7l8G6o0cJBS5gohHoW+wcBkAAlCiEMmi8wVQjSEvutqS+iz6IoBPCKlLFNjjKSc67q31noIREREREREREQOua57K1zVwuaETqep1qlUSrkPwC0A4gE0AXAn9NNQAX2A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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "# create a SoX transformer with:\n", "# * a highpass filter to remove the DC offset\n", "# * fade in/out for easy listening\n", "# * normalization to increase the amplitude\n", "tfm = sox.Transformer()\n", "tfm.highpass(10)\n", "tfm.fade(fade_in_len=1, fade_out_len=1)\n", "tfm.norm(db_level = -3.0)\n", "processed_audio = tfm.build_array(input_array=psound_segment, sample_rate_in=sample_rate)\n", "\n", "# View the processed audio segment\n", "plt.figure(dpi=200, figsize = [7,3])\n", "plt.plot(segment_seconds,processed_audio)\n", "plt.xlabel('Seconds')\n", "plt.ylabel('Signal (scaled for listening)')\n", "plt.title('Waveform of processed audio data')\n", "plt.autoscale(enable=True, axis='x', tight=True)\n", "\n", "# Save the result as a wav file\n", "OUTPUT_FILENAME = 'audio_data.wav'\n", "sf.write(OUTPUT_FILENAME, processed_audio, sample_rate)" ] }, { "cell_type": "markdown", "metadata": { "id": "gOiqWnRYIDOk" }, "source": [ "***The processed audio data plotted above has been saved to the file audio_data.wav.***" ] }, { "cell_type": "markdown", "metadata": { "id": "5PLxYEZCIDOl" }, "source": [ "# Listen\n", "In this section, you can listen to your processed audio data in two ways. Try both." ] }, { "cell_type": "markdown", "metadata": { "id": "QHL4NbRKIDOl" }, "source": [ "## 1. Sound only\n", "After you run the code, the player will appear." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "MyRMxT2CIDOl", "colab": { "base_uri": "https://localhost:8080/", "height": 72 }, "outputId": "599387cd-2948-4ba8-9256-0aa31a7aa6a8" }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ], "text/html": [ "\n", " \n", " " ] }, "metadata": {}, "execution_count": 6 } ], "source": [ "# Playback:\n", "import IPython\n", "IPython.display.Audio(OUTPUT_FILENAME)" ] }, { "cell_type": "markdown", "metadata": { "id": "5MSzxt2WIDOl" }, "source": [ "## Sound and its visual representation (spectrogram)\n", "After you run the code, the player will appear." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "MjLQEReVIDOl", "colab": { "base_uri": "https://localhost:8080/", "height": 388 }, "outputId": "c10dae1e-e829-47d2-eea3-5a3d727dad0b" }, "outputs": [ { "output_type": "display_data", "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " var force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, js_modules, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", " if (js_modules == null) js_modules = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls.length === 0 && js_modules.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error() {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (var i = 0; i < css_urls.length; i++) {\n", " var url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " var skip = [];\n", " if (window.requirejs) {\n", " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", " \n", " }\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " for (var i = 0; i < js_modules.length; i++) {\n", " var url = js_modules[i];\n", " if (skip.indexOf(url) >= 0) { on_load(); continue; }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " element.type = \"module\";\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " if (!js_urls.length && !js_modules.length) {\n", " on_load()\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.3.min.js\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/panel.min.js\"];\n", " var js_modules = [];\n", " var css_urls = [\"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/json.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/alerts.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/dataframe.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/card.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/widgets.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/markdown.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/loading.css\"];\n", " var inline_js = [\n", " function(Bokeh) {\n", " inject_raw_css(\"\\n .bk.pn-loading.arcs:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiBub25lOyBkaXNwbGF5OiBibG9jazsgc2hhcGUtcmVuZGVyaW5nOiBhdXRvOyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4gIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMyIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZT0iI2MzYzNjMyIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+ICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCI+PC9hbmltYXRlVHJhbnNmb3JtPiAgPC9jaXJjbGU+PC9zdmc+\\\")\\n }\\n \");\n", " },\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {} // ensure no trailing comma for IE\n", " ];\n", "\n", " function run_inline_js() {\n", " if ((root.Bokeh !== undefined) || (force === true)) {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " }\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, js_modules, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.holoviews_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls.length === 0 && js_modules.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n var skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n \n }\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n if (skip.indexOf(url) >= 0) { on_load(); continue; }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (var i = 0; i < js_modules.length; i++) {\n var url = js_modules[i];\n if (skip.indexOf(url) >= 0) { on_load(); continue; }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.3.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.3.3.min.js\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/panel.min.js\"];\n var js_modules = [];\n var css_urls = [\"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/json.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/alerts.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/dataframe.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/card.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/widgets.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/markdown.css\", \"https://unpkg.com/@holoviz/panel@0.12.1/dist/css/loading.css\"];\n var inline_js = [\n function(Bokeh) {\n inject_raw_css(\"\\n .bk.pn-loading.arcs:before {\\n background-image: url(\\\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiBub25lOyBkaXNwbGF5OiBibG9jazsgc2hhcGUtcmVuZGVyaW5nOiBhdXRvOyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4gIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMyIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZT0iI2MzYzNjMyIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+ICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCI+PC9hbmltYXRlVHJhbnNmb3JtPiAgPC9jaXJjbGU+PC9zdmc+\\\")\\n }\\n \");\n },\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, js_modules, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {} }, { "output_type": "display_data", "data": { "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n }) \n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n", "application/javascript": [ "\n", "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", "}\n", "\n", "\n", " function JupyterCommManager() {\n", " }\n", "\n", " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " comm_manager.register_target(comm_id, function(comm) {\n", " comm.on_msg(msg_handler);\n", " });\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", " comm.onMsg = msg_handler;\n", " });\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " console.log(message)\n", " var content = {data: message.data, comm_id};\n", " var buffers = []\n", " for (var buffer of message.buffers || []) {\n", " buffers.push(new DataView(buffer))\n", " }\n", " var metadata = message.metadata || {};\n", " var msg = {content, buffers, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " })\n", " }\n", " }\n", "\n", " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", " if (comm_id in window.PyViz.comms) {\n", " return window.PyViz.comms[comm_id];\n", " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", " if (msg_handler) {\n", " comm.on_msg(msg_handler);\n", " }\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", " comm.open();\n", " if (msg_handler) {\n", " comm.onMsg = msg_handler;\n", " }\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", " comm_promise.then((comm) => {\n", " window.PyViz.comms[comm_id] = comm;\n", " if (msg_handler) {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " var content = {data: message.data};\n", " var metadata = message.metadata || {comm_id};\n", " var msg = {content, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " }\n", " }) \n", " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", " return comm_promise.then((comm) => {\n", " comm.send(data, metadata, buffers, disposeOnDone);\n", " });\n", " };\n", " var comm = {\n", " send: sendClosure\n", " };\n", " }\n", " window.PyViz.comms[comm_id] = comm;\n", " return comm;\n", " }\n", " window.PyViz.comm_manager = new JupyterCommManager();\n", " \n", "\n", "\n", "var JS_MIME_TYPE = 'application/javascript';\n", "var HTML_MIME_TYPE = 'text/html';\n", "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", "var CLASS_NAME = 'output';\n", "\n", "/**\n", " * Render data to the DOM node\n", " */\n", "function render(props, node) {\n", " var div = document.createElement(\"div\");\n", " var script = document.createElement(\"script\");\n", " node.appendChild(div);\n", " node.appendChild(script);\n", "}\n", "\n", "/**\n", " * Handle when a new output is added\n", " */\n", "function handle_add_output(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", " if (id !== undefined) {\n", " var nchildren = toinsert.length;\n", " var html_node = toinsert[nchildren-1].children[0];\n", " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", " var scripts = [];\n", " var nodelist = html_node.querySelectorAll(\"script\");\n", " for (var i in nodelist) {\n", " if (nodelist.hasOwnProperty(i)) {\n", " scripts.push(nodelist[i])\n", " }\n", " }\n", "\n", " scripts.forEach( function (oldScript) {\n", " var newScript = document.createElement(\"script\");\n", " var attrs = [];\n", " var nodemap = oldScript.attributes;\n", " for (var j in nodemap) {\n", " if (nodemap.hasOwnProperty(j)) {\n", " attrs.push(nodemap[j])\n", " }\n", " }\n", " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", " oldScript.parentNode.replaceChild(newScript, oldScript);\n", " });\n", " if (JS_MIME_TYPE in output.data) {\n", " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", " }\n", " output_area._hv_plot_id = id;\n", " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", " window.PyViz.plot_index[id] = Bokeh.index[id];\n", " } else {\n", " window.PyViz.plot_index[id] = null;\n", " }\n", " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", "}\n", "\n", "/**\n", " * Handle when an output is cleared or removed\n", " */\n", "function handle_clear_output(event, handle) {\n", " var id = handle.cell.output_area._hv_plot_id;\n", " var server_id = handle.cell.output_area._bokeh_server_id;\n", " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", " if (server_id !== null) {\n", " comm.send({event_type: 'server_delete', 'id': server_id});\n", " return;\n", " } else if (comm !== null) {\n", " comm.send({event_type: 'delete', 'id': id});\n", " }\n", " delete PyViz.plot_index[id];\n", " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", " var doc = window.Bokeh.index[id].model.document\n", " doc.clear();\n", " const i = window.Bokeh.documents.indexOf(doc);\n", " if (i > -1) {\n", " window.Bokeh.documents.splice(i, 1);\n", " }\n", " }\n", "}\n", "\n", "/**\n", " * Handle kernel restart event\n", " */\n", "function handle_kernel_cleanup(event, handle) {\n", " delete PyViz.comms[\"hv-extension-comm\"];\n", " window.PyViz.plot_index = {}\n", "}\n", "\n", "/**\n", " * Handle update_display_data messages\n", " */\n", "function handle_update_output(event, handle) {\n", " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", " handle_add_output(event, handle)\n", "}\n", "\n", "function register_renderer(events, OutputArea) {\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[0]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " events.on('output_added.OutputArea', handle_add_output);\n", " events.on('output_updated.OutputArea', handle_update_output);\n", " events.on('clear_output.CodeCell', handle_clear_output);\n", " events.on('delete.Cell', handle_clear_output);\n", " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", "\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " safe: true,\n", " index: 0\n", " });\n", "}\n", "\n", "if (window.Jupyter !== undefined) {\n", " try {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " } catch(err) {\n", " }\n", "}\n" ] }, "metadata": {} }, { "output_type": "display_data", "data": {}, "metadata": {} }, { "output_type": "display_data", "data": {}, "metadata": {} }, { "output_type": "execute_result", "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "
\n", "
\n", "" ], "application/vnd.holoviews_exec.v0+json": "", "text/plain": [ "Column\n", " [0] HoloViews(DynamicMap)\n", " [1] Audio(str, sample_rate=16000, throttle=50)" ] }, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1002" } }, "execution_count": 7 } ], "source": [ "x = segment_seconds\n", "\n", "f, t, sxx = spectrogram(processed_audio, sample_rate, window='hann')\n", "\n", "spec_gram = hv.Image((t, f, numpy.log10(sxx)), \n", " [\"Time (s)\", \"Frequency (Hz)\"]\n", " ).opts(width=1000)\n", "\n", "spec_gram_c = spec_gram.opts(cmap='gray_r')\n", "\n", "audio = pn.pane.Audio(OUTPUT_FILENAME, sample_rate=sample_rate, name='Audio', throttle=50)\n", "\n", "def update_playhead(x,y,t):\n", " if x is None:\n", " return hv.VLine(t + 0.5)\n", " else:\n", " audio.time = x\n", " return hv.VLine(x + 0.5)\n", "\n", "tap_stream = hv.streams.SingleTap(transient=True)\n", "time_play_stream = hv.streams.Params(parameters=[audio.param.time], rename={'time': 't'})\n", "dmap_time = hv.DynamicMap(update_playhead, streams=[time_play_stream, tap_stream])\n", "\n", "pn.Column(spec_gram_c * dmap_time, audio)" ] }, { "cell_type": "markdown", "metadata": { "id": "DD5-S4uGIDOm" }, "source": [ "# Notes\n", "* The 16 kHz data are great for listening, but they do not fully cover the range of human hearing. When you view the spectrogram of the example dolphin recording, you may notice that the sound energy extends up to the limit of this decimated recording (8 kHz). Sounds from the dolphins certainly extend above this, and a companion notebook will illustrate how to extract audio spanning the full range of human hearing.\n", "* A convenient way to transition between the example sounds is to (1) [clear all outputs], and (2) [restart and run all]." ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "pacific-sound-notebooks", "language": "python", "name": "pacific-sound-notebooks" }, "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.9.13" }, "gpuClass": "standard" }, "nbformat": 4, "nbformat_minor": 0 }