Skip to content
/ EchoML Public

🔉 A web app to play, visualize, and annotate your audio files for machine learning


Notifications You must be signed in to change notification settings


Repository files navigation


Play, visualize, and annotate your audio files


List of containers and files

Play, visualize, and annotate your audio files

Supported storage providers

  • Azure blob storage


Set variables

Variables can either be set in environment (appropriate for production docker deployments) or in one of the appropriate [environment].json file in /config (ie; development.json or production.json)

Required Environment Variables

The following variables are REQURED and can be either set in one of the config json files or in your environment

Variable Type Description
HOSTNAME string The hostname for http.createServer to listen on
PORT string The port for http.createServer to listen on; must be 4000 when in dev so local port forwarding works
AUTH_KEY string Random string which will be used to hash your user sessions
MONGO_HOST string Host of your MongoDB database; usually in mongodb:// format; note username and password not passed here
MONGO_USERNAME string MongoDB Username
MONGO_PASSWORD string MongoDB Password
STORAGE_ACCOUNT string Azure storage account name
STORAGE_ACCESS_KEY string Azure storage access key

Optional Configs

These variables are optional and can be set in one of the config json files

Variable type Description
cors boolean If true, cors is enabled to allow different clients to ping server
log object Settings for the logger; refer to the default setup for example


To start both back and front ends in one command:

yarn run dev

Or you can start both indvidually if you want some quieter logs

Start back-end node server.

yarn run server

Start the frontend dev server with

yarn run start

Open your browser and connect to http://localhost:3000.

Production Build

Build bundle.

yarn run build

Start server.

yarn run prod

Open your browser and connect to http://localhost.

Run with Docker

To update the code and rebuild the image:

Build the docker image

docker build -t echoml .

To run the image, either pull my image from docker hub or use your own.

Run the docker image

docker run -p 80:80 -it --rm -e PORT='80' -e MONGO_HOST='<your mongo host>' -e MONGO_USERNAME='<your mongo username>' -e MONGO_PASSWORD='your mongo password' -e STORAGE_ACCOUNT='your azure storage name' -e STORAGE_ACCESS_KEY='your azure storage access key' ritazh/echoml:latest


Leverages the awesome waveform.js


MIT License