Traces.js
Traces.js is JavaScript library for presenting and annotating music and time-series data on the web. It was built for the COSMOS project using D3.
To start coding with Traces.js, download the files:
Read the API documentation to see what's possible. To see Traces.js features in action, try the demo.
Note: When using Traces.js for research, please cite the following paper:
Fyfe, L., & Chew, E. (2025). Traces.js: A Javascript library for presenting music, physiology, and other time-series on the web . Web Audio Conference 2025 (WAC 2025), IRCAM, Paris, France.
The following COSMOS applications use Traces.js:
  • CosmoNote is a citizen science web application for annotating music and related feature and physiological data
  • PhysmoNote is an application for viewing physiolog- ical signals and time-series data directly from the PhysioNet data repository
  • RumiNote is an application specifically designed for the COSMOS team to present musical selections for participants to annotate as part of a larger study on the physiological effects of music
  • MorphoNote is an application for editing MIDI files from performances recorded on the COSMOS diskclavier piano