This repo specifies the web backend and frontend for the Ship Noise web application -- a new way to visualize and understand the underwater noise generated by ships. Pioneered in the Salish Sea, the initial goal of the app is to reduce noise for the endangered Southern Resident killer whales, but we hope it will eventually benefit other marine life in parts of the ocean where ship noise dominates the underwater soundscape.
The open source prototype designed and built during the Dec 2020 Amazon hackathon (see working Google folder) will be improved iteratively through a user-centered design process. In its early stages, shipnoise will leverage the same Orcasound hydrophones used to listen for orcas (see orcasound.net).
Project updates:
- As of early 2021, the shipnoise.net domain name is reserved and a proof-of-concept app has been deployed via AWS:
-
During 2021-2022 a volunteer UX research team initated a series of interviews with stakeholders in the Puget Sound region.
-
In 2023, a UW Masters in Data Science team mentored by Valentina Staneva advanced the open source code used to compute noise metrics from Orcasound's open audio data archives.
Please check out the CONTRIBUTING doc for tips on making a successful contribution.
At this stage, this repo is merely a prototype for the real shipnoise.net -- a proof-of-concept for future development. It is automatically deployed to the AWS Amplify environment from this repo's main branch. Pushes to the main branch trigger a new deployment.
The demo site is available at: https://main.d27wklsx9a9q36.amplifyapp.com/ The web application will eventually be deployed at shipnoise.net
We are using AWS Amplify, which is a suite of tools and services that is used to build full-stack applications. Here is a basic description of the architecture:
- The frontend is built using React
- We use the GraphQL API, which leverages AWS AppSync and is backed by DynamoDB
- The ShipNoise data will be stored in DynamoDB
- Noise metric computation from Orcasound audio data
- hackathon analyis code is in the orca-noise-analysis repo
- some 2022 code that computes band levels from raw audio lives within Val's autoencoder repo
- related efforts in 2023 include the UW MS Data Science repo and the bioacoustics dashboard repo
Note: At this stage of development, the shipnoise data processing is still not connected to DynamoDB. As of this writing, this app is mostly just a skeleton full-stack application with dummy data to provide a proof-of-concept for future development. In the future we will be pushing the real hydrophone and AIS data to DynamoDB for retrieval by the site.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.